aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-phiopt.cc
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2023-11-14 08:11:44 +0100
committerJakub Jelinek <jakub@redhat.com>2023-11-14 08:11:44 +0100
commit6043bfbd89b335dd10f093a653ee58c5b1e08ed3 (patch)
tree83b44c00921f0f02e51d39c27ed0379485ed5257 /gcc/tree-ssa-phiopt.cc
parentbfcb6e518371bb943b77e0ef784e1de72a99aec6 (diff)
downloadgcc-6043bfbd89b335dd10f093a653ee58c5b1e08ed3.zip
gcc-6043bfbd89b335dd10f093a653ee58c5b1e08ed3.tar.gz
gcc-6043bfbd89b335dd10f093a653ee58c5b1e08ed3.tar.bz2
i386: Don't optimize vshuf{i,f}{32x4,64x2} and vperm{i,f}128 to vblendps for %ymm16+ [PR112435]
The vblendps instruction is only VEX encoded, not EVEX, so can't be used if there are %ymm16+ or EGPR registers involved. 2023-11-14 Jakub Jelinek <jakub@redhat.com> Hu, Lin1 <lin1.hu@intel.com> PR target/112435 * config/i386/sse.md (avx512vl_shuf_<shuffletype>32x4_1<mask_name>, <mask_codefor>avx512dq_shuf_<shuffletype>64x2_1<mask_name>): Add alternative with just x instead of v constraints and xjm instead of vm and use vblendps as optimization only with that alternative. * gcc.target/i386/avx512vl-pr112435-1.c: New test. * gcc.target/i386/avx512vl-pr112435-2.c: New test. * gcc.target/i386/avx512vl-pr112435-3.c: New test.
Diffstat (limited to 'gcc/tree-ssa-phiopt.cc')
0 files changed, 0 insertions, 0 deletions