]> git.ipfire.org Git - thirdparty/LuaJIT.git/commitdiff
ARM: Add GPR variants for shift aliases to DynASM.
authorMike Pall <mike>
Sun, 10 Apr 2011 14:50:04 +0000 (16:50 +0200)
committerMike Pall <mike>
Sun, 10 Apr 2011 14:50:04 +0000 (16:50 +0200)
dynasm/dasm_arm.lua

index 1876078b6cf6bb8603d3beaff59058559eeda3a1..19bc94b8a702e5aecc1e52c07c485b9e8d90025e 100644 (file)
@@ -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