@@ -11887,79 +11887,79 @@ multiclass LDOPregister<bits<3> opc, string op, bits<1> Acq, bits<1> Rel,
11887
11887
// complex DAG for DstRHS.
11888
11888
let Predicates = [HasLSE] in
11889
11889
multiclass LDOPregister_patterns_ord_dag<string inst, string suffix, string op,
11890
- string size , dag SrcRHS, dag DstRHS> {
11891
- def : Pat<(!cast<PatFrag>(op#"_"#size #"_monotonic") GPR64sp:$Rn, SrcRHS),
11890
+ ValueType vt , dag SrcRHS, dag DstRHS> {
11891
+ def : Pat<(!cast<PatFrag>(op#"_"#vt #"_monotonic") GPR64sp:$Rn, SrcRHS),
11892
11892
(!cast<Instruction>(inst # suffix) DstRHS, GPR64sp:$Rn)>;
11893
- def : Pat<(!cast<PatFrag>(op#"_"#size #"_acquire") GPR64sp:$Rn, SrcRHS),
11893
+ def : Pat<(!cast<PatFrag>(op#"_"#vt #"_acquire") GPR64sp:$Rn, SrcRHS),
11894
11894
(!cast<Instruction>(inst # "A" # suffix) DstRHS, GPR64sp:$Rn)>;
11895
- def : Pat<(!cast<PatFrag>(op#"_"#size #"_release") GPR64sp:$Rn, SrcRHS),
11895
+ def : Pat<(!cast<PatFrag>(op#"_"#vt #"_release") GPR64sp:$Rn, SrcRHS),
11896
11896
(!cast<Instruction>(inst # "L" # suffix) DstRHS, GPR64sp:$Rn)>;
11897
- def : Pat<(!cast<PatFrag>(op#"_"#size #"_acq_rel") GPR64sp:$Rn, SrcRHS),
11897
+ def : Pat<(!cast<PatFrag>(op#"_"#vt #"_acq_rel") GPR64sp:$Rn, SrcRHS),
11898
11898
(!cast<Instruction>(inst # "AL" # suffix) DstRHS, GPR64sp:$Rn)>;
11899
- def : Pat<(!cast<PatFrag>(op#"_"#size #"_seq_cst") GPR64sp:$Rn, SrcRHS),
11899
+ def : Pat<(!cast<PatFrag>(op#"_"#vt #"_seq_cst") GPR64sp:$Rn, SrcRHS),
11900
11900
(!cast<Instruction>(inst # "AL" # suffix) DstRHS, GPR64sp:$Rn)>;
11901
11901
}
11902
11902
11903
11903
multiclass LDOPregister_patterns_ord<string inst, string suffix, string op,
11904
- string size , dag RHS> {
11905
- defm : LDOPregister_patterns_ord_dag<inst, suffix, op, size , RHS, RHS>;
11904
+ ValueType vt , dag RHS> {
11905
+ defm : LDOPregister_patterns_ord_dag<inst, suffix, op, vt , RHS, RHS>;
11906
11906
}
11907
11907
11908
11908
multiclass LDOPregister_patterns_ord_mod<string inst, string suffix, string op,
11909
- string size , dag LHS, dag RHS> {
11910
- defm : LDOPregister_patterns_ord_dag<inst, suffix, op, size , LHS, RHS>;
11909
+ ValueType vt , dag LHS, dag RHS> {
11910
+ defm : LDOPregister_patterns_ord_dag<inst, suffix, op, vt , LHS, RHS>;
11911
11911
}
11912
11912
11913
11913
multiclass LDOPregister_patterns<string inst, string op> {
11914
- defm : LDOPregister_patterns_ord<inst, "X", op, "64" , (i64 GPR64:$Rm)>;
11915
- defm : LDOPregister_patterns_ord<inst, "W", op, "32" , (i32 GPR32:$Rm)>;
11916
- defm : LDOPregister_patterns_ord<inst, "H", op, "16" , (i32 GPR32:$Rm)>;
11917
- defm : LDOPregister_patterns_ord<inst, "B", op, "8" , (i32 GPR32:$Rm)>;
11914
+ defm : LDOPregister_patterns_ord<inst, "X", op, i64 , (i64 GPR64:$Rm)>;
11915
+ defm : LDOPregister_patterns_ord<inst, "W", op, i32 , (i32 GPR32:$Rm)>;
11916
+ defm : LDOPregister_patterns_ord<inst, "H", op, i16 , (i32 GPR32:$Rm)>;
11917
+ defm : LDOPregister_patterns_ord<inst, "B", op, i8 , (i32 GPR32:$Rm)>;
11918
11918
}
11919
11919
11920
11920
multiclass LDOPregister_patterns_mod<string inst, string op, string mod> {
11921
- defm : LDOPregister_patterns_ord_mod<inst, "X", op, "64" ,
11921
+ defm : LDOPregister_patterns_ord_mod<inst, "X", op, i64 ,
11922
11922
(i64 GPR64:$Rm),
11923
11923
(i64 (!cast<Instruction>(mod#Xrr) XZR, GPR64:$Rm))>;
11924
- defm : LDOPregister_patterns_ord_mod<inst, "W", op, "32" ,
11924
+ defm : LDOPregister_patterns_ord_mod<inst, "W", op, i32 ,
11925
11925
(i32 GPR32:$Rm),
11926
11926
(i32 (!cast<Instruction>(mod#Wrr) WZR, GPR32:$Rm))>;
11927
- defm : LDOPregister_patterns_ord_mod<inst, "H", op, "16" ,
11927
+ defm : LDOPregister_patterns_ord_mod<inst, "H", op, i16 ,
11928
11928
(i32 GPR32:$Rm),
11929
11929
(i32 (!cast<Instruction>(mod#Wrr) WZR, GPR32:$Rm))>;
11930
- defm : LDOPregister_patterns_ord_mod<inst, "B", op, "8" ,
11930
+ defm : LDOPregister_patterns_ord_mod<inst, "B", op, i8 ,
11931
11931
(i32 GPR32:$Rm),
11932
11932
(i32 (!cast<Instruction>(mod#Wrr) WZR, GPR32:$Rm))>;
11933
11933
}
11934
11934
11935
11935
let Predicates = [HasLSE] in
11936
11936
multiclass CASregister_patterns_ord_dag<string inst, string suffix, string op,
11937
- string size , dag OLD, dag NEW> {
11938
- def : Pat<(!cast<PatFrag>(op#"_"#size #"_monotonic") GPR64sp:$Rn, OLD, NEW),
11937
+ ValueType vt , dag OLD, dag NEW> {
11938
+ def : Pat<(!cast<PatFrag>(op#"_"#vt #"_monotonic") GPR64sp:$Rn, OLD, NEW),
11939
11939
(!cast<Instruction>(inst # suffix) OLD, NEW, GPR64sp:$Rn)>;
11940
- def : Pat<(!cast<PatFrag>(op#"_"#size #"_acquire") GPR64sp:$Rn, OLD, NEW),
11940
+ def : Pat<(!cast<PatFrag>(op#"_"#vt #"_acquire") GPR64sp:$Rn, OLD, NEW),
11941
11941
(!cast<Instruction>(inst # "A" # suffix) OLD, NEW, GPR64sp:$Rn)>;
11942
- def : Pat<(!cast<PatFrag>(op#"_"#size #"_release") GPR64sp:$Rn, OLD, NEW),
11942
+ def : Pat<(!cast<PatFrag>(op#"_"#vt #"_release") GPR64sp:$Rn, OLD, NEW),
11943
11943
(!cast<Instruction>(inst # "L" # suffix) OLD, NEW, GPR64sp:$Rn)>;
11944
- def : Pat<(!cast<PatFrag>(op#"_"#size #"_acq_rel") GPR64sp:$Rn, OLD, NEW),
11944
+ def : Pat<(!cast<PatFrag>(op#"_"#vt #"_acq_rel") GPR64sp:$Rn, OLD, NEW),
11945
11945
(!cast<Instruction>(inst # "AL" # suffix) OLD, NEW, GPR64sp:$Rn)>;
11946
- def : Pat<(!cast<PatFrag>(op#"_"#size #"_seq_cst") GPR64sp:$Rn, OLD, NEW),
11946
+ def : Pat<(!cast<PatFrag>(op#"_"#vt #"_seq_cst") GPR64sp:$Rn, OLD, NEW),
11947
11947
(!cast<Instruction>(inst # "AL" # suffix) OLD, NEW, GPR64sp:$Rn)>;
11948
11948
}
11949
11949
11950
11950
multiclass CASregister_patterns_ord<string inst, string suffix, string op,
11951
- string size , dag OLD, dag NEW> {
11952
- defm : CASregister_patterns_ord_dag<inst, suffix, op, size , OLD, NEW>;
11951
+ ValueType vt , dag OLD, dag NEW> {
11952
+ defm : CASregister_patterns_ord_dag<inst, suffix, op, vt , OLD, NEW>;
11953
11953
}
11954
11954
11955
11955
multiclass CASregister_patterns<string inst, string op> {
11956
- defm : CASregister_patterns_ord<inst, "X", op, "64" ,
11956
+ defm : CASregister_patterns_ord<inst, "X", op, i64 ,
11957
11957
(i64 GPR64:$Rold), (i64 GPR64:$Rnew)>;
11958
- defm : CASregister_patterns_ord<inst, "W", op, "32" ,
11958
+ defm : CASregister_patterns_ord<inst, "W", op, i32 ,
11959
11959
(i32 GPR32:$Rold), (i32 GPR32:$Rnew)>;
11960
- defm : CASregister_patterns_ord<inst, "H", op, "16" ,
11960
+ defm : CASregister_patterns_ord<inst, "H", op, i16 ,
11961
11961
(i32 GPR32:$Rold), (i32 GPR32:$Rnew)>;
11962
- defm : CASregister_patterns_ord<inst, "B", op, "8" ,
11962
+ defm : CASregister_patterns_ord<inst, "B", op, i8 ,
11963
11963
(i32 GPR32:$Rold), (i32 GPR32:$Rnew)>;
11964
11964
}
11965
11965
0 commit comments