ARM64 looked like an exercise in "what can we squeeze into a 32-bit instruction" the first time I examined it in detail; the various "load/store register pair" instructions are a great example of this. I would consider it even more difficult to decode than x86, and yet it's still nowhere near as dense as Thumb2 nor x86.