From: Luke Kenneth Casson Leighton Date: Fri, 5 Oct 2018 04:00:54 +0000 (+0100) Subject: more clarification, mention C.LWSP/C.SWSP X-Git-Tag: convert-csv-opcode-to-binary~4994 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=86594d83ada53d08b04a9210e9df8165455921dd;p=libreriscv.git more clarification, mention C.LWSP/C.SWSP --- diff --git a/simple_v_extension/specification.mdwn b/simple_v_extension/specification.mdwn index ac9823e3c..ab47af637 100644 --- a/simple_v_extension/specification.mdwn +++ b/simple_v_extension/specification.mdwn @@ -537,8 +537,14 @@ Notes: ## Vectorised Dual-operand instructions There is a series of 2-operand instructions involving copying (and -sometimes alteration): C.MV, FMV, FNEG, FABS, FCVT, FSGNJ, LOAD(-FP) -and STORE(-FP). These operations all follow the same pattern, as it is +sometimes alteration): + +* C.MV +* FMV, FNEG, FABS, FCVT, FSGNJ, FSGNJN and FSGNJX +* C.LWSP, C.SWSP, C.LDSP, C.FLWSP etc. +* LOAD(-FP) and STORE(-FP) + +All of these operations follow the same two-operand pattern, so it is *both* the source *and* destination predication masks that are taken into account. This is different from the three-operand arithmetic instructions, where the predication mask @@ -562,15 +568,17 @@ follows: This pattern covers scalar-scalar, scalar-vector, vector-scalar and vector-vector, and predicated variants of all of those. -Zeroing is not presently included (TODO). As such, it covers +Zeroing is not presently included (TODO). As such, when compared +to RVV, the twin-predicated variants of C.MV and FMV cover **all** standard vector operations: VINSERT, VSPLAT, VREDUCE, VEXTRACT, VSCATTER, VGATHER, VCOPY, and more. Note that: -* elwidth (SIMD) is not covered above +* elwidth (SIMD) is not covered in the pseudo-code above * ending the loop early in scalar cases (VINSERT, VEXTRACT) is also not covered +* zero predication is also not shown (TODO). ### C.MV Instruction @@ -687,7 +695,7 @@ scalar RV LOAD operation: ## Compressed Stack LOAD / STORE Instructions -TODO + [[!table data=""" 15 13 | 12 10 | 9 7 | 6 5 | 4 2 | 1 0 |