diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/vm_x86.dasc | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/vm_x86.dasc b/src/vm_x86.dasc index ea0415ee..b59d9a50 100644 --- a/src/vm_x86.dasc +++ b/src/vm_x86.dasc | |||
@@ -2350,8 +2350,8 @@ static void build_subroutines(BuildCtx *ctx) | |||
2350 | | | 2350 | | |
2351 | |.define TOBIT_BIAS, 0x59c00000 // 2^52 + 2^51 (float, not double!). | 2351 | |.define TOBIT_BIAS, 0x59c00000 // 2^52 + 2^51 (float, not double!). |
2352 | | | 2352 | | |
2353 | |.macro .ffunc_bit, name, kind | 2353 | |.macro .ffunc_bit, name, kind, fdef |
2354 | | .ffunc_1 name | 2354 | | fdef name |
2355 | |.if kind == 2 | 2355 | |.if kind == 2 |
2356 | | sseconst_tobit xmm1, RBa | 2356 | | sseconst_tobit xmm1, RBa |
2357 | |.endif | 2357 | |.endif |
@@ -2378,6 +2378,10 @@ static void build_subroutines(BuildCtx *ctx) | |||
2378 | |2: | 2378 | |2: |
2379 | |.endmacro | 2379 | |.endmacro |
2380 | | | 2380 | | |
2381 | |.macro .ffunc_bit, name, kind | ||
2382 | | .ffunc_bit name, kind, .ffunc_1 | ||
2383 | |.endmacro | ||
2384 | | | ||
2381 | |.ffunc_bit bit_tobit, 0 | 2385 | |.ffunc_bit bit_tobit, 0 |
2382 | | jmp ->fff_resbit | 2386 | | jmp ->fff_resbit |
2383 | | | 2387 | | |
@@ -2431,7 +2435,7 @@ static void build_subroutines(BuildCtx *ctx) | |||
2431 | | | 2435 | | |
2432 | |.macro .ffunc_bit_sh, name, ins | 2436 | |.macro .ffunc_bit_sh, name, ins |
2433 | |.if DUALNUM | 2437 | |.if DUALNUM |
2434 | | .ffunc_bit name, 1 | 2438 | | .ffunc_bit name, 1, .ffunc_2 |
2435 | | // Note: no inline conversion from number for 2nd argument! | 2439 | | // Note: no inline conversion from number for 2nd argument! |
2436 | | cmp dword [BASE+12], LJ_TISNUM; jne ->fff_fallback | 2440 | | cmp dword [BASE+12], LJ_TISNUM; jne ->fff_fallback |
2437 | | mov RA, dword [BASE+8] | 2441 | | mov RA, dword [BASE+8] |