1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py 2# RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 -verify-machineinstrs -run-pass=prologepilog %s -o - | FileCheck -check-prefix=MUBUF %s 3# RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx90a -verify-machineinstrs -run-pass=prologepilog %s -o - | FileCheck -check-prefix=MUBUF %s 4# RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1010 -verify-machineinstrs -run-pass=prologepilog %s -o - | FileCheck -check-prefix=MUBUFW32 %s 5# RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx940 -verify-machineinstrs -run-pass=prologepilog %s -o - | FileCheck -check-prefix=FLATSCRW64 %s 6# RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1100 -verify-machineinstrs -run-pass=prologepilog %s -o - | FileCheck -check-prefix=FLATSCRW32 %s 7# RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1200 -verify-machineinstrs -run-pass=prologepilog %s -o - | FileCheck -check-prefix=FLATSCRW32 %s 8 9--- 10name: v_add_u32_e32__inline_imm__fi_offset0 11tracksRegLiveness: true 12stack: 13 - { id: 0, size: 4, alignment: 16 } 14machineFunctionInfo: 15 scratchRSrcReg: '$sgpr0_sgpr1_sgpr2_sgpr3' 16 frameOffsetReg: '$sgpr33' 17 stackPtrOffsetReg: '$sgpr32' 18body: | 19 bb.0: 20 ; MUBUF-LABEL: name: v_add_u32_e32__inline_imm__fi_offset0 21 ; MUBUF: renamable $vgpr1 = V_LSHRREV_B32_e64 6, $sgpr32, implicit $exec 22 ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e32 12, killed $vgpr1, implicit $exec 23 ; MUBUF-NEXT: SI_RETURN implicit $vgpr0 24 ; 25 ; MUBUFW32-LABEL: name: v_add_u32_e32__inline_imm__fi_offset0 26 ; MUBUFW32: renamable $vgpr1 = V_LSHRREV_B32_e64 5, $sgpr32, implicit $exec 27 ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 12, killed $vgpr1, implicit $exec 28 ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0 29 ; 30 ; FLATSCRW64-LABEL: name: v_add_u32_e32__inline_imm__fi_offset0 31 ; FLATSCRW64: $vgpr1 = V_MOV_B32_e32 $sgpr32, implicit $exec 32 ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e32 12, killed $vgpr1, implicit $exec 33 ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0 34 ; 35 ; FLATSCRW32-LABEL: name: v_add_u32_e32__inline_imm__fi_offset0 36 ; FLATSCRW32: $vgpr1 = V_MOV_B32_e32 $sgpr32, implicit $exec 37 ; FLATSCRW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 12, killed $vgpr1, implicit $exec 38 ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0 39 renamable $vgpr0 = V_ADD_U32_e32 12, %stack.0, implicit $exec 40 SI_RETURN implicit $vgpr0 41 42... 43 44--- 45name: v_add_u32_e32__inline_imm___fi_offset_inline_imm 46tracksRegLiveness: true 47stack: 48 - { id: 0, size: 16, alignment: 16 } 49 - { id: 1, size: 4, alignment: 4 } 50machineFunctionInfo: 51 scratchRSrcReg: '$sgpr0_sgpr1_sgpr2_sgpr3' 52 frameOffsetReg: '$sgpr33' 53 stackPtrOffsetReg: '$sgpr32' 54body: | 55 bb.0: 56 ; MUBUF-LABEL: name: v_add_u32_e32__inline_imm___fi_offset_inline_imm 57 ; MUBUF: renamable $vgpr1 = V_LSHRREV_B32_e64 6, $sgpr32, implicit $exec 58 ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e32 28, killed $vgpr1, implicit $exec 59 ; MUBUF-NEXT: SI_RETURN implicit $vgpr0 60 ; 61 ; MUBUFW32-LABEL: name: v_add_u32_e32__inline_imm___fi_offset_inline_imm 62 ; MUBUFW32: renamable $vgpr1 = V_LSHRREV_B32_e64 5, $sgpr32, implicit $exec 63 ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 28, killed $vgpr1, implicit $exec 64 ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0 65 ; 66 ; FLATSCRW64-LABEL: name: v_add_u32_e32__inline_imm___fi_offset_inline_imm 67 ; FLATSCRW64: $vgpr1 = V_MOV_B32_e32 $sgpr32, implicit $exec 68 ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e32 28, killed $vgpr1, implicit $exec 69 ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0 70 ; 71 ; FLATSCRW32-LABEL: name: v_add_u32_e32__inline_imm___fi_offset_inline_imm 72 ; FLATSCRW32: $vgpr1 = V_MOV_B32_e32 $sgpr32, implicit $exec 73 ; FLATSCRW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 28, killed $vgpr1, implicit $exec 74 ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0 75 renamable $vgpr0 = V_ADD_U32_e32 12, %stack.1, implicit $exec 76 SI_RETURN implicit $vgpr0 77 78... 79 80--- 81name: v_add_u32_e32__literal__fi_offset0 82tracksRegLiveness: true 83stack: 84 - { id: 0, size: 4, alignment: 16 } 85machineFunctionInfo: 86 scratchRSrcReg: '$sgpr0_sgpr1_sgpr2_sgpr3' 87 frameOffsetReg: '$sgpr33' 88 stackPtrOffsetReg: '$sgpr32' 89body: | 90 bb.0: 91 ; MUBUF-LABEL: name: v_add_u32_e32__literal__fi_offset0 92 ; MUBUF: renamable $vgpr1 = V_LSHRREV_B32_e64 6, $sgpr32, implicit $exec 93 ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e32 68, killed $vgpr1, implicit $exec 94 ; MUBUF-NEXT: SI_RETURN implicit $vgpr0 95 ; 96 ; MUBUFW32-LABEL: name: v_add_u32_e32__literal__fi_offset0 97 ; MUBUFW32: renamable $vgpr1 = V_LSHRREV_B32_e64 5, $sgpr32, implicit $exec 98 ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 68, killed $vgpr1, implicit $exec 99 ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0 100 ; 101 ; FLATSCRW64-LABEL: name: v_add_u32_e32__literal__fi_offset0 102 ; FLATSCRW64: $vgpr1 = V_MOV_B32_e32 $sgpr32, implicit $exec 103 ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e32 68, killed $vgpr1, implicit $exec 104 ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0 105 ; 106 ; FLATSCRW32-LABEL: name: v_add_u32_e32__literal__fi_offset0 107 ; FLATSCRW32: $vgpr1 = V_MOV_B32_e32 $sgpr32, implicit $exec 108 ; FLATSCRW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 68, killed $vgpr1, implicit $exec 109 ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0 110 renamable $vgpr0 = V_ADD_U32_e32 68, %stack.0, implicit $exec 111 SI_RETURN implicit $vgpr0 112 113... 114 115--- 116name: v_add_u32_e32__literal__fi_offset0__offset_inlineimm 117tracksRegLiveness: true 118stack: 119 - { id: 0, size: 32, alignment: 16 } 120 - { id: 1, size: 4, alignment: 4 } 121machineFunctionInfo: 122 scratchRSrcReg: '$sgpr0_sgpr1_sgpr2_sgpr3' 123 frameOffsetReg: '$sgpr33' 124 stackPtrOffsetReg: '$sgpr32' 125body: | 126 bb.0: 127 ; MUBUF-LABEL: name: v_add_u32_e32__literal__fi_offset0__offset_inlineimm 128 ; MUBUF: renamable $vgpr1 = V_LSHRREV_B32_e64 6, $sgpr32, implicit $exec 129 ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e32 100, killed $vgpr1, implicit $exec 130 ; MUBUF-NEXT: SI_RETURN implicit $vgpr0 131 ; 132 ; MUBUFW32-LABEL: name: v_add_u32_e32__literal__fi_offset0__offset_inlineimm 133 ; MUBUFW32: renamable $vgpr1 = V_LSHRREV_B32_e64 5, $sgpr32, implicit $exec 134 ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 100, killed $vgpr1, implicit $exec 135 ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0 136 ; 137 ; FLATSCRW64-LABEL: name: v_add_u32_e32__literal__fi_offset0__offset_inlineimm 138 ; FLATSCRW64: $vgpr1 = V_MOV_B32_e32 $sgpr32, implicit $exec 139 ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e32 100, killed $vgpr1, implicit $exec 140 ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0 141 ; 142 ; FLATSCRW32-LABEL: name: v_add_u32_e32__literal__fi_offset0__offset_inlineimm 143 ; FLATSCRW32: $vgpr1 = V_MOV_B32_e32 $sgpr32, implicit $exec 144 ; FLATSCRW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 100, killed $vgpr1, implicit $exec 145 ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0 146 renamable $vgpr0 = V_ADD_U32_e32 68, %stack.1, implicit $exec 147 SI_RETURN implicit $vgpr0 148 149... 150 151--- 152name: v_add_u32_e32__vgpr__fi_offset0 153tracksRegLiveness: true 154stack: 155 - { id: 0, size: 4, alignment: 16 } 156machineFunctionInfo: 157 scratchRSrcReg: '$sgpr0_sgpr1_sgpr2_sgpr3' 158 frameOffsetReg: '$sgpr33' 159 stackPtrOffsetReg: '$sgpr32' 160body: | 161 bb.0: 162 liveins: $vgpr1 163 ; MUBUF-LABEL: name: v_add_u32_e32__vgpr__fi_offset0 164 ; MUBUF: liveins: $vgpr1 165 ; MUBUF-NEXT: {{ $}} 166 ; MUBUF-NEXT: renamable $vgpr2 = V_LSHRREV_B32_e64 6, $sgpr32, implicit $exec 167 ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e32 $vgpr1, killed $vgpr2, implicit $exec 168 ; MUBUF-NEXT: SI_RETURN implicit $vgpr0 169 ; 170 ; MUBUFW32-LABEL: name: v_add_u32_e32__vgpr__fi_offset0 171 ; MUBUFW32: liveins: $vgpr1 172 ; MUBUFW32-NEXT: {{ $}} 173 ; MUBUFW32-NEXT: renamable $vgpr2 = V_LSHRREV_B32_e64 5, $sgpr32, implicit $exec 174 ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 $vgpr1, killed $vgpr2, implicit $exec 175 ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0 176 ; 177 ; FLATSCRW64-LABEL: name: v_add_u32_e32__vgpr__fi_offset0 178 ; FLATSCRW64: liveins: $vgpr1 179 ; FLATSCRW64-NEXT: {{ $}} 180 ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e32 $sgpr32, $vgpr1, implicit $exec 181 ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0 182 ; 183 ; FLATSCRW32-LABEL: name: v_add_u32_e32__vgpr__fi_offset0 184 ; FLATSCRW32: liveins: $vgpr1 185 ; FLATSCRW32-NEXT: {{ $}} 186 ; FLATSCRW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 $sgpr32, $vgpr1, implicit $exec 187 ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0 188 renamable $vgpr0 = V_ADD_U32_e32 $vgpr1, %stack.0, implicit $exec 189 SI_RETURN implicit $vgpr0 190 191... 192 193--- 194name: v_add_u32_e32__fi_offset0__vgpr 195tracksRegLiveness: true 196stack: 197 - { id: 0, size: 4, alignment: 16 } 198machineFunctionInfo: 199 scratchRSrcReg: '$sgpr0_sgpr1_sgpr2_sgpr3' 200 frameOffsetReg: '$sgpr33' 201 stackPtrOffsetReg: '$sgpr32' 202body: | 203 bb.0: 204 liveins: $vgpr1 205 ; MUBUF-LABEL: name: v_add_u32_e32__fi_offset0__vgpr 206 ; MUBUF: liveins: $vgpr1 207 ; MUBUF-NEXT: {{ $}} 208 ; MUBUF-NEXT: renamable $vgpr2 = V_LSHRREV_B32_e64 6, $sgpr32, implicit $exec 209 ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e32 $vgpr1, killed $vgpr2, implicit $exec 210 ; MUBUF-NEXT: SI_RETURN implicit $vgpr0 211 ; 212 ; MUBUFW32-LABEL: name: v_add_u32_e32__fi_offset0__vgpr 213 ; MUBUFW32: liveins: $vgpr1 214 ; MUBUFW32-NEXT: {{ $}} 215 ; MUBUFW32-NEXT: renamable $vgpr2 = V_LSHRREV_B32_e64 5, $sgpr32, implicit $exec 216 ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 $vgpr1, killed $vgpr2, implicit $exec 217 ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0 218 ; 219 ; FLATSCRW64-LABEL: name: v_add_u32_e32__fi_offset0__vgpr 220 ; FLATSCRW64: liveins: $vgpr1 221 ; FLATSCRW64-NEXT: {{ $}} 222 ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e32 $sgpr32, $vgpr1, implicit $exec 223 ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0 224 ; 225 ; FLATSCRW32-LABEL: name: v_add_u32_e32__fi_offset0__vgpr 226 ; FLATSCRW32: liveins: $vgpr1 227 ; FLATSCRW32-NEXT: {{ $}} 228 ; FLATSCRW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 $sgpr32, $vgpr1, implicit $exec 229 ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0 230 renamable $vgpr0 = V_ADD_U32_e32 %stack.0, $vgpr1, implicit $exec 231 SI_RETURN implicit $vgpr0 232 233... 234 235--- 236name: v_add_u32_e32__vgpr__fi_literal_offset 237tracksRegLiveness: true 238stack: 239 - { id: 0, size: 128, alignment: 16 } 240 - { id: 1, size: 4, alignment: 4 } 241machineFunctionInfo: 242 scratchRSrcReg: '$sgpr0_sgpr1_sgpr2_sgpr3' 243 frameOffsetReg: '$sgpr33' 244 stackPtrOffsetReg: '$sgpr32' 245body: | 246 bb.0: 247 liveins: $vgpr1 248 ; MUBUF-LABEL: name: v_add_u32_e32__vgpr__fi_literal_offset 249 ; MUBUF: liveins: $vgpr1 250 ; MUBUF-NEXT: {{ $}} 251 ; MUBUF-NEXT: renamable $vgpr2 = V_LSHRREV_B32_e64 6, $sgpr32, implicit $exec 252 ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e32 $vgpr1, killed $vgpr2, implicit $exec 253 ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e32 128, killed $vgpr0, implicit $exec 254 ; MUBUF-NEXT: SI_RETURN implicit $vgpr0 255 ; 256 ; MUBUFW32-LABEL: name: v_add_u32_e32__vgpr__fi_literal_offset 257 ; MUBUFW32: liveins: $vgpr1 258 ; MUBUFW32-NEXT: {{ $}} 259 ; MUBUFW32-NEXT: renamable $vgpr2 = V_LSHRREV_B32_e64 5, $sgpr32, implicit $exec 260 ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 $vgpr1, killed $vgpr2, implicit $exec 261 ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 128, killed $vgpr0, implicit $exec 262 ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0 263 ; 264 ; FLATSCRW64-LABEL: name: v_add_u32_e32__vgpr__fi_literal_offset 265 ; FLATSCRW64: liveins: $vgpr1 266 ; FLATSCRW64-NEXT: {{ $}} 267 ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e32 $sgpr32, $vgpr1, implicit $exec 268 ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e32 128, killed $vgpr0, implicit $exec 269 ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0 270 ; 271 ; FLATSCRW32-LABEL: name: v_add_u32_e32__vgpr__fi_literal_offset 272 ; FLATSCRW32: liveins: $vgpr1 273 ; FLATSCRW32-NEXT: {{ $}} 274 ; FLATSCRW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 $sgpr32, $vgpr1, implicit $exec 275 ; FLATSCRW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 128, killed $vgpr0, implicit $exec 276 ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0 277 renamable $vgpr0 = V_ADD_U32_e32 $vgpr1, %stack.1, implicit $exec 278 SI_RETURN implicit $vgpr0 279 280... 281 282--- 283name: v_add_u32_e32__fi_literal_offset__vgpr 284tracksRegLiveness: true 285stack: 286 - { id: 0, size: 128, alignment: 16 } 287 - { id: 1, size: 4, alignment: 4 } 288machineFunctionInfo: 289 scratchRSrcReg: '$sgpr0_sgpr1_sgpr2_sgpr3' 290 frameOffsetReg: '$sgpr33' 291 stackPtrOffsetReg: '$sgpr32' 292body: | 293 bb.0: 294 liveins: $vgpr1 295 ; MUBUF-LABEL: name: v_add_u32_e32__fi_literal_offset__vgpr 296 ; MUBUF: liveins: $vgpr1 297 ; MUBUF-NEXT: {{ $}} 298 ; MUBUF-NEXT: renamable $vgpr2 = V_LSHRREV_B32_e64 6, $sgpr32, implicit $exec 299 ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e32 $vgpr1, killed $vgpr2, implicit $exec 300 ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e32 128, killed $vgpr0, implicit $exec 301 ; MUBUF-NEXT: SI_RETURN implicit $vgpr0 302 ; 303 ; MUBUFW32-LABEL: name: v_add_u32_e32__fi_literal_offset__vgpr 304 ; MUBUFW32: liveins: $vgpr1 305 ; MUBUFW32-NEXT: {{ $}} 306 ; MUBUFW32-NEXT: renamable $vgpr2 = V_LSHRREV_B32_e64 5, $sgpr32, implicit $exec 307 ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 $vgpr1, killed $vgpr2, implicit $exec 308 ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 128, killed $vgpr0, implicit $exec 309 ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0 310 ; 311 ; FLATSCRW64-LABEL: name: v_add_u32_e32__fi_literal_offset__vgpr 312 ; FLATSCRW64: liveins: $vgpr1 313 ; FLATSCRW64-NEXT: {{ $}} 314 ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e32 $sgpr32, $vgpr1, implicit $exec 315 ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e32 128, killed $vgpr0, implicit $exec 316 ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0 317 ; 318 ; FLATSCRW32-LABEL: name: v_add_u32_e32__fi_literal_offset__vgpr 319 ; FLATSCRW32: liveins: $vgpr1 320 ; FLATSCRW32-NEXT: {{ $}} 321 ; FLATSCRW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 $sgpr32, $vgpr1, implicit $exec 322 ; FLATSCRW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 128, killed $vgpr0, implicit $exec 323 ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0 324 renamable $vgpr0 = V_ADD_U32_e32 %stack.1, $vgpr1, implicit $exec 325 SI_RETURN implicit $vgpr0 326 327... 328 329--- 330name: v_add_u32_e32__sgpr__fi_literal_offset 331tracksRegLiveness: true 332stack: 333 - { id: 0, size: 128, alignment: 16 } 334 - { id: 1, size: 4, alignment: 4 } 335machineFunctionInfo: 336 scratchRSrcReg: '$sgpr0_sgpr1_sgpr2_sgpr3' 337 frameOffsetReg: '$sgpr33' 338 stackPtrOffsetReg: '$sgpr32' 339body: | 340 bb.0: 341 liveins: $sgpr8 342 ; MUBUF-LABEL: name: v_add_u32_e32__sgpr__fi_literal_offset 343 ; MUBUF: liveins: $sgpr8 344 ; MUBUF-NEXT: {{ $}} 345 ; MUBUF-NEXT: renamable $vgpr1 = V_LSHRREV_B32_e64 6, $sgpr32, implicit $exec 346 ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e32 $sgpr8, killed $vgpr1, implicit $exec 347 ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e32 128, killed $vgpr0, implicit $exec 348 ; MUBUF-NEXT: SI_RETURN implicit $vgpr0 349 ; 350 ; MUBUFW32-LABEL: name: v_add_u32_e32__sgpr__fi_literal_offset 351 ; MUBUFW32: liveins: $sgpr8 352 ; MUBUFW32-NEXT: {{ $}} 353 ; MUBUFW32-NEXT: renamable $vgpr1 = V_LSHRREV_B32_e64 5, $sgpr32, implicit $exec 354 ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 $sgpr8, killed $vgpr1, implicit $exec 355 ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 128, killed $vgpr0, implicit $exec 356 ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0 357 ; 358 ; FLATSCRW64-LABEL: name: v_add_u32_e32__sgpr__fi_literal_offset 359 ; FLATSCRW64: liveins: $sgpr8 360 ; FLATSCRW64-NEXT: {{ $}} 361 ; FLATSCRW64-NEXT: $vgpr1 = V_MOV_B32_e32 $sgpr32, implicit $exec 362 ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e32 $sgpr8, killed $vgpr1, implicit $exec 363 ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e32 128, killed $vgpr0, implicit $exec 364 ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0 365 ; 366 ; FLATSCRW32-LABEL: name: v_add_u32_e32__sgpr__fi_literal_offset 367 ; FLATSCRW32: liveins: $sgpr8 368 ; FLATSCRW32-NEXT: {{ $}} 369 ; FLATSCRW32-NEXT: $vgpr1 = V_MOV_B32_e32 $sgpr32, implicit $exec 370 ; FLATSCRW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 $sgpr8, killed $vgpr1, implicit $exec 371 ; FLATSCRW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 128, killed $vgpr0, implicit $exec 372 ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0 373 renamable $vgpr0 = V_ADD_U32_e32 $sgpr8, %stack.1, implicit $exec 374 SI_RETURN implicit $vgpr0 375 376... 377 378--- 379name: v_add_u32_e64__inline_imm__fi_offset0 380tracksRegLiveness: true 381stack: 382 - { id: 0, size: 4, alignment: 16 } 383machineFunctionInfo: 384 scratchRSrcReg: '$sgpr0_sgpr1_sgpr2_sgpr3' 385 frameOffsetReg: '$sgpr33' 386 stackPtrOffsetReg: '$sgpr32' 387body: | 388 bb.0: 389 ; MUBUF-LABEL: name: v_add_u32_e64__inline_imm__fi_offset0 390 ; MUBUF: renamable $vgpr1 = V_LSHRREV_B32_e64 6, $sgpr32, implicit $exec 391 ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e64 12, killed $vgpr1, 0, implicit $exec 392 ; MUBUF-NEXT: SI_RETURN implicit $vgpr0 393 ; 394 ; MUBUFW32-LABEL: name: v_add_u32_e64__inline_imm__fi_offset0 395 ; MUBUFW32: renamable $vgpr1 = V_LSHRREV_B32_e64 5, $sgpr32, implicit $exec 396 ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e64 12, killed $vgpr1, 0, implicit $exec 397 ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0 398 ; 399 ; FLATSCRW64-LABEL: name: v_add_u32_e64__inline_imm__fi_offset0 400 ; FLATSCRW64: renamable $vgpr0 = V_ADD_U32_e64 $sgpr32, 12, 0, implicit $exec 401 ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0 402 ; 403 ; FLATSCRW32-LABEL: name: v_add_u32_e64__inline_imm__fi_offset0 404 ; FLATSCRW32: renamable $vgpr0 = V_ADD_U32_e64 $sgpr32, 12, 0, implicit $exec 405 ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0 406 renamable $vgpr0 = V_ADD_U32_e64 12, %stack.0, 0, implicit $exec 407 SI_RETURN implicit $vgpr0 408 409... 410 411--- 412name: v_add_u32_e64__fi_literal_offset__sgpr 413tracksRegLiveness: true 414stack: 415 - { id: 0, size: 128, alignment: 16 } 416 - { id: 1, size: 4, alignment: 4 } 417machineFunctionInfo: 418 scratchRSrcReg: '$sgpr0_sgpr1_sgpr2_sgpr3' 419 frameOffsetReg: '$sgpr33' 420 stackPtrOffsetReg: '$sgpr32' 421body: | 422 bb.0: 423 liveins: $sgpr8 424 ; MUBUF-LABEL: name: v_add_u32_e64__fi_literal_offset__sgpr 425 ; MUBUF: liveins: $sgpr8 426 ; MUBUF-NEXT: {{ $}} 427 ; MUBUF-NEXT: renamable $vgpr1 = V_LSHRREV_B32_e64 6, $sgpr32, implicit $exec 428 ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e64 $sgpr8, killed $vgpr1, 0, implicit $exec 429 ; MUBUF-NEXT: $vgpr1 = V_MOV_B32_e32 128, implicit $exec 430 ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e64 killed $vgpr1, killed $vgpr0, 0, implicit $exec 431 ; MUBUF-NEXT: SI_RETURN implicit $vgpr0 432 ; 433 ; MUBUFW32-LABEL: name: v_add_u32_e64__fi_literal_offset__sgpr 434 ; MUBUFW32: liveins: $sgpr8 435 ; MUBUFW32-NEXT: {{ $}} 436 ; MUBUFW32-NEXT: renamable $vgpr1 = V_LSHRREV_B32_e64 5, $sgpr32, implicit $exec 437 ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e64 $sgpr8, killed $vgpr1, 0, implicit $exec 438 ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e64 128, killed $vgpr0, 0, implicit $exec 439 ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0 440 ; 441 ; FLATSCRW64-LABEL: name: v_add_u32_e64__fi_literal_offset__sgpr 442 ; FLATSCRW64: liveins: $sgpr8 443 ; FLATSCRW64-NEXT: {{ $}} 444 ; FLATSCRW64-NEXT: $vgpr1 = V_MOV_B32_e32 $sgpr32, implicit $exec 445 ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e64 $sgpr8, killed $vgpr1, 0, implicit $exec 446 ; FLATSCRW64-NEXT: $vgpr1 = V_MOV_B32_e32 128, implicit $exec 447 ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e64 killed $vgpr1, killed $vgpr0, 0, implicit $exec 448 ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0 449 ; 450 ; FLATSCRW32-LABEL: name: v_add_u32_e64__fi_literal_offset__sgpr 451 ; FLATSCRW32: liveins: $sgpr8 452 ; FLATSCRW32-NEXT: {{ $}} 453 ; FLATSCRW32-NEXT: renamable $vgpr0 = V_ADD_U32_e64 $sgpr32, $sgpr8, 0, implicit $exec 454 ; FLATSCRW32-NEXT: renamable $vgpr0 = V_ADD_U32_e64 128, killed $vgpr0, 0, implicit $exec 455 ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0 456 renamable $vgpr0 = V_ADD_U32_e64 %stack.1, $sgpr8, 0, implicit $exec 457 SI_RETURN implicit $vgpr0 458 459... 460 461--- 462name: v_add_u32_e64__vgpr__fi_literal_offset 463tracksRegLiveness: true 464stack: 465 - { id: 0, size: 128, alignment: 16 } 466 - { id: 1, size: 4, alignment: 4 } 467machineFunctionInfo: 468 scratchRSrcReg: '$sgpr0_sgpr1_sgpr2_sgpr3' 469 frameOffsetReg: '$sgpr33' 470 stackPtrOffsetReg: '$sgpr32' 471body: | 472 bb.0: 473 liveins: $vgpr8 474 ; MUBUF-LABEL: name: v_add_u32_e64__vgpr__fi_literal_offset 475 ; MUBUF: liveins: $vgpr8 476 ; MUBUF-NEXT: {{ $}} 477 ; MUBUF-NEXT: renamable $vgpr1 = V_LSHRREV_B32_e64 6, $sgpr32, implicit $exec 478 ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e64 $vgpr8, killed $vgpr1, 0, implicit $exec 479 ; MUBUF-NEXT: $vgpr1 = V_MOV_B32_e32 128, implicit $exec 480 ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e64 killed $vgpr1, killed $vgpr0, 0, implicit $exec 481 ; MUBUF-NEXT: SI_RETURN implicit $vgpr0 482 ; 483 ; MUBUFW32-LABEL: name: v_add_u32_e64__vgpr__fi_literal_offset 484 ; MUBUFW32: liveins: $vgpr8 485 ; MUBUFW32-NEXT: {{ $}} 486 ; MUBUFW32-NEXT: renamable $vgpr1 = V_LSHRREV_B32_e64 5, $sgpr32, implicit $exec 487 ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e64 $vgpr8, killed $vgpr1, 0, implicit $exec 488 ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e64 killed $vgpr0, 128, 0, implicit $exec 489 ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0 490 ; 491 ; FLATSCRW64-LABEL: name: v_add_u32_e64__vgpr__fi_literal_offset 492 ; FLATSCRW64: liveins: $vgpr8 493 ; FLATSCRW64-NEXT: {{ $}} 494 ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e64 $sgpr32, $vgpr8, 0, implicit $exec 495 ; FLATSCRW64-NEXT: $vgpr1 = V_MOV_B32_e32 128, implicit $exec 496 ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e64 killed $vgpr1, killed $vgpr0, 0, implicit $exec 497 ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0 498 ; 499 ; FLATSCRW32-LABEL: name: v_add_u32_e64__vgpr__fi_literal_offset 500 ; FLATSCRW32: liveins: $vgpr8 501 ; FLATSCRW32-NEXT: {{ $}} 502 ; FLATSCRW32-NEXT: renamable $vgpr0 = V_ADD_U32_e64 $sgpr32, $vgpr8, 0, implicit $exec 503 ; FLATSCRW32-NEXT: renamable $vgpr0 = V_ADD_U32_e64 killed $vgpr0, 128, 0, implicit $exec 504 ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0 505 renamable $vgpr0 = V_ADD_U32_e64 $vgpr8, %stack.1, 0, implicit $exec 506 SI_RETURN implicit $vgpr0 507 508... 509 510--- 511name: v_add_u32_e64__vgpr__fi_literal_offset__clamp 512tracksRegLiveness: true 513stack: 514 - { id: 0, size: 128, alignment: 16 } 515 - { id: 1, size: 4, alignment: 4 } 516machineFunctionInfo: 517 scratchRSrcReg: '$sgpr0_sgpr1_sgpr2_sgpr3' 518 frameOffsetReg: '$sgpr33' 519 stackPtrOffsetReg: '$sgpr32' 520body: | 521 bb.0: 522 liveins: $vgpr8 523 ; MUBUF-LABEL: name: v_add_u32_e64__vgpr__fi_literal_offset__clamp 524 ; MUBUF: liveins: $vgpr8 525 ; MUBUF-NEXT: {{ $}} 526 ; MUBUF-NEXT: renamable $vgpr1 = V_LSHRREV_B32_e64 6, $sgpr32, implicit $exec 527 ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e64 $vgpr8, killed $vgpr1, 0, implicit $exec 528 ; MUBUF-NEXT: $vgpr1 = V_MOV_B32_e32 128, implicit $exec 529 ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e64 killed $vgpr1, killed $vgpr0, 1, implicit $exec 530 ; MUBUF-NEXT: SI_RETURN implicit $vgpr0 531 ; 532 ; MUBUFW32-LABEL: name: v_add_u32_e64__vgpr__fi_literal_offset__clamp 533 ; MUBUFW32: liveins: $vgpr8 534 ; MUBUFW32-NEXT: {{ $}} 535 ; MUBUFW32-NEXT: renamable $vgpr1 = V_LSHRREV_B32_e64 5, $sgpr32, implicit $exec 536 ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e64 $vgpr8, killed $vgpr1, 0, implicit $exec 537 ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e64 killed $vgpr0, 128, 1, implicit $exec 538 ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0 539 ; 540 ; FLATSCRW64-LABEL: name: v_add_u32_e64__vgpr__fi_literal_offset__clamp 541 ; FLATSCRW64: liveins: $vgpr8 542 ; FLATSCRW64-NEXT: {{ $}} 543 ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e64 $sgpr32, $vgpr8, 0, implicit $exec 544 ; FLATSCRW64-NEXT: $vgpr1 = V_MOV_B32_e32 128, implicit $exec 545 ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e64 killed $vgpr1, killed $vgpr0, 1, implicit $exec 546 ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0 547 ; 548 ; FLATSCRW32-LABEL: name: v_add_u32_e64__vgpr__fi_literal_offset__clamp 549 ; FLATSCRW32: liveins: $vgpr8 550 ; FLATSCRW32-NEXT: {{ $}} 551 ; FLATSCRW32-NEXT: renamable $vgpr0 = V_ADD_U32_e64 $sgpr32, $vgpr8, 0, implicit $exec 552 ; FLATSCRW32-NEXT: renamable $vgpr0 = V_ADD_U32_e64 killed $vgpr0, 128, 1, implicit $exec 553 ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0 554 renamable $vgpr0 = V_ADD_U32_e64 $vgpr8, %stack.1, 1, implicit $exec 555 SI_RETURN implicit $vgpr0 556 557... 558 559--- 560name: v_add_u32_e64__fi_literal_offset__vgpr__clamp 561tracksRegLiveness: true 562stack: 563 - { id: 0, size: 128, alignment: 16 } 564 - { id: 1, size: 4, alignment: 4 } 565machineFunctionInfo: 566 scratchRSrcReg: '$sgpr0_sgpr1_sgpr2_sgpr3' 567 frameOffsetReg: '$sgpr33' 568 stackPtrOffsetReg: '$sgpr32' 569body: | 570 bb.0: 571 liveins: $vgpr8 572 ; MUBUF-LABEL: name: v_add_u32_e64__fi_literal_offset__vgpr__clamp 573 ; MUBUF: liveins: $vgpr8 574 ; MUBUF-NEXT: {{ $}} 575 ; MUBUF-NEXT: renamable $vgpr1 = V_LSHRREV_B32_e64 6, $sgpr32, implicit $exec 576 ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e64 $vgpr8, killed $vgpr1, 0, implicit $exec 577 ; MUBUF-NEXT: $vgpr1 = V_MOV_B32_e32 128, implicit $exec 578 ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e64 killed $vgpr1, killed $vgpr0, 1, implicit $exec 579 ; MUBUF-NEXT: SI_RETURN implicit $vgpr0 580 ; 581 ; MUBUFW32-LABEL: name: v_add_u32_e64__fi_literal_offset__vgpr__clamp 582 ; MUBUFW32: liveins: $vgpr8 583 ; MUBUFW32-NEXT: {{ $}} 584 ; MUBUFW32-NEXT: renamable $vgpr1 = V_LSHRREV_B32_e64 5, $sgpr32, implicit $exec 585 ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e64 $vgpr8, killed $vgpr1, 0, implicit $exec 586 ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e64 128, killed $vgpr0, 1, implicit $exec 587 ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0 588 ; 589 ; FLATSCRW64-LABEL: name: v_add_u32_e64__fi_literal_offset__vgpr__clamp 590 ; FLATSCRW64: liveins: $vgpr8 591 ; FLATSCRW64-NEXT: {{ $}} 592 ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e64 $sgpr32, $vgpr8, 0, implicit $exec 593 ; FLATSCRW64-NEXT: $vgpr1 = V_MOV_B32_e32 128, implicit $exec 594 ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e64 killed $vgpr1, killed $vgpr0, 1, implicit $exec 595 ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0 596 ; 597 ; FLATSCRW32-LABEL: name: v_add_u32_e64__fi_literal_offset__vgpr__clamp 598 ; FLATSCRW32: liveins: $vgpr8 599 ; FLATSCRW32-NEXT: {{ $}} 600 ; FLATSCRW32-NEXT: renamable $vgpr0 = V_ADD_U32_e64 $sgpr32, $vgpr8, 0, implicit $exec 601 ; FLATSCRW32-NEXT: renamable $vgpr0 = V_ADD_U32_e64 128, killed $vgpr0, 1, implicit $exec 602 ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0 603 renamable $vgpr0 = V_ADD_U32_e64 %stack.1, $vgpr8, 1, implicit $exec 604 SI_RETURN implicit $vgpr0 605 606... 607 608--- 609name: v_add_u32_e64__fi_literal_offset__vgpr__clamp__kernel 610tracksRegLiveness: true 611stack: 612 - { id: 0, size: 128, alignment: 16 } 613 - { id: 1, size: 4, alignment: 4 } 614machineFunctionInfo: 615 scratchRSrcReg: '$sgpr0_sgpr1_sgpr2_sgpr3' 616 frameOffsetReg: '$sgpr33' 617 stackPtrOffsetReg: '$sgpr32' 618 isEntryFunction: true 619body: | 620 bb.0: 621 liveins: $vgpr8 622 ; MUBUF-LABEL: name: v_add_u32_e64__fi_literal_offset__vgpr__clamp__kernel 623 ; MUBUF: liveins: $vgpr8, $sgpr0_sgpr1_sgpr2_sgpr3 624 ; MUBUF-NEXT: {{ $}} 625 ; MUBUF-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 626 ; MUBUF-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 627 ; MUBUF-NEXT: $vgpr1 = V_MOV_B32_e32 128, implicit $exec 628 ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e64 killed $vgpr1, $vgpr8, 1, implicit $exec 629 ; MUBUF-NEXT: SI_RETURN implicit $vgpr0 630 ; 631 ; MUBUFW32-LABEL: name: v_add_u32_e64__fi_literal_offset__vgpr__clamp__kernel 632 ; MUBUFW32: liveins: $vgpr8, $sgpr0_sgpr1_sgpr2_sgpr3 633 ; MUBUFW32-NEXT: {{ $}} 634 ; MUBUFW32-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 635 ; MUBUFW32-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 636 ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e64 128, $vgpr8, 1, implicit $exec 637 ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0 638 ; 639 ; FLATSCRW64-LABEL: name: v_add_u32_e64__fi_literal_offset__vgpr__clamp__kernel 640 ; FLATSCRW64: liveins: $vgpr8 641 ; FLATSCRW64-NEXT: {{ $}} 642 ; FLATSCRW64-NEXT: $vgpr1 = V_MOV_B32_e32 128, implicit $exec 643 ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e64 killed $vgpr1, $vgpr8, 1, implicit $exec 644 ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0 645 ; 646 ; FLATSCRW32-LABEL: name: v_add_u32_e64__fi_literal_offset__vgpr__clamp__kernel 647 ; FLATSCRW32: liveins: $vgpr8 648 ; FLATSCRW32-NEXT: {{ $}} 649 ; FLATSCRW32-NEXT: renamable $vgpr0 = V_ADD_U32_e64 128, $vgpr8, 1, implicit $exec 650 ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0 651 renamable $vgpr0 = V_ADD_U32_e64 %stack.1, $vgpr8, 1, implicit $exec 652 SI_RETURN implicit $vgpr0 653 654... 655 656--- 657name: v_add_u32_e32__inline_imm__fi_offset0__kernel 658tracksRegLiveness: true 659stack: 660 - { id: 0, size: 32, alignment: 16 } 661machineFunctionInfo: 662 scratchRSrcReg: '$sgpr0_sgpr1_sgpr2_sgpr3' 663 frameOffsetReg: '$sgpr33' 664 stackPtrOffsetReg: '$sgpr32' 665 isEntryFunction: true 666body: | 667 bb.0: 668 ; MUBUF-LABEL: name: v_add_u32_e32__inline_imm__fi_offset0__kernel 669 ; MUBUF: liveins: $sgpr0_sgpr1_sgpr2_sgpr3 670 ; MUBUF-NEXT: {{ $}} 671 ; MUBUF-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 672 ; MUBUF-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 673 ; MUBUF-NEXT: renamable $vgpr0 = V_MOV_B32_e32 12, implicit $exec 674 ; MUBUF-NEXT: SI_RETURN implicit $vgpr0 675 ; 676 ; MUBUFW32-LABEL: name: v_add_u32_e32__inline_imm__fi_offset0__kernel 677 ; MUBUFW32: liveins: $sgpr0_sgpr1_sgpr2_sgpr3 678 ; MUBUFW32-NEXT: {{ $}} 679 ; MUBUFW32-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 680 ; MUBUFW32-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 681 ; MUBUFW32-NEXT: renamable $vgpr0 = V_MOV_B32_e32 12, implicit $exec 682 ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0 683 ; 684 ; FLATSCRW64-LABEL: name: v_add_u32_e32__inline_imm__fi_offset0__kernel 685 ; FLATSCRW64: renamable $vgpr0 = V_MOV_B32_e32 12, implicit $exec 686 ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0 687 ; 688 ; FLATSCRW32-LABEL: name: v_add_u32_e32__inline_imm__fi_offset0__kernel 689 ; FLATSCRW32: renamable $vgpr0 = V_MOV_B32_e32 12, implicit $exec 690 ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0 691 renamable $vgpr0 = V_ADD_U32_e32 12, %stack.0, implicit $exec 692 SI_RETURN implicit $vgpr0 693 694... 695 696--- 697name: v_add_u32_e64__inline_imm__fi_offset0__kernel 698tracksRegLiveness: true 699stack: 700 - { id: 0, size: 32, alignment: 16 } 701machineFunctionInfo: 702 scratchRSrcReg: '$sgpr0_sgpr1_sgpr2_sgpr3' 703 frameOffsetReg: '$sgpr33' 704 stackPtrOffsetReg: '$sgpr32' 705 isEntryFunction: true 706body: | 707 bb.0: 708 ; MUBUF-LABEL: name: v_add_u32_e64__inline_imm__fi_offset0__kernel 709 ; MUBUF: liveins: $sgpr0_sgpr1_sgpr2_sgpr3 710 ; MUBUF-NEXT: {{ $}} 711 ; MUBUF-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 712 ; MUBUF-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 713 ; MUBUF-NEXT: renamable $vgpr0 = V_MOV_B32_e32 12, implicit $exec 714 ; MUBUF-NEXT: SI_RETURN implicit $vgpr0 715 ; 716 ; MUBUFW32-LABEL: name: v_add_u32_e64__inline_imm__fi_offset0__kernel 717 ; MUBUFW32: liveins: $sgpr0_sgpr1_sgpr2_sgpr3 718 ; MUBUFW32-NEXT: {{ $}} 719 ; MUBUFW32-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 720 ; MUBUFW32-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 721 ; MUBUFW32-NEXT: renamable $vgpr0 = V_MOV_B32_e32 12, implicit $exec 722 ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0 723 ; 724 ; FLATSCRW64-LABEL: name: v_add_u32_e64__inline_imm__fi_offset0__kernel 725 ; FLATSCRW64: renamable $vgpr0 = V_MOV_B32_e32 12, implicit $exec 726 ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0 727 ; 728 ; FLATSCRW32-LABEL: name: v_add_u32_e64__inline_imm__fi_offset0__kernel 729 ; FLATSCRW32: renamable $vgpr0 = V_MOV_B32_e32 12, implicit $exec 730 ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0 731 renamable $vgpr0 = V_ADD_U32_e64 12, %stack.0, 0, implicit $exec 732 SI_RETURN implicit $vgpr0 733 734... 735 736 737 738--- 739name: v_add_u32_e32__inline_imm__fi_literal__kernel 740tracksRegLiveness: true 741stack: 742 - { id: 0, size: 32, alignment: 16 } 743 - { id: 1, size: 80, alignment: 4 } 744machineFunctionInfo: 745 scratchRSrcReg: '$sgpr0_sgpr1_sgpr2_sgpr3' 746 frameOffsetReg: '$sgpr33' 747 stackPtrOffsetReg: '$sgpr32' 748 isEntryFunction: true 749body: | 750 bb.0: 751 ; MUBUF-LABEL: name: v_add_u32_e32__inline_imm__fi_literal__kernel 752 ; MUBUF: liveins: $sgpr0_sgpr1_sgpr2_sgpr3 753 ; MUBUF-NEXT: {{ $}} 754 ; MUBUF-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 755 ; MUBUF-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 756 ; MUBUF-NEXT: renamable $vgpr0 = V_MOV_B32_e32 44, implicit $exec 757 ; MUBUF-NEXT: SI_RETURN implicit $vgpr0 758 ; 759 ; MUBUFW32-LABEL: name: v_add_u32_e32__inline_imm__fi_literal__kernel 760 ; MUBUFW32: liveins: $sgpr0_sgpr1_sgpr2_sgpr3 761 ; MUBUFW32-NEXT: {{ $}} 762 ; MUBUFW32-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 763 ; MUBUFW32-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 764 ; MUBUFW32-NEXT: renamable $vgpr0 = V_MOV_B32_e32 44, implicit $exec 765 ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0 766 ; 767 ; FLATSCRW64-LABEL: name: v_add_u32_e32__inline_imm__fi_literal__kernel 768 ; FLATSCRW64: renamable $vgpr0 = V_MOV_B32_e32 44, implicit $exec 769 ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0 770 ; 771 ; FLATSCRW32-LABEL: name: v_add_u32_e32__inline_imm__fi_literal__kernel 772 ; FLATSCRW32: renamable $vgpr0 = V_MOV_B32_e32 44, implicit $exec 773 ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0 774 renamable $vgpr0 = V_ADD_U32_e32 12, %stack.1, implicit $exec 775 SI_RETURN implicit $vgpr0 776 777... 778 779--- 780name: v_add_u32_e64__inline_imm__fi_literal__kernel 781tracksRegLiveness: true 782stack: 783 - { id: 0, size: 32, alignment: 16 } 784 - { id: 1, size: 80, alignment: 4 } 785machineFunctionInfo: 786 scratchRSrcReg: '$sgpr0_sgpr1_sgpr2_sgpr3' 787 frameOffsetReg: '$sgpr33' 788 stackPtrOffsetReg: '$sgpr32' 789 isEntryFunction: true 790body: | 791 bb.0: 792 ; MUBUF-LABEL: name: v_add_u32_e64__inline_imm__fi_literal__kernel 793 ; MUBUF: liveins: $sgpr0_sgpr1_sgpr2_sgpr3 794 ; MUBUF-NEXT: {{ $}} 795 ; MUBUF-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 796 ; MUBUF-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 797 ; MUBUF-NEXT: renamable $vgpr0 = V_MOV_B32_e32 44, implicit $exec 798 ; MUBUF-NEXT: SI_RETURN implicit $vgpr0 799 ; 800 ; MUBUFW32-LABEL: name: v_add_u32_e64__inline_imm__fi_literal__kernel 801 ; MUBUFW32: liveins: $sgpr0_sgpr1_sgpr2_sgpr3 802 ; MUBUFW32-NEXT: {{ $}} 803 ; MUBUFW32-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 804 ; MUBUFW32-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 805 ; MUBUFW32-NEXT: renamable $vgpr0 = V_MOV_B32_e32 44, implicit $exec 806 ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0 807 ; 808 ; FLATSCRW64-LABEL: name: v_add_u32_e64__inline_imm__fi_literal__kernel 809 ; FLATSCRW64: renamable $vgpr0 = V_MOV_B32_e32 44, implicit $exec 810 ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0 811 ; 812 ; FLATSCRW32-LABEL: name: v_add_u32_e64__inline_imm__fi_literal__kernel 813 ; FLATSCRW32: renamable $vgpr0 = V_MOV_B32_e32 44, implicit $exec 814 ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0 815 renamable $vgpr0 = V_ADD_U32_e64 12, %stack.1, 0, implicit $exec 816 SI_RETURN implicit $vgpr0 817 818... 819 820--- 821name: v_add_u32_e64__fi_literal__inline_imm__kernel 822tracksRegLiveness: true 823stack: 824 - { id: 0, size: 32, alignment: 16 } 825 - { id: 1, size: 80, alignment: 4 } 826machineFunctionInfo: 827 scratchRSrcReg: '$sgpr0_sgpr1_sgpr2_sgpr3' 828 frameOffsetReg: '$sgpr33' 829 stackPtrOffsetReg: '$sgpr32' 830 isEntryFunction: true 831body: | 832 bb.0: 833 ; MUBUF-LABEL: name: v_add_u32_e64__fi_literal__inline_imm__kernel 834 ; MUBUF: liveins: $sgpr0_sgpr1_sgpr2_sgpr3 835 ; MUBUF-NEXT: {{ $}} 836 ; MUBUF-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 837 ; MUBUF-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 838 ; MUBUF-NEXT: renamable $vgpr0 = V_MOV_B32_e32 44, implicit $exec 839 ; MUBUF-NEXT: SI_RETURN implicit $vgpr0 840 ; 841 ; MUBUFW32-LABEL: name: v_add_u32_e64__fi_literal__inline_imm__kernel 842 ; MUBUFW32: liveins: $sgpr0_sgpr1_sgpr2_sgpr3 843 ; MUBUFW32-NEXT: {{ $}} 844 ; MUBUFW32-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 845 ; MUBUFW32-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 846 ; MUBUFW32-NEXT: renamable $vgpr0 = V_MOV_B32_e32 44, implicit $exec 847 ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0 848 ; 849 ; FLATSCRW64-LABEL: name: v_add_u32_e64__fi_literal__inline_imm__kernel 850 ; FLATSCRW64: renamable $vgpr0 = V_MOV_B32_e32 44, implicit $exec 851 ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0 852 ; 853 ; FLATSCRW32-LABEL: name: v_add_u32_e64__fi_literal__inline_imm__kernel 854 ; FLATSCRW32: renamable $vgpr0 = V_MOV_B32_e32 44, implicit $exec 855 ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0 856 renamable $vgpr0 = V_ADD_U32_e64 %stack.1, 12, 0, implicit $exec 857 SI_RETURN implicit $vgpr0 858 859... 860 861--- 862name: v_add_u32_e64__inline_imm__fi_literal__kernel__clamp 863tracksRegLiveness: true 864stack: 865 - { id: 0, size: 32, alignment: 16 } 866 - { id: 1, size: 80, alignment: 4 } 867machineFunctionInfo: 868 scratchRSrcReg: '$sgpr0_sgpr1_sgpr2_sgpr3' 869 frameOffsetReg: '$sgpr33' 870 stackPtrOffsetReg: '$sgpr32' 871 isEntryFunction: true 872body: | 873 bb.0: 874 ; MUBUF-LABEL: name: v_add_u32_e64__inline_imm__fi_literal__kernel__clamp 875 ; MUBUF: liveins: $sgpr0_sgpr1_sgpr2_sgpr3 876 ; MUBUF-NEXT: {{ $}} 877 ; MUBUF-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 878 ; MUBUF-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 879 ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e64 44, 0, 1, implicit $exec 880 ; MUBUF-NEXT: SI_RETURN implicit $vgpr0 881 ; 882 ; MUBUFW32-LABEL: name: v_add_u32_e64__inline_imm__fi_literal__kernel__clamp 883 ; MUBUFW32: liveins: $sgpr0_sgpr1_sgpr2_sgpr3 884 ; MUBUFW32-NEXT: {{ $}} 885 ; MUBUFW32-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 886 ; MUBUFW32-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 887 ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e64 44, 0, 1, implicit $exec 888 ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0 889 ; 890 ; FLATSCRW64-LABEL: name: v_add_u32_e64__inline_imm__fi_literal__kernel__clamp 891 ; FLATSCRW64: renamable $vgpr0 = V_ADD_U32_e64 44, 0, 1, implicit $exec 892 ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0 893 ; 894 ; FLATSCRW32-LABEL: name: v_add_u32_e64__inline_imm__fi_literal__kernel__clamp 895 ; FLATSCRW32: renamable $vgpr0 = V_ADD_U32_e64 44, 0, 1, implicit $exec 896 ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0 897 renamable $vgpr0 = V_ADD_U32_e64 12, %stack.1, 1, implicit $exec 898 SI_RETURN implicit $vgpr0 899 900... 901 902--- 903name: killed_reg_regression 904tracksRegLiveness: true 905stack: 906 - { id: 0, size: 32, alignment: 16 } 907 - { id: 1, size: 80, alignment: 4 } 908machineFunctionInfo: 909 scratchRSrcReg: '$sgpr0_sgpr1_sgpr2_sgpr3' 910 frameOffsetReg: '$sgpr33' 911 stackPtrOffsetReg: '$sgpr32' 912 isEntryFunction: true 913body: | 914 bb.0: 915 liveins: $vgpr0 916 917 ; MUBUF-LABEL: name: killed_reg_regression 918 ; MUBUF: liveins: $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3 919 ; MUBUF-NEXT: {{ $}} 920 ; MUBUF-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 921 ; MUBUF-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 922 ; MUBUF-NEXT: renamable $vgpr0 = V_LSHLREV_B32_e32 2, killed $vgpr0, implicit $exec 923 ; MUBUF-NEXT: renamable $vgpr1 = V_MOV_B32_e32 $vgpr0, implicit $exec 924 ; MUBUF-NEXT: renamable $vgpr2 = V_MOV_B32_e32 15, implicit $exec 925 ; MUBUF-NEXT: SCRATCH_STORE_DWORD killed renamable $vgpr2, killed renamable $vgpr1, 0, 0, implicit $exec, implicit $flat_scr :: (volatile store (s32), addrspace 5) 926 ; MUBUF-NEXT: renamable $vgpr0 = V_SUB_U32_e32 0, killed $vgpr0, implicit $exec 927 ; MUBUF-NEXT: dead renamable $vgpr0 = SCRATCH_LOAD_DWORD killed renamable $vgpr0, 124, 0, implicit $exec, implicit $flat_scr :: (volatile load (s32), addrspace 5) 928 ; MUBUF-NEXT: S_ENDPGM 0 929 ; 930 ; MUBUFW32-LABEL: name: killed_reg_regression 931 ; MUBUFW32: liveins: $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3 932 ; MUBUFW32-NEXT: {{ $}} 933 ; MUBUFW32-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 934 ; MUBUFW32-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 935 ; MUBUFW32-NEXT: renamable $vgpr0 = V_LSHLREV_B32_e32 2, killed $vgpr0, implicit $exec 936 ; MUBUFW32-NEXT: renamable $vgpr1 = V_MOV_B32_e32 $vgpr0, implicit $exec 937 ; MUBUFW32-NEXT: renamable $vgpr2 = V_MOV_B32_e32 15, implicit $exec 938 ; MUBUFW32-NEXT: SCRATCH_STORE_DWORD killed renamable $vgpr2, killed renamable $vgpr1, 0, 0, implicit $exec, implicit $flat_scr :: (volatile store (s32), addrspace 5) 939 ; MUBUFW32-NEXT: renamable $vgpr0 = V_SUB_U32_e32 0, killed $vgpr0, implicit $exec 940 ; MUBUFW32-NEXT: dead renamable $vgpr0 = SCRATCH_LOAD_DWORD killed renamable $vgpr0, 124, 0, implicit $exec, implicit $flat_scr :: (volatile load (s32), addrspace 5) 941 ; MUBUFW32-NEXT: S_ENDPGM 0 942 ; 943 ; FLATSCRW64-LABEL: name: killed_reg_regression 944 ; FLATSCRW64: liveins: $vgpr0 945 ; FLATSCRW64-NEXT: {{ $}} 946 ; FLATSCRW64-NEXT: renamable $vgpr0 = V_LSHLREV_B32_e32 2, killed $vgpr0, implicit $exec 947 ; FLATSCRW64-NEXT: renamable $vgpr1 = V_MOV_B32_e32 $vgpr0, implicit $exec 948 ; FLATSCRW64-NEXT: renamable $vgpr2 = V_MOV_B32_e32 15, implicit $exec 949 ; FLATSCRW64-NEXT: SCRATCH_STORE_DWORD killed renamable $vgpr2, killed renamable $vgpr1, 0, 0, implicit $exec, implicit $flat_scr :: (volatile store (s32), addrspace 5) 950 ; FLATSCRW64-NEXT: renamable $vgpr0 = V_SUB_U32_e32 0, killed $vgpr0, implicit $exec 951 ; FLATSCRW64-NEXT: dead renamable $vgpr0 = SCRATCH_LOAD_DWORD killed renamable $vgpr0, 124, 0, implicit $exec, implicit $flat_scr :: (volatile load (s32), addrspace 5) 952 ; FLATSCRW64-NEXT: S_ENDPGM 0 953 ; 954 ; FLATSCRW32-LABEL: name: killed_reg_regression 955 ; FLATSCRW32: liveins: $vgpr0 956 ; FLATSCRW32-NEXT: {{ $}} 957 ; FLATSCRW32-NEXT: renamable $vgpr0 = V_LSHLREV_B32_e32 2, killed $vgpr0, implicit $exec 958 ; FLATSCRW32-NEXT: renamable $vgpr1 = V_MOV_B32_e32 $vgpr0, implicit $exec 959 ; FLATSCRW32-NEXT: renamable $vgpr2 = V_MOV_B32_e32 15, implicit $exec 960 ; FLATSCRW32-NEXT: SCRATCH_STORE_DWORD killed renamable $vgpr2, killed renamable $vgpr1, 0, 0, implicit $exec, implicit $flat_scr :: (volatile store (s32), addrspace 5) 961 ; FLATSCRW32-NEXT: renamable $vgpr0 = V_SUB_U32_e32 0, killed $vgpr0, implicit $exec 962 ; FLATSCRW32-NEXT: dead renamable $vgpr0 = SCRATCH_LOAD_DWORD killed renamable $vgpr0, 124, 0, implicit $exec, implicit $flat_scr :: (volatile load (s32), addrspace 5) 963 ; FLATSCRW32-NEXT: S_ENDPGM 0 964 renamable $vgpr0 = V_LSHLREV_B32_e32 2, killed $vgpr0, implicit $exec 965 renamable $vgpr1 = V_ADD_U32_e32 %stack.0, $vgpr0, implicit $exec 966 renamable $vgpr2 = V_MOV_B32_e32 15, implicit $exec 967 SCRATCH_STORE_DWORD killed renamable $vgpr2, killed renamable $vgpr1, 0, 0, implicit $exec, implicit $flat_scr :: (volatile store (s32), addrspace 5) 968 renamable $vgpr0 = V_SUB_U32_e32 %stack.0, killed $vgpr0, implicit $exec 969 dead renamable $vgpr0 = SCRATCH_LOAD_DWORD killed renamable $vgpr0, 124, 0, implicit $exec, implicit $flat_scr :: (volatile load (s32), addrspace 5) 970 S_ENDPGM 0 971 972... 973 974--- 975name: v_add_u32_e32__kernel_fi_offset0__other_vgpr_live_after 976tracksRegLiveness: true 977stack: 978 - { id: 0, size: 16, alignment: 16 } 979machineFunctionInfo: 980 scratchRSrcReg: '$sgpr0_sgpr1_sgpr2_sgpr3' 981 frameOffsetReg: '$sgpr33' 982 stackPtrOffsetReg: '$sgpr32' 983 isEntryFunction: true 984body: | 985 bb.0: 986 liveins: $vgpr1 987 ; MUBUF-LABEL: name: v_add_u32_e32__kernel_fi_offset0__other_vgpr_live_after 988 ; MUBUF: liveins: $vgpr1, $sgpr0_sgpr1_sgpr2_sgpr3 989 ; MUBUF-NEXT: {{ $}} 990 ; MUBUF-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 991 ; MUBUF-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 992 ; MUBUF-NEXT: renamable $vgpr0 = V_MOV_B32_e32 $vgpr1, implicit $exec 993 ; MUBUF-NEXT: SI_RETURN implicit $vgpr0, implicit $vgpr1 994 ; 995 ; MUBUFW32-LABEL: name: v_add_u32_e32__kernel_fi_offset0__other_vgpr_live_after 996 ; MUBUFW32: liveins: $vgpr1, $sgpr0_sgpr1_sgpr2_sgpr3 997 ; MUBUFW32-NEXT: {{ $}} 998 ; MUBUFW32-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 999 ; MUBUFW32-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1000 ; MUBUFW32-NEXT: renamable $vgpr0 = V_MOV_B32_e32 $vgpr1, implicit $exec 1001 ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0, implicit $vgpr1 1002 ; 1003 ; FLATSCRW64-LABEL: name: v_add_u32_e32__kernel_fi_offset0__other_vgpr_live_after 1004 ; FLATSCRW64: liveins: $vgpr1 1005 ; FLATSCRW64-NEXT: {{ $}} 1006 ; FLATSCRW64-NEXT: renamable $vgpr0 = V_MOV_B32_e32 $vgpr1, implicit $exec 1007 ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0, implicit $vgpr1 1008 ; 1009 ; FLATSCRW32-LABEL: name: v_add_u32_e32__kernel_fi_offset0__other_vgpr_live_after 1010 ; FLATSCRW32: liveins: $vgpr1 1011 ; FLATSCRW32-NEXT: {{ $}} 1012 ; FLATSCRW32-NEXT: renamable $vgpr0 = V_MOV_B32_e32 $vgpr1, implicit $exec 1013 ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0, implicit $vgpr1 1014 renamable $vgpr0 = V_ADD_U32_e32 renamable $vgpr1, %stack.0, implicit $exec 1015 SI_RETURN implicit $vgpr0, implicit $vgpr1 1016 1017... 1018 1019--- 1020name: v_add_u32_e32__kernel_other_vgpr_live_after__fi_offset0 1021tracksRegLiveness: true 1022stack: 1023 - { id: 0, size: 16, alignment: 16 } 1024machineFunctionInfo: 1025 scratchRSrcReg: '$sgpr0_sgpr1_sgpr2_sgpr3' 1026 frameOffsetReg: '$sgpr33' 1027 stackPtrOffsetReg: '$sgpr32' 1028 isEntryFunction: true 1029body: | 1030 bb.0: 1031 liveins: $vgpr1 1032 ; MUBUF-LABEL: name: v_add_u32_e32__kernel_other_vgpr_live_after__fi_offset0 1033 ; MUBUF: liveins: $vgpr1, $sgpr0_sgpr1_sgpr2_sgpr3 1034 ; MUBUF-NEXT: {{ $}} 1035 ; MUBUF-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1036 ; MUBUF-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1037 ; MUBUF-NEXT: renamable $vgpr0 = V_MOV_B32_e32 $vgpr1, implicit $exec 1038 ; MUBUF-NEXT: SI_RETURN implicit $vgpr0, implicit $vgpr1 1039 ; 1040 ; MUBUFW32-LABEL: name: v_add_u32_e32__kernel_other_vgpr_live_after__fi_offset0 1041 ; MUBUFW32: liveins: $vgpr1, $sgpr0_sgpr1_sgpr2_sgpr3 1042 ; MUBUFW32-NEXT: {{ $}} 1043 ; MUBUFW32-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1044 ; MUBUFW32-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1045 ; MUBUFW32-NEXT: renamable $vgpr0 = V_MOV_B32_e32 $vgpr1, implicit $exec 1046 ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0, implicit $vgpr1 1047 ; 1048 ; FLATSCRW64-LABEL: name: v_add_u32_e32__kernel_other_vgpr_live_after__fi_offset0 1049 ; FLATSCRW64: liveins: $vgpr1 1050 ; FLATSCRW64-NEXT: {{ $}} 1051 ; FLATSCRW64-NEXT: renamable $vgpr0 = V_MOV_B32_e32 $vgpr1, implicit $exec 1052 ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0, implicit $vgpr1 1053 ; 1054 ; FLATSCRW32-LABEL: name: v_add_u32_e32__kernel_other_vgpr_live_after__fi_offset0 1055 ; FLATSCRW32: liveins: $vgpr1 1056 ; FLATSCRW32-NEXT: {{ $}} 1057 ; FLATSCRW32-NEXT: renamable $vgpr0 = V_MOV_B32_e32 $vgpr1, implicit $exec 1058 ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0, implicit $vgpr1 1059 renamable $vgpr0 = V_ADD_U32_e32 %stack.0, renamable $vgpr1, implicit $exec 1060 SI_RETURN implicit $vgpr0, implicit $vgpr1 1061 1062... 1063 1064--- 1065name: v_add_u32_e32__kernel_fi_offset0__sgpr_live_after 1066tracksRegLiveness: true 1067stack: 1068 - { id: 0, size: 16, alignment: 16 } 1069machineFunctionInfo: 1070 scratchRSrcReg: '$sgpr0_sgpr1_sgpr2_sgpr3' 1071 frameOffsetReg: '$sgpr33' 1072 stackPtrOffsetReg: '$sgpr32' 1073 isEntryFunction: true 1074body: | 1075 bb.0: 1076 liveins: $sgpr8 1077 ; MUBUF-LABEL: name: v_add_u32_e32__kernel_fi_offset0__sgpr_live_after 1078 ; MUBUF: liveins: $sgpr8, $sgpr0_sgpr1_sgpr2_sgpr3 1079 ; MUBUF-NEXT: {{ $}} 1080 ; MUBUF-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1081 ; MUBUF-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1082 ; MUBUF-NEXT: renamable $vgpr0 = V_MOV_B32_e32 $sgpr8, implicit $exec 1083 ; MUBUF-NEXT: SI_RETURN implicit $vgpr0, implicit $sgpr8 1084 ; 1085 ; MUBUFW32-LABEL: name: v_add_u32_e32__kernel_fi_offset0__sgpr_live_after 1086 ; MUBUFW32: liveins: $sgpr8, $sgpr0_sgpr1_sgpr2_sgpr3 1087 ; MUBUFW32-NEXT: {{ $}} 1088 ; MUBUFW32-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1089 ; MUBUFW32-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1090 ; MUBUFW32-NEXT: renamable $vgpr0 = V_MOV_B32_e32 $sgpr8, implicit $exec 1091 ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0, implicit $sgpr8 1092 ; 1093 ; FLATSCRW64-LABEL: name: v_add_u32_e32__kernel_fi_offset0__sgpr_live_after 1094 ; FLATSCRW64: liveins: $sgpr8 1095 ; FLATSCRW64-NEXT: {{ $}} 1096 ; FLATSCRW64-NEXT: renamable $vgpr0 = V_MOV_B32_e32 $sgpr8, implicit $exec 1097 ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0, implicit $sgpr8 1098 ; 1099 ; FLATSCRW32-LABEL: name: v_add_u32_e32__kernel_fi_offset0__sgpr_live_after 1100 ; FLATSCRW32: liveins: $sgpr8 1101 ; FLATSCRW32-NEXT: {{ $}} 1102 ; FLATSCRW32-NEXT: renamable $vgpr0 = V_MOV_B32_e32 $sgpr8, implicit $exec 1103 ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0, implicit $sgpr8 1104 renamable $vgpr0 = V_ADD_U32_e32 renamable $sgpr8, %stack.0, implicit $exec 1105 SI_RETURN implicit $vgpr0, implicit $sgpr8 1106 1107... 1108 1109--- 1110name: v_add_u32_e64__kernel_fi_offset0__other_vgpr_live_after 1111tracksRegLiveness: true 1112stack: 1113 - { id: 0, size: 16, alignment: 16 } 1114machineFunctionInfo: 1115 scratchRSrcReg: '$sgpr0_sgpr1_sgpr2_sgpr3' 1116 frameOffsetReg: '$sgpr33' 1117 stackPtrOffsetReg: '$sgpr32' 1118 isEntryFunction: true 1119body: | 1120 bb.0: 1121 liveins: $vgpr1 1122 ; MUBUF-LABEL: name: v_add_u32_e64__kernel_fi_offset0__other_vgpr_live_after 1123 ; MUBUF: liveins: $vgpr1, $sgpr0_sgpr1_sgpr2_sgpr3 1124 ; MUBUF-NEXT: {{ $}} 1125 ; MUBUF-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1126 ; MUBUF-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1127 ; MUBUF-NEXT: renamable $vgpr0 = V_MOV_B32_e32 $vgpr1, implicit $exec 1128 ; MUBUF-NEXT: SI_RETURN implicit $vgpr0, implicit $vgpr1 1129 ; 1130 ; MUBUFW32-LABEL: name: v_add_u32_e64__kernel_fi_offset0__other_vgpr_live_after 1131 ; MUBUFW32: liveins: $vgpr1, $sgpr0_sgpr1_sgpr2_sgpr3 1132 ; MUBUFW32-NEXT: {{ $}} 1133 ; MUBUFW32-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1134 ; MUBUFW32-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1135 ; MUBUFW32-NEXT: renamable $vgpr0 = V_MOV_B32_e32 $vgpr1, implicit $exec 1136 ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0, implicit $vgpr1 1137 ; 1138 ; FLATSCRW64-LABEL: name: v_add_u32_e64__kernel_fi_offset0__other_vgpr_live_after 1139 ; FLATSCRW64: liveins: $vgpr1 1140 ; FLATSCRW64-NEXT: {{ $}} 1141 ; FLATSCRW64-NEXT: renamable $vgpr0 = V_MOV_B32_e32 $vgpr1, implicit $exec 1142 ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0, implicit $vgpr1 1143 ; 1144 ; FLATSCRW32-LABEL: name: v_add_u32_e64__kernel_fi_offset0__other_vgpr_live_after 1145 ; FLATSCRW32: liveins: $vgpr1 1146 ; FLATSCRW32-NEXT: {{ $}} 1147 ; FLATSCRW32-NEXT: renamable $vgpr0 = V_MOV_B32_e32 $vgpr1, implicit $exec 1148 ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0, implicit $vgpr1 1149 renamable $vgpr0 = V_ADD_U32_e64 renamable $vgpr1, %stack.0, 0, implicit $exec 1150 SI_RETURN implicit $vgpr0, implicit $vgpr1 1151 1152... 1153 1154--- 1155name: v_add_u32_e32__kernel_fi_offset72__sgpr_live_after 1156tracksRegLiveness: true 1157stack: 1158 - { id: 0, size: 72, alignment: 16 } 1159 - { id: 1, size: 32, alignment: 4 } 1160machineFunctionInfo: 1161 scratchRSrcReg: '$sgpr0_sgpr1_sgpr2_sgpr3' 1162 frameOffsetReg: '$sgpr33' 1163 stackPtrOffsetReg: '$sgpr32' 1164 isEntryFunction: true 1165body: | 1166 bb.0: 1167 liveins: $sgpr8 1168 ; MUBUF-LABEL: name: v_add_u32_e32__kernel_fi_offset72__sgpr_live_after 1169 ; MUBUF: liveins: $sgpr8, $sgpr0_sgpr1_sgpr2_sgpr3 1170 ; MUBUF-NEXT: {{ $}} 1171 ; MUBUF-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1172 ; MUBUF-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1173 ; MUBUF-NEXT: $vgpr1 = V_MOV_B32_e32 72, implicit $exec 1174 ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e32 $sgpr8, killed $vgpr1, implicit $exec 1175 ; MUBUF-NEXT: SI_RETURN implicit $vgpr0, implicit $sgpr8 1176 ; 1177 ; MUBUFW32-LABEL: name: v_add_u32_e32__kernel_fi_offset72__sgpr_live_after 1178 ; MUBUFW32: liveins: $sgpr8, $sgpr0_sgpr1_sgpr2_sgpr3 1179 ; MUBUFW32-NEXT: {{ $}} 1180 ; MUBUFW32-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1181 ; MUBUFW32-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1182 ; MUBUFW32-NEXT: $vgpr1 = V_MOV_B32_e32 72, implicit $exec 1183 ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 $sgpr8, killed $vgpr1, implicit $exec 1184 ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0, implicit $sgpr8 1185 ; 1186 ; FLATSCRW64-LABEL: name: v_add_u32_e32__kernel_fi_offset72__sgpr_live_after 1187 ; FLATSCRW64: liveins: $sgpr8 1188 ; FLATSCRW64-NEXT: {{ $}} 1189 ; FLATSCRW64-NEXT: $vgpr1 = V_MOV_B32_e32 72, implicit $exec 1190 ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e32 $sgpr8, killed $vgpr1, implicit $exec 1191 ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0, implicit $sgpr8 1192 ; 1193 ; FLATSCRW32-LABEL: name: v_add_u32_e32__kernel_fi_offset72__sgpr_live_after 1194 ; FLATSCRW32: liveins: $sgpr8 1195 ; FLATSCRW32-NEXT: {{ $}} 1196 ; FLATSCRW32-NEXT: $vgpr1 = V_MOV_B32_e32 72, implicit $exec 1197 ; FLATSCRW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 $sgpr8, killed $vgpr1, implicit $exec 1198 ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0, implicit $sgpr8 1199 renamable $vgpr0 = V_ADD_U32_e32 renamable $sgpr8, %stack.1, implicit $exec 1200 SI_RETURN implicit $vgpr0, implicit $sgpr8 1201 1202... 1203 1204--- 1205name: v_add_u32_e64__kernel_fi_offset72__sgpr_live_after 1206tracksRegLiveness: true 1207stack: 1208 - { id: 0, size: 72, alignment: 16 } 1209 - { id: 1, size: 32, alignment: 4 } 1210machineFunctionInfo: 1211 scratchRSrcReg: '$sgpr0_sgpr1_sgpr2_sgpr3' 1212 frameOffsetReg: '$sgpr33' 1213 stackPtrOffsetReg: '$sgpr32' 1214 isEntryFunction: true 1215body: | 1216 bb.0: 1217 liveins: $sgpr8 1218 ; MUBUF-LABEL: name: v_add_u32_e64__kernel_fi_offset72__sgpr_live_after 1219 ; MUBUF: liveins: $sgpr8, $sgpr0_sgpr1_sgpr2_sgpr3 1220 ; MUBUF-NEXT: {{ $}} 1221 ; MUBUF-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1222 ; MUBUF-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1223 ; MUBUF-NEXT: $vgpr1 = V_MOV_B32_e32 72, implicit $exec 1224 ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e64 killed $vgpr1, $sgpr8, 0, implicit $exec 1225 ; MUBUF-NEXT: SI_RETURN implicit $vgpr0, implicit $sgpr8 1226 ; 1227 ; MUBUFW32-LABEL: name: v_add_u32_e64__kernel_fi_offset72__sgpr_live_after 1228 ; MUBUFW32: liveins: $sgpr8, $sgpr0_sgpr1_sgpr2_sgpr3 1229 ; MUBUFW32-NEXT: {{ $}} 1230 ; MUBUFW32-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1231 ; MUBUFW32-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1232 ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e64 $sgpr8, 72, 0, implicit $exec 1233 ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0, implicit $sgpr8 1234 ; 1235 ; FLATSCRW64-LABEL: name: v_add_u32_e64__kernel_fi_offset72__sgpr_live_after 1236 ; FLATSCRW64: liveins: $sgpr8 1237 ; FLATSCRW64-NEXT: {{ $}} 1238 ; FLATSCRW64-NEXT: $vgpr1 = V_MOV_B32_e32 72, implicit $exec 1239 ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e64 killed $vgpr1, $sgpr8, 0, implicit $exec 1240 ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0, implicit $sgpr8 1241 ; 1242 ; FLATSCRW32-LABEL: name: v_add_u32_e64__kernel_fi_offset72__sgpr_live_after 1243 ; FLATSCRW32: liveins: $sgpr8 1244 ; FLATSCRW32-NEXT: {{ $}} 1245 ; FLATSCRW32-NEXT: renamable $vgpr0 = V_ADD_U32_e64 $sgpr8, 72, 0, implicit $exec 1246 ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0, implicit $sgpr8 1247 renamable $vgpr0 = V_ADD_U32_e64 renamable $sgpr8, %stack.1, 0, implicit $exec 1248 SI_RETURN implicit $vgpr0, implicit $sgpr8 1249 1250... 1251 1252--- 1253name: v_add_u32_e32__identity_vgpr__fi_offset0__kernel 1254tracksRegLiveness: true 1255stack: 1256 - { id: 0, size: 32, alignment: 16 } 1257machineFunctionInfo: 1258 scratchRSrcReg: '$sgpr0_sgpr1_sgpr2_sgpr3' 1259 frameOffsetReg: '$sgpr33' 1260 stackPtrOffsetReg: '$sgpr32' 1261 isEntryFunction: true 1262body: | 1263 bb.0: 1264 liveins: $vgpr0 1265 1266 ; MUBUF-LABEL: name: v_add_u32_e32__identity_vgpr__fi_offset0__kernel 1267 ; MUBUF: liveins: $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3 1268 ; MUBUF-NEXT: {{ $}} 1269 ; MUBUF-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1270 ; MUBUF-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1271 ; MUBUF-NEXT: SI_RETURN implicit $vgpr0 1272 ; 1273 ; MUBUFW32-LABEL: name: v_add_u32_e32__identity_vgpr__fi_offset0__kernel 1274 ; MUBUFW32: liveins: $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3 1275 ; MUBUFW32-NEXT: {{ $}} 1276 ; MUBUFW32-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1277 ; MUBUFW32-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1278 ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0 1279 ; 1280 ; FLATSCRW64-LABEL: name: v_add_u32_e32__identity_vgpr__fi_offset0__kernel 1281 ; FLATSCRW64: liveins: $vgpr0 1282 ; FLATSCRW64-NEXT: {{ $}} 1283 ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0 1284 ; 1285 ; FLATSCRW32-LABEL: name: v_add_u32_e32__identity_vgpr__fi_offset0__kernel 1286 ; FLATSCRW32: liveins: $vgpr0 1287 ; FLATSCRW32-NEXT: {{ $}} 1288 ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0 1289 renamable $vgpr0 = V_ADD_U32_e32 $vgpr0, %stack.0, implicit $exec 1290 SI_RETURN implicit $vgpr0 1291 1292... 1293 1294--- 1295name: v_add_u32_e32__fi_offset0__identity_vgpr__kernel 1296tracksRegLiveness: true 1297stack: 1298 - { id: 0, size: 32, alignment: 16 } 1299machineFunctionInfo: 1300 scratchRSrcReg: '$sgpr0_sgpr1_sgpr2_sgpr3' 1301 frameOffsetReg: '$sgpr33' 1302 stackPtrOffsetReg: '$sgpr32' 1303 isEntryFunction: true 1304body: | 1305 bb.0: 1306 liveins: $vgpr0 1307 ; MUBUF-LABEL: name: v_add_u32_e32__fi_offset0__identity_vgpr__kernel 1308 ; MUBUF: liveins: $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3 1309 ; MUBUF-NEXT: {{ $}} 1310 ; MUBUF-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1311 ; MUBUF-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1312 ; MUBUF-NEXT: SI_RETURN implicit $vgpr0 1313 ; 1314 ; MUBUFW32-LABEL: name: v_add_u32_e32__fi_offset0__identity_vgpr__kernel 1315 ; MUBUFW32: liveins: $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3 1316 ; MUBUFW32-NEXT: {{ $}} 1317 ; MUBUFW32-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1318 ; MUBUFW32-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1319 ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0 1320 ; 1321 ; FLATSCRW64-LABEL: name: v_add_u32_e32__fi_offset0__identity_vgpr__kernel 1322 ; FLATSCRW64: liveins: $vgpr0 1323 ; FLATSCRW64-NEXT: {{ $}} 1324 ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0 1325 ; 1326 ; FLATSCRW32-LABEL: name: v_add_u32_e32__fi_offset0__identity_vgpr__kernel 1327 ; FLATSCRW32: liveins: $vgpr0 1328 ; FLATSCRW32-NEXT: {{ $}} 1329 ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0 1330 renamable $vgpr0 = V_ADD_U32_e32 %stack.0, $vgpr0, implicit $exec 1331 SI_RETURN implicit $vgpr0 1332 1333... 1334 1335--- 1336name: v_add_u32_e64__identity_vgpr__fi_offset0__kernel 1337tracksRegLiveness: true 1338stack: 1339 - { id: 0, size: 32, alignment: 16 } 1340machineFunctionInfo: 1341 scratchRSrcReg: '$sgpr0_sgpr1_sgpr2_sgpr3' 1342 frameOffsetReg: '$sgpr33' 1343 stackPtrOffsetReg: '$sgpr32' 1344 isEntryFunction: true 1345body: | 1346 bb.0: 1347 liveins: $vgpr0 1348 1349 ; MUBUF-LABEL: name: v_add_u32_e64__identity_vgpr__fi_offset0__kernel 1350 ; MUBUF: liveins: $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3 1351 ; MUBUF-NEXT: {{ $}} 1352 ; MUBUF-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1353 ; MUBUF-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1354 ; MUBUF-NEXT: SI_RETURN implicit $vgpr0 1355 ; 1356 ; MUBUFW32-LABEL: name: v_add_u32_e64__identity_vgpr__fi_offset0__kernel 1357 ; MUBUFW32: liveins: $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3 1358 ; MUBUFW32-NEXT: {{ $}} 1359 ; MUBUFW32-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1360 ; MUBUFW32-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1361 ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0 1362 ; 1363 ; FLATSCRW64-LABEL: name: v_add_u32_e64__identity_vgpr__fi_offset0__kernel 1364 ; FLATSCRW64: liveins: $vgpr0 1365 ; FLATSCRW64-NEXT: {{ $}} 1366 ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0 1367 ; 1368 ; FLATSCRW32-LABEL: name: v_add_u32_e64__identity_vgpr__fi_offset0__kernel 1369 ; FLATSCRW32: liveins: $vgpr0 1370 ; FLATSCRW32-NEXT: {{ $}} 1371 ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0 1372 renamable $vgpr0 = V_ADD_U32_e64 $vgpr0, %stack.0, 0, implicit $exec 1373 SI_RETURN implicit $vgpr0 1374 1375... 1376 1377--- 1378name: v_add_u32_e64__fi_offset0__identity_vgpr__kernel 1379tracksRegLiveness: true 1380stack: 1381 - { id: 0, size: 32, alignment: 16 } 1382machineFunctionInfo: 1383 scratchRSrcReg: '$sgpr0_sgpr1_sgpr2_sgpr3' 1384 frameOffsetReg: '$sgpr33' 1385 stackPtrOffsetReg: '$sgpr32' 1386 isEntryFunction: true 1387body: | 1388 bb.0: 1389 liveins: $vgpr0 1390 1391 ; MUBUF-LABEL: name: v_add_u32_e64__fi_offset0__identity_vgpr__kernel 1392 ; MUBUF: liveins: $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3 1393 ; MUBUF-NEXT: {{ $}} 1394 ; MUBUF-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1395 ; MUBUF-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1396 ; MUBUF-NEXT: SI_RETURN implicit $vgpr0 1397 ; 1398 ; MUBUFW32-LABEL: name: v_add_u32_e64__fi_offset0__identity_vgpr__kernel 1399 ; MUBUFW32: liveins: $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3 1400 ; MUBUFW32-NEXT: {{ $}} 1401 ; MUBUFW32-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1402 ; MUBUFW32-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1403 ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0 1404 ; 1405 ; FLATSCRW64-LABEL: name: v_add_u32_e64__fi_offset0__identity_vgpr__kernel 1406 ; FLATSCRW64: liveins: $vgpr0 1407 ; FLATSCRW64-NEXT: {{ $}} 1408 ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0 1409 ; 1410 ; FLATSCRW32-LABEL: name: v_add_u32_e64__fi_offset0__identity_vgpr__kernel 1411 ; FLATSCRW32: liveins: $vgpr0 1412 ; FLATSCRW32-NEXT: {{ $}} 1413 ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0 1414 renamable $vgpr0 = V_ADD_U32_e64 %stack.0, $vgpr0, 0, implicit $exec 1415 SI_RETURN implicit $vgpr0 1416 1417... 1418 1419--- 1420name: v_add_u32_e32__fi_offset0__identity_vgpr__kernel_kill 1421tracksRegLiveness: true 1422stack: 1423 - { id: 0, size: 32, alignment: 16 } 1424machineFunctionInfo: 1425 scratchRSrcReg: '$sgpr0_sgpr1_sgpr2_sgpr3' 1426 frameOffsetReg: '$sgpr33' 1427 stackPtrOffsetReg: '$sgpr32' 1428 isEntryFunction: true 1429body: | 1430 bb.0: 1431 liveins: $vgpr0 1432 ; MUBUF-LABEL: name: v_add_u32_e32__fi_offset0__identity_vgpr__kernel_kill 1433 ; MUBUF: liveins: $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3 1434 ; MUBUF-NEXT: {{ $}} 1435 ; MUBUF-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1436 ; MUBUF-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1437 ; MUBUF-NEXT: SI_RETURN implicit $vgpr0 1438 ; 1439 ; MUBUFW32-LABEL: name: v_add_u32_e32__fi_offset0__identity_vgpr__kernel_kill 1440 ; MUBUFW32: liveins: $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3 1441 ; MUBUFW32-NEXT: {{ $}} 1442 ; MUBUFW32-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1443 ; MUBUFW32-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1444 ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0 1445 ; 1446 ; FLATSCRW64-LABEL: name: v_add_u32_e32__fi_offset0__identity_vgpr__kernel_kill 1447 ; FLATSCRW64: liveins: $vgpr0 1448 ; FLATSCRW64-NEXT: {{ $}} 1449 ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0 1450 ; 1451 ; FLATSCRW32-LABEL: name: v_add_u32_e32__fi_offset0__identity_vgpr__kernel_kill 1452 ; FLATSCRW32: liveins: $vgpr0 1453 ; FLATSCRW32-NEXT: {{ $}} 1454 ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0 1455 renamable $vgpr0 = V_ADD_U32_e32 %stack.0, killed $vgpr0, implicit $exec 1456 SI_RETURN implicit $vgpr0 1457 1458... 1459 1460--- 1461name: v_add_u32_e32__identity_vgpr__fi_offset32__kernel 1462tracksRegLiveness: true 1463stack: 1464 - { id: 0, size: 32, alignment: 16 } 1465 - { id: 1, size: 64, alignment: 4 } 1466machineFunctionInfo: 1467 scratchRSrcReg: '$sgpr0_sgpr1_sgpr2_sgpr3' 1468 frameOffsetReg: '$sgpr33' 1469 stackPtrOffsetReg: '$sgpr32' 1470 isEntryFunction: true 1471body: | 1472 bb.0: 1473 liveins: $vgpr0 1474 1475 ; MUBUF-LABEL: name: v_add_u32_e32__identity_vgpr__fi_offset32__kernel 1476 ; MUBUF: liveins: $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3 1477 ; MUBUF-NEXT: {{ $}} 1478 ; MUBUF-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1479 ; MUBUF-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1480 ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e32 32, $vgpr0, implicit $exec 1481 ; MUBUF-NEXT: SI_RETURN implicit $vgpr0 1482 ; 1483 ; MUBUFW32-LABEL: name: v_add_u32_e32__identity_vgpr__fi_offset32__kernel 1484 ; MUBUFW32: liveins: $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3 1485 ; MUBUFW32-NEXT: {{ $}} 1486 ; MUBUFW32-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1487 ; MUBUFW32-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1488 ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 32, $vgpr0, implicit $exec 1489 ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0 1490 ; 1491 ; FLATSCRW64-LABEL: name: v_add_u32_e32__identity_vgpr__fi_offset32__kernel 1492 ; FLATSCRW64: liveins: $vgpr0 1493 ; FLATSCRW64-NEXT: {{ $}} 1494 ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e32 32, $vgpr0, implicit $exec 1495 ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0 1496 ; 1497 ; FLATSCRW32-LABEL: name: v_add_u32_e32__identity_vgpr__fi_offset32__kernel 1498 ; FLATSCRW32: liveins: $vgpr0 1499 ; FLATSCRW32-NEXT: {{ $}} 1500 ; FLATSCRW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 32, $vgpr0, implicit $exec 1501 ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0 1502 renamable $vgpr0 = V_ADD_U32_e32 $vgpr0, %stack.1, implicit $exec 1503 SI_RETURN implicit $vgpr0 1504 1505... 1506 1507 1508--- 1509name: v_add_u32_e32__identity_vgpr__fi_offset72__kernel 1510tracksRegLiveness: true 1511stack: 1512 - { id: 0, size: 72, alignment: 16 } 1513 - { id: 1, size: 64, alignment: 4 } 1514machineFunctionInfo: 1515 scratchRSrcReg: '$sgpr0_sgpr1_sgpr2_sgpr3' 1516 frameOffsetReg: '$sgpr33' 1517 stackPtrOffsetReg: '$sgpr32' 1518 isEntryFunction: true 1519body: | 1520 bb.0: 1521 liveins: $vgpr0 1522 1523 ; MUBUF-LABEL: name: v_add_u32_e32__identity_vgpr__fi_offset72__kernel 1524 ; MUBUF: liveins: $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3 1525 ; MUBUF-NEXT: {{ $}} 1526 ; MUBUF-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1527 ; MUBUF-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1528 ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e32 72, $vgpr0, implicit $exec 1529 ; MUBUF-NEXT: SI_RETURN implicit $vgpr0 1530 ; 1531 ; MUBUFW32-LABEL: name: v_add_u32_e32__identity_vgpr__fi_offset72__kernel 1532 ; MUBUFW32: liveins: $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3 1533 ; MUBUFW32-NEXT: {{ $}} 1534 ; MUBUFW32-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1535 ; MUBUFW32-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1536 ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 72, $vgpr0, implicit $exec 1537 ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0 1538 ; 1539 ; FLATSCRW64-LABEL: name: v_add_u32_e32__identity_vgpr__fi_offset72__kernel 1540 ; FLATSCRW64: liveins: $vgpr0 1541 ; FLATSCRW64-NEXT: {{ $}} 1542 ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e32 72, $vgpr0, implicit $exec 1543 ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0 1544 ; 1545 ; FLATSCRW32-LABEL: name: v_add_u32_e32__identity_vgpr__fi_offset72__kernel 1546 ; FLATSCRW32: liveins: $vgpr0 1547 ; FLATSCRW32-NEXT: {{ $}} 1548 ; FLATSCRW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 72, $vgpr0, implicit $exec 1549 ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0 1550 renamable $vgpr0 = V_ADD_U32_e32 $vgpr0, %stack.1, implicit $exec 1551 SI_RETURN implicit $vgpr0 1552 1553... 1554 1555--- 1556name: v_add_u32_e32__fi_offset72__identity_vgpr__kernel 1557tracksRegLiveness: true 1558stack: 1559 - { id: 0, size: 72, alignment: 16 } 1560 - { id: 1, size: 64, alignment: 4 } 1561machineFunctionInfo: 1562 scratchRSrcReg: '$sgpr0_sgpr1_sgpr2_sgpr3' 1563 frameOffsetReg: '$sgpr33' 1564 stackPtrOffsetReg: '$sgpr32' 1565 isEntryFunction: true 1566body: | 1567 bb.0: 1568 liveins: $vgpr0 1569 1570 ; MUBUF-LABEL: name: v_add_u32_e32__fi_offset72__identity_vgpr__kernel 1571 ; MUBUF: liveins: $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3 1572 ; MUBUF-NEXT: {{ $}} 1573 ; MUBUF-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1574 ; MUBUF-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1575 ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e32 72, $vgpr0, implicit $exec 1576 ; MUBUF-NEXT: SI_RETURN implicit $vgpr0 1577 ; 1578 ; MUBUFW32-LABEL: name: v_add_u32_e32__fi_offset72__identity_vgpr__kernel 1579 ; MUBUFW32: liveins: $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3 1580 ; MUBUFW32-NEXT: {{ $}} 1581 ; MUBUFW32-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1582 ; MUBUFW32-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1583 ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 72, $vgpr0, implicit $exec 1584 ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0 1585 ; 1586 ; FLATSCRW64-LABEL: name: v_add_u32_e32__fi_offset72__identity_vgpr__kernel 1587 ; FLATSCRW64: liveins: $vgpr0 1588 ; FLATSCRW64-NEXT: {{ $}} 1589 ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e32 72, $vgpr0, implicit $exec 1590 ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0 1591 ; 1592 ; FLATSCRW32-LABEL: name: v_add_u32_e32__fi_offset72__identity_vgpr__kernel 1593 ; FLATSCRW32: liveins: $vgpr0 1594 ; FLATSCRW32-NEXT: {{ $}} 1595 ; FLATSCRW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 72, $vgpr0, implicit $exec 1596 ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0 1597 renamable $vgpr0 = V_ADD_U32_e32 %stack.1, $vgpr0, implicit $exec 1598 SI_RETURN implicit $vgpr0 1599 1600... 1601 1602--- 1603name: v_add_u32_e32__fi_offset32__identity_vgpr__kernel 1604tracksRegLiveness: true 1605stack: 1606 - { id: 0, size: 32, alignment: 16 } 1607 - { id: 1, size: 64, alignment: 4 } 1608machineFunctionInfo: 1609 scratchRSrcReg: '$sgpr0_sgpr1_sgpr2_sgpr3' 1610 frameOffsetReg: '$sgpr33' 1611 stackPtrOffsetReg: '$sgpr32' 1612 isEntryFunction: true 1613body: | 1614 bb.0: 1615 liveins: $vgpr0 1616 1617 ; MUBUF-LABEL: name: v_add_u32_e32__fi_offset32__identity_vgpr__kernel 1618 ; MUBUF: liveins: $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3 1619 ; MUBUF-NEXT: {{ $}} 1620 ; MUBUF-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1621 ; MUBUF-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1622 ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e32 32, $vgpr0, implicit $exec 1623 ; MUBUF-NEXT: SI_RETURN implicit $vgpr0 1624 ; 1625 ; MUBUFW32-LABEL: name: v_add_u32_e32__fi_offset32__identity_vgpr__kernel 1626 ; MUBUFW32: liveins: $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3 1627 ; MUBUFW32-NEXT: {{ $}} 1628 ; MUBUFW32-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1629 ; MUBUFW32-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1630 ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 32, $vgpr0, implicit $exec 1631 ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0 1632 ; 1633 ; FLATSCRW64-LABEL: name: v_add_u32_e32__fi_offset32__identity_vgpr__kernel 1634 ; FLATSCRW64: liveins: $vgpr0 1635 ; FLATSCRW64-NEXT: {{ $}} 1636 ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e32 32, $vgpr0, implicit $exec 1637 ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0 1638 ; 1639 ; FLATSCRW32-LABEL: name: v_add_u32_e32__fi_offset32__identity_vgpr__kernel 1640 ; FLATSCRW32: liveins: $vgpr0 1641 ; FLATSCRW32-NEXT: {{ $}} 1642 ; FLATSCRW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 32, $vgpr0, implicit $exec 1643 ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0 1644 renamable $vgpr0 = V_ADD_U32_e32 %stack.1, $vgpr0, implicit $exec 1645 SI_RETURN implicit $vgpr0 1646 1647... 1648 1649--- 1650name: v_add_u32_e64__identity_vgpr__fi_offset32__kernel 1651tracksRegLiveness: true 1652stack: 1653 - { id: 0, size: 32, alignment: 16 } 1654 - { id: 1, size: 64, alignment: 4 } 1655machineFunctionInfo: 1656 scratchRSrcReg: '$sgpr0_sgpr1_sgpr2_sgpr3' 1657 frameOffsetReg: '$sgpr33' 1658 stackPtrOffsetReg: '$sgpr32' 1659 isEntryFunction: true 1660body: | 1661 bb.0: 1662 liveins: $vgpr0 1663 1664 ; MUBUF-LABEL: name: v_add_u32_e64__identity_vgpr__fi_offset32__kernel 1665 ; MUBUF: liveins: $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3 1666 ; MUBUF-NEXT: {{ $}} 1667 ; MUBUF-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1668 ; MUBUF-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1669 ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e64 $vgpr0, 32, 0, implicit $exec 1670 ; MUBUF-NEXT: SI_RETURN implicit $vgpr0 1671 ; 1672 ; MUBUFW32-LABEL: name: v_add_u32_e64__identity_vgpr__fi_offset32__kernel 1673 ; MUBUFW32: liveins: $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3 1674 ; MUBUFW32-NEXT: {{ $}} 1675 ; MUBUFW32-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1676 ; MUBUFW32-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3 1677 ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e64 $vgpr0, 32, 0, implicit $exec 1678 ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0 1679 ; 1680 ; FLATSCRW64-LABEL: name: v_add_u32_e64__identity_vgpr__fi_offset32__kernel 1681 ; FLATSCRW64: liveins: $vgpr0 1682 ; FLATSCRW64-NEXT: {{ $}} 1683 ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e64 $vgpr0, 32, 0, implicit $exec 1684 ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0 1685 ; 1686 ; FLATSCRW32-LABEL: name: v_add_u32_e64__identity_vgpr__fi_offset32__kernel 1687 ; FLATSCRW32: liveins: $vgpr0 1688 ; FLATSCRW32-NEXT: {{ $}} 1689 ; FLATSCRW32-NEXT: renamable $vgpr0 = V_ADD_U32_e64 $vgpr0, 32, 0, implicit $exec 1690 ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0 1691 renamable $vgpr0 = V_ADD_U32_e64 $vgpr0, %stack.1, 0, implicit $exec 1692 SI_RETURN implicit $vgpr0 1693 1694... 1695 1696--- 1697name: v_add_u32_e64_imm_fi_vop3_literal_error 1698tracksRegLiveness: true 1699frameInfo: 1700 localFrameSize: 12576 1701stack: 1702 - { id: 0, size: 4, alignment: 8192, local-offset: 0 } 1703 - { id: 1, size: 8480, alignment: 4096, local-offset: 4096 } 1704machineFunctionInfo: 1705 scratchRSrcReg: '$sgpr0_sgpr1_sgpr2_sgpr3' 1706 frameOffsetReg: '$sgpr33' 1707 stackPtrOffsetReg: '$sgpr32' 1708body: | 1709 bb.0: 1710 ; MUBUF-LABEL: name: v_add_u32_e64_imm_fi_vop3_literal_error 1711 ; MUBUF: liveins: $sgpr4, $sgpr5 1712 ; MUBUF-NEXT: {{ $}} 1713 ; MUBUF-NEXT: $sgpr4 = frame-setup COPY $sgpr33 1714 ; MUBUF-NEXT: $sgpr33 = frame-setup S_ADD_I32 $sgpr32, 524224, implicit-def $scc 1715 ; MUBUF-NEXT: $sgpr33 = frame-setup S_AND_B32 killed $sgpr33, 4294443008, implicit-def dead $scc 1716 ; MUBUF-NEXT: $sgpr5 = frame-setup COPY $sgpr34 1717 ; MUBUF-NEXT: $sgpr34 = frame-setup COPY $sgpr32 1718 ; MUBUF-NEXT: $sgpr32 = frame-setup S_ADD_I32 $sgpr32, 2097152, implicit-def dead $scc 1719 ; MUBUF-NEXT: $vgpr1 = V_LSHRREV_B32_e64 6, $sgpr33, implicit $exec 1720 ; MUBUF-NEXT: $vgpr1 = V_ADD_U32_e32 12288, killed $vgpr1, implicit $exec 1721 ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e64 64, killed $vgpr1, 0, implicit $exec 1722 ; MUBUF-NEXT: $sgpr32 = frame-destroy COPY $sgpr34 1723 ; MUBUF-NEXT: $sgpr34 = frame-destroy COPY $sgpr5 1724 ; MUBUF-NEXT: $sgpr33 = frame-destroy COPY $sgpr4 1725 ; MUBUF-NEXT: SI_RETURN implicit $vgpr0 1726 ; 1727 ; MUBUFW32-LABEL: name: v_add_u32_e64_imm_fi_vop3_literal_error 1728 ; MUBUFW32: liveins: $sgpr4, $sgpr5 1729 ; MUBUFW32-NEXT: {{ $}} 1730 ; MUBUFW32-NEXT: $sgpr4 = frame-setup COPY $sgpr33 1731 ; MUBUFW32-NEXT: $sgpr33 = frame-setup S_ADD_I32 $sgpr32, 262112, implicit-def $scc 1732 ; MUBUFW32-NEXT: $sgpr33 = frame-setup S_AND_B32 killed $sgpr33, 4294705152, implicit-def dead $scc 1733 ; MUBUFW32-NEXT: $sgpr5 = frame-setup COPY $sgpr34 1734 ; MUBUFW32-NEXT: $sgpr34 = frame-setup COPY $sgpr32 1735 ; MUBUFW32-NEXT: $sgpr32 = frame-setup S_ADD_I32 $sgpr32, 1048576, implicit-def dead $scc 1736 ; MUBUFW32-NEXT: renamable $vgpr1 = V_LSHRREV_B32_e64 5, $sgpr33, implicit $exec 1737 ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e64 12352, killed $vgpr1, 0, implicit $exec 1738 ; MUBUFW32-NEXT: $sgpr32 = frame-destroy COPY $sgpr34 1739 ; MUBUFW32-NEXT: $sgpr34 = frame-destroy COPY $sgpr5 1740 ; MUBUFW32-NEXT: $sgpr33 = frame-destroy COPY $sgpr4 1741 ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0 1742 ; 1743 ; FLATSCRW64-LABEL: name: v_add_u32_e64_imm_fi_vop3_literal_error 1744 ; FLATSCRW64: liveins: $sgpr4, $sgpr5 1745 ; FLATSCRW64-NEXT: {{ $}} 1746 ; FLATSCRW64-NEXT: $sgpr4 = frame-setup COPY $sgpr33 1747 ; FLATSCRW64-NEXT: $sgpr33 = frame-setup S_ADD_I32 $sgpr32, 8191, implicit-def $scc 1748 ; FLATSCRW64-NEXT: $sgpr33 = frame-setup S_AND_B32 killed $sgpr33, 4294959104, implicit-def dead $scc 1749 ; FLATSCRW64-NEXT: $sgpr5 = frame-setup COPY $sgpr34 1750 ; FLATSCRW64-NEXT: $sgpr34 = frame-setup COPY $sgpr32 1751 ; FLATSCRW64-NEXT: $sgpr32 = frame-setup S_ADD_I32 $sgpr32, 32768, implicit-def dead $scc 1752 ; FLATSCRW64-NEXT: $sgpr6 = S_ADD_I32 $sgpr33, 12288, implicit-def $scc 1753 ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e64 64, killed $sgpr6, 0, implicit $exec 1754 ; FLATSCRW64-NEXT: $sgpr32 = frame-destroy COPY $sgpr34 1755 ; FLATSCRW64-NEXT: $sgpr34 = frame-destroy COPY $sgpr5 1756 ; FLATSCRW64-NEXT: $sgpr33 = frame-destroy COPY $sgpr4 1757 ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0 1758 renamable $vgpr0 = V_ADD_U32_e64 64, %stack.1, 0, implicit $exec 1759 SI_RETURN implicit $vgpr0 1760 1761... 1762