On 20 October 2011 23:22, Michael Hope michael.hope@linaro.org wrote:
On Fri, Oct 21, 2011 at 11:16 AM, Mans Rullgard mans.rullgard@linaro.org wrote:
On 20 October 2011 23:07, Michael Hope michael.hope@linaro.org wrote:
On Fri, Oct 21, 2011 at 7:48 AM, James Tunnicliffe james.tunnicliffe@linaro.org wrote:
This isn't exactly overflowing with up to date numbers, but...
http://elinux.org/images/8/8a/Experiment_with_Linux_and_ARM_Thumb-2_ISA.pdf
Slides 14 and 15 say that across EEMBC Thumb-2 gives 98% of the performance of ARM 32 bit instructions (assume performance optimised) and binaries are 26% smaller (didn't catch what binary/binaries that was). These are numbers from 2007 and benchmarked on an ARM 11. I assume using ARMCC.
I just ran EEMBC with gcc-linaro-4.6-2011.10 with -mfpu=neon -O3 -mtune=cortex-a9 and got similar numbers. Five of the 32 tests ran faster with Thumb-2 which is nice. I'll send the results privately as I'm not sure we can share.
How much faster? What about the ones that didn't run faster?
More than 10 %.
I suspect that is more likely due to some gcc quirk than to any intrinsic (dis)advantage of Thumb-2. Someone should analyse the code and find out what went wrong in the slow version. Perhaps something for the toolchain team :)