diff options
author | Hu, Lin1 <lin1.hu@intel.com> | 2022-09-13 16:28:54 +0800 |
---|---|---|
committer | liuhongt <hongtao.liu@intel.com> | 2022-09-23 13:28:12 +0800 |
commit | a282f086ef26d90e9785e992cd09a0d118b24695 (patch) | |
tree | e43e7408f14a7fb49518ab2031ef81edbbca40ad /gcc/value-range.cc | |
parent | 8b449dcd84334068c769a2f427812dadb95e61de (diff) | |
download | gcc-a282f086ef26d90e9785e992cd09a0d118b24695.zip gcc-a282f086ef26d90e9785e992cd09a0d118b24695.tar.gz gcc-a282f086ef26d90e9785e992cd09a0d118b24695.tar.bz2 |
i386: Optimize code generation of __mm256_zextsi128_si256(__mm_set1_epi8(-1))
gcc/ChangeLog:
PR target/94962
* config/i386/constraints.md (BH): New define_constraint.
* config/i386/i386.cc (standard_sse_constant_p): Add return
3/4 when operand matches new predicate.
(standard_sse_constant_opcode): Add new alternative branch to
return "vpcmpeqd".
* config/i386/predicates.md
(vector_all_ones_zero_extend_half_operand): New define_predicate.
(vector_all_ones_zero_extend_quarter_operand): Ditto.
* config/i386/sse.md: Add constraint to insn "mov<mode>_internal".
gcc/testsuite/ChangeLog:
PR target/94962
* gcc.target/i386/avx256-unaligned-load-1.c: Modify test.
* gcc.target/i386/avx256-unaligned-store-1.c: Ditto.
* gcc.target/i386/avx256-unaligned-store-2.c: Ditto.
* gcc.target/i386/avx256-unaligned-store-3.c: Ditto.
* gcc.target/i386/pr94962-1.c: New test.
* gcc.target/i386/pr94962-2.c: Ditto.
* gcc.target/i386/pr94962-3.c: Ditto.
* gcc.target/i386/pr94962-4.c: Ditto.
Diffstat (limited to 'gcc/value-range.cc')
0 files changed, 0 insertions, 0 deletions