Author: Slater Wold
Date: 17:12:27 03/27/04
Go up one level in this thread
On March 27, 2004 at 17:11:31, Robert Hyatt wrote: >On March 26, 2004 at 16:09:31, Slater Wold wrote: > >>On March 26, 2004 at 12:09:26, Russell Reagan wrote: >> >>>On March 26, 2004 at 09:15:12, Fabien Letouzey wrote: >>> >>>>Would there be a reason why, for instance, 16-bit integers would be slower in >>>>64-bit mode? >>> >>>Software Optimization Guide for AMD Athlon™ 64 and AMD Opteron™ >>> >>>2.22 Using Unsigned Integers for 32-Bit Array Indices >>> >>>Optimization >>>When using a 32-bit variable as an array index, declare the variable as an >>>unsigned integer instead of a signed integer. >>> >>>Application >>>This optimization applies to 64-bit software. >>> >>>Rationale >>>When performing 64-bit address arithmetic, the compiler must insert an >>>additional instruction into the object code to sign-extend a signed 32-bit >>>integer, which reduces performance; no additional instruction is necessary to >>>zero-extend an unsigned 32-bit integer because the processor performs >>>zero-extension automatically. (There is no performance penalty for using 64-bit >>>variables—either signed or unsigned—as array indices.) >> >>This is not factual, at all. And it was removed from the Guide. > >What is not factual. Signed 32 bit indices definitely cause a problem. you can >look at the asm output to see why... Because it does not apply 100% of the time. There are times when using a signed int will be faster. Generally speaking, using an unsigned int is faster. But not always.
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.