Organization: Digital Equipment Corporation, Littleton MA
Lines: 9
Marc writes:
>> Either the compiler always clears the high order bits of short values
>> in registers (the performance hit) or produces inconsistent results.
For a canonical sign-extended 32-bit value in a 64-bit register (to avoid a separate set of 32-bit branches, among other things), change "clears" to "foreces to all-0/all-1 on 32-bit overflow". This is in fact a tight timing path, but not the final cycle time limiter in the Alpha 21064 chip. So, with some design care, there need not be either a performance hit or inconsistent results. For this to work, 32-bit operations must check for 32-bit overflow, not 64-bit overflow. Hi, Marc.
--
Dick Sites, who does not speak for Digital, but knows a little about