master
1! Platform-specific declarations of SIMD math functions for Fortran. -*- f90 -*-
2! Copyright (C) 2019-2025 Free Software Foundation, Inc.
3! This file is part of the GNU C Library.
4!
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.
9!
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.
14!
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/>.
18
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')
73
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')