(no commit message)
authorlkcl <lkcl@web>
Sat, 1 Apr 2023 00:23:26 +0000 (01:23 +0100)
committerIkiWiki <ikiwiki.info>
Sat, 1 Apr 2023 00:23:26 +0000 (01:23 +0100)
openpower/sv/svp64_quirks.mdwn

index 3085109f1285d1a961b85f3eee6f8e3976a00cf8..26d9663250f37a3e2b3446d7550213b0398dece2 100644 (file)
@@ -671,3 +671,17 @@ for LDST Immediate only having `zz`.
 
 Simple-V is powerful but it cannot do everything! There is just not
 enough space and so some compromises had to be made.
+
+# sv.mtcr on entire 64-bit Condition Register
+
+Normally, CR operations are either bit-based (where the element numbering actually
+applies to the CR Field) or field-based in which case the elements are still
+fields.  The `sv.mtcr` and other instructions are actually full 64-bit Condition
+*Register* operations and are therefore qualified as Normal/Arithmetic not
+CRops.
+
+This is to save on both Vector Length (VL of 16 is sufficient) as well as
+complexity in the Hazard Management when context-switching CR fields, as the
+entire batch of 128 CR Fields may be transferred to 8 GPRs with a VL of 16
+and elwidth overriding of 32. Truncation is sufficent, dropping the top 32 bits
+of the Condition Register(s) which are always zero anywy.