1 /*===-- sync_fetch_and_add_8.S - ------------------------------------------===// 2 * 3 * The LLVM Compiler Infrastructure 4 * 5 * This file is dual licensed under the MIT and the University of Illinois Open 6 * Source Licenses. See LICENSE.TXT for details. 7 * 8 *===----------------------------------------------------------------------===// 9 * 10 * This file implements the __sync_fetch_and_add_8 function for the ARM 11 * architecture. 12 * 13 *===----------------------------------------------------------------------===*/ 14 15 #include "sync-ops.h" 16 17 #if __ARM_ARCH_PROFILE != 'M' 18 #define add_8(rD_LO, rD_HI, rN_LO, rN_HI, rM_LO, rM_HI) \ 19 adds rD_LO, rN_LO, rM_LO ; \ 20 adc rD_HI, rN_HI, rM_HI 21 22 SYNC_OP_8(add_8) 23 #endif 24 25 NO_EXEC_STACK_DIRECTIVE 26 27