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);

Reply via email to