Why can't CSE recognize const_int's in HIGH LO_SUM pair?

Richard Henderson rth@redhat.com
Fri Sep 7 17:03:00 GMT 2001


On Fri, Sep 07, 2001 at 07:07:12PM -0400, John David Anglin wrote:
> (insn/i 24 70 25 (set (reg:SI 99)
>         (high:SI (const_int 20000 [0x4e20]))) -1 (nil)
>     (nil))
> 
> (insn/i 25 24 26 (set (reg:SI 100)
> 	(lo_sum:SI (reg:SI 99)
> 	    (const_int 20000 [0x4e20]))) -1 (nil)
>     (nil))

Why are you using high/lo_sum for constants?  high/lo_sum has
rather loose semantics, and you can't pull much information 
from them.

Better would be to emit the actual constants that the insns
in question will load into the hardware registers.


r~



More information about the Gcc mailing list