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

--- Comment #2 from Hongtao.liu <crazylht at gmail dot com> ---
For f, pass_combine failed 

Trying 20, 21 -> 22:
   20: clobber r83:TI
   21: r83:TI#0=r88:DI
      REG_DEAD r88:DI
   22: r83:TI#8=r89:DI
      REG_DEAD r89:DI
Can't combine i2 into i3

(insn 20 6 21 2 (clobber (reg/v:TI 83 [ x ])) "test.cpp":3:11 -1
     (nil))
(insn 21 20 22 2 (set (subreg:DI (reg/v:TI 83 [ x ]) 0)
        (reg:DI 88 [ x ])) "test.cpp":3:11 74 {*movdi_internal}
     (expr_list:REG_DEAD (reg:DI 88 [ x ])
        (nil)))
(insn 22 21 8 2 (set (subreg:DI (reg/v:TI 83 [ x ]) 8)
        (reg:DI 89 [+8 ])) "test.cpp":3:11 74 {*movdi_internal}
     (expr_list:REG_DEAD (reg:DI 89 [+8 ])

And it should be optimized to (set (reg:TI 83) (subreg:TI (vec_concat:V2DI
(reg:DI 88) (reg:DI 89)) 0))??

Reply via email to