1 ! Platform
-specific declarations of SIMD math functions
for Fortran
. -*- f90
-*-
2 ! Copyright (C
) 2019-2024 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 ! <https
://www.gnu.org/licenses/>.
19 !GCC$
builtin (cos
) attributes
simd (notinbranch
) if('x86_64')
20 !GCC$
builtin (cosf
) attributes
simd (notinbranch
) if('x86_64')
21 !GCC$
builtin (sin
) attributes
simd (notinbranch
) if('x86_64')
22 !GCC$
builtin (sinf
) attributes
simd (notinbranch
) if('x86_64')
23 !GCC$
builtin (sincos
) attributes
simd (notinbranch
) if('x86_64')
24 !GCC$
builtin (sincosf
) attributes
simd (notinbranch
) if('x86_64')
25 !GCC$
builtin (log
) attributes
simd (notinbranch
) if('x86_64')
26 !GCC$
builtin (logf
) attributes
simd (notinbranch
) if('x86_64')
27 !GCC$
builtin (exp
) attributes
simd (notinbranch
) if('x86_64')
28 !GCC$
builtin (expf
) attributes
simd (notinbranch
) if('x86_64')
29 !GCC$
builtin (pow
) attributes
simd (notinbranch
) if('x86_64')
30 !GCC$
builtin (powf
) attributes
simd (notinbranch
) if('x86_64')
31 !GCC$
builtin (acos
) attributes
simd (notinbranch
) if('x86_64')
32 !GCC$
builtin (acosf
) attributes
simd (notinbranch
) if('x86_64')
33 !GCC$
builtin (atan
) attributes
simd (notinbranch
) if('x86_64')
34 !GCC$
builtin (atanf
) attributes
simd (notinbranch
) if('x86_64')
35 !GCC$
builtin (asin
) attributes
simd (notinbranch
) if('x86_64')
36 !GCC$
builtin (asinf
) attributes
simd (notinbranch
) if('x86_64')
37 !GCC$
builtin (hypot
) attributes
simd (notinbranch
) if('x86_64')
38 !GCC$
builtin (hypotf
) attributes
simd (notinbranch
) if('x86_64')
39 !GCC$
builtin (exp2
) attributes
simd (notinbranch
) if('x86_64')
40 !GCC$
builtin (exp2f
) attributes
simd (notinbranch
) if('x86_64')
41 !GCC$
builtin (exp10
) attributes
simd (notinbranch
) if('x86_64')
42 !GCC$
builtin (exp10f
) attributes
simd (notinbranch
) if('x86_64')
43 !GCC$
builtin (cosh
) attributes
simd (notinbranch
) if('x86_64')
44 !GCC$
builtin (coshf
) attributes
simd (notinbranch
) if('x86_64')
45 !GCC$
builtin (expm1
) attributes
simd (notinbranch
) if('x86_64')
46 !GCC$
builtin (expm1f
) attributes
simd (notinbranch
) if('x86_64')
47 !GCC$
builtin (sinh
) attributes
simd (notinbranch
) if('x86_64')
48 !GCC$
builtin (sinhf
) attributes
simd (notinbranch
) if('x86_64')
49 !GCC$
builtin (cbrt
) attributes
simd (notinbranch
) if('x86_64')
50 !GCC$
builtin (cbrtf
) attributes
simd (notinbranch
) if('x86_64')
51 !GCC$
builtin (atan2
) attributes
simd (notinbranch
) if('x86_64')
52 !GCC$
builtin (atan2f
) attributes
simd (notinbranch
) if('x86_64')
53 !GCC$
builtin (log10
) attributes
simd (notinbranch
) if('x86_64')
54 !GCC$
builtin (log10f
) attributes
simd (notinbranch
) if('x86_64')
55 !GCC$
builtin (log2
) attributes
simd (notinbranch
) if('x86_64')
56 !GCC$
builtin (log2f
) attributes
simd (notinbranch
) if('x86_64')
57 !GCC$
builtin (log1p
) attributes
simd (notinbranch
) if('x86_64')
58 !GCC$
builtin (log1pf
) attributes
simd (notinbranch
) if('x86_64')
59 !GCC$
builtin (atanh
) attributes
simd (notinbranch
) if('x86_64')
60 !GCC$
builtin (atanhf
) attributes
simd (notinbranch
) if('x86_64')
61 !GCC$
builtin (acosh
) attributes
simd (notinbranch
) if('x86_64')
62 !GCC$
builtin (acoshf
) attributes
simd (notinbranch
) if('x86_64')
63 !GCC$
builtin (erf
) attributes
simd (notinbranch
) if('x86_64')
64 !GCC$
builtin (erff
) attributes
simd (notinbranch
) if('x86_64')
65 !GCC$
builtin (tanh
) attributes
simd (notinbranch
) if('x86_64')
66 !GCC$
builtin (tanhf
) attributes
simd (notinbranch
) if('x86_64')
67 !GCC$
builtin (asinh
) attributes
simd (notinbranch
) if('x86_64')
68 !GCC$
builtin (asinhf
) attributes
simd (notinbranch
) if('x86_64')
69 !GCC$
builtin (erfc
) attributes
simd (notinbranch
) if('x86_64')
70 !GCC$
builtin (erfcf
) attributes
simd (notinbranch
) if('x86_64')
71 !GCC$
builtin (tan
) attributes
simd (notinbranch
) if('x86_64')
72 !GCC$
builtin (tanf
) attributes
simd (notinbranch
) if('x86_64')
74 !GCC$
builtin (cos
) attributes
simd (notinbranch
) if('x32')
75 !GCC$
builtin (cosf
) attributes
simd (notinbranch
) if('x32')
76 !GCC$
builtin (sin
) attributes
simd (notinbranch
) if('x32')
77 !GCC$
builtin (sinf
) attributes
simd (notinbranch
) if('x32')
78 !GCC$
builtin (sincos
) attributes
simd (notinbranch
) if('x32')
79 !GCC$
builtin (sincosf
) attributes
simd (notinbranch
) if('x32')
80 !GCC$
builtin (log
) attributes
simd (notinbranch
) if('x32')
81 !GCC$
builtin (logf
) attributes
simd (notinbranch
) if('x32')
82 !GCC$
builtin (exp
) attributes
simd (notinbranch
) if('x32')
83 !GCC$
builtin (expf
) attributes
simd (notinbranch
) if('x32')
84 !GCC$
builtin (pow
) attributes
simd (notinbranch
) if('x32')
85 !GCC$
builtin (powf
) attributes
simd (notinbranch
) if('x32')
86 !GCC$
builtin (acos
) attributes
simd (notinbranch
) if('x32')
87 !GCC$
builtin (acosf
) attributes
simd (notinbranch
) if('x32')
88 !GCC$
builtin (atan
) attributes
simd (notinbranch
) if('x32')
89 !GCC$
builtin (atanf
) attributes
simd (notinbranch
) if('x32')
90 !GCC$
builtin (asin
) attributes
simd (notinbranch
) if('x32')
91 !GCC$
builtin (asinf
) attributes
simd (notinbranch
) if('x32')
92 !GCC$
builtin (hypot
) attributes
simd (notinbranch
) if('x32')
93 !GCC$
builtin (hypotf
) attributes
simd (notinbranch
) if('x32')
94 !GCC$
builtin (exp2
) attributes
simd (notinbranch
) if('x32')
95 !GCC$
builtin (exp2f
) attributes
simd (notinbranch
) if('x32')
96 !GCC$
builtin (exp10
) attributes
simd (notinbranch
) if('x32')
97 !GCC$
builtin (exp10f
) attributes
simd (notinbranch
) if('x32')
98 !GCC$
builtin (cosh
) attributes
simd (notinbranch
) if('x32')
99 !GCC$
builtin (coshf
) attributes
simd (notinbranch
) if('x32')
100 !GCC$
builtin (expm1
) attributes
simd (notinbranch
) if('x32')
101 !GCC$
builtin (expm1f
) attributes
simd (notinbranch
) if('x32')
102 !GCC$
builtin (sinh
) attributes
simd (notinbranch
) if('x32')
103 !GCC$
builtin (sinhf
) attributes
simd (notinbranch
) if('x32')
104 !GCC$
builtin (cbrt
) attributes
simd (notinbranch
) if('x32')
105 !GCC$
builtin (cbrtf
) attributes
simd (notinbranch
) if('x32')
106 !GCC$
builtin (atan2
) attributes
simd (notinbranch
) if('x32')
107 !GCC$
builtin (atan2f
) attributes
simd (notinbranch
) if('x32')
108 !GCC$
builtin (log10
) attributes
simd (notinbranch
) if('x32')
109 !GCC$
builtin (log10f
) attributes
simd (notinbranch
) if('x32')
110 !GCC$
builtin (log2
) attributes
simd (notinbranch
) if('x32')
111 !GCC$
builtin (log2f
) attributes
simd (notinbranch
) if('x32')
112 !GCC$
builtin (log1p
) attributes
simd (notinbranch
) if('x32')
113 !GCC$
builtin (log1pf
) attributes
simd (notinbranch
) if('x32')
114 !GCC$
builtin (atanh
) attributes
simd (notinbranch
) if('x32')
115 !GCC$
builtin (atanhf
) attributes
simd (notinbranch
) if('x32')
116 !GCC$
builtin (acosh
) attributes
simd (notinbranch
) if('x32')
117 !GCC$
builtin (acoshf
) attributes
simd (notinbranch
) if('x32')
118 !GCC$
builtin (erf
) attributes
simd (notinbranch
) if('x32')
119 !GCC$
builtin (erff
) attributes
simd (notinbranch
) if('x32')
120 !GCC$
builtin (tanh
) attributes
simd (notinbranch
) if('x32')
121 !GCC$
builtin (tanhf
) attributes
simd (notinbranch
) if('x32')
122 !GCC$
builtin (asinh
) attributes
simd (notinbranch
) if('x32')
123 !GCC$
builtin (asinhf
) attributes
simd (notinbranch
) if('x32')
124 !GCC$
builtin (erfc
) attributes
simd (notinbranch
) if('x32')
125 !GCC$
builtin (erfcf
) attributes
simd (notinbranch
) if('x32')
126 !GCC$
builtin (tan
) attributes
simd (notinbranch
) if('x32')
127 !GCC$
builtin (tanf
) attributes
simd (notinbranch
) if('x32')