diff options
author | notaz | 2012-01-09 00:23:03 +0200 |
---|---|---|
committer | notaz | 2012-01-09 01:25:38 +0200 |
commit | 4706bbe4576a934d51b3c852eca24870db271340 (patch) | |
tree | 528bacc23df0fcfe895947dffce1a10615a3665f | |
parent | 05740673341dbd61b23085c8cf1303f632e44f87 (diff) | |
download | pcsx_rearmed-4706bbe4576a934d51b3c852eca24870db271340.tar.gz pcsx_rearmed-4706bbe4576a934d51b3c852eca24870db271340.tar.bz2 pcsx_rearmed-4706bbe4576a934d51b3c852eca24870db271340.zip |
gte_neon: change division again
rounding up, hope it's better
-rw-r--r-- | libpcsxcore/gte_neon.s | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/libpcsxcore/gte_neon.s b/libpcsxcore/gte_neon.s index 38bf989..0eabb7f 100644 --- a/libpcsxcore/gte_neon.s +++ b/libpcsxcore/gte_neon.s @@ -375,14 +375,16 @@ gteRTPT_neon: vmovl.s32 q3, d6 @ || gteDQ|AB [64] vrecps.f32 q12, q10, q11 @ step vcvt.f32.u32 d13, d13 @ | gteH (float for div) + vmov.f32 q8, #0.5 @ ||| vmul.f32 q11, q12, q11 @ better inv add r3, r0, #4*16 vst1.32 d14[0], [r3] @ gteSZ0 = gteSZ3 vdup.32 q13, d13[0] @ | - vrecps.f32 q12, q10, q11 @ step - vmul.f32 q11, q12, q11 @ better inv +@ vrecps.f32 q12, q10, q11 @ step +@ vmul.f32 q11, q12, q11 @ better inv vmul.f32 q10, q13, q11 @ result .else + vmov.f32 q8, #0.5 @ ||| vmovl.s32 q2, d4 @ || gteOF|XY [64] vmovl.s32 q3, d6 @ || gteDQ|AB [64] vcvt.f32.u32 d13, d13 @ | gteH (float for div) @@ -409,7 +411,7 @@ gteRTPT_neon: orrne lr, #(1<<31) orrne lr, #(1<<18) @ fSZ (limD) -@ vadd.f32 q10, q @ adjust for vcvt rounding mode + vadd.f32 q10, q8 @ adjust for vcvt rounding mode vcvt.u32.f32 q8, q10 vmovl.s16 q9, d1 @ expand gteIR|12 v=0 vmovl.s16 q10, d3 @ expand gteIR|12 v=1 |