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 | |
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.
-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 |