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.

Reply via email to