]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/llvm-project/compiler-rt/lib/builtins/arm/sync_fetch_and_add_8.S
MFC r355940:
[FreeBSD/FreeBSD.git] / contrib / llvm-project / compiler-rt / lib / builtins / arm / sync_fetch_and_add_8.S
1 //===-- sync_fetch_and_add_8.S - ------------------------------------------===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 //
9 // This file implements the __sync_fetch_and_add_8 function for the ARM
10 // architecture.
11 //
12 //===----------------------------------------------------------------------===//
13
14 #include "sync-ops.h"
15
16 #if __ARM_ARCH_PROFILE != 'M'
17 #define add_8(rD_LO, rD_HI, rN_LO, rN_HI, rM_LO, rM_HI) \
18     adds rD_LO, rN_LO, rM_LO ; \
19     adc rD_HI, rN_HI, rM_HI
20
21 SYNC_OP_8(add_8)
22 #endif
23
24 NO_EXEC_STACK_DIRECTIVE
25