On Wed, Dec 8, 2010 at 7:10 PM, Michael Hope michael.hope@linaro.org wrote:
On Wed, Dec 8, 2010 at 6:59 PM, Prashanth S prashanth.s@samsung.com wrote:
Dear All
Our team in Samsung collected some performance metrics for the following 3 GCC cross compilers
Gentoo Complier(part of Chrome OS Build Environment) GCC 4.4.1 (Code Sourcery). Linaro (gcc-linaro-4.5-2010.11-1)
Flags used to Build Linaro Tool chain used Michael Hope Script .Just modified "GCCFLAGS = --with-mode=thumb --with-arch=armv7-a --with-float=softfp --with-fpu=neon --with-fpu=vfpv3-d16"
Using the above three tool chains we compiled the kernel of Chrome OS and did Coremark Performance test.(With same optimisation flag mentioned in the attachment) Test Environment for all the three are the same.
Hi Prashanth. I've been looking at benchmarks and various compilers during the week. Have a look at: https://wiki.linaro.org/MichaelHope/Sandbox/Benchmarks
It's far from complete and only contains a couple of benchmarks on the A8 only, but it makes interesting Friday afternoon reading.
Note the difference between coremark and pybench which reinforces the need to pick a benchmark that reflects your workload. coremark is interesting as the difference is almost solely due to the 'crcu8' function. GCC 4.4 based compilers unroll it where GCC 4.5 based compilers don't. Adding '-funroll-all-loops' (which I don't recommend you do on normal applications) brings the 4.5 based compilers back in front.
There is work to do here though. It seems that the unrolling heuristics could be improved, and the 4.4 compilers still win on coremark at -O3.
More to come...
-- Michael