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

--- Comment #9 from GCC 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:1acc5cffbb04949a790d6e1a34a46ec71418a57b

commit r15-5991-g1acc5cffbb04949a790d6e1a34a46ec71418a57b
Author: Uros Bizjak <ubiz...@gmail.com>
Date:   Fri Dec 6 16:59:16 2024 +0100

    i386: Fix unwanted fwprop to 3dNOW! insn [PR117926]

    The compiler is able to forward propagate a partial vector V4SF instruction
    using XMM registers to a 3dNOW! V2SF instruction using MM registers. 
Prevent
    unwanted transformation by tagging 3dNOW! V2SF instructions using generic
    RTXes with "(unspec [(const_int 0)] UNSPEC_3DNOW)" tag.

            PR target/117926

    gcc/ChangeLog:

            * config/i386/mmx.md (UNSPEC_3DNOW): New unspec.
            (mmx_addv2sf3): Tag insn with UNSPEC_3DNOW tag.
            (*mmx_addv2sf3): Ditto.
            (mmx_sub2vsf3): Ditto.
            (mmx_subrv2sf3): Ditto.
            (*mmx_subv2sf3): Ditto.
            (mmx_mulv2sf3): Ditto.
            (mmx_<smaxmin:code>v2sf3): Ditto.
            (*mmx_<smaxmin:code>v2sf3): Ditto.
            (mmx_ieee_<ieee_maxmin>v2sf3): Ditto.
            (mmx_eqv2sf3): Ditto.
            (*mmx_eqv2sf3): Ditto.
            (mmx_gtv2sf3): Ditto.
            (mmx_gev2sf3): Ditto.
            (mmx_fix_truncv2sfv2si2): Ditto.
            (mmx_floatv2siv2sf2): Ditto.

    gcc/testsuite/ChangeLog:

            * gcc.target/i386/pr117926.c: New test.

Reply via email to