On 21 April 2006 01:10, Alan Modra wrote:

> On Thu, Apr 20, 2006 at 04:52:14PM +0100, Dave Korn wrote:
>>   Yet it would seem to me at first glance that, since dividing unsigned by
>> an exact power-of-2 can be optimised to a right shift, and since we can
>> deduce 
> 
> You might like to build yourself a new compiler.  :)
> 
> 2006-04-19  Alan Modra  <[EMAIL PROTECTED]>
> 
>       PR rtl-optimization/26026
>       * fold-const.c (fold_binary): Optimize div and mod where the divisor
>       is a known power of two shifted left a variable amount.

  Thanks Alan, nice one!  I'm working with a 3.3 series legacy codebase so
I'll need to backport it (the 'keep-everything-stable' dept. would have
kittens if I suggest moving up to 4.x without having a few spare months for
testing and stabilisation :-/) but that looks trivial (noticed there's a
return t -vs- return NULL_TREE difference between 3.x and 4.x in a few places,
think I can guess what that's all about, the rest should go through unchanged
AFAICS) and I'll pick up a few of the other new improvements while I'm there.
I was just worried there might be some corner case where it wasn't a valid
transformation but I guess the standard does place such restrictions on valid
shifts that any such cases would be undefined behaviour anyway.  Thanks again.

<scurries off to test shiny new compiler with big smile on face>

    cheers,
      DaveK
-- 
Can't think of a witty .sigline today....

Reply via email to