[Bug tree-optimization/79460] gcc fails to optimise out a trivial additive loop for seemingly arbitrary numbers of iterations

rguenther at suse dot de gcc-bugzilla@gcc.gnu.org
Tue Feb 14 09:45:00 GMT 2017


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79460

--- Comment #8 from rguenther at suse dot de <rguenther at suse dot de> ---
On Tue, 14 Feb 2017, jakub at gcc dot gnu.org wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79460
> 
> --- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
> Shouldn't it (both in the vectorizer and in scev) be dependent not just on
> flag_fp_contract_mode but also on some -ffast-math subflag?  Doing several
> additions can e.g. raise different exceptions and have different roundings from
> doing it as just one multiply.

Maybe, but I don't see which (apart from flag_unsafe_math_optimizations
of course but we'd want to get rid of that...).  reassoc uses
flag_unsafe_math_optimizations (and does this for SCALAR_FLOAT_TYPE_P
only).  The docs only mention FMA for fp-contract...


More information about the Gcc-bugs mailing list