diff options
author | kwiberg@webrtc.org <kwiberg@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> | 2014-07-16 08:26:48 +0000 |
---|---|---|
committer | kwiberg@webrtc.org <kwiberg@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> | 2014-07-16 08:26:48 +0000 |
commit | fac3d8a771fa785df09c25ed6670648dd382aa07 (patch) | |
tree | d2eef5ca33e8c40ee6f27943486242efa56e7509 /modules | |
parent | df6904dedb834da635076f25c72929aed292d49b (diff) | |
download | webrtc-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.c | 2 |
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" |