Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / CodeGen / AMDGPU / branch-folding-implicit-def-subreg.ll
blob96dbb03cded5588aea8e509141dd4f0f918c0e63
1 ; NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 2
2 ; RUN: llc -O3 -mtriple=amdgcn-amd-amdhsa -mcpu=gfx90a -stop-after=branch-folder < %s | FileCheck %s -check-prefix=GFX90A
4 define amdgpu_kernel void @f1(ptr addrspace(1) %arg, ptr addrspace(1) %arg1, i64 %arg2, i1 %arg3, i1 %arg4, i1 %arg5, i1 %arg6, ptr addrspace(3) %arg7, ptr addrspace(3) %arg8, ptr addrspace(3) %arg9, ptr addrspace(3) %arg10) {
5   ; GFX90A-LABEL: name: f1
6   ; GFX90A: bb.0.bb:
7   ; GFX90A-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)
8   ; GFX90A-NEXT:   liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr0, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9, $sgpr10_sgpr11, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr17, $sgpr12_sgpr13
9   ; GFX90A-NEXT: {{  $}}
10   ; GFX90A-NEXT:   $sgpr32 = S_MOV_B32 0
11   ; GFX90A-NEXT:   $flat_scr_lo = S_ADD_U32 $sgpr12, $sgpr17, implicit-def $scc
12   ; GFX90A-NEXT:   $flat_scr_hi = S_ADDC_U32 $sgpr13, 0, implicit-def dead $scc, implicit $scc
13   ; GFX90A-NEXT:   $sgpr0 = S_ADD_U32 $sgpr0, $sgpr17, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
14   ; GFX90A-NEXT:   $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
15   ; GFX90A-NEXT:   renamable $vgpr31 = COPY $vgpr0, implicit $exec
16   ; GFX90A-NEXT:   renamable $sgpr33 = S_LOAD_DWORD_IMM renamable $sgpr8_sgpr9, 24, 0 :: (dereferenceable invariant load (s32) from %ir.arg4.kernarg.offset.align.down, align 8, addrspace 4)
17   ; GFX90A-NEXT:   renamable $sgpr20_sgpr21_sgpr22_sgpr23 = S_LOAD_DWORDX4_IMM renamable $sgpr8_sgpr9, 24, 0 :: (dereferenceable invariant load (s128) from %ir.arg6.kernarg.offset.align.down, align 8, addrspace 4)
18   ; GFX90A-NEXT:   renamable $sgpr17 = S_LOAD_DWORD_IMM renamable $sgpr8_sgpr9, 40, 0 :: (dereferenceable invariant load (s32) from %ir.arg6.kernarg.offset.align.down + 16, align 8, addrspace 4)
19   ; GFX90A-NEXT:   renamable $sgpr24_sgpr25_sgpr26_sgpr27 = S_LOAD_DWORDX4_IMM renamable $sgpr8_sgpr9, 0, 0 :: (dereferenceable invariant load (s128) from %ir.arg.kernarg.offset1, addrspace 4)
20   ; GFX90A-NEXT:   renamable $sgpr56_sgpr57 = S_LOAD_DWORDX2_IMM renamable $sgpr8_sgpr9, 16, 0 :: (dereferenceable invariant load (s64) from %ir.arg.kernarg.offset1 + 16, align 16, addrspace 4)
21   ; GFX90A-NEXT:   S_BITCMP1_B32 renamable $sgpr33, 0, implicit-def $scc
22   ; GFX90A-NEXT:   renamable $sgpr12_sgpr13 = S_CSELECT_B64 -1, 0, implicit killed $scc
23   ; GFX90A-NEXT:   renamable $sgpr34_sgpr35 = S_MOV_B64 -1
24   ; GFX90A-NEXT:   renamable $sgpr28_sgpr29 = S_XOR_B64 renamable $sgpr12_sgpr13, -1, implicit-def dead $scc
25   ; GFX90A-NEXT:   S_BITCMP1_B32 renamable $sgpr33, 8, implicit-def $scc
26   ; GFX90A-NEXT:   renamable $sgpr18_sgpr19 = S_CSELECT_B64 -1, 0, implicit killed $scc
27   ; GFX90A-NEXT:   renamable $sgpr30_sgpr31 = S_XOR_B64 killed renamable $sgpr18_sgpr19, -1, implicit-def dead $scc
28   ; GFX90A-NEXT:   renamable $vgpr3 = V_MOV_B32_e32 0, implicit $exec
29   ; GFX90A-NEXT:   renamable $vgpr2 = DS_READ_B32_gfx9 renamable $vgpr3, 0, 0, implicit $exec :: (load (s32) from `ptr addrspace(3) null`, align 8, addrspace 3)
30   ; GFX90A-NEXT:   renamable $sgpr18_sgpr19 = S_MOV_B64 0
31   ; GFX90A-NEXT:   renamable $vcc = S_AND_B64 $exec, renamable $sgpr28_sgpr29, implicit-def dead $scc
32   ; GFX90A-NEXT:   S_CBRANCH_VCCZ %bb.2, implicit $vcc
33   ; GFX90A-NEXT: {{  $}}
34   ; GFX90A-NEXT: bb.1.bb103:
35   ; GFX90A-NEXT:   successors: %bb.58(0x40000000), %bb.2(0x40000000)
36   ; GFX90A-NEXT:   liveins: $sgpr14, $sgpr15, $sgpr16, $sgpr17, $sgpr33, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr18_sgpr19, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr56_sgpr57:0x000000000000000F, $sgpr20_sgpr21_sgpr22_sgpr23:0x00000000000000FF, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000FF, $vgpr2_vgpr3:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
37   ; GFX90A-NEXT: {{  $}}
38   ; GFX90A-NEXT:   renamable $sgpr34_sgpr35 = S_MOV_B64 0
39   ; GFX90A-NEXT:   renamable $vcc = S_AND_B64 $exec, renamable $sgpr30_sgpr31, implicit-def dead $scc
40   ; GFX90A-NEXT:   $vgpr22 = IMPLICIT_DEF
41   ; GFX90A-NEXT:   $vgpr10 = IMPLICIT_DEF
42   ; GFX90A-NEXT:   $vgpr24 = IMPLICIT_DEF
43   ; GFX90A-NEXT:   $vgpr18 = IMPLICIT_DEF
44   ; GFX90A-NEXT:   $vgpr20 = IMPLICIT_DEF
45   ; GFX90A-NEXT:   S_CBRANCH_VCCNZ %bb.58, implicit $vcc
46   ; GFX90A-NEXT: {{  $}}
47   ; GFX90A-NEXT: bb.2:
48   ; GFX90A-NEXT:   successors: %bb.3(0x80000000)
49   ; GFX90A-NEXT:   liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr22, $sgpr33, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8, $sgpr9, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr18_sgpr19, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr56, $sgpr57, $sgpr20_sgpr21_sgpr22, $sgpr24_sgpr25_sgpr26, $sgpr26_sgpr27, $vgpr2, $vgpr3, $vgpr10, $vgpr24, $vgpr18, $vgpr20
50   ; GFX90A-NEXT: {{  $}}
51   ; GFX90A-NEXT:   renamable $sgpr17 = IMPLICIT_DEF
52   ; GFX90A-NEXT:   renamable $sgpr23 = IMPLICIT_DEF
53   ; GFX90A-NEXT:   renamable $vgpr11 = IMPLICIT_DEF
54   ; GFX90A-NEXT:   renamable $vgpr19 = IMPLICIT_DEF
55   ; GFX90A-NEXT:   renamable $vgpr21 = IMPLICIT_DEF
56   ; GFX90A-NEXT:   renamable $vgpr23 = IMPLICIT_DEF
57   ; GFX90A-NEXT:   renamable $vgpr25 = IMPLICIT_DEF
58   ; GFX90A-NEXT:   renamable $sgpr36_sgpr37 = S_MOV_B64 0
59   ; GFX90A-NEXT: {{  $}}
60   ; GFX90A-NEXT: bb.3.Flow17:
61   ; GFX90A-NEXT:   successors: %bb.4(0x40000000), %bb.57(0x40000000)
62   ; GFX90A-NEXT:   liveins: $sgpr14, $sgpr15, $sgpr16, $sgpr17, $sgpr23, $sgpr33, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr18_sgpr19, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr56_sgpr57:0x000000000000000F, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003F, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000FF, $vgpr2_vgpr3:0x000000000000000F, $vgpr10_vgpr11:0x000000000000000F, $vgpr18_vgpr19:0x000000000000000F, $vgpr20_vgpr21:0x000000000000000F, $vgpr22_vgpr23:0x000000000000000F, $vgpr24_vgpr25:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
63   ; GFX90A-NEXT: {{  $}}
64   ; GFX90A-NEXT:   renamable $vgpr30 = V_AND_B32_e32 1023, $vgpr31, implicit $exec
65   ; GFX90A-NEXT:   renamable $vcc = S_AND_B64 $exec, killed renamable $sgpr34_sgpr35, implicit-def dead $scc
66   ; GFX90A-NEXT:   S_CBRANCH_VCCZ %bb.57, implicit $vcc
67   ; GFX90A-NEXT: {{  $}}
68   ; GFX90A-NEXT: bb.4.bb15:
69   ; GFX90A-NEXT:   successors: %bb.35(0x40000000), %bb.5(0x40000000)
70   ; GFX90A-NEXT:   liveins: $sgpr14, $sgpr15, $sgpr16, $sgpr33, $vgpr30, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr36_sgpr37, $sgpr56_sgpr57:0x000000000000000F, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003F, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000FF, $vgpr2_vgpr3:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr18_sgpr19
71   ; GFX90A-NEXT: {{  $}}
72   ; GFX90A-NEXT:   renamable $vgpr0_vgpr1 = V_LSHLREV_B64_e64 2, $vgpr2_vgpr3, implicit $exec
73   ; GFX90A-NEXT:   renamable $vgpr4 = COPY renamable $sgpr25, implicit $exec
74   ; GFX90A-NEXT:   renamable $vgpr46, renamable $vcc = V_ADD_CO_U32_e64 $sgpr24, $vgpr0, 0, implicit $exec
75   ; GFX90A-NEXT:   renamable $vgpr47, dead renamable $vcc = V_ADDC_U32_e64 killed $vgpr4, killed $vgpr1, killed $vcc, 0, implicit $exec
76   ; GFX90A-NEXT:   renamable $vgpr0 = nuw nsw V_LSHLREV_B32_e32 2, $vgpr30, implicit $exec
77   ; GFX90A-NEXT:   renamable $vgpr40, renamable $vcc = V_ADD_CO_U32_e64 $vgpr46, killed $vgpr0, 0, implicit $exec
78   ; GFX90A-NEXT:   renamable $vgpr41, dead renamable $vcc = V_ADDC_U32_e64 0, $vgpr47, killed $vcc, 0, implicit $exec
79   ; GFX90A-NEXT:   renamable $vcc = S_AND_B64 $exec, renamable $sgpr30_sgpr31, implicit-def dead $scc
80   ; GFX90A-NEXT:   S_CBRANCH_VCCNZ %bb.35, implicit $vcc
81   ; GFX90A-NEXT: {{  $}}
82   ; GFX90A-NEXT: bb.5:
83   ; GFX90A-NEXT:   successors: %bb.6(0x80000000)
84   ; GFX90A-NEXT:   liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr30, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr36_sgpr37, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003C, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr2_vgpr3:0x000000000000000F, $vgpr40_vgpr41:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr18_sgpr19
85   ; GFX90A-NEXT: {{  $}}
86   ; GFX90A-NEXT:   renamable $sgpr34_sgpr35 = S_MOV_B64 -1
87   ; GFX90A-NEXT:   renamable $sgpr58_sgpr59 = S_MOV_B64 0
88   ; GFX90A-NEXT:   renamable $sgpr54_sgpr55 = S_MOV_B64 0
89   ; GFX90A-NEXT:   renamable $sgpr52_sgpr53 = S_MOV_B64 0
90   ; GFX90A-NEXT:   renamable $sgpr50_sgpr51 = S_MOV_B64 0
91   ; GFX90A-NEXT:   renamable $sgpr48_sgpr49 = S_MOV_B64 0
92   ; GFX90A-NEXT:   renamable $sgpr46_sgpr47 = S_MOV_B64 0
93   ; GFX90A-NEXT:   renamable $sgpr44_sgpr45 = S_MOV_B64 0
94   ; GFX90A-NEXT:   renamable $sgpr42_sgpr43 = S_MOV_B64 0
95   ; GFX90A-NEXT:   renamable $sgpr40_sgpr41 = S_MOV_B64 0
96   ; GFX90A-NEXT:   renamable $sgpr38_sgpr39 = S_MOV_B64 0
97   ; GFX90A-NEXT:   renamable $vgpr8_vgpr9 = IMPLICIT_DEF
98   ; GFX90A-NEXT:   renamable $vgpr6_vgpr7 = IMPLICIT_DEF
99   ; GFX90A-NEXT:   renamable $vgpr4_vgpr5 = IMPLICIT_DEF
100   ; GFX90A-NEXT:   renamable $vgpr0_vgpr1 = IMPLICIT_DEF
101   ; GFX90A-NEXT:   renamable $vgpr62_vgpr63 = IMPLICIT_DEF
102   ; GFX90A-NEXT:   renamable $vgpr60_vgpr61 = IMPLICIT_DEF
103   ; GFX90A-NEXT:   renamable $vgpr58_vgpr59 = IMPLICIT_DEF
104   ; GFX90A-NEXT:   renamable $vgpr56_vgpr57 = IMPLICIT_DEF
105   ; GFX90A-NEXT:   renamable $vgpr44_vgpr45 = IMPLICIT_DEF
106   ; GFX90A-NEXT:   renamable $vgpr42_vgpr43 = IMPLICIT_DEF
107   ; GFX90A-NEXT:   renamable $vgpr17 = IMPLICIT_DEF
108   ; GFX90A-NEXT:   renamable $vgpr15 = IMPLICIT_DEF
109   ; GFX90A-NEXT:   renamable $vgpr14 = IMPLICIT_DEF
110   ; GFX90A-NEXT:   renamable $vgpr52 = IMPLICIT_DEF
111   ; GFX90A-NEXT:   renamable $vgpr16 = IMPLICIT_DEF
112   ; GFX90A-NEXT:   renamable $vgpr53 = IMPLICIT_DEF
113   ; GFX90A-NEXT:   renamable $vgpr13 = IMPLICIT_DEF
114   ; GFX90A-NEXT:   renamable $vgpr11 = IMPLICIT_DEF
115   ; GFX90A-NEXT:   renamable $sgpr17 = IMPLICIT_DEF
116   ; GFX90A-NEXT: {{  $}}
117   ; GFX90A-NEXT: bb.6.Flow20:
118   ; GFX90A-NEXT:   successors: %bb.7(0x80000000)
119   ; GFX90A-NEXT:   liveins: $sgpr14, $sgpr15, $sgpr16, $sgpr17, $vgpr15, $vgpr17, $vgpr30, $vgpr31, $vgpr52, $vgpr53, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr18_sgpr19, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr48_sgpr49, $sgpr50_sgpr51, $sgpr52_sgpr53, $sgpr54_sgpr55, $sgpr58_sgpr59, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003C, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr0_vgpr1:0x000000000000000F, $vgpr2_vgpr3:0x000000000000000F, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x000000000000000F, $vgpr8_vgpr9:0x000000000000000F, $vgpr10_vgpr11:0x000000000000000F, $vgpr12_vgpr13:0x000000000000000F, $vgpr14_vgpr15:0x0000000000000003, $vgpr16_vgpr17:0x0000000000000003, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
120   ; GFX90A-NEXT: {{  $}}
121   ; GFX90A-NEXT:   renamable $vgpr19 = COPY renamable $sgpr17, implicit $exec
122   ; GFX90A-NEXT:   renamable $vgpr18 = COPY $sgpr17, implicit $exec
123   ; GFX90A-NEXT:   renamable $vgpr21 = COPY $sgpr17, implicit $exec
124   ; GFX90A-NEXT:   renamable $vgpr20 = COPY $sgpr17, implicit $exec
125   ; GFX90A-NEXT:   renamable $vgpr23 = COPY $sgpr17, implicit $exec
126   ; GFX90A-NEXT:   renamable $vgpr22 = COPY $sgpr17, implicit $exec
127   ; GFX90A-NEXT:   renamable $vgpr25 = COPY $sgpr17, implicit $exec
128   ; GFX90A-NEXT:   renamable $vgpr24 = COPY $sgpr17, implicit $exec
129   ; GFX90A-NEXT: {{  $}}
130   ; GFX90A-NEXT: bb.7.Flow19:
131   ; GFX90A-NEXT:   successors: %bb.62(0x40000000), %bb.8(0x40000000)
132   ; GFX90A-NEXT:   liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr15, $vgpr17, $vgpr30, $vgpr31, $vgpr52, $vgpr53, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr18_sgpr19, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr48_sgpr49, $sgpr50_sgpr51, $sgpr52_sgpr53, $sgpr54_sgpr55, $sgpr58_sgpr59, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003C, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr0_vgpr1:0x000000000000000F, $vgpr2_vgpr3:0x000000000000000F, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x000000000000000F, $vgpr8_vgpr9:0x000000000000000F, $vgpr10_vgpr11:0x000000000000000F, $vgpr12_vgpr13:0x000000000000000F, $vgpr14_vgpr15:0x0000000000000003, $vgpr16_vgpr17:0x0000000000000003, $vgpr18_vgpr19:0x000000000000000F, $vgpr20_vgpr21:0x000000000000000F, $vgpr22_vgpr23:0x000000000000000F, $vgpr24_vgpr25:0x000000000000000F, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
133   ; GFX90A-NEXT: {{  $}}
134   ; GFX90A-NEXT:   renamable $sgpr56_sgpr57 = S_MOV_B64 0
135   ; GFX90A-NEXT:   $sgpr24_sgpr25 = S_AND_SAVEEXEC_B64 $sgpr36_sgpr37, implicit-def $exec, implicit-def $scc, implicit $exec
136   ; GFX90A-NEXT:   S_CBRANCH_EXECNZ %bb.62, implicit $exec
137   ; GFX90A-NEXT: {{  $}}
138   ; GFX90A-NEXT: bb.8.Flow32:
139   ; GFX90A-NEXT:   successors: %bb.9(0x40000000), %bb.10(0x40000000)
140   ; GFX90A-NEXT:   liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr18_sgpr19, $sgpr24_sgpr25, $sgpr34_sgpr35, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr48_sgpr49, $sgpr50_sgpr51, $sgpr52_sgpr53, $sgpr54_sgpr55, $sgpr56_sgpr57, $sgpr58_sgpr59, $vgpr0_vgpr1:0x000000000000000F, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x000000000000000F, $vgpr8_vgpr9:0x000000000000000F, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
141   ; GFX90A-NEXT: {{  $}}
142   ; GFX90A-NEXT:   $exec = S_OR_B64 $exec, killed renamable $sgpr24_sgpr25, implicit-def $scc
143   ; GFX90A-NEXT:   $sgpr12_sgpr13 = S_AND_SAVEEXEC_B64 $sgpr18_sgpr19, implicit-def $exec, implicit-def $scc, implicit $exec
144   ; GFX90A-NEXT:   renamable $sgpr12_sgpr13 = S_XOR_B64 $exec, killed renamable $sgpr12_sgpr13, implicit-def dead $scc
145   ; GFX90A-NEXT:   S_CBRANCH_EXECZ %bb.10, implicit $exec
146   ; GFX90A-NEXT: {{  $}}
147   ; GFX90A-NEXT: bb.9.bb89:
148   ; GFX90A-NEXT:   successors: %bb.10(0x80000000)
149   ; GFX90A-NEXT:   liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr34_sgpr35, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr48_sgpr49, $sgpr50_sgpr51, $sgpr52_sgpr53, $sgpr54_sgpr55, $sgpr56_sgpr57, $sgpr58_sgpr59, $vgpr0_vgpr1:0x000000000000000F, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x000000000000000F, $vgpr8_vgpr9:0x000000000000000F, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
150   ; GFX90A-NEXT: {{  $}}
151   ; GFX90A-NEXT:   BUFFER_STORE_DWORD_OFFSET renamable $vgpr9, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 4, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null` + 4, basealign 8, addrspace 5)
152   ; GFX90A-NEXT:   BUFFER_STORE_DWORD_OFFSET killed renamable $vgpr8, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null`, align 8, addrspace 5)
153   ; GFX90A-NEXT:   renamable $sgpr56_sgpr57 = S_OR_B64 killed renamable $sgpr56_sgpr57, $exec, implicit-def dead $scc
154   ; GFX90A-NEXT: {{  $}}
155   ; GFX90A-NEXT: bb.10.Flow33:
156   ; GFX90A-NEXT:   successors: %bb.11(0x40000000), %bb.12(0x40000000)
157   ; GFX90A-NEXT:   liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr34_sgpr35, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr48_sgpr49, $sgpr50_sgpr51, $sgpr52_sgpr53, $sgpr54_sgpr55, $sgpr56_sgpr57, $sgpr58_sgpr59, $vgpr0_vgpr1:0x000000000000000F, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x000000000000000F, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
158   ; GFX90A-NEXT: {{  $}}
159   ; GFX90A-NEXT:   $exec = S_OR_B64 $exec, killed renamable $sgpr12_sgpr13, implicit-def $scc
160   ; GFX90A-NEXT:   $sgpr12_sgpr13 = S_AND_SAVEEXEC_B64 $sgpr58_sgpr59, implicit-def $exec, implicit-def $scc, implicit $exec
161   ; GFX90A-NEXT:   renamable $sgpr12_sgpr13 = S_XOR_B64 $exec, killed renamable $sgpr12_sgpr13, implicit-def dead $scc
162   ; GFX90A-NEXT:   S_CBRANCH_EXECZ %bb.12, implicit $exec
163   ; GFX90A-NEXT: {{  $}}
164   ; GFX90A-NEXT: bb.11.bb84:
165   ; GFX90A-NEXT:   successors: %bb.12(0x80000000)
166   ; GFX90A-NEXT:   liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr34_sgpr35, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr48_sgpr49, $sgpr50_sgpr51, $sgpr52_sgpr53, $sgpr54_sgpr55, $sgpr56_sgpr57, $vgpr0_vgpr1:0x000000000000000F, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x000000000000000F, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
167   ; GFX90A-NEXT: {{  $}}
168   ; GFX90A-NEXT:   BUFFER_STORE_DWORD_OFFSET renamable $vgpr7, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 4, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null` + 4, basealign 8, addrspace 5)
169   ; GFX90A-NEXT:   BUFFER_STORE_DWORD_OFFSET killed renamable $vgpr6, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null`, align 8, addrspace 5)
170   ; GFX90A-NEXT:   renamable $sgpr56_sgpr57 = S_OR_B64 killed renamable $sgpr56_sgpr57, $exec, implicit-def dead $scc
171   ; GFX90A-NEXT: {{  $}}
172   ; GFX90A-NEXT: bb.12.Flow34:
173   ; GFX90A-NEXT:   successors: %bb.13(0x40000000), %bb.14(0x40000000)
174   ; GFX90A-NEXT:   liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr34_sgpr35, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr48_sgpr49, $sgpr50_sgpr51, $sgpr52_sgpr53, $sgpr54_sgpr55, $sgpr56_sgpr57, $vgpr0_vgpr1:0x000000000000000F, $vgpr4_vgpr5:0x000000000000000F, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
175   ; GFX90A-NEXT: {{  $}}
176   ; GFX90A-NEXT:   $exec = S_OR_B64 $exec, killed renamable $sgpr12_sgpr13, implicit-def $scc
177   ; GFX90A-NEXT:   $sgpr12_sgpr13 = S_AND_SAVEEXEC_B64 $sgpr54_sgpr55, implicit-def $exec, implicit-def $scc, implicit $exec
178   ; GFX90A-NEXT:   renamable $sgpr12_sgpr13 = S_XOR_B64 $exec, killed renamable $sgpr12_sgpr13, implicit-def dead $scc
179   ; GFX90A-NEXT:   S_CBRANCH_EXECZ %bb.14, implicit $exec
180   ; GFX90A-NEXT: {{  $}}
181   ; GFX90A-NEXT: bb.13.bb79:
182   ; GFX90A-NEXT:   successors: %bb.14(0x80000000)
183   ; GFX90A-NEXT:   liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr34_sgpr35, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr48_sgpr49, $sgpr50_sgpr51, $sgpr52_sgpr53, $sgpr56_sgpr57, $vgpr0_vgpr1:0x000000000000000F, $vgpr4_vgpr5:0x000000000000000F, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
184   ; GFX90A-NEXT: {{  $}}
185   ; GFX90A-NEXT:   BUFFER_STORE_DWORD_OFFSET renamable $vgpr5, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 4, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null` + 4, basealign 8, addrspace 5)
186   ; GFX90A-NEXT:   BUFFER_STORE_DWORD_OFFSET killed renamable $vgpr4, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null`, align 8, addrspace 5)
187   ; GFX90A-NEXT:   renamable $sgpr56_sgpr57 = S_OR_B64 killed renamable $sgpr56_sgpr57, $exec, implicit-def dead $scc
188   ; GFX90A-NEXT: {{  $}}
189   ; GFX90A-NEXT: bb.14.Flow35:
190   ; GFX90A-NEXT:   successors: %bb.15(0x40000000), %bb.16(0x40000000)
191   ; GFX90A-NEXT:   liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr34_sgpr35, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr48_sgpr49, $sgpr50_sgpr51, $sgpr52_sgpr53, $sgpr56_sgpr57, $vgpr0_vgpr1:0x000000000000000F, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
192   ; GFX90A-NEXT: {{  $}}
193   ; GFX90A-NEXT:   $exec = S_OR_B64 $exec, killed renamable $sgpr12_sgpr13, implicit-def $scc
194   ; GFX90A-NEXT:   $sgpr12_sgpr13 = S_AND_SAVEEXEC_B64 $sgpr52_sgpr53, implicit-def $exec, implicit-def $scc, implicit $exec
195   ; GFX90A-NEXT:   renamable $sgpr36_sgpr37 = S_XOR_B64 $exec, killed renamable $sgpr12_sgpr13, implicit-def dead $scc
196   ; GFX90A-NEXT:   S_CBRANCH_EXECZ %bb.16, implicit $exec
197   ; GFX90A-NEXT: {{  $}}
198   ; GFX90A-NEXT: bb.15.bb72:
199   ; GFX90A-NEXT:   successors: %bb.16(0x80000000)
200   ; GFX90A-NEXT:   liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr48_sgpr49, $sgpr50_sgpr51, $sgpr56_sgpr57, $vgpr0_vgpr1:0x000000000000000F, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
201   ; GFX90A-NEXT: {{  $}}
202   ; GFX90A-NEXT:   renamable $sgpr8 = S_ADD_U32 renamable $sgpr8, 48, implicit-def $scc
203   ; GFX90A-NEXT:   renamable $sgpr9 = S_ADDC_U32 killed renamable $sgpr9, 0, implicit-def dead $scc, implicit killed $scc
204   ; GFX90A-NEXT:   renamable $sgpr12_sgpr13 = SI_PC_ADD_REL_OFFSET target-flags(amdgpu-gotprel32-lo) @f2 + 4, target-flags(amdgpu-gotprel32-hi) @f2 + 12, implicit-def dead $scc
205   ; GFX90A-NEXT:   renamable $sgpr18_sgpr19 = S_LOAD_DWORDX2_IMM killed renamable $sgpr12_sgpr13, 0, 0 :: (dereferenceable invariant load (s64) from got, addrspace 4)
206   ; GFX90A-NEXT:   $sgpr12 = COPY killed renamable $sgpr14
207   ; GFX90A-NEXT:   $sgpr13 = COPY killed renamable $sgpr15
208   ; GFX90A-NEXT:   $sgpr14 = COPY killed renamable $sgpr16
209   ; GFX90A-NEXT:   dead $sgpr30_sgpr31 = SI_CALL killed renamable $sgpr18_sgpr19, @f2, csr_amdgpu_gfx90ainsts, implicit $sgpr4_sgpr5, implicit $sgpr6_sgpr7, implicit $sgpr8_sgpr9, implicit $sgpr10_sgpr11, implicit $sgpr12, implicit $sgpr13, implicit $sgpr14, implicit undef $sgpr15, implicit $vgpr31, implicit $sgpr0_sgpr1_sgpr2_sgpr3, implicit $vgpr0, implicit $vgpr1
210   ; GFX90A-NEXT:   renamable $sgpr56_sgpr57 = S_OR_B64 killed renamable $sgpr56_sgpr57, $exec, implicit-def dead $scc
211   ; GFX90A-NEXT: {{  $}}
212   ; GFX90A-NEXT: bb.16.Flow36:
213   ; GFX90A-NEXT:   successors: %bb.17(0x40000000), %bb.18(0x40000000)
214   ; GFX90A-NEXT:   liveins: $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr48_sgpr49, $sgpr50_sgpr51, $sgpr56_sgpr57, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
215   ; GFX90A-NEXT: {{  $}}
216   ; GFX90A-NEXT:   $exec = S_OR_B64 $exec, killed renamable $sgpr36_sgpr37, implicit-def $scc
217   ; GFX90A-NEXT:   $sgpr4_sgpr5 = S_AND_SAVEEXEC_B64 $sgpr50_sgpr51, implicit-def $exec, implicit-def $scc, implicit $exec
218   ; GFX90A-NEXT:   renamable $sgpr4_sgpr5 = S_XOR_B64 $exec, killed renamable $sgpr4_sgpr5, implicit-def dead $scc
219   ; GFX90A-NEXT:   S_CBRANCH_EXECZ %bb.18, implicit $exec
220   ; GFX90A-NEXT: {{  $}}
221   ; GFX90A-NEXT: bb.17.bb67:
222   ; GFX90A-NEXT:   successors: %bb.18(0x80000000)
223   ; GFX90A-NEXT:   liveins: $sgpr4_sgpr5, $sgpr34_sgpr35, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr48_sgpr49, $sgpr56_sgpr57, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
224   ; GFX90A-NEXT: {{  $}}
225   ; GFX90A-NEXT:   BUFFER_STORE_DWORD_OFFSET renamable $vgpr47, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 4, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null` + 4, basealign 8, addrspace 5)
226   ; GFX90A-NEXT:   BUFFER_STORE_DWORD_OFFSET killed renamable $vgpr46, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null`, align 8, addrspace 5)
227   ; GFX90A-NEXT:   renamable $sgpr56_sgpr57 = S_OR_B64 killed renamable $sgpr56_sgpr57, $exec, implicit-def dead $scc
228   ; GFX90A-NEXT: {{  $}}
229   ; GFX90A-NEXT: bb.18.Flow37:
230   ; GFX90A-NEXT:   successors: %bb.19(0x40000000), %bb.20(0x40000000)
231   ; GFX90A-NEXT:   liveins: $sgpr4_sgpr5, $sgpr34_sgpr35, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr48_sgpr49, $sgpr56_sgpr57, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
232   ; GFX90A-NEXT: {{  $}}
233   ; GFX90A-NEXT:   $exec = S_OR_B64 $exec, killed renamable $sgpr4_sgpr5, implicit-def $scc
234   ; GFX90A-NEXT:   $sgpr4_sgpr5 = S_AND_SAVEEXEC_B64 $sgpr48_sgpr49, implicit-def $exec, implicit-def $scc, implicit $exec
235   ; GFX90A-NEXT:   renamable $sgpr4_sgpr5 = S_XOR_B64 $exec, killed renamable $sgpr4_sgpr5, implicit-def dead $scc
236   ; GFX90A-NEXT:   S_CBRANCH_EXECZ %bb.20, implicit $exec
237   ; GFX90A-NEXT: {{  $}}
238   ; GFX90A-NEXT: bb.19.bb62:
239   ; GFX90A-NEXT:   successors: %bb.20(0x80000000)
240   ; GFX90A-NEXT:   liveins: $sgpr4_sgpr5, $sgpr34_sgpr35, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr56_sgpr57, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
241   ; GFX90A-NEXT: {{  $}}
242   ; GFX90A-NEXT:   BUFFER_STORE_DWORD_OFFSET renamable $vgpr63, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 4, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null` + 4, basealign 8, addrspace 5)
243   ; GFX90A-NEXT:   BUFFER_STORE_DWORD_OFFSET killed renamable $vgpr62, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null`, align 8, addrspace 5)
244   ; GFX90A-NEXT:   renamable $sgpr56_sgpr57 = S_OR_B64 killed renamable $sgpr56_sgpr57, $exec, implicit-def dead $scc
245   ; GFX90A-NEXT: {{  $}}
246   ; GFX90A-NEXT: bb.20.Flow38:
247   ; GFX90A-NEXT:   successors: %bb.21(0x40000000), %bb.22(0x40000000)
248   ; GFX90A-NEXT:   liveins: $sgpr4_sgpr5, $sgpr34_sgpr35, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr56_sgpr57, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
249   ; GFX90A-NEXT: {{  $}}
250   ; GFX90A-NEXT:   $exec = S_OR_B64 $exec, killed renamable $sgpr4_sgpr5, implicit-def $scc
251   ; GFX90A-NEXT:   $sgpr4_sgpr5 = S_AND_SAVEEXEC_B64 $sgpr46_sgpr47, implicit-def $exec, implicit-def $scc, implicit $exec
252   ; GFX90A-NEXT:   renamable $sgpr4_sgpr5 = S_XOR_B64 $exec, killed renamable $sgpr4_sgpr5, implicit-def dead $scc
253   ; GFX90A-NEXT:   S_CBRANCH_EXECZ %bb.22, implicit $exec
254   ; GFX90A-NEXT: {{  $}}
255   ; GFX90A-NEXT: bb.21.bb54:
256   ; GFX90A-NEXT:   successors: %bb.22(0x80000000)
257   ; GFX90A-NEXT:   liveins: $sgpr4_sgpr5, $sgpr34_sgpr35, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr56_sgpr57, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
258   ; GFX90A-NEXT: {{  $}}
259   ; GFX90A-NEXT:   BUFFER_STORE_DWORD_OFFSET renamable $vgpr61, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 4, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null` + 4, basealign 8, addrspace 5)
260   ; GFX90A-NEXT:   BUFFER_STORE_DWORD_OFFSET killed renamable $vgpr60, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null`, align 8, addrspace 5)
261   ; GFX90A-NEXT:   renamable $sgpr56_sgpr57 = S_OR_B64 killed renamable $sgpr56_sgpr57, $exec, implicit-def dead $scc
262   ; GFX90A-NEXT: {{  $}}
263   ; GFX90A-NEXT: bb.22.Flow39:
264   ; GFX90A-NEXT:   successors: %bb.23(0x40000000), %bb.24(0x40000000)
265   ; GFX90A-NEXT:   liveins: $sgpr4_sgpr5, $sgpr34_sgpr35, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr56_sgpr57, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
266   ; GFX90A-NEXT: {{  $}}
267   ; GFX90A-NEXT:   $exec = S_OR_B64 $exec, killed renamable $sgpr4_sgpr5, implicit-def $scc
268   ; GFX90A-NEXT:   $sgpr4_sgpr5 = S_AND_SAVEEXEC_B64 $sgpr44_sgpr45, implicit-def $exec, implicit-def $scc, implicit $exec
269   ; GFX90A-NEXT:   renamable $sgpr4_sgpr5 = S_XOR_B64 $exec, killed renamable $sgpr4_sgpr5, implicit-def dead $scc
270   ; GFX90A-NEXT:   S_CBRANCH_EXECZ %bb.24, implicit $exec
271   ; GFX90A-NEXT: {{  $}}
272   ; GFX90A-NEXT: bb.23.bb47:
273   ; GFX90A-NEXT:   successors: %bb.24(0x80000000)
274   ; GFX90A-NEXT:   liveins: $sgpr4_sgpr5, $sgpr34_sgpr35, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr56_sgpr57, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
275   ; GFX90A-NEXT: {{  $}}
276   ; GFX90A-NEXT:   BUFFER_STORE_DWORD_OFFSET renamable $vgpr59, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 4, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null` + 4, basealign 8, addrspace 5)
277   ; GFX90A-NEXT:   BUFFER_STORE_DWORD_OFFSET killed renamable $vgpr58, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null`, align 8, addrspace 5)
278   ; GFX90A-NEXT:   renamable $sgpr56_sgpr57 = S_OR_B64 killed renamable $sgpr56_sgpr57, $exec, implicit-def dead $scc
279   ; GFX90A-NEXT: {{  $}}
280   ; GFX90A-NEXT: bb.24.Flow40:
281   ; GFX90A-NEXT:   successors: %bb.25(0x40000000), %bb.26(0x40000000)
282   ; GFX90A-NEXT:   liveins: $sgpr4_sgpr5, $sgpr34_sgpr35, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr56_sgpr57, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
283   ; GFX90A-NEXT: {{  $}}
284   ; GFX90A-NEXT:   $exec = S_OR_B64 $exec, killed renamable $sgpr4_sgpr5, implicit-def $scc
285   ; GFX90A-NEXT:   $sgpr4_sgpr5 = S_AND_SAVEEXEC_B64 $sgpr42_sgpr43, implicit-def $exec, implicit-def $scc, implicit $exec
286   ; GFX90A-NEXT:   renamable $sgpr4_sgpr5 = S_XOR_B64 $exec, killed renamable $sgpr4_sgpr5, implicit-def dead $scc
287   ; GFX90A-NEXT:   S_CBRANCH_EXECZ %bb.26, implicit $exec
288   ; GFX90A-NEXT: {{  $}}
289   ; GFX90A-NEXT: bb.25.bb40:
290   ; GFX90A-NEXT:   successors: %bb.26(0x80000000)
291   ; GFX90A-NEXT:   liveins: $sgpr4_sgpr5, $sgpr34_sgpr35, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr56_sgpr57, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
292   ; GFX90A-NEXT: {{  $}}
293   ; GFX90A-NEXT:   BUFFER_STORE_DWORD_OFFSET renamable $vgpr57, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 4, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null` + 4, basealign 8, addrspace 5)
294   ; GFX90A-NEXT:   BUFFER_STORE_DWORD_OFFSET killed renamable $vgpr56, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null`, align 8, addrspace 5)
295   ; GFX90A-NEXT:   renamable $sgpr56_sgpr57 = S_OR_B64 killed renamable $sgpr56_sgpr57, $exec, implicit-def dead $scc
296   ; GFX90A-NEXT: {{  $}}
297   ; GFX90A-NEXT: bb.26.Flow41:
298   ; GFX90A-NEXT:   successors: %bb.27(0x40000000), %bb.28(0x40000000)
299   ; GFX90A-NEXT:   liveins: $sgpr4_sgpr5, $sgpr34_sgpr35, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr56_sgpr57, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
300   ; GFX90A-NEXT: {{  $}}
301   ; GFX90A-NEXT:   $exec = S_OR_B64 $exec, killed renamable $sgpr4_sgpr5, implicit-def $scc
302   ; GFX90A-NEXT:   $sgpr4_sgpr5 = S_AND_SAVEEXEC_B64 $sgpr40_sgpr41, implicit-def $exec, implicit-def $scc, implicit $exec
303   ; GFX90A-NEXT:   renamable $sgpr4_sgpr5 = S_XOR_B64 $exec, killed renamable $sgpr4_sgpr5, implicit-def dead $scc
304   ; GFX90A-NEXT:   S_CBRANCH_EXECZ %bb.28, implicit $exec
305   ; GFX90A-NEXT: {{  $}}
306   ; GFX90A-NEXT: bb.27.bb33:
307   ; GFX90A-NEXT:   successors: %bb.28(0x80000000)
308   ; GFX90A-NEXT:   liveins: $sgpr4_sgpr5, $sgpr34_sgpr35, $sgpr38_sgpr39, $sgpr56_sgpr57, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
309   ; GFX90A-NEXT: {{  $}}
310   ; GFX90A-NEXT:   BUFFER_STORE_DWORD_OFFSET renamable $vgpr45, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 4, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null` + 4, basealign 8, addrspace 5)
311   ; GFX90A-NEXT:   BUFFER_STORE_DWORD_OFFSET killed renamable $vgpr44, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null`, align 8, addrspace 5)
312   ; GFX90A-NEXT:   renamable $sgpr56_sgpr57 = S_OR_B64 killed renamable $sgpr56_sgpr57, $exec, implicit-def dead $scc
313   ; GFX90A-NEXT: {{  $}}
314   ; GFX90A-NEXT: bb.28.Flow42:
315   ; GFX90A-NEXT:   successors: %bb.34(0x40000000), %bb.29(0x40000000)
316   ; GFX90A-NEXT:   liveins: $sgpr4_sgpr5, $sgpr34_sgpr35, $sgpr38_sgpr39, $sgpr56_sgpr57, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
317   ; GFX90A-NEXT: {{  $}}
318   ; GFX90A-NEXT:   $exec = S_OR_B64 $exec, killed renamable $sgpr4_sgpr5, implicit-def $scc
319   ; GFX90A-NEXT:   $sgpr4_sgpr5 = S_AND_SAVEEXEC_B64 $sgpr38_sgpr39, implicit-def $exec, implicit-def $scc, implicit $exec
320   ; GFX90A-NEXT:   renamable $sgpr4_sgpr5 = S_XOR_B64 $exec, killed renamable $sgpr4_sgpr5, implicit-def dead $scc
321   ; GFX90A-NEXT:   S_CBRANCH_EXECNZ %bb.34, implicit $exec
322   ; GFX90A-NEXT: {{  $}}
323   ; GFX90A-NEXT: bb.29.Flow43:
324   ; GFX90A-NEXT:   successors: %bb.30(0x40000000), %bb.31(0x40000000)
325   ; GFX90A-NEXT:   liveins: $sgpr4_sgpr5, $sgpr34_sgpr35, $sgpr56_sgpr57, $vgpr40_vgpr41:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
326   ; GFX90A-NEXT: {{  $}}
327   ; GFX90A-NEXT:   $exec = S_OR_B64 $exec, killed renamable $sgpr4_sgpr5, implicit-def $scc
328   ; GFX90A-NEXT:   $vcc = S_ANDN2_B64 $exec, killed renamable $sgpr34_sgpr35, implicit-def dead $scc
329   ; GFX90A-NEXT:   S_CBRANCH_VCCNZ %bb.31, implicit $vcc
330   ; GFX90A-NEXT: {{  $}}
331   ; GFX90A-NEXT: bb.30.bb19:
332   ; GFX90A-NEXT:   successors: %bb.31(0x80000000)
333   ; GFX90A-NEXT:   liveins: $sgpr56_sgpr57, $vgpr40_vgpr41:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
334   ; GFX90A-NEXT: {{  $}}
335   ; GFX90A-NEXT:   BUFFER_STORE_DWORD_OFFSET renamable $vgpr41, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 4, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null` + 4, basealign 8, addrspace 5)
336   ; GFX90A-NEXT:   BUFFER_STORE_DWORD_OFFSET killed renamable $vgpr40, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null`, align 8, addrspace 5)
337   ; GFX90A-NEXT:   renamable $sgpr56_sgpr57 = S_OR_B64 killed renamable $sgpr56_sgpr57, $exec, implicit-def dead $scc
338   ; GFX90A-NEXT: {{  $}}
339   ; GFX90A-NEXT: bb.31.Flow44:
340   ; GFX90A-NEXT:   successors: %bb.32(0x40000000), %bb.33(0x40000000)
341   ; GFX90A-NEXT:   liveins: $sgpr56_sgpr57, $sgpr0_sgpr1_sgpr2_sgpr3
342   ; GFX90A-NEXT: {{  $}}
343   ; GFX90A-NEXT:   $sgpr4_sgpr5 = S_AND_SAVEEXEC_B64 $sgpr56_sgpr57, implicit-def $exec, implicit-def $scc, implicit $exec
344   ; GFX90A-NEXT:   S_CBRANCH_EXECZ %bb.33, implicit $exec
345   ; GFX90A-NEXT: {{  $}}
346   ; GFX90A-NEXT: bb.32.UnifiedUnreachableBlock:
347   ; GFX90A-NEXT:   successors: %bb.33(0x80000000)
348   ; GFX90A-NEXT:   liveins: $sgpr0_sgpr1_sgpr2_sgpr3
349   ; GFX90A-NEXT: {{  $}}
350   ; GFX90A-NEXT:   SI_MASKED_UNREACHABLE
351   ; GFX90A-NEXT: {{  $}}
352   ; GFX90A-NEXT: bb.33.UnifiedReturnBlock:
353   ; GFX90A-NEXT:   liveins: $sgpr0_sgpr1_sgpr2_sgpr3
354   ; GFX90A-NEXT: {{  $}}
355   ; GFX90A-NEXT:   S_ENDPGM 0
356   ; GFX90A-NEXT: {{  $}}
357   ; GFX90A-NEXT: bb.34.bb26:
358   ; GFX90A-NEXT:   successors: %bb.29(0x80000000)
359   ; GFX90A-NEXT:   liveins: $sgpr4_sgpr5, $sgpr34_sgpr35, $sgpr56_sgpr57, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
360   ; GFX90A-NEXT: {{  $}}
361   ; GFX90A-NEXT:   BUFFER_STORE_DWORD_OFFSET renamable $vgpr43, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 4, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null` + 4, basealign 8, addrspace 5)
362   ; GFX90A-NEXT:   BUFFER_STORE_DWORD_OFFSET killed renamable $vgpr42, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null`, align 8, addrspace 5)
363   ; GFX90A-NEXT:   renamable $sgpr56_sgpr57 = S_OR_B64 killed renamable $sgpr56_sgpr57, $exec, implicit-def dead $scc
364   ; GFX90A-NEXT:   S_BRANCH %bb.29
365   ; GFX90A-NEXT: {{  $}}
366   ; GFX90A-NEXT: bb.35.bb20:
367   ; GFX90A-NEXT:   successors: %bb.37(0x40000000), %bb.36(0x40000000)
368   ; GFX90A-NEXT:   liveins: $sgpr14, $sgpr15, $sgpr16, $sgpr33, $vgpr30, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr36_sgpr37, $sgpr56_sgpr57:0x000000000000000F, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003F, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr2_vgpr3:0x000000000000000F, $vgpr40_vgpr41:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr18_sgpr19
369   ; GFX90A-NEXT: {{  $}}
370   ; GFX90A-NEXT:   renamable $vgpr0 = GLOBAL_LOAD_SBYTE renamable $vgpr40_vgpr41, 1024, 0, implicit $exec :: (load (s8) from %ir.i21, addrspace 1)
371   ; GFX90A-NEXT:   renamable $vgpr42 = V_ADD_CO_U32_e32 1024, $vgpr40, implicit-def $vcc, implicit $exec
372   ; GFX90A-NEXT:   renamable $sgpr34_sgpr35 = S_MOV_B64 0
373   ; GFX90A-NEXT:   renamable $sgpr38_sgpr39 = S_MOV_B64 -1
374   ; GFX90A-NEXT:   renamable $sgpr58_sgpr59 = S_MOV_B64 0
375   ; GFX90A-NEXT:   renamable $sgpr54_sgpr55 = S_MOV_B64 0
376   ; GFX90A-NEXT:   renamable $sgpr52_sgpr53 = S_MOV_B64 0
377   ; GFX90A-NEXT:   renamable $sgpr50_sgpr51 = S_MOV_B64 0
378   ; GFX90A-NEXT:   renamable $sgpr48_sgpr49 = S_MOV_B64 0
379   ; GFX90A-NEXT:   renamable $sgpr46_sgpr47 = S_MOV_B64 0
380   ; GFX90A-NEXT:   renamable $sgpr44_sgpr45 = S_MOV_B64 0
381   ; GFX90A-NEXT:   renamable $sgpr42_sgpr43 = S_MOV_B64 0
382   ; GFX90A-NEXT:   renamable $vgpr43, dead renamable $vcc = V_ADDC_U32_e64 0, $vgpr41, killed $vcc, 0, implicit $exec
383   ; GFX90A-NEXT:   renamable $vcc = V_CMP_LT_I16_e64 0, killed $vgpr0, implicit $exec
384   ; GFX90A-NEXT:   renamable $sgpr40_sgpr41 = S_MOV_B64 0
385   ; GFX90A-NEXT:   renamable $vgpr8_vgpr9 = IMPLICIT_DEF
386   ; GFX90A-NEXT:   renamable $vgpr6_vgpr7 = IMPLICIT_DEF
387   ; GFX90A-NEXT:   renamable $vgpr4_vgpr5 = IMPLICIT_DEF
388   ; GFX90A-NEXT:   renamable $vgpr0_vgpr1 = IMPLICIT_DEF
389   ; GFX90A-NEXT:   renamable $vgpr62_vgpr63 = IMPLICIT_DEF
390   ; GFX90A-NEXT:   renamable $vgpr60_vgpr61 = IMPLICIT_DEF
391   ; GFX90A-NEXT:   renamable $vgpr58_vgpr59 = IMPLICIT_DEF
392   ; GFX90A-NEXT:   renamable $vgpr56_vgpr57 = IMPLICIT_DEF
393   ; GFX90A-NEXT:   renamable $vgpr44_vgpr45 = IMPLICIT_DEF
394   ; GFX90A-NEXT:   renamable $vgpr17 = IMPLICIT_DEF
395   ; GFX90A-NEXT:   renamable $vgpr15 = IMPLICIT_DEF
396   ; GFX90A-NEXT:   renamable $vgpr14 = IMPLICIT_DEF
397   ; GFX90A-NEXT:   renamable $vgpr52 = IMPLICIT_DEF
398   ; GFX90A-NEXT:   renamable $vgpr16 = IMPLICIT_DEF
399   ; GFX90A-NEXT:   renamable $vgpr53 = IMPLICIT_DEF
400   ; GFX90A-NEXT:   renamable $vgpr13 = IMPLICIT_DEF
401   ; GFX90A-NEXT:   renamable $vgpr11 = IMPLICIT_DEF
402   ; GFX90A-NEXT:   renamable $sgpr17 = IMPLICIT_DEF
403   ; GFX90A-NEXT:   $sgpr24_sgpr25 = S_AND_SAVEEXEC_B64 $vcc, implicit-def $exec, implicit-def $scc, implicit $exec
404   ; GFX90A-NEXT:   S_CBRANCH_EXECNZ %bb.37, implicit $exec
405   ; GFX90A-NEXT: {{  $}}
406   ; GFX90A-NEXT: bb.36.Flow21:
407   ; GFX90A-NEXT:   successors: %bb.6(0x80000000)
408   ; GFX90A-NEXT:   liveins: $sgpr14, $sgpr15, $sgpr16, $sgpr17, $vgpr15, $vgpr17, $vgpr30, $vgpr31, $vgpr52, $vgpr53, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr18_sgpr19, $sgpr24_sgpr25, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr48_sgpr49, $sgpr50_sgpr51, $sgpr52_sgpr53, $sgpr54_sgpr55, $sgpr58_sgpr59, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003C, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr0_vgpr1:0x000000000000000F, $vgpr2_vgpr3:0x000000000000000F, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x000000000000000F, $vgpr8_vgpr9:0x000000000000000F, $vgpr10_vgpr11:0x000000000000000F, $vgpr12_vgpr13:0x000000000000000F, $vgpr14_vgpr15:0x0000000000000003, $vgpr16_vgpr17:0x0000000000000003, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
409   ; GFX90A-NEXT: {{  $}}
410   ; GFX90A-NEXT:   $exec = S_OR_B64 $exec, killed renamable $sgpr24_sgpr25, implicit-def $scc
411   ; GFX90A-NEXT:   S_BRANCH %bb.6
412   ; GFX90A-NEXT: {{  $}}
413   ; GFX90A-NEXT: bb.37.bb27:
414   ; GFX90A-NEXT:   successors: %bb.39(0x40000000), %bb.38(0x40000000)
415   ; GFX90A-NEXT:   liveins: $sgpr14, $sgpr15, $sgpr16, $sgpr33, $vgpr30, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr24_sgpr25, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr56_sgpr57:0x000000000000000F, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003F, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr2_vgpr3:0x000000000000000F, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr18_sgpr19, $sgpr58_sgpr59, $sgpr54_sgpr55, $sgpr52_sgpr53, $sgpr50_sgpr51, $sgpr48_sgpr49, $sgpr46_sgpr47, $sgpr44_sgpr45, $sgpr42_sgpr43
416   ; GFX90A-NEXT: {{  $}}
417   ; GFX90A-NEXT:   renamable $vgpr0 = GLOBAL_LOAD_UBYTE renamable $vgpr40_vgpr41, 2048, 0, implicit $exec :: (load (s8) from %ir.i28, addrspace 1)
418   ; GFX90A-NEXT:   renamable $vgpr44 = V_ADD_CO_U32_e32 2048, $vgpr40, implicit-def $vcc, implicit $exec
419   ; GFX90A-NEXT:   renamable $sgpr40_sgpr41 = S_MOV_B64 -1
420   ; GFX90A-NEXT:   renamable $sgpr60_sgpr61 = COPY renamable $sgpr36_sgpr37
421   ; GFX90A-NEXT:   renamable $vgpr45, dead renamable $vcc = V_ADDC_U32_e64 0, $vgpr41, killed $vcc, 0, implicit $exec
422   ; GFX90A-NEXT:   renamable $vcc = V_CMP_EQ_U16_e64 0, killed $vgpr0, implicit $exec
423   ; GFX90A-NEXT:   renamable $vgpr8_vgpr9 = IMPLICIT_DEF
424   ; GFX90A-NEXT:   renamable $vgpr6_vgpr7 = IMPLICIT_DEF
425   ; GFX90A-NEXT:   renamable $vgpr4_vgpr5 = IMPLICIT_DEF
426   ; GFX90A-NEXT:   renamable $vgpr0_vgpr1 = IMPLICIT_DEF
427   ; GFX90A-NEXT:   renamable $vgpr62_vgpr63 = IMPLICIT_DEF
428   ; GFX90A-NEXT:   renamable $vgpr60_vgpr61 = IMPLICIT_DEF
429   ; GFX90A-NEXT:   renamable $vgpr58_vgpr59 = IMPLICIT_DEF
430   ; GFX90A-NEXT:   renamable $vgpr56_vgpr57 = IMPLICIT_DEF
431   ; GFX90A-NEXT:   renamable $vgpr17 = IMPLICIT_DEF
432   ; GFX90A-NEXT:   renamable $vgpr15 = IMPLICIT_DEF
433   ; GFX90A-NEXT:   renamable $vgpr14 = IMPLICIT_DEF
434   ; GFX90A-NEXT:   renamable $vgpr52 = IMPLICIT_DEF
435   ; GFX90A-NEXT:   renamable $vgpr16 = IMPLICIT_DEF
436   ; GFX90A-NEXT:   renamable $vgpr53 = IMPLICIT_DEF
437   ; GFX90A-NEXT:   renamable $vgpr13 = IMPLICIT_DEF
438   ; GFX90A-NEXT:   renamable $vgpr11 = IMPLICIT_DEF
439   ; GFX90A-NEXT:   renamable $sgpr17 = IMPLICIT_DEF
440   ; GFX90A-NEXT:   $sgpr38_sgpr39 = S_AND_SAVEEXEC_B64 $vcc, implicit-def $exec, implicit-def $scc, implicit $exec
441   ; GFX90A-NEXT:   S_CBRANCH_EXECNZ %bb.39, implicit $exec
442   ; GFX90A-NEXT: {{  $}}
443   ; GFX90A-NEXT: bb.38.Flow22:
444   ; GFX90A-NEXT:   successors: %bb.36(0x80000000)
445   ; GFX90A-NEXT:   liveins: $sgpr14, $sgpr15, $sgpr16, $sgpr17, $vgpr15, $vgpr17, $vgpr30, $vgpr31, $vgpr52, $vgpr53, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr18_sgpr19, $sgpr24_sgpr25, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr48_sgpr49, $sgpr50_sgpr51, $sgpr52_sgpr53, $sgpr54_sgpr55, $sgpr58_sgpr59, $sgpr60_sgpr61, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003C, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr0_vgpr1:0x000000000000000F, $vgpr2_vgpr3:0x000000000000000F, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x000000000000000F, $vgpr8_vgpr9:0x000000000000000F, $vgpr10_vgpr11:0x000000000000000F, $vgpr12_vgpr13:0x000000000000000F, $vgpr14_vgpr15:0x0000000000000003, $vgpr16_vgpr17:0x0000000000000003, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
446   ; GFX90A-NEXT: {{  $}}
447   ; GFX90A-NEXT:   $exec = S_OR_B64 $exec, killed renamable $sgpr38_sgpr39, implicit-def $scc
448   ; GFX90A-NEXT:   renamable $sgpr38_sgpr39 = S_XOR_B64 $exec, -1, implicit-def dead $scc
449   ; GFX90A-NEXT:   renamable $sgpr40_sgpr41 = S_AND_B64 killed renamable $sgpr40_sgpr41, $exec, implicit-def dead $scc
450   ; GFX90A-NEXT:   renamable $sgpr42_sgpr43 = S_AND_B64 killed renamable $sgpr42_sgpr43, $exec, implicit-def dead $scc
451   ; GFX90A-NEXT:   renamable $sgpr44_sgpr45 = S_AND_B64 killed renamable $sgpr44_sgpr45, $exec, implicit-def dead $scc
452   ; GFX90A-NEXT:   renamable $sgpr46_sgpr47 = S_AND_B64 killed renamable $sgpr46_sgpr47, $exec, implicit-def dead $scc
453   ; GFX90A-NEXT:   renamable $sgpr48_sgpr49 = S_AND_B64 killed renamable $sgpr48_sgpr49, $exec, implicit-def dead $scc
454   ; GFX90A-NEXT:   renamable $sgpr50_sgpr51 = S_AND_B64 killed renamable $sgpr50_sgpr51, $exec, implicit-def dead $scc
455   ; GFX90A-NEXT:   renamable $sgpr52_sgpr53 = S_AND_B64 killed renamable $sgpr52_sgpr53, $exec, implicit-def dead $scc
456   ; GFX90A-NEXT:   renamable $sgpr54_sgpr55 = S_AND_B64 killed renamable $sgpr54_sgpr55, $exec, implicit-def dead $scc
457   ; GFX90A-NEXT:   renamable $sgpr58_sgpr59 = S_AND_B64 killed renamable $sgpr58_sgpr59, $exec, implicit-def dead $scc
458   ; GFX90A-NEXT:   renamable $sgpr18_sgpr19 = S_AND_B64 killed renamable $sgpr18_sgpr19, $exec, implicit-def dead $scc
459   ; GFX90A-NEXT:   renamable $sgpr36_sgpr37 = S_ANDN2_B64 killed renamable $sgpr36_sgpr37, $exec, implicit-def dead $scc
460   ; GFX90A-NEXT:   renamable $sgpr56_sgpr57 = S_AND_B64 killed renamable $sgpr60_sgpr61, $exec, implicit-def dead $scc
461   ; GFX90A-NEXT:   renamable $sgpr36_sgpr37 = S_OR_B64 killed renamable $sgpr36_sgpr37, killed renamable $sgpr56_sgpr57, implicit-def dead $scc
462   ; GFX90A-NEXT:   S_BRANCH %bb.36
463   ; GFX90A-NEXT: {{  $}}
464   ; GFX90A-NEXT: bb.39.bb34:
465   ; GFX90A-NEXT:   successors: %bb.41(0x40000000), %bb.40(0x40000000)
466   ; GFX90A-NEXT:   liveins: $sgpr14, $sgpr15, $sgpr16, $sgpr33, $vgpr30, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr24_sgpr25, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr38_sgpr39, $sgpr56_sgpr57:0x000000000000000F, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003F, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr2_vgpr3:0x000000000000000F, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr18_sgpr19, $sgpr58_sgpr59, $sgpr54_sgpr55, $sgpr52_sgpr53, $sgpr50_sgpr51, $sgpr48_sgpr49, $sgpr46_sgpr47, $sgpr44_sgpr45
467   ; GFX90A-NEXT: {{  $}}
468   ; GFX90A-NEXT:   renamable $vgpr0 = GLOBAL_LOAD_UBYTE renamable $vgpr40_vgpr41, 3072, 0, implicit $exec :: (load (s8) from %ir.i35, addrspace 1)
469   ; GFX90A-NEXT:   renamable $vgpr56 = V_ADD_CO_U32_e32 3072, $vgpr40, implicit-def $vcc, implicit $exec
470   ; GFX90A-NEXT:   renamable $sgpr42_sgpr43 = S_MOV_B64 -1
471   ; GFX90A-NEXT:   renamable $sgpr60_sgpr61 = COPY renamable $sgpr36_sgpr37
472   ; GFX90A-NEXT:   renamable $vgpr57, dead renamable $vcc = V_ADDC_U32_e64 0, $vgpr41, killed $vcc, 0, implicit $exec
473   ; GFX90A-NEXT:   renamable $vcc = V_CMP_EQ_U16_e64 0, killed $vgpr0, implicit $exec
474   ; GFX90A-NEXT:   renamable $vgpr8_vgpr9 = IMPLICIT_DEF
475   ; GFX90A-NEXT:   renamable $vgpr6_vgpr7 = IMPLICIT_DEF
476   ; GFX90A-NEXT:   renamable $vgpr4_vgpr5 = IMPLICIT_DEF
477   ; GFX90A-NEXT:   renamable $vgpr0_vgpr1 = IMPLICIT_DEF
478   ; GFX90A-NEXT:   renamable $vgpr62_vgpr63 = IMPLICIT_DEF
479   ; GFX90A-NEXT:   renamable $vgpr60_vgpr61 = IMPLICIT_DEF
480   ; GFX90A-NEXT:   renamable $vgpr58_vgpr59 = IMPLICIT_DEF
481   ; GFX90A-NEXT:   renamable $vgpr17 = IMPLICIT_DEF
482   ; GFX90A-NEXT:   renamable $vgpr15 = IMPLICIT_DEF
483   ; GFX90A-NEXT:   renamable $vgpr14 = IMPLICIT_DEF
484   ; GFX90A-NEXT:   renamable $vgpr52 = IMPLICIT_DEF
485   ; GFX90A-NEXT:   renamable $vgpr16 = IMPLICIT_DEF
486   ; GFX90A-NEXT:   renamable $vgpr53 = IMPLICIT_DEF
487   ; GFX90A-NEXT:   renamable $vgpr13 = IMPLICIT_DEF
488   ; GFX90A-NEXT:   renamable $vgpr11 = IMPLICIT_DEF
489   ; GFX90A-NEXT:   renamable $sgpr17 = IMPLICIT_DEF
490   ; GFX90A-NEXT:   $sgpr40_sgpr41 = S_AND_SAVEEXEC_B64 $vcc, implicit-def $exec, implicit-def $scc, implicit $exec
491   ; GFX90A-NEXT:   S_CBRANCH_EXECNZ %bb.41, implicit $exec
492   ; GFX90A-NEXT: {{  $}}
493   ; GFX90A-NEXT: bb.40.Flow23:
494   ; GFX90A-NEXT:   successors: %bb.38(0x80000000)
495   ; GFX90A-NEXT:   liveins: $sgpr14, $sgpr15, $sgpr16, $sgpr17, $vgpr15, $vgpr17, $vgpr30, $vgpr31, $vgpr52, $vgpr53, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr18_sgpr19, $sgpr24_sgpr25, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr48_sgpr49, $sgpr50_sgpr51, $sgpr52_sgpr53, $sgpr54_sgpr55, $sgpr58_sgpr59, $sgpr60_sgpr61, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003C, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr0_vgpr1:0x000000000000000F, $vgpr2_vgpr3:0x000000000000000F, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x000000000000000F, $vgpr8_vgpr9:0x000000000000000F, $vgpr10_vgpr11:0x000000000000000F, $vgpr12_vgpr13:0x000000000000000F, $vgpr14_vgpr15:0x0000000000000003, $vgpr16_vgpr17:0x0000000000000003, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
496   ; GFX90A-NEXT: {{  $}}
497   ; GFX90A-NEXT:   $exec = S_OR_B64 $exec, killed renamable $sgpr40_sgpr41, implicit-def $scc
498   ; GFX90A-NEXT:   renamable $sgpr40_sgpr41 = S_XOR_B64 $exec, -1, implicit-def dead $scc
499   ; GFX90A-NEXT:   renamable $sgpr42_sgpr43 = S_AND_B64 killed renamable $sgpr42_sgpr43, $exec, implicit-def dead $scc
500   ; GFX90A-NEXT:   renamable $sgpr44_sgpr45 = S_AND_B64 killed renamable $sgpr44_sgpr45, $exec, implicit-def dead $scc
501   ; GFX90A-NEXT:   renamable $sgpr46_sgpr47 = S_AND_B64 killed renamable $sgpr46_sgpr47, $exec, implicit-def dead $scc
502   ; GFX90A-NEXT:   renamable $sgpr48_sgpr49 = S_AND_B64 killed renamable $sgpr48_sgpr49, $exec, implicit-def dead $scc
503   ; GFX90A-NEXT:   renamable $sgpr50_sgpr51 = S_AND_B64 killed renamable $sgpr50_sgpr51, $exec, implicit-def dead $scc
504   ; GFX90A-NEXT:   renamable $sgpr52_sgpr53 = S_AND_B64 killed renamable $sgpr52_sgpr53, $exec, implicit-def dead $scc
505   ; GFX90A-NEXT:   renamable $sgpr54_sgpr55 = S_AND_B64 killed renamable $sgpr54_sgpr55, $exec, implicit-def dead $scc
506   ; GFX90A-NEXT:   renamable $sgpr58_sgpr59 = S_AND_B64 killed renamable $sgpr58_sgpr59, $exec, implicit-def dead $scc
507   ; GFX90A-NEXT:   renamable $sgpr18_sgpr19 = S_AND_B64 killed renamable $sgpr18_sgpr19, $exec, implicit-def dead $scc
508   ; GFX90A-NEXT:   renamable $sgpr56_sgpr57 = S_ANDN2_B64 renamable $sgpr36_sgpr37, $exec, implicit-def dead $scc
509   ; GFX90A-NEXT:   renamable $sgpr60_sgpr61 = S_AND_B64 killed renamable $sgpr60_sgpr61, $exec, implicit-def dead $scc
510   ; GFX90A-NEXT:   renamable $sgpr60_sgpr61 = S_OR_B64 killed renamable $sgpr56_sgpr57, killed renamable $sgpr60_sgpr61, implicit-def dead $scc
511   ; GFX90A-NEXT:   S_BRANCH %bb.38
512   ; GFX90A-NEXT: {{  $}}
513   ; GFX90A-NEXT: bb.41.bb41:
514   ; GFX90A-NEXT:   successors: %bb.46(0x40000000), %bb.42(0x40000000)
515   ; GFX90A-NEXT:   liveins: $sgpr14, $sgpr15, $sgpr16, $sgpr33, $vgpr30, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr24_sgpr25, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr56_sgpr57:0x000000000000000F, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003F, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr2_vgpr3:0x000000000000000F, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr58_sgpr59, $sgpr54_sgpr55, $sgpr52_sgpr53, $sgpr50_sgpr51, $sgpr48_sgpr49, $sgpr46_sgpr47
516   ; GFX90A-NEXT: {{  $}}
517   ; GFX90A-NEXT:   renamable $vgpr58 = V_ADD_CO_U32_e32 4096, $vgpr40, implicit-def $vcc, implicit $exec
518   ; GFX90A-NEXT:   renamable $sgpr18_sgpr19 = COPY $vcc
519   ; GFX90A-NEXT:   renamable $vgpr59, dead renamable $sgpr18_sgpr19 = V_ADDC_U32_e64 0, $vgpr41, killed $sgpr18_sgpr19, 0, implicit $exec
520   ; GFX90A-NEXT:   renamable $vgpr0 = GLOBAL_LOAD_UBYTE renamable $vgpr58_vgpr59, 0, 0, implicit $exec :: (load (s8) from %ir.i42, addrspace 1)
521   ; GFX90A-NEXT:   renamable $sgpr18_sgpr19 = S_MOV_B64 0
522   ; GFX90A-NEXT:   renamable $sgpr44_sgpr45 = S_MOV_B64 -1
523   ; GFX90A-NEXT:   renamable $sgpr60_sgpr61 = COPY renamable $sgpr36_sgpr37
524   ; GFX90A-NEXT:   renamable $vgpr18, dead renamable $vcc = V_ADDC_U32_e64 0, $vgpr41, killed $vcc, 0, implicit $exec
525   ; GFX90A-NEXT:   renamable $vcc = V_CMP_EQ_U16_e64 0, killed $vgpr0, implicit $exec
526   ; GFX90A-NEXT:   renamable $sgpr62_sgpr63 = S_MOV_B64 0
527   ; GFX90A-NEXT:   renamable $vgpr8_vgpr9 = IMPLICIT_DEF
528   ; GFX90A-NEXT:   renamable $vgpr6_vgpr7 = IMPLICIT_DEF
529   ; GFX90A-NEXT:   renamable $vgpr4_vgpr5 = IMPLICIT_DEF
530   ; GFX90A-NEXT:   renamable $vgpr0_vgpr1 = IMPLICIT_DEF
531   ; GFX90A-NEXT:   renamable $vgpr62_vgpr63 = IMPLICIT_DEF
532   ; GFX90A-NEXT:   renamable $vgpr60_vgpr61 = IMPLICIT_DEF
533   ; GFX90A-NEXT:   renamable $vgpr17 = IMPLICIT_DEF
534   ; GFX90A-NEXT:   renamable $vgpr15 = IMPLICIT_DEF
535   ; GFX90A-NEXT:   renamable $vgpr14 = IMPLICIT_DEF
536   ; GFX90A-NEXT:   renamable $vgpr52 = IMPLICIT_DEF
537   ; GFX90A-NEXT:   renamable $vgpr16 = IMPLICIT_DEF
538   ; GFX90A-NEXT:   renamable $vgpr53 = IMPLICIT_DEF
539   ; GFX90A-NEXT:   renamable $vgpr13 = IMPLICIT_DEF
540   ; GFX90A-NEXT:   renamable $vgpr11 = IMPLICIT_DEF
541   ; GFX90A-NEXT:   renamable $sgpr17 = IMPLICIT_DEF
542   ; GFX90A-NEXT:   $sgpr42_sgpr43 = S_AND_SAVEEXEC_B64 $vcc, implicit-def $exec, implicit-def $scc, implicit $exec
543   ; GFX90A-NEXT:   S_CBRANCH_EXECNZ %bb.46, implicit $exec
544   ; GFX90A-NEXT: {{  $}}
545   ; GFX90A-NEXT: bb.42.Flow24:
546   ; GFX90A-NEXT:   successors: %bb.40(0x80000000)
547   ; GFX90A-NEXT:   liveins: $sgpr14, $sgpr15, $sgpr16, $sgpr17, $vgpr15, $vgpr17, $vgpr18, $vgpr30, $vgpr31, $vgpr52, $vgpr53, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr18_sgpr19, $sgpr24_sgpr25, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr48_sgpr49, $sgpr50_sgpr51, $sgpr52_sgpr53, $sgpr54_sgpr55, $sgpr58_sgpr59, $sgpr60_sgpr61, $sgpr62_sgpr63, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003C, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr0_vgpr1:0x000000000000000F, $vgpr2_vgpr3:0x000000000000000F, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x000000000000000F, $vgpr8_vgpr9:0x000000000000000F, $vgpr10_vgpr11:0x000000000000000F, $vgpr12_vgpr13:0x000000000000000F, $vgpr14_vgpr15:0x0000000000000003, $vgpr16_vgpr17:0x0000000000000003, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x0000000000000003, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
548   ; GFX90A-NEXT: {{  $}}
549   ; GFX90A-NEXT:   $exec = S_OR_B64 $exec, killed renamable $sgpr42_sgpr43, implicit-def $scc
550   ; GFX90A-NEXT:   renamable $vgpr59 = COPY killed renamable $vgpr18, implicit $exec
551   ; GFX90A-NEXT:   renamable $sgpr42_sgpr43 = S_XOR_B64 $exec, -1, implicit-def dead $scc
552   ; GFX90A-NEXT:   renamable $sgpr44_sgpr45 = S_AND_B64 killed renamable $sgpr44_sgpr45, $exec, implicit-def dead $scc
553   ; GFX90A-NEXT:   renamable $sgpr46_sgpr47 = S_AND_B64 killed renamable $sgpr62_sgpr63, $exec, implicit-def dead $scc
554   ; GFX90A-NEXT:   renamable $sgpr48_sgpr49 = S_AND_B64 killed renamable $sgpr48_sgpr49, $exec, implicit-def dead $scc
555   ; GFX90A-NEXT:   renamable $sgpr50_sgpr51 = S_AND_B64 killed renamable $sgpr50_sgpr51, $exec, implicit-def dead $scc
556   ; GFX90A-NEXT:   renamable $sgpr52_sgpr53 = S_AND_B64 killed renamable $sgpr52_sgpr53, $exec, implicit-def dead $scc
557   ; GFX90A-NEXT:   renamable $sgpr54_sgpr55 = S_AND_B64 killed renamable $sgpr54_sgpr55, $exec, implicit-def dead $scc
558   ; GFX90A-NEXT:   renamable $sgpr58_sgpr59 = S_AND_B64 killed renamable $sgpr58_sgpr59, $exec, implicit-def dead $scc
559   ; GFX90A-NEXT:   renamable $sgpr18_sgpr19 = S_AND_B64 killed renamable $sgpr18_sgpr19, $exec, implicit-def dead $scc
560   ; GFX90A-NEXT:   renamable $sgpr56_sgpr57 = S_ANDN2_B64 renamable $sgpr36_sgpr37, $exec, implicit-def dead $scc
561   ; GFX90A-NEXT:   renamable $sgpr60_sgpr61 = S_AND_B64 killed renamable $sgpr60_sgpr61, $exec, implicit-def dead $scc
562   ; GFX90A-NEXT:   renamable $sgpr60_sgpr61 = S_OR_B64 killed renamable $sgpr56_sgpr57, killed renamable $sgpr60_sgpr61, implicit-def dead $scc
563   ; GFX90A-NEXT:   S_BRANCH %bb.40
564   ; GFX90A-NEXT: {{  $}}
565   ; GFX90A-NEXT: bb.43.bb55:
566   ; GFX90A-NEXT:   successors: %bb.48(0x40000000), %bb.44(0x40000000)
567   ; GFX90A-NEXT:   liveins: $sgpr14, $sgpr15, $sgpr16, $sgpr33, $vgpr18, $vgpr30, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr18_sgpr19, $sgpr24_sgpr25, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr56_sgpr57:0x000000000000000F, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003F, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr2_vgpr3:0x000000000000000F, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x0000000000000003, $vgpr60_vgpr61:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr44_sgpr45, $sgpr52_sgpr53, $sgpr58_sgpr59, $sgpr54_sgpr55, $sgpr46_sgpr47
568   ; GFX90A-NEXT: {{  $}}
569   ; GFX90A-NEXT:   S_BITCMP1_B32 killed renamable $sgpr33, 16, implicit-def $scc
570   ; GFX90A-NEXT:   renamable $sgpr64_sgpr65 = S_CSELECT_B64 -1, 0, implicit killed $scc
571   ; GFX90A-NEXT:   renamable $sgpr48_sgpr49 = S_XOR_B64 renamable $sgpr64_sgpr65, -1, implicit-def dead $scc
572   ; GFX90A-NEXT:   renamable $vgpr62 = V_ADD_CO_U32_e32 6144, $vgpr40, implicit-def $vcc, implicit $exec
573   ; GFX90A-NEXT:   renamable $vgpr63, dead renamable $vcc = V_ADDC_U32_e64 0, $vgpr41, killed $vcc, 0, implicit $exec
574   ; GFX90A-NEXT:   renamable $vcc = S_AND_B64 $exec, renamable $sgpr48_sgpr49, implicit-def dead $scc
575   ; GFX90A-NEXT:   $vgpr10 = IMPLICIT_DEF
576   ; GFX90A-NEXT:   $vgpr12 = IMPLICIT_DEF
577   ; GFX90A-NEXT:   S_CBRANCH_VCCNZ %bb.48, implicit $vcc
578   ; GFX90A-NEXT: {{  $}}
579   ; GFX90A-NEXT: bb.44:
580   ; GFX90A-NEXT:   successors: %bb.45(0x80000000)
581   ; GFX90A-NEXT:   liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr58, $vgpr57, $vgpr18, $vgpr30, $vgpr31, $vgpr61, $vgpr63, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8, $sgpr9, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr18_sgpr19, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $vgpr40, $vgpr62, $vgpr60, $sgpr52_sgpr53, $sgpr54_sgpr55, $sgpr58_sgpr59, $sgpr20_sgpr21_sgpr22, $sgpr22_sgpr23, $sgpr24_sgpr25_sgpr26, $sgpr26_sgpr27, $vgpr56, $vgpr47, $vgpr2, $vgpr3, $vgpr46, $vgpr45, $vgpr44, $vgpr43, $vgpr42, $vgpr41, $vgpr10, $vgpr12
582   ; GFX90A-NEXT: {{  $}}
583   ; GFX90A-NEXT:   renamable $sgpr50_sgpr51 = COPY renamable $sgpr36_sgpr37
584   ; GFX90A-NEXT:   renamable $vgpr8_vgpr9 = IMPLICIT_DEF
585   ; GFX90A-NEXT:   renamable $vgpr6_vgpr7 = IMPLICIT_DEF
586   ; GFX90A-NEXT:   renamable $vgpr4_vgpr5 = IMPLICIT_DEF
587   ; GFX90A-NEXT:   renamable $vgpr0_vgpr1 = IMPLICIT_DEF
588   ; GFX90A-NEXT:   renamable $vgpr17 = IMPLICIT_DEF
589   ; GFX90A-NEXT:   renamable $vgpr15 = IMPLICIT_DEF
590   ; GFX90A-NEXT:   renamable $vgpr14 = IMPLICIT_DEF
591   ; GFX90A-NEXT:   renamable $vgpr52 = IMPLICIT_DEF
592   ; GFX90A-NEXT:   renamable $vgpr16 = IMPLICIT_DEF
593   ; GFX90A-NEXT:   renamable $vgpr53 = IMPLICIT_DEF
594   ; GFX90A-NEXT:   renamable $vgpr13 = IMPLICIT_DEF
595   ; GFX90A-NEXT:   renamable $vgpr11 = IMPLICIT_DEF
596   ; GFX90A-NEXT:   renamable $sgpr17 = IMPLICIT_DEF
597   ; GFX90A-NEXT:   renamable $sgpr48_sgpr49 = S_MOV_B64 0
598   ; GFX90A-NEXT: {{  $}}
599   ; GFX90A-NEXT: bb.45.Flow26:
600   ; GFX90A-NEXT:   successors: %bb.47(0x80000000)
601   ; GFX90A-NEXT:   liveins: $sgpr14, $sgpr15, $sgpr16, $sgpr17, $vgpr15, $vgpr17, $vgpr18, $vgpr30, $vgpr31, $vgpr52, $vgpr53, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr18_sgpr19, $sgpr24_sgpr25, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr48_sgpr49, $sgpr50_sgpr51, $sgpr52_sgpr53, $sgpr54_sgpr55, $sgpr58_sgpr59, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003C, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr0_vgpr1:0x000000000000000F, $vgpr2_vgpr3:0x000000000000000F, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x000000000000000F, $vgpr8_vgpr9:0x000000000000000F, $vgpr10_vgpr11:0x000000000000000F, $vgpr12_vgpr13:0x000000000000000F, $vgpr14_vgpr15:0x0000000000000003, $vgpr16_vgpr17:0x0000000000000003, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x0000000000000003, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
602   ; GFX90A-NEXT: {{  $}}
603   ; GFX90A-NEXT:   renamable $sgpr60_sgpr61 = S_XOR_B64 $exec, -1, implicit-def dead $scc
604   ; GFX90A-NEXT:   renamable $sgpr70_sgpr71 = S_AND_B64 killed renamable $sgpr44_sgpr45, $exec, implicit-def dead $scc
605   ; GFX90A-NEXT:   renamable $sgpr68_sgpr69 = S_AND_B64 killed renamable $sgpr46_sgpr47, $exec, implicit-def dead $scc
606   ; GFX90A-NEXT:   renamable $sgpr66_sgpr67 = S_AND_B64 killed renamable $sgpr48_sgpr49, $exec, implicit-def dead $scc
607   ; GFX90A-NEXT:   renamable $sgpr54_sgpr55 = S_AND_B64 killed renamable $sgpr54_sgpr55, $exec, implicit-def dead $scc
608   ; GFX90A-NEXT:   renamable $sgpr58_sgpr59 = S_AND_B64 killed renamable $sgpr58_sgpr59, $exec, implicit-def dead $scc
609   ; GFX90A-NEXT:   renamable $sgpr46_sgpr47 = S_AND_B64 killed renamable $sgpr52_sgpr53, $exec, implicit-def dead $scc
610   ; GFX90A-NEXT:   renamable $sgpr44_sgpr45 = S_ANDN2_B64 renamable $sgpr36_sgpr37, $exec, implicit-def dead $scc
611   ; GFX90A-NEXT:   renamable $sgpr48_sgpr49 = S_AND_B64 killed renamable $sgpr50_sgpr51, $exec, implicit-def dead $scc
612   ; GFX90A-NEXT:   renamable $sgpr64_sgpr65 = S_OR_B64 killed renamable $sgpr44_sgpr45, killed renamable $sgpr48_sgpr49, implicit-def dead $scc
613   ; GFX90A-NEXT:   S_BRANCH %bb.47
614   ; GFX90A-NEXT: {{  $}}
615   ; GFX90A-NEXT: bb.46.bb48:
616   ; GFX90A-NEXT:   successors: %bb.43(0x40000000), %bb.47(0x40000000)
617   ; GFX90A-NEXT:   liveins: $sgpr14, $sgpr15, $sgpr16, $sgpr33, $vgpr18, $vgpr30, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr24_sgpr25, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr56_sgpr57:0x000000000000000F, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003F, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr2_vgpr3:0x000000000000000F, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr46_sgpr47, $sgpr58_sgpr59, $sgpr54_sgpr55, $sgpr44_sgpr45, $sgpr52_sgpr53
618   ; GFX90A-NEXT: {{  $}}
619   ; GFX90A-NEXT:   renamable $vgpr60 = V_ADD_CO_U32_e32 5120, $vgpr40, implicit-def $vcc, implicit $exec
620   ; GFX90A-NEXT:   renamable $sgpr18_sgpr19 = COPY $vcc
621   ; GFX90A-NEXT:   renamable $vgpr0 = V_ADD_CO_U32_e32 4096, $vgpr40, implicit-def $vcc, implicit $exec
622   ; GFX90A-NEXT:   renamable $vgpr1, dead renamable $vcc = V_ADDC_U32_e64 0, $vgpr41, killed $vcc, 0, implicit $exec
623   ; GFX90A-NEXT:   renamable $vgpr0 = GLOBAL_LOAD_UBYTE killed renamable $vgpr0_vgpr1, 1024, 0, implicit $exec :: (load (s8) from %ir.i49, addrspace 1)
624   ; GFX90A-NEXT:   renamable $sgpr60_sgpr61 = S_MOV_B64 -1
625   ; GFX90A-NEXT:   renamable $sgpr64_sgpr65 = COPY renamable $sgpr36_sgpr37
626   ; GFX90A-NEXT:   renamable $sgpr66_sgpr67 = S_MOV_B64 0
627   ; GFX90A-NEXT:   renamable $sgpr68_sgpr69 = S_MOV_B64 0
628   ; GFX90A-NEXT:   renamable $vgpr61, dead renamable $vcc = V_ADDC_U32_e64 0, $vgpr41, killed $sgpr18_sgpr19, 0, implicit $exec
629   ; GFX90A-NEXT:   renamable $vcc = V_CMP_EQ_U16_e64 0, killed $vgpr0, implicit $exec
630   ; GFX90A-NEXT:   renamable $sgpr70_sgpr71 = S_MOV_B64 0
631   ; GFX90A-NEXT:   renamable $vgpr8_vgpr9 = IMPLICIT_DEF
632   ; GFX90A-NEXT:   renamable $vgpr6_vgpr7 = IMPLICIT_DEF
633   ; GFX90A-NEXT:   renamable $vgpr4_vgpr5 = IMPLICIT_DEF
634   ; GFX90A-NEXT:   renamable $vgpr0_vgpr1 = IMPLICIT_DEF
635   ; GFX90A-NEXT:   renamable $vgpr62_vgpr63 = IMPLICIT_DEF
636   ; GFX90A-NEXT:   renamable $vgpr17 = IMPLICIT_DEF
637   ; GFX90A-NEXT:   renamable $vgpr15 = IMPLICIT_DEF
638   ; GFX90A-NEXT:   renamable $vgpr14 = IMPLICIT_DEF
639   ; GFX90A-NEXT:   renamable $vgpr52 = IMPLICIT_DEF
640   ; GFX90A-NEXT:   renamable $vgpr16 = IMPLICIT_DEF
641   ; GFX90A-NEXT:   renamable $vgpr53 = IMPLICIT_DEF
642   ; GFX90A-NEXT:   renamable $vgpr13 = IMPLICIT_DEF
643   ; GFX90A-NEXT:   renamable $vgpr11 = IMPLICIT_DEF
644   ; GFX90A-NEXT:   renamable $sgpr17 = IMPLICIT_DEF
645   ; GFX90A-NEXT:   $sgpr18_sgpr19 = S_AND_SAVEEXEC_B64 $vcc, implicit-def $exec, implicit-def $scc, implicit $exec
646   ; GFX90A-NEXT:   S_CBRANCH_EXECNZ %bb.43, implicit $exec
647   ; GFX90A-NEXT: {{  $}}
648   ; GFX90A-NEXT: bb.47.Flow25:
649   ; GFX90A-NEXT:   successors: %bb.42(0x80000000)
650   ; GFX90A-NEXT:   liveins: $sgpr14, $sgpr15, $sgpr16, $sgpr17, $vgpr15, $vgpr17, $vgpr18, $vgpr30, $vgpr31, $vgpr52, $vgpr53, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr18_sgpr19, $sgpr24_sgpr25, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr46_sgpr47, $sgpr54_sgpr55, $sgpr58_sgpr59, $sgpr60_sgpr61, $sgpr64_sgpr65, $sgpr66_sgpr67, $sgpr68_sgpr69, $sgpr70_sgpr71, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003C, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr0_vgpr1:0x000000000000000F, $vgpr2_vgpr3:0x000000000000000F, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x000000000000000F, $vgpr8_vgpr9:0x000000000000000F, $vgpr10_vgpr11:0x000000000000000F, $vgpr12_vgpr13:0x000000000000000F, $vgpr14_vgpr15:0x0000000000000003, $vgpr16_vgpr17:0x0000000000000003, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x0000000000000003, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
651   ; GFX90A-NEXT: {{  $}}
652   ; GFX90A-NEXT:   $exec = S_OR_B64 $exec, killed renamable $sgpr18_sgpr19, implicit-def $scc
653   ; GFX90A-NEXT:   renamable $sgpr44_sgpr45 = S_XOR_B64 $exec, -1, implicit-def dead $scc
654   ; GFX90A-NEXT:   renamable $sgpr62_sgpr63 = S_AND_B64 killed renamable $sgpr60_sgpr61, $exec, implicit-def dead $scc
655   ; GFX90A-NEXT:   renamable $sgpr48_sgpr49 = S_AND_B64 killed renamable $sgpr70_sgpr71, $exec, implicit-def dead $scc
656   ; GFX90A-NEXT:   renamable $sgpr50_sgpr51 = S_AND_B64 killed renamable $sgpr68_sgpr69, $exec, implicit-def dead $scc
657   ; GFX90A-NEXT:   renamable $sgpr52_sgpr53 = S_AND_B64 killed renamable $sgpr66_sgpr67, $exec, implicit-def dead $scc
658   ; GFX90A-NEXT:   renamable $sgpr54_sgpr55 = S_AND_B64 killed renamable $sgpr54_sgpr55, $exec, implicit-def dead $scc
659   ; GFX90A-NEXT:   renamable $sgpr58_sgpr59 = S_AND_B64 killed renamable $sgpr58_sgpr59, $exec, implicit-def dead $scc
660   ; GFX90A-NEXT:   renamable $sgpr18_sgpr19 = S_AND_B64 killed renamable $sgpr46_sgpr47, $exec, implicit-def dead $scc
661   ; GFX90A-NEXT:   renamable $sgpr46_sgpr47 = S_ANDN2_B64 renamable $sgpr36_sgpr37, $exec, implicit-def dead $scc
662   ; GFX90A-NEXT:   renamable $sgpr56_sgpr57 = S_AND_B64 killed renamable $sgpr64_sgpr65, $exec, implicit-def dead $scc
663   ; GFX90A-NEXT:   renamable $sgpr60_sgpr61 = S_OR_B64 killed renamable $sgpr46_sgpr47, killed renamable $sgpr56_sgpr57, implicit-def dead $scc
664   ; GFX90A-NEXT:   S_BRANCH %bb.42
665   ; GFX90A-NEXT: {{  $}}
666   ; GFX90A-NEXT: bb.48.bb63:
667   ; GFX90A-NEXT:   successors: %bb.50(0x40000000), %bb.49(0x40000000)
668   ; GFX90A-NEXT:   liveins: $vcc, $sgpr14, $sgpr15, $sgpr16, $vgpr18, $vgpr30, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr18_sgpr19, $sgpr24_sgpr25, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr48_sgpr49, $sgpr56_sgpr57:0x000000000000000F, $sgpr64_sgpr65, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003F, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr2_vgpr3:0x000000000000000F, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x0000000000000003, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr52_sgpr53, $sgpr58_sgpr59, $sgpr54_sgpr55, $sgpr46_sgpr47
669   ; GFX90A-NEXT: {{  $}}
670   ; GFX90A-NEXT:   renamable $sgpr44_sgpr45 = S_MOV_B64 0
671   ; GFX90A-NEXT:   S_CBRANCH_VCCNZ %bb.50, implicit $vcc
672   ; GFX90A-NEXT: {{  $}}
673   ; GFX90A-NEXT: bb.49:
674   ; GFX90A-NEXT:   successors: %bb.44(0x80000000)
675   ; GFX90A-NEXT:   liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr18, $vgpr30, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr18_sgpr19, $sgpr24_sgpr25, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003C, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr2_vgpr3:0x000000000000000F, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x0000000000000003, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr52_sgpr53, $sgpr58_sgpr59, $sgpr54_sgpr55
676   ; GFX90A-NEXT: {{  $}}
677   ; GFX90A-NEXT:   renamable $sgpr46_sgpr47 = S_MOV_B64 -1
678   ; GFX90A-NEXT:   S_BRANCH %bb.44
679   ; GFX90A-NEXT: {{  $}}
680   ; GFX90A-NEXT: bb.50.bb68:
681   ; GFX90A-NEXT:   successors: %bb.54(0x40000000), %bb.51(0x40000000)
682   ; GFX90A-NEXT:   liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr18, $vgpr30, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr18_sgpr19, $sgpr24_sgpr25, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr48_sgpr49, $sgpr56_sgpr57:0x000000000000000F, $sgpr64_sgpr65, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003F, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr2_vgpr3:0x000000000000000F, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x0000000000000003, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr46_sgpr47, $sgpr52_sgpr53, $sgpr58_sgpr59, $sgpr54_sgpr55
683   ; GFX90A-NEXT: {{  $}}
684   ; GFX90A-NEXT:   renamable $vgpr0 = nuw nsw V_LSHLREV_B32_e32 3, $vgpr30, implicit $exec
685   ; GFX90A-NEXT:   renamable $vgpr1 = V_MOV_B32_e32 0, implicit $exec
686   ; GFX90A-NEXT:   renamable $vcc = S_AND_B64 $exec, killed renamable $sgpr48_sgpr49, implicit-def dead $scc
687   ; GFX90A-NEXT:   S_CBRANCH_VCCNZ %bb.54, implicit $vcc
688   ; GFX90A-NEXT: {{  $}}
689   ; GFX90A-NEXT: bb.51:
690   ; GFX90A-NEXT:   successors: %bb.45(0x80000000)
691   ; GFX90A-NEXT:   liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr18, $vgpr30, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr18_sgpr19, $sgpr24_sgpr25, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003C, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr0_vgpr1:0x000000000000000F, $vgpr2_vgpr3:0x000000000000000F, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x0000000000000003, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr52_sgpr53, $sgpr58_sgpr59, $sgpr54_sgpr55
692   ; GFX90A-NEXT: {{  $}}
693   ; GFX90A-NEXT:   renamable $sgpr48_sgpr49 = S_MOV_B64 -1
694   ; GFX90A-NEXT:   renamable $sgpr50_sgpr51 = COPY renamable $sgpr36_sgpr37
695   ; GFX90A-NEXT:   renamable $vgpr8_vgpr9 = IMPLICIT_DEF
696   ; GFX90A-NEXT:   renamable $vgpr6_vgpr7 = IMPLICIT_DEF
697   ; GFX90A-NEXT:   renamable $vgpr4_vgpr5 = IMPLICIT_DEF
698   ; GFX90A-NEXT:   renamable $vgpr17 = IMPLICIT_DEF
699   ; GFX90A-NEXT:   renamable $vgpr15 = IMPLICIT_DEF
700   ; GFX90A-NEXT:   renamable $vgpr14 = IMPLICIT_DEF
701   ; GFX90A-NEXT:   renamable $vgpr52 = IMPLICIT_DEF
702   ; GFX90A-NEXT:   renamable $vgpr16 = IMPLICIT_DEF
703   ; GFX90A-NEXT:   renamable $vgpr53 = IMPLICIT_DEF
704   ; GFX90A-NEXT:   renamable $vgpr13 = IMPLICIT_DEF
705   ; GFX90A-NEXT:   renamable $vgpr11 = IMPLICIT_DEF
706   ; GFX90A-NEXT:   renamable $sgpr17 = IMPLICIT_DEF
707   ; GFX90A-NEXT:   S_BRANCH %bb.45
708   ; GFX90A-NEXT: {{  $}}
709   ; GFX90A-NEXT: bb.52.bb80:
710   ; GFX90A-NEXT:   successors: %bb.59(0x40000000), %bb.53(0x40000000)
711   ; GFX90A-NEXT:   liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr18, $vgpr30, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr18_sgpr19, $sgpr24_sgpr25, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr48_sgpr49, $sgpr56_sgpr57:0x000000000000000F, $sgpr60_sgpr61, $sgpr64_sgpr65, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003F, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr0_vgpr1:0x000000000000000F, $vgpr2_vgpr3:0x000000000000000F, $vgpr4_vgpr5:0x000000000000000F, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x0000000000000003, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
712   ; GFX90A-NEXT: {{  $}}
713   ; GFX90A-NEXT:   renamable $sgpr17 = S_BFE_U32 renamable $sgpr20, 65560, implicit-def dead $scc
714   ; GFX90A-NEXT:   S_CMP_EQ_U32 killed renamable $sgpr17, 0, implicit-def $scc
715   ; GFX90A-NEXT:   renamable $vgpr6 = V_ADD_CO_U32_e32 4096, $vgpr0, implicit-def $vcc, implicit $exec
716   ; GFX90A-NEXT:   renamable $vgpr7, dead renamable $sgpr50_sgpr51 = V_ADDC_U32_e64 0, 0, killed $vcc, 0, implicit $exec
717   ; GFX90A-NEXT:   S_CBRANCH_SCC1 %bb.59, implicit killed $scc
718   ; GFX90A-NEXT: {{  $}}
719   ; GFX90A-NEXT: bb.53:
720   ; GFX90A-NEXT:   successors: %bb.61(0x80000000)
721   ; GFX90A-NEXT:   liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr18, $vgpr30, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr18_sgpr19, $sgpr24_sgpr25, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr48_sgpr49, $sgpr60_sgpr61, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003C, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr0_vgpr1:0x000000000000000F, $vgpr2_vgpr3:0x000000000000000F, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x000000000000000F, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x0000000000000003, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
722   ; GFX90A-NEXT: {{  $}}
723   ; GFX90A-NEXT:   renamable $sgpr50_sgpr51 = S_MOV_B64 0
724   ; GFX90A-NEXT:   renamable $sgpr52_sgpr53 = S_MOV_B64 -1
725   ; GFX90A-NEXT:   renamable $sgpr62_sgpr63 = COPY renamable $sgpr36_sgpr37
726   ; GFX90A-NEXT:   renamable $vgpr8_vgpr9 = IMPLICIT_DEF
727   ; GFX90A-NEXT:   renamable $vgpr17 = IMPLICIT_DEF
728   ; GFX90A-NEXT:   renamable $vgpr15 = IMPLICIT_DEF
729   ; GFX90A-NEXT:   renamable $vgpr14 = IMPLICIT_DEF
730   ; GFX90A-NEXT:   renamable $vgpr52 = IMPLICIT_DEF
731   ; GFX90A-NEXT:   renamable $vgpr16 = IMPLICIT_DEF
732   ; GFX90A-NEXT:   renamable $vgpr53 = IMPLICIT_DEF
733   ; GFX90A-NEXT:   renamable $vgpr13 = IMPLICIT_DEF
734   ; GFX90A-NEXT:   renamable $vgpr11 = IMPLICIT_DEF
735   ; GFX90A-NEXT:   renamable $sgpr17 = IMPLICIT_DEF
736   ; GFX90A-NEXT:   S_BRANCH %bb.61
737   ; GFX90A-NEXT: {{  $}}
738   ; GFX90A-NEXT: bb.54.bb73:
739   ; GFX90A-NEXT:   successors: %bb.52(0x40000000), %bb.55(0x40000000)
740   ; GFX90A-NEXT:   liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr18, $vgpr30, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr18_sgpr19, $sgpr24_sgpr25, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr56_sgpr57:0x000000000000000F, $sgpr64_sgpr65, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003F, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr0_vgpr1:0x000000000000000F, $vgpr2_vgpr3:0x000000000000000F, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x0000000000000003, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr52_sgpr53
741   ; GFX90A-NEXT: {{  $}}
742   ; GFX90A-NEXT:   renamable $vgpr6 = GLOBAL_LOAD_UBYTE renamable $vgpr0_vgpr1, 2048, 0, implicit $exec :: (load (s8) from %ir.i74, addrspace 1)
743   ; GFX90A-NEXT:   renamable $vgpr4 = V_ADD_CO_U32_e32 2048, $vgpr0, implicit-def $vcc, implicit $exec
744   ; GFX90A-NEXT:   renamable $sgpr48_sgpr49 = S_MOV_B64 0
745   ; GFX90A-NEXT:   renamable $sgpr54_sgpr55 = S_MOV_B64 -1
746   ; GFX90A-NEXT:   renamable $sgpr50_sgpr51 = COPY renamable $sgpr36_sgpr37
747   ; GFX90A-NEXT:   renamable $vgpr5, dead renamable $sgpr58_sgpr59 = V_ADDC_U32_e64 0, 0, killed $vcc, 0, implicit $exec
748   ; GFX90A-NEXT:   renamable $vcc = V_CMP_EQ_U16_e64 0, killed $vgpr6, implicit $exec
749   ; GFX90A-NEXT:   renamable $sgpr58_sgpr59 = S_MOV_B64 0
750   ; GFX90A-NEXT:   renamable $vgpr8_vgpr9 = IMPLICIT_DEF
751   ; GFX90A-NEXT:   renamable $vgpr6_vgpr7 = IMPLICIT_DEF
752   ; GFX90A-NEXT:   renamable $vgpr17 = IMPLICIT_DEF
753   ; GFX90A-NEXT:   renamable $vgpr15 = IMPLICIT_DEF
754   ; GFX90A-NEXT:   renamable $vgpr14 = IMPLICIT_DEF
755   ; GFX90A-NEXT:   renamable $vgpr52 = IMPLICIT_DEF
756   ; GFX90A-NEXT:   renamable $vgpr16 = IMPLICIT_DEF
757   ; GFX90A-NEXT:   renamable $vgpr53 = IMPLICIT_DEF
758   ; GFX90A-NEXT:   renamable $vgpr13 = IMPLICIT_DEF
759   ; GFX90A-NEXT:   renamable $vgpr11 = IMPLICIT_DEF
760   ; GFX90A-NEXT:   renamable $sgpr17 = IMPLICIT_DEF
761   ; GFX90A-NEXT:   $sgpr60_sgpr61 = S_AND_SAVEEXEC_B64 $vcc, implicit-def $exec, implicit-def $scc, implicit $exec
762   ; GFX90A-NEXT:   S_CBRANCH_EXECNZ %bb.52, implicit $exec
763   ; GFX90A-NEXT: {{  $}}
764   ; GFX90A-NEXT: bb.55.Flow29:
765   ; GFX90A-NEXT:   successors: %bb.45(0x80000000)
766   ; GFX90A-NEXT:   liveins: $sgpr14, $sgpr15, $sgpr16, $sgpr17, $vgpr15, $vgpr17, $vgpr18, $vgpr30, $vgpr31, $vgpr52, $vgpr53, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr18_sgpr19, $sgpr24_sgpr25, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr48_sgpr49, $sgpr50_sgpr51, $sgpr52_sgpr53, $sgpr54_sgpr55, $sgpr58_sgpr59, $sgpr60_sgpr61, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003C, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr0_vgpr1:0x000000000000000F, $vgpr2_vgpr3:0x000000000000000F, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x000000000000000F, $vgpr8_vgpr9:0x000000000000000F, $vgpr10_vgpr11:0x000000000000000F, $vgpr12_vgpr13:0x000000000000000F, $vgpr14_vgpr15:0x0000000000000003, $vgpr16_vgpr17:0x0000000000000003, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x0000000000000003, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
767   ; GFX90A-NEXT: {{  $}}
768   ; GFX90A-NEXT:   $exec = S_OR_B64 $exec, killed renamable $sgpr60_sgpr61, implicit-def $scc
769   ; GFX90A-NEXT:   S_BRANCH %bb.45
770   ; GFX90A-NEXT: {{  $}}
771   ; GFX90A-NEXT: bb.56.bb90:
772   ; GFX90A-NEXT:   successors: %bb.60(0x80000000)
773   ; GFX90A-NEXT:   liveins: $sgpr14, $sgpr15, $sgpr16, $sgpr17, $vgpr18, $vgpr30, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr18_sgpr19, $sgpr24_sgpr25, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr48_sgpr49, $sgpr52_sgpr53, $sgpr56_sgpr57:0x000000000000000F, $sgpr60_sgpr61, $sgpr64_sgpr65, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003C, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr0_vgpr1:0x000000000000000F, $vgpr2_vgpr3:0x000000000000000F, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x000000000000000F, $vgpr8_vgpr9:0x000000000000000F, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x0000000000000003, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
774   ; GFX90A-NEXT: {{  $}}
775   ; GFX90A-NEXT:   renamable $vgpr53 = V_CNDMASK_B32_e64 0, 0, 0, 1, killed $sgpr64_sgpr65, implicit $exec
776   ; GFX90A-NEXT:   renamable $vgpr10 = V_MOV_B32_e32 0, implicit $exec
777   ; GFX90A-NEXT:   renamable $vgpr14_vgpr15 = DS_READ_B64_gfx9 killed renamable $vgpr10, 0, 0, implicit $exec :: (load (s64) from `ptr addrspace(3) null`, addrspace 3)
778   ; GFX90A-NEXT:   renamable $vgpr10 = COPY renamable $sgpr21, implicit $exec
779   ; GFX90A-NEXT:   renamable $vgpr16_vgpr17 = DS_READ_B64_gfx9 killed renamable $vgpr10, 0, 0, implicit $exec :: (load (s64) from %ir.7, addrspace 3)
780   ; GFX90A-NEXT:   renamable $vgpr10 = COPY renamable $sgpr22, implicit $exec
781   ; GFX90A-NEXT:   renamable $vgpr12_vgpr13 = DS_READ_B64_gfx9 killed renamable $vgpr10, 0, 0, implicit $exec :: (load (s64) from %ir.8, addrspace 3)
782   ; GFX90A-NEXT:   renamable $vgpr10 = COPY renamable $sgpr56, implicit $exec
783   ; GFX90A-NEXT:   renamable $vgpr11 = V_ALIGNBIT_B32_e64 killed $sgpr57, killed $vgpr10, 1, implicit $exec
784   ; GFX90A-NEXT:   renamable $vgpr52 = V_ALIGNBIT_B32_e64 $vgpr17, $vgpr16, 1, implicit $exec
785   ; GFX90A-NEXT:   renamable $vgpr17 = V_CNDMASK_B32_e64 0, 0, 0, 1, $sgpr12_sgpr13, implicit $exec
786   ; GFX90A-NEXT:   renamable $vgpr15 = V_ALIGNBIT_B32_e64 $vgpr15, $vgpr14, 1, implicit $exec
787   ; GFX90A-NEXT:   renamable $sgpr50_sgpr51 = S_XOR_B64 $exec, -1, implicit-def dead $scc
788   ; GFX90A-NEXT:   renamable $sgpr62_sgpr63 = S_OR_B64 renamable $sgpr36_sgpr37, $exec, implicit-def dead $scc
789   ; GFX90A-NEXT:   S_BRANCH %bb.60
790   ; GFX90A-NEXT: {{  $}}
791   ; GFX90A-NEXT: bb.57:
792   ; GFX90A-NEXT:   successors: %bb.7(0x80000000)
793   ; GFX90A-NEXT:   liveins: $exec:0x000000000000000F, $sgpr14, $sgpr15, $sgpr16, $sgpr17:0x0000000000000003, $sgpr23:0x0000000000000003, $vgpr30, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr18_sgpr19, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr36_sgpr37, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003C, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr2_vgpr3:0x000000000000000F, $vgpr10_vgpr11:0x000000000000000F, $vgpr18_vgpr19:0x000000000000000F, $vgpr20_vgpr21:0x000000000000000F, $vgpr22_vgpr23:0x000000000000000F, $vgpr24_vgpr25:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
794   ; GFX90A-NEXT: {{  $}}
795   ; GFX90A-NEXT:   renamable $vgpr15 = COPY killed renamable $sgpr23, implicit $exec
796   ; GFX90A-NEXT:   renamable $vgpr17 = COPY killed renamable $sgpr17, implicit $exec
797   ; GFX90A-NEXT:   renamable $sgpr58_sgpr59 = S_MOV_B64 0
798   ; GFX90A-NEXT:   renamable $sgpr54_sgpr55 = S_MOV_B64 0
799   ; GFX90A-NEXT:   renamable $sgpr52_sgpr53 = S_MOV_B64 0
800   ; GFX90A-NEXT:   renamable $sgpr50_sgpr51 = S_MOV_B64 0
801   ; GFX90A-NEXT:   renamable $sgpr48_sgpr49 = S_MOV_B64 0
802   ; GFX90A-NEXT:   renamable $sgpr46_sgpr47 = S_MOV_B64 0
803   ; GFX90A-NEXT:   renamable $sgpr44_sgpr45 = S_MOV_B64 0
804   ; GFX90A-NEXT:   renamable $sgpr42_sgpr43 = S_MOV_B64 0
805   ; GFX90A-NEXT:   renamable $sgpr40_sgpr41 = S_MOV_B64 0
806   ; GFX90A-NEXT:   renamable $sgpr38_sgpr39 = S_MOV_B64 0
807   ; GFX90A-NEXT:   renamable $vgpr8_vgpr9 = IMPLICIT_DEF
808   ; GFX90A-NEXT:   renamable $vgpr6_vgpr7 = IMPLICIT_DEF
809   ; GFX90A-NEXT:   renamable $vgpr4_vgpr5 = IMPLICIT_DEF
810   ; GFX90A-NEXT:   renamable $vgpr0_vgpr1 = IMPLICIT_DEF
811   ; GFX90A-NEXT:   renamable $vgpr62_vgpr63 = IMPLICIT_DEF
812   ; GFX90A-NEXT:   renamable $vgpr60_vgpr61 = IMPLICIT_DEF
813   ; GFX90A-NEXT:   renamable $vgpr58_vgpr59 = IMPLICIT_DEF
814   ; GFX90A-NEXT:   renamable $vgpr56_vgpr57 = IMPLICIT_DEF
815   ; GFX90A-NEXT:   renamable $vgpr44_vgpr45 = IMPLICIT_DEF
816   ; GFX90A-NEXT:   renamable $vgpr42_vgpr43 = IMPLICIT_DEF
817   ; GFX90A-NEXT:   renamable $vgpr40_vgpr41 = IMPLICIT_DEF
818   ; GFX90A-NEXT:   renamable $vgpr46_vgpr47 = IMPLICIT_DEF
819   ; GFX90A-NEXT:   renamable $vgpr14 = COPY renamable $vgpr15, implicit $exec
820   ; GFX90A-NEXT:   renamable $vgpr52 = COPY renamable $vgpr15, implicit $exec
821   ; GFX90A-NEXT:   renamable $vgpr16 = COPY renamable $vgpr15, implicit $exec
822   ; GFX90A-NEXT:   renamable $vgpr53 = COPY renamable $vgpr17, implicit $exec
823   ; GFX90A-NEXT:   renamable $vgpr13 = COPY renamable $vgpr15, implicit $exec
824   ; GFX90A-NEXT:   renamable $vgpr12 = COPY renamable $vgpr15, implicit $exec
825   ; GFX90A-NEXT:   renamable $sgpr34_sgpr35 = S_MOV_B64 0
826   ; GFX90A-NEXT:   S_BRANCH %bb.7
827   ; GFX90A-NEXT: {{  $}}
828   ; GFX90A-NEXT: bb.58.bb105:
829   ; GFX90A-NEXT:   successors: %bb.3(0x80000000)
830   ; GFX90A-NEXT:   liveins: $sgpr14, $sgpr15, $sgpr16, $sgpr17, $sgpr33, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr18_sgpr19, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr56_sgpr57:0x000000000000000F, $sgpr20_sgpr21_sgpr22_sgpr23:0x00000000000000FF, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000FF, $vgpr2_vgpr3:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
831   ; GFX90A-NEXT: {{  $}}
832   ; GFX90A-NEXT:   renamable $vgpr0 = V_MOV_B32_e32 0, implicit $exec
833   ; GFX90A-NEXT:   renamable $vgpr22_vgpr23 = DS_READ_B64_gfx9 killed renamable $vgpr0, 0, 0, implicit $exec :: (load (s64) from `ptr addrspace(3) null`, addrspace 3)
834   ; GFX90A-NEXT:   renamable $vgpr0 = COPY renamable $sgpr23, implicit $exec
835   ; GFX90A-NEXT:   renamable $vgpr20_vgpr21 = DS_READ_B64_gfx9 killed renamable $vgpr0, 0, 0, implicit $exec :: (load (s64) from %ir.434, addrspace 3)
836   ; GFX90A-NEXT:   renamable $vgpr0 = COPY renamable $sgpr21, implicit $exec
837   ; GFX90A-NEXT:   renamable $vgpr18_vgpr19 = DS_READ_B64_gfx9 killed renamable $vgpr0, 0, 0, implicit $exec :: (load (s64) from %ir.7, addrspace 3)
838   ; GFX90A-NEXT:   renamable $vgpr0 = COPY killed renamable $sgpr17, implicit $exec
839   ; GFX90A-NEXT:   renamable $vgpr10_vgpr11 = DS_READ_B64_gfx9 killed renamable $vgpr0, 0, 0, implicit $exec :: (load (s64) from %ir.435, addrspace 3)
840   ; GFX90A-NEXT:   renamable $vgpr0 = COPY renamable $sgpr22, implicit $exec
841   ; GFX90A-NEXT:   renamable $vgpr24_vgpr25 = DS_READ_B64_gfx9 killed renamable $vgpr0, 0, 0, implicit $exec :: (load (s64) from %ir.8, addrspace 3)
842   ; GFX90A-NEXT:   renamable $sgpr36_sgpr37 = S_MOV_B64 -1
843   ; GFX90A-NEXT:   renamable $sgpr23 = S_MOV_B32 0
844   ; GFX90A-NEXT:   renamable $sgpr17 = S_MOV_B32 0
845   ; GFX90A-NEXT:   S_BRANCH %bb.3
846   ; GFX90A-NEXT: {{  $}}
847   ; GFX90A-NEXT: bb.59.bb85:
848   ; GFX90A-NEXT:   successors: %bb.56(0x40000000), %bb.60(0x40000000)
849   ; GFX90A-NEXT:   liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr18, $vgpr30, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr18_sgpr19, $sgpr24_sgpr25, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr48_sgpr49, $sgpr56_sgpr57:0x000000000000000F, $sgpr60_sgpr61, $sgpr64_sgpr65, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003C, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr0_vgpr1:0x000000000000000F, $vgpr2_vgpr3:0x000000000000000F, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x000000000000000F, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x0000000000000003, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
850   ; GFX90A-NEXT: {{  $}}
851   ; GFX90A-NEXT:   renamable $vgpr8 = V_OR_B32_e32 1, $vgpr6, implicit $exec
852   ; GFX90A-NEXT:   renamable $vgpr9 = COPY renamable $vgpr7, implicit $exec
853   ; GFX90A-NEXT:   renamable $vgpr10 = FLAT_LOAD_UBYTE renamable $vgpr8_vgpr9, 0, 0, implicit $exec, implicit $flat_scr :: (load (s8) from %ir.i86)
854   ; GFX90A-NEXT:   renamable $sgpr17 = S_MOV_B32 0
855   ; GFX90A-NEXT:   renamable $sgpr50_sgpr51 = S_MOV_B64 -1
856   ; GFX90A-NEXT:   renamable $vcc = V_CMP_EQ_U16_e64 0, killed $vgpr10, implicit $exec
857   ; GFX90A-NEXT:   renamable $sgpr62_sgpr63 = COPY renamable $sgpr36_sgpr37
858   ; GFX90A-NEXT:   renamable $vgpr17 = IMPLICIT_DEF
859   ; GFX90A-NEXT:   renamable $vgpr15 = IMPLICIT_DEF
860   ; GFX90A-NEXT:   renamable $vgpr14 = IMPLICIT_DEF
861   ; GFX90A-NEXT:   renamable $vgpr52 = IMPLICIT_DEF
862   ; GFX90A-NEXT:   renamable $vgpr16 = IMPLICIT_DEF
863   ; GFX90A-NEXT:   renamable $vgpr53 = IMPLICIT_DEF
864   ; GFX90A-NEXT:   renamable $vgpr13 = IMPLICIT_DEF
865   ; GFX90A-NEXT:   renamable $vgpr11 = IMPLICIT_DEF
866   ; GFX90A-NEXT:   $sgpr52_sgpr53 = S_AND_SAVEEXEC_B64 $vcc, implicit-def $exec, implicit-def $scc, implicit $exec
867   ; GFX90A-NEXT:   S_CBRANCH_EXECNZ %bb.56, implicit $exec
868   ; GFX90A-NEXT: {{  $}}
869   ; GFX90A-NEXT: bb.60.Flow31:
870   ; GFX90A-NEXT:   successors: %bb.61(0x80000000)
871   ; GFX90A-NEXT:   liveins: $sgpr14, $sgpr15, $sgpr16, $sgpr17, $vgpr15, $vgpr17, $vgpr18, $vgpr30, $vgpr31, $vgpr52, $vgpr53, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr18_sgpr19, $sgpr24_sgpr25, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr48_sgpr49, $sgpr50_sgpr51, $sgpr52_sgpr53, $sgpr60_sgpr61, $sgpr62_sgpr63, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003C, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr0_vgpr1:0x000000000000000F, $vgpr2_vgpr3:0x000000000000000F, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x000000000000000F, $vgpr8_vgpr9:0x000000000000000F, $vgpr10_vgpr11:0x000000000000000C, $vgpr12_vgpr13:0x000000000000000F, $vgpr14_vgpr15:0x0000000000000003, $vgpr16_vgpr17:0x0000000000000003, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x0000000000000003, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
872   ; GFX90A-NEXT: {{  $}}
873   ; GFX90A-NEXT:   $exec = S_OR_B64 $exec, killed renamable $sgpr52_sgpr53, implicit-def $scc
874   ; GFX90A-NEXT:   renamable $sgpr52_sgpr53 = S_MOV_B64 0
875   ; GFX90A-NEXT:   renamable $vgpr10 = COPY renamable $vgpr14, implicit $exec
876   ; GFX90A-NEXT: {{  $}}
877   ; GFX90A-NEXT: bb.61.Flow30:
878   ; GFX90A-NEXT:   successors: %bb.55(0x80000000)
879   ; GFX90A-NEXT:   liveins: $sgpr14, $sgpr15, $sgpr16, $sgpr17, $vgpr15, $vgpr17, $vgpr18, $vgpr30, $vgpr31, $vgpr52, $vgpr53, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr18_sgpr19, $sgpr24_sgpr25, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr48_sgpr49, $sgpr50_sgpr51, $sgpr52_sgpr53, $sgpr60_sgpr61, $sgpr62_sgpr63, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003C, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr0_vgpr1:0x000000000000000F, $vgpr2_vgpr3:0x000000000000000F, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x000000000000000F, $vgpr8_vgpr9:0x000000000000000F, $vgpr10_vgpr11:0x000000000000000F, $vgpr12_vgpr13:0x000000000000000F, $vgpr14_vgpr15:0x0000000000000003, $vgpr16_vgpr17:0x0000000000000003, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x0000000000000003, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
880   ; GFX90A-NEXT: {{  $}}
881   ; GFX90A-NEXT:   renamable $sgpr54_sgpr55 = S_XOR_B64 $exec, -1, implicit-def dead $scc
882   ; GFX90A-NEXT:   renamable $sgpr58_sgpr59 = S_AND_B64 killed renamable $sgpr52_sgpr53, $exec, implicit-def dead $scc
883   ; GFX90A-NEXT:   renamable $sgpr52_sgpr53 = S_AND_B64 killed renamable $sgpr50_sgpr51, $exec, implicit-def dead $scc
884   ; GFX90A-NEXT:   renamable $sgpr50_sgpr51 = S_ANDN2_B64 renamable $sgpr36_sgpr37, $exec, implicit-def dead $scc
885   ; GFX90A-NEXT:   renamable $sgpr56_sgpr57 = S_AND_B64 killed renamable $sgpr62_sgpr63, $exec, implicit-def dead $scc
886   ; GFX90A-NEXT:   renamable $sgpr50_sgpr51 = S_OR_B64 killed renamable $sgpr50_sgpr51, killed renamable $sgpr56_sgpr57, implicit-def dead $scc
887   ; GFX90A-NEXT:   S_BRANCH %bb.55
888   ; GFX90A-NEXT: {{  $}}
889   ; GFX90A-NEXT: bb.62.bb140:
890   ; GFX90A-NEXT:   successors: %bb.68(0x40000000), %bb.63(0x40000000)
891   ; GFX90A-NEXT:   liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr15, $vgpr17, $vgpr30, $vgpr31, $vgpr52, $vgpr53, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr18_sgpr19, $sgpr24_sgpr25, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr48_sgpr49, $sgpr50_sgpr51, $sgpr52_sgpr53, $sgpr54_sgpr55, $sgpr58_sgpr59, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003C, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr0_vgpr1:0x000000000000000F, $vgpr2_vgpr3:0x000000000000000F, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x000000000000000F, $vgpr8_vgpr9:0x000000000000000F, $vgpr10_vgpr11:0x000000000000000F, $vgpr12_vgpr13:0x000000000000000F, $vgpr14_vgpr15:0x0000000000000003, $vgpr16_vgpr17:0x0000000000000003, $vgpr18_vgpr19:0x000000000000000F, $vgpr20_vgpr21:0x000000000000000F, $vgpr22_vgpr23:0x000000000000000F, $vgpr24_vgpr25:0x000000000000000F, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
892   ; GFX90A-NEXT: {{  $}}
893   ; GFX90A-NEXT:   renamable $sgpr36_sgpr37 = S_MOV_B64 -1
894   ; GFX90A-NEXT:   renamable $vcc = S_AND_B64 $exec, killed renamable $sgpr30_sgpr31, implicit-def dead $scc
895   ; GFX90A-NEXT:   S_CBRANCH_VCCNZ %bb.68, implicit $vcc
896   ; GFX90A-NEXT: {{  $}}
897   ; GFX90A-NEXT: bb.63.Flow13:
898   ; GFX90A-NEXT:   successors: %bb.64(0x40000000), %bb.66(0x40000000)
899   ; GFX90A-NEXT:   liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr15, $vgpr17, $vgpr30, $vgpr31, $vgpr52, $vgpr53, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr18_sgpr19, $sgpr24_sgpr25, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr48_sgpr49, $sgpr50_sgpr51, $sgpr52_sgpr53, $sgpr54_sgpr55, $sgpr58_sgpr59, $vgpr0_vgpr1:0x000000000000000F, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x000000000000000F, $vgpr8_vgpr9:0x000000000000000F, $vgpr10_vgpr11:0x000000000000000C, $vgpr12_vgpr13:0x000000000000000C, $vgpr18_vgpr19:0x000000000000000C, $vgpr20_vgpr21:0x000000000000000C, $vgpr22_vgpr23:0x000000000000000C, $vgpr24_vgpr25:0x000000000000000C, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
900   ; GFX90A-NEXT: {{  $}}
901   ; GFX90A-NEXT:   $vcc = S_ANDN2_B64 $exec, killed renamable $sgpr36_sgpr37, implicit-def dead $scc
902   ; GFX90A-NEXT:   S_CBRANCH_VCCNZ %bb.66, implicit $vcc
903   ; GFX90A-NEXT: {{  $}}
904   ; GFX90A-NEXT: bb.64.bb159:
905   ; GFX90A-NEXT:   successors: %bb.67(0x40000000), %bb.65(0x40000000)
906   ; GFX90A-NEXT:   liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr15, $vgpr17, $vgpr30, $vgpr31, $vgpr52, $vgpr53, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr18_sgpr19, $sgpr24_sgpr25, $sgpr34_sgpr35, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr48_sgpr49, $sgpr50_sgpr51, $sgpr52_sgpr53, $sgpr54_sgpr55, $sgpr58_sgpr59, $vgpr0_vgpr1:0x000000000000000F, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x000000000000000F, $vgpr8_vgpr9:0x000000000000000F, $vgpr10_vgpr11:0x000000000000000C, $vgpr12_vgpr13:0x000000000000000C, $vgpr18_vgpr19:0x000000000000000C, $vgpr20_vgpr21:0x000000000000000C, $vgpr22_vgpr23:0x000000000000000C, $vgpr24_vgpr25:0x000000000000000C, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
907   ; GFX90A-NEXT: {{  $}}
908   ; GFX90A-NEXT:   renamable $vcc = V_CMP_NE_U32_e64 0, killed $vgpr30, implicit $exec
909   ; GFX90A-NEXT:   $sgpr12_sgpr13 = S_AND_SAVEEXEC_B64 $vcc, implicit-def $exec, implicit-def $scc, implicit $exec
910   ; GFX90A-NEXT:   renamable $sgpr12_sgpr13 = S_XOR_B64 $exec, killed renamable $sgpr12_sgpr13, implicit-def dead $scc
911   ; GFX90A-NEXT:   S_CBRANCH_EXECNZ %bb.67, implicit $exec
912   ; GFX90A-NEXT: {{  $}}
913   ; GFX90A-NEXT: bb.65.Flow10:
914   ; GFX90A-NEXT:   successors: %bb.66(0x80000000)
915   ; GFX90A-NEXT:   liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr18_sgpr19, $sgpr24_sgpr25, $sgpr34_sgpr35, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr48_sgpr49, $sgpr50_sgpr51, $sgpr52_sgpr53, $sgpr54_sgpr55, $sgpr58_sgpr59, $vgpr0_vgpr1:0x000000000000000F, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x000000000000000F, $vgpr8_vgpr9:0x000000000000000F, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
916   ; GFX90A-NEXT: {{  $}}
917   ; GFX90A-NEXT:   $sgpr12_sgpr13 = S_ANDN2_SAVEEXEC_B64 $sgpr12_sgpr13, implicit-def $exec, implicit-def $scc, implicit $exec
918   ; GFX90A-NEXT:   $exec = S_OR_B64 $exec, killed renamable $sgpr12_sgpr13, implicit-def $scc
919   ; GFX90A-NEXT: {{  $}}
920   ; GFX90A-NEXT: bb.66.Flow14:
921   ; GFX90A-NEXT:   successors: %bb.8(0x80000000)
922   ; GFX90A-NEXT:   liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr18_sgpr19, $sgpr24_sgpr25, $sgpr34_sgpr35, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr48_sgpr49, $sgpr50_sgpr51, $sgpr52_sgpr53, $sgpr54_sgpr55, $sgpr58_sgpr59, $vgpr0_vgpr1:0x000000000000000F, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x000000000000000F, $vgpr8_vgpr9:0x000000000000000F, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
923   ; GFX90A-NEXT: {{  $}}
924   ; GFX90A-NEXT:   renamable $sgpr56_sgpr57 = COPY $exec
925   ; GFX90A-NEXT:   S_BRANCH %bb.8
926   ; GFX90A-NEXT: {{  $}}
927   ; GFX90A-NEXT: bb.67.bb161:
928   ; GFX90A-NEXT:   successors: %bb.65(0x80000000)
929   ; GFX90A-NEXT:   liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr15, $vgpr17, $vgpr31, $vgpr52, $vgpr53, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr18_sgpr19, $sgpr24_sgpr25, $sgpr34_sgpr35, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr48_sgpr49, $sgpr50_sgpr51, $sgpr52_sgpr53, $sgpr54_sgpr55, $sgpr58_sgpr59, $vgpr0_vgpr1:0x000000000000000F, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x000000000000000F, $vgpr8_vgpr9:0x000000000000000F, $vgpr10_vgpr11:0x000000000000000C, $vgpr12_vgpr13:0x000000000000000C, $vgpr18_vgpr19:0x000000000000000C, $vgpr20_vgpr21:0x000000000000000C, $vgpr22_vgpr23:0x000000000000000C, $vgpr24_vgpr25:0x000000000000000C, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
930   ; GFX90A-NEXT: {{  $}}
931   ; GFX90A-NEXT:   renamable $vgpr2 = V_OR_B32_e32 killed $vgpr21, killed $vgpr23, implicit $exec
932   ; GFX90A-NEXT:   renamable $vgpr2 = V_OR_B32_e32 killed $vgpr2, killed $vgpr25, implicit $exec
933   ; GFX90A-NEXT:   renamable $vgpr3 = V_OR_B32_e32 killed $vgpr11, killed $vgpr19, implicit $exec
934   ; GFX90A-NEXT:   renamable $vgpr2 = V_OR_B32_e32 killed $vgpr3, killed $vgpr2, implicit $exec
935   ; GFX90A-NEXT:   renamable $vgpr3 = V_MOV_B32_e32 0, implicit $exec
936   ; GFX90A-NEXT:   renamable $vcc = V_CMP_EQ_U16_sdwa 0, killed $vgpr53, 0, $vgpr3, 0, 0, 6, implicit $exec
937   ; GFX90A-NEXT:   renamable $vgpr2 = V_CNDMASK_B32_e64 0, 0, 0, killed $vgpr2, killed $vcc, implicit $exec
938   ; GFX90A-NEXT:   renamable $vgpr10 = V_OR_B32_e32 killed $vgpr52, killed $vgpr13, implicit $exec
939   ; GFX90A-NEXT:   renamable $vgpr2 = V_OR_B32_e32 killed $vgpr10, killed $vgpr2, implicit $exec
940   ; GFX90A-NEXT:   renamable $vcc = V_CMP_EQ_U16_sdwa 0, killed $vgpr17, 0, $vgpr3, 0, 0, 6, implicit $exec
941   ; GFX90A-NEXT:   renamable $vgpr2 = V_CNDMASK_B32_e64 0, 0, 0, killed $vgpr2, killed $vcc, implicit $exec
942   ; GFX90A-NEXT:   renamable $vgpr2 = V_OR_B32_e32 killed $vgpr2, killed $vgpr15, implicit $exec
943   ; GFX90A-NEXT:   DS_WRITE2_B32_gfx9 killed renamable $vgpr3, killed renamable $vgpr2, renamable $vgpr3, 0, 1, 0, implicit $exec :: (store (s64) into `ptr addrspace(3) null`, align 4, addrspace 3)
944   ; GFX90A-NEXT:   S_BRANCH %bb.65
945   ; GFX90A-NEXT: {{  $}}
946   ; GFX90A-NEXT: bb.68.bb174:
947   ; GFX90A-NEXT:   successors: %bb.72(0x40000000), %bb.69(0x40000000)
948   ; GFX90A-NEXT:   liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr15, $vgpr17, $vgpr30, $vgpr31, $vgpr52, $vgpr53, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr18_sgpr19, $sgpr24_sgpr25, $sgpr28_sgpr29, $sgpr34_sgpr35, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr48_sgpr49, $sgpr50_sgpr51, $sgpr52_sgpr53, $sgpr54_sgpr55, $sgpr58_sgpr59, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003C, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr0_vgpr1:0x000000000000000F, $vgpr2_vgpr3:0x000000000000000F, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x000000000000000F, $vgpr8_vgpr9:0x000000000000000F, $vgpr10_vgpr11:0x000000000000000F, $vgpr12_vgpr13:0x000000000000000F, $vgpr14_vgpr15:0x0000000000000003, $vgpr16_vgpr17:0x0000000000000003, $vgpr18_vgpr19:0x000000000000000F, $vgpr20_vgpr21:0x000000000000000F, $vgpr22_vgpr23:0x000000000000000F, $vgpr24_vgpr25:0x000000000000000F, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
949   ; GFX90A-NEXT: {{  $}}
950   ; GFX90A-NEXT:   renamable $vgpr26 = V_OR_B32_e32 1, $vgpr24, implicit $exec
951   ; GFX90A-NEXT:   renamable $vgpr48 = V_OR_B32_e32 $vgpr26, $vgpr22, implicit $exec
952   ; GFX90A-NEXT:   renamable $vgpr34 = V_OR_B32_e32 $vgpr48, $vgpr20, implicit $exec
953   ; GFX90A-NEXT:   renamable $vgpr28 = V_CNDMASK_B32_e64 0, $vgpr34, 0, 0, $sgpr12_sgpr13, implicit $exec
954   ; GFX90A-NEXT:   renamable $vgpr38 = V_OR_B32_e32 $vgpr28, $vgpr18, implicit $exec
955   ; GFX90A-NEXT:   renamable $vgpr36 = V_OR_B32_e32 $vgpr38, $vgpr10, implicit $exec
956   ; GFX90A-NEXT:   renamable $vgpr32 = V_OR_B32_e32 $vgpr36, $vgpr12, implicit $exec
957   ; GFX90A-NEXT:   renamable $vgpr50 = V_CNDMASK_B32_e64 0, 0, 0, $vgpr32, killed $sgpr12_sgpr13, implicit $exec
958   ; GFX90A-NEXT:   renamable $sgpr12_sgpr13 = S_MOV_B64 -1
959   ; GFX90A-NEXT:   renamable $vcc = S_AND_B64 $exec, killed renamable $sgpr28_sgpr29, implicit-def dead $scc
960   ; GFX90A-NEXT:   S_CBRANCH_VCCNZ %bb.72, implicit $vcc
961   ; GFX90A-NEXT: {{  $}}
962   ; GFX90A-NEXT: bb.69.Flow:
963   ; GFX90A-NEXT:   successors: %bb.70(0x40000000), %bb.71(0x40000000)
964   ; GFX90A-NEXT:   liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr15, $vgpr17, $vgpr30, $vgpr31, $vgpr52, $vgpr53, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr18_sgpr19, $sgpr24_sgpr25, $sgpr34_sgpr35, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr48_sgpr49, $sgpr50_sgpr51, $sgpr52_sgpr53, $sgpr54_sgpr55, $sgpr58_sgpr59, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003C, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr0_vgpr1:0x000000000000000F, $vgpr2_vgpr3:0x000000000000000F, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x000000000000000F, $vgpr8_vgpr9:0x000000000000000F, $vgpr10_vgpr11:0x000000000000000C, $vgpr12_vgpr13:0x000000000000000C, $vgpr18_vgpr19:0x000000000000000C, $vgpr20_vgpr21:0x000000000000000C, $vgpr22_vgpr23:0x000000000000000C, $vgpr24_vgpr25:0x000000000000000C, $vgpr26_vgpr27:0x0000000000000003, $vgpr28_vgpr29:0x0000000000000003, $vgpr32_vgpr33:0x0000000000000003, $vgpr34_vgpr35:0x0000000000000003, $vgpr36_vgpr37:0x0000000000000003, $vgpr38_vgpr39:0x0000000000000003, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr48_vgpr49:0x0000000000000003, $vgpr50_vgpr51:0x0000000000000003, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
965   ; GFX90A-NEXT: {{  $}}
966   ; GFX90A-NEXT:   $vcc = S_ANDN2_B64 $exec, killed renamable $sgpr12_sgpr13, implicit-def dead $scc
967   ; GFX90A-NEXT:   S_CBRANCH_VCCNZ %bb.71, implicit $vcc
968   ; GFX90A-NEXT: {{  $}}
969   ; GFX90A-NEXT: bb.70.bb186:
970   ; GFX90A-NEXT:   successors: %bb.71(0x80000000)
971   ; GFX90A-NEXT:   liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr15, $vgpr17, $vgpr30, $vgpr31, $vgpr52, $vgpr53, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr18_sgpr19, $sgpr24_sgpr25, $sgpr34_sgpr35, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr48_sgpr49, $sgpr50_sgpr51, $sgpr52_sgpr53, $sgpr54_sgpr55, $sgpr58_sgpr59, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003C, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr0_vgpr1:0x000000000000000F, $vgpr2_vgpr3:0x000000000000000F, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x000000000000000F, $vgpr8_vgpr9:0x000000000000000F, $vgpr10_vgpr11:0x000000000000000C, $vgpr12_vgpr13:0x000000000000000C, $vgpr18_vgpr19:0x000000000000000C, $vgpr20_vgpr21:0x000000000000000C, $vgpr22_vgpr23:0x000000000000000C, $vgpr24_vgpr25:0x000000000000000C, $vgpr26_vgpr27:0x0000000000000003, $vgpr28_vgpr29:0x0000000000000003, $vgpr32_vgpr33:0x0000000000000003, $vgpr34_vgpr35:0x0000000000000003, $vgpr36_vgpr37:0x0000000000000003, $vgpr38_vgpr39:0x0000000000000003, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr48_vgpr49:0x0000000000000003, $vgpr50_vgpr51:0x0000000000000003, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
972   ; GFX90A-NEXT: {{  $}}
973   ; GFX90A-NEXT:   renamable $vgpr2_vgpr3 = V_LSHLREV_B64_e64 3, killed $vgpr2_vgpr3, implicit $exec
974   ; GFX90A-NEXT:   renamable $vgpr10 = COPY renamable $sgpr27, implicit $exec
975   ; GFX90A-NEXT:   renamable $vgpr2, renamable $vcc = V_ADD_CO_U32_e64 killed $sgpr26, $vgpr2, 0, implicit $exec
976   ; GFX90A-NEXT:   renamable $vgpr3, dead renamable $vcc = V_ADDC_U32_e64 killed $vgpr10, killed $vgpr3, killed $vcc, 0, implicit $exec
977   ; GFX90A-NEXT:   renamable $vgpr27 = V_MOV_B32_e32 0, implicit $exec
978   ; GFX90A-NEXT:   renamable $vgpr49 = COPY renamable $vgpr27, implicit $exec
979   ; GFX90A-NEXT:   renamable $vgpr35 = COPY renamable $vgpr27, implicit $exec
980   ; GFX90A-NEXT:   renamable $vgpr39 = COPY renamable $vgpr27, implicit $exec
981   ; GFX90A-NEXT:   renamable $vgpr37 = COPY renamable $vgpr27, implicit $exec
982   ; GFX90A-NEXT:   renamable $vgpr29 = COPY renamable $vgpr27, implicit $exec
983   ; GFX90A-NEXT:   renamable $vgpr51 = COPY renamable $vgpr27, implicit $exec
984   ; GFX90A-NEXT:   renamable $vgpr33 = COPY renamable $vgpr27, implicit $exec
985   ; GFX90A-NEXT:   DS_WRITE_B64_gfx9 renamable $vgpr27, renamable $vgpr26_vgpr27, 0, 0, implicit $exec :: (store (s64) into `ptr addrspace(3) null`, addrspace 3)
986   ; GFX90A-NEXT:   renamable $vgpr10 = COPY renamable $sgpr21, implicit $exec
987   ; GFX90A-NEXT:   DS_WRITE_B64_gfx9 renamable $vgpr10, killed renamable $vgpr48_vgpr49, 0, 0, implicit $exec :: (store (s64) into %ir.7, addrspace 3)
988   ; GFX90A-NEXT:   renamable $vgpr12 = COPY killed renamable $sgpr22, implicit $exec
989   ; GFX90A-NEXT:   DS_WRITE_B64_gfx9 killed renamable $vgpr12, killed renamable $vgpr34_vgpr35, 0, 0, implicit $exec :: (store (s64) into %ir.8, addrspace 3)
990   ; GFX90A-NEXT:   DS_WRITE_B64_gfx9 renamable $vgpr27, killed renamable $vgpr38_vgpr39, 0, 0, implicit $exec :: (store (s64) into `ptr addrspace(3) null`, addrspace 3)
991   ; GFX90A-NEXT:   DS_WRITE_B64_gfx9 renamable $vgpr10, killed renamable $vgpr36_vgpr37, 0, 0, implicit $exec :: (store (s64) into %ir.7, addrspace 3)
992   ; GFX90A-NEXT:   DS_WRITE_B64_gfx9 renamable $vgpr27, killed renamable $vgpr28_vgpr29, 0, 0, implicit $exec :: (store (s64) into `ptr addrspace(3) null`, addrspace 3)
993   ; GFX90A-NEXT:   DS_WRITE_B64_gfx9 killed renamable $vgpr10, killed renamable $vgpr50_vgpr51, 0, 0, implicit $exec :: (store (s64) into %ir.7, addrspace 3)
994   ; GFX90A-NEXT:   DS_WRITE_B64_gfx9 killed renamable $vgpr27, killed renamable $vgpr32_vgpr33, 0, 0, implicit $exec :: (store (s64) into `ptr addrspace(3) null`, addrspace 3)
995   ; GFX90A-NEXT:   BUFFER_STORE_DWORD_OFFSET killed renamable $vgpr3, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 4, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null` + 4, basealign 8, addrspace 5)
996   ; GFX90A-NEXT:   BUFFER_STORE_DWORD_OFFSET killed renamable $vgpr2, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null`, align 8, addrspace 5)
997   ; GFX90A-NEXT: {{  $}}
998   ; GFX90A-NEXT: bb.71.Flow9:
999   ; GFX90A-NEXT:   successors: %bb.63(0x80000000)
1000   ; GFX90A-NEXT:   liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr15, $vgpr17, $vgpr30, $vgpr31, $vgpr52, $vgpr53, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr18_sgpr19, $sgpr24_sgpr25, $sgpr34_sgpr35, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr48_sgpr49, $sgpr50_sgpr51, $sgpr52_sgpr53, $sgpr54_sgpr55, $sgpr58_sgpr59, $vgpr0_vgpr1:0x000000000000000F, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x000000000000000F, $vgpr8_vgpr9:0x000000000000000F, $vgpr10_vgpr11:0x000000000000000C, $vgpr12_vgpr13:0x000000000000000C, $vgpr18_vgpr19:0x000000000000000C, $vgpr20_vgpr21:0x000000000000000C, $vgpr22_vgpr23:0x000000000000000C, $vgpr24_vgpr25:0x000000000000000C, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
1001   ; GFX90A-NEXT: {{  $}}
1002   ; GFX90A-NEXT:   renamable $sgpr36_sgpr37 = S_MOV_B64 0
1003   ; GFX90A-NEXT:   S_BRANCH %bb.63
1004   ; GFX90A-NEXT: {{  $}}
1005   ; GFX90A-NEXT: bb.72.bb196:
1006   ; GFX90A-NEXT:   successors: %bb.69(0x80000000)
1007   ; GFX90A-NEXT:   liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr15, $vgpr17, $vgpr30, $vgpr31, $vgpr52, $vgpr53, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr18_sgpr19, $sgpr24_sgpr25, $sgpr34_sgpr35, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr48_sgpr49, $sgpr50_sgpr51, $sgpr52_sgpr53, $sgpr54_sgpr55, $sgpr58_sgpr59, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003C, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr0_vgpr1:0x000000000000000F, $vgpr2_vgpr3:0x000000000000000F, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x000000000000000F, $vgpr8_vgpr9:0x000000000000000F, $vgpr10_vgpr11:0x000000000000000C, $vgpr12_vgpr13:0x000000000000000C, $vgpr14_vgpr15:0x0000000000000003, $vgpr16_vgpr17:0x0000000000000003, $vgpr18_vgpr19:0x000000000000000C, $vgpr20_vgpr21:0x000000000000000C, $vgpr22_vgpr23:0x000000000000000C, $vgpr24_vgpr25:0x000000000000000C, $vgpr26_vgpr27:0x0000000000000003, $vgpr28_vgpr29:0x0000000000000003, $vgpr32_vgpr33:0x0000000000000003, $vgpr34_vgpr35:0x0000000000000003, $vgpr36_vgpr37:0x0000000000000003, $vgpr38_vgpr39:0x0000000000000003, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr48_vgpr49:0x0000000000000003, $vgpr50_vgpr51:0x0000000000000003, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
1008   ; GFX90A-NEXT: {{  $}}
1009   ; GFX90A-NEXT:   renamable $vgpr10 = V_OR_B32_e32 $vgpr50, killed $vgpr16, implicit $exec
1010   ; GFX90A-NEXT:   renamable $vgpr54 = V_OR_B32_e32 killed $vgpr10, killed $vgpr14, implicit $exec
1011   ; GFX90A-NEXT:   renamable $vgpr55 = V_MOV_B32_e32 0, implicit $exec
1012   ; GFX90A-NEXT:   DS_WRITE_B64_gfx9 killed renamable $vgpr55, renamable $vgpr54_vgpr55, 0, 0, implicit $exec :: (store (s64) into `ptr addrspace(3) null`, addrspace 3)
1013   ; GFX90A-NEXT:   renamable $sgpr12_sgpr13 = S_MOV_B64 0
1014   ; GFX90A-NEXT:   S_BRANCH %bb.69
1016   %i = tail call i32 @llvm.amdgcn.workitem.id.x()
1017   %i11 = icmp eq i32 %i, 0
1018   %i12 = load i32, ptr addrspace(3) null, align 8
1019   %i13 = zext i32 %i12 to i64
1020   %i14 = getelementptr i32, ptr addrspace(1) %arg, i64 %i13
1021   br i1 %arg3, label %bb15, label %bb103
1023 bb15:
1024   %i16 = zext i32 %i to i64
1025   %i17 = getelementptr i32, ptr addrspace(1) %i14, i64 %i16
1026   %i18 = ptrtoint ptr addrspace(1) %i17 to i64
1027   br i1 %arg4, label %bb19, label %bb20
1029 bb19:
1030   store i64 %i18, ptr addrspace(5) null, align 8
1031   unreachable
1033 bb20:
1034   %i21 = getelementptr i32, ptr addrspace(1) %i17, i64 256
1035   %i22 = ptrtoint ptr addrspace(1) %i21 to i64
1036   %i23 = inttoptr i64 %i22 to ptr
1037   %i24 = load i8, ptr %i23, align 1
1038   %i25 = icmp sge i8 0, %i24
1039   br i1 %i25, label %bb26, label %bb27
1041 bb26:
1042   store i64 %i22, ptr addrspace(5) null, align 8
1043   unreachable
1045 bb27:
1046   %i28 = getelementptr i32, ptr addrspace(1) %i17, i64 512
1047   %i29 = ptrtoint ptr addrspace(1) %i28 to i64
1048   %i30 = inttoptr i64 %i29 to ptr
1049   %i31 = load i8, ptr %i30, align 1
1050   %i32 = icmp ne i8 %i31, 0
1051   br i1 %i32, label %bb33, label %bb34
1053 bb33:
1054   store i64 %i29, ptr addrspace(5) null, align 8
1055   unreachable
1057 bb34:
1058   %i35 = getelementptr i32, ptr addrspace(1) %i17, i64 768
1059   %i36 = ptrtoint ptr addrspace(1) %i35 to i64
1060   %i37 = inttoptr i64 %i36 to ptr
1061   %i38 = load i8, ptr %i37, align 1
1062   %i39 = icmp ne i8 %i38, 0
1063   br i1 %i39, label %bb40, label %bb41
1065 bb40:
1066   store i64 %i36, ptr addrspace(5) null, align 8
1067   unreachable
1069 bb41:
1070   %i42 = getelementptr i32, ptr addrspace(1) %i17, i64 1024
1071   %i43 = ptrtoint ptr addrspace(1) %i42 to i64
1072   %i44 = inttoptr i64 %i43 to ptr
1073   %i45 = load i8, ptr %i44, align 1
1074   %i46 = icmp ne i8 %i45, 0
1075   br i1 %i46, label %bb47, label %bb48
1077 bb47:
1078   store i64 %i43, ptr addrspace(5) null, align 8
1079   unreachable
1081 bb48:
1082   %i49 = getelementptr i32, ptr addrspace(1) %i17, i64 1280
1083   %i50 = ptrtoint ptr addrspace(1) %i49 to i64
1084   %i51 = inttoptr i64 %i50 to ptr
1085   %i52 = load i8, ptr %i51, align 1
1086   %i53 = icmp ne i8 %i52, 0
1087   br i1 %i53, label %bb54, label %bb55
1089 bb54:
1090   store i64 %i50, ptr addrspace(5) null, align 8
1091   unreachable
1093 bb55:
1094   %i56 = getelementptr i32, ptr addrspace(1) %i17, i64 1536
1095   %i57 = ptrtoint ptr addrspace(1) %i56 to i64
1096   %i58 = or i64 %i57, 1
1097   %i59 = inttoptr i64 %i58 to ptr
1098   br i1 true, label %bb61, label %bb60
1100 bb60:
1101   br label %bb63
1103 bb61:
1104   br i1 %arg5, label %bb62, label %bb63
1106 bb62:
1107   store i64 %i57, ptr addrspace(5) null, align 8
1108   unreachable
1110 bb63:
1111   %i64 = ptrtoint ptr addrspace(1) %i14 to i64
1112   br i1 true, label %bb66, label %bb65
1114 bb65:
1115   br label %bb68
1117 bb66:
1118   br i1 %arg5, label %bb67, label %bb68
1120 bb67:
1121   store i64 %i64, ptr addrspace(5) null, align 8
1122   unreachable
1124 bb68:
1125   %i69 = zext i1 %arg5 to i8
1126   %i70 = getelementptr [2 x i32], ptr addrspace(1) null, i64 %i16
1127   %i71 = ptrtoint ptr addrspace(1) %i70 to i64
1128   br i1 %arg5, label %bb72, label %bb73
1130 bb72:
1131   call void @f2(i64 %i71)
1132   unreachable
1134 bb73:
1135   %i74 = getelementptr [2 x i32], ptr addrspace(1) %i70, i64 256
1136   %i75 = ptrtoint ptr addrspace(1) %i74 to i64
1137   %i76 = inttoptr i64 %i75 to ptr
1138   %i77 = load i8, ptr %i76, align 1
1139   %i78 = icmp ne i8 %i77, 0
1140   br i1 %i78, label %bb79, label %bb80
1142 bb79:
1143   store i64 %i75, ptr addrspace(5) null, align 8
1144   unreachable
1146 bb80:
1147   %i81 = getelementptr [2 x i32], ptr addrspace(1) %i70, i64 512
1148   %i82 = ptrtoint ptr addrspace(1) %i81 to i64
1149   %i83 = or i64 %i82, 1
1150   br i1 %arg6, label %bb84, label %bb85
1152 bb84:
1153   store i64 %i82, ptr addrspace(5) null, align 8
1154   unreachable
1156 bb85:
1157   %i86 = inttoptr i64 %i83 to ptr
1158   %i87 = load i8, ptr %i86, align 1
1159   %i88 = icmp ne i8 %i87, 0
1160   br i1 %i88, label %bb89, label %bb90
1162 bb89:
1163   store i64 %i83, ptr addrspace(5) null, align 8
1164   unreachable
1166 bb90:
1167   %i91 = load i64, ptr addrspace(3) null, align 8
1168   %i92 = load i64, ptr addrspace(3) %arg8, align 8
1169   %i93 = load i64, ptr addrspace(3) %arg7, align 8
1170   %i94 = trunc i64 %i91 to i32
1171   %i95 = lshr i64 %arg2, 1
1172   %i96 = trunc i64 %i95 to i32
1173   %i97 = trunc i64 %i92 to i32
1174   %i98 = lshr i64 %i92, 32
1175   %i99 = trunc i64 %i98 to i32
1176   %i100 = trunc i64 %i93 to i32
1177   %i101 = lshr i64 %i93, 1
1178   %i102 = trunc i64 %i101 to i32
1179   br label %bb127
1181 bb103:
1182   br i1 %arg4, label %bb104, label %bb105
1184 bb104:
1185   ret void
1187 bb105:
1188   %i106 = load i64, ptr addrspace(3) null, align 8
1189   %i107 = load i64, ptr addrspace(3) %arg9, align 8
1190   %i108 = load i64, ptr addrspace(3) %arg7, align 8
1191   %i109 = load i64, ptr addrspace(3) %arg10, align 8
1192   %i110 = load i64, ptr addrspace(3) %arg8, align 8
1193   %i111 = trunc i64 %i110 to i32
1194   %i112 = lshr i64 %i110, 32
1195   %i113 = trunc i64 %i112 to i32
1196   %i114 = trunc i64 %i106 to i32
1197   %i115 = lshr i64 %i106, 32
1198   %i116 = trunc i64 %i115 to i32
1199   %i117 = trunc i64 %i107 to i32
1200   %i118 = lshr i64 %i107, 32
1201   %i119 = trunc i64 %i118 to i32
1202   %i120 = trunc i64 %i108 to i32
1203   %i121 = lshr i64 %i108, 32
1204   %i122 = trunc i64 %i121 to i32
1205   %i123 = trunc i64 %i109 to i32
1206   %i124 = lshr i64 %i109, 32
1207   %i125 = trunc i64 %i124 to i32
1208   br i1 false, label %bb105.bb127_crit_edge, label %bb140
1210 bb105.bb127_crit_edge:
1211   br label %bb127
1213 bb127:
1214   %i128 = phi i32 [ %i94, %bb90 ], [ 0, %bb105.bb127_crit_edge ]
1215   %i129 = phi i32 [ %i96, %bb90 ], [ 0, %bb105.bb127_crit_edge ]
1216   %i130 = phi i32 [ %i97, %bb90 ], [ 0, %bb105.bb127_crit_edge ]
1217   %i131 = phi i32 [ %i99, %bb90 ], [ 0, %bb105.bb127_crit_edge ]
1218   %i132 = phi i8 [ %i69, %bb90 ], [ 0, %bb105.bb127_crit_edge ]
1219   %i133 = phi i32 [ %i100, %bb90 ], [ 0, %bb105.bb127_crit_edge ]
1220   %i134 = phi i32 [ %i102, %bb90 ], [ 0, %bb105.bb127_crit_edge ]
1221   %i135 = phi i64 [ %i91, %bb90 ], [ 0, %bb105.bb127_crit_edge ]
1222   %i136 = zext i1 %arg3 to i8
1223   %i137 = trunc i64 %i135 to i32
1224   %i138 = lshr i64 %i135, 1
1225   %i139 = trunc i64 %i138 to i32
1226   br label %bb140
1228 bb140:
1229   %i141 = phi i32 [ 0, %bb127 ], [ %i111, %bb105 ]
1230   %i142 = phi i32 [ 0, %bb127 ], [ %i113, %bb105 ]
1231   %i143 = phi i32 [ 0, %bb127 ], [ %i114, %bb105 ]
1232   %i144 = phi i32 [ 0, %bb127 ], [ %i116, %bb105 ]
1233   %i145 = phi i32 [ 0, %bb127 ], [ %i117, %bb105 ]
1234   %i146 = phi i32 [ 0, %bb127 ], [ %i119, %bb105 ]
1235   %i147 = phi i32 [ 0, %bb127 ], [ %i120, %bb105 ]
1236   %i148 = phi i32 [ 0, %bb127 ], [ %i122, %bb105 ]
1237   %i149 = phi i32 [ %i128, %bb127 ], [ %i123, %bb105 ]
1238   %i150 = phi i32 [ %i129, %bb127 ], [ %i125, %bb105 ]
1239   %i151 = phi i32 [ %i130, %bb127 ], [ 0, %bb105 ]
1240   %i152 = phi i32 [ %i131, %bb127 ], [ 0, %bb105 ]
1241   %i153 = phi i8 [ %i132, %bb127 ], [ 0, %bb105 ]
1242   %i154 = phi i32 [ %i133, %bb127 ], [ 0, %bb105 ]
1243   %i155 = phi i32 [ %i134, %bb127 ], [ 0, %bb105 ]
1244   %i156 = phi i32 [ %i137, %bb127 ], [ 0, %bb105 ]
1245   %i157 = phi i32 [ %i139, %bb127 ], [ 0, %bb105 ]
1246   %i158 = phi i8 [ %i136, %bb127 ], [ 0, %bb105 ]
1247   br i1 %arg4, label %bb159, label %bb174
1249 bb159:
1250   br i1 %i11, label %bb160, label %bb161
1252 bb160:
1253   unreachable
1255 bb161:
1256   %i162 = or i32 %i146, %i144
1257   %i163 = or i32 %i162, %i142
1258   %i164 = or i32 %i150, %i148
1259   %i165 = or i32 %i164, %i163
1260   %i166 = icmp ne i8 %i153, 0
1261   %i167 = select i1 %i166, i32 0, i32 %i165
1262   %i168 = or i32 %i155, %i152
1263   %i169 = or i32 %i168, %i167
1264   %i170 = icmp ne i8 %i158, 0
1265   %i171 = select i1 %i170, i32 0, i32 %i169
1266   %i172 = or i32 %i171, %i157
1267   %i173 = zext i32 %i172 to i64
1268   store i64 %i173, ptr addrspace(3) null, align 4
1269   unreachable
1271 bb174:
1272   %i175 = or i32 1, %i141
1273   %i176 = or i32 %i175, %i143
1274   %i177 = or i32 %i176, %i145
1275   %i178 = select i1 %arg3, i32 0, i32 %i177
1276   %i179 = or i32 %i178, %i147
1277   %i180 = or i32 %i179, %i149
1278   %i181 = or i32 %i180, %i151
1279   %i182 = select i1 %arg3, i32 %i181, i32 0
1280   %i183 = or i32 %i182, %i154
1281   %i184 = or i32 %i183, %i156
1282   %i185 = getelementptr [2 x i32], ptr addrspace(1) %arg1, i64 %i13
1283   br i1 %arg3, label %bb186, label %bb196
1285 bb186:
1286   %i187 = zext i32 %i175 to i64
1287   %i188 = zext i32 %i176 to i64
1288   %i189 = zext i32 %i177 to i64
1289   %i190 = zext i32 %i179 to i64
1290   %i191 = zext i32 %i180 to i64
1291   %i192 = zext i32 %i178 to i64
1292   %i193 = zext i32 %i182 to i64
1293   %i194 = zext i32 %i181 to i64
1294   store i64 %i187, ptr addrspace(3) null, align 8
1295   store i64 %i188, ptr addrspace(3) %arg7, align 8
1296   store i64 %i189, ptr addrspace(3) %arg8, align 8
1297   store i64 %i190, ptr addrspace(3) null, align 8
1298   store i64 %i191, ptr addrspace(3) %arg7, align 8
1299   store i64 %i192, ptr addrspace(3) null, align 8
1300   store i64 %i193, ptr addrspace(3) %arg7, align 8
1301   store i64 %i194, ptr addrspace(3) null, align 8
1302   %i195 = ptrtoint ptr addrspace(1) %i185 to i64
1303   store i64 %i195, ptr addrspace(5) null, align 8
1304   unreachable
1306 bb196:
1307   %i197 = zext i32 %i184 to i64
1308   store i64 %i197, ptr addrspace(3) null, align 8
1309   unreachable
1312 declare void @f2(i64)
1314 declare i32 @llvm.amdgcn.workitem.id.x()