@@ -1833,9 +1833,8 @@ define void @divergent_value_i64(ptr addrspace(1) %out, i64 %id.x) {
18331833; GFX8DAGISEL-LABEL: divergent_value_i64:
18341834; GFX8DAGISEL: ; %bb.0: ; %entry
18351835; GFX8DAGISEL-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
1836- ; GFX8DAGISEL-NEXT: s_mov_b32 s4 , 0
1836+ ; GFX8DAGISEL-NEXT: s_mov_b64 s[4:5] , 0
18371837; GFX8DAGISEL-NEXT: s_mov_b64 s[6:7], exec
1838- ; GFX8DAGISEL-NEXT: s_mov_b32 s5, s4
18391838; GFX8DAGISEL-NEXT: .LBB8_1: ; =>This Inner Loop Header: Depth=1
18401839; GFX8DAGISEL-NEXT: s_ff1_i32_b64 s8, s[6:7]
18411840; GFX8DAGISEL-NEXT: v_readlane_b32 s9, v2, s8
@@ -1855,9 +1854,8 @@ define void @divergent_value_i64(ptr addrspace(1) %out, i64 %id.x) {
18551854; GFX8GISEL-LABEL: divergent_value_i64:
18561855; GFX8GISEL: ; %bb.0: ; %entry
18571856; GFX8GISEL-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
1858- ; GFX8GISEL-NEXT: s_mov_b32 s4 , 0
1857+ ; GFX8GISEL-NEXT: s_mov_b64 s[4:5] , 0
18591858; GFX8GISEL-NEXT: s_mov_b64 s[6:7], exec
1860- ; GFX8GISEL-NEXT: s_mov_b32 s5, s4
18611859; GFX8GISEL-NEXT: .LBB8_1: ; =>This Inner Loop Header: Depth=1
18621860; GFX8GISEL-NEXT: s_ff1_i32_b64 s8, s[6:7]
18631861; GFX8GISEL-NEXT: v_readlane_b32 s9, v2, s8
@@ -1877,9 +1875,8 @@ define void @divergent_value_i64(ptr addrspace(1) %out, i64 %id.x) {
18771875; GFX9DAGISEL-LABEL: divergent_value_i64:
18781876; GFX9DAGISEL: ; %bb.0: ; %entry
18791877; GFX9DAGISEL-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
1880- ; GFX9DAGISEL-NEXT: s_mov_b32 s4 , 0
1878+ ; GFX9DAGISEL-NEXT: s_mov_b64 s[4:5] , 0
18811879; GFX9DAGISEL-NEXT: s_mov_b64 s[6:7], exec
1882- ; GFX9DAGISEL-NEXT: s_mov_b32 s5, s4
18831880; GFX9DAGISEL-NEXT: .LBB8_1: ; =>This Inner Loop Header: Depth=1
18841881; GFX9DAGISEL-NEXT: s_ff1_i32_b64 s8, s[6:7]
18851882; GFX9DAGISEL-NEXT: v_readlane_b32 s9, v2, s8
@@ -1899,9 +1896,8 @@ define void @divergent_value_i64(ptr addrspace(1) %out, i64 %id.x) {
18991896; GFX9GISEL-LABEL: divergent_value_i64:
19001897; GFX9GISEL: ; %bb.0: ; %entry
19011898; GFX9GISEL-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
1902- ; GFX9GISEL-NEXT: s_mov_b32 s4 , 0
1899+ ; GFX9GISEL-NEXT: s_mov_b64 s[4:5] , 0
19031900; GFX9GISEL-NEXT: s_mov_b64 s[6:7], exec
1904- ; GFX9GISEL-NEXT: s_mov_b32 s5, s4
19051901; GFX9GISEL-NEXT: .LBB8_1: ; =>This Inner Loop Header: Depth=1
19061902; GFX9GISEL-NEXT: s_ff1_i32_b64 s8, s[6:7]
19071903; GFX9GISEL-NEXT: v_readlane_b32 s9, v2, s8
@@ -1921,9 +1917,8 @@ define void @divergent_value_i64(ptr addrspace(1) %out, i64 %id.x) {
19211917; GFX1064DAGISEL-LABEL: divergent_value_i64:
19221918; GFX1064DAGISEL: ; %bb.0: ; %entry
19231919; GFX1064DAGISEL-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
1924- ; GFX1064DAGISEL-NEXT: s_mov_b32 s4 , 0
1920+ ; GFX1064DAGISEL-NEXT: s_mov_b64 s[4:5] , 0
19251921; GFX1064DAGISEL-NEXT: s_mov_b64 s[6:7], exec
1926- ; GFX1064DAGISEL-NEXT: s_mov_b32 s5, s4
19271922; GFX1064DAGISEL-NEXT: .LBB8_1: ; =>This Inner Loop Header: Depth=1
19281923; GFX1064DAGISEL-NEXT: s_ff1_i32_b64 s8, s[6:7]
19291924; GFX1064DAGISEL-NEXT: v_readlane_b32 s9, v2, s8
@@ -1942,9 +1937,8 @@ define void @divergent_value_i64(ptr addrspace(1) %out, i64 %id.x) {
19421937; GFX1064GISEL-LABEL: divergent_value_i64:
19431938; GFX1064GISEL: ; %bb.0: ; %entry
19441939; GFX1064GISEL-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
1945- ; GFX1064GISEL-NEXT: s_mov_b32 s4 , 0
1940+ ; GFX1064GISEL-NEXT: s_mov_b64 s[4:5] , 0
19461941; GFX1064GISEL-NEXT: s_mov_b64 s[6:7], exec
1947- ; GFX1064GISEL-NEXT: s_mov_b32 s5, s4
19481942; GFX1064GISEL-NEXT: .LBB8_1: ; =>This Inner Loop Header: Depth=1
19491943; GFX1064GISEL-NEXT: s_ff1_i32_b64 s8, s[6:7]
19501944; GFX1064GISEL-NEXT: v_readlane_b32 s9, v2, s8
@@ -1963,9 +1957,8 @@ define void @divergent_value_i64(ptr addrspace(1) %out, i64 %id.x) {
19631957; GFX1032DAGISEL-LABEL: divergent_value_i64:
19641958; GFX1032DAGISEL: ; %bb.0: ; %entry
19651959; GFX1032DAGISEL-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
1966- ; GFX1032DAGISEL-NEXT: s_mov_b32 s4 , 0
1960+ ; GFX1032DAGISEL-NEXT: s_mov_b64 s[4:5] , 0
19671961; GFX1032DAGISEL-NEXT: s_mov_b32 s6, exec_lo
1968- ; GFX1032DAGISEL-NEXT: s_mov_b32 s5, s4
19691962; GFX1032DAGISEL-NEXT: .LBB8_1: ; =>This Inner Loop Header: Depth=1
19701963; GFX1032DAGISEL-NEXT: s_ff1_i32_b32 s7, s6
19711964; GFX1032DAGISEL-NEXT: v_readlane_b32 s8, v2, s7
@@ -1984,9 +1977,8 @@ define void @divergent_value_i64(ptr addrspace(1) %out, i64 %id.x) {
19841977; GFX1032GISEL-LABEL: divergent_value_i64:
19851978; GFX1032GISEL: ; %bb.0: ; %entry
19861979; GFX1032GISEL-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
1987- ; GFX1032GISEL-NEXT: s_mov_b32 s4 , 0
1980+ ; GFX1032GISEL-NEXT: s_mov_b64 s[4:5] , 0
19881981; GFX1032GISEL-NEXT: s_mov_b32 s6, exec_lo
1989- ; GFX1032GISEL-NEXT: s_mov_b32 s5, s4
19901982; GFX1032GISEL-NEXT: .LBB8_1: ; =>This Inner Loop Header: Depth=1
19911983; GFX1032GISEL-NEXT: s_ff1_i32_b32 s7, s6
19921984; GFX1032GISEL-NEXT: v_readlane_b32 s8, v2, s7
@@ -2005,12 +1997,11 @@ define void @divergent_value_i64(ptr addrspace(1) %out, i64 %id.x) {
20051997; GFX1164DAGISEL-LABEL: divergent_value_i64:
20061998; GFX1164DAGISEL: ; %bb.0: ; %entry
20071999; GFX1164DAGISEL-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
2008- ; GFX1164DAGISEL-NEXT: s_mov_b32 s0 , 0
2000+ ; GFX1164DAGISEL-NEXT: s_mov_b64 s[0:1] , 0
20092001; GFX1164DAGISEL-NEXT: s_mov_b64 s[2:3], exec
2010- ; GFX1164DAGISEL-NEXT: s_mov_b32 s1, s0
20112002; GFX1164DAGISEL-NEXT: .LBB8_1: ; =>This Inner Loop Header: Depth=1
2003+ ; GFX1164DAGISEL-NEXT: s_delay_alu instid0(SALU_CYCLE_1) | instskip(NEXT) | instid1(SALU_CYCLE_1)
20122004; GFX1164DAGISEL-NEXT: s_ctz_i32_b64 s4, s[2:3]
2013- ; GFX1164DAGISEL-NEXT: s_delay_alu instid0(SALU_CYCLE_1)
20142005; GFX1164DAGISEL-NEXT: v_readlane_b32 s5, v2, s4
20152006; GFX1164DAGISEL-NEXT: v_readlane_b32 s6, v3, s4
20162007; GFX1164DAGISEL-NEXT: s_bitset0_b64 s[2:3], s4
@@ -2027,12 +2018,11 @@ define void @divergent_value_i64(ptr addrspace(1) %out, i64 %id.x) {
20272018; GFX1164GISEL-LABEL: divergent_value_i64:
20282019; GFX1164GISEL: ; %bb.0: ; %entry
20292020; GFX1164GISEL-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
2030- ; GFX1164GISEL-NEXT: s_mov_b32 s0 , 0
2021+ ; GFX1164GISEL-NEXT: s_mov_b64 s[0:1] , 0
20312022; GFX1164GISEL-NEXT: s_mov_b64 s[2:3], exec
2032- ; GFX1164GISEL-NEXT: s_mov_b32 s1, s0
20332023; GFX1164GISEL-NEXT: .LBB8_1: ; =>This Inner Loop Header: Depth=1
2024+ ; GFX1164GISEL-NEXT: s_delay_alu instid0(SALU_CYCLE_1) | instskip(NEXT) | instid1(SALU_CYCLE_1)
20342025; GFX1164GISEL-NEXT: s_ctz_i32_b64 s4, s[2:3]
2035- ; GFX1164GISEL-NEXT: s_delay_alu instid0(SALU_CYCLE_1)
20362026; GFX1164GISEL-NEXT: v_readlane_b32 s5, v2, s4
20372027; GFX1164GISEL-NEXT: v_readlane_b32 s6, v3, s4
20382028; GFX1164GISEL-NEXT: s_bitset0_b64 s[2:3], s4
@@ -2049,12 +2039,11 @@ define void @divergent_value_i64(ptr addrspace(1) %out, i64 %id.x) {
20492039; GFX1132DAGISEL-LABEL: divergent_value_i64:
20502040; GFX1132DAGISEL: ; %bb.0: ; %entry
20512041; GFX1132DAGISEL-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
2052- ; GFX1132DAGISEL-NEXT: s_mov_b32 s0 , 0
2042+ ; GFX1132DAGISEL-NEXT: s_mov_b64 s[0:1] , 0
20532043; GFX1132DAGISEL-NEXT: s_mov_b32 s2, exec_lo
2054- ; GFX1132DAGISEL-NEXT: s_mov_b32 s1, s0
20552044; GFX1132DAGISEL-NEXT: .LBB8_1: ; =>This Inner Loop Header: Depth=1
2045+ ; GFX1132DAGISEL-NEXT: s_delay_alu instid0(SALU_CYCLE_1) | instskip(NEXT) | instid1(SALU_CYCLE_1)
20562046; GFX1132DAGISEL-NEXT: s_ctz_i32_b32 s3, s2
2057- ; GFX1132DAGISEL-NEXT: s_delay_alu instid0(SALU_CYCLE_1)
20582047; GFX1132DAGISEL-NEXT: v_readlane_b32 s4, v2, s3
20592048; GFX1132DAGISEL-NEXT: v_readlane_b32 s5, v3, s3
20602049; GFX1132DAGISEL-NEXT: s_bitset0_b32 s2, s3
@@ -2070,12 +2059,11 @@ define void @divergent_value_i64(ptr addrspace(1) %out, i64 %id.x) {
20702059; GFX1132GISEL-LABEL: divergent_value_i64:
20712060; GFX1132GISEL: ; %bb.0: ; %entry
20722061; GFX1132GISEL-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
2073- ; GFX1132GISEL-NEXT: s_mov_b32 s0 , 0
2062+ ; GFX1132GISEL-NEXT: s_mov_b64 s[0:1] , 0
20742063; GFX1132GISEL-NEXT: s_mov_b32 s2, exec_lo
2075- ; GFX1132GISEL-NEXT: s_mov_b32 s1, s0
20762064; GFX1132GISEL-NEXT: .LBB8_1: ; =>This Inner Loop Header: Depth=1
2065+ ; GFX1132GISEL-NEXT: s_delay_alu instid0(SALU_CYCLE_1) | instskip(NEXT) | instid1(SALU_CYCLE_1)
20772066; GFX1132GISEL-NEXT: s_ctz_i32_b32 s3, s2
2078- ; GFX1132GISEL-NEXT: s_delay_alu instid0(SALU_CYCLE_1)
20792067; GFX1132GISEL-NEXT: v_readlane_b32 s4, v2, s3
20802068; GFX1132GISEL-NEXT: v_readlane_b32 s5, v3, s3
20812069; GFX1132GISEL-NEXT: s_bitset0_b32 s2, s3
0 commit comments