#include "arm_features.h"
#endif
-#ifdef __ARM_ARCH_7A__
+#ifdef HAVE_ARMV7
#define ssat32_to_16(v) \
asm("ssat %0,#16,%1" : "=r" (v) : "r" (v))
#else
int vl, vr;int gpos;
vl = (spos >> 6) & ~3;
gpos = SB[28];
- vr=(gauss[vl]*(int)gval0)&~2047;
- vr+=(gauss[vl+1]*gval(1))&~2047;
- vr+=(gauss[vl+2]*gval(2))&~2047;
- vr+=(gauss[vl+3]*gval(3))&~2047;
- fa = vr>>11;
+ vr=(gauss[vl]*(int)gval0) >> 15;
+ vr+=(gauss[vl+1]*gval(1)) >> 15;
+ vr+=(gauss[vl+2]*gval(2)) >> 15;
+ vr+=(gauss[vl+3]*gval(3)) >> 15;
+ fa = vr;
} break;
//--------------------------------------------------//
case 1: // simple interpolation
void CALLBACK SPUasync(unsigned int cycle, unsigned int flags)
{
- do_samples(cycle, 0);
+ do_samples(cycle, spu_config.iUseFixedUpdates);
if (spu.spuCtrl & CTRL_IRQ)
schedule_next_irq();