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: long long / long long


> 	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


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