[PATCH] D25020: [ARM] Fix 26% performance regression on Cortex-A9 caused by not using VMLA/VMLS

Evgeny Astigeevich via llvm-commits llvm-commits at lists.llvm.org
Wed Oct 5 06:08:13 PDT 2016


eastig added a comment.

Hi Diana,

Thank you for comments.

> - You mention that there's a performance regression, but you don't mention where - is it in a well-known benchmark or in proprietary code? If it's in proprietary code, I think it's customary to also get the results on the test-suite/SPEC/something to show that it doesn't break anything the community cares about.

What I can say it is not in proprietary code. I am sorry but I am not allowed to provide more details here. Maybe it can be shared via our Linaro communication channel.
I'll check with other testsuites.

> - The commit message keeps mentioning Cortex-A8 and Cortex-A9 together, but the MLx expansion pass is only enabled for Cortex-A9. If you have some performance numbers that look good for Cortex-A8, it would be a good idea to enable the pass for it too (just add FeatureExpandMLx to it in ARM.td).

Yes, you are right. The MLx expansion pass is only for Cortex-A9. This is a copy-paste typo. I investigated the issue in May.  At that time Cortex-A8 and Cortex-A9 were used in ARMDAGToDAGISel::hasNoVMLxHazardUse. Now they are not used because of your change to use features instead.  I didn't notice this change when I updated my workspace to the latest trunk . So I used Cortex-A9 and Cortex-A8.

I have no performance data for Cortex-A8. We don't track Cortex-A8 only Cortex-A9. I'll try to find a Cortex-A8 board to check performance impact. First I'll check that the same problem has existed for Cortex-A8: stopped using VMLx instructions.

> - I think the commit message is a bit TL;DR, could you condense it a bit? (e.g. keep only the relevant assembly snippets instead of the whole output)

I use arc to submit changes for review but I use svn to commit the changes. So the commit message will be shorter.

Thanks,
Evgeny


https://reviews.llvm.org/D25020





More information about the llvm-commits mailing list