webrtc /
src /
d798095a37b1a26cf734887e862d21831b3aa763 replace inline assembly WebRtcNsx_PrepareSpectrumNeon by intrinsics.
The modification only uses the unique part of the spectrum (as is done for the C and asm code). It passes
byte to byte conformance test, and the single function performance
(if not specified, the code is compiled by GCC 4.6) on different
platforms:
| run 100k times | cortex-a7 | cortex-a9 | cortex-a15 |
| use C as the base on each | (1.2Ghz) | (1.0Ghz) | (1.7Ghz) |
| CPU target | | | |
|----------------------------+-----------+-----------+------------|
| C | 100% | 100% | 100% |
| Neon asm | 18% | 14% | 19% |
| Neon inline asm | 31% | 25% | 27% |
| Neon intrinsic (GCC 4.6) | 33% | 27% | 42% |
| Neon intrinscis (GCC 4.8) | 17% | 14% | 19% |
| Neon intrinsics (LLVM 3.3) | 15% | 13% | 18% |
BUG=
R=andrew@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/13739004
Patch from Joe Yu <joe.yu@arm.com>.
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6920 4adac7df-926f-26a2-2b94-8c16560cd09d
2 files changed