insndb/db: support extras command
[openpower-isa.git] / src / openpower / insndb / db.py
index 3b79a1807e311136edefb86bb7090794255efb45..5ed62157fd13f4185c5d5555bcb0fa34955048d9 100644 (file)
@@ -74,6 +74,14 @@ class PCodeVisitor(InstructionVisitor):
             print(line)
 
 
+class ExtrasVisitor(InstructionVisitor):
+    def concrete_record(self, record):
+        for (key, fields) in record.extras.items():
+            print(key)
+            for (field_key, field_value) in fields.items():
+                print(f"    {field_key} {field_value}")
+
+
 def main():
     commands = {
         "list": (
@@ -92,6 +100,10 @@ def main():
             PCodeVisitor,
             "print instruction pseudocode",
         ),
+        "extras": (
+            ExtrasVisitor,
+            "print instruction extras (SVP64)",
+        ),
     }
 
     main_parser = argparse.ArgumentParser()