diff options
Diffstat (limited to 'src/dynarec/arm64/arm64_printer.c')
| -rw-r--r-- | src/dynarec/arm64/arm64_printer.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/dynarec/arm64/arm64_printer.c b/src/dynarec/arm64/arm64_printer.c index 48b67e0c..4b797a3c 100644 --- a/src/dynarec/arm64/arm64_printer.c +++ b/src/dynarec/arm64/arm64_printer.c @@ -124,6 +124,18 @@ const char* arm64_print(uint32_t opcode, uintptr_t addr) snprintf(buff, sizeof(buff), "NOP"); return buff; } + if(isMask(opcode, "11010101000000110010000001011111", &a)) { + snprintf(buff, sizeof(buff), "WFE"); + return buff; + } + if(isMask(opcode, "11010101000000110010000001111111", &a)) { + snprintf(buff, sizeof(buff), "WFI"); + return buff; + } + if(isMask(opcode, "11010101000000110010000000111111", &a)) { + snprintf(buff, sizeof(buff), "YIELD"); + return buff; + } // --- LDR / STR if(isMask(opcode, "f010100011iiiiiii22222nnnnnttttt", &a)) { int offset = signExtend(imm, 7)<<(2+sf); |