diff options
| author | Mike Pall <mike> | 2016-04-05 15:10:14 +0200 |
|---|---|---|
| committer | Mike Pall <mike> | 2016-04-05 15:10:14 +0200 |
| commit | ac9193cfebb1793c54cfcab90376249dac44a4b3 (patch) | |
| tree | ed86a3cd793a689519108e24133f7adabd61b259 /src/jit | |
| parent | d150fbf4411a7e6b098b7af026f77d6b93a26c99 (diff) | |
| download | luajit-ac9193cfebb1793c54cfcab90376249dac44a4b3.tar.gz luajit-ac9193cfebb1793c54cfcab90376249dac44a4b3.tar.bz2 luajit-ac9193cfebb1793c54cfcab90376249dac44a4b3.zip | |
x86: Improve disassembly of BMI2 instructions.
Thanks to Peter Cawley.
Diffstat (limited to 'src/jit')
| -rw-r--r-- | src/jit/dis_x86.lua | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/jit/dis_x86.lua b/src/jit/dis_x86.lua index d564988e..0bbd198f 100644 --- a/src/jit/dis_x86.lua +++ b/src/jit/dis_x86.lua | |||
| @@ -244,7 +244,7 @@ nil,"||psrlvVSXrvm","||psravdXrvm","||psllvVSXrvm", | |||
| 244 | [0xde] = "||aesdecXrvm", [0xdf] = "||aesdeclastXrvm", | 244 | [0xde] = "||aesdecXrvm", [0xdf] = "||aesdeclastXrvm", |
| 245 | --Fx | 245 | --Fx |
| 246 | [0xf0] = "|||crc32TrBmt",[0xf1] = "|||crc32TrVmt", | 246 | [0xf0] = "|||crc32TrBmt",[0xf1] = "|||crc32TrVmt", |
| 247 | [0xf7] = "|sarxVrmv|shlxVrmv|shrxVrmv", | 247 | [0xf7] = "| sarxVrmv| shlxVrmv| shrxVrmv", |
| 248 | }, | 248 | }, |
| 249 | 249 | ||
| 250 | ["3a"] = { -- [66] 0f 3a xx | 250 | ["3a"] = { -- [66] 0f 3a xx |
| @@ -275,7 +275,7 @@ nil,nil,nil,nil, | |||
| 275 | [0x62] = "||pcmpistrmXrmu",[0x63] = "||pcmpistriXrmu", | 275 | [0x62] = "||pcmpistrmXrmu",[0x63] = "||pcmpistriXrmu", |
| 276 | [0xdf] = "||aeskeygenassistXrmu", | 276 | [0xdf] = "||aeskeygenassistXrmu", |
| 277 | --Fx | 277 | --Fx |
| 278 | [0xf0] = "|||rorxVrmu", | 278 | [0xf0] = "||| rorxVrmu", |
| 279 | }, | 279 | }, |
| 280 | } | 280 | } |
| 281 | 281 | ||
| @@ -417,8 +417,8 @@ local function putop(ctx, text, operands) | |||
| 417 | (ctx.rexx and "x" or "")..(ctx.rexb and "b" or "").. | 417 | (ctx.rexx and "x" or "")..(ctx.rexb and "b" or "").. |
| 418 | (ctx.vexl and "l" or "") | 418 | (ctx.vexl and "l" or "") |
| 419 | if ctx.vexv and ctx.vexv ~= 0 then t = t.."v"..ctx.vexv end | 419 | if ctx.vexv and ctx.vexv ~= 0 then t = t.."v"..ctx.vexv end |
| 420 | if t ~= "" then text = ctx.rex.."."..t.." "..text | 420 | if t ~= "" then text = ctx.rex.."."..t.." "..gsub(text, "^ ", "") |
| 421 | elseif ctx.rex == "vex" then text = "v"..text end | 421 | elseif ctx.rex == "vex" then text = gsub("v"..text, "^v ", "") end |
| 422 | ctx.rexw = false; ctx.rexr = false; ctx.rexx = false; ctx.rexb = false | 422 | ctx.rexw = false; ctx.rexr = false; ctx.rexx = false; ctx.rexb = false |
| 423 | ctx.rex = false; ctx.vexl = false; ctx.vexv = false | 423 | ctx.rex = false; ctx.vexl = false; ctx.vexv = false |
| 424 | end | 424 | end |
