found the location to cut/paste the disassembly extra from
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Mon, 15 May 2023 19:47:02 +0000 (20:47 +0100)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Mon, 15 May 2023 19:47:02 +0000 (20:47 +0100)
https://bugs.libre-soc.org/show_bug.cgi?id=1084

src/openpower/decoder/power_insn.py

index 9774b6c469ea67668ece44b261cad25297036311..3a4bee10e153e4547a77bccce56a8e5a55132cf9 100644 (file)
@@ -1493,12 +1493,12 @@ class ConditionRegisterFieldOperand(ExtendableOperand):
             yield f"{indent}{indent}{int(value):0{value.bits}b}"
             yield f"{indent}{indent}{', '.join(span)}"
             if isinstance(insn, SVP64Instruction):
-                extra_idx = self.extra_idx
-                if self.record.etype is _SVEType.NONE:
-                    yield f"{indent}{indent}extra[none]"
-                else:
-                    etype = repr(self.record.etype).lower()
-                    yield f"{indent}{indent}{etype}{extra_idx!r}"
+                for extra_idx in frozenset(self.extra_idx):
+                    if self.record.etype is _SVEType.NONE:
+                        yield f"{indent}{indent}extra[none]"
+                    else:
+                        etype = repr(self.record.etype).lower()
+                        yield f"{indent}{indent}{etype}{extra_idx!r}"
         else:
             vector = "*" if vector else ""
             CR = int(value >> 2)