math-vector-fortran.h 7.5 KB

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