[rc5] Why are Alpha's so much slower then wintel boxe

Eric Gindrup gindrup at okway.okstate.edu
Fri Oct 31 17:59:53 EST 1997

     This is not entirely correct.  As I alluded in a recent post, the 
     following can be done at the FPU:
     Let x=abcdefgh be some 8-bit value you want rotated by 3 bits.  Assume 
     80-bit (IEEE double) floating point.
     Multiply x by [(2^3 + 2^(8+3)),0] (the [mantissa, un-biased exponent] 
     Then the next-to-last byte of the mantissa is defghabc = x<<3.
     If one multiplies by [2^3 + 2^11 + 2^19 + 2^27 + ... + 2^75, 0] then 
     all 9 bytes that are not the least significant contain x<<3
     No imprecision is introduced because you aren't "challenging the 
     precision".  You are multiplying two entirely representable values 
     with exact representations and performing an operation that does not 
     have any chance of underflow or overflow.  It would be an exceptional 
     processor in my experience that didn't reliably give at least ONE 
     correct value in some byte for any amount of rotation of any x.
     Multi-issue processors could probably check keys in the FPU as well as 
     in the normal pipelines.  Hand-tuning would probably be required to 
     prevent waiting pipes.
            -- Eric Gindrup ! gindrup at Okway.okstate.edu

______________________________ Reply Separator _________________________________
Subject: Re: [rc5] Why are Alpha's so much slower then wintel boxes? 
Author:  <rc5 at llamas.net > at SMTP
Date:    1997/10/31 13:36

At 03:13 PM 10/31/1997 -0600, Brian Greul (Exch) wrote:
>Does anyone have any ideas on why Alphas might be so much slower than 
>wintel boxes at crunching this code?
>I would expect them to perform on par.
That, alas, turns out not to be the case. The Alpha processor doesn't have 
a rotate instruction, so it's gotta be faked by the code. This, needless to 
say, slows things down, so you end up with less than stellar numbers.
>Is there a way to utilize the FPU to crunch numbers?
>after all, an integer is just an even floating point number....
Um, no, they aren't. And even if they were, no FPU that I know of will 
rotate the bits in a floating point number. There's no purpose in it.
>It would seem that it might be worthwhile to convert the integers to 
>floating point numbers, or to just read them in on the alpha client.... 
>Any thoughts on this issue?
>Reasons why it won't work?
Several. The biggest is that floating point operations are, by their very 
nature, imprecise. That's the last thing you want when dealing with 
----------------------------------------"it's like this"------------------- 
Dan Sugalski                            even samurai
sugalskd at osshe.edu                      have teddy bears
                                        and even the teddy bears
                                        get drunk
To unsubscribe, send email to majordomo at llamas.net with 'unsubscribe rc5' in the

To unsubscribe, send email to majordomo at llamas.net with 'unsubscribe rc5' in the body.

More information about the rc5 mailing list