From: Wilco Dijkstra Date: Tue, 27 Jan 2026 14:28:35 +0000 (+0000) Subject: AArch64: Add if('fastmath') to math-vector-fortran.h [BZ #33226] X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=707658b42887e611ea3710644784477a05120014;p=thirdparty%2Fglibc.git AArch64: Add if('fastmath') to math-vector-fortran.h [BZ #33226] Only enable vector math functions with -ffast-math by adding if('fastmath'). This uses a new annotation supported by GCC 16 (PR 118955). If an older compiler is used, it will disable the math function without an error. This fixes BZ #33226. --- diff --git a/sysdeps/aarch64/fpu/finclude/math-vector-fortran.h b/sysdeps/aarch64/fpu/finclude/math-vector-fortran.h index e741b3ea56..46fc8a627c 100644 --- a/sysdeps/aarch64/fpu/finclude/math-vector-fortran.h +++ b/sysdeps/aarch64/fpu/finclude/math-vector-fortran.h @@ -16,81 +16,81 @@ ! License along with the GNU C Library; if not, see ! . -!GCC$ builtin (acos) attributes simd (notinbranch) -!GCC$ builtin (acosf) attributes simd (notinbranch) -!GCC$ builtin (acosh) attributes simd (notinbranch) -!GCC$ builtin (acoshf) attributes simd (notinbranch) -!GCC$ builtin (acospi) attributes simd (notinbranch) -!GCC$ builtin (acospif) attributes simd (notinbranch) -!GCC$ builtin (asin) attributes simd (notinbranch) -!GCC$ builtin (asinf) attributes simd (notinbranch) -!GCC$ builtin (asinh) attributes simd (notinbranch) -!GCC$ builtin (asinhf) attributes simd (notinbranch) -!GCC$ builtin (asinpi) attributes simd (notinbranch) -!GCC$ builtin (asinpif) attributes simd (notinbranch) -!GCC$ builtin (atan) attributes simd (notinbranch) -!GCC$ builtin (atan2) attributes simd (notinbranch) -!GCC$ builtin (atan2f) attributes simd (notinbranch) -!GCC$ builtin (atan2pi) attributes simd (notinbranch) -!GCC$ builtin (atan2pif) attributes simd (notinbranch) -!GCC$ builtin (atanf) attributes simd (notinbranch) -!GCC$ builtin (atanh) attributes simd (notinbranch) -!GCC$ builtin (atanhf) attributes simd (notinbranch) -!GCC$ builtin (atanpi) attributes simd (notinbranch) -!GCC$ builtin (atanpif) attributes simd (notinbranch) -!GCC$ builtin (cbrt) attributes simd (notinbranch) -!GCC$ builtin (cbrtf) attributes simd (notinbranch) -!GCC$ builtin (cos) attributes simd (notinbranch) -!GCC$ builtin (cosf) attributes simd (notinbranch) -!GCC$ builtin (cosh) attributes simd (notinbranch) -!GCC$ builtin (coshf) attributes simd (notinbranch) -!GCC$ builtin (cospi) attributes simd (notinbranch) -!GCC$ builtin (cospif) attributes simd (notinbranch) -!GCC$ builtin (erf) attributes simd (notinbranch) -!GCC$ builtin (erfc) attributes simd (notinbranch) -!GCC$ builtin (erfcf) attributes simd (notinbranch) -!GCC$ builtin (erff) attributes simd (notinbranch) -!GCC$ builtin (exp) attributes simd (notinbranch) -!GCC$ builtin (exp10) attributes simd (notinbranch) -!GCC$ builtin (exp10f) attributes simd (notinbranch) -!GCC$ builtin (exp10m1) attributes simd (notinbranch) -!GCC$ builtin (exp10m1f) attributes simd (notinbranch) -!GCC$ builtin (exp2) attributes simd (notinbranch) -!GCC$ builtin (exp2f) attributes simd (notinbranch) -!GCC$ builtin (exp2m1) attributes simd (notinbranch) -!GCC$ builtin (exp2m1f) attributes simd (notinbranch) -!GCC$ builtin (expf) attributes simd (notinbranch) -!GCC$ builtin (expm1) attributes simd (notinbranch) -!GCC$ builtin (expm1f) attributes simd (notinbranch) -!GCC$ builtin (hypot) attributes simd (notinbranch) -!GCC$ builtin (hypotf) attributes simd (notinbranch) -!GCC$ builtin (log) attributes simd (notinbranch) -!GCC$ builtin (log10) attributes simd (notinbranch) -!GCC$ builtin (log10f) attributes simd (notinbranch) -!GCC$ builtin (log10p1) attributes simd (notinbranch) -!GCC$ builtin (log10p1f) attributes simd (notinbranch) -!GCC$ builtin (log1p) attributes simd (notinbranch) -!GCC$ builtin (log1pf) attributes simd (notinbranch) -!GCC$ builtin (log2) attributes simd (notinbranch) -!GCC$ builtin (log2f) attributes simd (notinbranch) -!GCC$ builtin (log2p1) attributes simd (notinbranch) -!GCC$ builtin (log2p1f) attributes simd (notinbranch) -!GCC$ builtin (logf) attributes simd (notinbranch) -!GCC$ builtin (logp1) attributes simd (notinbranch) -!GCC$ builtin (logp1f) attributes simd (notinbranch) -!GCC$ builtin (pow) attributes simd (notinbranch) -!GCC$ builtin (powf) attributes simd (notinbranch) -!GCC$ builtin (rsqrt) attributes simd (notinbranch) -!GCC$ builtin (rsqrtf) attributes simd (notinbranch) -!GCC$ builtin (sin) attributes simd (notinbranch) -!GCC$ builtin (sinf) attributes simd (notinbranch) -!GCC$ builtin (sinh) attributes simd (notinbranch) -!GCC$ builtin (sinhf) attributes simd (notinbranch) -!GCC$ builtin (sinpi) attributes simd (notinbranch) -!GCC$ builtin (sinpif) attributes simd (notinbranch) -!GCC$ builtin (tan) attributes simd (notinbranch) -!GCC$ builtin (tanf) attributes simd (notinbranch) -!GCC$ builtin (tanh) attributes simd (notinbranch) -!GCC$ builtin (tanhf) attributes simd (notinbranch) -!GCC$ builtin (tanpi) attributes simd (notinbranch) -!GCC$ builtin (tanpif) attributes simd (notinbranch) +!GCC$ builtin (acos) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (acosf) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (acosh) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (acoshf) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (acospi) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (acospif) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (asin) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (asinf) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (asinh) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (asinhf) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (asinpi) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (asinpif) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (atan) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (atan2) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (atan2f) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (atan2pi) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (atan2pif) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (atanf) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (atanh) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (atanhf) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (atanpi) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (atanpif) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (cbrt) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (cbrtf) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (cos) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (cosf) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (cosh) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (coshf) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (cospi) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (cospif) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (erf) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (erfc) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (erfcf) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (erff) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (exp) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (exp10) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (exp10f) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (exp10m1) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (exp10m1f) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (exp2) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (exp2f) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (exp2m1) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (exp2m1f) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (expf) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (expm1) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (expm1f) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (hypot) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (hypotf) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (log) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (log10) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (log10f) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (log10p1) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (log10p1f) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (log1p) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (log1pf) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (log2) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (log2f) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (log2p1) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (log2p1f) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (logf) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (logp1) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (logp1f) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (pow) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (powf) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (rsqrt) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (rsqrtf) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (sin) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (sinf) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (sinh) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (sinhf) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (sinpi) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (sinpif) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (tan) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (tanf) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (tanh) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (tanhf) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (tanpi) attributes simd (notinbranch) if('fastmath') +!GCC$ builtin (tanpif) attributes simd (notinbranch) if('fastmath')