Lines Matching refs:node
932 class FlatLoadPat <FLAT_Pseudo inst, SDPatternOperator node, ValueType vt> : GCNPat <
933 (vt (node (FlatOffset i64:$vaddr, i16:$offset))),
937 class FlatLoadPat_D16 <FLAT_Pseudo inst, SDPatternOperator node, ValueType vt> : GCNPat <
938 (node (FlatOffset (i64 VReg_64:$vaddr), i16:$offset), vt:$in),
942 class FlatSignedLoadPat_D16 <FLAT_Pseudo inst, SDPatternOperator node, ValueType vt> : GCNPat <
943 (node (GlobalOffset (i64 VReg_64:$vaddr), i16:$offset), vt:$in),
947 class GlobalLoadSaddrPat_D16 <FLAT_Pseudo inst, SDPatternOperator node, ValueType vt> : GCNPat <
948 (vt (node (GlobalSAddr (i64 SReg_64:$saddr), (i32 VGPR_32:$voffset), i16:$offset), vt:$in)),
952 class FlatLoadSignedPat <FLAT_Pseudo inst, SDPatternOperator node, ValueType vt> : GCNPat <
953 (vt (node (GlobalOffset (i64 VReg_64:$vaddr), i16:$offset))),
957 class GlobalLoadSaddrPat <FLAT_Pseudo inst, SDPatternOperator node, ValueType vt> : GCNPat <
958 (vt (node (GlobalSAddr (i64 SReg_64:$saddr), (i32 VGPR_32:$voffset), i16:$offset))),
962 class GlobalStoreSaddrPat <FLAT_Pseudo inst, SDPatternOperator node,
964 (node vt:$data, (GlobalSAddr (i64 SReg_64:$saddr), (i32 VGPR_32:$voffset), i16:$offset)),
968 class GlobalAtomicStoreSaddrPat <FLAT_Pseudo inst, SDPatternOperator node,
970 (node (GlobalSAddr (i64 SReg_64:$saddr), (i32 VGPR_32:$voffset), i16:$offset), vt:$data),
974 class GlobalAtomicSaddrPat <FLAT_Pseudo inst, SDPatternOperator node,
976 …(vt (node (GlobalSAddr (i64 SReg_64:$saddr), (i32 VGPR_32:$voffset), i16:$offset), data_vt:$data)),
980 class GlobalAtomicNoRtnSaddrPat <FLAT_Pseudo inst, SDPatternOperator node,
982 (node (GlobalSAddr (i64 SReg_64:$saddr), (i32 VGPR_32:$voffset), i16:$offset), vt:$data),
986 class FlatStorePat <FLAT_Pseudo inst, SDPatternOperator node, ValueType vt> : GCNPat <
987 (node vt:$data, (FlatOffset i64:$vaddr, i16:$offset)),
991 class FlatStoreSignedPat <FLAT_Pseudo inst, SDPatternOperator node, ValueType vt> : GCNPat <
992 (node vt:$data, (GlobalOffset i64:$vaddr, i16:$offset)),
996 class FlatStoreAtomicPat <FLAT_Pseudo inst, SDPatternOperator node, ValueType vt> : GCNPat <
999 (node (FlatOffset i64:$vaddr, i16:$offset), vt:$data),
1003 class FlatStoreSignedAtomicPat <FLAT_Pseudo inst, SDPatternOperator node,
1007 (node (GlobalOffset i64:$vaddr, i16:$offset), data_vt:$data),
1011 class FlatAtomicPatNoRtn <FLAT_Pseudo inst, SDPatternOperator node, ValueType vt> : GCNPat <
1012 (node (FlatOffset i64:$vaddr, i16:$offset), vt:$data),
1016 multiclass FlatAtomicPat <string inst, string node, ValueType vt,
1018 defvar rtnNode = !cast<PatFrags>(node#"_"#vt.Size);
1019 defvar noRtnNode = !cast<PatFrags>(node#"_noret_"#vt.Size);
1029 multiclass FlatSignedAtomicPat <string inst, string node, ValueType vt,
1032 defvar rtnNode = !cast<SDPatternOperator>(node # !if(isIntr, "", "_" # vt.Size));
1033 defvar noRtnNode = !cast<PatFrags>(node # "_noret" # !if(isIntr, "", "_" # vt.Size));
1044 multiclass FlatSignedAtomicIntrPat <string inst, string node, ValueType vt,
1046 defm : FlatSignedAtomicPat<inst, node, vt, data_vt, /* complexity */ 0, /* isIntr */ 1>;
1049 class FlatSignedAtomicPatNoRtn <FLAT_Pseudo inst, SDPatternOperator node, ValueType vt> : GCNPat <
1050 (node (GlobalOffset i64:$vaddr, i16:$offset), vt:$data),
1054 class FlatSignedAtomicPatRtn <FLAT_Pseudo inst, SDPatternOperator node, ValueType vt,
1056 (vt (node (GlobalOffset i64:$vaddr, i16:$offset), data_vt:$data)),
1060 class ScratchLoadSignedPat <FLAT_Pseudo inst, SDPatternOperator node, ValueType vt> : GCNPat <
1061 (vt (node (ScratchOffset (i32 VGPR_32:$vaddr), i16:$offset))),
1065 class ScratchLoadSignedPat_D16 <FLAT_Pseudo inst, SDPatternOperator node, ValueType vt> : GCNPat <
1066 (node (ScratchOffset (i32 VGPR_32:$vaddr), i16:$offset), vt:$in),
1070 class ScratchStoreSignedPat <FLAT_Pseudo inst, SDPatternOperator node, ValueType vt> : GCNPat <
1071 (node vt:$data, (ScratchOffset (i32 VGPR_32:$vaddr), i16:$offset)),
1075 class ScratchLoadSaddrPat <FLAT_Pseudo inst, SDPatternOperator node, ValueType vt> : GCNPat <
1076 (vt (node (ScratchSAddr (i32 SGPR_32:$saddr), i16:$offset))),
1080 class ScratchLoadSaddrPat_D16 <FLAT_Pseudo inst, SDPatternOperator node, ValueType vt> : GCNPat <
1081 (vt (node (ScratchSAddr (i32 SGPR_32:$saddr), i16:$offset), vt:$in)),
1085 class ScratchStoreSaddrPat <FLAT_Pseudo inst, SDPatternOperator node,
1087 (node vt:$data, (ScratchSAddr (i32 SGPR_32:$saddr), i16:$offset)),
1091 class ScratchLoadSVaddrPat <FLAT_Pseudo inst, SDPatternOperator node, ValueType vt> : GCNPat <
1092 (vt (node (ScratchSVAddr (i32 VGPR_32:$vaddr), (i32 SGPR_32:$saddr), i16:$offset))),
1096 class ScratchStoreSVaddrPat <FLAT_Pseudo inst, SDPatternOperator node,
1098 (node vt:$data, (ScratchSVAddr (i32 VGPR_32:$vaddr), (i32 SGPR_32:$saddr), i16:$offset)),
1102 class ScratchLoadSVaddrPat_D16 <FLAT_Pseudo inst, SDPatternOperator node, ValueType vt> : GCNPat <
1103 (vt (node (ScratchSVAddr (i32 VGPR_32:$vaddr), (i32 SGPR_32:$saddr), i16:$offset), vt:$in)),
1212 multiclass GlobalFLATLoadPats<FLAT_Pseudo inst, SDPatternOperator node, ValueType vt> {
1213 def : FlatLoadSignedPat <inst, node, vt> {
1217 def : GlobalLoadSaddrPat<!cast<FLAT_Pseudo>(!cast<string>(inst)#"_SADDR"), node, vt> {
1222 multiclass GlobalFLATLoadPats_D16<FLAT_Pseudo inst, SDPatternOperator node, ValueType vt> {
1223 def : FlatSignedLoadPat_D16 <inst, node, vt> {
1227 def : GlobalLoadSaddrPat_D16<!cast<FLAT_Pseudo>(!cast<string>(inst)#"_SADDR"), node, vt> {
1232 multiclass GlobalFLATStorePats<FLAT_Pseudo inst, SDPatternOperator node,
1234 def : FlatStoreSignedPat <inst, node, vt> {
1238 def : GlobalStoreSaddrPat<!cast<FLAT_Pseudo>(!cast<string>(inst)#"_SADDR"), node, vt> {
1244 multiclass GlobalFLATAtomicStorePats<FLAT_Pseudo inst, SDPatternOperator node, ValueType vt> {
1245 def : FlatStoreSignedAtomicPat <inst, node, vt> {
1249 def : GlobalAtomicStoreSaddrPat<!cast<FLAT_Pseudo>(!cast<string>(inst)#"_SADDR"), node, vt> {
1254 multiclass GlobalFLATAtomicPatsRtn<string nortn_inst_name, SDPatternOperator node,
1256 def : FlatSignedAtomicPatRtn <!cast<FLAT_Pseudo>(nortn_inst_name#"_RTN"), node, vt, data_vt> {
1260 def : GlobalAtomicSaddrPat<!cast<FLAT_Pseudo>(nortn_inst_name#"_SADDR_RTN"), node, vt, data_vt> {
1265 multiclass GlobalFLATAtomicPats<string inst, string node, ValueType vt,
1267 defvar rtnNode = !cast<SDPatternOperator>(node # !if(isIntr, "", "_" # vt.Size));
1268 defvar noRtnNode = !cast<PatFrags>(node # "_noret" # !if(isIntr, "", "_" # vt.Size));
1270 defm : FlatSignedAtomicPat <inst, node, vt, data_vt, /* complexity */ 10, isIntr>;
1279 multiclass GlobalFLATAtomicIntrPats<string inst, string node, ValueType vt,
1281 defm : GlobalFLATAtomicPats<inst, node, vt, data_vt, /* isIntr */ 1>;
1284 multiclass GlobalFLATNoRtnAtomicPats<FLAT_Pseudo inst, SDPatternOperator node,
1286 def : FlatSignedAtomicPatNoRtn <inst, node, vt> {
1290 def : GlobalAtomicNoRtnSaddrPat<!cast<FLAT_Pseudo>(!cast<string>(inst)#"_SADDR"), node, vt> {
1295 multiclass ScratchFLATLoadPats<FLAT_Pseudo inst, SDPatternOperator node, ValueType vt> {
1296 def : ScratchLoadSignedPat <inst, node, vt> {
1300 def : ScratchLoadSaddrPat<!cast<FLAT_Pseudo>(!cast<string>(inst)#"_SADDR"), node, vt> {
1304 def : ScratchLoadSVaddrPat<!cast<FLAT_Pseudo>(!cast<string>(inst)#"_SVS"), node, vt> {
1310 multiclass ScratchFLATStorePats<FLAT_Pseudo inst, SDPatternOperator node,
1312 def : ScratchStoreSignedPat <inst, node, vt> {
1316 def : ScratchStoreSaddrPat<!cast<FLAT_Pseudo>(!cast<string>(inst)#"_SADDR"), node, vt> {
1320 def : ScratchStoreSVaddrPat<!cast<FLAT_Pseudo>(!cast<string>(inst)#"_SVS"), node, vt> {
1326 multiclass ScratchFLATLoadPats_D16<FLAT_Pseudo inst, SDPatternOperator node, ValueType vt> {
1327 def : ScratchLoadSignedPat_D16 <inst, node, vt> {
1331 def : ScratchLoadSaddrPat_D16<!cast<FLAT_Pseudo>(!cast<string>(inst)#"_SADDR"), node, vt> {
1335 def : ScratchLoadSVaddrPat_D16 <!cast<FLAT_Pseudo>(!cast<string>(inst)#"_SVS"), node, vt> {