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 /src | |
| 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.
Diffstat (limited to 'src')
| -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].."]" |
