(no commit message)
authorlkcl <lkcl@web>
Thu, 10 Oct 2019 08:14:01 +0000 (09:14 +0100)
committerIkiWiki <ikiwiki.info>
Thu, 10 Oct 2019 08:14:01 +0000 (09:14 +0100)
simple_v_extension/vector_ops.mdwn

index 394e5b24d3f477e86bd165615335afe1a9881c2d..4873de0e161fb9eec5e4a11a8f5c29a2a028a09c 100644 (file)
@@ -14,10 +14,6 @@ Examples which can require SUBVL include cross product and may in future involve
 
 ## CORDIC
 
-* SUBVL=2, vd, vs; SUBVL ignored on beta.
-* VL nonzero ok.  beta as scalar ok (applies across all vectors)
-* non vector args vd, vs, or SUBVL!=2 reserved.
-
 6 opcode options (fmt3):
 
 * CORDIC.lin.rot vd, vs, beta
@@ -27,6 +23,12 @@ Examples which can require SUBVL include cross product and may in future involve
 * CORDIC.cir.vec vd, vs, beta
 * CORDIC.hyp.vec vd, vs, beta
 
+SUBVL must be set to 2 and applies to vd and vs. SUBVL is *ignored* on beta.  vd and vs must be marked as vectors.
+
+VL may be applied.  beta as a scalar is ok (applies across all vectors vd and vs). Predication is also ok (single predication) sourced from vd. Use of swizzle is also ok.
+
+Non vector args vd, vs, or SUBVL != 2 are reserved encodings.
+
 CORDIC is an extremely general-purpose algorithm useful for a huge number
 of diverse purposes.  In its full form it does however require quite a
 few parameters, one of which is a vector, making it awkward to include in