aboutsummaryrefslogtreecommitdiff
path: root/gcc/config.gcc
diff options
context:
space:
mode:
authorliuhongt <hongtao.liu@intel.com>2021-08-30 15:05:14 +0800
committerliuhongt <hongtao.liu@intel.com>2021-08-31 09:25:57 +0800
commitf4b41701382885fc6219045bed207ec645fded2e (patch)
tree0bf22121298507b46299531dc265b37a94cb197e /gcc/config.gcc
parent1e2f030b80cb650708b02086dbd5431cd231495f (diff)
downloadgcc-f4b41701382885fc6219045bed207ec645fded2e.zip
gcc-f4b41701382885fc6219045bed207ec645fded2e.tar.gz
gcc-f4b41701382885fc6219045bed207ec645fded2e.tar.bz2
Unify UNSPEC_MASKED_EQ/GT to the form of UNSPEC_PCMP.
Currently for evex vpcmpeqb instruction, we have two forms of rtl template representation, one is (unspec [op1 op2] UNSPEC_MASK_EQ), the other is (unspec [op1, op2, const_int 0] UNSPEC_PCMP), which increases the maintenance burden, such as optimization (not: vpcmpeqb) to (vpcmpneqb) requires two define_insn_and_split to match the two forms respectively, this patch removes UNSPEC_MASK_EQ/GT, unifying them into the form of UNSPEC_PCMP. gcc/ChangeLog: * config/i386/sse.md (*<avx512>_ucmp<mode>3_1): Change from define_split to define_insn_and_split. (*avx2_eq<mode>3): Removed. (<avx512>_eq<mode>3<mask_scalar_merge_name>): Adjust pattern (<avx512>_eq<mode>3<mask_scalar_merge_name>_1): Rename to .. (*<avx512>_eq<mode>3<mask_scalar_merge_name>_1): .. this, and adjust pattern. (*avx2_gt<mode>3): Removed. (<avx512>_gt<mode>3<mask_scalar_merge_name>): Change from define_insn to define_expand, and adjust pattern. (UNSPEC_MASKED_EQ, UNSPEC_MASKED_GT): Removed. gcc/testsuite/ChangeLog: * gcc.target/i386/avx512bw-vpcmpeqb-1.c: Adjust testcase. * gcc.target/i386/avx512bw-vpcmpeqw-1.c: Ditto. * gcc.target/i386/avx512bw-vpcmpgtb-1.c: Ditto. * gcc.target/i386/avx512bw-vpcmpgtw-1.c: Ditto. * gcc.target/i386/avx512f-vpcmpeqd-1.c: Ditto. * gcc.target/i386/avx512f-vpcmpeqq-1.c: Ditto. * gcc.target/i386/avx512f-vpcmpgtd-1.c: Ditto. * gcc.target/i386/avx512f-vpcmpgtq-1.c: Ditto. * gcc.target/i386/avx512vl-vpcmpeqd-1.c: Ditto. * gcc.target/i386/avx512vl-vpcmpeqq-1.c: Ditto. * gcc.target/i386/avx512vl-vpcmpgtd-1.c: Ditto. * gcc.target/i386/avx512vl-vpcmpgtq-1.c: Ditto. * gcc.target/i386/bitwise_mask_op-1.c: Ditto. * gcc.target/i386/bitwise_mask_op-2.c: Ditto.
Diffstat (limited to 'gcc/config.gcc')
0 files changed, 0 insertions, 0 deletions