https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123628
Tamar Christina <tnfchris at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Assignee|unassigned at gcc dot gnu.org |tnfchris at gcc dot
gnu.org
Last reconfirmed| |2026-01-24
Status|UNCONFIRMED |ASSIGNED
CC| |tnfchris at gcc dot gnu.org
Ever confirmed|0 |1
--- Comment #3 from Tamar Christina <tnfchris at gcc dot gnu.org> ---
This is mostly an inconsistency in libmvec headers.
A reproducer is
!GCC$ builtin (expf) attributes simd (notinbranch)
SUBROUTINE a(b)
REAL, DIMENSION(:) :: b
c: DO i = 1, d
IF (e <= f) THEN
g = EXP(h)
r = g
IF (r > s) THEN
b(i) = t
END IF
END IF
END DO c
END
compiled with -O2 -march=armv8-a+sve, note that fortran, unlike C provides the
libmvec header math-vector-fortran.h unconditionally, which is a separate bug
PR118955 which causes the functions to become available outside of -Ofast.
This means the cases for MASK_CALL and trapping math overlap for fortran at
-O2.
The new masking code shouldn't handle SIMD clones.
Testing a fix.