ARM: Add GPR variants for shift aliases to DynASM.

This commit is contained in:
Mike Pall 2011-04-10 16:50:04 +02:00
parent 27bf481669
commit 161bc379f0

View File

@ -278,10 +278,10 @@ local map_op = {
bic_4 = "e1c00000DNMps", bic_4 = "e1c00000DNMps",
mvn_3 = "e1e00000DMps", mvn_3 = "e1e00000DMps",
lsl_3 = "e1a00000DMvs", lsl_3 = "e1a00000DMws",
lsr_3 = "e1a00020DMvs", lsr_3 = "e1a00020DMws",
asr_3 = "e1a00040DMvs", asr_3 = "e1a00040DMws",
ror_3 = "e1a00060DMvs", ror_3 = "e1a00060DMws",
rrx_2 = "e1a00060DMs", rrx_2 = "e1a00060DMs",
-- Multiply and multiply-accumulate. -- Multiply and multiply-accumulate.
@ -747,6 +747,13 @@ map_op[".template__"] = function(params, template, nparams)
op = op + parse_imm16(params[n]); n = n + 1 op = op + parse_imm16(params[n]); n = n + 1
elseif p == "v" then elseif p == "v" then
op = op + parse_imm(params[n], 5, 7, 0, false); n = n + 1 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 elseif p == "X" then
op = op + parse_imm(params[n], 5, 16, 0, false); n = n + 1 op = op + parse_imm(params[n], 5, 16, 0, false); n = n + 1
elseif p == "K" then elseif p == "K" then