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>; } _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits