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