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')