[Bug target/112816] [11/12/13/14 Regression] ICE unrecognizable_insn with __builtin_signbit and returning struct with int[4]
cvs-commit at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Dec 4 08:01:48 GMT 2023
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112816
--- Comment #7 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jakub Jelinek <jakub@gcc.gnu.org>:
https://gcc.gnu.org/g:994d6dc64435d6b7c50accca9941ee7decd92a22
commit r14-6108-g994d6dc64435d6b7c50accca9941ee7decd92a22
Author: Jakub Jelinek <jakub@redhat.com>
Date: Mon Dec 4 09:00:18 2023 +0100
i386: Fix up signbit<mode>2 expander [PR112816]
The following testcase ICEs, because the signbit<mode>2 expander uses an
explicit SUBREG in the pattern around match_operand with register_operand
predicate. If we are unlucky enough that expansion tries to expand it
with some SUBREG as operands[1], we have two nested SUBREGs in the IL,
which is not valid and causes ICE later.
2023-12-04 Jakub Jelinek <jakub@redhat.com>
PR target/112816
* config/i386/sse.md (signbit<mode>2): Force operands[1] into a
REG.
* gcc.target/i386/sse2-pr112816.c: New test.
More information about the Gcc-bugs
mailing list