aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-loop-im.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2020-05-05 11:33:47 +0200
committerJakub Jelinek <jakub@redhat.com>2020-05-05 11:34:45 +0200
commit7f916201ac390a5e1c88562bb91b1b4ab2852f22 (patch)
tree218478458e80d07e1710f98fb7d615addd288030 /gcc/tree-ssa-loop-im.c
parent6d938a5d770d0e94ecd923d20006b05126659235 (diff)
downloadgcc-7f916201ac390a5e1c88562bb91b1b4ab2852f22.zip
gcc-7f916201ac390a5e1c88562bb91b1b4ab2852f22.tar.gz
gcc-7f916201ac390a5e1c88562bb91b1b4ab2852f22.tar.bz2
x86: Fix *vec_dupv4hi constraints [PR94942]
This insn and split splits into HI->V?HImode broadcast for avx2 and later, but either the operands need to be %xmm0-%xmm15 (i.e. VEX encoded insn), or the insn needs both AVX512BW and AVX512VL. Now, Yv constraint is v for AVX512VL and x otherwise, so for -mavx512vl -mno-avx512bw we ICE if we end up with a %xmm16+ register from RA. Yw constraint is v for AVX512VL and AVX512BW and nothing otherwise, so in this pattern we actually need xYw. 2020-05-05 Jakub Jelinek <jakub@redhat.com> PR target/94942 * config/i386/mmx.md (*vec_dupv4hi): Use xYw constraints instead of Yv. * gcc.target/i386/pr94942.c: New test.
Diffstat (limited to 'gcc/tree-ssa-loop-im.c')
0 files changed, 0 insertions, 0 deletions