[PATCH] D125308: [AArch64] Add missing HasNEON predicates to int->float patterns
Dave Green via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu May 12 02:06:33 PDT 2022
dmgreen accepted this revision.
dmgreen added a comment.
This revision is now accepted and ready to land.
> I noticed that for signed conversions, some non-NEON instruction sequences are shorter. I don't know if the longer one is still faster on current architectures (the patterns date back to the initial backend import)
Yeah I believe the general idea was that going GRP->FPR is slower than keeping everything inside FPR registers. I was recently informed that those patterns should probably be guarded using the UseAlternateSExtLoadCVTF32 in the same way as other related patterns are.
This change LGTM though, in terms of NEON support. Thanks.
================
Comment at: llvm/lib/Target/AArch64/AArch64InstrInfo.td:5028-5030
}
+let Predicates = [HasNEON] in {
----------------
Perhaps just extend the previous HasNeon block? I'm not sure that's clearer though.
================
Comment at: llvm/lib/Target/AArch64/AArch64InstrInfo.td:5117
// performIntToFpCombine.
+}
----------------
Having a comment, `// Predicates = [HasNEON]` might be useful.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D125308/new/
https://reviews.llvm.org/D125308
More information about the llvm-commits
mailing list