dataflow branch merging plans.

Paolo Bonzini bonzini@gnu.org
Thu May 24 08:12:00 GMT 2007


> The instruction at the time we are verifying:
> (insn 147 146 148 7 (set (reg:SI 240)
>         (mult:SI (zero_extend:SI (subreg:HI (reg:SI 234) 2))
>             (zero_extend:SI (subreg:HI (reg:SI 238) 2)))) -1 
> (expr_list:REG_EQUAL (mult:SI (zero_extend:SI (subreg:HI (reg:SI 234) 2))
>             (const_int 43690 [0xaaaa]))
>         (nil)))

This is an RTL sharing problem between insn 146 and insn 147, caused by 
the umulsi3_highpart pattern of spu.md (but the same applies to 
smulsi3_highpart), expanded by loop unrolling.

I think you have to use a define_insn_and_split the same way you do with 
mulsi3 vs. _mulsi3.

Paolo



More information about the Gcc-patches mailing list