new port/wrong compilation of a mult with small values
Ian Lance Taylor
iant@google.com
Tue Jun 16 14:56:00 GMT 2009
Florent DEFAY <spira.inhabitant@gmail.com> writes:
> (insn 8 7 9 toto.c:4 (set:HI (reg:HI 15)
> (ashift:HI (reg:HI 15)
> (const_int 1 [0x1]))) -1 (nil))
>
> (insn 9 8 10 toto.c:4 (set:HI (reg:HI 15)
> (ashift:HI (reg:HI 15)
> (const_int 1 [0x1]))) -1 (nil))
>
> (insn 10 9 11 toto.c:4 (set (reg:HI 16)
> (reg:HI 15)) -1 (expr_list:REG_EQUAL (ashift:HI (reg:HI 15)
> (const_int 2 [0x2]))
> (nil)))
I would look at your define_expand for ashifthi3. It loks like you are
modifying the input register when doing a shift by a constant.
Ian
More information about the Gcc-help
mailing list