> 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

Reply via email to