1336817Sdim//===----------------------Hexagon builtin routine ------------------------===//
2336817Sdim//
3353358Sdim// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4353358Sdim// See https://llvm.org/LICENSE.txt for license information.
5353358Sdim// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6336817Sdim//
7336817Sdim//===----------------------------------------------------------------------===//
8336817Sdim
9336817Sdim.macro FUNCTION_BEGIN name
10336817Sdim.text
11336817Sdim.p2align 5
12336817Sdim.globl \name
13336817Sdim.type  \name, @function
14336817Sdim\name:
15336817Sdim.endm
16336817Sdim
17336817Sdim.macro FUNCTION_END name
18336817Sdim.size  \name, . - \name
19336817Sdim.endm
20336817Sdim
21336817SdimFUNCTION_BEGIN fabs
22336817Sdim  {
23336817Sdim    r1 = clrbit(r1, #31)
24336817Sdim    jumpr r31
25336817Sdim  }
26336817SdimFUNCTION_END fabs
27336817Sdim
28336817SdimFUNCTION_BEGIN fabsf
29336817Sdim  {
30336817Sdim    r0 = clrbit(r0, #31)
31336817Sdim    jumpr r31
32336817Sdim  }
33336817SdimFUNCTION_END fabsf
34336817Sdim
35336817Sdim  .globl fabsl
36336817Sdim  .set fabsl, fabs
37