aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/iresolve.cc
diff options
context:
space:
mode:
authorliuhongt <hongtao.liu@intel.com>2025-07-29 00:01:37 -0700
committerliuhongt <hongtao.liu@intel.com>2025-07-30 00:35:00 -0700
commit6a466839340dce3b596b3ae5ce85bd05a067ae00 (patch)
tree353749087ab4696621345707e3a4aef72a42fd26 /gcc/fortran/iresolve.cc
parent7aa9565a62ea2ce04e2ddf61e1932bc123374988 (diff)
downloadgcc-6a466839340dce3b596b3ae5ce85bd05a067ae00.zip
gcc-6a466839340dce3b596b3ae5ce85bd05a067ae00.tar.gz
gcc-6a466839340dce3b596b3ae5ce85bd05a067ae00.tar.bz2
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.
Diffstat (limited to 'gcc/fortran/iresolve.cc')
0 files changed, 0 insertions, 0 deletions