mirror of
https://github.com/LuaJIT/LuaJIT.git
synced 2025-02-07 23:24:09 +00:00
Fix arg check for two-arg SSE math functions in interpreter.
This commit is contained in:
parent
0d3f190d94
commit
2ca58aa67d
@ -1206,7 +1206,7 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
|
||||
}
|
||||
dasm_put(Dst, 4774, 2+1, LJ_TISNUM, LJ_TISNUM);
|
||||
if (sse) {
|
||||
dasm_put(Dst, 4826, 1+1, LJ_TISNUM, LJ_TISNUM);
|
||||
dasm_put(Dst, 4826, 2+1, LJ_TISNUM, LJ_TISNUM);
|
||||
} else {
|
||||
dasm_put(Dst, 4873, 2+1, LJ_TISNUM, LJ_TISNUM);
|
||||
}
|
||||
@ -1319,27 +1319,27 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
|
||||
}
|
||||
dasm_put(Dst, 6405);
|
||||
if (sse) {
|
||||
dasm_put(Dst, 6416, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
|
||||
dasm_put(Dst, 6416, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
|
||||
} else {
|
||||
}
|
||||
dasm_put(Dst, 6485);
|
||||
if (sse) {
|
||||
dasm_put(Dst, 6494, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
|
||||
dasm_put(Dst, 6494, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
|
||||
} else {
|
||||
}
|
||||
dasm_put(Dst, 6563);
|
||||
if (sse) {
|
||||
dasm_put(Dst, 6573, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
|
||||
dasm_put(Dst, 6573, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
|
||||
} else {
|
||||
}
|
||||
dasm_put(Dst, 6642);
|
||||
if (sse) {
|
||||
dasm_put(Dst, 6652, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
|
||||
dasm_put(Dst, 6652, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
|
||||
} else {
|
||||
}
|
||||
dasm_put(Dst, 6721);
|
||||
if (sse) {
|
||||
dasm_put(Dst, 6730, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
|
||||
dasm_put(Dst, 6730, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
|
||||
} else {
|
||||
}
|
||||
dasm_put(Dst, 6799, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base));
|
||||
|
@ -1207,7 +1207,7 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
|
||||
}
|
||||
dasm_put(Dst, 4748, 2+1, LJ_TISNUM, LJ_TISNUM);
|
||||
if (sse) {
|
||||
dasm_put(Dst, 4800, 1+1, LJ_TISNUM, LJ_TISNUM);
|
||||
dasm_put(Dst, 4800, 2+1, LJ_TISNUM, LJ_TISNUM);
|
||||
} else {
|
||||
dasm_put(Dst, 4847, 2+1, LJ_TISNUM, LJ_TISNUM);
|
||||
}
|
||||
@ -1320,27 +1320,27 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
|
||||
}
|
||||
dasm_put(Dst, 6364);
|
||||
if (sse) {
|
||||
dasm_put(Dst, 6375, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
|
||||
dasm_put(Dst, 6375, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
|
||||
} else {
|
||||
}
|
||||
dasm_put(Dst, 6444);
|
||||
if (sse) {
|
||||
dasm_put(Dst, 6453, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
|
||||
dasm_put(Dst, 6453, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
|
||||
} else {
|
||||
}
|
||||
dasm_put(Dst, 6522);
|
||||
if (sse) {
|
||||
dasm_put(Dst, 6532, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
|
||||
dasm_put(Dst, 6532, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
|
||||
} else {
|
||||
}
|
||||
dasm_put(Dst, 6601);
|
||||
if (sse) {
|
||||
dasm_put(Dst, 6611, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
|
||||
dasm_put(Dst, 6611, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
|
||||
} else {
|
||||
}
|
||||
dasm_put(Dst, 6680);
|
||||
if (sse) {
|
||||
dasm_put(Dst, 6689, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
|
||||
dasm_put(Dst, 6689, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
|
||||
} else {
|
||||
}
|
||||
dasm_put(Dst, 6758, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base));
|
||||
|
@ -1211,7 +1211,7 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
|
||||
|.endmacro
|
||||
|
|
||||
|.macro .ffunc_nnsse, name
|
||||
| .ffunc_1 name
|
||||
| .ffunc_2 name
|
||||
| cmp dword [BASE+4], LJ_TISNUM; ja ->fff_fallback
|
||||
| cmp dword [BASE+12], LJ_TISNUM; ja ->fff_fallback
|
||||
| movsd xmm0, qword [BASE]
|
||||
|
@ -1265,7 +1265,7 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
|
||||
}
|
||||
dasm_put(Dst, 4858, 2+1, LJ_TISNUM, LJ_TISNUM);
|
||||
if (sse) {
|
||||
dasm_put(Dst, 4910, 1+1, LJ_TISNUM, LJ_TISNUM);
|
||||
dasm_put(Dst, 4910, 2+1, LJ_TISNUM, LJ_TISNUM);
|
||||
} else {
|
||||
dasm_put(Dst, 4957, 2+1, LJ_TISNUM, LJ_TISNUM);
|
||||
}
|
||||
@ -1404,31 +1404,31 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
|
||||
}
|
||||
dasm_put(Dst, 6982);
|
||||
if (sse) {
|
||||
dasm_put(Dst, 6993, 1+1, LJ_TISNUM, LJ_TISNUM);
|
||||
dasm_put(Dst, 6993, 2+1, LJ_TISNUM, LJ_TISNUM);
|
||||
} else {
|
||||
dasm_put(Dst, 7067, 2+1, LJ_TISNUM, LJ_TISNUM);
|
||||
}
|
||||
dasm_put(Dst, 7133);
|
||||
if (sse) {
|
||||
dasm_put(Dst, 7142, 1+1, LJ_TISNUM, LJ_TISNUM);
|
||||
dasm_put(Dst, 7142, 2+1, LJ_TISNUM, LJ_TISNUM);
|
||||
} else {
|
||||
dasm_put(Dst, 7216, 2+1, LJ_TISNUM, LJ_TISNUM);
|
||||
}
|
||||
dasm_put(Dst, 7282);
|
||||
if (sse) {
|
||||
dasm_put(Dst, 7292, 1+1, LJ_TISNUM, LJ_TISNUM);
|
||||
dasm_put(Dst, 7292, 2+1, LJ_TISNUM, LJ_TISNUM);
|
||||
} else {
|
||||
dasm_put(Dst, 7366, 2+1, LJ_TISNUM, LJ_TISNUM);
|
||||
}
|
||||
dasm_put(Dst, 7432);
|
||||
if (sse) {
|
||||
dasm_put(Dst, 7442, 1+1, LJ_TISNUM, LJ_TISNUM);
|
||||
dasm_put(Dst, 7442, 2+1, LJ_TISNUM, LJ_TISNUM);
|
||||
} else {
|
||||
dasm_put(Dst, 7516, 2+1, LJ_TISNUM, LJ_TISNUM);
|
||||
}
|
||||
dasm_put(Dst, 7582);
|
||||
if (sse) {
|
||||
dasm_put(Dst, 7591, 1+1, LJ_TISNUM, LJ_TISNUM);
|
||||
dasm_put(Dst, 7591, 2+1, LJ_TISNUM, LJ_TISNUM);
|
||||
} else {
|
||||
dasm_put(Dst, 7665, 2+1, LJ_TISNUM, LJ_TISNUM);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user