move D-Immediate rewriting in ISACaller into separate function
[openpower-isa.git] / src / openpower / decoder / isa / svshape.py
index dbddd5dbe1bc731fd67170000699bf0404dd82a0..5530b28de0ed0a5c8f139bc35156a04173b10d31 100644 (file)
@@ -148,11 +148,13 @@ class SVSHAPE(SelectableInt):
     def offset(self, value):
         self.fsi['offset'].eq(value)
 
-    def postprocess(self, idx):
+    def postprocess(self, idx, step):
         if self.mode != 0b00 or not self.is_indexed():
             return idx
         if self.gpr is None:
             return idx
+        if self.xdimsz == 1 and self.ydimsz == 1:
+            idx = step # no Index remapping
         remap = self.gpr(self.svgpr+idx).value # TODO: elwidths
         log ("indexed_iterator", self.svgpr, idx, remap)
         return remap