Support commutative alternative for AVX512 vpcmpeq{b,w,d,q}
authorliuhongt <hongtao.liu@intel.com>
Thu, 6 Jan 2022 07:33:20 +0000 (15:33 +0800)
committerliuhongt <hongtao.liu@intel.com>
Fri, 7 Jan 2022 03:13:00 +0000 (11:13 +0800)
commit041cfa0ce44d4c207903d41e6eabccdab2dfa90b
treea5edd3acc28fc08068e0a269a3a844f2ab9d6750
parent1f759dbdcddd5eae795da48f46edae274a431cbc
Support commutative alternative for AVX512 vpcmpeq{b,w,d,q}

gcc/ChangeLog:

* config/i386/sse.md
(*<avx512>_eq<mode>3<mask_scalar_merge_name>_1): Extend to
UNSPEC_PCMP_UNSIGNED.

gcc/testsuite/ChangeLog:

* gcc.target/i386/pr103774.c: New test.
* gcc.target/i386/avx512bw-vpcmpequb-1.c: Adjust scan assembler
from vpcmpub to (?:vpcmpub|vpcmpeqb).
* gcc.target/i386/avx512bw-vpcmpequw-1.c: Ditto.
* gcc.target/i386/avx512bw-vpcmpub-1.c: Ditto.
* gcc.target/i386/avx512bw-vpcmpuw-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpequd-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpequq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpud-1.c: Ditto.
* gcc.target/i386/avx512vl-vpcmpequd-1.c: Ditto.
* gcc.target/i386/avx512vl-vpcmpequq-1.c: Ditto.
* gcc.target/i386/avx512vl-vpcmpuq-1.c: Ditto.
12 files changed:
gcc/config/i386/sse.md
gcc/testsuite/gcc.target/i386/avx512bw-vpcmpequb-1.c
gcc/testsuite/gcc.target/i386/avx512bw-vpcmpequw-1.c
gcc/testsuite/gcc.target/i386/avx512bw-vpcmpub-1.c
gcc/testsuite/gcc.target/i386/avx512bw-vpcmpuw-1.c
gcc/testsuite/gcc.target/i386/avx512f-vpcmpequd-1.c
gcc/testsuite/gcc.target/i386/avx512f-vpcmpequq-1.c
gcc/testsuite/gcc.target/i386/avx512f-vpcmpud-1.c
gcc/testsuite/gcc.target/i386/avx512vl-vpcmpequd-1.c
gcc/testsuite/gcc.target/i386/avx512vl-vpcmpequq-1.c
gcc/testsuite/gcc.target/i386/avx512vl-vpcmpuq-1.c
gcc/testsuite/gcc.target/i386/pr103774.c [new file with mode: 0644]