This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: long long / long long
- To: David Edelsohn <dje at watson dot ibm dot com>
- Subject: Re: long long / long long
- From: Jan Hubicka <jh at suse dot cz>
- Date: Tue, 11 Sep 2001 11:21:13 +0200
- Cc: Linus Torvalds <torvalds at transmeta dot com>, jbuck at synopsys dot COM, gcc at gcc dot gnu dot org
- References: <torvalds@transmeta.com> <200109101738.NAA23900@makai.watson.ibm.com>
> Some of the problems have to do with value range propagation
> optimizations which GCC currently does not have. The VRP patch under
> development is far too over-engineered, IMHO.
>
> What matters is whether the register will have a zero or non-zero
> value. Or at best, whether the subreg bytes will be zero or not. Knowing
> that the value will be between 33 and 34066415 really doesn't matter at
> that level of detail. For DImode as a pair of 32-bit registers, knowing
> that one register will be zero allows a lot of simplifications to be
> propagated throughout the computation.
We do have such VRP propagation in combine, but it is far too under-enginered
to work well, so I believe the John's VPR patch is a win, if it will ever
get in.
The problem is that we don't expose the SUBREGs early enought to the compiler
to make the simplification possible.
Honza
>
> David