[PATCH] D87900: [ARM] Remove MVEDomain from VLDR/STR of P0

Dave Green via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 21 00:12:29 PDT 2020


dmgreen added a comment.

Thanks for doing this.



================
Comment at: llvm/lib/Target/ARM/ARMInstrVFP.td:2849
 let Predicates = [HasV8_1MMainline, HasMVEInt],
-                  D=MVEDomain, validForTailPredication=1 in {
+                  validForTailPredication=1 in {
   let Uses = [VPR] in {
----------------
What would be the ramification of leaving this? I see VMRS_P0 is no longer validForTailPredication.

Would there be anything that stopped the code from spilling in the loop and reloading outside of it? Would the stored predicate always end up being the same?


================
Comment at: llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp:88
+  return Domain == ARMII::DomainMVE ||
+         isVectorPredicate(&MI) || isVectorPredicated(&MI);
+}
----------------
Would this match VSTR_P0? (Or, would they otherwise be handled somewhere?)


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D87900/new/

https://reviews.llvm.org/D87900



More information about the llvm-commits mailing list