Update copyright dates with scripts/update-copyrights.
[glibc.git] / sysdeps / sparc / sparc32 / sparcv9 / fpu / multiarch / w_sqrtf-vis3.S
blob11f1b29ece778104b3d773a068ad9e2b163c74b0
1 /* sqrtf function.  sparc32 v9 vis3 version.
2    Copyright (C) 2012-2015 Free Software Foundation, Inc.
3    This file is part of the GNU C Library.
5    The GNU C Library is free software; you can redistribute it and/or
6    modify it under the terms of the GNU Lesser General Public
7    License as published by the Free Software Foundation; either
8    version 2.1 of the License, or (at your option) any later version.
10    The GNU C Library is distributed in the hope that it will be useful,
11    but WITHOUT ANY WARRANTY; without even the implied warranty of
12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13    Lesser General Public License for more details.
15    You should have received a copy of the GNU Lesser General Public
16    License along with the GNU C Library; if not, see
17    <http://www.gnu.org/licenses/>.  */
19 #include <sysdep.h>
21 ENTRY (__sqrtf_vis3)
22         movwtos %o0, %f0
23         fzeros  %f8
24         fcmps   %f0, %f8
25         fbl     1f
26          nop
27 8:      retl
28          fsqrts %f0, %f0
30 #ifdef SHARED
31         SETUP_PIC_REG_LEAF(o5, g1)
32         sethi   %gdop_hix22(_LIB_VERSION), %g1
33         xor     %g1, %gdop_lox10(_LIB_VERSION), %g1
34         ld      [%o5 + %g1], %g1, %gdop(_LIB_VERSION)
35 #else
36         sethi   %hi(_LIB_VERSION), %g1
37         or      %g1, %lo(_LIB_VERSION), %g1
38 #endif
39         ld      [%g1], %g1
40         cmp     %g1, -1
41         be      8b
42          mov    %o0, %o1
43         mov     126, %o2
44         mov     %o7, %g1
45         call    __kernel_standard_f
46          mov    %g1, %o7
47 END (__sqrtf_vis3)