From 3e780616c46ecd2caa8f52e714839b87a39f514b Mon Sep 17 00:00:00 2001 From: David Green Date: Tue, 2 Feb 2021 16:55:31 +0000 Subject: [PATCH] [ARM] Correct some tablegen operand types. NFC --- llvm/lib/Target/ARM/ARMInstrMVE.td | 17 +++++++++-------- llvm/lib/Target/ARM/ARMInstrNEON.td | 8 ++++---- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/llvm/lib/Target/ARM/ARMInstrMVE.td b/llvm/lib/Target/ARM/ARMInstrMVE.td index ef971d1f0591..75eb458aeb3d 100644 --- a/llvm/lib/Target/ARM/ARMInstrMVE.td +++ b/llvm/lib/Target/ARM/ARMInstrMVE.td @@ -318,7 +318,7 @@ def MVE_v2f64 : MVEVectorVTInfo; def MVE_v16p8 : MVEVectorVTInfo; def MVE_v8p16 : MVEVectorVTInfo; -multiclass MVE_TwoOpPattern { // Unpredicated @@ -354,7 +354,7 @@ multiclass MVE_TwoOpPattern; } -multiclass MVE_TwoOpPatternDup { // Unpredicated @@ -2476,7 +2476,7 @@ class MVE_VCLSCLZ size, } multiclass MVE_VCLSCLZ_p { + SDPatternOperator unpred_op> { def "": MVE_VCLSCLZ<"v"#opname, VTI.Suffix, VTI.Size, opcode>; defvar Inst = !cast(NAME); @@ -2520,7 +2520,7 @@ class MVE_VABSNEG_int size, bit negate, } multiclass MVE_VABSNEG_int_m { def "" : MVE_VABSNEG_int; defvar Inst = !cast(NAME); @@ -3585,7 +3585,7 @@ class MVE_VRINT op, string suffix, bits<2> size, } multiclass MVE_VRINT_m opcode, - SDNode unpred_op> { + SDPatternOperator unpred_op> { def "": MVE_VRINT; defvar Inst = !cast(NAME); defvar pred_int = !cast("int_arm_mve_vrint"#suffix#"_predicated"); @@ -4374,7 +4374,7 @@ multiclass unpred_vcmpf_z { (v4i1 (MVE_VCMPf32r (v4f32 MQPR:$v1), ZR, fc, ARMVCCThen, VCCR:$p1))>; } -multiclass unpred_vcmpf_r { +multiclass unpred_vcmpf_r { def : Pat<(v8i1 (ARMvcmp (v8f16 MQPR:$v1), (v8f16 MQPR:$v2), fc)), (v8i1 (MVE_VCMPf16 (v8f16 MQPR:$v1), (v8f16 MQPR:$v2), fc))>; def : Pat<(v4i1 (ARMvcmp (v4f32 MQPR:$v1), (v4f32 MQPR:$v2), fc)), @@ -4641,7 +4641,7 @@ class MVE_VMULL bits_21_20, } multiclass MVE_VMULL_m { def "" : MVE_VMULL<"vmull" # !if(Top, "t", "b"), VTI.Suffix, VTI.Unsigned, VTI.Size, Top, cstr>; @@ -5188,7 +5188,8 @@ class MVE_qDest_single_rSrc pattern=[]> // Patterns for vector-scalar instructions with integer operands multiclass MVE_vec_scalar_int_pat_m { defvar UnpredSign = !if(unpred_has_sign, (? (i32 VTI.Unsigned)), (?)); diff --git a/llvm/lib/Target/ARM/ARMInstrNEON.td b/llvm/lib/Target/ARM/ARMInstrNEON.td index 2872bf055465..d0db559c158c 100644 --- a/llvm/lib/Target/ARM/ARMInstrNEON.td +++ b/llvm/lib/Target/ARM/ARMInstrNEON.td @@ -3018,7 +3018,7 @@ class N3VLSL16 op21_20, bits<4> op11_8, // Long 3-register operations with explicitly extended operands. class N3VLExt op21_20, bits<4> op11_8, bit op4, InstrItinClass itin, string OpcodeStr, string Dt, - ValueType TyQ, ValueType TyD, SDNode OpNode, SDNode ExtOp, + ValueType TyQ, ValueType TyD, SDNode OpNode, SDPatternOperator ExtOp, bit Commutable> : N3V op21_20, bits<4> op11_8, // Wide 3-register operations. class N3VW op21_20, bits<4> op11_8, bit op4, string OpcodeStr, string Dt, ValueType TyQ, ValueType TyD, - SDNode OpNode, SDNode ExtOp, bit Commutable> + SDNode OpNode, SDPatternOperator ExtOp, bit Commutable> : N3V op11_8, multiclass N3VLExt_QHS op11_8, bit op4, InstrItinClass itin16, InstrItinClass itin32, string OpcodeStr, string Dt, - SDNode OpNode, SDNode ExtOp, bit Commutable = 0> { + SDNode OpNode, SDPatternOperator ExtOp, bit Commutable = 0> { def v8i16 : N3VLExt; @@ -3717,7 +3717,7 @@ multiclass N3VLIntExt_QHS op11_8, bit op4, // source operand element sizes of 8, 16 and 32 bits: multiclass N3VW_QHS op11_8, bit op4, string OpcodeStr, string Dt, - SDNode OpNode, SDNode ExtOp, bit Commutable = 0> { + SDNode OpNode, SDPatternOperator ExtOp, bit Commutable = 0> { def v8i16 : N3VW;