aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMike Pall <mike>2020-02-02 18:20:35 +0100
committerMike Pall <mike>2020-02-02 18:20:35 +0100
commitd85d6b3c1b2c3d1ecf89ccff6ad7519e767fcebe (patch)
tree585909abfe76489879ab48d8acd6a1b4b7b7a355 /src
parent0c982ad74c3e15c811cb7e3e332c1a9dedd49f55 (diff)
parent522d2073da4be2af79db4728cbb375db0fbdfc48 (diff)
downloadluajit-d85d6b3c1b2c3d1ecf89ccff6ad7519e767fcebe.tar.gz
luajit-d85d6b3c1b2c3d1ecf89ccff6ad7519e767fcebe.tar.bz2
luajit-d85d6b3c1b2c3d1ecf89ccff6ad7519e767fcebe.zip
Merge branch 'master' into v2.1
Diffstat (limited to '')
-rw-r--r--src/lj_asm_x86.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/lj_asm_x86.h b/src/lj_asm_x86.h
index 21b510ca..db3409b9 100644
--- a/src/lj_asm_x86.h
+++ b/src/lj_asm_x86.h
@@ -2061,8 +2061,9 @@ static void asm_intarith(ASMState *as, IRIns *ir, x86Arith xa)
2061 int32_t k = 0; 2061 int32_t k = 0;
2062 if (as->flagmcp == as->mcp) { /* Drop test r,r instruction. */ 2062 if (as->flagmcp == as->mcp) { /* Drop test r,r instruction. */
2063 MCode *p = as->mcp + ((LJ_64 && *as->mcp < XI_TESTb) ? 3 : 2); 2063 MCode *p = as->mcp + ((LJ_64 && *as->mcp < XI_TESTb) ? 3 : 2);
2064 if ((p[1] & 15) < 14) { 2064 MCode *q = p[0] == 0x0f ? p+1 : p;
2065 if ((p[1] & 15) >= 12) p[1] -= 4; /* L <->S, NL <-> NS */ 2065 if ((*q & 15) < 14) {
2066 if ((*q & 15) >= 12) *q -= 4; /* L <->S, NL <-> NS */
2066 as->flagmcp = NULL; 2067 as->flagmcp = NULL;
2067 as->mcp = p; 2068 as->mcp = p;
2068 } /* else: cannot transform LE/NLE to cc without use of OF. */ 2069 } /* else: cannot transform LE/NLE to cc without use of OF. */