|.endmacro
|
|.macro math_round, func
- | .ffunc math_ .. func
- | NYI
+ | .ffunc_1 math_ .. func
+ | checktp CARG2, LJ_TISNUM
+ | bhi ->fff_fallback
+ | bllo extern func // NYI: use internal implementation of floor/ceil.
+ | // NYI: normalize result.
+ | b ->fff_restv
|.endmacro
|
| math_round floor
#endif
|
|->vm_mod:
- | NYI
+ | push {r0, r1, r2, r3, r4, lr}
+ | bl extern __aeabi_ddiv
+ | bl extern floor // NYI: Use internal implementation of floor.
+ | ldrd CARG34, [sp, #8]
+ | bl extern __aeabi_dmul
+ | ldrd CARG34, [sp]
+ | eor CARG2, CARG2, #0x80000000
+ | bl extern __aeabi_dadd
+ | add sp, sp, #20
+ | pop {pc}
|
|->vm_powi:
#if LJ_HASJIT