@@ -950,20 +950,20 @@ multiclass SMLoad_Pattern <string Instr, ValueType vt, bit immci = true> {
950
950
(vt (SIsbuffer_load v4i32:$sbase, (SMRDBufferImm32 i32:$offset), timm:$cachepolicy)),
951
951
(!cast<InstSI>(Instr#"_IMM_ci") SReg_128:$sbase, smrd_literal_offset:$offset,
952
952
(extract_cpol $cachepolicy))> {
953
- let OtherPredicates = [ isGFX7Only] ;
953
+ let SubtargetPredicate = isGFX7Only;
954
954
let AddedComplexity = 1;
955
955
}
956
956
957
957
// 3. Offset loaded in an 32bit SGPR
958
958
def : GCNPat <
959
959
(SIsbuffer_load v4i32:$sbase, i32:$soffset, timm:$cachepolicy),
960
960
(vt (!cast<SM_Pseudo>(Instr#"_SGPR") SReg_128:$sbase, SReg_32:$soffset, (extract_cpol $cachepolicy)))> {
961
- let OtherPredicates = [ isNotGFX9Plus] ;
961
+ let SubtargetPredicate = isNotGFX9Plus;
962
962
}
963
963
def : GCNPat <
964
964
(SIsbuffer_load v4i32:$sbase, i32:$soffset, timm:$cachepolicy),
965
965
(vt (!cast<SM_Pseudo>(Instr#"_SGPR_IMM") SReg_128:$sbase, SReg_32:$soffset, 0, (extract_cpol $cachepolicy)))> {
966
- let OtherPredicates = [ isGFX9Plus] ;
966
+ let SubtargetPredicate = isGFX9Plus;
967
967
}
968
968
969
969
// 4. Offset as an 32-bit SGPR + immediate
@@ -972,7 +972,7 @@ multiclass SMLoad_Pattern <string Instr, ValueType vt, bit immci = true> {
972
972
timm:$cachepolicy),
973
973
(vt (!cast<SM_Pseudo>(Instr#"_SGPR_IMM") SReg_128:$sbase, SReg_32:$soffset, i32imm:$offset,
974
974
(extract_cpol $cachepolicy)))> {
975
- let OtherPredicates = [ isGFX9Plus] ;
975
+ let SubtargetPredicate = isGFX9Plus;
976
976
}
977
977
}
978
978
@@ -981,28 +981,28 @@ multiclass ScalarLoadWithExtensionPat <string Instr, SDPatternOperator node, Val
981
981
def : GCNPat <
982
982
(node (SMRDImm i64:$sbase, i32:$offset)),
983
983
(vt (!cast<SM_Pseudo>(Instr#"_IMM") $sbase, $offset, 0))>{
984
- let OtherPredicates = [ isGFX12Plus] ;
984
+ let SubtargetPredicate = isGFX12Plus;
985
985
}
986
986
987
987
// 2. SGPR offset
988
988
def : GCNPat <
989
989
(node (SMRDSgpr i64:$sbase, i32:$soffset)),
990
990
(vt (!cast<SM_Pseudo>(Instr#"_SGPR_IMM") $sbase, $soffset, 0, 0))>{
991
- let OtherPredicates = [ isGFX12Plus] ;
991
+ let SubtargetPredicate = isGFX12Plus;
992
992
}
993
993
994
994
// 3. SGPR+IMM offset
995
995
def : GCNPat <
996
996
(node (SMRDSgprImm i64:$sbase, i32:$soffset, i32:$offset)),
997
997
(vt (!cast<SM_Pseudo>(Instr#"_SGPR_IMM") $sbase, $soffset, $offset, 0))>{
998
- let OtherPredicates = [ isGFX12Plus] ;
998
+ let SubtargetPredicate = isGFX12Plus;
999
999
}
1000
1000
1001
1001
// 4. No offset
1002
1002
def : GCNPat <
1003
1003
(vt (node (i64 SReg_64:$sbase))),
1004
1004
(vt (!cast<SM_Pseudo>(Instr#"_IMM") i64:$sbase, 0, 0))>{
1005
- let OtherPredicates = [ isGFX12Plus] ;
1005
+ let SubtargetPredicate = isGFX12Plus;
1006
1006
}
1007
1007
}
1008
1008
@@ -1012,14 +1012,14 @@ multiclass ScalarBufferLoadIntrinsicPat <SDPatternOperator name, string Instr> {
1012
1012
def : GCNPat <
1013
1013
(name v4i32:$sbase, (SMRDBufferImm i32:$offset), timm:$cachepolicy),
1014
1014
(i32 (!cast<SM_Pseudo>(Instr#"_IMM") SReg_128:$sbase, i32imm:$offset, (extract_cpol $cachepolicy)))> {
1015
- let OtherPredicates = [ isGFX12Plus] ;
1015
+ let SubtargetPredicate = isGFX12Plus;
1016
1016
}
1017
1017
1018
1018
// 2. Offset as an 32-bit SGPR
1019
1019
def : GCNPat <
1020
1020
(name v4i32:$sbase, i32:$soffset, timm:$cachepolicy),
1021
1021
(i32 (!cast<SM_Pseudo>(Instr#"_SGPR_IMM") SReg_128:$sbase, SReg_32:$soffset, 0, (extract_cpol $cachepolicy)))> {
1022
- let OtherPredicates = [ isGFX12Plus] ;
1022
+ let SubtargetPredicate = isGFX12Plus;
1023
1023
}
1024
1024
1025
1025
// 3. Offset as an 32-bit SGPR + immediate
@@ -1028,7 +1028,7 @@ multiclass ScalarBufferLoadIntrinsicPat <SDPatternOperator name, string Instr> {
1028
1028
timm:$cachepolicy),
1029
1029
(i32 (!cast<SM_Pseudo>(Instr#"_SGPR_IMM") SReg_128:$sbase, SReg_32:$soffset, i32imm:$offset,
1030
1030
(extract_cpol $cachepolicy)))> {
1031
- let OtherPredicates = [ isGFX12Plus] ;
1031
+ let SubtargetPredicate = isGFX12Plus;
1032
1032
}
1033
1033
}
1034
1034
0 commit comments