From a32e8bd6b111e87afe8a8c429f38d3bacd9dd5de Mon Sep 17 00:00:00 2001 From: Dmitry Selyutin Date: Sun, 6 Nov 2022 12:29:55 +0300 Subject: [PATCH] power_insn: discard overlaps for dynamic operands --- src/openpower/decoder/power_insn.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/openpower/decoder/power_insn.py b/src/openpower/decoder/power_insn.py index f278de35..87b816a2 100644 --- a/src/openpower/decoder/power_insn.py +++ b/src/openpower/decoder/power_insn.py @@ -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) -- 2.30.2