@@ -268,5 +268,30 @@ define amdgpu_kernel void @test_get_99999_i64(ptr addrspace(1) %out) {
268
268
ret void
269
269
}
270
270
271
+ define amdgpu_kernel void @test_get_136_i64 (ptr addrspace (1 ) %out ) {
272
+ ; GFX11-LABEL: test_get_136_i64:
273
+ ; GFX11: ; %bb.0:
274
+ ; GFX11-NEXT: s_load_b64 s[0:1], s[4:5], 0x24
275
+ ; GFX11-NEXT: s_sendmsg_rtn_b64 s[2:3], sendmsg(136, 0, 0)
276
+ ; GFX11-NEXT: v_mov_b32_e32 v2, 0
277
+ ; GFX11-NEXT: s_waitcnt lgkmcnt(0)
278
+ ; GFX11-NEXT: v_dual_mov_b32 v0, s2 :: v_dual_mov_b32 v1, s3
279
+ ; GFX11-NEXT: global_store_b64 v2, v[0:1], s[0:1]
280
+ ; GFX11-NEXT: s_endpgm
281
+ ;
282
+ ; GFX1250-LABEL: test_get_136_i64:
283
+ ; GFX1250: ; %bb.0:
284
+ ; GFX1250-NEXT: s_load_b64 s[0:1], s[4:5], 0x24
285
+ ; GFX1250-NEXT: s_sendmsg_rtn_b64 s[2:3], sendmsg(MSG_RTN_GET_CLUSTER_BARRIER_STATE)
286
+ ; GFX1250-NEXT: v_mov_b32_e32 v2, 0
287
+ ; GFX1250-NEXT: s_wait_kmcnt 0x0
288
+ ; GFX1250-NEXT: v_mov_b64_e32 v[0:1], s[2:3]
289
+ ; GFX1250-NEXT: global_store_b64 v2, v[0:1], s[0:1]
290
+ ; GFX1250-NEXT: s_endpgm
291
+ %ret = call i64 @llvm.amdgcn.s.sendmsg.rtn.i64 (i32 136 )
292
+ store i64 %ret , ptr addrspace (1 ) %out
293
+ ret void
294
+ }
295
+
271
296
declare i32 @llvm.amdgcn.s.sendmsg.rtn.i32 (i32 )
272
297
declare i64 @llvm.amdgcn.s.sendmsg.rtn.i64 (i32 )
0 commit comments