From 7d915a20aba5babb30cb7a700a450c628419b44e Mon Sep 17 00:00:00 2001 From: lkcl Date: Fri, 11 Dec 2020 23:29:45 +0000 Subject: [PATCH] --- openpower/sv/sv/mv.swizzle.mdwn | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/openpower/sv/sv/mv.swizzle.mdwn b/openpower/sv/sv/mv.swizzle.mdwn index 8124256c2..1343bc0e6 100644 --- a/openpower/sv/sv/mv.swizzle.mdwn +++ b/openpower/sv/sv/mv.swizzle.mdwn @@ -1,2 +1,28 @@ # mv.swizzle +# Format + +| 0..5 |6..10|11..15|16.20|21.....25|26.....30|31| name | +|------|-----|------|-----|---------|---------|--|---------| +| 19 | RT | RA | | XO[0:4] | XO[5:9] |Rc| XL-Form | +| 19 | RT | RA |imm | imm | Nn NNN |im| mv.swiz | + +also f.mv + +this gives an 11 bit immediate across bits 16 to 25 and bit 31. a permutation based encoding should allow the 12 bits to be covered + +* 3 bits X +* 3 bits Y +* 3 bits Z +* 3 bits W + +except that the options are: + +* 0b1NN index 0 thru 3 to place subelement in pos XYZW +* 0b000 to indicate "skip" +* 0b001 to indicate "constant 0" +* 0b010 to indicate "constant 1" (or 1.0) +* 0b011 is not needed. + +this "not needed" means the encoding is actually a lot less. the sequences involve expressing how many 0s and 1s are embedded in amongst the XYZWs which gets really interesting. + -- 2.30.2