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

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
The canonical way would be to handle these in the ISEL pass and remove
the (fallback) expansion.  But then we can see whether the expander FAILs
(ideally expanders would never be allowed to FAIL, and for FAILing expanders
we'd have a way to query the target like we have the vec_perm_const hook).

But I'll note that currently the expanders may FAIL but then we expand to
a call rather than the inline-expansion (and for example AVR relies on this
now to avoid early folding of isnan).

So - for the cases of isfininte and friends without a fallback call I
would suggest to expand from ISEL to see if it FAILs and throw away
the result (similar as how IVOPTs probes things).  Or make those _not_
allowed to FAIL?  Why would they fail to expand anyway?

Reply via email to