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 22SYNC_OP_8(add_8) 23#endif 24 25NO_EXEC_STACK_DIRECTIVE 26 27