mirror of
https://github.com/LuaJIT/LuaJIT.git
synced 2025-02-07 15:14:08 +00:00
ARM: Make hard-float tobit conversions match JIT backend behavior.
Reported by Peter Cawley. #1253
This commit is contained in:
parent
ab39082fdd
commit
32a683d226
@ -1863,9 +1863,19 @@ static void build_subroutines(BuildCtx *ctx)
|
||||
|
|
||||
|//-- Bit library --------------------------------------------------------
|
||||
|
|
||||
|// FP number to bit conversion for soft-float. Clobbers r0-r3.
|
||||
|->vm_tobit_fb:
|
||||
| bhi ->fff_fallback
|
||||
|.if FPU
|
||||
|// FP number to bit conversion for hard-float. Clobbers r0, d0-d1.
|
||||
| vldr d1, >9
|
||||
| vmov d0, CARG1, CARG2
|
||||
| vadd.f64 d0, d0, d1
|
||||
| vmov CARG1, s0
|
||||
| bx lr
|
||||
|9:
|
||||
| .long 0, 0x43380000 // (double)(2^52 + 2^51).
|
||||
|.else
|
||||
|// FP number to bit conversion for soft-float. Clobbers r0-r3.
|
||||
|->vm_tobit:
|
||||
| lsl RB, CARG2, #1
|
||||
| adds RB, RB, #0x00200000
|
||||
@ -1890,6 +1900,7 @@ static void build_subroutines(BuildCtx *ctx)
|
||||
| orr CARG1, CARG4, CARG1, lsl RB
|
||||
| rsblt CARG1, CARG1, #0
|
||||
| bx lr
|
||||
|.endif
|
||||
|
|
||||
|.macro .ffunc_bit, name
|
||||
| .ffunc_1 bit_..name
|
||||
|
Loading…
Reference in New Issue
Block a user