|
@@ -2350,8 +2350,8 @@ static void build_subroutines(BuildCtx *ctx)
|
|
|
|
|
|
|
|.define TOBIT_BIAS, 0x59c00000 // 2^52 + 2^51 (float, not double!).
|
|
|
|
|
|
|
- |.macro .ffunc_bit, name, kind
|
|
|
- | .ffunc_1 name
|
|
|
+ |.macro .ffunc_bit, name, kind, fdef
|
|
|
+ | fdef name
|
|
|
|.if kind == 2
|
|
|
| sseconst_tobit xmm1, RBa
|
|
|
|.endif
|
|
@@ -2378,6 +2378,10 @@ static void build_subroutines(BuildCtx *ctx)
|
|
|
|2:
|
|
|
|.endmacro
|
|
|
|
|
|
|
+ |.macro .ffunc_bit, name, kind
|
|
|
+ | .ffunc_bit name, kind, .ffunc_1
|
|
|
+ |.endmacro
|
|
|
+ |
|
|
|
|.ffunc_bit bit_tobit, 0
|
|
|
| jmp ->fff_resbit
|
|
|
|
|
|
@@ -2431,7 +2435,7 @@ static void build_subroutines(BuildCtx *ctx)
|
|
|
|
|
|
|
|.macro .ffunc_bit_sh, name, ins
|
|
|
|.if DUALNUM
|
|
|
- | .ffunc_bit name, 1
|
|
|
+ | .ffunc_bit name, 1, .ffunc_2
|
|
|
| // Note: no inline conversion from number for 2nd argument!
|
|
|
| cmp dword [BASE+12], LJ_TISNUM; jne ->fff_fallback
|
|
|
| mov RA, dword [BASE+8]
|