[Info-vax] problem with 64-bit pointers in C
Jan-Erik Soderholm
jan-erik.soderholm at telia.com
Tue Feb 13 03:16:06 EST 2018
Den 2018-02-13 kl. 07:36, skrev Simon Clubley:
> On 2018-02-12, Stephen Hoffman <seaohveh at hoffmanlabs.invalid> wrote:
>> On 2018-02-11 23:10:47 +0000, yuhongbao_386 at hotmail.com said:
>>>
>>> One thing worth mentioning is that there is a code size cost to 64-bit
>>> pointers in x86-64 because of the REX prefixes.
>>
>> Worth mentioning... why? There were code-size increases going from
>> VAX to Alpha.
>
> Those code size changes from VAX to Alpha were not helped by the lousy
> code density on Alpha when compared to VAX.
But that was not a mistake in the Alpha part, that is a known and
predictable difference between CISC and RISC. You get higher speed
instead due to a "cleaner" architecture.
And as the hardware and memory development has been, code density
has hardly been an issue as such.
>
> Macro-32 is a much nicer assembly language than Macro-64 is.
>
For the same reason, a CISC environment does more with fewer
instructions. Also a know effect from RISC, to get higher speed.
And at the same time, you where expected to switch from assembler
to higher lever languages. And if I'm not wrong, it is easier to
design a good compiler on a cleaner architecture (like Alpha).
> Simon.
>
More information about the Info-vax
mailing list