diff options
author | Jakub Jelinek <jakub@redhat.com> | 2021-01-13 08:02:54 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2021-01-13 08:06:25 +0100 |
commit | b668a06e37f72fd96bacd6769990ec97dac4ac6d (patch) | |
tree | 0c71ee709d96084a2d1e36cea217ba4007040b8b /gcc/cgraphunit.c | |
parent | 7993fe1877a689463d8c71a0873e5cc8db080273 (diff) | |
download | gcc-b668a06e37f72fd96bacd6769990ec97dac4ac6d.zip gcc-b668a06e37f72fd96bacd6769990ec97dac4ac6d.tar.gz gcc-b668a06e37f72fd96bacd6769990ec97dac4ac6d.tar.bz2 |
i386: Optimize _mm_unpacklo_epi8 of 0 vector as second argument or similar VEC_PERM_EXPRs into pmovzx [PR95905]
The following patch adds patterns (so far 128-bit only) for permutations
like { 0 16 1 17 2 18 3 19 4 20 5 21 6 22 7 23 } where the second
operand is CONST0_RTX CONST_VECTOR to be emitted as pmovzx.
2021-01-13 Jakub Jelinek <jakub@redhat.com>
PR target/95905
* config/i386/predicates.md (pmovzx_parallel): New predicate.
* config/i386/sse.md (*sse4_1_zero_extendv8qiv8hi2_3): New
define_insn_and_split pattern.
(*sse4_1_zero_extendv4hiv4si2_3): Likewise.
(*sse4_1_zero_extendv2siv2di2_3): Likewise.
* gcc.target/i386/pr95905-1.c: New test.
* gcc.target/i386/pr95905-2.c: New test.
Diffstat (limited to 'gcc/cgraphunit.c')
0 files changed, 0 insertions, 0 deletions