diff options
author | Mike Pall <mike> | 2016-12-07 18:34:10 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2016-12-07 18:34:10 +0100 |
commit | 48b00297b3b37fe77f59f2f4b6fa63358b442f15 (patch) | |
tree | 645461738ad031465ff5c43593645bd8af0936ea | |
parent | 22511fbe2b284d722f3a7ea901f1ae54992c9c5e (diff) | |
download | luajit-48b00297b3b37fe77f59f2f4b6fa63358b442f15.tar.gz luajit-48b00297b3b37fe77f59f2f4b6fa63358b442f15.tar.bz2 luajit-48b00297b3b37fe77f59f2f4b6fa63358b442f15.zip |
ARM64: Add missing ldrb/strb instructions to disassembler.
Contributed by Djordje Kovacevic and Stefan Pejic from RT-RK.com.
-rw-r--r-- | src/jit/dis_arm64.lua | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/jit/dis_arm64.lua b/src/jit/dis_arm64.lua index 909b33bc..8cb608e6 100644 --- a/src/jit/dis_arm64.lua +++ b/src/jit/dis_arm64.lua | |||
@@ -411,15 +411,19 @@ local map_lsriro = { | |||
411 | shift = 26, mask = 1, | 411 | shift = 26, mask = 1, |
412 | [0] = { | 412 | [0] = { |
413 | shift = 30, mask = 3, | 413 | shift = 30, mask = 3, |
414 | [1] = { | 414 | [0] = { |
415 | shift = 22, mask = 3, | 415 | shift = 22, mask = 3, |
416 | [0] = "strhDwO", "ldrhDwO", "ldrshDwO", "ldrshDxO" | 416 | [0] = "strbDwO", "ldrbDwO", "ldrsbDxO", "ldrsbDwO" |
417 | }, | 417 | }, |
418 | [2] = { | 418 | { |
419 | shift = 22, mask = 3, | ||
420 | [0] = "strhDwO", "ldrhDwO", "ldrshDxO", "ldrshDwO" | ||
421 | }, | ||
422 | { | ||
419 | shift = 22, mask = 3, | 423 | shift = 22, mask = 3, |
420 | [0] = "strDwO", "ldrDwO", "ldrswDxO" | 424 | [0] = "strDwO", "ldrDwO", "ldrswDxO" |
421 | }, | 425 | }, |
422 | [3] = { | 426 | { |
423 | shift = 22, mask = 3, | 427 | shift = 22, mask = 3, |
424 | [0] = "strDxO", "ldrDxO" | 428 | [0] = "strDxO", "ldrDxO" |
425 | } | 429 | } |
@@ -982,7 +986,7 @@ local function disass_ins(ctx) | |||
982 | local sz = band(rshift(op, 30), 3) | 986 | local sz = band(rshift(op, 30), 3) |
983 | -- extension to be applied | 987 | -- extension to be applied |
984 | if opt == 3 then | 988 | if opt == 3 then |
985 | if s == 0 then x = nil | 989 | if s == 0 then x = x.."]" |
986 | else x = x..", lsl #"..sz.."]" end | 990 | else x = x..", lsl #"..sz.."]" end |
987 | elseif opt == 2 or opt == 6 or opt == 7 then | 991 | elseif opt == 2 or opt == 6 or opt == 7 then |
988 | if s == 0 then x = x..", "..map_extend[opt].."]" | 992 | if s == 0 then x = x..", "..map_extend[opt].."]" |