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

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

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

commit r14-5525-ge36d5f424a0dcb984620a172c73da989f215dc42
Author: liuhongt <hongtao....@intel.com>
Date:   Wed Nov 15 16:50:44 2023 +0800

    Fix ICE of unrecognizable insn.

    The new added splitter will generate

    (insn 58 56 59 2 (set (reg:V4HI 20 xmm0 [129])
            (vec_duplicate:V4HI (reg:HI 22 xmm2 [123]))) "testcase.c":16:21 -1

    But we only have

    (define_insn "*vec_dupv4hi"
      [(set (match_operand:V4HI 0 "register_operand" "=y,Yw")
            (vec_duplicate:V4HI
              (truncate:HI
                (match_operand:SI 1 "register_operand" "0,Yw"))))]

    The patch add patterns for V4HI and V2HI.

    gcc/ChangeLog:

            PR target/112532
            * config/i386/mmx.md (*vec_dup<mode>): Extend for V4HI and
            V2HI.

    gcc/testsuite/ChangeLog:

            * gcc.target/i386/pr112532.c: New test.

Reply via email to