Re:Intel x86 documentation has more pages than the 6502 has ...
by userbinator on Thursday December 08, 2016 @07:30AM
(#13129891)
The barrel shifter is not as useful as you would think (what fraction of instructions are shl or shr?)
Re:Intel x86 documentation has more pages than the 6502 has ...
by pcwalton on Thursday December 08, 2016 @01:00PM
(#13132442)
The immediate value encoding is still there. What's gone is the barrel shifter on arithmetic instructions, other than those that explicitly mention that they perform a shift.
No compiler developer would agree with you. The conditional execution wreaks havoc with dependencies, and branches are very cheap if correctly predicted. The barrel shifter is not as useful as you would think (what fraction of instructions are shl or shr?)
Thumb mode does help code density, but not as much as you might think due to Thumb-1 not being practical and Thumb-2 being fairly large. AArch64 is quite a bit denser than x86-64 already.
It is true that the ISA doesn't matter too much from a performance point of view. But why not take advantage of the necessary compatibility break to clean things up? There's a lot of needless complexity in our ISAs from the programmer's point of view, and cleaning it up is just good engineering practice. Let's not saddle future generations with the mistakes of the 1980s.