X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=libpcsxcore%2Fgte_neon.S;h=f62dd0cc3f72616765f529a04dd121c85291ea92;hb=74ec4f3a231b2335f9bcdc285ee7751d3412fc55;hp=3c71f55401adac8b17eee5bc011974f19399701b;hpb=5c6457c3a3e44b0f39be5221ad4a9d94a432d694;p=pcsx_rearmed.git diff --git a/libpcsxcore/gte_neon.S b/libpcsxcore/gte_neon.S index 3c71f554..f62dd0cc 100644 --- a/libpcsxcore/gte_neon.S +++ b/libpcsxcore/gte_neon.S @@ -6,29 +6,12 @@ */ #include "arm_features.h" +#include "new_dynarec/arm/linkage_offsets.h" .syntax unified - -.bss -.align 6 @ cacheline - -scratch: -.rept 8*8*2/4 - .word 0 -.endr - .text .align 2 -.macro ldr_scratch rd -#ifndef __PIC__ - movw \rd, #:lower16:scratch - movt \rd, #:upper16:scratch -#else - ldr \rd, =scratch -#endif -.endm - @ XXX: gteMAC calc shouldn't be saturating, but it is here @ approximate gteMAC|123 flags @@ -150,7 +133,7 @@ FUNCTION(gteRTPS_neon): @ r0=CP2 (d,c), push {r4-r6,lr} @ fmrx r4, fpscr @ vmrs? at least 40 cycle hit - ldr_scratch r1 + ldr r1, [r0, #LO_cop2_to_scratch_buf] mov r12, #0 vldmia r0, {d8} @ VXYZ(0) @@ -302,13 +285,15 @@ FUNCTION(gteRTPS_neon): @ r0=CP2 (d,c), FUNCTION(gteRTPT_neon): @ r0=CP2 (d,c), push {r4-r11,lr} - ldr_scratch r1 + ldr r1, [r0, #LO_cop2_to_scratch_buf] mov r12, #0 rtpx_preload - vmov.i32 d22, #0x7fffffff - vmov.i32 d23, #0x80000000 + vmov.i32 d23, #1 + vmov.i32 d22, #0x80000000 + vsub.i32 d22, d22, d23 + vmov.i32 d23, #0 mov r3, #3 @ counter mov r2, r0 @ VXYZ(0) 0: