Fix pow() optimization inconsistencies.
This commit is contained in:
@@ -1623,14 +1623,17 @@ static void build_subroutines(BuildCtx *ctx)
|
||||
|. nop
|
||||
|.endmacro
|
||||
|
|
||||
|.macro math_extern2, func
|
||||
| .ffunc_nn math_ .. func
|
||||
|.macro math_extern2, name, func
|
||||
| .ffunc_nn math_ .. name
|
||||
|. load_got func
|
||||
| call_extern
|
||||
|. nop
|
||||
| b ->fff_resn
|
||||
|. nop
|
||||
|.endmacro
|
||||
|.macro math_extern2, func
|
||||
| math_extern2 func, func
|
||||
|.endmacro
|
||||
|
|
||||
|// TODO: Return integer type if result is integer (own sf implementation).
|
||||
|.macro math_round, func
|
||||
@@ -1684,7 +1687,7 @@ static void build_subroutines(BuildCtx *ctx)
|
||||
| math_extern sinh
|
||||
| math_extern cosh
|
||||
| math_extern tanh
|
||||
| math_extern2 pow
|
||||
| math_extern2 pow, lj_vm_pow
|
||||
| math_extern2 atan2
|
||||
| math_extern2 fmod
|
||||
|
|
||||
@@ -3689,7 +3692,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
|
||||
| sltiu AT, SFARG1HI, LJ_TISNUM
|
||||
| sltiu TMP0, SFARG2HI, LJ_TISNUM
|
||||
| and AT, AT, TMP0
|
||||
| load_got pow
|
||||
| load_got lj_vm_pow
|
||||
| beqz AT, ->vmeta_arith
|
||||
|. addu RA, BASE, RA
|
||||
|.if FPU
|
||||
|
||||
Reference in New Issue
Block a user