]> git.ipfire.org Git - thirdparty/gcc.git/commit
Split notl + pbraodcast + pand to pbroadcast + pandn more modes.
authorliuhongt <hongtao.liu@intel.com>
Thu, 25 May 2023 08:14:14 +0000 (16:14 +0800)
committerliuhongt <hongtao.liu@intel.com>
Sat, 27 May 2023 09:24:18 +0000 (17:24 +0800)
commited6a9a35799c9298321d1589533767c2bb6f8d42
tree62fdc80b8d33fbd9f8f2320c4de42dca21bf2675
parentcc6eb8b51f9568ae0caf46b80e2a0aff050030ce
Split notl + pbraodcast + pand to pbroadcast + pandn more modes.

r12-5595-gc39d77f252e895306ef88c1efb3eff04e4232554 adds 2 splitter to
transform notl + pbroadcast + pand to pbroadcast + pandn for
VI124_AVX2 which leaves out all DI-element-size ones as
well as all 512-bit ones.
This patch extend the splitter to VI_AVX2 which will handle DImode for
AVX2, and V64QImode,V32HImode,V16SImode,V8DImode for AVX512.

gcc/ChangeLog:

PR target/100711
* config/i386/sse.md (*andnot<mode>3): Extend below splitter
to VI_AVX2 to cover more modes.

gcc/testsuite/ChangeLog:

* gcc.target/i386/pr100711-2.c: Add v4di/v2di testcases.
* gcc.target/i386/pr100711-3.c: New test.
gcc/config/i386/sse.md
gcc/testsuite/gcc.target/i386/pr100711-2.c
gcc/testsuite/gcc.target/i386/pr100711-3.c [new file with mode: 0644]