On 10/05/2010 10:01 PM, Yao Qi wrote:
- Fix speed regression
I found speed regression on EEMBC on linaro 4.5, compared with FSF GCC 4.5.0, and I'll investigate why speed regression happens on these cases. Here is a table below about speed regression compared between FSF GCC 4.5.0 and Linaro GCC 4.5 (revno:99398) O2 O3 puwmod01, -5.5 -3.5 bitmnp01, -7.9 -0.7 routelookup, -6.4 -8.2 conven00data_1, -7.2 -5.8 conven00data_2, -8.1 -7.3 conven00data_3, -6.6 -5.5 viterb00data_1, -1.7 +5.9 viterb00data_2, -4.3 +2.6 viterb00data_3, -2.3 +1.8 viterb00data_4, -5.3 -0.3
[First of all, this is what I should send out after last Friday's meeting. Sorry for being late.]
The speed regression on O2 is caused by four patches listed [1].
In short, two of them (r99380 and r99330) include many changes, so hard to say which specific change causes speed regression on linaro 4.5 tree. It is interesting to have a look at the other two patches (r99324 and r99369).
r99324. "Restrict base registers to low regs for Thumb-2". r99369. "Cortex-A8 optimisation: split symbol refs using MOVT/MOVW later." Details can be found in [1].
EEMBC with O3 is blocked by some troubles of board. I'll post O3 data once is it done.
[1] https://wiki.linaro.org/YaoQi/Sandbox/Thumb2SpeedOptimization