From dfaa6896c1fed449f995feeff13998da42f4af43 Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Mon, 22 Apr 2024 10:03:24 +0200 Subject: [ARM64_PRINTER] Added SHL printer --- src/dynarec/arm64/arm64_printer.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src') diff --git a/src/dynarec/arm64/arm64_printer.c b/src/dynarec/arm64/arm64_printer.c index f9866570..8e975c63 100644 --- a/src/dynarec/arm64/arm64_printer.c +++ b/src/dynarec/arm64/arm64_printer.c @@ -1576,6 +1576,17 @@ const char* arm64_print(uint32_t opcode, uintptr_t addr) snprintf(buff, sizeof(buff), "%cSHLL%s V%d.%s, V%d.%s, #%d", a.U?'U':'S', a.Q?"2":"", Rd, Va, Rn, Vd, sh); return buff; } + if(isMask(opcode, "0Q0011110hhhhiii010101nnnnnddddd", &a) && (a.h != 0b1000)) { + const char* Y[] = {"8B", "16B", "4H", "8H", "2S", "4S", "??", "2D"}; + int sz = 3; + if((a.h&0b1111)==0b0001) sz=0; + else if((a.h&0b1110)==0b0010) sz=1; + else if((a.h&0b1100)==0b0100) sz=2; + int sh=(((a.h)<<3)|(imm)) - (8<