From 48c7e523f64b0d2db901b6bed4d4813e422f8222 Mon Sep 17 00:00:00 2001 From: Luke Kenneth Casson Leighton Date: Sun, 26 Jun 2022 18:23:35 +0100 Subject: [PATCH] rename SVRM *field* to SVrm to avoid a name-clash with SVRM-*Form* --- openpower/isa/simplev.mdwn | 36 ++++++++++++++++----------------- openpower/isatables/fields.text | 4 ++-- src/openpower/sv/trans/svp64.py | 8 ++++---- 3 files changed, 24 insertions(+), 24 deletions(-) diff --git a/openpower/isa/simplev.mdwn b/openpower/isa/simplev.mdwn index 8a21f038..6752a98a 100644 --- a/openpower/isa/simplev.mdwn +++ b/openpower/isa/simplev.mdwn @@ -84,7 +84,7 @@ Special Registers Altered: SVM-Form -* svshape SVxd,SVyd,SVzd,SVRM,vf +* svshape SVxd,SVyd,SVzd,SVrm,vf Pseudo-code: @@ -108,7 +108,7 @@ Pseudo-code: SVSHAPE2[0:31] <- [0] * 32 SVSHAPE3[0:31] <- [0] * 32 # set schedule up for multiply - if (SVRM = 0b0000) then + if (SVrm = 0b0000) then # VL in Matrix Multiply is xd*yd*zd n <- (0b00 || SVxd) * (0b00 || SVyd) * (0b00 || SVzd) vlen[0:6] <- n[14:20] @@ -128,7 +128,7 @@ Pseudo-code: SVSHAPE2[18:20] <- 0b001 # permute x,z,y SVSHAPE2[28:29] <- 0b11 # skip y # set schedule up for FFT butterfly - if (SVRM = 0b0001) then + if (SVrm = 0b0001) then # calculate O(N log2 N) n <- [0] * 3 do while n < 5 @@ -149,10 +149,10 @@ Pseudo-code: # FRC (coefficients) SVSHAPE2[28:29] <- 0b10 # k schedule # set schedule up for (i)DCT Inner butterfly - # SVRM Mode 2 (Mode 6 for iDCT) is for pre-calculated coefficients, - # SVRM Mode 4 (Mode 12 for iDCT) is for on-the-fly (Vertical-First Mode) - if ((SVRM = 0b0010) | (SVRM = 0b0100) | - (SVRM = 0b1010) | (SVRM = 0b1100)) then + # SVrm Mode 2 (Mode 6 for iDCT) is for pre-calculated coefficients, + # SVrm Mode 4 (Mode 12 for iDCT) is for on-the-fly (Vertical-First Mode) + if ((SVrm = 0b0010) | (SVrm = 0b0100) | + (SVrm = 0b1010) | (SVrm = 0b1100)) then # calculate O(N log2 N) n <- [0] * 3 do while n < 5 @@ -164,30 +164,30 @@ Pseudo-code: # set up template in SVSHAPE0, then copy to 1-3 # set up FRB and FRS SVSHAPE0[0:5] <- (0b0 || SVxd) # xdim - if (SVRM = 0b1010) | (SVRM = 0b1100) then + if (SVrm = 0b1010) | (SVrm = 0b1100) then SVSHAPE0[30:31] <- 0b11 # iDCT mode SVSHAPE0[18:20] <- 0b011 # iDCT Inner Butterfly sub-mode else SVSHAPE0[30:31] <- 0b01 # DCT mode SVSHAPE0[18:20] <- 0b001 # DCT Inner Butterfly sub-mode SVSHAPE0[21:23] <- 0b001 # "inverse" on outer loop - if (SVRM = 0b1100) | (SVRM = 0b0100) then + if (SVrm = 0b1100) | (SVrm = 0b0100) then SVSHAPE0[6:11] <- 0b000011 # (i)DCT Inner Butterfly mode 4 else SVSHAPE0[6:11] <- 0b000001 # (i)DCT Inner Butterfly mode 2 # copy SVSHAPE1[0:31] <- SVSHAPE0[0:31] SVSHAPE2[0:31] <- SVSHAPE0[0:31] - if (SVRM != 0b0100) & (SVRM != 0b1100) then + if (SVrm != 0b0100) & (SVrm != 0b1100) then SVSHAPE3[0:31] <- SVSHAPE0[0:31] # for FRA and FRT SVSHAPE0[28:29] <- 0b01 # j+halfstep schedule # for cos coefficient SVSHAPE2[28:29] <- 0b10 # ci (k for mode 4) schedule - if (SVRM != 0b0100) & (SVRM != 0b1100) then + if (SVrm != 0b0100) & (SVrm != 0b1100) then SVSHAPE3[28:29] <- 0b11 # size schedule # set schedule up for (i)DCT Outer butterfly - if (SVRM = 0b0011) | (SVRM = 0b1011) then + if (SVrm = 0b0011) | (SVrm = 0b1011) then # calculate O(N log2 N) number of outer butterfly overlapping adds vlen[0:6] <- [0] * 7 n <- 0b000 @@ -205,7 +205,7 @@ Pseudo-code: # set up template in SVSHAPE0, then copy to 1-3 # set up FRB and FRS SVSHAPE0[0:5] <- (0b0 || SVxd) # xdim - if (SVRM = 0b1011) then + if (SVrm = 0b1011) then SVSHAPE0[30:31] <- 0b11 # iDCT mode SVSHAPE0[18:20] <- 0b011 # iDCT Outer Butterfly sub-mode SVSHAPE0[21:23] <- 0b101 # "inverse" on outer and inner loop @@ -219,7 +219,7 @@ Pseudo-code: # for FRA and FRT SVSHAPE1[28:29] <- 0b01 # j+halfstep schedule # set schedule up for DCT COS table generation - if (SVRM = 0b0101) | (SVRM = 0b1101) then + if (SVrm = 0b0101) | (SVrm = 0b1101) then # calculate O(N log2 N) vlen[0:6] <- [0] * 7 itercount[0:6] <- (0b00 || SVxd) + 0b0000001 @@ -236,7 +236,7 @@ Pseudo-code: SVSHAPE0[0:5] <- (0b0 || SVxd) # xdim SVSHAPE0[30:31] <- 0b01 # DCT/FFT mode SVSHAPE0[6:11] <- 0b000100 # DCT Inner Butterfly COS-gen mode - if (SVRM = 0b0101) then + if (SVrm = 0b0101) then SVSHAPE0[21:23] <- 0b001 # "inverse" on outer loop for DCT # copy SVSHAPE1[0:31] <- SVSHAPE0[0:31] @@ -245,13 +245,13 @@ Pseudo-code: SVSHAPE1[28:29] <- 0b10 # ci schedule SVSHAPE2[28:29] <- 0b11 # size schedule # set schedule up for iDCT / DCT inverse of half-swapped ordering - if (SVRM = 0b0110) | (SVRM = 0b1110) | (SVRM = 0b1111) then + if (SVrm = 0b0110) | (SVrm = 0b1110) | (SVrm = 0b1111) then vlen[0:6] <- (0b00 || SVxd) + 0b0000001 # set up template in SVSHAPE0 SVSHAPE0[0:5] <- (0b0 || SVxd) # xdim - if (SVRM = 0b1110) then + if (SVrm = 0b1110) then SVSHAPE0[18:20] <- 0b001 # DCT opposite half-swap - if (SVRM = 0b1111) then + if (SVrm = 0b1111) then SVSHAPE0[30:31] <- 0b01 # FFT mode else SVSHAPE0[30:31] <- 0b11 # DCT mode diff --git a/openpower/isatables/fields.text b/openpower/isatables/fields.text index 493d6c91..35ccb90b 100644 --- a/openpower/isatables/fields.text +++ b/openpower/isatables/fields.text @@ -303,7 +303,7 @@ # 1.6.33 SVM-FORM |0 |6 |11 |16 |21 |25 |26 |31 | - | PO | SVxd | SVyd | SVzd | SVRM |vf | XO | + | PO | SVxd | SVyd | SVzd | SVrm |vf | XO | # 1.6.34 SVRM-FORM |0 |6 |11 |13 |15 |17 |19 |21 |22 |26 |31 | @@ -848,7 +848,7 @@ SVme (6:10) Simple-V "REMAP" map-enable bits (0-4) Formats: SVRM - SVRM (21:24) + SVrm (21:24) Simple-V "REMAP" Mode Formats: SVM SVxd (6:10) diff --git a/src/openpower/sv/trans/svp64.py b/src/openpower/sv/trans/svp64.py index 70f632d0..faedfb31 100644 --- a/src/openpower/sv/trans/svp64.py +++ b/src/openpower/sv/trans/svp64.py @@ -123,16 +123,16 @@ def svshape(fields): It is *not* a 64-bit-prefixed Vector instruction (no sv.svshape, yet), it is a Vector *control* instruction. - * svshape SVxd,SVyd,SVzd,SVRM,vf + * svshape SVxd,SVyd,SVzd,SVrm,vf # 1.6.33 SVM-FORM from fields.txt # |0 |6 |11 |16 |21 |25 |26 |31 | - # | PO | SVxd | SVyd | SVzd | SVRM |vf | XO | + # | PO | SVxd | SVyd | SVzd | SVrm |vf | XO | """ PO = 22 XO = 0b011001 - (SVxd, SVyd, SVzd, SVRM, vf) = fields + (SVxd, SVyd, SVzd, SVrm, vf) = fields SVxd -= 1 SVyd -= 1 SVzd -= 1 @@ -141,7 +141,7 @@ def svshape(fields): (SVxd, 6 , 10), (SVyd, 11, 15), (SVzd, 16, 20), - (SVRM, 21, 24), + (SVrm, 21, 24), (vf , 25, 25), (XO , 26, 31), ) -- 2.30.2