diff options
author | Jakub Jelinek <jakub@redhat.com> | 2020-12-30 11:21:24 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2020-12-30 11:21:24 +0100 |
commit | 8f7941ca37001773a36add8119791725aeb823ba (patch) | |
tree | e2ca3ce142651d180577771f50190584cd2daf1f /gcc/errors.c | |
parent | 86b3edf1ff26590077b5e968fca0b32dfdc2bf33 (diff) | |
download | gcc-8f7941ca37001773a36add8119791725aeb823ba.zip gcc-8f7941ca37001773a36add8119791725aeb823ba.tar.gz gcc-8f7941ca37001773a36add8119791725aeb823ba.tar.bz2 |
i386: Optimize pmovmskb on inverted vector to inversion of pmovmskb result [PR98461]
The following patch adds combine splitters to optimize:
- vpcmpeqd %ymm1, %ymm1, %ymm1
- vpandn %ymm1, %ymm0, %ymm0
vpmovmskb %ymm0, %eax
+ notl %eax
etc. (for vectors with less than 32 elements with xorl instead of notl).
2020-12-30 Jakub Jelinek <jakub@redhat.com>
PR target/98461
* config/i386/sse.md (<sse2_avx2>_pmovmskb): Add splitters
for pmovmskb of NOT vector.
* gcc.target/i386/sse2-pr98461.c: New test.
* gcc.target/i386/avx2-pr98461.c: New test.
Diffstat (limited to 'gcc/errors.c')
0 files changed, 0 insertions, 0 deletions