From 83e69a09b7893ac9a1067e899adc83b792cba770 Mon Sep 17 00:00:00 2001 From: Luke Kenneth Casson Leighton Date: Wed, 26 Jun 2019 08:04:02 +0100 Subject: [PATCH] move mv.x to separate page --- .../specification/discussion.mdwn | 49 +------------------ 1 file changed, 1 insertion(+), 48 deletions(-) diff --git a/simple_v_extension/specification/discussion.mdwn b/simple_v_extension/specification/discussion.mdwn index d7bd96364..c19587629 100644 --- a/simple_v_extension/specification/discussion.mdwn +++ b/simple_v_extension/specification/discussion.mdwn @@ -83,52 +83,5 @@ TODO: adapt to the above rules. ---- -swizzle needs a MV. see below for a potential way to use the funct7 to do a swizzle in rs2. - -|---------------|-------------|-------|----------|----------|--------|----------|--------|--------| -| Encoding | 31:27 | 26:25 | 24:20 | 19:15 | 14:12 | 11:7 | 6:2 | 1:0 | -|---------------|-------------|-------|----------|----------|--------|----------|--------|--------| -| RV32-I-type | imm[11:0] | rs1[4:0] | funct3 | rd[4:0] | opcode | 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): - -|-----|---| -| 1:0 | x | -|-----|---| -| 3:2 | y | -|-----|---| -| 5:4 | z | -|-----|---| -| 7:6 | w | -|-----|---| - ----- - -potential MV.X? register-version of MV-swizzle? - -|---------------|-------------|-------|----------|----------|--------|----------|--------|--------| -| Encoding | 31:27 | 26:25 | 24:20 | 19:15 | 14:12 | 11:7 | 6:2 | 1:0 | -|---------------|-------------|-------|----------|----------|--------|----------|--------|--------| -| RV32-R-type | funct7 | rs2[4:0] | rs1[4:0] | funct3 | rd[4:0] | opcode | 0b11 | -|---------------|-------------|-------|----------|----------|--------|----------|--------|--------| -| RV32-R-type | 0b0000000 | rs2[4:0] | rs1[4:0] | 0b001 | rd[4:0] | OP-V | 0b11 | -|---------------|-------------|-------|----------|----------|--------|----------|--------|--------| - -* funct3 = MV.X -* OP-V = 0b1010111 -* 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? +swizzle needs a MV. see [[mv.x]] -- 2.30.2