2 ms·
Obviously it has expanded, and not saying "let's completely replace the ISA in 64bit modes" means that a bunch of cruft is going to be consuming the ISA space.
by olliej 4y ago
Obviously it has expanded, and not saying "let's completely replace the ISA in 64bit modes" means that a bunch of cruft is going to be consuming the ISA space. At the same time there is a lot of code that isn't using 64bit values so the compact coding can still be used.
But while talking about ISA size and compactness, we need to compare to the real world alternative: the various ARM or RISC-V ISAs, etc are all 4byte per instruction with the occasional 2 byte variable length extensions*. 4 byte does seem to have been what has been selected for.
My experience with code size is wrapped up in jitting JS so I could believe my experience isn't as reflective of real world code size as it could be :D
* fun story: thumb2 had an early bug/errata where a 4 byte branch spanning a page boundary would jump to the wrong page.