This feature enables the fusion of such operations on Cortex A57 and Cortex A72, as recommended in their Software Optimisation Guides, sections 4.14 and 4.11, respectively.
Details
Diff Detail
- Repository
- rL LLVM
Event Timeline
Hi Evandro, looks great, short and simple!
Shouldn't you also add the option to the CPUs description?
@fhahn, if I remember correctly, you've worked on similar things not that long ago. Can you have a look?
LGTM, this is in line with the Cortex-A57 and Cortex-A72 opt guides. We have a similar feature for AArch64 already.
| llvm/lib/Target/ARM/ARM.td | ||
|---|---|---|
| 145 | FeatureFuseLiterals should be added to the cortex-a57 and cortex-a72 features according to the optimization guides. Can you also add a run lines with those CPUs to the test? | |
| llvm/lib/Target/ARM/ARM.td | ||
|---|---|---|
| 145 | It's more complicated than that. I had to enable FeatureUseMISched as well for this to be effective. This is fine for Exynos, but it'd require more extensive testing on Cortex. | |
| llvm/lib/Target/ARM/ARM.td | ||
|---|---|---|
| 145 | Ah right! No worries then | |
| llvm/lib/Target/ARM/ARM.td | ||
|---|---|---|
| 145 | Of course, Exynos needs this feature because there's no pipeline model for it in the ARM target. | |
FeatureFuseLiterals should be added to the cortex-a57 and cortex-a72 features according to the optimization guides. Can you also add a run lines with those CPUs to the test?