add (untested) TestRunner based on soc test_runner.py
[openpower-isa.git] / src / openpower / decoder / isa / svshape.py
index 75b392a028bbbc511947f92e30ff34743324dbc8..4d4cb1d23b99da11a1793a90183cd6266843f538 100644 (file)
@@ -5,7 +5,8 @@ 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)
+                                iterate_dct_outer_butterfly_indices,
+                                iterate_dct_inner_halfswap_loadstore)
 from openpower.sv.svp64 import SVP64SHAPE
 import os
 from copy import deepcopy
@@ -117,7 +118,7 @@ class SVSHAPE(SelectableInt):
         log ("SVSHAPE get_iterator", self.mode, self.ydimsz)
         if self.mode == 0b00:
             iterate_fn = iterate_indices
-        elif self.mode == 0b01:
+        elif self.mode in [0b01, 0b11]:
             # further sub-selection
             if self.ydimsz == 1:
                 iterate_fn = iterate_butterfly_indices
@@ -125,8 +126,10 @@ class SVSHAPE(SelectableInt):
                 iterate_fn = iterate_dct_inner_butterfly_indices
             elif self.ydimsz == 3:
                 iterate_fn = iterate_dct_outer_butterfly_indices
-            elif self.ydimsz == 3:
+            elif self.ydimsz in [5, 13]:
                 iterate_fn = iterate_dct_inner_costable_indices
+            elif self.ydimsz in [6, 14, 15]:
+                iterate_fn = iterate_dct_inner_halfswap_loadstore
         # create a **NEW** iterator each time this is called
         return iterate_fn(deepcopy(self))