https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100581

--- Comment #6 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Uros Bizjak <u...@gcc.gnu.org>:

https://gcc.gnu.org/g:f1693741cb2b2db519bb82155a3c0880fd820ea3

commit r12-768-gf1693741cb2b2db519bb82155a3c0880fd820ea3
Author: Uros Bizjak <ubiz...@gmail.com>
Date:   Thu May 13 11:09:53 2021 +0200

    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  <ubiz...@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.

Reply via email to