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)