https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127648
Hongtao Liu <liuhongt at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |liuhongt at gcc dot gnu.org
--- Comment #1 from Hongtao Liu <liuhongt at gcc dot gnu.org> ---
with O* and ffinite-math-only, the builtin IX86_BUILTIN_MINPS512_MASK is folded
into vec_cond_expr and then sae is lost.
20417 else if (HONOR_NANS (arg0))
20418 /* Lowering to comparison would raise exceptions which
20419 shouldn't be raised. */
20420 break;
20421 }
currently, it only punt on NaNs, not denormal values. One possible fix is also
add flag_trapping_math in the condition, only fold sae intrinsics when
!flag_trapping_math.