aboutsummaryrefslogtreecommitdiff
path: root/libpcsxcore/gte_arm.s
diff options
context:
space:
mode:
authornotaz2012-02-29 02:02:07 +0200
committernotaz2012-02-29 02:02:07 +0200
commit76720f7ff171a7d13d010d7f0af1ae546f781c9c (patch)
treee95ad3e29a52e1fc30574cc971b4609a213889fc /libpcsxcore/gte_arm.s
parent68602482156d907f9c51eb196e98f0f70b5510f8 (diff)
downloadpcsx_rearmed-76720f7ff171a7d13d010d7f0af1ae546f781c9c.tar.gz
pcsx_rearmed-76720f7ff171a7d13d010d7f0af1ae546f781c9c.tar.bz2
pcsx_rearmed-76720f7ff171a7d13d010d7f0af1ae546f781c9c.zip
gte_arm: fix gteOF sign extension
Diffstat (limited to 'libpcsxcore/gte_arm.s')
-rw-r--r--libpcsxcore/gte_arm.s8
1 files changed, 4 insertions, 4 deletions
diff --git a/libpcsxcore/gte_arm.s b/libpcsxcore/gte_arm.s
index 239d1ea..8700f69 100644
--- a/libpcsxcore/gte_arm.s
+++ b/libpcsxcore/gte_arm.s
@@ -186,10 +186,10 @@ gteRTPS_nf_arm:
movhs r9, #0x20000
ldmia r1, {r2-r4}
/* quotient */ subhs r9, #1
- mov r2, #0
+ mov r2, r6, asr #31
smlal r6, r2, r10, r9
stmia r1!,{r3,r4} @ shift gteSXY
- mov r3, #0
+ mov r3, r7, asr #31
smlal r7, r3, r11, r9
lsr r6, #16
/* gteDQA, gteDQB */ ldrd r10,[r0, #4*(32+27)]
@@ -253,9 +253,9 @@ rtpt_arm_loop:
movhs r9, #0x20000
ldrd r6, [r0,#4*(32+24)] @ gteOFXY
/* quotient */ subhs r9, #1
- mov r2, #0
+ mov r2, r6, asr #31
smlal r6, r2, r10, r9
- mov r3, #0
+ mov r3, r7, asr #31
smlal r7, r3, r11, r9
lsr r6, #16
orr r6, r2, lsl #16 @ (gteOFX + gteIR1 * q) >> 16