diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2021-03-24 12:07:29 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2021-03-24 12:07:29 +0100 |
| commit | fdbdc615da803d36cbf63aed6d9edb5c1b8959db (patch) | |
| tree | 908034736fb82f9a187227942bbf76dd129d9951 /src/dynarec/arm64_printer.c | |
| parent | 5354a134fc68ef5875ee4836cd17aafff15dbabf (diff) | |
| download | box64-fdbdc615da803d36cbf63aed6d9edb5c1b8959db.tar.gz box64-fdbdc615da803d36cbf63aed6d9edb5c1b8959db.zip | |
[DYNAREC] Added 0F C8..CF opcodes
Diffstat (limited to 'src/dynarec/arm64_printer.c')
| -rwxr-xr-x | src/dynarec/arm64_printer.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/dynarec/arm64_printer.c b/src/dynarec/arm64_printer.c index a76dda64..6683695a 100755 --- a/src/dynarec/arm64_printer.c +++ b/src/dynarec/arm64_printer.c @@ -729,7 +729,15 @@ const char* arm64_print(uint32_t opcode, uintptr_t addr) snprintf(buff, sizeof(buff), "RBIT %s, %s", sf?Xt[Rd]:Wt[Rd], sf?Xt[Rn]:Wt[Rn]); return buff; } - + if(isMask(opcode, "f1011010110000000000oonnnnnddddd", &a)) { + if(!sf && option==2) + snprintf(buff, sizeof(buff), "REV %s, %s", Wt[Rd], Wt[Rn]); + else if (sf && option==3) + snprintf(buff, sizeof(buff), "REV %s, %s", Xt[Rd], Xt[Rn]); + else + snprintf(buff, sizeof(buff), "REV%d %s, %s", 8<<option, sf?Xt[Rd]:Wt[Rd], sf?Xt[Rn]:Wt[Rn]); + return buff; + } // MULL ADD if(isMask(opcode, "10011011U01mmmmm0aaaaannnnnddddd", &a)) { |