[Bug target/100581] [12 Regression] ICE in extract_insn, at recog.c:2770 since r12-731-gb1f7fd8a2a5558da

cvs-commit at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu May 13 09:11:01 GMT 2021


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

--- Comment #6 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Uros Bizjak <uros@gcc.gnu.org>:

https://gcc.gnu.org/g:f1693741cb2b2db519bb82155a3c0880fd820ea3

commit r12-768-gf1693741cb2b2db519bb82155a3c0880fd820ea3
Author: Uros Bizjak <ubizjak@gmail.com>
Date:   Thu May 13 11:09:53 2021 +0200

    i386: Fix up V2SFmode vcond* with -mxop [PR100581]

    ix86_expand_sse_movcc has special TARGET_XOP handling and the recent
    addition of support of v*cond* patterns for V2SFmode results in
    ICEs because the expected pattern doesn't exist.  We can handle it
    using 128-bit vpcmov (if we ignore the upper 64 bits like we ignore in
    other TARGET_MMX_WITH_SSE support).

    2021-05-13  Uroš Bizjak  <ubizjak@gmail.com>

    gcc/
            PR target/100581
            * config/i386/i386-expand.c (ix86_expand_sse_movcc): Force mode
            sizes < 16 to a register when constructing vpcmov pattern.
            * config/i386/mmx.md (*xop_pcmov_<mode>): Use MMXMODE124 mode.

    gcc/testsuite/

            PR target/100581
            * g++.target/i386/pr100581.C: New test.


More information about the Gcc-bugs mailing list