summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorkwiberg@webrtc.org <kwiberg@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d>2014-07-16 08:26:48 +0000
committerkwiberg@webrtc.org <kwiberg@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d>2014-07-16 08:26:48 +0000
commitfac3d8a771fa785df09c25ed6670648dd382aa07 (patch)
treed2eef5ca33e8c40ee6f27943486242efa56e7509 /modules
parentdf6904dedb834da635076f25c72929aed292d49b (diff)
downloadwebrtc-fac3d8a771fa785df09c25ed6670648dd382aa07.tar.gz
nrsh1 is written before tmp321 is read, so needs to be earlyclobber
Otherwise, the compiler is allowed to put them in the same register under the assumption that all inputs are read before any (non-earlyclobber) output is written, which in this case would result in nrsh2 being corrupted. BUG=3439 R=aluebs@webrtc.org, ljubomir.papuga@gmail.com Review URL: https://webrtc-codereview.appspot.com/16089004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@6700 4adac7df-926f-26a2-2b94-8c16560cd09d
Diffstat (limited to 'modules')
-rw-r--r--modules/audio_processing/aecm/aecm_core_mips.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/modules/audio_processing/aecm/aecm_core_mips.c b/modules/audio_processing/aecm/aecm_core_mips.c
index 31f232b8..4c925ca2 100644
--- a/modules/audio_processing/aecm/aecm_core_mips.c
+++ b/modules/audio_processing/aecm/aecm_core_mips.c
@@ -1485,7 +1485,7 @@ static void ComfortNoise(AecmCore_t* aecm,
"mul %[tmp321], %[tmp321], %[tmp161] \n\t"
"sra %[nrsh1], %[tmp32], 14 \n\t"
"sra %[nrsh2], %[tmp321], 14 \n\t"
- : [nrsh1] "=r" (nrsh1), [nrsh2] "=r" (nrsh2)
+ : [nrsh1] "=&r" (nrsh1), [nrsh2] "=r" (nrsh2)
: [tmp16] "r" (tmp16), [tmp161] "r" (tmp161), [tmp32] "r" (tmp32),
[tmp321] "r" (tmp321)
: "memory", "hi", "lo"