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.

Reply via email to