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@6700 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
parent
38ce7d03d8
commit
e8ea33ccb1
@ -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"
|
||||
|
Loading…
x
Reference in New Issue
Block a user