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

Reply via email to