Minor fixes regarding accumulator usage on MIPS platforms.

R=andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/33729004

Patch from Ljubomir Papuga <lpapuga@mips.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7979 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
andrew@webrtc.org 2014-12-29 17:08:44 +00:00
parent b024da3122
commit 84d84471f5
2 changed files with 11 additions and 2 deletions

View File

@ -139,7 +139,10 @@ int WebRtcSpl_ComplexFFT(int16_t frfi[], int stages, int mode) {
[m] "=&r" (m), [istep] "=&r" (istep), [l] "=&r" (l), [k] "=&r" (k),
[ptr_j] "=&r" (ptr_j), [tmp] "=&r" (tmp)
: [n] "r" (n), [frfi] "r" (frfi), [kSinTable1024] "r" (kSinTable1024)
: "hi", "lo", "$ac1hi", "$ac1lo", "memory"
: "hi", "lo", "memory"
#if defined(MIPS_DSP_R2_LE)
, "$ac1hi", "$ac1lo"
#endif // #if defined(MIPS_DSP_R2_LE)
);
return 0;
@ -314,7 +317,10 @@ int WebRtcSpl_ComplexIFFT(int16_t frfi[], int stages, int mode) {
[k] "=&r" (k), [round2] "=&r" (round2), [ptr_j] "=&r" (ptr_j),
[shift] "=&r" (shift), [scale] "=&r" (scale), [tempMax] "=&r" (tempMax)
: [n] "r" (n), [frfi] "r" (frfi), [kSinTable1024] "r" (kSinTable1024)
: "hi", "lo", "$ac1hi", "$ac1lo", "memory"
: "hi", "lo", "memory"
#if defined(MIPS_DSP_R2_LE)
, "$ac1hi", "$ac1lo"
#endif // #if defined(MIPS_DSP_R2_LE)
);
return scale;

View File

@ -200,6 +200,9 @@ void WebRtcIsacfix_Time2SpecMIPS(int16_t* inre1Q9,
[tmpreQ16] "r" (tmpreQ16), [tmpimQ16] "r" (tmpimQ16),
[cosptr] "r" (cosptr), [sinptr] "r" (sinptr)
: "hi", "lo", "memory"
#if defined(MIPS_DSP_R2_LE)
, "$ac1hi", "$ac1lo", "$ac2hi", "$ac2lo", "$ac3hi", "$ac3lo"
#endif // #if defined(MIPS_DSP_R2_LE)
);
// "Fastest" vectors