GPU はチップによって命令セットがバラバラで、ドライバが差異を吸収する。 CPU がそうならなかった必然性はどれくらいあるんだろう。 JVM, CLR, WebAssembly, ... LLVM bitcode も初期は機種非依存を目指していたような気がする。
The trouble with SPIR-V, 2022 edition - Gob's blog
My personal hell of translating DXIL to SPIR-V – part 5 – Maister's Graphics Adventures
GPU IR にも WebAssembly みたいに structured control flow にするか問題あるんだ。