https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127055
--- Comment #23 from Hongtao Liu <liuhongt at gcc dot gnu.org> --- (In reply to Matthias Kretz (Vir) from comment #22) > > for patch at #c8, please also remove !flag_trapping_mathb from vector > > 27017:trunc<mode>2 > > That's already the case. > > > 1) we need to fix the current vector expander with !flag_rounding_math > > there's different rounding mode used in the existed implementation --- > > roundps $3(ROUND_TRUNC) is used. > > How is that wrong? Because it doesn't set if imm[3] = 1? That means it can > just emit more spurious FE_INEXACT, which we don't care about with > !flag_rounding_math anyway. But I agree we could be nicer here. > It's not about FE_INEXACT, it's about rounding mode change. In the expander, it generate roundps instrcution which rounds to zero(ROUND_TRUNC), not default rounding to nearest, and dynamic rounding mode change need -frounding-math. 6992 operands[4] = GEN_INT (ROUND_TRUNC);
