X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=source%2Fgles2rice%2Fsrc%2FRenderBase_neon.S;h=4310947bfb52318272120e53c9a4400b04ec2f36;hb=3db2a2f9c2702f2f19530333a1f45651c9984a63;hp=3e60c584c7c477dcee44a902fc81c42bccf61c0c;hpb=d6e5b275c693adc4cbd7287c0c2c7abaa9b0da1a;p=mupen64plus-pandora.git diff --git a/source/gles2rice/src/RenderBase_neon.S b/source/gles2rice/src/RenderBase_neon.S index 3e60c58..4310947 100644 --- a/source/gles2rice/src/RenderBase_neon.S +++ b/source/gles2rice/src/RenderBase_neon.S @@ -310,4 +310,23 @@ FUNCTION(multiply_subtract2): .size multiply_subtract2, .-multiply_subtract2 +@ (const XVECTOR4 *v0, const XVECTOR4 *v1, const XVECTOR4 *v2) +FUNCTION(tv_direction): + vld1.32 {q0}, [r0] + vld1.32 {q2}, [r2] + vld1.32 {q1}, [r1] + vsub.f32 d6, d4, d0 @ d6 = V2,V1 + vsub.f32 d7, d4, d2 @ d7 = W2,W1 + vmul.f32 d1, d5 @ d1 = v0.w * v2.w + vrev64.32 d7, d7 + vmul.f32 d6, d7 @ d6 = V2*W1,V1*W2 + vmul.f32 d1, d3 @ d1 *= v1.w + vshr.u64 d7, d6, #32 + vsub.f32 d6, d7 @ d6[0] = V1*W2 - V2*W1 + vshr.u64 d1, d1, #32 + vmul.f32 d0, d1, d6 + vmov.32 r0, d0[0] + bx lr + + @ vim:filetype=armasm:expandtab