diff --git a/llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td b/llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td index d2aa86f388db2..fbc179eeff2ab 100644 --- a/llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td +++ b/llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td @@ -88,9 +88,9 @@ def SDT_AArch64RDSVL : SDTypeProfile<1, 1, [SDTCisInt<0>, SDTCisInt<1>]>; def AArch64rdsvl : SDNode<"AArch64ISD::RDSVL", SDT_AArch64RDSVL>; let Predicates = [HasSMEandIsNonStreamingSafe] in { -def RDSVLI_XI : sve_int_read_vl_a<0b0, 0b11111, "rdsvl", /*streaming_sve=*/0b1>; -def ADDSPL_XXI : sve_int_arith_vl<0b1, "addspl", /*streaming_sve=*/0b1>; -def ADDSVL_XXI : sve_int_arith_vl<0b0, "addsvl", /*streaming_sve=*/0b1>; +def RDSVLI_XI : sve_int_read_vl_a<0b0, 0b11111, "rdsvl", streaming_sve = 0b1>; +def ADDSPL_XXI : sve_int_arith_vl<0b1, "addspl", streaming_sve = 0b1>; +def ADDSVL_XXI : sve_int_arith_vl<0b0, "addsvl", streaming_sve = 0b1>; def : Pat<(AArch64rdsvl (i32 simm6_32b:$imm)), (RDSVLI_XI simm6_32b:$imm)>; } diff --git a/llvm/lib/Target/AArch64/SMEInstrFormats.td b/llvm/lib/Target/AArch64/SMEInstrFormats.td index 4f6a413ba5e5c..495607660f840 100644 --- a/llvm/lib/Target/AArch64/SMEInstrFormats.td +++ b/llvm/lib/Target/AArch64/SMEInstrFormats.td @@ -869,8 +869,8 @@ multiclass sme_mem_ld_v_ss { } multiclass sme_mem_ld_ss { - defm _H : sme_mem_ld_v_ss; - defm _V : sme_mem_ld_v_ss; + defm _H : sme_mem_ld_v_ss; + defm _V : sme_mem_ld_v_ss; } //===----------------------------------------------------------------------===// @@ -999,8 +999,8 @@ multiclass sme_mem_st_v_ss { } multiclass sme_mem_st_ss { - defm _H : sme_mem_st_v_ss; - defm _V : sme_mem_st_v_ss; + defm _H : sme_mem_st_v_ss; + defm _V : sme_mem_st_v_ss; } //===----------------------------------------------------------------------===// @@ -1256,8 +1256,8 @@ multiclass sme_vector_v_to_tile { } multiclass sme_vector_to_tile { - defm _H : sme_vector_v_to_tile; - defm _V : sme_vector_v_to_tile; + defm _H : sme_vector_v_to_tile; + defm _V : sme_vector_v_to_tile; } class sme_tile_to_vector_base sz, dag outs, dag ins, @@ -1423,8 +1423,8 @@ multiclass sme_tile_to_vector_v { } multiclass sme_tile_to_vector { - defm _H : sme_tile_to_vector_v; - defm _V : sme_tile_to_vector_v; + defm _H : sme_tile_to_vector_v; + defm _V : sme_tile_to_vector_v; } //===----------------------------------------------------------------------===// diff --git a/llvm/lib/Target/AMDGPU/BUFInstructions.td b/llvm/lib/Target/AMDGPU/BUFInstructions.td index f4edfe1387731..e98bc9cbf047f 100644 --- a/llvm/lib/Target/AMDGPU/BUFInstructions.td +++ b/llvm/lib/Target/AMDGPU/BUFInstructions.td @@ -947,10 +947,10 @@ defm BUFFER_LOAD_DWORDX2 : MUBUF_Pseudo_Loads < "buffer_load_dwordx2", v2i32 >; defm BUFFER_LOAD_DWORDX3 : MUBUF_Pseudo_Loads_Lds < - "buffer_load_dwordx3", v3i32, /*LDSPred=*/HasGFX950Insts + "buffer_load_dwordx3", v3i32, LDSPred = HasGFX950Insts >; defm BUFFER_LOAD_DWORDX4 : MUBUF_Pseudo_Loads_Lds < - "buffer_load_dwordx4", v4i32, /*LDSPred=*/HasGFX950Insts + "buffer_load_dwordx4", v4i32, LDSPred = HasGFX950Insts >; defm : MUBUF_Pseudo_Load_Pats<"BUFFER_LOAD_UBYTE", i32, atomic_load_8_global>; diff --git a/llvm/lib/Target/AMDGPU/DSInstructions.td b/llvm/lib/Target/AMDGPU/DSInstructions.td index bc1db52eeeb2f..3c22c4f7e5f31 100644 --- a/llvm/lib/Target/AMDGPU/DSInstructions.td +++ b/llvm/lib/Target/AMDGPU/DSInstructions.td @@ -1308,7 +1308,7 @@ multiclass DS_Real_gfx12 op, string name = !tolower(NAME), bit needAlias let DecoderNamespace = "GFX12" in def _gfx12 : Base_DS_Real_gfx6_gfx7_gfx10_gfx11_gfx12; + name, hasGDS = false>; if !and(needAlias, !ne(ps.Mnemonic, name)) then def : AMDGPUMnemonicAlias; } // End AssemblerPredicate diff --git a/llvm/lib/Target/AMDGPU/SIInstrInfo.td b/llvm/lib/Target/AMDGPU/SIInstrInfo.td index 23a7f508dcda2..2b9ebe22cf473 100644 --- a/llvm/lib/Target/AMDGPU/SIInstrInfo.td +++ b/llvm/lib/Target/AMDGPU/SIInstrInfo.td @@ -1214,7 +1214,7 @@ def FORMAT : CustomOperand; let PrintInHex = 1 in def DMask : NamedIntOperand<"dmask">; -def Dim : CustomOperand; +def Dim : CustomOperand; def dst_sel : SDWAOperand<"dst_sel", "SDWADstSel">; def src0_sel : SDWAOperand<"src0_sel", "SDWASrc0Sel">; @@ -2061,7 +2061,7 @@ class getInsVOP3OpSel .ret; + Src0Mod, Src1Mod, Src2Mod, HasOpSel = 1>.ret; } class getInsDPPBase ; def VOP_F16_F16_I16 : VOPProfile <[f16, f16, i16, untyped]>; def VOP_F16_F16_I32 : VOPProfile <[f16, f16, i32, untyped]>; def VOP_I16_I16_I16 : VOPProfile <[i16, i16, i16, untyped]>; -def VOP_I16_I16_I16_ARITH : VOPProfile <[i16, i16, i16, untyped], /*EnableClamp=*/1>; +def VOP_I16_I16_I16_ARITH : VOPProfile <[i16, i16, i16, untyped], _EnableClamp = 1>; def VOP_I16_I16_I16_I16 : VOPProfile <[i16, i16, i16, i16, untyped]>; def VOP_F16_F16_F16_F16 : VOPProfile <[f16, f16, f16, f16, untyped]>; @@ -2846,7 +2846,7 @@ def VOP_F64_F64_I32 : VOPProfile <[f64, f64, i32, untyped]>; def VOP_I32_F32_F32 : VOPProfile <[i32, f32, f32, untyped]>; def VOP_I32_F32_I32 : VOPProfile <[i32, f32, i32, untyped]>; def VOP_I32_I32_I32 : VOPProfile <[i32, i32, i32, untyped]>; -def VOP_I32_I32_I32_ARITH : VOPProfile <[i32, i32, i32, untyped], /*EnableClamp=*/1>; +def VOP_I32_I32_I32_ARITH : VOPProfile <[i32, i32, i32, untyped], _EnableClamp = 1>; def VOP_V2F16_F32_F32 : VOPProfile <[v2f16, f32, f32, untyped]>; def VOP_F32_F16_F16_F16 : VOPProfile <[f32, f16, f16, f16]>; def VOP_V2BF16_F32_F32 : VOPProfile <[v2bf16, f32, f32, untyped]>; diff --git a/llvm/lib/Target/AMDGPU/SIRegisterInfo.td b/llvm/lib/Target/AMDGPU/SIRegisterInfo.td index 35c7b393a8ca4..1a68d450a2297 100644 --- a/llvm/lib/Target/AMDGPU/SIRegisterInfo.td +++ b/llvm/lib/Target/AMDGPU/SIRegisterInfo.td @@ -158,8 +158,8 @@ def VCC : RegisterWithSubRegs<"vcc", [VCC_LO, VCC_HI]> { let HWEncoding = VCC_LO.HWEncoding; } -defm EXEC_LO : SIRegLoHi16<"exec_lo", 126, /*ArtificialHigh=*/1, /*isVGPR=*/0, - /*isAGPR=*/0, /*DwarfEncodings=*/[1, 1]>; +defm EXEC_LO : SIRegLoHi16<"exec_lo", 126, ArtificialHigh = 1, isVGPR = 0, + isAGPR = 0, DwarfEncodings = [1, 1]>; defm EXEC_HI : SIRegLoHi16<"exec_hi", 127>; def EXEC : RegisterWithSubRegs<"exec", [EXEC_LO, EXEC_HI]>, DwarfRegNum<[17, 1]> { @@ -299,8 +299,8 @@ def FLAT_SCR : FlatReg; // SGPR registers foreach Index = 0...105 in { defm SGPR#Index : - SIRegLoHi16 <"s"#Index, Index, /*ArtificialHigh=*/1, - /*isVGPR=*/0, /*isAGPR=*/0, /*DwarfEncodings=*/ + SIRegLoHi16 <"s"#Index, Index, ArtificialHigh = 1, + isVGPR = 0, isAGPR = 0, DwarfEncodings = [!if(!le(Index, 63), !add(Index, 32), !add(Index, 1024)), !if(!le(Index, 63), !add(Index, 32), !add(Index, 1024))]>; } @@ -308,16 +308,16 @@ foreach Index = 0...105 in { // VGPR registers foreach Index = 0...255 in { defm VGPR#Index : - SIRegLoHi16 <"v"#Index, Index, /*ArtificialHigh=*/ 0, - /*isVGPR=*/ 1, /*isAGPR=*/ 0, /*DwarfEncodings=*/ + SIRegLoHi16 <"v"#Index, Index, ArtificialHigh = 0, + isVGPR = 1, isAGPR = 0, DwarfEncodings = [!add(Index, 2560), !add(Index, 1536)]>; } // AccVGPR registers foreach Index = 0...255 in { defm AGPR#Index : - SIRegLoHi16 <"a"#Index, Index, /*ArtificialHigh=*/ 1, - /*isVGPR=*/ 0, /*isAGPR=*/ 1, /*DwarfEncodings=*/ + SIRegLoHi16 <"a"#Index, Index, ArtificialHigh = 1, + isVGPR = 0, isAGPR = 1, DwarfEncodings = [!add(Index, 3072), !add(Index, 2048)]>; } diff --git a/llvm/lib/Target/AMDGPU/SMInstructions.td b/llvm/lib/Target/AMDGPU/SMInstructions.td index 37dcc10086257..5a820b6f87484 100644 --- a/llvm/lib/Target/AMDGPU/SMInstructions.td +++ b/llvm/lib/Target/AMDGPU/SMInstructions.td @@ -932,7 +932,7 @@ multiclass SMRD_Pattern { // XNACK is enabled and the load wasn't naturally aligned. The constrained sload variant. if !gt(vt.Size, 32) then { let OtherPredicates = [HasXNACKEnabled], AddedComplexity = 101 in - defm: SMRD_Patterns ; + defm: SMRD_Patterns ; } // XNACK is disabled. diff --git a/llvm/lib/Target/AMDGPU/VOP1Instructions.td b/llvm/lib/Target/AMDGPU/VOP1Instructions.td index def06c1e9a0d7..3b719d3b40131 100644 --- a/llvm/lib/Target/AMDGPU/VOP1Instructions.td +++ b/llvm/lib/Target/AMDGPU/VOP1Instructions.td @@ -767,7 +767,7 @@ def VOP_SWAP_I16 : VOPProfile_True16 { } let SubtargetPredicate = isGFX11Plus in { - def V_SWAP_B16 : VOP1_Pseudo<"v_swap_b16", VOP_SWAP_I16, [], /* VOP1Only= */true> { + def V_SWAP_B16 : VOP1_Pseudo<"v_swap_b16", VOP_SWAP_I16, [], VOP1Only = true> { let Constraints = "$vdst = $src1, $vdst1 = $src0"; let DisableEncoding = "$vdst1, $src1"; let SchedRW = [Write64Bit, Write64Bit]; @@ -775,7 +775,7 @@ let SubtargetPredicate = isGFX11Plus in { } // Restrict src0 to be VGPR def V_PERMLANE64_B32 : VOP1_Pseudo<"v_permlane64_b32", VOP_MOVRELS, - [], /*VOP1Only=*/ 1>; + [], VOP1Only = 1>; defm V_MOV_B16 : VOP1Inst_t16<"v_mov_b16", VOP_I16_I16>; defm V_NOT_B16 : VOP1Inst_t16<"v_not_b16", VOP_I16_I16>; defm V_CVT_I32_I16 : VOP1Inst_t16<"v_cvt_i32_i16", VOP_I32_I16>; diff --git a/llvm/lib/Target/AMDGPU/VOP2Instructions.td b/llvm/lib/Target/AMDGPU/VOP2Instructions.td index 1bac8656192a7..44b096ca620c0 100644 --- a/llvm/lib/Target/AMDGPU/VOP2Instructions.td +++ b/llvm/lib/Target/AMDGPU/VOP2Instructions.td @@ -604,7 +604,7 @@ def VOP_DOT_ACC_I32_I32 : VOP_DOT_ACC { } // Write out to vcc or arbitrary SGPR. -def VOP2b_I32_I1_I32_I32 : VOPProfile<[i32, i32, i32, untyped], /*EnableClamp=*/1> { +def VOP2b_I32_I1_I32_I32 : VOPProfile<[i32, i32, i32, untyped], _EnableClamp = 1> { let Asm32 = "$vdst, vcc, $src0, $src1"; let AsmVOP3Base = "$vdst, $sdst, $src0, $src1$clamp"; let AsmSDWA = "$vdst, vcc, $src0_modifiers, $src1_modifiers$clamp $dst_sel $dst_unused $src0_sel $src1_sel"; @@ -630,7 +630,7 @@ def VOP2b_I32_I1_I32_I32 : VOPProfile<[i32, i32, i32, untyped], /*EnableClamp=*/ // Write out to vcc or arbitrary SGPR and read in from vcc or // arbitrary SGPR. -def VOP2b_I32_I1_I32_I32_I1 : VOPProfile<[i32, i32, i32, i1], /*EnableClamp=*/1> { +def VOP2b_I32_I1_I32_I32_I1 : VOPProfile<[i32, i32, i32, i1], _EnableClamp = 1> { let HasSrc2Mods = 0; let Asm32 = "$vdst, vcc, $src0, $src1, vcc"; let AsmSDWA = "$vdst, vcc, $src0_modifiers, $src1_modifiers, vcc$clamp $dst_sel $dst_unused $src0_sel $src1_sel"; diff --git a/llvm/lib/Target/AMDGPU/VOP3PInstructions.td b/llvm/lib/Target/AMDGPU/VOP3PInstructions.td index d8088b8c638fd..48a59c7efbf4a 100644 --- a/llvm/lib/Target/AMDGPU/VOP3PInstructions.td +++ b/llvm/lib/Target/AMDGPU/VOP3PInstructions.td @@ -890,7 +890,7 @@ class MAIInst : - MAIInst { + MAIInst { // Append operands from V_MFMA_LD_SCALE_B32, but we need to rename them. let InOperandList = !con(BaseInst.InOperandList, (ins VSrc_b32:$scale_src0, @@ -2046,11 +2046,11 @@ multiclass VOP3PX_Real_ScaledMFMA op> { DecoderNamespace = "GFX940", AsmString = Name # PS_ACD.AsmOperands, Constraints = "" in { def _gfx940_acd : VOP3P_Real, - VOP3PXe , + VOP3PXe , MFMA_F8F6F4_WithSizeTable_Helper; def _gfx940_vcd : VOP3P_Real, - VOP3PXe , + VOP3PXe , MFMA_F8F6F4_WithSizeTable_Helper; } } diff --git a/llvm/lib/Target/ARM/ARMInstrCDE.td b/llvm/lib/Target/ARM/ARMInstrCDE.td index 54e27a6be5583..add8b0d4651b7 100644 --- a/llvm/lib/Target/ARM/ARMInstrCDE.td +++ b/llvm/lib/Target/ARM/ARMInstrCDE.td @@ -52,7 +52,7 @@ def imm_13b : BitWidthImm<13>; class CDE_Instr : Thumb2XI, + asm, cstr, pattern = []>, Sched<[]> { bits<3> coproc; diff --git a/llvm/lib/Target/M68k/M68kRegisterInfo.td b/llvm/lib/Target/M68k/M68kRegisterInfo.td index 4942636ffd529..17f822e278904 100644 --- a/llvm/lib/Target/M68k/M68kRegisterInfo.td +++ b/llvm/lib/Target/M68k/M68kRegisterInfo.td @@ -70,8 +70,8 @@ defm SP : MxAddressRegister<7, "sp", ["usp", "ssp", "isp", "a7"]>; // Floating Point Registers class MxFPRegister ALTNAMES = []> - : MxReg; + : MxReg; foreach i = {0-7} in def FP#i : MxFPRegister; diff --git a/llvm/lib/Target/NVPTX/NVPTXInstrInfo.td b/llvm/lib/Target/NVPTX/NVPTXInstrInfo.td index 1786503a6dd4e..4c1b596aef8c1 100644 --- a/llvm/lib/Target/NVPTX/NVPTXInstrInfo.td +++ b/llvm/lib/Target/NVPTX/NVPTXInstrInfo.td @@ -819,8 +819,8 @@ defm SUB_i1 : ADD_SUB_i1; // int16, int32, and int64 signed addition. Since nvptx is 2's complement, we // also use these for unsigned arithmetic. -defm ADD : I3<"add.s", add, /*commutative=*/ true>; -defm SUB : I3<"sub.s", sub, /*commutative=*/ false>; +defm ADD : I3<"add.s", add, commutative = true>; +defm SUB : I3<"sub.s", sub, commutative = false>; def ADD16x2 : I16x2<"add.s", add>; @@ -832,18 +832,18 @@ defm SUBCC : ADD_SUB_INT_CARRY<"sub.cc", subc>; defm ADDCCC : ADD_SUB_INT_CARRY<"addc.cc", adde>; defm SUBCCC : ADD_SUB_INT_CARRY<"subc.cc", sube>; -defm MULT : I3<"mul.lo.s", mul, /*commutative=*/ true>; +defm MULT : I3<"mul.lo.s", mul, commutative = true>; -defm MULTHS : I3<"mul.hi.s", mulhs, /*commutative=*/ true>; -defm MULTHU : I3<"mul.hi.u", mulhu, /*commutative=*/ true>; +defm MULTHS : I3<"mul.hi.s", mulhs, commutative = true>; +defm MULTHU : I3<"mul.hi.u", mulhu, commutative = true>; -defm SDIV : I3<"div.s", sdiv, /*commutative=*/ false>; -defm UDIV : I3<"div.u", udiv, /*commutative=*/ false>; +defm SDIV : I3<"div.s", sdiv, commutative = false>; +defm UDIV : I3<"div.u", udiv, commutative = false>; // The ri versions of rem.s and rem.u won't be selected; DAGCombiner::visitSREM // will lower it. -defm SREM : I3<"rem.s", srem, /*commutative=*/ false>; -defm UREM : I3<"rem.u", urem, /*commutative=*/ false>; +defm SREM : I3<"rem.s", srem, commutative = false>; +defm UREM : I3<"rem.u", urem, commutative = false>; // Integer absolute value. NumBits should be one minus the bit width of RC. // This idiom implements the algorithm at @@ -858,10 +858,10 @@ defm ABS_32 : ABS; defm ABS_64 : ABS; // Integer min/max. -defm SMAX : I3<"max.s", smax, /*commutative=*/ true>; -defm UMAX : I3<"max.u", umax, /*commutative=*/ true>; -defm SMIN : I3<"min.s", smin, /*commutative=*/ true>; -defm UMIN : I3<"min.u", umin, /*commutative=*/ true>; +defm SMAX : I3<"max.s", smax, commutative = true>; +defm UMAX : I3<"max.u", umax, commutative = true>; +defm SMIN : I3<"min.s", smin, commutative = true>; +defm UMIN : I3<"min.u", umin, commutative = true>; def SMAX16x2 : I16x2<"max.s", smax>; def UMAX16x2 : I16x2<"max.u", umax>; diff --git a/llvm/lib/Target/RISCV/RISCVInstrInfoV.td b/llvm/lib/Target/RISCV/RISCVInstrInfoV.td index fe43a2be4aab9..0bf051ee731f1 100644 --- a/llvm/lib/Target/RISCV/RISCVInstrInfoV.td +++ b/llvm/lib/Target/RISCV/RISCVInstrInfoV.td @@ -1699,10 +1699,10 @@ def VFMV_S_F : RVInstV2<0b010000, 0b00000, OPFVF, (outs VR:$vd_wb), let Predicates = [HasVInstructions] in { // Vector Slide Instructions let Constraints = "@earlyclobber $vd", RVVConstraint = SlideUp in { -defm VSLIDEUP_V : VSLD_IV_X_I<"vslideup", 0b001110, /*slidesUp=*/true>; +defm VSLIDEUP_V : VSLD_IV_X_I<"vslideup", 0b001110, slidesUp = true>; defm VSLIDE1UP_V : VSLD1_MV_X<"vslide1up", 0b001110>; } // Constraints = "@earlyclobber $vd", RVVConstraint = SlideUp -defm VSLIDEDOWN_V : VSLD_IV_X_I<"vslidedown", 0b001111, /*slidesUp=*/false>; +defm VSLIDEDOWN_V : VSLD_IV_X_I<"vslidedown", 0b001111, slidesUp = false>; let ElementsDependOn = EltDepsVL in defm VSLIDE1DOWN_V : VSLD1_MV_X<"vslide1down", 0b001111>; } // Predicates = [HasVInstructions] diff --git a/llvm/lib/Target/RISCV/RISCVSchedSiFiveP600.td b/llvm/lib/Target/RISCV/RISCVSchedSiFiveP600.td index 2bfd5ef811c7b..1bd2c2ed69435 100644 --- a/llvm/lib/Target/RISCV/RISCVSchedSiFiveP600.td +++ b/llvm/lib/Target/RISCV/RISCVSchedSiFiveP600.td @@ -1003,9 +1003,9 @@ foreach mx = ["M8", "M4", "M2"] in { defvar LMulLat = SiFiveP600GetLMulCycles.c; defvar IsWorstCase = SiFiveP600IsWorstCaseMX.c; let Latency = SiFiveP600VSlideXComplex.latency in { - let ReleaseAtCycles = [SiFiveP600VSlideXComplex.cycles] in + let ReleaseAtCycles = [SiFiveP600VSlideXComplex.cycles] in defm "" : LMULWriteResMX<"WriteVSlideUpX", [SiFiveP600VEXQ1], mx, IsWorstCase>; - let ReleaseAtCycles = [SiFiveP600VSlideXComplex.cycles] in + let ReleaseAtCycles = [SiFiveP600VSlideXComplex.cycles] in defm "" : LMULWriteResMX<"WriteVSlideDownX", [SiFiveP600VEXQ1], mx, IsWorstCase>; } } diff --git a/llvm/lib/Target/X86/X86ScheduleZnver3.td b/llvm/lib/Target/X86/X86ScheduleZnver3.td index 9e271c1ee3709..18f8bf1023c6f 100644 --- a/llvm/lib/Target/X86/X86ScheduleZnver3.td +++ b/llvm/lib/Target/X86/X86ScheduleZnver3.td @@ -610,7 +610,7 @@ def : InstRW<[Zn3SlowLEA16r], (instrs LEA16r)>; // Integer multiplication defm : Zn3WriteResIntPair; // Integer 8-bit multiplication. -defm : Zn3WriteResIntPair; // Integer 16-bit multiplication. +defm : Zn3WriteResIntPair; // Integer 16-bit multiplication. defm : Zn3WriteResIntPair; // Integer 16-bit multiplication by immediate. defm : Zn3WriteResIntPair; // Integer 16-bit multiplication by register. defm : Zn3WriteResIntPair; // Integer 32-bit multiplication. @@ -692,8 +692,8 @@ defm : Zn3WriteResIntPair; defm : Zn3WriteResIntPair; defm : Zn3WriteResIntPair; -defm : Zn3WriteResIntPair; // Bit scan forward. -defm : Zn3WriteResIntPair; // Bit scan reverse. +defm : Zn3WriteResIntPair; // Bit scan forward. +defm : Zn3WriteResIntPair; // Bit scan reverse. defm : Zn3WriteResIntPair; // Bit population count. @@ -737,9 +737,9 @@ defm : Zn3WriteResInt; // Integer shifts and rotates. -defm : Zn3WriteResIntPair; -defm : Zn3WriteResIntPair; -defm : Zn3WriteResIntPair; +defm : Zn3WriteResIntPair; +defm : Zn3WriteResIntPair; +defm : Zn3WriteResIntPair; def Zn3WriteRotateR1 : SchedWriteRes<[Zn3ALU12]> { let Latency = 1; @@ -785,7 +785,7 @@ def Zn3WriteRotateLeftMI : SchedWriteRes<[Zn3AGU012, Zn3Load, Zn3ALU12]> { } def : InstRW<[Zn3WriteRotateLeftMI], (instrs RCL8mi, RCL16mi, RCL32mi, RCL64mi)>; -defm : Zn3WriteResIntPair; +defm : Zn3WriteResIntPair; def Zn3WriteRotateRightRCL : SchedWriteRes<[Zn3ALU12]> { let Latency = 3; @@ -822,9 +822,9 @@ defm : Zn3WriteResInt; // BMI1 BEXTR/BLS, BMI2 BZHI -defm : Zn3WriteResIntPair; -defm : Zn3WriteResIntPair; -defm : Zn3WriteResIntPair; +defm : Zn3WriteResIntPair; +defm : Zn3WriteResIntPair; +defm : Zn3WriteResIntPair; // Idioms that clear a register, like xorps %xmm0, %xmm0. // These can often bypass execution ports completely. @@ -938,9 +938,9 @@ defm : Zn3WriteResXMMPair; // Fused Multipl defm : Zn3WriteResXMMPair; // Fused Multiply Add (XMM). defm : Zn3WriteResYMMPair; // Fused Multiply Add (YMM). defm : X86WriteResPairUnsupported; // Fused Multiply Add (ZMM). -defm : Zn3WriteResXMMPair; // Floating point double dot product. -defm : Zn3WriteResXMMPair; // Floating point single dot product. -defm : Zn3WriteResYMMPair; // Floating point single dot product (YMM). +defm : Zn3WriteResXMMPair; // Floating point double dot product. +defm : Zn3WriteResXMMPair; // Floating point single dot product. +defm : Zn3WriteResYMMPair; // Floating point single dot product (YMM). defm : Zn3WriteResXMMPair; // FIXME: latency not from llvm-exegesis // Floating point fabs/fchs. defm : Zn3WriteResXMMPair; // Floating point rounding. defm : Zn3WriteResYMMPair; // Floating point rounding (YMM). @@ -966,11 +966,11 @@ defm : X86WriteResPairUnsupported; // Fp vector variable blends // Horizontal Add/Sub (float and integer) defm : Zn3WriteResXMMPair; -defm : Zn3WriteResYMMPair; +defm : Zn3WriteResYMMPair; defm : X86WriteResPairUnsupported; -defm : Zn3WriteResXMMPair; +defm : Zn3WriteResXMMPair; defm : Zn3WriteResXMMPair; -defm : Zn3WriteResYMMPair; +defm : Zn3WriteResYMMPair; defm : X86WriteResPairUnsupported; // Vector integer operations. @@ -1130,13 +1130,13 @@ defm : Zn3WriteResXMMPair; // Vector P defm : Zn3WriteResXMMPair; // Vector PSADBW (XMM). defm : Zn3WriteResYMMPair; // Vector PSADBW (YMM). defm : X86WriteResPairUnsupported; // Vector PSADBW (ZMM). -defm : Zn3WriteResXMMPair; // Vector MPSAD. -defm : Zn3WriteResYMMPair; // Vector MPSAD (YMM). +defm : Zn3WriteResXMMPair; // Vector MPSAD. +defm : Zn3WriteResYMMPair; // Vector MPSAD (YMM). defm : X86WriteResPairUnsupported; // Vector MPSAD (ZMM). defm : Zn3WriteResXMMPair; // Vector PHMINPOS. // Vector insert/extract operations. -defm : Zn3WriteResXMMPair; // Insert gpr to vector element. +defm : Zn3WriteResXMMPair; // Insert gpr to vector element. defm : Zn3WriteResXMM; // Extract vector element to gpr. defm : Zn3WriteResXMM; // Extract vector element and store. @@ -1165,9 +1165,9 @@ defm : Zn3WriteResXMMPair; // Float -> I defm : Zn3WriteResYMMPair; // Float -> Integer (YMM). defm : X86WriteResPairUnsupported; // Float -> Integer (ZMM). -defm : Zn3WriteResXMMPair; // Integer -> Double. +defm : Zn3WriteResXMMPair; // Integer -> Double. defm : Zn3WriteResXMMPair; // Integer -> Double (XMM). -defm : Zn3WriteResYMMPair; // Integer -> Double (YMM). +defm : Zn3WriteResYMMPair; // Integer -> Double (YMM). defm : X86WriteResPairUnsupported; // Integer -> Double (ZMM). def Zn3WriteCvtI2PDMMX : SchedWriteRes<[Zn3FPFCvt01]> { @@ -1177,7 +1177,7 @@ def Zn3WriteCvtI2PDMMX : SchedWriteRes<[Zn3FPFCvt01]> { } def : InstRW<[Zn3WriteCvtI2PDMMX], (instrs MMX_CVTPI2PDrm, MMX_CVTPI2PDrr)>; -defm : Zn3WriteResXMMPair; // Integer -> Float. +defm : Zn3WriteResXMMPair; // Integer -> Float. defm : Zn3WriteResXMMPair; // Integer -> Float (XMM). defm : Zn3WriteResYMMPair; // Integer -> Float (YMM). defm : X86WriteResPairUnsupported; // Integer -> Float (ZMM). @@ -1191,7 +1191,7 @@ def : InstRW<[Zn3WriteCvtI2PSMMX], (instrs MMX_CVTPI2PSrr)>; defm : Zn3WriteResXMMPair; // Float -> Double size conversion. defm : Zn3WriteResXMMPair; // Float -> Double size conversion (XMM). -defm : Zn3WriteResYMMPair; // Float -> Double size conversion (YMM). +defm : Zn3WriteResYMMPair; // Float -> Double size conversion (YMM). defm : X86WriteResPairUnsupported; // Float -> Double size conversion (ZMM). defm : Zn3WriteResXMMPair; // Double -> Float size conversion. @@ -1200,7 +1200,7 @@ defm : Zn3WriteResYMMPair; // Double - defm : X86WriteResPairUnsupported; // Double -> Float size conversion (ZMM). defm : Zn3WriteResXMMPair; // Half -> Float size conversion. -defm : Zn3WriteResYMMPair; // Half -> Float size conversion (YMM). +defm : Zn3WriteResYMMPair; // Half -> Float size conversion (YMM). defm : X86WriteResPairUnsupported; // Half -> Float size conversion (ZMM). defm : Zn3WriteResXMM; // Float -> Half size conversion. @@ -1285,13 +1285,13 @@ def : InstRW<[Zn3WriteSHA256RNDS2rr], (instrs SHA256RNDS2rr)>; // Strings instructions. // Packed Compare Implicit Length Strings, Return Mask -defm : Zn3WriteResXMMPair; +defm : Zn3WriteResXMMPair; // Packed Compare Explicit Length Strings, Return Mask -defm : Zn3WriteResXMMPair; +defm : Zn3WriteResXMMPair; // Packed Compare Implicit Length Strings, Return Index defm : Zn3WriteResXMMPair; // Packed Compare Explicit Length Strings, Return Index -defm : Zn3WriteResXMMPair; +defm : Zn3WriteResXMMPair; // AES instructions. defm : Zn3WriteResXMMPair; // Decryption, encryption. @@ -1326,8 +1326,8 @@ def Zn3WriteVZEROALL : SchedWriteRes<[Zn3FPU0123]> { def : InstRW<[Zn3WriteVZEROALL], (instrs VZEROALL)>; // AVX2. -defm : Zn3WriteResYMMPair; // Fp 256-bit width vector shuffles. -defm : Zn3WriteResYMMPair; // Fp 256-bit width variable shuffles. +defm : Zn3WriteResYMMPair; // Fp 256-bit width vector shuffles. +defm : Zn3WriteResYMMPair; // Fp 256-bit width variable shuffles. defm : Zn3WriteResYMMPair; // 256-bit width vector shuffles. def Zn3WriteVPERM2I128rr_VPERM2F128rr : SchedWriteRes<[Zn3FPVShuf]> { @@ -1372,8 +1372,8 @@ def Zn3WriteVPERMDYm : SchedWriteRes<[Zn3AGU012, Zn3Load, Zn3FPVShuf]> { } def : InstRW<[Zn3WriteVPERMDYm], (instrs VPERMQYmi, VPERMDYrm)>; -defm : Zn3WriteResYMMPair; // 256-bit width packed vector width-changing move. -defm : Zn3WriteResYMMPair; // 256-bit width vector variable shuffles. +defm : Zn3WriteResYMMPair; // 256-bit width packed vector width-changing move. +defm : Zn3WriteResYMMPair; // 256-bit width vector variable shuffles. defm : Zn3WriteResXMMPair; // Variable vector shifts. defm : Zn3WriteResYMMPair; // Variable vector shifts (YMM). defm : X86WriteResPairUnsupported; // Variable vector shifts (ZMM). diff --git a/llvm/lib/Target/X86/X86ScheduleZnver4.td b/llvm/lib/Target/X86/X86ScheduleZnver4.td index 74d916d41f831..bbe036c83e573 100644 --- a/llvm/lib/Target/X86/X86ScheduleZnver4.td +++ b/llvm/lib/Target/X86/X86ScheduleZnver4.td @@ -622,7 +622,7 @@ def : InstRW<[Zn4SlowLEA16r], (instrs LEA16r)>; // Integer multiplication defm : Zn4WriteResIntPair; // Integer 8-bit multiplication. -defm : Zn4WriteResIntPair; // Integer 16-bit multiplication. +defm : Zn4WriteResIntPair; // Integer 16-bit multiplication. defm : Zn4WriteResIntPair; // Integer 16-bit multiplication by immediate. defm : Zn4WriteResIntPair; // Integer 16-bit multiplication by register. defm : Zn4WriteResIntPair; // Integer 32-bit multiplication. @@ -704,8 +704,8 @@ defm : Zn4WriteResIntPair; defm : Zn4WriteResIntPair; defm : Zn4WriteResIntPair; -defm : Zn4WriteResIntPair; // Bit scan forward. -defm : Zn4WriteResIntPair; // Bit scan reverse. +defm : Zn4WriteResIntPair; // Bit scan forward. +defm : Zn4WriteResIntPair; // Bit scan reverse. defm : Zn4WriteResIntPair; // Bit population count. @@ -749,9 +749,9 @@ defm : Zn4WriteResInt; // Integer shifts and rotates. -defm : Zn4WriteResIntPair; -defm : Zn4WriteResIntPair; -defm : Zn4WriteResIntPair; +defm : Zn4WriteResIntPair; +defm : Zn4WriteResIntPair; +defm : Zn4WriteResIntPair; def Zn4WriteRotateR1 : SchedWriteRes<[Zn4ALU12]> { let Latency = 1; @@ -797,7 +797,7 @@ def Zn4WriteRotateLeftMI : SchedWriteRes<[Zn4AGU012, Zn4Load, Zn4ALU12]> { } def : InstRW<[Zn4WriteRotateLeftMI], (instrs RCL8mi, RCL16mi, RCL32mi, RCL64mi)>; -defm : Zn4WriteResIntPair; +defm : Zn4WriteResIntPair; def Zn4WriteRotateRightRCL : SchedWriteRes<[Zn4ALU12]> { let Latency = 3; @@ -834,9 +834,9 @@ defm : Zn4WriteResInt; // BMI1 BEXTR/BLS, BMI2 BZHI -defm : Zn4WriteResIntPair; -defm : Zn4WriteResIntPair; -defm : Zn4WriteResIntPair; +defm : Zn4WriteResIntPair; +defm : Zn4WriteResIntPair; +defm : Zn4WriteResIntPair; // Idioms that clear a register, like xorps %xmm0, %xmm0. // These can often bypass execution ports completely. @@ -950,9 +950,9 @@ defm : Zn4WriteResXMMPair; // Fused Multipl defm : Zn4WriteResXMMPair; // Fused Multiply Add (XMM). defm : Zn4WriteResYMMPair; // Fused Multiply Add (YMM). defm : Zn4WriteResZMMPair; // Fused Multiply Add (ZMM). -defm : Zn4WriteResXMMPair; // Floating point double dot product. -defm : Zn4WriteResXMMPair; // Floating point single dot product. -defm : Zn4WriteResYMMPair; // Floating point single dot product (YMM). +defm : Zn4WriteResXMMPair; // Floating point double dot product. +defm : Zn4WriteResXMMPair; // Floating point single dot product. +defm : Zn4WriteResYMMPair; // Floating point single dot product (YMM). defm : Zn4WriteResXMMPair; // FIXME: latency not from llvm-exegesis // Floating point fabs/fchs. defm : Zn4WriteResXMMPair; // Floating point rounding. defm : Zn4WriteResYMMPair; // Floating point rounding (YMM). @@ -979,12 +979,12 @@ defm : Zn4WriteResZMMPair; // Fp vect // Horizontal Add/Sub (float and integer) defm : Zn4WriteResXMMPair; -defm : Zn4WriteResYMMPair; -defm : Zn4WriteResZMMPair; -defm : Zn4WriteResXMMPair; +defm : Zn4WriteResYMMPair; +defm : Zn4WriteResZMMPair; +defm : Zn4WriteResXMMPair; defm : Zn4WriteResXMMPair; -defm : Zn4WriteResYMMPair; -defm : Zn4WriteResZMMPair; +defm : Zn4WriteResYMMPair; +defm : Zn4WriteResZMMPair; // Vector integer operations. defm : Zn4WriteResXMM; @@ -1174,13 +1174,13 @@ defm : Zn4WriteResXMMPair; // Vector P defm : Zn4WriteResXMMPair; // Vector PSADBW (XMM). defm : Zn4WriteResYMMPair; // Vector PSADBW (YMM). defm : Zn4WriteResZMMPair; // Vector PSADBW (ZMM). -defm : Zn4WriteResXMMPair; // Vector MPSAD. -defm : Zn4WriteResYMMPair; // Vector MPSAD (YMM). -defm : Zn4WriteResZMMPair; // Vector MPSAD (ZMM). +defm : Zn4WriteResXMMPair; // Vector MPSAD. +defm : Zn4WriteResYMMPair; // Vector MPSAD (YMM). +defm : Zn4WriteResZMMPair; // Vector MPSAD (ZMM). defm : Zn4WriteResXMMPair; // Vector PHMINPOS. // Vector insert/extract operations. -defm : Zn4WriteResXMMPair; // Insert gpr to vector element. +defm : Zn4WriteResXMMPair; // Insert gpr to vector element. defm : Zn4WriteResXMM; // Extract vector element to gpr. defm : Zn4WriteResXMM; // Extract vector element and store. @@ -1207,10 +1207,10 @@ defm : Zn4WriteResXMMPair; // Float -> I defm : Zn4WriteResYMMPair; // Float -> Integer (YMM). defm : Zn4WriteResZMMPair; // Float -> Integer (ZMM). -defm : Zn4WriteResXMMPair; // Integer -> Double. +defm : Zn4WriteResXMMPair; // Integer -> Double. defm : Zn4WriteResXMMPair; // Integer -> Double (XMM). -defm : Zn4WriteResYMMPair; // Integer -> Double (YMM). -defm : Zn4WriteResZMMPair; // Integer -> Double (ZMM). +defm : Zn4WriteResYMMPair; // Integer -> Double (YMM). +defm : Zn4WriteResZMMPair; // Integer -> Double (ZMM). def Zn4WriteCvtI2PDMMX : SchedWriteRes<[Zn4FPFCvt01]> { let Latency = 2; @@ -1218,7 +1218,7 @@ def Zn4WriteCvtI2PDMMX : SchedWriteRes<[Zn4FPFCvt01]> { let NumMicroOps = 2; } -defm : Zn4WriteResXMMPair; // Integer -> Float. +defm : Zn4WriteResXMMPair; // Integer -> Float. defm : Zn4WriteResXMMPair; // Integer -> Float (XMM). defm : Zn4WriteResYMMPair; // Integer -> Float (YMM). defm : Zn4WriteResZMMPair; // Integer -> Float (ZMM). @@ -1231,8 +1231,8 @@ def Zn4WriteCvtI2PSMMX : SchedWriteRes<[Zn4FPFCvt01]> { defm : Zn4WriteResXMMPair; // Float -> Double size conversion. defm : Zn4WriteResXMMPair; // Float -> Double size conversion (XMM). -defm : Zn4WriteResYMMPair; // Float -> Double size conversion (YMM). -defm : Zn4WriteResZMMPair; // Float -> Double size conversion (ZMM). +defm : Zn4WriteResYMMPair; // Float -> Double size conversion (YMM). +defm : Zn4WriteResZMMPair; // Float -> Double size conversion (ZMM). defm : Zn4WriteResXMMPair; // Double -> Float size conversion. defm : Zn4WriteResXMMPair; // Double -> Float size conversion (XMM). @@ -1240,8 +1240,8 @@ defm : Zn4WriteResYMMPair; // Double - defm : Zn4WriteResZMMPair; // Double -> Float size conversion (ZMM). defm : Zn4WriteResXMMPair; // Half -> Float size conversion. -defm : Zn4WriteResYMMPair; // Half -> Float size conversion (YMM). -defm : Zn4WriteResZMMPair; // Half -> Float size conversion (ZMM). +defm : Zn4WriteResYMMPair; // Half -> Float size conversion (YMM). +defm : Zn4WriteResZMMPair; // Half -> Float size conversion (ZMM). defm : Zn4WriteResXMM; // Float -> Half size conversion. defm : Zn4WriteResYMM; // Float -> Half size conversion (YMM). @@ -1326,13 +1326,13 @@ def : InstRW<[Zn4WriteSHA256RNDS2rr], (instrs SHA256RNDS2rr)>; // Strings instructions. // Packed Compare Implicit Length Strings, Return Mask -defm : Zn4WriteResXMMPair; +defm : Zn4WriteResXMMPair; // Packed Compare Explicit Length Strings, Return Mask -defm : Zn4WriteResXMMPair; +defm : Zn4WriteResXMMPair; // Packed Compare Implicit Length Strings, Return Index defm : Zn4WriteResXMMPair; // Packed Compare Explicit Length Strings, Return Index -defm : Zn4WriteResXMMPair; +defm : Zn4WriteResXMMPair; // AES instructions. defm : Zn4WriteResXMMPair; // Decryption, encryption. @@ -1367,8 +1367,8 @@ def Zn4WriteVZEROALL : SchedWriteRes<[Zn4FPU0123]> { def : InstRW<[Zn4WriteVZEROALL], (instrs VZEROALL)>; // AVX2. -defm : Zn4WriteResYMMPair; // Fp 256-bit width vector shuffles. -defm : Zn4WriteResYMMPair; // Fp 256-bit width variable shuffles. +defm : Zn4WriteResYMMPair; // Fp 256-bit width vector shuffles. +defm : Zn4WriteResYMMPair; // Fp 256-bit width variable shuffles. defm : Zn4WriteResYMMPair; // 256-bit width vector shuffles. def Zn4WriteVPERM2I128rr_VPERM2F128rr : SchedWriteRes<[Zn4FPVShuf]> { @@ -1427,7 +1427,7 @@ def Zn4WriteVPERMYm : SchedWriteRes<[Zn4AGU012, Zn4Load, Zn4FPVShuf]> { } def : InstRW<[Zn4WriteVPERMYm], (instrs VPERMQYmi, VPERMDYrm)>; -defm : Zn4WriteResYMMPair; // 256-bit width packed vector width-changing move. +defm : Zn4WriteResYMMPair; // 256-bit width packed vector width-changing move. defm : Zn4WriteResYMMPair; // 256-bit width vector variable shuffles. defm : Zn4WriteResXMMPair; // Variable vector shifts. defm : Zn4WriteResYMMPair; // Variable vector shifts (YMM).