Optimize V16HF vector insert to element 0 for AVX2.
authorliuhongt <hongtao.liu@intel.com>
Wed, 5 Jan 2022 07:26:18 +0000 (15:26 +0800)
committerliuhongt <hongtao.liu@intel.com>
Fri, 7 Jan 2022 03:08:31 +0000 (11:08 +0800)
commit1f759dbdcddd5eae795da48f46edae274a431cbc
tree714a76bf6812ae3ec563cd9565194530f684de35
parent55385f12f604fe242030f0a8fb057598c0f187a6
Optimize V16HF vector insert to element 0 for AVX2.

gcc/ChangeLog:

PR target/103753
* config/i386/i386-expand.c (ix86_expand_vector_set): Not use
gen_avx2_pblendph_1 when elt == 0.
* config/i386/sse.md (avx2_pblendph): Rename to ..
(avx2_pblend<ssemodesuffix>_1).. this, and extend to V16HI.
(*avx2_pblendw): Rename to ..
(*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
(avx2_pblendw): Rename to ..
(*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
(blendsuf): Removed.
(sse4_1_pblend<blendsuf>): Renamed to ..
(sse4_1_pblend<ssemodesuffix>): .. this.

gcc/testsuite/ChangeLog:

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