diff options
author | Mike Pall <mike> | 2020-02-02 18:20:35 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2020-02-02 18:20:35 +0100 |
commit | d85d6b3c1b2c3d1ecf89ccff6ad7519e767fcebe (patch) | |
tree | 585909abfe76489879ab48d8acd6a1b4b7b7a355 /src | |
parent | 0c982ad74c3e15c811cb7e3e332c1a9dedd49f55 (diff) | |
parent | 522d2073da4be2af79db4728cbb375db0fbdfc48 (diff) | |
download | luajit-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.h | 5 |
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. */ |