aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMike Pall <mike>2010-07-14 14:11:48 +0200
committerMike Pall <mike>2010-07-14 14:11:48 +0200
commit2ca58aa67d68076f8980395f45ce1215875fc0fc (patch)
tree16e31746bea6f4d362e727d9d74632ec048fd6d9 /src
parent0d3f190d94708413117cda819d417fcbc382b4bb (diff)
downloadluajit-2ca58aa67d68076f8980395f45ce1215875fc0fc.tar.gz
luajit-2ca58aa67d68076f8980395f45ce1215875fc0fc.tar.bz2
luajit-2ca58aa67d68076f8980395f45ce1215875fc0fc.zip
Fix arg check for two-arg SSE math functions in interpreter.
Diffstat (limited to 'src')
-rw-r--r--src/buildvm_x64.h12
-rw-r--r--src/buildvm_x64win.h12
-rw-r--r--src/buildvm_x86.dasc2
-rw-r--r--src/buildvm_x86.h12
4 files changed, 19 insertions, 19 deletions
diff --git a/src/buildvm_x64.h b/src/buildvm_x64.h
index d98d225d..a44f7e50 100644
--- a/src/buildvm_x64.h
+++ b/src/buildvm_x64.h
@@ -1206,7 +1206,7 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1206 } 1206 }
1207 dasm_put(Dst, 4774, 2+1, LJ_TISNUM, LJ_TISNUM); 1207 dasm_put(Dst, 4774, 2+1, LJ_TISNUM, LJ_TISNUM);
1208 if (sse) { 1208 if (sse) {
1209 dasm_put(Dst, 4826, 1+1, LJ_TISNUM, LJ_TISNUM); 1209 dasm_put(Dst, 4826, 2+1, LJ_TISNUM, LJ_TISNUM);
1210 } else { 1210 } else {
1211 dasm_put(Dst, 4873, 2+1, LJ_TISNUM, LJ_TISNUM); 1211 dasm_put(Dst, 4873, 2+1, LJ_TISNUM, LJ_TISNUM);
1212 } 1212 }
@@ -1319,27 +1319,27 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1319 } 1319 }
1320 dasm_put(Dst, 6405); 1320 dasm_put(Dst, 6405);
1321 if (sse) { 1321 if (sse) {
1322 dasm_put(Dst, 6416, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1322 dasm_put(Dst, 6416, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1323 } else { 1323 } else {
1324 } 1324 }
1325 dasm_put(Dst, 6485); 1325 dasm_put(Dst, 6485);
1326 if (sse) { 1326 if (sse) {
1327 dasm_put(Dst, 6494, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1327 dasm_put(Dst, 6494, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1328 } else { 1328 } else {
1329 } 1329 }
1330 dasm_put(Dst, 6563); 1330 dasm_put(Dst, 6563);
1331 if (sse) { 1331 if (sse) {
1332 dasm_put(Dst, 6573, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1332 dasm_put(Dst, 6573, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1333 } else { 1333 } else {
1334 } 1334 }
1335 dasm_put(Dst, 6642); 1335 dasm_put(Dst, 6642);
1336 if (sse) { 1336 if (sse) {
1337 dasm_put(Dst, 6652, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1337 dasm_put(Dst, 6652, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1338 } else { 1338 } else {
1339 } 1339 }
1340 dasm_put(Dst, 6721); 1340 dasm_put(Dst, 6721);
1341 if (sse) { 1341 if (sse) {
1342 dasm_put(Dst, 6730, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1342 dasm_put(Dst, 6730, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1343 } else { 1343 } else {
1344 } 1344 }
1345 dasm_put(Dst, 6799, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base)); 1345 dasm_put(Dst, 6799, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base));
diff --git a/src/buildvm_x64win.h b/src/buildvm_x64win.h
index 81ca8c03..5e57bb3f 100644
--- a/src/buildvm_x64win.h
+++ b/src/buildvm_x64win.h
@@ -1207,7 +1207,7 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1207 } 1207 }
1208 dasm_put(Dst, 4748, 2+1, LJ_TISNUM, LJ_TISNUM); 1208 dasm_put(Dst, 4748, 2+1, LJ_TISNUM, LJ_TISNUM);
1209 if (sse) { 1209 if (sse) {
1210 dasm_put(Dst, 4800, 1+1, LJ_TISNUM, LJ_TISNUM); 1210 dasm_put(Dst, 4800, 2+1, LJ_TISNUM, LJ_TISNUM);
1211 } else { 1211 } else {
1212 dasm_put(Dst, 4847, 2+1, LJ_TISNUM, LJ_TISNUM); 1212 dasm_put(Dst, 4847, 2+1, LJ_TISNUM, LJ_TISNUM);
1213 } 1213 }
@@ -1320,27 +1320,27 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1320 } 1320 }
1321 dasm_put(Dst, 6364); 1321 dasm_put(Dst, 6364);
1322 if (sse) { 1322 if (sse) {
1323 dasm_put(Dst, 6375, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1323 dasm_put(Dst, 6375, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1324 } else { 1324 } else {
1325 } 1325 }
1326 dasm_put(Dst, 6444); 1326 dasm_put(Dst, 6444);
1327 if (sse) { 1327 if (sse) {
1328 dasm_put(Dst, 6453, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1328 dasm_put(Dst, 6453, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1329 } else { 1329 } else {
1330 } 1330 }
1331 dasm_put(Dst, 6522); 1331 dasm_put(Dst, 6522);
1332 if (sse) { 1332 if (sse) {
1333 dasm_put(Dst, 6532, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1333 dasm_put(Dst, 6532, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1334 } else { 1334 } else {
1335 } 1335 }
1336 dasm_put(Dst, 6601); 1336 dasm_put(Dst, 6601);
1337 if (sse) { 1337 if (sse) {
1338 dasm_put(Dst, 6611, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1338 dasm_put(Dst, 6611, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1339 } else { 1339 } else {
1340 } 1340 }
1341 dasm_put(Dst, 6680); 1341 dasm_put(Dst, 6680);
1342 if (sse) { 1342 if (sse) {
1343 dasm_put(Dst, 6689, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1343 dasm_put(Dst, 6689, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1344 } else { 1344 } else {
1345 } 1345 }
1346 dasm_put(Dst, 6758, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base)); 1346 dasm_put(Dst, 6758, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base));
diff --git a/src/buildvm_x86.dasc b/src/buildvm_x86.dasc
index 31845526..36151318 100644
--- a/src/buildvm_x86.dasc
+++ b/src/buildvm_x86.dasc
@@ -1211,7 +1211,7 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1211 |.endmacro 1211 |.endmacro
1212 | 1212 |
1213 |.macro .ffunc_nnsse, name 1213 |.macro .ffunc_nnsse, name
1214 | .ffunc_1 name 1214 | .ffunc_2 name
1215 | cmp dword [BASE+4], LJ_TISNUM; ja ->fff_fallback 1215 | cmp dword [BASE+4], LJ_TISNUM; ja ->fff_fallback
1216 | cmp dword [BASE+12], LJ_TISNUM; ja ->fff_fallback 1216 | cmp dword [BASE+12], LJ_TISNUM; ja ->fff_fallback
1217 | movsd xmm0, qword [BASE] 1217 | movsd xmm0, qword [BASE]
diff --git a/src/buildvm_x86.h b/src/buildvm_x86.h
index 6f0b6090..e833c3c3 100644
--- a/src/buildvm_x86.h
+++ b/src/buildvm_x86.h
@@ -1265,7 +1265,7 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1265 } 1265 }
1266 dasm_put(Dst, 4858, 2+1, LJ_TISNUM, LJ_TISNUM); 1266 dasm_put(Dst, 4858, 2+1, LJ_TISNUM, LJ_TISNUM);
1267 if (sse) { 1267 if (sse) {
1268 dasm_put(Dst, 4910, 1+1, LJ_TISNUM, LJ_TISNUM); 1268 dasm_put(Dst, 4910, 2+1, LJ_TISNUM, LJ_TISNUM);
1269 } else { 1269 } else {
1270 dasm_put(Dst, 4957, 2+1, LJ_TISNUM, LJ_TISNUM); 1270 dasm_put(Dst, 4957, 2+1, LJ_TISNUM, LJ_TISNUM);
1271 } 1271 }
@@ -1404,31 +1404,31 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1404 } 1404 }
1405 dasm_put(Dst, 6982); 1405 dasm_put(Dst, 6982);
1406 if (sse) { 1406 if (sse) {
1407 dasm_put(Dst, 6993, 1+1, LJ_TISNUM, LJ_TISNUM); 1407 dasm_put(Dst, 6993, 2+1, LJ_TISNUM, LJ_TISNUM);
1408 } else { 1408 } else {
1409 dasm_put(Dst, 7067, 2+1, LJ_TISNUM, LJ_TISNUM); 1409 dasm_put(Dst, 7067, 2+1, LJ_TISNUM, LJ_TISNUM);
1410 } 1410 }
1411 dasm_put(Dst, 7133); 1411 dasm_put(Dst, 7133);
1412 if (sse) { 1412 if (sse) {
1413 dasm_put(Dst, 7142, 1+1, LJ_TISNUM, LJ_TISNUM); 1413 dasm_put(Dst, 7142, 2+1, LJ_TISNUM, LJ_TISNUM);
1414 } else { 1414 } else {
1415 dasm_put(Dst, 7216, 2+1, LJ_TISNUM, LJ_TISNUM); 1415 dasm_put(Dst, 7216, 2+1, LJ_TISNUM, LJ_TISNUM);
1416 } 1416 }
1417 dasm_put(Dst, 7282); 1417 dasm_put(Dst, 7282);
1418 if (sse) { 1418 if (sse) {
1419 dasm_put(Dst, 7292, 1+1, LJ_TISNUM, LJ_TISNUM); 1419 dasm_put(Dst, 7292, 2+1, LJ_TISNUM, LJ_TISNUM);
1420 } else { 1420 } else {
1421 dasm_put(Dst, 7366, 2+1, LJ_TISNUM, LJ_TISNUM); 1421 dasm_put(Dst, 7366, 2+1, LJ_TISNUM, LJ_TISNUM);
1422 } 1422 }
1423 dasm_put(Dst, 7432); 1423 dasm_put(Dst, 7432);
1424 if (sse) { 1424 if (sse) {
1425 dasm_put(Dst, 7442, 1+1, LJ_TISNUM, LJ_TISNUM); 1425 dasm_put(Dst, 7442, 2+1, LJ_TISNUM, LJ_TISNUM);
1426 } else { 1426 } else {
1427 dasm_put(Dst, 7516, 2+1, LJ_TISNUM, LJ_TISNUM); 1427 dasm_put(Dst, 7516, 2+1, LJ_TISNUM, LJ_TISNUM);
1428 } 1428 }
1429 dasm_put(Dst, 7582); 1429 dasm_put(Dst, 7582);
1430 if (sse) { 1430 if (sse) {
1431 dasm_put(Dst, 7591, 1+1, LJ_TISNUM, LJ_TISNUM); 1431 dasm_put(Dst, 7591, 2+1, LJ_TISNUM, LJ_TISNUM);
1432 } else { 1432 } else {
1433 dasm_put(Dst, 7665, 2+1, LJ_TISNUM, LJ_TISNUM); 1433 dasm_put(Dst, 7665, 2+1, LJ_TISNUM, LJ_TISNUM);
1434 } 1434 }