From: Luke Kenneth Casson Leighton Date: Tue, 27 Jul 2021 13:27:41 +0000 (+0100) Subject: fix up DCT modes for inner/outer butterfly, X-Git-Tag: xlen-bcd~203 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2d994f5593ea29d2fb59744b59b6454274d45dec;p=openpower-isa.git fix up DCT modes for inner/outer butterfly, add new costables schedule and set up REMAP correctly --- diff --git a/openpower/isa/simplev.mdwn b/openpower/isa/simplev.mdwn index bdf792f2..6af33bb8 100644 --- a/openpower/isa/simplev.mdwn +++ b/openpower/isa/simplev.mdwn @@ -204,7 +204,7 @@ Pseudo-code: # for FRA and FRT SVSHAPE1[28:29] <- 0b01 # j+halfstep schedule # set schedule up for DCT COS table generation - if (SVRM = 0b0011) then + if (SVRM = 0b0101) then # calculate O(N log2 N) vlen[0:6] <- [0] * 7 itercount[0:6] <- (0b00 || SVxd) + 0b0000001 diff --git a/src/openpower/decoder/isa/svshape.py b/src/openpower/decoder/isa/svshape.py index 02d31242..75b392a0 100644 --- a/src/openpower/decoder/isa/svshape.py +++ b/src/openpower/decoder/isa/svshape.py @@ -4,6 +4,7 @@ from openpower.decoder.isa.remapyield import iterate_indices from openpower.decoder.isa.remap_fft_yield import iterate_butterfly_indices from openpower.decoder.isa.remap_dct_yield import ( iterate_dct_inner_butterfly_indices, + iterate_dct_inner_costable_indices, iterate_dct_outer_butterfly_indices) from openpower.sv.svp64 import SVP64SHAPE import os @@ -120,10 +121,12 @@ class SVSHAPE(SelectableInt): # further sub-selection if self.ydimsz == 1: iterate_fn = iterate_butterfly_indices - elif self.ydimsz == 2: + elif self.ydimsz in [2, 4]: iterate_fn = iterate_dct_inner_butterfly_indices elif self.ydimsz == 3: iterate_fn = iterate_dct_outer_butterfly_indices + elif self.ydimsz == 3: + iterate_fn = iterate_dct_inner_costable_indices # create a **NEW** iterator each time this is called return iterate_fn(deepcopy(self))