]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/compiler-rt/lib/builtins/hexagon/fabs_opt.S
Merge clang 7.0.1 and several follow-up changes
[FreeBSD/FreeBSD.git] / contrib / compiler-rt / lib / builtins / hexagon / fabs_opt.S
1 //===----------------------Hexagon builtin routine ------------------------===//
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 .macro FUNCTION_BEGIN name
11 .text
12 .p2align 5
13 .globl \name
14 .type  \name, @function
15 \name:
16 .endm
17
18 .macro FUNCTION_END name
19 .size  \name, . - \name
20 .endm
21
22 FUNCTION_BEGIN fabs
23   {
24     r1 = clrbit(r1, #31)
25     jumpr r31
26   }
27 FUNCTION_END fabs
28
29 FUNCTION_BEGIN fabsf
30   {
31     r0 = clrbit(r0, #31)
32     jumpr r31
33   }
34 FUNCTION_END fabsf
35
36   .globl fabsl
37   .set fabsl, fabs