diff options
author | Mike Pall <mike> | 2011-04-10 16:50:04 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2011-04-10 16:50:04 +0200 |
commit | 161bc379f059bc903873b67da603b48d50cb8ffe (patch) | |
tree | 7cc6b9815f2c7f315e27ab66833db81c80ded50e /dynasm | |
parent | 27bf481669c13f37becfc4e4044b1d3557253d4d (diff) | |
download | luajit2-161bc379f059bc903873b67da603b48d50cb8ffe.tar.gz |
ARM: Add GPR variants for shift aliases to DynASM.
Diffstat (limited to 'dynasm')
-rw-r--r-- | dynasm/dasm_arm.lua | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/dynasm/dasm_arm.lua b/dynasm/dasm_arm.lua index 1876078b..19bc94b8 100644 --- a/dynasm/dasm_arm.lua +++ b/dynasm/dasm_arm.lua @@ -278,10 +278,10 @@ local map_op = { bic_4 = "e1c00000DNMps", mvn_3 = "e1e00000DMps", - lsl_3 = "e1a00000DMvs", - lsr_3 = "e1a00020DMvs", - asr_3 = "e1a00040DMvs", - ror_3 = "e1a00060DMvs", + lsl_3 = "e1a00000DMws", + lsr_3 = "e1a00020DMws", + asr_3 = "e1a00040DMws", + ror_3 = "e1a00060DMws", rrx_2 = "e1a00060DMs", -- Multiply and multiply-accumulate. @@ -747,6 +747,13 @@ map_op[".template__"] = function(params, template, nparams) op = op + parse_imm16(params[n]); n = n + 1 elseif p == "v" then op = op + parse_imm(params[n], 5, 7, 0, false); n = n + 1 + elseif p == "w" then + local imm = match(params[n], "^#(.*)$") + if imm then + op = op + parse_imm(params[n], 5, 7, 0, false); n = n + 1 + else + op = op + parse_gpr(params[n]) * 256 + 16 + end elseif p == "X" then op = op + parse_imm(params[n], 5, 16, 0, false); n = n + 1 elseif p == "K" then |