https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122545
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Last reconfirmed| |2025-11-04
Status|UNCONFIRMED |NEW
CC| |rguenth at gcc dot gnu.org
Ever confirmed|0 |1
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
The issue is that quite a lot of "semantic" changing flags are not reflected
into the IL, so a "fininte-math-only" FP add looks the same as a not
"finite-math-only" one. We can track those flags on a per function level
only, and granularity there is not going to improve. Some flags might be
reflected onto the operation, but the exact way is difficult and it will
have a large impact on the whole code base.
In principle one can inline into "more conservative" callers and we do that
(see can_inline_edge_by_limits_p doing check_{match,maybe_up,maybe_down}),
but IPA inlining happens quite early and so there's no chance to get
vectorized code inlined, instead you'd get the non-vectorized IL inlined
and then not vectorized (because now in more conservative context).