From 9cf058c98c6e0846d1e7be60e956712a8d09da6e Mon Sep 17 00:00:00 2001 From: lkcl Date: Thu, 10 Oct 2019 09:14:01 +0100 Subject: [PATCH] --- simple_v_extension/vector_ops.mdwn | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/simple_v_extension/vector_ops.mdwn b/simple_v_extension/vector_ops.mdwn index 394e5b24d..4873de0e1 100644 --- a/simple_v_extension/vector_ops.mdwn +++ b/simple_v_extension/vector_ops.mdwn @@ -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 -- 2.30.2