]> git.ipfire.org Git - thirdparty/gcc.git/commit
Fix ICE of unrecognizable insn.
authorliuhongt <hongtao.liu@intel.com>
Wed, 15 Nov 2023 08:50:44 +0000 (16:50 +0800)
committerliuhongt <hongtao.liu@intel.com>
Thu, 16 Nov 2023 10:48:21 +0000 (18:48 +0800)
commite36d5f424a0dcb984620a172c73da989f215dc42
tree3cf7cc21cfdc4aa825992ff5e0fd967f1d675221
parentc7f6537db94f7c6320a5a8ecaa387c9b9ce1f0ac
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.
gcc/config/i386/mmx.md
gcc/testsuite/gcc.target/i386/pr112532.c [new file with mode: 0644]