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

Florian Klämpfl florian at freepascal.org
Fri Jan 2 22:12:59 CET 2015


Am 02.01.2015 um 21:34 schrieb Jonas Maebe:
> 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.

But integer operations are done always on 64 bit in FPC?




More information about the fpc-pascal mailing list