You want to see a beautiful compiler? Look at Plan 9’s compiler suite. A man could understand and even build on that.
You want to see a beautiful compiler? Look at Plan 9’s compiler suite. A man could understand and even build on that.
That’s not necessarily an indication of the weakness of compilers. It also could be an indication that hardware designers could leave out instructions.
X86, in particular, will have lots of them for backwards compatibility reasons (extreme example: the old 80-bit x87 FP stack)
There also are instructions that are expected to never get used by ‘normal’ compilers but cannot be removed because they only make sense in lower-level code such as those for switching between protection levels, implementing compare-and-swap, etc.
binary floating point, let alone IEEE, is almost useless for implementing decimal arithmetic.