From: Luke Kenneth Casson Leighton Date: Mon, 24 Jun 2019 14:21:35 +0000 (+0100) Subject: fail-first mode X-Git-Tag: convert-csv-opcode-to-binary~4480 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=29847dfde77dec6c81b0b04ec216d13296b89b78;p=libreriscv.git fail-first mode --- 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<