libsvp64: support FPR operands
authorDmitry Selyutin <ghostmansd@gmail.com>
Thu, 7 Sep 2023 19:08:47 +0000 (22:08 +0300)
committerDmitry Selyutin <ghostmansd@gmail.com>
Thu, 7 Sep 2023 19:08:47 +0000 (22:08 +0300)
src/libsvp64/codegen.py
src/libsvp64/svp64.h

index bbf32d6cd306185642e21636c27a00c4cbaa5ab0..f41e244c58bccaee57f949f290bef52fb8d2cb06 100644 (file)
@@ -304,9 +304,13 @@ class DisGenSource(Source):
         def gpr_handler(span):
             yield from generic_handler(span, "SVP64_OPERAND_GPR")
 
+        def fpr_handler(span):
+            yield from generic_handler(span, "SVP64_OPERAND_FPR")
+
         handlers = {
             insndb.SignedOperand: signed_handler,
             insndb.GPROperand: gpr_handler,
+            insndb.GPROperand: fpr_handler,
         }
         self.emit(f"case 0x{(path + 1):02x}: /* {', '.join(node.names)} */")
         with self:
index 023bc612274adb68954b030a918aea44b79ae095..7b502024926cd40c7c39e6cbff5bda69978faf06 100644 (file)
@@ -34,6 +34,7 @@ struct svp64_operand {
 
 #define SVP64_OPERAND_SIGNED    (UINT32_C(1) << UINT32_C(0))
 #define SVP64_OPERAND_GPR       (UINT32_C(1) << UINT32_C(1))
+#define SVP64_OPERAND_FPR       (UINT32_C(1) << UINT32_C(2))
 
 struct svp64_ctx {
     struct svp64_record const *record;