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

--- Comment #1 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Hongyu Wang <hong...@gcc.gnu.org>:

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

commit r14-5242-gca281a7b97163273de9d73da556fb3f6dcc3b61b
Author: Hongyu Wang <hongyu.w...@intel.com>
Date:   Tue Nov 7 10:02:53 2023 +0800

    [i386] APX: Fix ICE due to movti postreload splitter [PR112394]

    When APX EGPR enabled, the TImode move pattern *movti_internal allows
    move between gpr and sse reg using constraint pair ("r","Yd"). Then a
    post-reload splitter transform such move to vec_extractv2di, while under
    -msse4.1 -mno-avx EGPR is not allowed for its enabled alternative, which
    caused ICE that insn does not match the constraint. To prevent such ICE,
    we need to adjust the constraint correspond to "Yd". Add a new
    constraint "jc" to disable EGPR under -mno-avx.

    gcc/ChangeLog:

            PR target/112394
            * config/i386/constraints.md (jc): New constraint that prohibits
            EGPR on -mno-avx.
            * config/i386/i386.md (*movdi_internal): Change r constraint
            corresponds to Yd.
            (*movti_internal): Likewise.

    gcc/testsuite/ChangeLog:

            PR target/112394
            * gcc.target/i386/pr112394.c: New test.

Reply via email to