A difficulty of going as low level as a cpu architecture for the VM means it’s difficult to optimize back up
So at the moment the UInt256
operations in the Evm are usually implemented with Avx2
or Avx512
(equivalent on Arm); operating with 256bit or 512bit registers.
If that was decomposed to RISC-V 64bit or worse 32bit instructions; that then becomes a extremely hard problem to recognise the patterns and then recompose back to 256bit operations when the RISC-V code is then run on AMDx64 or ARM64 that most blockbuilders and validators will be running (as there is currently no high performance RISC-V hardware).
C/C++ compilers; which spend a long time compiling, have a hard time doing auto-vectorisation in this way; and they only auto-vectorize simple repetitive structures, they don’t recognise entire algorithms and convert them to a totally different form (which is normally the case with using specific CPU SIMD instructions effectively).
The risk here is that zk-proving may get better, but blockbuiling and execution will deteriorate significantly?