Fix typo in vec_setv8hi_0.
authorliuhongt <hongtao.liu@intel.com>
Mon, 28 Mar 2022 03:12:37 +0000 (11:12 +0800)
committerliuhongt <hongtao.liu@intel.com>
Mon, 28 Mar 2022 08:14:37 +0000 (16:14 +0800)
commite4352a0fee49441a32d12e8d8b98c425cfed4a86
tree9b1a031788c7843ad96143e09d39e60603956d04
parent50f9148f7a8daf1fa1608cb23595c3cca191da0f
Fix typo in vec_setv8hi_0.

pinsrw is available for both reg and mem operand under sse2.
pextrw requires sse4.1 for mem operands.

The patch change attr "isa" for pinsrw mem alternative from sse4_noavx
to noavx, will enable below optimization.

-        movzwl  (%rdi), %eax
         pxor    %xmm1, %xmm1
-        pinsrw  $0, %eax, %xmm1
+        pinsrw  $0, (%rdi), %xmm1
         movdqa  %xmm1, %xmm0

gcc/ChangeLog:

PR target/105066
* config/i386/sse.md (vec_set<mode>_0): Change attr "isa" of
alternative 4 from sse4_noavx to noavx.

gcc/testsuite/ChangeLog:

* gcc.target/i386/pr105066.c: New test.
gcc/config/i386/sse.md
gcc/testsuite/gcc.target/i386/pr105066.c [new file with mode: 0644]