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

--- Comment #28 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:74e8cc28eda9b1d75588fcd4017a735911b9d2b4

commit r14-9346-g74e8cc28eda9b1d75588fcd4017a735911b9d2b4
Author: Uros Bizjak <ubiz...@gmail.com>
Date:   Wed Mar 6 20:53:50 2024 +0100

    i386: Fix and improve insn constraint for V2QI arithmetic/shift insns

    optimize_function_for_size_p predicate is not stable during optab
selection,
    because it also depends on node->count/node->frequency of the current
function,
    which are updated during IPA, so they may change between early opts and
    late opts.  Use optimize_size instead - optimize_size implies
    optimize_function_for_size_p (cfun), so if a named pattern uses
    "&& optimize_size" and the insn it splits into uses
    optimize_function_for_size_p (cfun), it shouldn't fail.

            PR target/114232

    gcc/ChangeLog:

            * config/i386/mmx.md (negv2qi2): Enable for optimize_size instead
            of optimize_function_for_size_p.  Explictily enable for
TARGET_SSE2.
            (negv2qi SSE reg splitter): Enable for TARGET_SSE2 only.
            (<plusminus:insn>v2qi3): Enable for optimize_size instead
            of optimize_function_for_size_p.  Explictily enable for
TARGET_SSE2.
            (<plusminus:insn>v2qi SSE reg splitter): Enable for TARGET_SSE2
only.
            (<any_shift:insn>v2qi3): Enable for optimize_size instead
            of optimize_function_for_size_p.

Reply via email to