Home | History | Annotate | Download | only in arm
      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