Hello,
> I suspect that the problem reported by Jeff is related to the usage of "dead"
> in the REG subcase of the MEM case of ia64_split_tmode. There is a dangling
> comment to that effect in ia64_split_tmode_move just above the block.
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.
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?
--
Thanks, K