@@ -223,68 +223,34 @@ entry:
223
223
define amdgpu_kernel void @poison_value (ptr addrspace (1 ) %out , i32 %in ) {
224
224
; GFX8DAGISEL-LABEL: poison_value:
225
225
; GFX8DAGISEL: ; %bb.0: ; %entry
226
- ; GFX8DAGISEL-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x24
227
- ; GFX8DAGISEL-NEXT: s_waitcnt lgkmcnt(0)
228
- ; GFX8DAGISEL-NEXT: v_mov_b32_e32 v0, s0
229
- ; GFX8DAGISEL-NEXT: v_mov_b32_e32 v1, s1
230
- ; GFX8DAGISEL-NEXT: flat_store_dword v[0:1], v0
231
226
; GFX8DAGISEL-NEXT: s_endpgm
232
227
;
233
228
; GFX8GISEL-LABEL: poison_value:
234
229
; GFX8GISEL: ; %bb.0: ; %entry
235
- ; GFX8GISEL-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x24
236
- ; GFX8GISEL-NEXT: s_waitcnt lgkmcnt(0)
237
- ; GFX8GISEL-NEXT: v_mov_b32_e32 v0, s0
238
- ; GFX8GISEL-NEXT: v_mov_b32_e32 v1, s1
239
- ; GFX8GISEL-NEXT: flat_store_dword v[0:1], v0
240
230
; GFX8GISEL-NEXT: s_endpgm
241
231
;
242
232
; GFX9DAGISEL-LABEL: poison_value:
243
233
; GFX9DAGISEL: ; %bb.0: ; %entry
244
- ; GFX9DAGISEL-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x24
245
- ; GFX9DAGISEL-NEXT: v_mov_b32_e32 v0, 0
246
- ; GFX9DAGISEL-NEXT: s_waitcnt lgkmcnt(0)
247
- ; GFX9DAGISEL-NEXT: global_store_dword v0, v0, s[0:1]
248
234
; GFX9DAGISEL-NEXT: s_endpgm
249
235
;
250
236
; GFX9GISEL-LABEL: poison_value:
251
237
; GFX9GISEL: ; %bb.0: ; %entry
252
- ; GFX9GISEL-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x24
253
- ; GFX9GISEL-NEXT: v_mov_b32_e32 v0, 0
254
- ; GFX9GISEL-NEXT: s_waitcnt lgkmcnt(0)
255
- ; GFX9GISEL-NEXT: global_store_dword v0, v0, s[0:1]
256
238
; GFX9GISEL-NEXT: s_endpgm
257
239
;
258
240
; GFX10DAGISEL-LABEL: poison_value:
259
241
; GFX10DAGISEL: ; %bb.0: ; %entry
260
- ; GFX10DAGISEL-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x24
261
- ; GFX10DAGISEL-NEXT: v_mov_b32_e32 v0, 0
262
- ; GFX10DAGISEL-NEXT: s_waitcnt lgkmcnt(0)
263
- ; GFX10DAGISEL-NEXT: global_store_dword v0, v0, s[0:1]
264
242
; GFX10DAGISEL-NEXT: s_endpgm
265
243
;
266
244
; GFX10GISEL-LABEL: poison_value:
267
245
; GFX10GISEL: ; %bb.0: ; %entry
268
- ; GFX10GISEL-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x24
269
- ; GFX10GISEL-NEXT: v_mov_b32_e32 v0, 0
270
- ; GFX10GISEL-NEXT: s_waitcnt lgkmcnt(0)
271
- ; GFX10GISEL-NEXT: global_store_dword v0, v0, s[0:1]
272
246
; GFX10GISEL-NEXT: s_endpgm
273
247
;
274
248
; GFX11DAGISEL-LABEL: poison_value:
275
249
; GFX11DAGISEL: ; %bb.0: ; %entry
276
- ; GFX11DAGISEL-NEXT: s_load_b64 s[0:1], s[4:5], 0x24
277
- ; GFX11DAGISEL-NEXT: v_mov_b32_e32 v0, 0
278
- ; GFX11DAGISEL-NEXT: s_waitcnt lgkmcnt(0)
279
- ; GFX11DAGISEL-NEXT: global_store_b32 v0, v0, s[0:1]
280
250
; GFX11DAGISEL-NEXT: s_endpgm
281
251
;
282
252
; GFX11GISEL-LABEL: poison_value:
283
253
; GFX11GISEL: ; %bb.0: ; %entry
284
- ; GFX11GISEL-NEXT: s_load_b64 s[0:1], s[4:5], 0x24
285
- ; GFX11GISEL-NEXT: v_mov_b32_e32 v0, 0
286
- ; GFX11GISEL-NEXT: s_waitcnt lgkmcnt(0)
287
- ; GFX11GISEL-NEXT: global_store_b32 v0, v0, s[0:1]
288
254
; GFX11GISEL-NEXT: s_endpgm
289
255
entry:
290
256
%result = call i32 @llvm.amdgcn.wave.reduce.and.i32 (i32 poison, i32 1 )
@@ -1113,11 +1079,10 @@ define amdgpu_kernel void @const_value_i64(ptr addrspace(1) %out) {
1113
1079
; GFX9DAGISEL-LABEL: const_value_i64:
1114
1080
; GFX9DAGISEL: ; %bb.0: ; %entry
1115
1081
; GFX9DAGISEL-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x24
1116
- ; GFX9DAGISEL-NEXT: v_mov_b32_e32 v0, 0x7b
1117
1082
; GFX9DAGISEL-NEXT: v_mov_b32_e32 v1, 0
1118
- ; GFX9DAGISEL-NEXT: v_mov_b32_e32 v2, 0
1083
+ ; GFX9DAGISEL-NEXT: v_mov_b32_e32 v0, 0x7b
1119
1084
; GFX9DAGISEL-NEXT: s_waitcnt lgkmcnt(0)
1120
- ; GFX9DAGISEL-NEXT: global_store_dwordx2 v2 , v[0:1], s[0:1]
1085
+ ; GFX9DAGISEL-NEXT: global_store_dwordx2 v1 , v[0:1], s[0:1]
1121
1086
; GFX9DAGISEL-NEXT: s_endpgm
1122
1087
;
1123
1088
; GFX9GISEL-LABEL: const_value_i64:
@@ -1133,11 +1098,10 @@ define amdgpu_kernel void @const_value_i64(ptr addrspace(1) %out) {
1133
1098
; GFX10DAGISEL-LABEL: const_value_i64:
1134
1099
; GFX10DAGISEL: ; %bb.0: ; %entry
1135
1100
; GFX10DAGISEL-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x24
1136
- ; GFX10DAGISEL-NEXT: v_mov_b32_e32 v0, 0x7b
1137
1101
; GFX10DAGISEL-NEXT: v_mov_b32_e32 v1, 0
1138
- ; GFX10DAGISEL-NEXT: v_mov_b32_e32 v2, 0
1102
+ ; GFX10DAGISEL-NEXT: v_mov_b32_e32 v0, 0x7b
1139
1103
; GFX10DAGISEL-NEXT: s_waitcnt lgkmcnt(0)
1140
- ; GFX10DAGISEL-NEXT: global_store_dwordx2 v2 , v[0:1], s[0:1]
1104
+ ; GFX10DAGISEL-NEXT: global_store_dwordx2 v1 , v[0:1], s[0:1]
1141
1105
; GFX10DAGISEL-NEXT: s_endpgm
1142
1106
;
1143
1107
; GFX10GISEL-LABEL: const_value_i64:
@@ -1153,11 +1117,10 @@ define amdgpu_kernel void @const_value_i64(ptr addrspace(1) %out) {
1153
1117
; GFX1164DAGISEL-LABEL: const_value_i64:
1154
1118
; GFX1164DAGISEL: ; %bb.0: ; %entry
1155
1119
; GFX1164DAGISEL-NEXT: s_load_b64 s[0:1], s[4:5], 0x24
1156
- ; GFX1164DAGISEL-NEXT: v_mov_b32_e32 v0, 0x7b
1157
1120
; GFX1164DAGISEL-NEXT: v_mov_b32_e32 v1, 0
1158
- ; GFX1164DAGISEL-NEXT: v_mov_b32_e32 v2, 0
1121
+ ; GFX1164DAGISEL-NEXT: v_mov_b32_e32 v0, 0x7b
1159
1122
; GFX1164DAGISEL-NEXT: s_waitcnt lgkmcnt(0)
1160
- ; GFX1164DAGISEL-NEXT: global_store_b64 v2 , v[0:1], s[0:1]
1123
+ ; GFX1164DAGISEL-NEXT: global_store_b64 v1 , v[0:1], s[0:1]
1161
1124
; GFX1164DAGISEL-NEXT: s_endpgm
1162
1125
;
1163
1126
; GFX1164GISEL-LABEL: const_value_i64:
@@ -1173,10 +1136,9 @@ define amdgpu_kernel void @const_value_i64(ptr addrspace(1) %out) {
1173
1136
; GFX1132DAGISEL-LABEL: const_value_i64:
1174
1137
; GFX1132DAGISEL: ; %bb.0: ; %entry
1175
1138
; GFX1132DAGISEL-NEXT: s_load_b64 s[0:1], s[4:5], 0x24
1176
- ; GFX1132DAGISEL-NEXT: v_mov_b32_e32 v0, 0x7b
1177
- ; GFX1132DAGISEL-NEXT: v_dual_mov_b32 v1, 0 :: v_dual_mov_b32 v2, 0
1139
+ ; GFX1132DAGISEL-NEXT: v_dual_mov_b32 v1, 0 :: v_dual_mov_b32 v0, 0x7b
1178
1140
; GFX1132DAGISEL-NEXT: s_waitcnt lgkmcnt(0)
1179
- ; GFX1132DAGISEL-NEXT: global_store_b64 v2 , v[0:1], s[0:1]
1141
+ ; GFX1132DAGISEL-NEXT: global_store_b64 v1 , v[0:1], s[0:1]
1180
1142
; GFX1132DAGISEL-NEXT: s_endpgm
1181
1143
;
1182
1144
; GFX1132GISEL-LABEL: const_value_i64:
@@ -1196,68 +1158,34 @@ entry:
1196
1158
define amdgpu_kernel void @poison_value_i64 (ptr addrspace (1 ) %out , i64 %in ) {
1197
1159
; GFX8DAGISEL-LABEL: poison_value_i64:
1198
1160
; GFX8DAGISEL: ; %bb.0: ; %entry
1199
- ; GFX8DAGISEL-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x24
1200
- ; GFX8DAGISEL-NEXT: s_waitcnt lgkmcnt(0)
1201
- ; GFX8DAGISEL-NEXT: v_mov_b32_e32 v0, s0
1202
- ; GFX8DAGISEL-NEXT: v_mov_b32_e32 v1, s1
1203
- ; GFX8DAGISEL-NEXT: flat_store_dwordx2 v[0:1], v[0:1]
1204
1161
; GFX8DAGISEL-NEXT: s_endpgm
1205
1162
;
1206
1163
; GFX8GISEL-LABEL: poison_value_i64:
1207
1164
; GFX8GISEL: ; %bb.0: ; %entry
1208
- ; GFX8GISEL-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x24
1209
- ; GFX8GISEL-NEXT: s_waitcnt lgkmcnt(0)
1210
- ; GFX8GISEL-NEXT: v_mov_b32_e32 v0, s0
1211
- ; GFX8GISEL-NEXT: v_mov_b32_e32 v1, s1
1212
- ; GFX8GISEL-NEXT: flat_store_dwordx2 v[0:1], v[0:1]
1213
1165
; GFX8GISEL-NEXT: s_endpgm
1214
1166
;
1215
1167
; GFX9DAGISEL-LABEL: poison_value_i64:
1216
1168
; GFX9DAGISEL: ; %bb.0: ; %entry
1217
- ; GFX9DAGISEL-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x24
1218
- ; GFX9DAGISEL-NEXT: v_mov_b32_e32 v0, 0
1219
- ; GFX9DAGISEL-NEXT: s_waitcnt lgkmcnt(0)
1220
- ; GFX9DAGISEL-NEXT: global_store_dwordx2 v0, v[0:1], s[0:1]
1221
1169
; GFX9DAGISEL-NEXT: s_endpgm
1222
1170
;
1223
1171
; GFX9GISEL-LABEL: poison_value_i64:
1224
1172
; GFX9GISEL: ; %bb.0: ; %entry
1225
- ; GFX9GISEL-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x24
1226
- ; GFX9GISEL-NEXT: v_mov_b32_e32 v0, 0
1227
- ; GFX9GISEL-NEXT: s_waitcnt lgkmcnt(0)
1228
- ; GFX9GISEL-NEXT: global_store_dwordx2 v0, v[0:1], s[0:1]
1229
1173
; GFX9GISEL-NEXT: s_endpgm
1230
1174
;
1231
1175
; GFX10DAGISEL-LABEL: poison_value_i64:
1232
1176
; GFX10DAGISEL: ; %bb.0: ; %entry
1233
- ; GFX10DAGISEL-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x24
1234
- ; GFX10DAGISEL-NEXT: v_mov_b32_e32 v0, 0
1235
- ; GFX10DAGISEL-NEXT: s_waitcnt lgkmcnt(0)
1236
- ; GFX10DAGISEL-NEXT: global_store_dwordx2 v0, v[0:1], s[0:1]
1237
1177
; GFX10DAGISEL-NEXT: s_endpgm
1238
1178
;
1239
1179
; GFX10GISEL-LABEL: poison_value_i64:
1240
1180
; GFX10GISEL: ; %bb.0: ; %entry
1241
- ; GFX10GISEL-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x24
1242
- ; GFX10GISEL-NEXT: v_mov_b32_e32 v0, 0
1243
- ; GFX10GISEL-NEXT: s_waitcnt lgkmcnt(0)
1244
- ; GFX10GISEL-NEXT: global_store_dwordx2 v0, v[0:1], s[0:1]
1245
1181
; GFX10GISEL-NEXT: s_endpgm
1246
1182
;
1247
1183
; GFX11DAGISEL-LABEL: poison_value_i64:
1248
1184
; GFX11DAGISEL: ; %bb.0: ; %entry
1249
- ; GFX11DAGISEL-NEXT: s_load_b64 s[0:1], s[4:5], 0x24
1250
- ; GFX11DAGISEL-NEXT: v_mov_b32_e32 v0, 0
1251
- ; GFX11DAGISEL-NEXT: s_waitcnt lgkmcnt(0)
1252
- ; GFX11DAGISEL-NEXT: global_store_b64 v0, v[0:1], s[0:1]
1253
1185
; GFX11DAGISEL-NEXT: s_endpgm
1254
1186
;
1255
1187
; GFX11GISEL-LABEL: poison_value_i64:
1256
1188
; GFX11GISEL: ; %bb.0: ; %entry
1257
- ; GFX11GISEL-NEXT: s_load_b64 s[0:1], s[4:5], 0x24
1258
- ; GFX11GISEL-NEXT: v_mov_b32_e32 v0, 0
1259
- ; GFX11GISEL-NEXT: s_waitcnt lgkmcnt(0)
1260
- ; GFX11GISEL-NEXT: global_store_b64 v0, v[0:1], s[0:1]
1261
1189
; GFX11GISEL-NEXT: s_endpgm
1262
1190
entry:
1263
1191
%result = call i64 @llvm.amdgcn.wave.reduce.and.i64 (i64 poison, i32 1 )
0 commit comments