Add combine splitter to transform vashr/vlshr/vashl_optab to ashr/lshr/ashl_optab...
authorHaochen Jiang <haochen.jiang@intel.com>
Wed, 1 Dec 2021 08:48:28 +0000 (16:48 +0800)
committerliuhongt <hongtao.liu@intel.com>
Wed, 15 Dec 2021 08:26:14 +0000 (16:26 +0800)
commit8f9fea41a767f6ad8cf3d521031048a2491f98b1
tree656d89a628e8794d43d0bb81ce8daca9b4eebf15
parent575ad7700f3d29d9310a778818c0c7a360f4eb1a
Add combine splitter to transform vashr/vlshr/vashl_optab to ashr/lshr/ashl_optab for const vector duplicate operand.

gcc/ChangeLog:

PR target/101796
* config/i386/predicates.md (const_vector_operand):
Add new predicate.
* config/i386/sse.md(<insn><mode>3<mask_name>):
Add new define_split below.

gcc/testsuite/ChangeLog:

PR target/101796
* gcc.target/i386/pr101796-1.c: New test.
gcc/config/i386/predicates.md
gcc/config/i386/sse.md
gcc/testsuite/gcc.target/i386/pr101796-1.c [new file with mode: 0755]