[Info-vax] problem with 64-bit pointers in C
John Reagan
xyzzy1959 at gmail.com
Mon Feb 12 17:05:34 EST 2018
On Monday, February 12, 2018 at 4:46:19 PM UTC-5, Stephen Hoffman wrote:
>
> Worth mentioning... why? There were code-size increases going from
> VAX to Alpha. From Alpha to i64, too. And it wouldn't surprise me to
> see code size changes between Itanium and x86.
Here's a purely unscientific, unsupported, non-commital, no promises, your mileage may vary, swag.
I picked a C module from inside the mostly target-independent part of the Macro compiler itself.
On Alpha, ~127,000 bytes of code, optimized
On Itanium, ~250,000 bytes of code, optimized
On x86, ~159,000 bytes of untested code, NOOPTIMIZE
The code uses 32-bit pointers but there are lots of REX prefixes since LLVM is using the full x64-64 register set (16 64-bit general purpose registers). I'm not sure going to 64-pointers would make all that much difference in REX prefix count (it would increase the size of all the data structures with embedded pointers)
More information about the Info-vax
mailing list