https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115427
Bug ID: 115427 Summary: fallback for interclass mathfn bifs like isinf, isfinite, isnormal Product: gcc Version: 15.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: linkw at gcc dot gnu.org Target Milestone: --- This is filed as follow up for the discussion in [1]. The optabs for isfinite and isnormal would be landed soon, the documentation allows the optab expansion to fail (as it doesn't mention it's not allowed to), but with an artificial FAIL in the define_expand for these optabs, there are two cases: 1) for isinf, it would result in a call to isinf, but in fact fold_builtin_interclass_mathfn is able to fold them if there is no target specific implementation. 2) for isfinite and isnormal, since there is no library call registered, it would result in a call to __builtin_{isfinite, isnormal}, which is completely wrong. So following Richi's suggestion, this PR is to follow up the falling back way. [1] https://inbox.sourceware.org/gcc-patches/17c9ab5d-f1d4-9447-fccf-d9aa0ad56...@linux.ibm.com/