------- Additional Comments From schlie at comcast dot net  2004-12-09 15:52 
-------
Subject: Re:  [3.4/4.0 Regression] ~6x+ performance
 regression, constant trees not being computed.

Sorry, lost the fact that only a single bit needs to remain significant in
the resulting trasform:


   (((long)x & (1 << 28)) == 0)
=>
   ((((byte)(sub-word (long)x 3) >> 4) & 1) == 0)
=>
   ((((byte)x' >> 4) & 1) == 0) :: (((byte)x' & 0x10) == 0)

> From: schlie at comcast dot net <[EMAIL PROTECTED]>
>    i.e. 
> 
>   (((long)x & (1 << 28)) == 0) => (((sub-word (long)x 3) >> 4) == 0)
>    => (((byte)x >> 4) == 0)
> 
>   (then possibly => (((byte)x & 0x10) == 0) which I believe avr's
>    back-end knows how to transform into a [bit-test x 5] )
> 
> Might this be possible, as it would seem generally useful as well?
> 
> Thanks again, -paul-




-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18424

Reply via email to