@@ -4838,15 +4838,6 @@ class VDOT<bit op6, bit op4, bit op23, RegisterClass RegTy, string Asm,
4838
4838
let Constraints = "$dst = $Vd";
4839
4839
}
4840
4840
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
-
4850
4841
def VUDOTD : VDOT<0, 1, 0, DPR, "vudot", "u8", v2i32, v8i8, int_arm_neon_udot>;
4851
4842
def VSDOTD : VDOT<0, 0, 0, DPR, "vsdot", "s8", v2i32, v8i8, int_arm_neon_sdot>;
4852
4843
def VUDOTQ : VDOT<1, 1, 0, QPR, "vudot", "u8", v4i32, v16i8, int_arm_neon_udot>;
@@ -4897,7 +4888,6 @@ let Predicates = [HasMatMulInt8] in {
4897
4888
(v16i8 QPR:$Vm)))]> {
4898
4889
let DecoderNamespace = "VFPV8";
4899
4890
let Constraints = "$dst = $Vd";
4900
- let hasNoSchedulingInfo = 1;
4901
4891
}
4902
4892
4903
4893
multiclass N3VMixedDotLane<bit Q, bit U, string Asm, string AsmTy, RegisterClass RegTy,
@@ -4908,7 +4898,6 @@ let Predicates = [HasMatMulInt8] in {
4908
4898
(ins RegTy:$Vd, RegTy:$Vn, DPR_VFP2:$Vm, VectorIndex32:$lane), N3RegFrm,
4909
4899
NoItinerary, Asm, AsmTy, []> {
4910
4900
bit lane;
4911
- let hasNoSchedulingInfo = 1;
4912
4901
let Inst{5} = lane;
4913
4902
let AsmString = !strconcat(Asm, ".", AsmTy, "\t$Vd, $Vn, $Vm$lane");
4914
4903
let DecoderNamespace = "VFPV8";
@@ -4939,8 +4928,8 @@ let Predicates = [HasMatMulInt8] in {
4939
4928
def VSMMLA : N3VMatMul<0, 0, "vsmmla", "s8", int_arm_neon_smmla>;
4940
4929
def VUMMLA : N3VMatMul<0, 1, "vummla", "u8", int_arm_neon_ummla>;
4941
4930
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>;
4944
4933
4945
4934
defm VUSDOTDI : N3VMixedDotLane<0, 0, "vusdot", "s8", DPR, v2i32, v8i8,
4946
4935
int_arm_neon_usdot, (v2i32 DPR_VFP2:$Vm)>;
@@ -5295,7 +5284,6 @@ class VFMQ<string opc, string type, bits<2> S>
5295
5284
let Inst{3} = idx{0};
5296
5285
}
5297
5286
5298
- let hasNoSchedulingInfo = 1 in {
5299
5287
// op1 op2 op3
5300
5288
def VFMALD : N3VCP8F16Q0<"vfmal", DPR, SPR, SPR, 0b00, 0b10, 1>;
5301
5289
def VFMSLD : N3VCP8F16Q0<"vfmsl", DPR, SPR, SPR, 0b01, 0b10, 1>;
@@ -5305,7 +5293,6 @@ def VFMALDI : VFMD<"vfmal", "f16", 0b00>;
5305
5293
def VFMSLDI : VFMD<"vfmsl", "f16", 0b01>;
5306
5294
def VFMALQI : VFMQ<"vfmal", "f16", 0b00>;
5307
5295
def VFMSLQI : VFMQ<"vfmsl", "f16", 0b01>;
5308
- }
5309
5296
} // HasNEON, HasFP16FML
5310
5297
5311
5298
@@ -9001,7 +8988,6 @@ class BF16VDOT<bits<5> op27_23, bits<2> op21_20, bit op6,
9001
8988
dag oops, dag iops>
9002
8989
: N3Vnp<op27_23, op21_20, 0b1101, op6, 0, oops, iops,
9003
8990
N3RegFrm, IIC_VDOTPROD, "", "", []> {
9004
- let hasNoSchedulingInfo = 1;
9005
8991
let DecoderNamespace = "VFPV8";
9006
8992
}
9007
8993
@@ -9042,7 +9028,6 @@ class BF16MM<bit Q, RegisterClass RegTy,
9042
9028
let Constraints = "$dst = $Vd";
9043
9029
let AsmString = !strconcat(opc, ".bf16", "\t$Vd, $Vn, $Vm");
9044
9030
let DecoderNamespace = "VFPV8";
9045
- let hasNoSchedulingInfo = 1;
9046
9031
}
9047
9032
9048
9033
def VMMLA : BF16MM<1, QPR, "vmmla">;
@@ -9054,7 +9039,6 @@ class VBF16MALQ<bit T, string suffix>
9054
9039
[]> { // TODO: Add intrinsics
9055
9040
let Constraints = "$dst = $Vd";
9056
9041
let DecoderNamespace = "VFPV8";
9057
- let hasNoSchedulingInfo = 1;
9058
9042
}
9059
9043
9060
9044
def VBF16MALTQ: VBF16MALQ<1, "t">;
@@ -9069,18 +9053,15 @@ multiclass VBF16MALQI<bit T, string suffix> {
9069
9053
let Inst{3} = idx{0};
9070
9054
let Constraints = "$dst = $Vd";
9071
9055
let DecoderNamespace = "VFPV8";
9072
- let hasNoSchedulingInfo = 1;
9073
9056
}
9074
9057
9075
9058
}
9076
9059
9077
9060
defm VBF16MALTQI: VBF16MALQI<1, "t">;
9078
9061
defm VBF16MALBQI: VBF16MALQI<0, "b">;
9079
9062
9080
- let hasNoSchedulingInfo = 1 in {
9081
9063
def BF16_VCVT : N2V<0b11, 0b11, 0b01, 0b10, 0b01100, 1, 0,
9082
9064
(outs DPR:$Vd), (ins QPR:$Vm),
9083
9065
NoItinerary, "vcvt", "bf16.f32", "$Vd, $Vm", "", []>;
9084
9066
}
9085
- }
9086
9067
// End of BFloat16 instructions
0 commit comments