Enable the optimization of operations on DPR and SPR via a feature instead of checking the target.
Details
Diff Detail
- Repository
- rL LLVM
Event Timeline
If this is no longer only used by Cortex-A15, I think the regression tests need to be updated to use the new feature instead of the passing the cpu.
Otherwise, I have no objections to turning this on for other cores if that's beneficial.
llvm/lib/Target/ARM/ARM.td | ||
---|---|---|
200 ↗ | (On Diff #155997) | I think the description/name is somewhat confusing. This enables using vdup instructions to move from the vfp execution domain to neon, which on some cores (at least Cortex-A15) is faster. |
Update the test case to use the feature attribute.
llvm/lib/Target/ARM/ARM.td | ||
---|---|---|
200 ↗ | (On Diff #155997) | What do you suggest? |
llvm/lib/Target/ARM/ARM.td | ||
---|---|---|
200 ↗ | (On Diff #155997) | Something like FeatureUseVDUPForFPToNEON? Ideally something shorter, but that's the best that I can come up with at the moment. The comment should say something along the lines that it's profitable for the target to use a VDUP instruction when performing a transition from the VFP to NEON execution domain. |
llvm/lib/Target/ARM/ARM.td | ||
---|---|---|
200 ↗ | (On Diff #155997) | How about FeatureSplatVFPToNeon? |
llvm/lib/Target/ARM/ARM.td | ||
---|---|---|
200 ↗ | (On Diff #155997) | Yes, that works as well. |