@@ -1147,12 +1147,11 @@ define amdgpu_kernel void @test_call_external_void_func_v2i64() #0 {
11471147; VI-NEXT: s_mov_b32 s37, SCRATCH_RSRC_DWORD1
11481148; VI-NEXT: s_mov_b32 s38, -1
11491149; VI-NEXT: s_mov_b32 s39, 0xe80000
1150- ; VI-NEXT: s_mov_b64 s[6:7], s[0:1]
1151- ; VI-NEXT: s_mov_b32 s0, 0
11521150; VI-NEXT: s_add_u32 s36, s36, s3
1151+ ; VI-NEXT: s_mov_b64 s[6:7], s[0:1]
1152+ ; VI-NEXT: s_mov_b64 s[0:1], 0
11531153; VI-NEXT: s_mov_b32 s3, 0xf000
11541154; VI-NEXT: s_mov_b32 s2, -1
1155- ; VI-NEXT: s_mov_b32 s1, s0
11561155; VI-NEXT: buffer_load_dwordx4 v[0:3], off, s[0:3], 0
11571156; VI-NEXT: s_addc_u32 s37, s37, 0
11581157; VI-NEXT: s_mov_b64 s[0:1], s[36:37]
@@ -1170,12 +1169,11 @@ define amdgpu_kernel void @test_call_external_void_func_v2i64() #0 {
11701169; CI-NEXT: s_mov_b32 s37, SCRATCH_RSRC_DWORD1
11711170; CI-NEXT: s_mov_b32 s38, -1
11721171; CI-NEXT: s_mov_b32 s39, 0xe8f000
1173- ; CI-NEXT: s_mov_b64 s[6:7], s[0:1]
1174- ; CI-NEXT: s_mov_b32 s0, 0
11751172; CI-NEXT: s_add_u32 s36, s36, s3
1173+ ; CI-NEXT: s_mov_b64 s[6:7], s[0:1]
1174+ ; CI-NEXT: s_mov_b64 s[0:1], 0
11761175; CI-NEXT: s_mov_b32 s3, 0xf000
11771176; CI-NEXT: s_mov_b32 s2, -1
1178- ; CI-NEXT: s_mov_b32 s1, s0
11791177; CI-NEXT: buffer_load_dwordx4 v[0:3], off, s[0:3], 0
11801178; CI-NEXT: s_addc_u32 s37, s37, 0
11811179; CI-NEXT: s_mov_b64 s[0:1], s[36:37]
@@ -1193,12 +1191,11 @@ define amdgpu_kernel void @test_call_external_void_func_v2i64() #0 {
11931191; GFX9-NEXT: s_mov_b32 s37, SCRATCH_RSRC_DWORD1
11941192; GFX9-NEXT: s_mov_b32 s38, -1
11951193; GFX9-NEXT: s_mov_b32 s39, 0xe00000
1196- ; GFX9-NEXT: s_mov_b64 s[6:7], s[0:1]
1197- ; GFX9-NEXT: s_mov_b32 s0, 0
11981194; GFX9-NEXT: s_add_u32 s36, s36, s3
1195+ ; GFX9-NEXT: s_mov_b64 s[6:7], s[0:1]
1196+ ; GFX9-NEXT: s_mov_b64 s[0:1], 0
11991197; GFX9-NEXT: s_mov_b32 s3, 0xf000
12001198; GFX9-NEXT: s_mov_b32 s2, -1
1201- ; GFX9-NEXT: s_mov_b32 s1, s0
12021199; GFX9-NEXT: buffer_load_dwordx4 v[0:3], off, s[0:3], 0
12031200; GFX9-NEXT: s_addc_u32 s37, s37, 0
12041201; GFX9-NEXT: s_mov_b64 s[0:1], s[36:37]
@@ -1212,10 +1209,9 @@ define amdgpu_kernel void @test_call_external_void_func_v2i64() #0 {
12121209;
12131210; GFX11-LABEL: test_call_external_void_func_v2i64:
12141211; GFX11: ; %bb.0:
1215- ; GFX11-NEXT: s_mov_b32 s4 , 0
1212+ ; GFX11-NEXT: s_mov_b64 s[4:5] , 0
12161213; GFX11-NEXT: s_mov_b32 s7, 0x31016000
12171214; GFX11-NEXT: s_mov_b32 s6, -1
1218- ; GFX11-NEXT: s_mov_b32 s5, s4
12191215; GFX11-NEXT: s_getpc_b64 s[2:3]
12201216; GFX11-NEXT: s_add_u32 s2, s2, external_void_func_v2i64@rel32@lo+4
12211217; GFX11-NEXT: s_addc_u32 s3, s3, external_void_func_v2i64@rel32@hi+12
@@ -1229,11 +1225,10 @@ define amdgpu_kernel void @test_call_external_void_func_v2i64() #0 {
12291225; HSA: ; %bb.0:
12301226; HSA-NEXT: s_add_i32 s6, s6, s9
12311227; HSA-NEXT: s_lshr_b32 flat_scratch_hi, s6, 8
1232- ; HSA-NEXT: s_mov_b32 s8, 0
12331228; HSA-NEXT: s_add_u32 s0, s0, s9
1229+ ; HSA-NEXT: s_mov_b64 s[8:9], 0
12341230; HSA-NEXT: s_mov_b32 s11, 0x1100f000
12351231; HSA-NEXT: s_mov_b32 s10, -1
1236- ; HSA-NEXT: s_mov_b32 s9, s8
12371232; HSA-NEXT: buffer_load_dwordx4 v[0:3], off, s[8:11], 0
12381233; HSA-NEXT: s_addc_u32 s1, s1, 0
12391234; HSA-NEXT: s_mov_b32 flat_scratch_lo, s7
@@ -1357,12 +1352,11 @@ define amdgpu_kernel void @test_call_external_void_func_v3i64() #0 {
13571352; VI-NEXT: s_mov_b32 s37, SCRATCH_RSRC_DWORD1
13581353; VI-NEXT: s_mov_b32 s38, -1
13591354; VI-NEXT: s_mov_b32 s39, 0xe80000
1360- ; VI-NEXT: s_mov_b64 s[6:7], s[0:1]
1361- ; VI-NEXT: s_mov_b32 s0, 0
13621355; VI-NEXT: s_add_u32 s36, s36, s3
1356+ ; VI-NEXT: s_mov_b64 s[6:7], s[0:1]
1357+ ; VI-NEXT: s_mov_b64 s[0:1], 0
13631358; VI-NEXT: s_mov_b32 s3, 0xf000
13641359; VI-NEXT: s_mov_b32 s2, -1
1365- ; VI-NEXT: s_mov_b32 s1, s0
13661360; VI-NEXT: buffer_load_dwordx4 v[0:3], off, s[0:3], 0
13671361; VI-NEXT: s_addc_u32 s37, s37, 0
13681362; VI-NEXT: s_mov_b64 s[0:1], s[36:37]
@@ -1382,12 +1376,11 @@ define amdgpu_kernel void @test_call_external_void_func_v3i64() #0 {
13821376; CI-NEXT: s_mov_b32 s37, SCRATCH_RSRC_DWORD1
13831377; CI-NEXT: s_mov_b32 s38, -1
13841378; CI-NEXT: s_mov_b32 s39, 0xe8f000
1385- ; CI-NEXT: s_mov_b64 s[6:7], s[0:1]
1386- ; CI-NEXT: s_mov_b32 s0, 0
13871379; CI-NEXT: s_add_u32 s36, s36, s3
1380+ ; CI-NEXT: s_mov_b64 s[6:7], s[0:1]
1381+ ; CI-NEXT: s_mov_b64 s[0:1], 0
13881382; CI-NEXT: s_mov_b32 s3, 0xf000
13891383; CI-NEXT: s_mov_b32 s2, -1
1390- ; CI-NEXT: s_mov_b32 s1, s0
13911384; CI-NEXT: buffer_load_dwordx4 v[0:3], off, s[0:3], 0
13921385; CI-NEXT: s_addc_u32 s37, s37, 0
13931386; CI-NEXT: s_mov_b64 s[0:1], s[36:37]
@@ -1407,12 +1400,11 @@ define amdgpu_kernel void @test_call_external_void_func_v3i64() #0 {
14071400; GFX9-NEXT: s_mov_b32 s37, SCRATCH_RSRC_DWORD1
14081401; GFX9-NEXT: s_mov_b32 s38, -1
14091402; GFX9-NEXT: s_mov_b32 s39, 0xe00000
1410- ; GFX9-NEXT: s_mov_b64 s[6:7], s[0:1]
1411- ; GFX9-NEXT: s_mov_b32 s0, 0
14121403; GFX9-NEXT: s_add_u32 s36, s36, s3
1404+ ; GFX9-NEXT: s_mov_b64 s[6:7], s[0:1]
1405+ ; GFX9-NEXT: s_mov_b64 s[0:1], 0
14131406; GFX9-NEXT: s_mov_b32 s3, 0xf000
14141407; GFX9-NEXT: s_mov_b32 s2, -1
1415- ; GFX9-NEXT: s_mov_b32 s1, s0
14161408; GFX9-NEXT: buffer_load_dwordx4 v[0:3], off, s[0:3], 0
14171409; GFX9-NEXT: s_addc_u32 s37, s37, 0
14181410; GFX9-NEXT: s_mov_b64 s[0:1], s[36:37]
@@ -1428,10 +1420,9 @@ define amdgpu_kernel void @test_call_external_void_func_v3i64() #0 {
14281420;
14291421; GFX11-LABEL: test_call_external_void_func_v3i64:
14301422; GFX11: ; %bb.0:
1431- ; GFX11-NEXT: s_mov_b32 s4 , 0
1423+ ; GFX11-NEXT: s_mov_b64 s[4:5] , 0
14321424; GFX11-NEXT: s_mov_b32 s7, 0x31016000
14331425; GFX11-NEXT: s_mov_b32 s6, -1
1434- ; GFX11-NEXT: s_mov_b32 s5, s4
14351426; GFX11-NEXT: v_dual_mov_b32 v4, 1 :: v_dual_mov_b32 v5, 2
14361427; GFX11-NEXT: buffer_load_b128 v[0:3], off, s[4:7], 0
14371428; GFX11-NEXT: s_getpc_b64 s[2:3]
@@ -1446,11 +1437,10 @@ define amdgpu_kernel void @test_call_external_void_func_v3i64() #0 {
14461437; HSA: ; %bb.0:
14471438; HSA-NEXT: s_add_i32 s6, s6, s9
14481439; HSA-NEXT: s_lshr_b32 flat_scratch_hi, s6, 8
1449- ; HSA-NEXT: s_mov_b32 s8, 0
14501440; HSA-NEXT: s_add_u32 s0, s0, s9
1441+ ; HSA-NEXT: s_mov_b64 s[8:9], 0
14511442; HSA-NEXT: s_mov_b32 s11, 0x1100f000
14521443; HSA-NEXT: s_mov_b32 s10, -1
1453- ; HSA-NEXT: s_mov_b32 s9, s8
14541444; HSA-NEXT: buffer_load_dwordx4 v[0:3], off, s[8:11], 0
14551445; HSA-NEXT: s_addc_u32 s1, s1, 0
14561446; HSA-NEXT: s_mov_b32 flat_scratch_lo, s7
@@ -1477,12 +1467,11 @@ define amdgpu_kernel void @test_call_external_void_func_v4i64() #0 {
14771467; VI-NEXT: s_mov_b32 s37, SCRATCH_RSRC_DWORD1
14781468; VI-NEXT: s_mov_b32 s38, -1
14791469; VI-NEXT: s_mov_b32 s39, 0xe80000
1480- ; VI-NEXT: s_mov_b64 s[6:7], s[0:1]
1481- ; VI-NEXT: s_mov_b32 s0, 0
14821470; VI-NEXT: s_add_u32 s36, s36, s3
1471+ ; VI-NEXT: s_mov_b64 s[6:7], s[0:1]
1472+ ; VI-NEXT: s_mov_b64 s[0:1], 0
14831473; VI-NEXT: s_mov_b32 s3, 0xf000
14841474; VI-NEXT: s_mov_b32 s2, -1
1485- ; VI-NEXT: s_mov_b32 s1, s0
14861475; VI-NEXT: buffer_load_dwordx4 v[0:3], off, s[0:3], 0
14871476; VI-NEXT: s_addc_u32 s37, s37, 0
14881477; VI-NEXT: s_mov_b64 s[0:1], s[36:37]
@@ -1504,12 +1493,11 @@ define amdgpu_kernel void @test_call_external_void_func_v4i64() #0 {
15041493; CI-NEXT: s_mov_b32 s37, SCRATCH_RSRC_DWORD1
15051494; CI-NEXT: s_mov_b32 s38, -1
15061495; CI-NEXT: s_mov_b32 s39, 0xe8f000
1507- ; CI-NEXT: s_mov_b64 s[6:7], s[0:1]
1508- ; CI-NEXT: s_mov_b32 s0, 0
15091496; CI-NEXT: s_add_u32 s36, s36, s3
1497+ ; CI-NEXT: s_mov_b64 s[6:7], s[0:1]
1498+ ; CI-NEXT: s_mov_b64 s[0:1], 0
15101499; CI-NEXT: s_mov_b32 s3, 0xf000
15111500; CI-NEXT: s_mov_b32 s2, -1
1512- ; CI-NEXT: s_mov_b32 s1, s0
15131501; CI-NEXT: buffer_load_dwordx4 v[0:3], off, s[0:3], 0
15141502; CI-NEXT: s_addc_u32 s37, s37, 0
15151503; CI-NEXT: s_mov_b64 s[0:1], s[36:37]
@@ -1531,12 +1519,11 @@ define amdgpu_kernel void @test_call_external_void_func_v4i64() #0 {
15311519; GFX9-NEXT: s_mov_b32 s37, SCRATCH_RSRC_DWORD1
15321520; GFX9-NEXT: s_mov_b32 s38, -1
15331521; GFX9-NEXT: s_mov_b32 s39, 0xe00000
1534- ; GFX9-NEXT: s_mov_b64 s[6:7], s[0:1]
1535- ; GFX9-NEXT: s_mov_b32 s0, 0
15361522; GFX9-NEXT: s_add_u32 s36, s36, s3
1523+ ; GFX9-NEXT: s_mov_b64 s[6:7], s[0:1]
1524+ ; GFX9-NEXT: s_mov_b64 s[0:1], 0
15371525; GFX9-NEXT: s_mov_b32 s3, 0xf000
15381526; GFX9-NEXT: s_mov_b32 s2, -1
1539- ; GFX9-NEXT: s_mov_b32 s1, s0
15401527; GFX9-NEXT: buffer_load_dwordx4 v[0:3], off, s[0:3], 0
15411528; GFX9-NEXT: s_addc_u32 s37, s37, 0
15421529; GFX9-NEXT: s_mov_b64 s[0:1], s[36:37]
@@ -1554,10 +1541,9 @@ define amdgpu_kernel void @test_call_external_void_func_v4i64() #0 {
15541541;
15551542; GFX11-LABEL: test_call_external_void_func_v4i64:
15561543; GFX11: ; %bb.0:
1557- ; GFX11-NEXT: s_mov_b32 s4 , 0
1544+ ; GFX11-NEXT: s_mov_b64 s[4:5] , 0
15581545; GFX11-NEXT: s_mov_b32 s7, 0x31016000
15591546; GFX11-NEXT: s_mov_b32 s6, -1
1560- ; GFX11-NEXT: s_mov_b32 s5, s4
15611547; GFX11-NEXT: v_dual_mov_b32 v4, 1 :: v_dual_mov_b32 v5, 2
15621548; GFX11-NEXT: buffer_load_b128 v[0:3], off, s[4:7], 0
15631549; GFX11-NEXT: v_dual_mov_b32 v6, 3 :: v_dual_mov_b32 v7, 4
@@ -1573,11 +1559,10 @@ define amdgpu_kernel void @test_call_external_void_func_v4i64() #0 {
15731559; HSA: ; %bb.0:
15741560; HSA-NEXT: s_add_i32 s6, s6, s9
15751561; HSA-NEXT: s_lshr_b32 flat_scratch_hi, s6, 8
1576- ; HSA-NEXT: s_mov_b32 s8, 0
15771562; HSA-NEXT: s_add_u32 s0, s0, s9
1563+ ; HSA-NEXT: s_mov_b64 s[8:9], 0
15781564; HSA-NEXT: s_mov_b32 s11, 0x1100f000
15791565; HSA-NEXT: s_mov_b32 s10, -1
1580- ; HSA-NEXT: s_mov_b32 s9, s8
15811566; HSA-NEXT: buffer_load_dwordx4 v[0:3], off, s[8:11], 0
15821567; HSA-NEXT: s_addc_u32 s1, s1, 0
15831568; HSA-NEXT: s_mov_b32 flat_scratch_lo, s7
0 commit comments