This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

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


On Fri, Sep 07, 2001 at 09:30:05PM -0400, John David Anglin wrote:
> I think the philosophy was to make the rtl match as closely as
> possible the machine code.

Um, no, that's plainly false.  The machine will load some number
that has high bits set, and add some number that has low bits set.
If you ask Alpha to load 0x10001000, you'll get

	(set (reg) (const_int 0x10000000))
	(set (reg) (plus (reg) (const_int 0x1000))

which is exactly what the machine code is doing.  No need for 
high/lo_sum, and by not using them, we expose the exact constant
fragments to cse/combine/etc.


r~


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]