Apparently, those weird instructions only take up a teeny-tiny amount of space on the CPU and are basically implemented in micro-code.
To be backwards compatible those instructions just need to be supported, but they don't need to be fast. So they are implemented such that they don't get in the way much.
There's been a lot of comments about how ARM is going to revolutionise everything, but that doesn't seem to be the case for the chips you can actually buy (e.g. Qualcomm Vs AMD). Honestly, I don't see the M1 as a statement about how good ARM compared to x64, but how good Apple is compared to the rest of the field.
Not only this, but the PHP/Python/Javascript kiddos will need to learn:
1. Languages that get closer to the metal. 2. Utilize those languages to make their applications aware of data locality, temporality, and branching.
The bottleneck of the future is memory and pipeline stalls. Spraying objects all over the heap is one of the dumbest things you can do with modern processors, but developers do it all the time. This needs to get fixed.
I'm not sure how it compares in terms of power efficiency though I'd expect the ARM chips to be more efficient both because of the transistor size and the ARM CPU not needing to support instructions from the 60s.
I'm very excited to see a new competitor in the CPU game and I'm a big fan of ARM, hopefully we will see further disruption but in the PC space.
Imagine a 128 core desktop CPU. It will be interesting to see how software has to evolve in order to maximise utilization of the quantity of threads.