https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94942
--- Comment #6 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The releases/gcc-10 branch has been updated by Jakub Jelinek <ja...@gcc.gnu.org>: https://gcc.gnu.org/g:1b53c1169a6d0b10d43de0a56aabf7386b67496b commit r10-8111-g1b53c1169a6d0b10d43de0a56aabf7386b67496b Author: Jakub Jelinek <ja...@redhat.com> Date: Tue May 5 11:33:47 2020 +0200 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 <ja...@redhat.com> PR target/94942 * config/i386/mmx.md (*vec_dupv4hi): Use xYw constraints instead of Yv. * gcc.target/i386/pr94942.c: New test.