@@ -4838,15 +4838,6 @@ class VDOT<bit op6, bit op4, bit op23, RegisterClass RegTy, string Asm,
48384838 let Constraints = "$dst = $Vd";
48394839}
48404840
4841-
4842- class VUSDOT<bit op6, bit op4, bit op23, RegisterClass RegTy, string Asm,
4843- string AsmTy, ValueType AccumTy, ValueType InputTy,
4844- SDPatternOperator OpNode> :
4845- VDOT<op6, op4, op23, RegTy, Asm, AsmTy, AccumTy, InputTy, OpNode> {
4846- let hasNoSchedulingInfo = 1;
4847-
4848- }
4849-
48504841def VUDOTD : VDOT<0, 1, 0, DPR, "vudot", "u8", v2i32, v8i8, int_arm_neon_udot>;
48514842def VSDOTD : VDOT<0, 0, 0, DPR, "vsdot", "s8", v2i32, v8i8, int_arm_neon_sdot>;
48524843def VUDOTQ : VDOT<1, 1, 0, QPR, "vudot", "u8", v4i32, v16i8, int_arm_neon_udot>;
@@ -4897,7 +4888,6 @@ let Predicates = [HasMatMulInt8] in {
48974888 (v16i8 QPR:$Vm)))]> {
48984889 let DecoderNamespace = "VFPV8";
48994890 let Constraints = "$dst = $Vd";
4900- let hasNoSchedulingInfo = 1;
49014891 }
49024892
49034893 multiclass N3VMixedDotLane<bit Q, bit U, string Asm, string AsmTy, RegisterClass RegTy,
@@ -4908,7 +4898,6 @@ let Predicates = [HasMatMulInt8] in {
49084898 (ins RegTy:$Vd, RegTy:$Vn, DPR_VFP2:$Vm, VectorIndex32:$lane), N3RegFrm,
49094899 NoItinerary, Asm, AsmTy, []> {
49104900 bit lane;
4911- let hasNoSchedulingInfo = 1;
49124901 let Inst{5} = lane;
49134902 let AsmString = !strconcat(Asm, ".", AsmTy, "\t$Vd, $Vn, $Vm$lane");
49144903 let DecoderNamespace = "VFPV8";
@@ -4939,8 +4928,8 @@ let Predicates = [HasMatMulInt8] in {
49394928 def VSMMLA : N3VMatMul<0, 0, "vsmmla", "s8", int_arm_neon_smmla>;
49404929 def VUMMLA : N3VMatMul<0, 1, "vummla", "u8", int_arm_neon_ummla>;
49414930 def VUSMMLA : N3VMatMul<1, 0, "vusmmla", "s8", int_arm_neon_usmmla>;
4942- def VUSDOTD : VUSDOT <0, 0, 1, DPR, "vusdot", "s8", v2i32, v8i8, int_arm_neon_usdot>;
4943- def VUSDOTQ : VUSDOT <1, 0, 1, QPR, "vusdot", "s8", v4i32, v16i8, int_arm_neon_usdot>;
4931+ def VUSDOTD : VDOT <0, 0, 1, DPR, "vusdot", "s8", v2i32, v8i8, int_arm_neon_usdot>;
4932+ def VUSDOTQ : VDOT <1, 0, 1, QPR, "vusdot", "s8", v4i32, v16i8, int_arm_neon_usdot>;
49444933
49454934 defm VUSDOTDI : N3VMixedDotLane<0, 0, "vusdot", "s8", DPR, v2i32, v8i8,
49464935 int_arm_neon_usdot, (v2i32 DPR_VFP2:$Vm)>;
@@ -5295,7 +5284,6 @@ class VFMQ<string opc, string type, bits<2> S>
52955284 let Inst{3} = idx{0};
52965285}
52975286
5298- let hasNoSchedulingInfo = 1 in {
52995287// op1 op2 op3
53005288def VFMALD : N3VCP8F16Q0<"vfmal", DPR, SPR, SPR, 0b00, 0b10, 1>;
53015289def VFMSLD : N3VCP8F16Q0<"vfmsl", DPR, SPR, SPR, 0b01, 0b10, 1>;
@@ -5305,7 +5293,6 @@ def VFMALDI : VFMD<"vfmal", "f16", 0b00>;
53055293def VFMSLDI : VFMD<"vfmsl", "f16", 0b01>;
53065294def VFMALQI : VFMQ<"vfmal", "f16", 0b00>;
53075295def VFMSLQI : VFMQ<"vfmsl", "f16", 0b01>;
5308- }
53095296} // HasNEON, HasFP16FML
53105297
53115298
@@ -9001,7 +8988,6 @@ class BF16VDOT<bits<5> op27_23, bits<2> op21_20, bit op6,
90018988 dag oops, dag iops>
90028989 : N3Vnp<op27_23, op21_20, 0b1101, op6, 0, oops, iops,
90038990 N3RegFrm, IIC_VDOTPROD, "", "", []> {
9004- let hasNoSchedulingInfo = 1;
90058991 let DecoderNamespace = "VFPV8";
90068992}
90078993
@@ -9042,7 +9028,6 @@ class BF16MM<bit Q, RegisterClass RegTy,
90429028 let Constraints = "$dst = $Vd";
90439029 let AsmString = !strconcat(opc, ".bf16", "\t$Vd, $Vn, $Vm");
90449030 let DecoderNamespace = "VFPV8";
9045- let hasNoSchedulingInfo = 1;
90469031}
90479032
90489033def VMMLA : BF16MM<1, QPR, "vmmla">;
@@ -9054,7 +9039,6 @@ class VBF16MALQ<bit T, string suffix>
90549039 []> { // TODO: Add intrinsics
90559040 let Constraints = "$dst = $Vd";
90569041 let DecoderNamespace = "VFPV8";
9057- let hasNoSchedulingInfo = 1;
90589042}
90599043
90609044def VBF16MALTQ: VBF16MALQ<1, "t">;
@@ -9069,18 +9053,15 @@ multiclass VBF16MALQI<bit T, string suffix> {
90699053 let Inst{3} = idx{0};
90709054 let Constraints = "$dst = $Vd";
90719055 let DecoderNamespace = "VFPV8";
9072- let hasNoSchedulingInfo = 1;
90739056 }
90749057
90759058}
90769059
90779060defm VBF16MALTQI: VBF16MALQI<1, "t">;
90789061defm VBF16MALBQI: VBF16MALQI<0, "b">;
90799062
9080- let hasNoSchedulingInfo = 1 in {
90819063def BF16_VCVT : N2V<0b11, 0b11, 0b01, 0b10, 0b01100, 1, 0,
90829064 (outs DPR:$Vd), (ins QPR:$Vm),
90839065 NoItinerary, "vcvt", "bf16.f32", "$Vd, $Vm", "", []>;
90849066}
9085- }
90869067// End of BFloat16 instructions
0 commit comments