aboutsummaryrefslogtreecommitdiff
path: root/src/jit
diff options
context:
space:
mode:
authorMike Pall <mike>2023-11-06 23:14:22 +0100
committerMike Pall <mike>2023-11-06 23:14:22 +0100
commitce2cd617398412984c52ca90f833b30ae3dbd08b (patch)
tree265c22a759da0e67b814ebe6c0436374c6278151 /src/jit
parent07b3cd3cf9b57a3801a1ebc48144767e31671f21 (diff)
downloadluajit-ce2cd617398412984c52ca90f833b30ae3dbd08b.tar.gz
luajit-ce2cd617398412984c52ca90f833b30ae3dbd08b.tar.bz2
luajit-ce2cd617398412984c52ca90f833b30ae3dbd08b.zip
ARM64: Fix disassembly of ldp/stp offsets.
Thanks to Peter Cawley. #1113
Diffstat (limited to 'src/jit')
-rw-r--r--src/jit/dis_arm64.lua3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/jit/dis_arm64.lua b/src/jit/dis_arm64.lua
index a7a29494..84677666 100644
--- a/src/jit/dis_arm64.lua
+++ b/src/jit/dis_arm64.lua
@@ -985,8 +985,7 @@ local function disass_ins(ctx)
985 x = x.."]" 985 x = x.."]"
986 end 986 end
987 elseif p == "P" then 987 elseif p == "P" then
988 local opcv, sh = rshift(op, 26), 2 988 local sh = 2 + rshift(op, 31 - band(rshift(op, 26), 1))
989 if opcv >= 0x2a then sh = 4 elseif opcv >= 0x1b then sh = 3 end
990 local imm7 = lshift(arshift(lshift(op, 10), 25), sh) 989 local imm7 = lshift(arshift(lshift(op, 10), 25), sh)
991 local rn = map_regs.x[band(rshift(op, 5), 31)] 990 local rn = map_regs.x[band(rshift(op, 5), 31)]
992 local ind = band(rshift(op, 23), 3) 991 local ind = band(rshift(op, 23), 3)