From 29847dfde77dec6c81b0b04ec216d13296b89b78 Mon Sep 17 00:00:00 2001 From: Luke Kenneth Casson Leighton Date: Mon, 24 Jun 2019 15:21:35 +0100 Subject: [PATCH] fail-first mode --- simple_v_extension/specification.mdwn | 47 ++++++++++++++++++++++----- 1 file changed, 38 insertions(+), 9 deletions(-) diff --git a/simple_v_extension/specification.mdwn b/simple_v_extension/specification.mdwn index 7a4704dcb..8963d0436 100644 --- a/simple_v_extension/specification.mdwn +++ b/simple_v_extension/specification.mdwn @@ -669,9 +669,12 @@ as follows. for (int i=0; i (Note: both the REMAP and SHAPE sections are best read after the @@ -979,8 +1003,8 @@ All other operations using registers are automatically parallelised. This includes AMOMAX, AMOSWAP and so on, where particular care and attention must be paid. -Example pseudo-code for an integer ADD operation (including scalar operations). -Floating-point uses fp csrs. +Example pseudo-code for an integer ADD operation (including scalar +operations). Floating-point uses the FP Register Table. function op_add(rd, rs1, rs2) # add not VADD!  int i, id=0, irs1=0, irs2=0; @@ -1037,7 +1061,8 @@ indexed by "(i)" } -NOTE: pseudocode simplified greatly: zeroing, proper predicate handling, elwidth handling etc. all left out. +NOTE: pseudocode simplified greatly: zeroing, proper predicate handling, +elwidth handling etc. all left out. ## Instruction Format @@ -2231,21 +2256,25 @@ is modified to as follows: if (int_vec[rs1].isvector)  { irs1 += 1; } if (int_vec[rs2].isvector)  { irs2 += 1; } if i == VL: - break + return if (predval & 1<