mirror of
https://github.com/LuaJIT/LuaJIT.git
synced 2025-02-07 23:24:09 +00:00
ARM64: Fuse negative 32 bit constants into arithmetic ops again.
Thanks to Peter Cawley. #1065
This commit is contained in:
parent
4b605a7da8
commit
fca1f51bf8
@ -222,7 +222,8 @@ static uint32_t asm_fuseopm(ASMState *as, A64Ins ai, IRRef ref, RegSet allow)
|
|||||||
return A64F_M(ir->r);
|
return A64F_M(ir->r);
|
||||||
} else if (irref_isk(ref)) {
|
} else if (irref_isk(ref)) {
|
||||||
int64_t k = get_k64val(as, ref);
|
int64_t k = get_k64val(as, ref);
|
||||||
uint32_t m = logical ? emit_isk13(k, irt_is64(ir->t)) : emit_isk12(k);
|
uint32_t m = logical ? emit_isk13(k, irt_is64(ir->t)) :
|
||||||
|
emit_isk12(irt_is64(ir->t) ? k : (int32_t)k);
|
||||||
if (m)
|
if (m)
|
||||||
return m;
|
return m;
|
||||||
} else if (mayfuse(as, ref)) {
|
} else if (mayfuse(as, ref)) {
|
||||||
|
Loading…
Reference in New Issue
Block a user