This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Why can't CSE recognize const_int's in HIGH LO_SUM pair?
- To: rth at redhat dot com
- Subject: Re: Why can't CSE recognize const_int's in HIGH LO_SUM pair?
- From: kenner at vlsi1 dot ultra dot nyu dot edu (Richard Kenner)
- Date: Sat, 8 Sep 01 20:26:39 EDT
- Cc: gcc at gcc dot gnu dot org
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.
That's true for integers, but not symbolic constants.