[fpc-pascal] Binary code generated for Integer and PtrInt

Jonas Maebe jonas.maebe at elis.ugent.be
Fri Jan 2 21:34:56 CET 2015


On 02/01/15 21:16, Florian Klämpfl wrote:
> Am 02.01.2015 um 19:31 schrieb Juha Manninen:
>> Does it make sense to use PtrInt instead of Integer for optimization or code size reasons?
> 
> Hard to say, but I wouldn't expect a benefit because bigger data types means also more cache pollution.
> 
>> In other words, does the compiler generate faster or smaller code in 64-bit CPUs for the native
>> integer size?
> 
> Normally the code is a little bit smaller (less sign extensions), but the data footprint is bigger.
> 
>> Does it depend on architecture?
> 
> The comments above are probably valid for all 64 bit CPUs except alpha which is not supported by fpc.

And except for AArch64, where 32 bit will, in principle, also be more
efficient than 64 bit in all cases. It can even use the lower 8/16/32
bit of a register as index in a memory references and sign/zero-extend +
optionally multiply it with the access size.


Jonas




More information about the fpc-pascal mailing list