diff --git a/src/nmplv/Arithmetics/nm/VEC_MulV_AddC__nm64s.asm b/src/nmplv/Arithmetics/nm/VEC_MulV_AddC__nm64s.asm index 08c1d6be..e745a446 100644 --- a/src/nmplv/Arithmetics/nm/VEC_MulV_AddC__nm64s.asm +++ b/src/nmplv/Arithmetics/nm/VEC_MulV_AddC__nm64s.asm @@ -23,7 +23,6 @@ begin ".text_nmplv" -.if .nm64revision == 5; ///////////////////////////////////////////////////////////////////////////////////////// @@ -72,6 +71,5 @@ global _nmppsMul_AddC_64s:label; return; .wait; -.endif; end ".text_nmplv"; diff --git a/src/nmplv/Arithmetics/pc/nmpps-Sub.c b/src/nmplv/Arithmetics/pc/nmpps-Sub.c index 854cc051..7fef5ce4 100644 --- a/src/nmplv/Arithmetics/pc/nmpps-Sub.c +++ b/src/nmplv/Arithmetics/pc/nmpps-Sub.c @@ -22,9 +22,18 @@ #include "nmtype.h" ///////////////////////////////////////////////////////////////////////////////////////// // Subtraction of two char buffers -// 2826 ticks per 10240 elements with C++ call (0.276 clocks per element) -// The order of intermediate data transmissions in function is: -// Buf1[],Buf2 => pDstVec[] - Subtraction (in-place is supported) +void nmppsSub_8s( + const nm8s* pSrcVec1, // input buffer :long Local [VecSize/4] + const nm8s* pSrcVec2, // input buffer :long Local [VecSize/4] + nm8s* pDstVec, // output buffer :long Global[VecSize/4] + int nSize // size of input buffer in 8-bit elements. nSize=[0,8,16,24..] + ) +{ + int i; + for (i=0; i