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

--- Comment #7 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-14 branch has been updated by hongtao Liu
<liuho...@gcc.gnu.org>:

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

commit r14-11923-gc8eb4fcd40c2faef5dadbaa83abfcc6e058ee9f6
Author: liuhongt <hongtao....@intel.com>
Date:   Tue Jul 29 00:01:37 2025 -0700

    Eliminate redundant vpextrq/vpinsrq when move TI to V4SI.

    r14-1902-g96c3539f2a3813 split TImode move with 2 DImode move, it's
    supposed to optimize TImode in parameter/return since accoring to
    psABI it's stored into 2 general registers.

    But when TImode is not in parameter/return, it could create redundancy
    in the PR.

    The patch add a splitter to handle that.

    .i.e.
    (insn 10 9 14 2 (set (subreg:V2DI (reg:V4SI 98 [ <retval> ]) 0)
                         (vec_concat:V2DI (subreg:DI (reg:TI 101) 0)
                             (subreg:DI (reg:TI 101) 8)))
                             8442 {vec_concatv2di}
                            (expr_list:REG_DEAD (reg:TI 101)

    gcc/ChangeLog:

            PR target/121274
            * config/i386/sse.md (*vec_concatv2di_0): Add a splitter
            before it.

    gcc/testsuite/ChangeLog:

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

    (cherry picked from commit 6a466839340dce3b596b3ae5ce85bd05a067ae00)

Reply via email to