Fix undefined negative value shift (#1161)
Use multiply instead
diff --git a/arch/AArch64/AArch64InstPrinter.c b/arch/AArch64/AArch64InstPrinter.c
index de2a4cf..ee69605 100644
--- a/arch/AArch64/AArch64InstPrinter.c
+++ b/arch/AArch64/AArch64InstPrinter.c
@@ -1266,7 +1266,7 @@
if (MCOperand_isImm(Op)) {
// ADRP sign extends a 21-bit offset, shifts it left by 12
// and adds it to the value of the PC with its bottom 12 bits cleared
- uint64_t imm = (MCOperand_getImm(Op) << 12) + (MI->address & ~0xfff);
+ uint64_t imm = (MCOperand_getImm(Op) * 0x1000) + (MI->address & ~0xfff);
if (imm > HEX_THRESHOLD)
SStream_concat(O, "#0x%"PRIx64, imm);
else