== Last week (Linaro Connect) ==
* Reran libav comparisons after Ira's fix for excessive promotion. The vectorized versions are now at least as good as the non-vectorised ones. Updated wiki page with new asm output and microbenchmark results.
* More work on SMS. I have some patches that wire up the ddg code to IV analysis. It gave some nice benchmark improvements, but also some regressions. Traced the regressions down to cases where the schedule for small iis generated too many moves. E.g. in a small microbenchmark, we were able to schedule 6 instructions with an ii of 3 (i.e. in a loop iteration of 3 cycles), but then needed to add ~9 moves in order to keep the dependencies correct. We got much better code with a larger ii and fewer moves.
Wrote a patch to estimate how many moves would be added, and to try to a larger ii if the number of moves is too high. This improved the results for one benchmark independently of the iv patch, and had no effect on the others.
Discussed this with Revital, who said that Mustafa had tried a similar thing but seen no benefit.
* Got powerpc-ibm-aix5.3 bootstraps working. Needs a few local fixes due to C++ bootstrapping. Used it to test a couple of preparatory patches for the IV work. Submitted those patches upstream.
* Ran benchmarks with -fno-schedule-insns after seeing that the first scheduling pass was responsible for the main NEON-vs.-non-NEON regression in EEMBC. It fixed that case, but as expected, made others worse. Mentioned this to Ramana, who pointed me at -fsched-pressure.
Reran the benchmarks with -fsched-pressure instead of -fno-schedule-insns. It too fixed the main regression, and improved a couple of other tests too. It showed a regression in another test though. Looked at that regression. It was a case where many registers were live across a loop, but not used in it. This was causing the loop to have a very conservative schedule. It would be better to spill some of the other registers instead.
Wrote a patch to take loops into account, and it seemed to do the right thing for EEMBC. Sent it to Andreas, after Ulrich mentioned that he had been looking at -fsched-pressure problems on s390. Andreas is away for a while, though, so I might put this on the back burner until he gets back.
== This week ==
* SMS
* auto inc/dec
* libav, perhaps
Richard