[llvm] c8c3a41 - [ARM] Ensure MVE_TwoOpPattern is used inside Predicate's

David Green via llvm-commits llvm-commits at lists.llvm.org
Sun Nov 22 13:38:15 PST 2020


Author: David Green
Date: 2020-11-22T21:38:00Z
New Revision: c8c3a411c50f541ce5362bd60ee3f8fe43ac2722

URL: https://github.com/llvm/llvm-project/commit/c8c3a411c50f541ce5362bd60ee3f8fe43ac2722
DIFF: https://github.com/llvm/llvm-project/commit/c8c3a411c50f541ce5362bd60ee3f8fe43ac2722.diff

LOG: [ARM] Ensure MVE_TwoOpPattern is used inside Predicate's

Added: 
    

Modified: 
    llvm/lib/Target/ARM/ARMInstrMVE.td

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Target/ARM/ARMInstrMVE.td b/llvm/lib/Target/ARM/ARMInstrMVE.td
index 66a6d4bd6de0..0f197d57a1f7 100644
--- a/llvm/lib/Target/ARM/ARMInstrMVE.td
+++ b/llvm/lib/Target/ARM/ARMInstrMVE.td
@@ -1962,9 +1962,10 @@ multiclass MVE_VQxDMULH_m<string iname, MVEVectorVTInfo VTI,
                       bit rounding> {
   def "" : MVE_VQxDMULH_Base<iname, VTI.Suffix, VTI.Size, rounding>;
   defvar Inst = !cast<Instruction>(NAME);
-  defm : MVE_TwoOpPattern<VTI, Op, pred_int, (? ), Inst>;
 
   let Predicates = [HasMVEInt] in {
+    defm : MVE_TwoOpPattern<VTI, Op, pred_int, (? ), Inst>;
+
     // Extra unpredicated multiply intrinsic patterns
     def : Pat<(VTI.Vec (unpred_int (VTI.Vec MQPR:$Qm), (VTI.Vec MQPR:$Qn))),
               (VTI.Vec (Inst (VTI.Vec MQPR:$Qm), (VTI.Vec MQPR:$Qn)))>;
@@ -5492,7 +5493,10 @@ class MVE_VxxMUL_qr<string iname, string suffix,
 multiclass MVE_VxxMUL_qr_m<string iname, MVEVectorVTInfo VTI, bit bit_28,
                            PatFrag Op, Intrinsic int_unpred, Intrinsic int_pred> {
   def "" : MVE_VxxMUL_qr<iname, VTI.Suffix, bit_28, VTI.Size>;
-  defm : MVE_TwoOpPatternDup<VTI, Op, int_pred, (? ), !cast<Instruction>(NAME)>;
+
+  let Predicates = [HasMVEInt] in {
+    defm : MVE_TwoOpPatternDup<VTI, Op, int_pred, (? ), !cast<Instruction>(NAME)>;
+  }
   defm : MVE_vec_scalar_int_pat_m<!cast<Instruction>(NAME), VTI, int_unpred, int_pred>;
 }
 


        


More information about the llvm-commits mailing list