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] |
