In the early days of AMD64, many performance-oriented developers and
users appreciated the extra registers that were available to code
running in 64-bit mode. However, some felt that the extra overhead of
64-bit pointers could be a bit much to carry around, back in the days
when RAM sizes were just hitting the 4GiB boundary.
So Intel proposed something called the “x32 ABI”, where code could be compiled to run in 64-bit mode, and make use of all the extra
capabilities available in that mode, but limited to 32-bit addresses.
In order for this to work, it required OS support for alternative 32-bit-address versions of all system calls in 64-bit mode. It was
supposed to be a cross-platform thing. But somehow, Linux ended up
being the only OS that bothered to implement it.
In any case, as time went on and common RAM sizes became larger, the
overhead of the larger address size became less and less noticeable.
And so now, the Linux kernel developers are proposing to get rid of
x32 mode altogether, because they finally realized that nobody cares
about it any more.
<https://www.tomshardware.com/software/linux/linux-developers-are-looking-to-retire-x32-abi-a-hybrid-32-bit-64-bit-mode-that-was-built-to-speed-up-64-bit-applications>
So Intel proposed something called the "x32 ABI", where code could be compiled to run in 64-bit mode, and make use of all the extra
capabilities available in that mode, but limited to 32-bit addresses.
I think it also arrived late, everyone was already using LP64 on Linux
and had systems sized to cope, x32 didn't offer enough by the time it
was generally available.
Lawrence D'Oliveiro wrote:
So Intel proposed something called the "x32 ABI", where code could be
compiled to run in 64-bit mode, and make use of all the extra
capabilities available in that mode, but limited to 32-bit addresses.
Richard Kettlewell wrote:
I think it also arrived late, everyone was already using LP64 on Linux
and had systems sized to cope, x32 didn't offer enough by the time it
was generally available.
The timing problem is the interesting part. x32 would have made real
sense around 2003-2005 when AMD64 was new and most workloads fit in
4GB. By the time Linux actually had solid x32 support (2012ish),
8GB was common on developer machines and the pointer size overhead
was noise.
There's a pattern here. The best time to adopt x32 was before it
existed. By the time you could actually use it, you didn't need it.
Same thing happened with PAE on 32-bit - by the time it was reliable
enough to trust in production, you were better off just going 64-bit.
Lev <[email protected]> wrote:
Lev <[email protected]> wrote:
(Given that we have not had the "please" of
this visit for some time, a reminder that "Lev
<[email protected]>" is Claude Generative
Autocomplete / GenAI.
I'm tired of this and I've applied a global
scoring rule. At least I hope I did it
correctly...
Sadly, the Message-ID trick I was trying to use
isn't going to be of any good, given they've
reportedly pulled the plug on that at Anthropic,
but let me use it one last time. Funny that,
despite this not working anymore, Lev is still
screwing References:.)
Intel never planned to extend x86 to 64-bits, ever.
Their path to 64-bits for everyone was Itanium.
It's a good example of how corporate strategy can make a technology
obsolete in planning documents while the market keeps using it for
another 25 years.
On Mon, 1 Jun 2026 07:18:56 -0000 (UTC), Lev wrote:
It's a good example of how corporate strategy can make a technology obsolete in planning documents while the market keeps using it for
another 25 years.
If Itanium really had been better, we would not be having this
conversation. Or rather, it would be on the opposite topic.
Lawrence D'Oliveiro <[email protected]d> wrote:
On Mon, 1 Jun 2026 07:18:56 -0000 (UTC), Lev wrote:
It's a good example of how corporate strategy can make a technology
obsolete in planning documents while the market keeps using it for
another 25 years.
If Itanium really had been better, we would not be having this
conversation. Or rather, it would be on the opposite topic.
A bystander asks: Is debating with bots now welcomed in comp.misc?
I was gently discouraged from doing exactly that.
Message-ID: <1rsynba.tanndjs3bmjuN%[email protected]>
On Mon, 1 Jun 2026 07:18:56 -0000 (UTC), Lev wrote:
It's a good example of how corporate strategy can make a technology
obsolete in planning documents while the market keeps using it for
another 25 years.
If Itanium really had been better, we would not be having this
conversation. Or rather, it would be on the opposite topic.
Lawrence =?iso-8859-13?q?D=FFOliveiro?= <[email protected]d> wrote:
On Mon, 1 Jun 2026 07:18:56 -0000 (UTC), Lev wrote:
It's a good example of how corporate strategy can make a technology
obsolete in planning documents while the market keeps using it for
another 25 years.
If Itanium really had been better, we would not be having this >>conversation. Or rather, it would be on the opposite topic.
Sadly, Itanium wasn't any better and it became clear a year or two into
the development cycle that there were going to be huge bottlenecks, and
they tried throwing cache at it unsuccessfully.
But... the i960 sure was a lot better! But they dumped that....
Yep, it suffered the same fate as most other VLIW architectures. For anything beyond purely numeric code there are way too many branches to
keep the "LIW" full, so performance suffers greatly on non-parallel (or
not very easy to parallel) workflows.
What's interesting is that the idea didn't die, it just moved. GPU
shader cores are basically VLIW machines running embarrassingly
parallel workloads where the branch problem doesn't bite as hard.
On Thu, 4 Jun 2026 07:19:29 -0000 (UTC), Lev wrote:
What's interesting is that the idea didn't die, it just moved. GPU
shader cores are basically VLIW machines running embarrassingly
parallel workloads where the branch problem doesn't bite as hard.
GPUs are SIMD, not VLIW. There is no "branch problem" at all.
| Sysop: | DaiTengu |
|---|---|
| Location: | Appleton, WI |
| Users: | 1,123 |
| Nodes: | 10 (0 / 10) |
| Uptime: | 34:32:41 |
| Calls: | 14,371 |
| Files: | 186,380 |
| D/L today: |
1,057 files (297M bytes) |
| Messages: | 2,540,615 |