Remove a cast again, after it was shown to worsen Windows perf.
This will hurt Linux x64 perf, but we think that's a compiler bug and we're willing to take the hit for the better clarity of the code sans cast as well as the better Windows perf. Hopefully eventually the compiler will improve. BUG=504813 TEST=none TBR=andrew Review URL: https://codereview.webrtc.org/1215053002 Cr-Commit-Position: refs/heads/master@{#9516}
This commit is contained in:
parent
71f6f4405c
commit
3c60d61463
@ -22,11 +22,8 @@ void WebRtcSpl_CrossCorrelationC(int32_t* cross_correlation,
|
||||
|
||||
for (i = 0; i < dim_cross_correlation; i++) {
|
||||
int32_t corr = 0;
|
||||
// Linux 64-bit performance is improved by the int16_t cast below.
|
||||
// Presumably this is some sort of compiler bug, as there's no obvious
|
||||
// reason why that should result in better code.
|
||||
for (j = 0; j < dim_seq; j++)
|
||||
corr += (seq1[j] * seq2[j]) >> (int16_t)right_shifts;
|
||||
corr += (seq1[j] * seq2[j]) >> right_shifts;
|
||||
seq2 += step_seq2;
|
||||
*cross_correlation++ = corr;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user