Followup to:  <[EMAIL PROTECTED]>
By author:    =?iso-8859-1?Q?Jakob_=D8stergaard?= <[EMAIL PROTECTED]>
In newsgroup: linux.dev.kernel
> 
> On most processors <<2 is slower than *4.
> 

That's a funny statement.  Which processors do you include in "most"?
That has not been my experience.

> It's outright stupid to write <<2 when we mean *4 in order to optimize for one out 
>of a
> gazillion supported architectures - even more so when the compiler
> for the one CPU where <<2 is faster, will actually generate a shift
> instead of a multiply as a part of the standard optimization.
> 
> One question for the GCC people:  Will gcc change <<2 to *4 on other 
> architectures ?    If so, then my case is not quite as strong of course.
> 

gcc should consider the statements equivalent, and generate whichever
pattern is preferred.  On an i386 that may mean take a pattern such as

        foo = (bar << 2) + quux;

... and generate ...

        lea ecx,[esi*4+ebx]

        -hpa
-- 
<[EMAIL PROTECTED]> at work, <[EMAIL PROTECTED]> in private!
"Unix gives you enough rope to shoot yourself in the foot."
http://www.zytor.com/~hpa/puzzle.txt
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/

Reply via email to