@@ -804,7 +804,7 @@ module attributes {"ttg.num-ctas" = 1 : i32, "ttg.num-warps" = 4 : i32} {
804
804
// CHECK-LABEL: convert_layout_blocked_blocked
805
805
tt.func @convert_layout_blocked_blocked (%arg0: tensor <32 x32 xf32 , #blocked0 >) {
806
806
// CHECK: llvm.mlir.addressof @global_smem
807
- // CHECK-COUNT-8: llvm.inline_asm {{.*}} st.shared
807
+ // CHECK-COUNT-8: llvm.store
808
808
// CHECK-: nvvm.barrier0
809
809
// CHECK-COUNT-8: llvm.load
810
810
%0 = ttg.convert_layout %arg0 : tensor <32 x32 xf32 , #blocked0 > -> tensor <32 x32 xf32 , #blocked1 >
@@ -821,10 +821,8 @@ module attributes {"ttg.num-ctas" = 1 : i32, "ttg.num-warps" = 4 : i32} {
821
821
// CHECK-LABEL: convert_layout_blocked_blocked_vec
822
822
tt.func @convert_layout_blocked_blocked_vec (%arg0: tensor <32 x32 xf32 , #blocked0 >) {
823
823
// CHECK: llvm.mlir.addressof @global_smem
824
- // CHECK: llvm.inline_asm
825
- // CHECK: st.shared
826
- // CHECK: llvm.inline_asm
827
- // CHECK: st.shared
824
+ // CHECK: llvm.store
825
+ // CHECK: llvm.store
828
826
// CHECK: nvvm.barrier0
829
827
// CHECK: llvm.load
830
828
// CHECK: llvm.load
@@ -859,14 +857,12 @@ module attributes {"ttg.num-ctas" = 1 : i32, "ttg.num-warps" = 1 : i32} {
859
857
// CHECK-LABEL: convert_layout_blocked_blocked_multi_rep
860
858
tt.func @convert_layout_blocked_blocked_multi_rep (%arg0: tensor <16 x16 xf32 , #blocked0 >) {
861
859
// CHECK: llvm.mlir.addressof @global_smem
862
- // CHECK: llvm.inline_asm
863
- // CHECK: st.shared
860
+ // CHECK: llvm.store
864
861
// CHECK: nvvm.barrier0
865
862
// CHECK: llvm.load
866
863
// CHECK: llvm.load
867
864
// CHECK: nvvm.barrier0
868
- // CHECK: llvm.inline_asm
869
- // CHECK: st.shared
865
+ // CHECK: llvm.store
870
866
// CHECK: nvvm.barrier0
871
867
// CHECK: llvm.load
872
868
// CHECK: llvm.load
@@ -1024,10 +1020,8 @@ module attributes {"ttg.num-ctas" = 1 : i32, "ttg.num-warps" = 4 : i32} {
1024
1020
// CHECK: llvm.mlir.global external @global_smem
1025
1021
// CHECK-LABEL: convert_layout_mmav2_block
1026
1022
tt.func @convert_layout_mmav2_blocked (%arg0: tensor <32 x16 xf32 , #mma >) {
1027
- // CHECK: llvm.inline_asm
1028
- // CHECK-SAME: st.shared
1029
- // CHECK: llvm.inline_asm
1030
- // CHECK-SAME: st.shared
1023
+ // CHECK: llvm.store
1024
+ // CHECK: llvm.store
1031
1025
// CHECK: nvvm.barrier0
1032
1026
// CHECK: llvm.load
1033
1027
%0 = ttg.convert_layout %arg0 : tensor <32 x16 xf32 , #mma > -> tensor <32 x16 xf32 , #blocked0 >
@@ -1042,7 +1036,7 @@ module attributes {"ttg.num-ctas" = 1 : i32, "ttg.num-warps" = 4 : i32} {
1042
1036
module attributes {" ttg.num-ctas" = 1 : i32 , " ttg.num-warps" = 1 : i32 } {
1043
1037
// CHECK-LABEL: convert_layout_mmav2_dot_reg
1044
1038
tt.func @convert_layout_mmav2_dot_reg (%arg0: tensor <16 x16 xf16 , #mma >) {
1045
- // CHECK-NOT: st.shared
1039
+ // CHECK-NOT: llvm.store
1046
1040
// CHECK-NOT: llvm.load
1047
1041
%0 = ttg.convert_layout %arg0 : tensor <16 x16 xf16 , #mma > -> tensor <16 x16 xf16 , #dot1 >
1048
1042
tt.return
@@ -1056,7 +1050,7 @@ module attributes {"ttg.num-ctas" = 1 : i32, "ttg.num-warps" = 1 : i32} {
1056
1050
module attributes {" ttg.num-ctas" = 1 : i32 , " ttg.num-warps" = 1 : i32 } {
1057
1051
// CHECK-LABEL: convert_layout_mmav2_dot_reg
1058
1052
tt.func @convert_layout_mmav2_dot_reg (%arg0: tensor <1 x16 xf16 , #mma >) {
1059
- // CHECK-NOT: st.shared
1053
+ // CHECK-NOT: llvm.store
1060
1054
// CHECK-NOT: llvm.load
1061
1055
%0 = ttg.convert_layout %arg0 : tensor <1 x16 xf16 , #mma > -> tensor <1 x16 xf16 , #dot1 >
1062
1056
tt.return
@@ -1072,7 +1066,7 @@ module attributes {"ttg.num-ctas" = 1 : i32, "ttg.num-warps" = 1 : i32} {
1072
1066
module attributes {" ttg.num-ctas" = 1 : i32 , " ttg.num-warps" = 4 : i32 } {
1073
1067
// CHECK-LABEL: convert_layout_slice_mmav2_blocked_reg
1074
1068
tt.func @convert_layout_slice_mmav2_blocked_reg (%arg0: tensor <1 xf16 , #slice >) {
1075
- // CHECK-NOT: st.shared
1069
+ // CHECK-NOT: llvm.store
1076
1070
// CHECK-NOT: llvm.load
1077
1071
%0 = ttg.convert_layout %arg0 : tensor <1 xf16 , #slice > -> tensor <1 xf16 , #blocked >
1078
1072
tt.return
@@ -1087,7 +1081,7 @@ module attributes {"ttg.num-ctas" = 1 : i32, "ttg.num-warps" = 4 : i32} {
1087
1081
module attributes {" ttg.num-ctas" = 1 : i32 , " ttg.num-warps" = 4 : i32 } {
1088
1082
// CHECK-LABEL: convert_layout_mmav3_mmav3_0
1089
1083
tt.func @convert_layout_mmav3_mmav3_0 (%arg0: tensor <64 x64 xf16 , #mma0 >) {
1090
- // CHECK-NOT: st.shared
1084
+ // CHECK-NOT: llvm.store
1091
1085
// CHECK-NOT: llvm.load
1092
1086
%0 = ttg.convert_layout %arg0 : tensor <64 x64 xf16 , #mma0 > -> tensor <64 x64 xf16 , #mma1 >
1093
1087
tt.return
@@ -1102,7 +1096,7 @@ module attributes {"ttg.num-ctas" = 1 : i32, "ttg.num-warps" = 4 : i32} {
1102
1096
module attributes {" ttg.num-ctas" = 1 : i32 , " ttg.num-warps" = 4 : i32 } {
1103
1097
// CHECK-LABEL: convert_layout_mmav3_mmav3_1
1104
1098
tt.func @convert_layout_mmav3_mmav3_1 (%arg0: tensor <64 x64 xf16 , #mma1 >) {
1105
- // CHECK-NOT: st.shared
1099
+ // CHECK-NOT: llvm.store
1106
1100
// CHECK-NOT: llvm.load
1107
1101
%0 = ttg.convert_layout %arg0 : tensor <64 x64 xf16 , #mma1 > -> tensor <64 x64 xf16 , #mma0 >
1108
1102
tt.return
@@ -1117,7 +1111,7 @@ module attributes {"ttg.num-ctas" = 1 : i32, "ttg.num-warps" = 4 : i32} {
1117
1111
module attributes {" ttg.num-ctas" = 1 : i32 , " ttg.num-warps" = 4 : i32 } {
1118
1112
// CHECK-LABEL: convert_layout_mmav3_mmav3_2
1119
1113
tt.func @convert_layout_mmav3_mmav3_2 (%arg0: tensor <16 x16 xf16 , #mma1 >) {
1120
- // CHECK-NOT: st.shared
1114
+ // CHECK-NOT: llvm.store
1121
1115
// CHECK-NOT: llvm.load
1122
1116
%0 = ttg.convert_layout %arg0 : tensor <16 x16 xf16 , #mma1 > -> tensor <16 x16 xf16 , #mma0 >
1123
1117
tt.return
@@ -1132,7 +1126,7 @@ module attributes {"ttg.num-ctas" = 1 : i32, "ttg.num-warps" = 4 : i32} {
1132
1126
module attributes {" ttg.num-ctas" = 1 : i32 , " ttg.num-warps" = 4 : i32 } {
1133
1127
// CHECK-LABEL: convert_layout_mmav3_mmav3_3
1134
1128
tt.func @convert_layout_mmav3_mmav3_3 (%arg0: tensor <1 x64 xf16 , #mma1 >) {
1135
- // CHECK-NOT: st.shared
1129
+ // CHECK-NOT: llvm.store
1136
1130
// CHECK-NOT: llvm.load
1137
1131
%0 = ttg.convert_layout %arg0 : tensor <1 x64 xf16 , #mma1 > -> tensor <1 x64 xf16 , #mma0 >
1138
1132
tt.return
@@ -1146,7 +1140,7 @@ module attributes {"ttg.num-ctas" = 1 : i32, "ttg.num-warps" = 4 : i32} {
1146
1140
module attributes {" ttg.num-ctas" = 1 : i32 , " ttg.num-warps" = 1 : i32 } {
1147
1141
// CHECK-LABEL: convert_layout_mmav2_dot_reg
1148
1142
tt.func @convert_layout_mmav2_dot_reg (%arg0: tensor <16 x16 xf16 , #mma >) {
1149
- // CHECK-NOT: st.shared
1143
+ // CHECK-NOT: llvm.store
1150
1144
// CHECK-NOT: llvm.load
1151
1145
%0 = ttg.convert_layout %arg0 : tensor <16 x16 xf16 , #mma > -> tensor <16 x16 xf16 , #dot1 >
1152
1146
tt.return
@@ -1161,7 +1155,7 @@ module attributes {"ttg.num-ctas" = 1 : i32, "ttg.num-warps" = 1 : i32} {
1161
1155
module attributes {" ttg.num-ctas" = 1 : i32 , " ttg.num-warps" = 4 : i32 } {
1162
1156
// CHECK-LABEL: convert_layout_mmav3_mmav3_0
1163
1157
tt.func @convert_layout_mmav3_mmav3_0 (%arg0: tensor <64 x64 xf16 , #mma0 >) {
1164
- // CHECK-NOT: st.shared
1158
+ // CHECK-NOT: llvm.store
1165
1159
// CHECK-NOT: llvm.load
1166
1160
%0 = ttg.convert_layout %arg0 : tensor <64 x64 xf16 , #mma0 > -> tensor <64 x64 xf16 , #mma1 >
1167
1161
tt.return
@@ -1176,7 +1170,7 @@ module attributes {"ttg.num-ctas" = 1 : i32, "ttg.num-warps" = 4 : i32} {
1176
1170
module attributes {" ttg.num-ctas" = 1 : i32 , " ttg.num-warps" = 4 : i32 } {
1177
1171
// CHECK-LABEL: convert_layout_mmav3_mmav3_1
1178
1172
tt.func @convert_layout_mmav3_mmav3_1 (%arg0: tensor <64 x64 xf16 , #mma1 >) {
1179
- // CHECK-NOT: st.shared
1173
+ // CHECK-NOT: llvm.store
1180
1174
// CHECK-NOT: llvm.load
1181
1175
%0 = ttg.convert_layout %arg0 : tensor <64 x64 xf16 , #mma1 > -> tensor <64 x64 xf16 , #mma0 >
1182
1176
tt.return
@@ -1191,7 +1185,7 @@ module attributes {"ttg.num-ctas" = 1 : i32, "ttg.num-warps" = 4 : i32} {
1191
1185
module attributes {" ttg.num-ctas" = 1 : i32 , " ttg.num-warps" = 4 : i32 } {
1192
1186
// CHECK-LABEL: convert_layout_mmav3_mmav3_2
1193
1187
tt.func @convert_layout_mmav3_mmav3_2 (%arg0: tensor <16 x16 xf16 , #mma1 >) {
1194
- // CHECK-NOT: st.shared
1188
+ // CHECK-NOT: llvm.store
1195
1189
// CHECK-NOT: llvm.load
1196
1190
%0 = ttg.convert_layout %arg0 : tensor <16 x16 xf16 , #mma1 > -> tensor <16 x16 xf16 , #mma0 >
1197
1191
tt.return
@@ -1206,7 +1200,7 @@ module attributes {"ttg.num-ctas" = 1 : i32, "ttg.num-warps" = 4 : i32} {
1206
1200
module attributes {" ttg.num-ctas" = 1 : i32 , " ttg.num-warps" = 4 : i32 } {
1207
1201
// CHECK-LABEL: convert_layout_mmav3_mmav3_3
1208
1202
tt.func @convert_layout_mmav3_mmav3_3 (%arg0: tensor <1 x64 xf16 , #mma1 >) {
1209
- // CHECK-NOT: st.shared
1203
+ // CHECK-NOT: llvm.store
1210
1204
// CHECK-NOT: llvm.load
1211
1205
%0 = ttg.convert_layout %arg0 : tensor <1 x64 xf16 , #mma1 > -> tensor <1 x64 xf16 , #mma0 >
1212
1206
tt.return
@@ -1221,28 +1215,28 @@ module attributes {"ttg.num-ctas" = 1 : i32, "ttg.num-warps" = 8 : i32} {
1221
1215
// CHECK: llvm.mlir.global external @global_smem
1222
1216
// CHECK-LABEL: convert_layout_mmav3_transpose
1223
1217
tt.func @convert_layout_mmav3_transpose (%arg0: tensor <128 x256 xf8 E5 M2 , #mma >) {
1224
- // CHECK-COUNT-16: st.shared.b8
1218
+ // CHECK-COUNT-16: llvm.store {{.*}} : vector<1xi8>
1225
1219
// CHECK: nvvm.barrier0
1226
1220
// CHECK: llvm.load {{.*}} -> vector<4xi32>
1227
- // CHECK-COUNT-16: st.shared.b8
1221
+ // CHECK-COUNT-16: llvm.store {{.*}} : vector<1xi8>
1228
1222
// CHECK: nvvm.barrier0
1229
1223
// CHECK: llvm.load {{.*}} -> vector<4xi32>
1230
- // CHECK-COUNT-16: st.shared.b8
1224
+ // CHECK-COUNT-16: llvm.store {{.*}} : vector<1xi8>
1231
1225
// CHECK: nvvm.barrier0
1232
1226
// CHECK: llvm.load {{.*}} -> vector<4xi32>
1233
- // CHECK-COUNT-16: st.shared.b8
1227
+ // CHECK-COUNT-16: llvm.store {{.*}} : vector<1xi8>
1234
1228
// CHECK: nvvm.barrier0
1235
1229
// CHECK: llvm.load {{.*}} -> vector<4xi32>
1236
- // CHECK-COUNT-16: st.shared.b8
1230
+ // CHECK-COUNT-16: llvm.store {{.*}} : vector<1xi8>
1237
1231
// CHECK: nvvm.barrier0
1238
1232
// CHECK: llvm.load {{.*}} -> vector<4xi32>
1239
- // CHECK-COUNT-16: st.shared.b8
1233
+ // CHECK-COUNT-16: llvm.store {{.*}} : vector<1xi8>
1240
1234
// CHECK: nvvm.barrier0
1241
1235
// CHECK: llvm.load {{.*}} -> vector<4xi32>
1242
- // CHECK-COUNT-16: st.shared.b8
1236
+ // CHECK-COUNT-16: llvm.store {{.*}} : vector<1xi8>
1243
1237
// CHECK: nvvm.barrier0
1244
1238
// CHECK: llvm.load {{.*}} -> vector<4xi32>
1245
- // CHECK-COUNT-16: st.shared.b8
1239
+ // CHECK-COUNT-16: llvm.store {{.*}} : vector<1xi8>
1246
1240
// CHECK: nvvm.barrier0
1247
1241
// CHECK: llvm.load {{.*}} -> vector<4xi32>
1248
1242
%0 = ttg.convert_layout %arg0 : tensor <128 x256 xf8 E5 M2 , #mma > -> tensor <128 x256 xf8 E5 M2 , #blocked >
@@ -1301,7 +1295,7 @@ module attributes {"ttg.num-ctas" = 1 : i32, "ttg.num-warps" = 1 : i32} {
1301
1295
// CHECK-LABEL: convert_blocked_to_blocked_ptr
1302
1296
tt.func @convert_blocked_to_blocked_ptr (%src:tensor <32 x!tt.ptr <f32 >, #blocked0 >) {
1303
1297
// CHECK: llvm.ptrtoint
1304
- // CHECK: inline_asm{{.*}}st.shared
1298
+ // CHECK: llvm.store
1305
1299
// CHECK: nvvm.barrier0
1306
1300
// CHECK: llvm.inttoptr
1307
1301
// CHECK-COUNT-4: llvm.insertvalue
@@ -1319,13 +1313,13 @@ module attributes {"ttg.num-ctas" = 1 : i32, "ttg.num-warps" = 8 : i32} {
1319
1313
// CHECK-LABEL: linear_layout_with_multiple_iterations
1320
1314
tt.func @linear_layout_with_multiple_iterations (%src: tensor <8 x4 xbf16 , #linear >) {
1321
1315
%cvt = ttg.convert_layout %src : tensor <8 x4 xbf16 , #linear > -> tensor <8 x4 xbf16 , #linear1 >
1322
- // CHECK: inline_asm {{.*}}st.shared.v2
1316
+ // CHECK: llvm.store {{.*}} : vector<2xi16>
1323
1317
// CHECK: nvvm.barrier0
1324
- // CHECK: llvm.load
1318
+ // CHECK: llvm.load {{.*}} -> i16
1325
1319
// CHECK: nvvm.barrier0
1326
- // CHECK: inline_asm {{.*}}st.shared.v2
1320
+ // CHECK: llvm.store {{.*}} : vector<2xi16>
1327
1321
// CHECK: nvvm.barrier0
1328
- // CHECK: llvm.load
1322
+ // CHECK: llvm.load {{.*}} -> i16
1329
1323
tt.return
1330
1324
}
1331
1325
}
0 commit comments