else:
yield from generic_handler(span, "(SVP64_OPERAND_FPR | SVP64_OPERAND_PAIR)")
+ def cr3_handler(span):
+ yield from generic_handler(span, "SVP64_OPERAND_CR3")
+
+ def cr5_handler(span):
+ yield from generic_handler(span, "SVP64_OPERAND_CR5")
+
handlers = {
insndb.SignedOperand: signed_handler,
insndb.GPROperand: gpr_handler,
insndb.FPROperand: fpr_handler,
insndb.GPRPairOperand: lambda span: gpr_handler(span, True),
insndb.FPRPairOperand: lambda span: fpr_handler(span, True),
+ insndb.CR3Operand: cr3_handler,
+ insndb.CR5Operand: cr5_handler,
}
self.emit(f"case 0x{(path + 1):02x}: /* {', '.join(node.names)} */")
with self:
#define SVP64_OPERAND_GPR (UINT32_C(1) << UINT32_C(1))
#define SVP64_OPERAND_FPR (UINT32_C(1) << UINT32_C(2))
#define SVP64_OPERAND_PAIR (UINT32_C(1) << UINT32_C(3))
+#define SVP64_OPERAND_CR3 (UINT32_C(1) << UINT32_C(4))
+#define SVP64_OPERAND_CR5 (UINT32_C(1) << UINT32_C(5))
struct svp64_ctx {
struct svp64_record const *record;