i386: Avoid integer logic insns for 32bit and 64bit vector modes [PR100701]
authorUros Bizjak <ubizjak@gmail.com>
Thu, 20 May 2021 16:48:16 +0000 (18:48 +0200)
committerUros Bizjak <ubizjak@gmail.com>
Thu, 20 May 2021 16:50:28 +0000 (18:50 +0200)
commita71f55c482ada2c6c31d450ac22494b547512127
tree7219806beb9ee5f93b40b9bf006e4e0487bfb308
parentcdcec2f8505ea12c2236cf0184d77dd2f5de4832
i386: Avoid integer logic insns for 32bit and 64bit vector modes [PR100701]

Integer logic instructions clobber flags, do not use them for
32bit and 64bit vector modes.

2021-05-20  Uroš Bizjak  <ubizjak@gmail.com>

gcc/
PR target/100701
* config/i386/i386.md (isa): Remove x64_bmi.
(enabled): Remove x64_bmi.
* config/i386/mmx.md (mmx_andnot<MMXMODEI:mode>3):
Remove general register alternative.
(*andnot<VI_32:mode>3): Ditto.
(*mmx_<any_logic:code><MMXMODEI:mode>3): Ditto.
(*<any_logic:code><VI_32:mode>3): Ditto.

gcc/testsuite/

PR target/100701
* gcc.target/i386/pr100701.c: New test.
gcc/config/i386/i386.md
gcc/config/i386/mmx.md
gcc/testsuite/gcc.target/i386/pr100701.c [new file with mode: 0644]