https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66462
--- Comment #20 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Wilco Dijkstra <wi...@gcc.gnu.org>: https://gcc.gnu.org/g:8187d2630fac77176a4a806a60b0399a1e0376d8 commit r16-3439-g8187d2630fac77176a4a806a60b0399a1e0376d8 Author: Wilco Dijkstra <wilco.dijks...@arm.com> Date: Wed Aug 13 14:56:57 2025 +0000 AArch64: Add isinf expander [PR 66462] Add an expander for isinf using integer arithmetic. This is typically faster and avoids generating spurious exceptions on signaling NaNs. This fixes part of PR66462. int isinf1 (float x) { return __builtin_isinf (x); } Before: fabs s0, s0 mov w0, 2139095039 fmov s31, w0 fcmp s0, s31 cset w0, le eor w0, w0, 1 ret After: fmov w1, s0 mov w0, -16777216 cmp w0, w1, lsl 1 cset w0, eq ret gcc: PR middle-end/66462 * config/aarch64/aarch64.md (isinf<mode>2): Add new expander. * config/aarch64/iterators.md (mantissa_bits): Add new mode_attr. gcc/testsuite: PR middle-end/66462 * gcc.target/aarch64/pr66462.c: Add new test.