(no commit message)
authorlkcl <lkcl@web>
Mon, 5 Sep 2022 00:31:16 +0000 (01:31 +0100)
committerIkiWiki <ikiwiki.info>
Mon, 5 Sep 2022 00:31:16 +0000 (01:31 +0100)
openpower/sv.mdwn

index 726db6904adf046a0a4e81bc6d4f5471f338627e..149a0201dee1bd5d6121ad84d0200f9ccfb0b767 100644 (file)
@@ -166,6 +166,34 @@ Core SVP64 instructions:
 Beyond this point are additional **Scalar** instructions related to
 specific workloads that have nothing to do with the SV Specification*
 
+# Guarantees in Simple-V
+
+Providing long-term stability in an ISA is extremely challenging.
+It requires certain guarantees to be provided.
+
+* Firstly: that instructions will never be ambiguously-defined.
+* Secondly, that no instruction shall change meaning to produce
+  different results on different hardware (present or future)
+* Thirdly, that implementors are not permitted to either add
+  arbitrary features nor implement features in an incompatible
+  way.
+* Fourthly, that any part of Simple-V not implemented by
+  a lower Compliancy Level is *required* to raise an illegal
+  instruction trap.
+
+In particular, given the strong recent emphasis and interest in
+"Scalable Vector" ISAs, it is most unfortunate that both ARM SVE
+and RISC-V RVV permit the exact same instruction to produce
+different results on different hardware depending on a
+"Silicon Partner" hardware choice. This choice catastrophically
+and irrevocably causes binary non-interoperability despite being
+a "feature".  Explained in <https://m.youtube.com/watch?v=HNEm8zmkjBU>
+
+It is therefore *guaranteed* that extensions to the register file
+width and quantity in Simple-V shall only be made in future by
+explicit means, ensuring binary compatibility.
+
+
 # Optional Scalar instructions
 
 **Additional Instructions for specific purposes (not SVP64)**