+---------------+-------------+-------+----------+----------+--------+----------+--------+--------+
| RV32-I-type + imm[11:0] + rs1[4:0] + funct3 | rd[4:0] + opcode + 0b11 |
+---------------+-------------+-------+----------+----------+--------+----------+--------+--------+
-| RV32-I-type + rsv[11:8] swizzle[7:0] + rs1[4:0] + 0b000 | rd[4:0] + OP-V + 0b11 |
+| RV32-I-type + fn4[11:8] swizzle[7:0] + rs1[4:0] + 0b000 | rd[4:0] + OP-V + 0b11 |
+---------------+-------------+-------+----------+----------+--------+----------+--------+--------+
* funct3 = MV
* OP-V = 0b1010111
+* fn4 = 4 bit function.
+* fn4 = 0b0000 - INT MV-SWIZZLE ?
+* fn4 = 0b0001 - FP MV-SWIZZLE ?
swizzle (only active on SV or P48/P64 when SUBVL!=0):
* funct3 = MV.X
* OP-V = 0b1010111
-* funct7 = 0b0000000
-
-potential funct7 = 0b0000001 to say that rs2 is a swizzle argument?
+* funct7 = 0b0000000 - INT MV.X
+* funct7 = 0b0000001 - FP MV.X
+* funct7 = 0b0000010 - INT MV.swizzle to say that rs2 is a swizzle argument?
+* funct7 = 0b0000011 - FP MV.swizzle to say that rs2 is a swizzle argument?
question: do we need a swizzle MV.X as well?