power_insn: discard overlaps for dynamic operands
authorDmitry Selyutin <ghostmansd@gmail.com>
Sun, 6 Nov 2022 09:29:55 +0000 (12:29 +0300)
committerDmitry Selyutin <ghostmansd@gmail.com>
Sun, 15 Jan 2023 19:47:22 +0000 (22:47 +0300)
src/openpower/decoder/power_insn.py

index f278de3548b9d4ffee4d5c36ed69b0dfd3886c3d..87b816a24c39dc74bf0b6ff53469c869963afead 100644 (file)
@@ -968,7 +968,10 @@ class XOStaticOperand(StaticOperand):
         # This part is tricky: we could have used self.record.static_operands,
         # but this would cause an infinite recursion, since this code is called
         # from the self.record.static_operands method already.
-        for (cls, kwargs) in self.record.mdwn.operands.static:
+        operands = []
+        operands.extend(self.record.mdwn.operands.static)
+        operands.extend(self.record.mdwn.operands.dynamic)
+        for (cls, kwargs) in operands:
             operand = cls(record=self.record, **kwargs)
             for idx in operand.span:
                 rev = span.pop(idx, None)