mirror of
https://github.com/danog/ir.git
synced 2025-01-22 05:31:32 +01:00
Merge last changes from LuaJIT repo
This commit is contained in:
parent
ab8019e0cd
commit
2af3f0569d
@ -447,7 +447,7 @@ int dasm_encode(Dst_DECL, void *buffer)
|
||||
n = DASM_EXTERN(Dst, (unsigned char *)cp, (ins&2047), !(ins&2048));
|
||||
goto patchrel;
|
||||
case DASM_ALIGN:
|
||||
ins &= 255; while ((((char *)cp - base) & ins)) *cp++ = 0xe1a00000;
|
||||
ins &= 255; while ((((char *)cp - base) & ins)) *cp++ = 0xd503201f;
|
||||
break;
|
||||
case DASM_REL_LG:
|
||||
if (n < 0) {
|
||||
|
@ -248,7 +248,7 @@ local map_cond = {
|
||||
|
||||
local parse_reg_type
|
||||
|
||||
local function parse_reg(expr, shift, skip_vreg)
|
||||
local function parse_reg(expr, shift, no_vreg)
|
||||
if not expr then werror("expected register name") end
|
||||
local tname, ovreg = match(expr, "^([%w_]+):(@?%l%d+)$")
|
||||
if not tname then
|
||||
@ -281,7 +281,7 @@ local function parse_reg(expr, shift, skip_vreg)
|
||||
elseif parse_reg_type ~= vrt then
|
||||
werror("register size mismatch")
|
||||
end
|
||||
if not skip_vreg then waction("VREG", shift, vreg) end
|
||||
if not no_vreg then waction("VREG", shift, vreg) end
|
||||
return 0
|
||||
end
|
||||
werror("bad register name `"..expr.."'")
|
||||
@ -638,7 +638,7 @@ local function alias_bfx(p)
|
||||
end
|
||||
|
||||
local function alias_bfiz(p)
|
||||
parse_reg(p[1], 0)
|
||||
parse_reg(p[1], 0, true)
|
||||
if parse_reg_type == "w" then
|
||||
p[3] = "#(32-("..p[3]:sub(2).."))%32"
|
||||
p[4] = "#("..p[4]:sub(2)..")-1"
|
||||
|
Loading…
x
Reference in New Issue
Block a user