link in new parallel-prefix REMAP schedule
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Thu, 27 Apr 2023 09:23:27 +0000 (10:23 +0100)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Fri, 2 Jun 2023 18:51:17 +0000 (19:51 +0100)
src/openpower/decoder/isa/svshape.py

index 8b4533755a214d243b509ca20994a7b3ff651cdf..e34c0842c50e65b64111ee9d7744f5091953b049 100644 (file)
@@ -11,6 +11,8 @@ from openpower.decoder.selectable_int import (FieldSelectableInt, SelectableInt,
 from openpower.decoder.isa.remapyield import iterate_indices
 from openpower.decoder.isa.remap_preduce_yield import (iterate_indices as
                                                 iterate_preduce_indices)
+from openpower.decoder.isa.remap_preduce_yield import (iterate_indices2 as
+                                                iterate_pprefix_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,
@@ -168,7 +170,11 @@ class SVSHAPE(SelectableInt):
         if self.mode == 0b00:
             iterate_fn = iterate_indices
         elif self.mode == 0b10:
-            iterate_fn = iterate_preduce_indices
+            # further sub-selection
+            if self.skip & 0b10:
+                iterate_fn = iterate_pprefix_indices # parallel-prefix
+            else:
+                iterate_fn = iterate_preduce_indices # parallel-reduce
         elif self.mode in [0b01, 0b11]:
             # further sub-selection
             if self.ydimsz == 1: