i386: Fix up 8-byte vcond* with -mxop [PR100445]
authorJakub Jelinek <jakub@redhat.com>
Fri, 7 May 2021 08:37:52 +0000 (10:37 +0200)
committerJakub Jelinek <jakub@redhat.com>
Fri, 7 May 2021 08:37:52 +0000 (10:37 +0200)
commit323b18d54b960d3ef64f60ad20838ef958334dc0
treec4b8adf8b90d62ce8bc615f8600cd275a17003cf
parentcfe82a0cbe72baa723f7d89502cdf59c0e87fff4
i386: Fix up 8-byte vcond* with -mxop [PR100445]

ix86_expand_sse_movcc has special TARGET_XOP handling and the recent
addition of support of v*cond* patterns for MMXMODEI modes results in
ICEs because the expected pattern doesn't exist.  We can handle it
using 128-bit vpcmov (if we ignore the upper 64 bits like we ignore in
other TARGET_MMX_WITH_SSE support).

2021-05-07  Jakub Jelinek  <jakub@redhat.com>

PR target/100445
* config/i386/mmx.md (*xop_pcmov_<mode>): New define_insn.

* gcc.target/i386/pr100445.c: New test.
gcc/config/i386/mmx.md
gcc/testsuite/gcc.target/i386/pr100445.c [new file with mode: 0644]