> We're failing here. Trying to split SET with these operands: > operands[0] is (reg:TI 14 r14 [orig:448 *_61[_12]{lb: 1 sz: 64}.text ] > [448]) operands[1] is (mem:TI (reg/f:DI 15 r15 [447]) [3 *_61[_12]{lb: 1 > sz: 64}.text+0 S16 A128]) > > I think that such a set (despite of intersect by r15) is valid.
Yes, that's the purpose of the block in ia64_split_tmode_move. > This RTX is splitted by ia64_split_tmode_move into these 2 insns: > (insn 199 0 0 (set (reg:DI 14 r14) > (mem:DI (post_inc:DI (reg/f:DI 15 r15 [447])) [3 > *_61[_12]{lb: 1 sz: 64}.text+0 S8 A128])) -1 (nil)) > (insn 200 199 0 (set (reg:DI 15 r15) > (mem:DI (post_dec:DI (reg/f:DI 15 r15 [447])) [3 > *_61[_12]{lb: 1 sz: 64}.text+8 S8 A64])) -1 (nil)) > > Although r15 post_dec in second insn seems to be useless code seems to be > valid for me. What do you guys think? But the post_dec will clobber r15, won't it? -- Eric Botcazou