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

--- Comment #13 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by hongtao Liu <[email protected]>:

https://gcc.gnu.org/g:1670d0ad2dd1fba510eef6078f3f7fd615fd23a1

commit r16-6964-g1670d0ad2dd1fba510eef6078f3f7fd615fd23a1
Author: liuhongt <[email protected]>
Date:   Mon Jan 19 00:02:21 2026 -0800

    Add u-arch tune prefer_bcst_from_integer.

    /* X86_TUNE_PREFER_BCST_FROM_INTEGER: Enable broadcast from integer for
       128/256/512-bit vector, if disabled, the move will be done by
       broadcast/load from constant pool

       broadcast from integer:
          mov    $0xa,%eax
          vmovd  %eax,%xmm0
          vpbroadcastd %xmm0,%xmm0

       broadcast/load from constant pool:
          vpbroadcastd CST.0(%rip), %xmm0  */

    The tune is on by default.

    gcc/ChangeLog:

            PR target/123631
            * config/i386/i386-expand.cc (ix86_vector_duplicate_value):
            Don't force CONST_INT to reg !TARGET_PREFER_BCST_FROM_INTEGER,
            force it to mem instead.
            * config/i386/i386.h (TARGET_PREFER_BCST_FROM_INTEGER): New macro.
            * config/i386/x86-tune.def
            (X86_TUNE_PREFER_BCST_FROM_INTEGER): New tune.

Reply via email to