diff options
author | Uros Bizjak <ubizjak@gmail.com> | 2021-05-13 11:09:53 +0200 |
---|---|---|
committer | Uros Bizjak <ubizjak@gmail.com> | 2021-05-13 11:10:50 +0200 |
commit | f1693741cb2b2db519bb82155a3c0880fd820ea3 (patch) | |
tree | 0be1b8a2b7cd93aecf794200670ce33e5c102e01 /gcc/print-rtl.c | |
parent | 23eb66d1d46a34cb28c4acbdf8a1deb80a7c5a05 (diff) | |
download | gcc-f1693741cb2b2db519bb82155a3c0880fd820ea3.zip gcc-f1693741cb2b2db519bb82155a3c0880fd820ea3.tar.gz gcc-f1693741cb2b2db519bb82155a3c0880fd820ea3.tar.bz2 |
i386: Fix up V2SFmode vcond* with -mxop [PR100581]
ix86_expand_sse_movcc has special TARGET_XOP handling and the recent
addition of support of v*cond* patterns for V2SFmode 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-13 Uroš Bizjak <ubizjak@gmail.com>
gcc/
PR target/100581
* config/i386/i386-expand.c (ix86_expand_sse_movcc): Force mode
sizes < 16 to a register when constructing vpcmov pattern.
* config/i386/mmx.md (*xop_pcmov_<mode>): Use MMXMODE124 mode.
gcc/testsuite/
PR target/100581
* g++.target/i386/pr100581.C: New test.
Diffstat (limited to 'gcc/print-rtl.c')
0 files changed, 0 insertions, 0 deletions