[llvm] RenameIndependentSubregs: Add missing sub-range for new IMPLICIT_DEFs (PR #89050)
Petar Avramovic via llvm-commits
llvm-commits at lists.llvm.org
Wed Apr 17 08:53:34 PDT 2024
https://github.com/petar-avramovic updated https://github.com/llvm/llvm-project/pull/89050
>From 542205a46ec4429fc1ff7bbc486812656ee304d3 Mon Sep 17 00:00:00 2001
From: Petar Avramovic <Petar.Avramovic at amd.com>
Date: Wed, 17 Apr 2024 17:45:35 +0200
Subject: [PATCH 1/2] precommit
---
...rval-bug-in-rename-independent-subregs.mir | 5426 +++++++++++++++++
1 file changed, 5426 insertions(+)
create mode 100644 llvm/test/CodeGen/AMDGPU/live-interval-bug-in-rename-independent-subregs.mir
diff --git a/llvm/test/CodeGen/AMDGPU/live-interval-bug-in-rename-independent-subregs.mir b/llvm/test/CodeGen/AMDGPU/live-interval-bug-in-rename-independent-subregs.mir
new file mode 100644
index 00000000000000..f9e91810e8affe
--- /dev/null
+++ b/llvm/test/CodeGen/AMDGPU/live-interval-bug-in-rename-independent-subregs.mir
@@ -0,0 +1,5426 @@
+# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 4
+# RUN: llc -mtriple=amdgcn--amdpal -mcpu=gfx1010 -start-before=rename-independent-subregs -stop-before=amdgpu-mark-last-scratch-load %s -o - | FileCheck -check-prefix=GCN %s
+
+--- |
+ source_filename = "llpc_compute_8"
+ target datalayout = "e-p:64:64-p1:64:64-p2:32:32-p3:32:32-p4:64:64-p5:32:32-p6:32:32-p7:160:256:256:32-p8:128:128-p9:192:256:256:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-S32-A5-G1-ni:7:8:9"
+ target triple = "amdgcn--amdpal"
+
+ define dllexport amdgpu_cs void @_amdgpu_cs_main(i32 inreg noundef %globalTable, ptr addrspace(4) inreg noundef %numWorkgroupsPtr, i32 inreg noundef %userdata3, <3 x i32> inreg noundef %WorkgroupId, i32 inreg noundef %MultiDispatchInfo, <3 x i32> noundef %LocalInvocationId) #0 !spirv.ExecutionModel !10 !lgc.shaderstage !11 {
+ .entry:
+ %0 = call i64 @llvm.amdgcn.s.getpc()
+ %1 = and i64 %0, -4294967296
+ %2 = zext i32 %userdata3 to i64
+ %3 = or disjoint i64 %1, %2
+ %4 = inttoptr i64 %3 to ptr addrspace(4)
+ %5 = getelementptr i8, ptr addrspace(4) %4, i64 16, !amdgpu.uniform !12
+ %6 = load <4 x i32>, ptr addrspace(4) %5, align 16
+ %7 = call i64 @llvm.amdgcn.ballot.i64(i1 true)
+ br label %8, !amdgpu.uniform !12
+
+ 8: ; preds = %Flow89, %.entry
+ %lsr.iv11 = phi i64 [ 3, %.entry ], [ %16, %Flow89 ]
+ %9 = add i64 %lsr.iv11, -3
+ %10 = shl nuw i64 1, %9
+ %11 = and i64 %10, %7
+ %.fr = freeze i64 %11
+ %.not = icmp eq i64 %.fr, 0
+ br i1 %.not, label %12, label %Flow89, !amdgpu.uniform !12
+
+ 12: ; preds = %8
+ %13 = add i64 %lsr.iv11, -2
+ %14 = shl nuw i64 1, %13
+ %15 = and i64 %14, %7
+ %.fr.1 = freeze i64 %15
+ %.not.1 = icmp eq i64 %.fr.1, 0
+ br i1 %.not.1, label %33, label %Flow90, !amdgpu.uniform !12
+
+ Flow89: ; preds = %Flow90, %8
+ %16 = phi i64 [ %37, %Flow90 ], [ undef, %8 ]
+ %17 = phi i1 [ %38, %Flow90 ], [ false, %8 ]
+ %18 = phi i1 [ %39, %Flow90 ], [ false, %8 ]
+ %19 = phi i1 [ %40, %Flow90 ], [ false, %8 ]
+ %20 = phi i1 [ %41, %Flow90 ], [ false, %8 ]
+ %21 = phi i1 [ %42, %Flow90 ], [ false, %8 ]
+ %22 = phi i1 [ %43, %Flow90 ], [ false, %8 ]
+ %23 = phi i1 [ %44, %Flow90 ], [ false, %8 ]
+ %24 = phi i1 [ false, %Flow90 ], [ true, %8 ]
+ %25 = phi i32 [ %45, %Flow90 ], [ undef, %8 ]
+ %26 = phi i64 [ %13, %Flow90 ], [ poison, %8 ]
+ %27 = phi i64 [ %46, %Flow90 ], [ poison, %8 ]
+ %28 = phi i64 [ %47, %Flow90 ], [ poison, %8 ]
+ %29 = phi i64 [ %48, %Flow90 ], [ poison, %8 ]
+ %30 = phi i64 [ %49, %Flow90 ], [ poison, %8 ]
+ %31 = phi i64 [ %50, %Flow90 ], [ poison, %8 ]
+ %32 = phi i1 [ %51, %Flow90 ], [ true, %8 ]
+ br i1 %32, label %loop.exit.guard, label %8, !amdgpu.uniform !12
+
+ 33: ; preds = %12
+ %34 = add i64 %lsr.iv11, -1
+ %35 = shl nuw i64 1, %34
+ %36 = and i64 %35, %7
+ %.fr.2 = freeze i64 %36
+ %.not.2 = icmp eq i64 %.fr.2, 0
+ br i1 %.not.2, label %52, label %Flow91, !amdgpu.uniform !12
+
+ Flow90: ; preds = %Flow91, %12
+ %37 = phi i64 [ %55, %Flow91 ], [ undef, %12 ]
+ %38 = phi i1 [ %56, %Flow91 ], [ false, %12 ]
+ %39 = phi i1 [ %57, %Flow91 ], [ false, %12 ]
+ %40 = phi i1 [ %58, %Flow91 ], [ false, %12 ]
+ %41 = phi i1 [ %59, %Flow91 ], [ false, %12 ]
+ %42 = phi i1 [ %60, %Flow91 ], [ false, %12 ]
+ %43 = phi i1 [ %61, %Flow91 ], [ false, %12 ]
+ %44 = phi i1 [ false, %Flow91 ], [ true, %12 ]
+ %45 = phi i32 [ %62, %Flow91 ], [ undef, %12 ]
+ %46 = phi i64 [ %34, %Flow91 ], [ poison, %12 ]
+ %47 = phi i64 [ %63, %Flow91 ], [ poison, %12 ]
+ %48 = phi i64 [ %64, %Flow91 ], [ poison, %12 ]
+ %49 = phi i64 [ %65, %Flow91 ], [ poison, %12 ]
+ %50 = phi i64 [ %66, %Flow91 ], [ poison, %12 ]
+ %51 = phi i1 [ %67, %Flow91 ], [ true, %12 ]
+ br label %Flow89, !amdgpu.uniform !12
+
+ 52: ; preds = %33
+ %53 = shl nuw i64 1, %lsr.iv11
+ %54 = and i64 %53, %7
+ %.fr.3 = freeze i64 %54
+ %.not.3 = icmp eq i64 %.fr.3, 0
+ br i1 %.not.3, label %68, label %Flow92, !amdgpu.uniform !12
+
+ Flow91: ; preds = %Flow92, %33
+ %55 = phi i64 [ %72, %Flow92 ], [ undef, %33 ]
+ %56 = phi i1 [ %73, %Flow92 ], [ false, %33 ]
+ %57 = phi i1 [ %74, %Flow92 ], [ false, %33 ]
+ %58 = phi i1 [ %75, %Flow92 ], [ false, %33 ]
+ %59 = phi i1 [ %76, %Flow92 ], [ false, %33 ]
+ %60 = phi i1 [ %77, %Flow92 ], [ false, %33 ]
+ %61 = phi i1 [ false, %Flow92 ], [ true, %33 ]
+ %62 = phi i32 [ %78, %Flow92 ], [ undef, %33 ]
+ %63 = phi i64 [ %79, %Flow92 ], [ poison, %33 ]
+ %64 = phi i64 [ %80, %Flow92 ], [ poison, %33 ]
+ %65 = phi i64 [ %81, %Flow92 ], [ poison, %33 ]
+ %66 = phi i64 [ %82, %Flow92 ], [ poison, %33 ]
+ %67 = phi i1 [ %83, %Flow92 ], [ true, %33 ]
+ br label %Flow90, !amdgpu.uniform !12
+
+ 68: ; preds = %52
+ %69 = add i64 %lsr.iv11, 1
+ %70 = shl nuw i64 1, %69
+ %71 = and i64 %70, %7
+ %.fr.4 = freeze i64 %71
+ %.not.4 = icmp eq i64 %.fr.4, 0
+ br i1 %.not.4, label %84, label %Flow93, !amdgpu.uniform !12
+
+ Flow92: ; preds = %Flow93, %52
+ %72 = phi i64 [ %88, %Flow93 ], [ undef, %52 ]
+ %73 = phi i1 [ %89, %Flow93 ], [ false, %52 ]
+ %74 = phi i1 [ %90, %Flow93 ], [ false, %52 ]
+ %75 = phi i1 [ %91, %Flow93 ], [ false, %52 ]
+ %76 = phi i1 [ %92, %Flow93 ], [ false, %52 ]
+ %77 = phi i1 [ false, %Flow93 ], [ true, %52 ]
+ %78 = phi i32 [ %93, %Flow93 ], [ undef, %52 ]
+ %79 = phi i64 [ %69, %Flow93 ], [ poison, %52 ]
+ %80 = phi i64 [ %94, %Flow93 ], [ poison, %52 ]
+ %81 = phi i64 [ %95, %Flow93 ], [ poison, %52 ]
+ %82 = phi i64 [ %96, %Flow93 ], [ poison, %52 ]
+ %83 = phi i1 [ %97, %Flow93 ], [ true, %52 ]
+ br label %Flow91, !amdgpu.uniform !12
+
+ 84: ; preds = %68
+ %85 = add i64 %lsr.iv11, 2
+ %86 = shl nuw i64 1, %85
+ %87 = and i64 %86, %7
+ %.fr.5 = freeze i64 %87
+ %.not.5 = icmp eq i64 %.fr.5, 0
+ br i1 %.not.5, label %98, label %Flow94, !amdgpu.uniform !12
+
+ Flow93: ; preds = %Flow94, %68
+ %88 = phi i64 [ %102, %Flow94 ], [ undef, %68 ]
+ %89 = phi i1 [ %103, %Flow94 ], [ false, %68 ]
+ %90 = phi i1 [ %104, %Flow94 ], [ false, %68 ]
+ %91 = phi i1 [ %105, %Flow94 ], [ false, %68 ]
+ %92 = phi i1 [ false, %Flow94 ], [ true, %68 ]
+ %93 = phi i32 [ %106, %Flow94 ], [ undef, %68 ]
+ %94 = phi i64 [ %85, %Flow94 ], [ poison, %68 ]
+ %95 = phi i64 [ %107, %Flow94 ], [ poison, %68 ]
+ %96 = phi i64 [ %108, %Flow94 ], [ poison, %68 ]
+ %97 = phi i1 [ %109, %Flow94 ], [ true, %68 ]
+ br label %Flow92, !amdgpu.uniform !12
+
+ 98: ; preds = %84
+ %99 = add i64 %lsr.iv11, 3
+ %100 = shl nuw i64 1, %99
+ %101 = and i64 %100, %7
+ %.fr.6 = freeze i64 %101
+ %.not.6 = icmp eq i64 %.fr.6, 0
+ br i1 %.not.6, label %110, label %Flow95, !amdgpu.uniform !12
+
+ Flow94: ; preds = %Flow95, %84
+ %102 = phi i64 [ %114, %Flow95 ], [ undef, %84 ]
+ %103 = phi i1 [ %115, %Flow95 ], [ false, %84 ]
+ %104 = phi i1 [ %116, %Flow95 ], [ false, %84 ]
+ %105 = phi i1 [ false, %Flow95 ], [ true, %84 ]
+ %106 = phi i32 [ %117, %Flow95 ], [ undef, %84 ]
+ %107 = phi i64 [ %99, %Flow95 ], [ poison, %84 ]
+ %108 = phi i64 [ %118, %Flow95 ], [ poison, %84 ]
+ %109 = phi i1 [ %119, %Flow95 ], [ true, %84 ]
+ br label %Flow93, !amdgpu.uniform !12
+
+ 110: ; preds = %98
+ %111 = add i64 %lsr.iv11, 4
+ %112 = shl nuw i64 1, %111
+ %113 = and i64 %112, %7
+ %.fr.7 = freeze i64 %113
+ %.not.7 = icmp eq i64 %.fr.7, 0
+ br i1 %.not.7, label %120, label %Flow96, !amdgpu.uniform !12
+
+ Flow95: ; preds = %Flow96, %98
+ %114 = phi i64 [ %373, %Flow96 ], [ undef, %98 ]
+ %115 = phi i1 [ %374, %Flow96 ], [ false, %98 ]
+ %116 = phi i1 [ false, %Flow96 ], [ true, %98 ]
+ %117 = phi i32 [ %375, %Flow96 ], [ undef, %98 ]
+ %118 = phi i64 [ %111, %Flow96 ], [ poison, %98 ]
+ %119 = phi i1 [ %376, %Flow96 ], [ true, %98 ]
+ br label %Flow94, !amdgpu.uniform !12
+
+ 120: ; preds = %110
+ %lsr.iv.next12 = add nuw nsw i64 %lsr.iv11, 8
+ %tmp14 = trunc i64 %lsr.iv.next12 to i32
+ %exitcond.not.7 = icmp eq i32 %tmp14, 67
+ br label %Flow96, !amdgpu.uniform !12
+
+ Flow86: ; preds = %Flow85, %loop.exit.guard24
+ %121 = phi i32 [ %140, %Flow85 ], [ undef, %loop.exit.guard24 ]
+ %122 = phi i1 [ false, %Flow85 ], [ true, %loop.exit.guard24 ]
+ br i1 %122, label %.split10splitsplitsplitsplitsplitsplit_crit_edge, label %Flow87, !amdgpu.uniform !12
+
+ .split10splitsplitsplitsplitsplitsplit_crit_edge: ; preds = %Flow86
+ %tmp21 = trunc i64 %.lcssa118 to i32
+ br label %Flow87, !amdgpu.uniform !12
+
+ Flow84: ; preds = %Flow83, %loop.exit.guard25
+ %123 = phi i32 [ %139, %Flow83 ], [ undef, %loop.exit.guard25 ]
+ %124 = phi i1 [ false, %Flow83 ], [ true, %loop.exit.guard25 ]
+ br i1 %124, label %.split10splitsplitsplitsplitsplit_crit_edge, label %Flow85, !amdgpu.uniform !12
+
+ .split10splitsplitsplitsplitsplit_crit_edge: ; preds = %Flow84
+ %tmp20 = trunc i64 %.lcssa117 to i32
+ br label %Flow85, !amdgpu.uniform !12
+
+ Flow82: ; preds = %Flow81, %loop.exit.guard26
+ %125 = phi i32 [ %138, %Flow81 ], [ undef, %loop.exit.guard26 ]
+ %126 = phi i1 [ false, %Flow81 ], [ true, %loop.exit.guard26 ]
+ br i1 %126, label %.split10splitsplitsplitsplit_crit_edge, label %Flow83, !amdgpu.uniform !12
+
+ .split10splitsplitsplitsplit_crit_edge: ; preds = %Flow82
+ %tmp19 = trunc i64 %lsr.iv11.lcssa to i32
+ br label %Flow83, !amdgpu.uniform !12
+
+ Flow80: ; preds = %Flow79, %loop.exit.guard27
+ %127 = phi i32 [ %137, %Flow79 ], [ undef, %loop.exit.guard27 ]
+ %128 = phi i1 [ false, %Flow79 ], [ true, %loop.exit.guard27 ]
+ br i1 %128, label %.split10splitsplitsplit_crit_edge, label %Flow81, !amdgpu.uniform !12
+
+ .split10splitsplitsplit_crit_edge: ; preds = %Flow80
+ %tmp18 = trunc i64 %.lcssa116 to i32
+ br label %Flow81, !amdgpu.uniform !12
+
+ Flow78: ; preds = %Flow77, %loop.exit.guard28
+ %129 = phi i32 [ %136, %Flow77 ], [ undef, %loop.exit.guard28 ]
+ %130 = phi i1 [ false, %Flow77 ], [ true, %loop.exit.guard28 ]
+ br i1 %130, label %.split10splitsplit_crit_edge, label %Flow79, !amdgpu.uniform !12
+
+ .split10splitsplit_crit_edge: ; preds = %Flow78
+ %tmp17 = trunc i64 %.lcssa115 to i32
+ br label %Flow79, !amdgpu.uniform !12
+
+ Flow76: ; preds = %Flow75, %loop.exit.guard29
+ %131 = phi i32 [ %135, %Flow75 ], [ undef, %loop.exit.guard29 ]
+ %132 = phi i1 [ false, %Flow75 ], [ true, %loop.exit.guard29 ]
+ br i1 %132, label %.split10split_crit_edge, label %Flow77, !amdgpu.uniform !12
+
+ .split10split_crit_edge: ; preds = %Flow76
+ %tmp16 = trunc i64 %.lcssa114 to i32
+ br label %Flow77, !amdgpu.uniform !12
+
+ .split10_crit_edge: ; preds = %loop.exit.guard30
+ %tmp15 = trunc i64 %.lcssa113 to i32
+ br label %Flow75, !amdgpu.uniform !12
+
+ Flow88: ; preds = %Flow87, %loop.exit.guard
+ %133 = phi i32 [ %141, %Flow87 ], [ undef, %loop.exit.guard ]
+ %134 = phi i1 [ false, %Flow87 ], [ true, %loop.exit.guard ]
+ br i1 %134, label %._crit_edge9, label %142, !amdgpu.uniform !12
+
+ ._crit_edge9: ; preds = %Flow88
+ %tmp13 = trunc i64 %.lcssa112 to i32
+ br label %142, !amdgpu.uniform !12
+
+ Flow75: ; preds = %.split10_crit_edge, %loop.exit.guard30
+ %135 = phi i32 [ %tmp15, %.split10_crit_edge ], [ %.lcssa119, %loop.exit.guard30 ]
+ br label %Flow76, !amdgpu.uniform !12
+
+ Flow77: ; preds = %.split10split_crit_edge, %Flow76
+ %136 = phi i32 [ %tmp16, %.split10split_crit_edge ], [ %131, %Flow76 ]
+ br label %Flow78, !amdgpu.uniform !12
+
+ Flow79: ; preds = %.split10splitsplit_crit_edge, %Flow78
+ %137 = phi i32 [ %tmp17, %.split10splitsplit_crit_edge ], [ %129, %Flow78 ]
+ br label %Flow80, !amdgpu.uniform !12
+
+ Flow81: ; preds = %.split10splitsplitsplit_crit_edge, %Flow80
+ %138 = phi i32 [ %tmp18, %.split10splitsplitsplit_crit_edge ], [ %127, %Flow80 ]
+ br label %Flow82, !amdgpu.uniform !12
+
+ Flow83: ; preds = %.split10splitsplitsplitsplit_crit_edge, %Flow82
+ %139 = phi i32 [ %tmp19, %.split10splitsplitsplitsplit_crit_edge ], [ %125, %Flow82 ]
+ br label %Flow84, !amdgpu.uniform !12
+
+ Flow85: ; preds = %.split10splitsplitsplitsplitsplit_crit_edge, %Flow84
+ %140 = phi i32 [ %tmp20, %.split10splitsplitsplitsplitsplit_crit_edge ], [ %123, %Flow84 ]
+ br label %Flow86, !amdgpu.uniform !12
+
+ Flow87: ; preds = %.split10splitsplitsplitsplitsplitsplit_crit_edge, %Flow86
+ %141 = phi i32 [ %tmp21, %.split10splitsplitsplitsplitsplitsplit_crit_edge ], [ %121, %Flow86 ]
+ br label %Flow88, !amdgpu.uniform !12
+
+ 142: ; preds = %._crit_edge9, %Flow88
+ %.032 = phi i32 [ %133, %Flow88 ], [ %tmp13, %._crit_edge9 ]
+ %143 = call i32 @llvm.amdgcn.mbcnt.lo(i32 -1, i32 0)
+ %144 = call i32 @llvm.amdgcn.mbcnt.hi(i32 -1, i32 %143)
+ %.idx = shl i32 %144, 5
+ %145 = call <4 x i32> @llvm.amdgcn.raw.buffer.load.v4i32(<4 x i32> %6, i32 %.idx, i32 0, i32 0)
+ %146 = or disjoint i32 %.idx, 16
+ %147 = call <4 x i32> @llvm.amdgcn.raw.buffer.load.v4i32(<4 x i32> %6, i32 %146, i32 0, i32 0)
+ %148 = shufflevector <4 x i32> %145, <4 x i32> %147, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %149 = bitcast <8 x i32> %148 to <4 x i64>
+ %.i3 = extractelement <4 x i64> %149, i64 3
+ %.i2 = extractelement <4 x i64> %149, i64 2
+ %.i1 = extractelement <4 x i64> %149, i64 1
+ %.i0 = extractelement <4 x i64> %149, i64 0
+ %150 = trunc i64 %.i0 to i32
+ %151 = call i32 @llvm.amdgcn.readfirstlane(i32 %150)
+ %extelt.offset = lshr i64 %.i0, 32
+ %152 = trunc i64 %extelt.offset to i32
+ %153 = call i32 @llvm.amdgcn.readfirstlane(i32 %152)
+ %.upto033 = insertelement <2 x i32> poison, i32 %151, i64 0
+ %154 = insertelement <2 x i32> %.upto033, i32 %153, i64 1
+ %155 = bitcast <2 x i32> %154 to i64
+ %156 = trunc i64 %.i1 to i32
+ %157 = call i32 @llvm.amdgcn.readfirstlane(i32 %156)
+ %extelt.offset1 = lshr i64 %.i1, 32
+ %158 = trunc i64 %extelt.offset1 to i32
+ %159 = call i32 @llvm.amdgcn.readfirstlane(i32 %158)
+ %.upto035 = insertelement <2 x i32> poison, i32 %157, i64 0
+ %160 = insertelement <2 x i32> %.upto035, i32 %159, i64 1
+ %161 = bitcast <2 x i32> %160 to i64
+ %162 = trunc i64 %.i2 to i32
+ %163 = call i32 @llvm.amdgcn.readfirstlane(i32 %162)
+ %extelt.offset2 = lshr i64 %.i2, 32
+ %164 = trunc i64 %extelt.offset2 to i32
+ %165 = call i32 @llvm.amdgcn.readfirstlane(i32 %164)
+ %.upto037 = insertelement <2 x i32> poison, i32 %163, i64 0
+ %166 = insertelement <2 x i32> %.upto037, i32 %165, i64 1
+ %167 = bitcast <2 x i32> %166 to i64
+ %168 = trunc i64 %.i3 to i32
+ %169 = call i32 @llvm.amdgcn.readfirstlane(i32 %168)
+ %extelt.offset3 = lshr i64 %.i3, 32
+ %170 = trunc i64 %extelt.offset3 to i32
+ %171 = call i32 @llvm.amdgcn.readfirstlane(i32 %170)
+ %.upto039 = insertelement <2 x i32> poison, i32 %169, i64 0
+ %172 = insertelement <2 x i32> %.upto039, i32 %171, i64 1
+ %173 = bitcast <2 x i32> %172 to i64
+ %.idx56 = shl i32 %.032, 5
+ %174 = call <4 x i32> @llvm.amdgcn.raw.buffer.load.v4i32(<4 x i32> %6, i32 %.idx56, i32 0, i32 0)
+ %175 = or disjoint i32 %.idx56, 16
+ %176 = call <4 x i32> @llvm.amdgcn.raw.buffer.load.v4i32(<4 x i32> %6, i32 %175, i32 0, i32 0)
+ %177 = shufflevector <4 x i32> %174, <4 x i32> %176, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %178 = bitcast <8 x i32> %177 to <4 x i64>
+ %.i316 = extractelement <4 x i64> %178, i64 3
+ %.i215 = extractelement <4 x i64> %178, i64 2
+ %.i114 = extractelement <4 x i64> %178, i64 1
+ %.i013 = extractelement <4 x i64> %178, i64 0
+ %179 = icmp eq i64 %.i013, %155
+ %180 = icmp eq i64 %.i114, %161
+ %181 = icmp eq i64 %.i215, %167
+ %182 = icmp eq i64 %.i316, %173
+ %183 = and i1 %179, %180
+ %184 = and i1 %181, %183
+ %185 = and i1 %182, %184
+ %186 = zext i1 %185 to i32
+ %187 = icmp ne i32 %.032, %144
+ %cond.freeze2 = freeze i1 %187
+ %cond.freeze2.inv = xor i1 %cond.freeze2, true
+ %188 = call { i1, i64 } @llvm.amdgcn.if.i64(i1 %cond.freeze2.inv)
+ %189 = extractvalue { i1, i64 } %188, 0
+ %190 = extractvalue { i1, i64 } %188, 1
+ br i1 %189, label %363, label %Flow73
+
+ Flow73: ; preds = %363, %142
+ %191 = phi i32 [ %364, %363 ], [ undef, %142 ]
+ %192 = call { i1, i64 } @llvm.amdgcn.else.i64.i64(i64 %190)
+ %193 = extractvalue { i1, i64 } %192, 0
+ %194 = extractvalue { i1, i64 } %192, 1
+ br i1 %193, label %195, label %Flow74
+
+ 195: ; preds = %Flow73
+ %196 = call i64 @llvm.amdgcn.ballot.i64(i1 true)
+ br label %198, !amdgpu.uniform !12
+
+ Flow74: ; preds = %332, %Flow73
+ %197 = phi i32 [ %362, %332 ], [ %191, %Flow73 ]
+ call void @llvm.amdgcn.end.cf.i64(i64 %194)
+ br label %365, !amdgpu.uniform !12
+
+ 198: ; preds = %195, %Flow65
+ %lsr.iv = phi i64 [ %206, %Flow65 ], [ 3, %195 ]
+ %199 = add i64 %lsr.iv, -3
+ %200 = shl nuw i64 1, %199
+ %201 = and i64 %200, %196
+ %.fr4 = freeze i64 %201
+ %.not5 = icmp eq i64 %.fr4, 0
+ br i1 %.not5, label %202, label %Flow65, !amdgpu.uniform !12
+
+ 202: ; preds = %198
+ %203 = add i64 %lsr.iv, -2
+ %204 = shl nuw i64 1, %203
+ %205 = and i64 %204, %196
+ %.fr4.1 = freeze i64 %205
+ %.not5.1 = icmp eq i64 %.fr4.1, 0
+ br i1 %.not5.1, label %223, label %Flow66, !amdgpu.uniform !12
+
+ Flow65: ; preds = %Flow66, %198
+ %206 = phi i64 [ %227, %Flow66 ], [ undef, %198 ]
+ %207 = phi i1 [ %228, %Flow66 ], [ false, %198 ]
+ %208 = phi i1 [ %229, %Flow66 ], [ false, %198 ]
+ %209 = phi i1 [ %230, %Flow66 ], [ false, %198 ]
+ %210 = phi i1 [ %231, %Flow66 ], [ false, %198 ]
+ %211 = phi i1 [ %232, %Flow66 ], [ false, %198 ]
+ %212 = phi i1 [ %233, %Flow66 ], [ false, %198 ]
+ %213 = phi i1 [ %234, %Flow66 ], [ false, %198 ]
+ %214 = phi i1 [ false, %Flow66 ], [ true, %198 ]
+ %215 = phi i32 [ %235, %Flow66 ], [ undef, %198 ]
+ %216 = phi i64 [ %203, %Flow66 ], [ poison, %198 ]
+ %217 = phi i64 [ %236, %Flow66 ], [ poison, %198 ]
+ %218 = phi i64 [ %237, %Flow66 ], [ poison, %198 ]
+ %219 = phi i64 [ %238, %Flow66 ], [ poison, %198 ]
+ %220 = phi i64 [ %239, %Flow66 ], [ poison, %198 ]
+ %221 = phi i64 [ %240, %Flow66 ], [ poison, %198 ]
+ %222 = phi i1 [ %241, %Flow66 ], [ true, %198 ]
+ br i1 %222, label %loop.exit.guard37, label %198, !amdgpu.uniform !12
+
+ 223: ; preds = %202
+ %224 = add i64 %lsr.iv, -1
+ %225 = shl nuw i64 1, %224
+ %226 = and i64 %225, %196
+ %.fr4.2 = freeze i64 %226
+ %.not5.2 = icmp eq i64 %.fr4.2, 0
+ br i1 %.not5.2, label %242, label %Flow67, !amdgpu.uniform !12
+
+ Flow66: ; preds = %Flow67, %202
+ %227 = phi i64 [ %245, %Flow67 ], [ undef, %202 ]
+ %228 = phi i1 [ %246, %Flow67 ], [ false, %202 ]
+ %229 = phi i1 [ %247, %Flow67 ], [ false, %202 ]
+ %230 = phi i1 [ %248, %Flow67 ], [ false, %202 ]
+ %231 = phi i1 [ %249, %Flow67 ], [ false, %202 ]
+ %232 = phi i1 [ %250, %Flow67 ], [ false, %202 ]
+ %233 = phi i1 [ %251, %Flow67 ], [ false, %202 ]
+ %234 = phi i1 [ false, %Flow67 ], [ true, %202 ]
+ %235 = phi i32 [ %252, %Flow67 ], [ undef, %202 ]
+ %236 = phi i64 [ %224, %Flow67 ], [ poison, %202 ]
+ %237 = phi i64 [ %253, %Flow67 ], [ poison, %202 ]
+ %238 = phi i64 [ %254, %Flow67 ], [ poison, %202 ]
+ %239 = phi i64 [ %255, %Flow67 ], [ poison, %202 ]
+ %240 = phi i64 [ %256, %Flow67 ], [ poison, %202 ]
+ %241 = phi i1 [ %257, %Flow67 ], [ true, %202 ]
+ br label %Flow65, !amdgpu.uniform !12
+
+ 242: ; preds = %223
+ %243 = shl nuw i64 1, %lsr.iv
+ %244 = and i64 %243, %196
+ %.fr4.3 = freeze i64 %244
+ %.not5.3 = icmp eq i64 %.fr4.3, 0
+ br i1 %.not5.3, label %258, label %Flow68, !amdgpu.uniform !12
+
+ Flow67: ; preds = %Flow68, %223
+ %245 = phi i64 [ %262, %Flow68 ], [ undef, %223 ]
+ %246 = phi i1 [ %263, %Flow68 ], [ false, %223 ]
+ %247 = phi i1 [ %264, %Flow68 ], [ false, %223 ]
+ %248 = phi i1 [ %265, %Flow68 ], [ false, %223 ]
+ %249 = phi i1 [ %266, %Flow68 ], [ false, %223 ]
+ %250 = phi i1 [ %267, %Flow68 ], [ false, %223 ]
+ %251 = phi i1 [ false, %Flow68 ], [ true, %223 ]
+ %252 = phi i32 [ %268, %Flow68 ], [ undef, %223 ]
+ %253 = phi i64 [ %269, %Flow68 ], [ poison, %223 ]
+ %254 = phi i64 [ %270, %Flow68 ], [ poison, %223 ]
+ %255 = phi i64 [ %271, %Flow68 ], [ poison, %223 ]
+ %256 = phi i64 [ %272, %Flow68 ], [ poison, %223 ]
+ %257 = phi i1 [ %273, %Flow68 ], [ true, %223 ]
+ br label %Flow66, !amdgpu.uniform !12
+
+ 258: ; preds = %242
+ %259 = add i64 %lsr.iv, 1
+ %260 = shl nuw i64 1, %259
+ %261 = and i64 %260, %196
+ %.fr4.4 = freeze i64 %261
+ %.not5.4 = icmp eq i64 %.fr4.4, 0
+ br i1 %.not5.4, label %274, label %Flow69, !amdgpu.uniform !12
+
+ Flow68: ; preds = %Flow69, %242
+ %262 = phi i64 [ %278, %Flow69 ], [ undef, %242 ]
+ %263 = phi i1 [ %279, %Flow69 ], [ false, %242 ]
+ %264 = phi i1 [ %280, %Flow69 ], [ false, %242 ]
+ %265 = phi i1 [ %281, %Flow69 ], [ false, %242 ]
+ %266 = phi i1 [ %282, %Flow69 ], [ false, %242 ]
+ %267 = phi i1 [ false, %Flow69 ], [ true, %242 ]
+ %268 = phi i32 [ %283, %Flow69 ], [ undef, %242 ]
+ %269 = phi i64 [ %259, %Flow69 ], [ poison, %242 ]
+ %270 = phi i64 [ %284, %Flow69 ], [ poison, %242 ]
+ %271 = phi i64 [ %285, %Flow69 ], [ poison, %242 ]
+ %272 = phi i64 [ %286, %Flow69 ], [ poison, %242 ]
+ %273 = phi i1 [ %287, %Flow69 ], [ true, %242 ]
+ br label %Flow67, !amdgpu.uniform !12
+
+ 274: ; preds = %258
+ %275 = add i64 %lsr.iv, 2
+ %276 = shl nuw i64 1, %275
+ %277 = and i64 %276, %196
+ %.fr4.5 = freeze i64 %277
+ %.not5.5 = icmp eq i64 %.fr4.5, 0
+ br i1 %.not5.5, label %288, label %Flow70, !amdgpu.uniform !12
+
+ Flow69: ; preds = %Flow70, %258
+ %278 = phi i64 [ %292, %Flow70 ], [ undef, %258 ]
+ %279 = phi i1 [ %293, %Flow70 ], [ false, %258 ]
+ %280 = phi i1 [ %294, %Flow70 ], [ false, %258 ]
+ %281 = phi i1 [ %295, %Flow70 ], [ false, %258 ]
+ %282 = phi i1 [ false, %Flow70 ], [ true, %258 ]
+ %283 = phi i32 [ %296, %Flow70 ], [ undef, %258 ]
+ %284 = phi i64 [ %275, %Flow70 ], [ poison, %258 ]
+ %285 = phi i64 [ %297, %Flow70 ], [ poison, %258 ]
+ %286 = phi i64 [ %298, %Flow70 ], [ poison, %258 ]
+ %287 = phi i1 [ %299, %Flow70 ], [ true, %258 ]
+ br label %Flow68, !amdgpu.uniform !12
+
+ 288: ; preds = %274
+ %289 = add i64 %lsr.iv, 3
+ %290 = shl nuw i64 1, %289
+ %291 = and i64 %290, %196
+ %.fr4.6 = freeze i64 %291
+ %.not5.6 = icmp eq i64 %.fr4.6, 0
+ br i1 %.not5.6, label %300, label %Flow71, !amdgpu.uniform !12
+
+ Flow70: ; preds = %Flow71, %274
+ %292 = phi i64 [ %304, %Flow71 ], [ undef, %274 ]
+ %293 = phi i1 [ %305, %Flow71 ], [ false, %274 ]
+ %294 = phi i1 [ %306, %Flow71 ], [ false, %274 ]
+ %295 = phi i1 [ false, %Flow71 ], [ true, %274 ]
+ %296 = phi i32 [ %307, %Flow71 ], [ undef, %274 ]
+ %297 = phi i64 [ %289, %Flow71 ], [ poison, %274 ]
+ %298 = phi i64 [ %308, %Flow71 ], [ poison, %274 ]
+ %299 = phi i1 [ %309, %Flow71 ], [ true, %274 ]
+ br label %Flow69, !amdgpu.uniform !12
+
+ 300: ; preds = %288
+ %301 = add i64 %lsr.iv, 4
+ %302 = shl nuw i64 1, %301
+ %303 = and i64 %302, %196
+ %.fr4.7 = freeze i64 %303
+ %.not5.7 = icmp eq i64 %.fr4.7, 0
+ br i1 %.not5.7, label %310, label %Flow72, !amdgpu.uniform !12
+
+ Flow71: ; preds = %Flow72, %288
+ %304 = phi i64 [ %377, %Flow72 ], [ undef, %288 ]
+ %305 = phi i1 [ %378, %Flow72 ], [ false, %288 ]
+ %306 = phi i1 [ false, %Flow72 ], [ true, %288 ]
+ %307 = phi i32 [ %379, %Flow72 ], [ undef, %288 ]
+ %308 = phi i64 [ %301, %Flow72 ], [ poison, %288 ]
+ %309 = phi i1 [ %380, %Flow72 ], [ true, %288 ]
+ br label %Flow70, !amdgpu.uniform !12
+
+ 310: ; preds = %300
+ %lsr.iv.next = add nuw nsw i64 %lsr.iv, 8
+ %tmp1 = trunc i64 %lsr.iv.next to i32
+ %exitcond12.not.7 = icmp eq i32 %tmp1, 67
+ br label %Flow72, !amdgpu.uniform !12
+
+ Flow62: ; preds = %Flow61, %loop.exit.guard38
+ %311 = phi i32 [ %330, %Flow61 ], [ undef, %loop.exit.guard38 ]
+ %312 = phi i1 [ false, %Flow61 ], [ true, %loop.exit.guard38 ]
+ br i1 %312, label %.splitsplitsplitsplitsplitsplitsplit_crit_edge, label %Flow63, !amdgpu.uniform !12
+
+ .splitsplitsplitsplitsplitsplitsplit_crit_edge: ; preds = %Flow62
+ %tmp8 = trunc i64 %.lcssa102 to i32
+ br label %Flow63, !amdgpu.uniform !12
+
+ Flow60: ; preds = %Flow59, %loop.exit.guard39
+ %313 = phi i32 [ %329, %Flow59 ], [ undef, %loop.exit.guard39 ]
+ %314 = phi i1 [ false, %Flow59 ], [ true, %loop.exit.guard39 ]
+ br i1 %314, label %.splitsplitsplitsplitsplitsplit_crit_edge, label %Flow61, !amdgpu.uniform !12
+
+ .splitsplitsplitsplitsplitsplit_crit_edge: ; preds = %Flow60
+ %tmp7 = trunc i64 %.lcssa101 to i32
+ br label %Flow61, !amdgpu.uniform !12
+
+ Flow58: ; preds = %Flow57, %loop.exit.guard40
+ %315 = phi i32 [ %328, %Flow57 ], [ undef, %loop.exit.guard40 ]
+ %316 = phi i1 [ false, %Flow57 ], [ true, %loop.exit.guard40 ]
+ br i1 %316, label %.splitsplitsplitsplitsplit_crit_edge, label %Flow59, !amdgpu.uniform !12
+
+ .splitsplitsplitsplitsplit_crit_edge: ; preds = %Flow58
+ %tmp6 = trunc i64 %lsr.iv.lcssa to i32
+ br label %Flow59, !amdgpu.uniform !12
+
+ Flow56: ; preds = %Flow55, %loop.exit.guard41
+ %317 = phi i32 [ %327, %Flow55 ], [ undef, %loop.exit.guard41 ]
+ %318 = phi i1 [ false, %Flow55 ], [ true, %loop.exit.guard41 ]
+ br i1 %318, label %.splitsplitsplitsplit_crit_edge, label %Flow57, !amdgpu.uniform !12
+
+ .splitsplitsplitsplit_crit_edge: ; preds = %Flow56
+ %tmp5 = trunc i64 %.lcssa100 to i32
+ br label %Flow57, !amdgpu.uniform !12
+
+ Flow54: ; preds = %Flow53, %loop.exit.guard42
+ %319 = phi i32 [ %326, %Flow53 ], [ undef, %loop.exit.guard42 ]
+ %320 = phi i1 [ false, %Flow53 ], [ true, %loop.exit.guard42 ]
+ br i1 %320, label %.splitsplitsplit_crit_edge, label %Flow55, !amdgpu.uniform !12
+
+ .splitsplitsplit_crit_edge: ; preds = %Flow54
+ %tmp4 = trunc i64 %.lcssa99 to i32
+ br label %Flow55, !amdgpu.uniform !12
+
+ Flow52: ; preds = %Flow, %loop.exit.guard43
+ %321 = phi i32 [ %325, %Flow ], [ undef, %loop.exit.guard43 ]
+ %322 = phi i1 [ false, %Flow ], [ true, %loop.exit.guard43 ]
+ br i1 %322, label %.splitsplit_crit_edge, label %Flow53, !amdgpu.uniform !12
+
+ .splitsplit_crit_edge: ; preds = %Flow52
+ %tmp3 = trunc i64 %.lcssa98 to i32
+ br label %Flow53, !amdgpu.uniform !12
+
+ .split_crit_edge: ; preds = %loop.exit.guard44
+ %tmp2 = trunc i64 %.lcssa97 to i32
+ br label %Flow, !amdgpu.uniform !12
+
+ Flow64: ; preds = %Flow63, %loop.exit.guard37
+ %323 = phi i32 [ %331, %Flow63 ], [ undef, %loop.exit.guard37 ]
+ %324 = phi i1 [ false, %Flow63 ], [ true, %loop.exit.guard37 ]
+ br i1 %324, label %._crit_edge, label %332, !amdgpu.uniform !12
+
+ ._crit_edge: ; preds = %Flow64
+ %tmp = trunc i64 %.lcssa to i32
+ br label %332, !amdgpu.uniform !12
+
+ Flow: ; preds = %.split_crit_edge, %loop.exit.guard44
+ %325 = phi i32 [ %tmp2, %.split_crit_edge ], [ %.lcssa103, %loop.exit.guard44 ]
+ br label %Flow52, !amdgpu.uniform !12
+
+ Flow53: ; preds = %.splitsplit_crit_edge, %Flow52
+ %326 = phi i32 [ %tmp3, %.splitsplit_crit_edge ], [ %321, %Flow52 ]
+ br label %Flow54, !amdgpu.uniform !12
+
+ Flow55: ; preds = %.splitsplitsplit_crit_edge, %Flow54
+ %327 = phi i32 [ %tmp4, %.splitsplitsplit_crit_edge ], [ %319, %Flow54 ]
+ br label %Flow56, !amdgpu.uniform !12
+
+ Flow57: ; preds = %.splitsplitsplitsplit_crit_edge, %Flow56
+ %328 = phi i32 [ %tmp5, %.splitsplitsplitsplit_crit_edge ], [ %317, %Flow56 ]
+ br label %Flow58, !amdgpu.uniform !12
+
+ Flow59: ; preds = %.splitsplitsplitsplitsplit_crit_edge, %Flow58
+ %329 = phi i32 [ %tmp6, %.splitsplitsplitsplitsplit_crit_edge ], [ %315, %Flow58 ]
+ br label %Flow60, !amdgpu.uniform !12
+
+ Flow61: ; preds = %.splitsplitsplitsplitsplitsplit_crit_edge, %Flow60
+ %330 = phi i32 [ %tmp7, %.splitsplitsplitsplitsplitsplit_crit_edge ], [ %313, %Flow60 ]
+ br label %Flow62, !amdgpu.uniform !12
+
+ Flow63: ; preds = %.splitsplitsplitsplitsplitsplitsplit_crit_edge, %Flow62
+ %331 = phi i32 [ %tmp8, %.splitsplitsplitsplitsplitsplitsplit_crit_edge ], [ %311, %Flow62 ]
+ br label %Flow64, !amdgpu.uniform !12
+
+ 332: ; preds = %._crit_edge, %Flow64
+ %.1 = phi i32 [ %tmp, %._crit_edge ], [ %323, %Flow64 ]
+ %333 = call i32 @llvm.amdgcn.readfirstlane(i32 %150)
+ %334 = call i32 @llvm.amdgcn.readfirstlane(i32 %152)
+ %.upto041 = insertelement <2 x i32> poison, i32 %333, i64 0
+ %335 = insertelement <2 x i32> %.upto041, i32 %334, i64 1
+ %336 = bitcast <2 x i32> %335 to i64
+ %337 = call i32 @llvm.amdgcn.readfirstlane(i32 %156)
+ %338 = call i32 @llvm.amdgcn.readfirstlane(i32 %158)
+ %.upto043 = insertelement <2 x i32> poison, i32 %337, i64 0
+ %339 = insertelement <2 x i32> %.upto043, i32 %338, i64 1
+ %340 = bitcast <2 x i32> %339 to i64
+ %341 = call i32 @llvm.amdgcn.readfirstlane(i32 %162)
+ %342 = call i32 @llvm.amdgcn.readfirstlane(i32 %164)
+ %.upto045 = insertelement <2 x i32> poison, i32 %341, i64 0
+ %343 = insertelement <2 x i32> %.upto045, i32 %342, i64 1
+ %344 = bitcast <2 x i32> %343 to i64
+ %345 = call i32 @llvm.amdgcn.readfirstlane(i32 %168)
+ %346 = call i32 @llvm.amdgcn.readfirstlane(i32 %170)
+ %.upto047 = insertelement <2 x i32> poison, i32 %345, i64 0
+ %347 = insertelement <2 x i32> %.upto047, i32 %346, i64 1
+ %348 = bitcast <2 x i32> %347 to i64
+ %.idx57 = shl i32 %.1, 5
+ %349 = call <4 x i32> @llvm.amdgcn.raw.buffer.load.v4i32(<4 x i32> %6, i32 %.idx57, i32 0, i32 0)
+ %350 = or disjoint i32 %.idx57, 16
+ %351 = call <4 x i32> @llvm.amdgcn.raw.buffer.load.v4i32(<4 x i32> %6, i32 %350, i32 0, i32 0)
+ %352 = shufflevector <4 x i32> %349, <4 x i32> %351, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %353 = bitcast <8 x i32> %352 to <4 x i64>
+ %.i320 = extractelement <4 x i64> %353, i64 3
+ %.i219 = extractelement <4 x i64> %353, i64 2
+ %.i118 = extractelement <4 x i64> %353, i64 1
+ %.i017 = extractelement <4 x i64> %353, i64 0
+ %354 = icmp eq i64 %.i017, %336
+ %355 = icmp eq i64 %.i118, %340
+ %356 = icmp eq i64 %.i219, %344
+ %357 = icmp eq i64 %.i320, %348
+ %358 = and i1 %354, %355
+ %359 = and i1 %356, %358
+ %360 = and i1 %357, %359
+ %361 = select i1 %360, i32 2, i32 0
+ %362 = or disjoint i32 %361, %186
+ br label %Flow74, !amdgpu.uniform !12
+
+ 363: ; preds = %142
+ %364 = or disjoint i32 %186, 2
+ br label %Flow73, !amdgpu.uniform !12
+
+ 365: ; preds = %Flow74
+ %366 = load <2 x i32>, ptr addrspace(4) %numWorkgroupsPtr, align 16, !invariant.load !12
+ %.ii022 = extractelement <2 x i32> %366, i32 0
+ %.ii123 = extractelement <2 x i32> %366, i32 1
+ %367 = inttoptr i64 %3 to ptr addrspace(4), !amdgpu.uniform !12
+ %WorkgroupId.i2 = extractelement <3 x i32> %WorkgroupId, i64 2
+ %WorkgroupId.i1 = extractelement <3 x i32> %WorkgroupId, i64 1
+ %WorkgroupId.i0 = extractelement <3 x i32> %WorkgroupId, i64 0
+ %LocalInvocationId.i0 = extractelement <3 x i32> %LocalInvocationId, i64 0
+ %.i021 = shl i32 %WorkgroupId.i0, 6
+ %.i024 = add i32 %LocalInvocationId.i0, %.i021
+ %.i028 = shl i32 %.ii022, 6
+ %368 = mul i32 %.ii123, %WorkgroupId.i2
+ %369 = add i32 %368, %WorkgroupId.i1
+ %370 = mul i32 %369, %.i028
+ %371 = add i32 %370, %.i024
+ %372 = load <4 x i32>, ptr addrspace(4) %367, align 16
+ %.idx58 = shl i32 %371, 2
+ call void @llvm.amdgcn.raw.buffer.store.i32(i32 %197, <4 x i32> %372, i32 %.idx58, i32 0, i32 0)
+ ret void
+
+ Flow96: ; preds = %120, %110
+ %373 = phi i64 [ %lsr.iv.next12, %120 ], [ undef, %110 ]
+ %374 = phi i1 [ false, %120 ], [ true, %110 ]
+ %375 = phi i32 [ 0, %120 ], [ undef, %110 ]
+ %376 = phi i1 [ %exitcond.not.7, %120 ], [ true, %110 ]
+ br label %Flow95, !amdgpu.uniform !12
+
+ loop.exit.guard: ; preds = %Flow89
+ %.lcssa127 = phi i1 [ %17, %Flow89 ]
+ %.lcssa126 = phi i1 [ %18, %Flow89 ]
+ %.lcssa125 = phi i1 [ %19, %Flow89 ]
+ %.lcssa124 = phi i1 [ %20, %Flow89 ]
+ %.lcssa123 = phi i1 [ %21, %Flow89 ]
+ %.lcssa122 = phi i1 [ %22, %Flow89 ]
+ %.lcssa121 = phi i1 [ %23, %Flow89 ]
+ %.lcssa120 = phi i1 [ %24, %Flow89 ]
+ %.lcssa119 = phi i32 [ %25, %Flow89 ]
+ %.lcssa118 = phi i64 [ %26, %Flow89 ]
+ %.lcssa117 = phi i64 [ %27, %Flow89 ]
+ %.lcssa116 = phi i64 [ %28, %Flow89 ]
+ %.lcssa115 = phi i64 [ %29, %Flow89 ]
+ %.lcssa114 = phi i64 [ %30, %Flow89 ]
+ %.lcssa113 = phi i64 [ %31, %Flow89 ]
+ %lsr.iv11.lcssa = phi i64 [ %lsr.iv11, %Flow89 ]
+ %.lcssa112 = phi i64 [ %9, %Flow89 ]
+ %Guard.._crit_edge9.inv = xor i1 %.lcssa120, true
+ %Guard..split10splitsplitsplitsplitsplitsplit_crit_edge.inv = xor i1 %.lcssa121, true
+ %Guard..split10splitsplitsplitsplitsplit_crit_edge.inv = xor i1 %.lcssa122, true
+ %Guard..split10splitsplitsplitsplit_crit_edge.inv = xor i1 %.lcssa123, true
+ %Guard..split10splitsplitsplit_crit_edge.inv = xor i1 %.lcssa124, true
+ %Guard..split10splitsplit_crit_edge.inv = xor i1 %.lcssa125, true
+ %Guard..split10split_crit_edge.inv = xor i1 %.lcssa126, true
+ br i1 %Guard.._crit_edge9.inv, label %loop.exit.guard24, label %Flow88, !amdgpu.uniform !12
+
+ loop.exit.guard24: ; preds = %loop.exit.guard
+ br i1 %Guard..split10splitsplitsplitsplitsplitsplit_crit_edge.inv, label %loop.exit.guard25, label %Flow86, !amdgpu.uniform !12
+
+ loop.exit.guard25: ; preds = %loop.exit.guard24
+ br i1 %Guard..split10splitsplitsplitsplitsplit_crit_edge.inv, label %loop.exit.guard26, label %Flow84, !amdgpu.uniform !12
+
+ loop.exit.guard26: ; preds = %loop.exit.guard25
+ br i1 %Guard..split10splitsplitsplitsplit_crit_edge.inv, label %loop.exit.guard27, label %Flow82, !amdgpu.uniform !12
+
+ loop.exit.guard27: ; preds = %loop.exit.guard26
+ br i1 %Guard..split10splitsplitsplit_crit_edge.inv, label %loop.exit.guard28, label %Flow80, !amdgpu.uniform !12
+
+ loop.exit.guard28: ; preds = %loop.exit.guard27
+ br i1 %Guard..split10splitsplit_crit_edge.inv, label %loop.exit.guard29, label %Flow78, !amdgpu.uniform !12
+
+ loop.exit.guard29: ; preds = %loop.exit.guard28
+ br i1 %Guard..split10split_crit_edge.inv, label %loop.exit.guard30, label %Flow76, !amdgpu.uniform !12
+
+ loop.exit.guard30: ; preds = %loop.exit.guard29
+ br i1 %.lcssa127, label %.split10_crit_edge, label %Flow75, !amdgpu.uniform !12
+
+ Flow72: ; preds = %310, %300
+ %377 = phi i64 [ %lsr.iv.next, %310 ], [ undef, %300 ]
+ %378 = phi i1 [ false, %310 ], [ true, %300 ]
+ %379 = phi i32 [ %.032, %310 ], [ undef, %300 ]
+ %380 = phi i1 [ %exitcond12.not.7, %310 ], [ true, %300 ]
+ br label %Flow71, !amdgpu.uniform !12
+
+ loop.exit.guard37: ; preds = %Flow65
+ %.lcssa111 = phi i1 [ %207, %Flow65 ]
+ %.lcssa110 = phi i1 [ %208, %Flow65 ]
+ %.lcssa109 = phi i1 [ %209, %Flow65 ]
+ %.lcssa108 = phi i1 [ %210, %Flow65 ]
+ %.lcssa107 = phi i1 [ %211, %Flow65 ]
+ %.lcssa106 = phi i1 [ %212, %Flow65 ]
+ %.lcssa105 = phi i1 [ %213, %Flow65 ]
+ %.lcssa104 = phi i1 [ %214, %Flow65 ]
+ %.lcssa103 = phi i32 [ %215, %Flow65 ]
+ %.lcssa102 = phi i64 [ %216, %Flow65 ]
+ %.lcssa101 = phi i64 [ %217, %Flow65 ]
+ %.lcssa100 = phi i64 [ %218, %Flow65 ]
+ %.lcssa99 = phi i64 [ %219, %Flow65 ]
+ %.lcssa98 = phi i64 [ %220, %Flow65 ]
+ %.lcssa97 = phi i64 [ %221, %Flow65 ]
+ %lsr.iv.lcssa = phi i64 [ %lsr.iv, %Flow65 ]
+ %.lcssa = phi i64 [ %199, %Flow65 ]
+ %Guard.._crit_edge.inv = xor i1 %.lcssa104, true
+ %Guard..splitsplitsplitsplitsplitsplitsplit_crit_edge.inv = xor i1 %.lcssa105, true
+ %Guard..splitsplitsplitsplitsplitsplit_crit_edge.inv = xor i1 %.lcssa106, true
+ %Guard..splitsplitsplitsplitsplit_crit_edge.inv = xor i1 %.lcssa107, true
+ %Guard..splitsplitsplitsplit_crit_edge.inv = xor i1 %.lcssa108, true
+ %Guard..splitsplitsplit_crit_edge.inv = xor i1 %.lcssa109, true
+ %Guard..splitsplit_crit_edge.inv = xor i1 %.lcssa110, true
+ br i1 %Guard.._crit_edge.inv, label %loop.exit.guard38, label %Flow64, !amdgpu.uniform !12
+
+ loop.exit.guard38: ; preds = %loop.exit.guard37
+ br i1 %Guard..splitsplitsplitsplitsplitsplitsplit_crit_edge.inv, label %loop.exit.guard39, label %Flow62, !amdgpu.uniform !12
+
+ loop.exit.guard39: ; preds = %loop.exit.guard38
+ br i1 %Guard..splitsplitsplitsplitsplitsplit_crit_edge.inv, label %loop.exit.guard40, label %Flow60, !amdgpu.uniform !12
+
+ loop.exit.guard40: ; preds = %loop.exit.guard39
+ br i1 %Guard..splitsplitsplitsplitsplit_crit_edge.inv, label %loop.exit.guard41, label %Flow58, !amdgpu.uniform !12
+
+ loop.exit.guard41: ; preds = %loop.exit.guard40
+ br i1 %Guard..splitsplitsplitsplit_crit_edge.inv, label %loop.exit.guard42, label %Flow56, !amdgpu.uniform !12
+
+ loop.exit.guard42: ; preds = %loop.exit.guard41
+ br i1 %Guard..splitsplitsplit_crit_edge.inv, label %loop.exit.guard43, label %Flow54, !amdgpu.uniform !12
+
+ loop.exit.guard43: ; preds = %loop.exit.guard42
+ br i1 %Guard..splitsplit_crit_edge.inv, label %loop.exit.guard44, label %Flow52, !amdgpu.uniform !12
+
+ loop.exit.guard44: ; preds = %loop.exit.guard43
+ br i1 %.lcssa111, label %.split_crit_edge, label %Flow, !amdgpu.uniform !12
+ }
+
+ declare i64 @llvm.amdgcn.ballot.i64(i1) #1
+
+ declare i32 @llvm.amdgcn.readfirstlane(i32) #1
+
+ declare i32 @llvm.amdgcn.mbcnt.lo(i32, i32) #2
+
+ declare i32 @llvm.amdgcn.mbcnt.hi(i32, i32) #2
+
+ declare i64 @llvm.amdgcn.s.getpc() #3
+
+ declare { ptr addrspace(8), i32 } @lgc.buffer.desc.to.ptr(<4 x i32>) #4
+
+ declare <4 x i32> @llvm.amdgcn.raw.buffer.load.v4i32(<4 x i32>, i32, i32, i32 immarg) #5
+
+ declare void @llvm.amdgcn.raw.buffer.store.i32(i32, <4 x i32>, i32, i32, i32 immarg) #6
+
+ declare { i1, i64 } @llvm.amdgcn.if.i64(i1) #7
+
+ declare { i1, i64 } @llvm.amdgcn.else.i64.i64(i64) #7
+
+ declare i64 @llvm.amdgcn.if.break.i64(i1, i64) #8
+
+ declare i1 @llvm.amdgcn.loop.i64(i64) #7
+
+ declare void @llvm.amdgcn.end.cf.i64(i64) #7
+
+ attributes #0 = { nounwind memory(readwrite) "amdgpu-flat-work-group-size"="64,64" "amdgpu-memory-bound"="false" "amdgpu-no-agpr" "amdgpu-prealloc-sgpr-spill-vgprs" "amdgpu-unroll-threshold"="700" "amdgpu-wave-limiter"="false" "amdgpu-work-group-info-arg-no"="4" "denormal-fp-math-f32"="preserve-sign" "target-cpu"="gfx1010" "target-features"=",+DumpCode,+wavefrontsize64,+cumode,-xnack" "uniform-work-group-size"="false" }
+ attributes #1 = { convergent nocallback nofree nounwind willreturn memory(none) "target-cpu"="gfx1010" }
+ attributes #2 = { nocallback nofree nosync nounwind willreturn memory(none) "target-cpu"="gfx1010" }
+ attributes #3 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) "target-cpu"="gfx1010" }
+ attributes #4 = { nounwind willreturn memory(none) "amdgpu-waves-per-eu"="8,20" "target-cpu"="gfx1010" "uniform-work-group-size"="false" }
+ attributes #5 = { nocallback nofree nosync nounwind willreturn memory(read) "target-cpu"="gfx1010" }
+ attributes #6 = { nocallback nofree nosync nounwind willreturn memory(write) "target-cpu"="gfx1010" }
+ attributes #7 = { convergent nocallback nofree nounwind willreturn }
+ attributes #8 = { convergent nocallback nofree nounwind willreturn memory(none) }
+
+ !llpc.shader.mode.CS = !{!0}
+ !llpc.compute.mode = !{!1}
+ !lgc.client = !{!2}
+ !lgc.options = !{!3}
+ !lgc.options.CS = !{!4}
+ !lgc.user.data.nodes = !{!5, !6, !7, !8}
+ !amdgpu.pal.metadata.msgpack = !{!9}
+
+ !0 = !{i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1}
+ !1 = !{i32 64, i32 1, i32 1}
+ !2 = !{!"Vulkan"}
+ !3 = !{i32 -1667310976, i32 -183057460, i32 1968346926, i32 901637131, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 -1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 16777216}
+ !4 = !{i32 1313490564, i32 -672444768, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 64, i32 0, i32 0, i32 3, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 20, i32 1800}
+ !5 = !{!"StreamOutTableVaPtr", i32 11, i32 2, i32 2, i32 1, i32 0}
+ !6 = !{!"DescriptorTableVaPtr", i32 7, i32 128, i32 3, i32 1, i32 2}
+ !7 = !{!"DescriptorBuffer", i32 6, i32 128, i32 0, i32 4, i64 0, i32 0, i32 4}
+ !8 = !{!"DescriptorBuffer", i32 6, i32 128, i32 4, i32 4, i64 0, i32 1, i32 4}
+ !9 = !{!"\82\B0amdpal.pipelines\91\83\B0.spill_threshold\CD\FF\FF\B0.user_data_limit\00\AF.xgl_cache_info\82\B3.128_bit_cache_hash\92\CF{\B8\A2N\FE\D4\1CV\CFp=&'\E4\D5\B8\F2\AD.llpc_version\A471.3\AEamdpal.version\92\03\00"}
+ !10 = !{i32 5}
+ !11 = !{i32 7}
+ !12 = !{}
+
+...
+---
+name: _amdgpu_cs_main
+alignment: 1
+exposesReturnsTwice: false
+legalized: true
+regBankSelected: true
+selected: true
+failedISel: false
+tracksRegLiveness: true
+hasWinCFI: false
+callsEHReturn: false
+callsUnwindInit: false
+hasEHCatchret: false
+hasEHScopes: false
+hasEHFunclets: false
+isOutlined: false
+debugInstrRef: false
+failsVerification: false
+tracksDebugUserValues: false
+registers:
+ - { id: 0, class: _, preferred-register: '' }
+ - { id: 1, class: sreg_64, preferred-register: '' }
+ - { id: 2, class: sreg_32_xexec_hi_and_sreg_32_xm0, preferred-register: '' }
+ - { id: 3, class: _, preferred-register: '' }
+ - { id: 4, class: _, preferred-register: '' }
+ - { id: 5, class: _, preferred-register: '' }
+ - { id: 6, class: sreg_32, preferred-register: '' }
+ - { id: 7, class: sreg_32, preferred-register: '' }
+ - { id: 8, class: sreg_32, preferred-register: '' }
+ - { id: 9, class: sreg_32, preferred-register: '' }
+ - { id: 10, class: sreg_32, preferred-register: '' }
+ - { id: 11, class: vgpr_32, preferred-register: '' }
+ - { id: 12, class: _, preferred-register: '' }
+ - { id: 13, class: _, preferred-register: '' }
+ - { id: 14, class: sgpr_32, preferred-register: '' }
+ - { id: 15, class: sreg_64, preferred-register: '' }
+ - { id: 16, class: sreg_64, preferred-register: '' }
+ - { id: 17, class: sreg_64, preferred-register: '' }
+ - { id: 18, class: sreg_64, preferred-register: '' }
+ - { id: 19, class: sreg_64, preferred-register: '' }
+ - { id: 20, class: sreg_64, preferred-register: '' }
+ - { id: 21, class: sgpr, preferred-register: '' }
+ - { id: 22, class: sgpr, preferred-register: '' }
+ - { id: 23, class: sgpr_128, preferred-register: '' }
+ - { id: 24, class: sreg_64, preferred-register: '' }
+ - { id: 25, class: sgpr, preferred-register: '' }
+ - { id: 26, class: sreg_64, preferred-register: '' }
+ - { id: 27, class: _, preferred-register: '' }
+ - { id: 28, class: sreg_64, preferred-register: '' }
+ - { id: 29, class: _, preferred-register: '' }
+ - { id: 30, class: sreg_64, preferred-register: '' }
+ - { id: 31, class: sreg_64, preferred-register: '' }
+ - { id: 32, class: sreg_64, preferred-register: '' }
+ - { id: 33, class: _, preferred-register: '' }
+ - { id: 34, class: sgpr, preferred-register: '' }
+ - { id: 35, class: _, preferred-register: '' }
+ - { id: 36, class: sreg_64, preferred-register: '' }
+ - { id: 37, class: sreg_64, preferred-register: '' }
+ - { id: 38, class: sreg_64, preferred-register: '' }
+ - { id: 39, class: sreg_64, preferred-register: '' }
+ - { id: 40, class: sgpr, preferred-register: '' }
+ - { id: 41, class: _, preferred-register: '' }
+ - { id: 42, class: sreg_64, preferred-register: '' }
+ - { id: 43, class: sreg_64, preferred-register: '' }
+ - { id: 44, class: sreg_64, preferred-register: '' }
+ - { id: 45, class: sreg_64, preferred-register: '' }
+ - { id: 46, class: sgpr, preferred-register: '' }
+ - { id: 47, class: sreg_64, preferred-register: '' }
+ - { id: 48, class: sreg_64, preferred-register: '' }
+ - { id: 49, class: sreg_64, preferred-register: '' }
+ - { id: 50, class: sgpr, preferred-register: '' }
+ - { id: 51, class: sreg_64, preferred-register: '' }
+ - { id: 52, class: sreg_64, preferred-register: '' }
+ - { id: 53, class: sreg_64, preferred-register: '' }
+ - { id: 54, class: sreg_64, preferred-register: '' }
+ - { id: 55, class: sgpr, preferred-register: '' }
+ - { id: 56, class: _, preferred-register: '' }
+ - { id: 57, class: sreg_64, preferred-register: '' }
+ - { id: 58, class: sreg_64, preferred-register: '' }
+ - { id: 59, class: sreg_64, preferred-register: '' }
+ - { id: 60, class: sreg_64, preferred-register: '' }
+ - { id: 61, class: sgpr, preferred-register: '' }
+ - { id: 62, class: sreg_64, preferred-register: '' }
+ - { id: 63, class: sreg_64, preferred-register: '' }
+ - { id: 64, class: sreg_64, preferred-register: '' }
+ - { id: 65, class: sreg_64, preferred-register: '' }
+ - { id: 66, class: sreg_64, preferred-register: '' }
+ - { id: 67, class: sgpr, preferred-register: '' }
+ - { id: 68, class: _, preferred-register: '' }
+ - { id: 69, class: sreg_64, preferred-register: '' }
+ - { id: 70, class: sreg_64, preferred-register: '' }
+ - { id: 71, class: sreg_64, preferred-register: '' }
+ - { id: 72, class: sreg_64, preferred-register: '' }
+ - { id: 73, class: sgpr, preferred-register: '' }
+ - { id: 74, class: _, preferred-register: '' }
+ - { id: 75, class: sreg_64, preferred-register: '' }
+ - { id: 76, class: _, preferred-register: '' }
+ - { id: 77, class: _, preferred-register: '' }
+ - { id: 78, class: sgpr, preferred-register: '' }
+ - { id: 79, class: sreg_64, preferred-register: '' }
+ - { id: 80, class: sgpr, preferred-register: '' }
+ - { id: 81, class: sreg_32, preferred-register: '' }
+ - { id: 82, class: sgpr, preferred-register: '' }
+ - { id: 83, class: sreg_64, preferred-register: '' }
+ - { id: 84, class: sgpr, preferred-register: '' }
+ - { id: 85, class: sgpr, preferred-register: '' }
+ - { id: 86, class: sreg_32, preferred-register: '' }
+ - { id: 87, class: sreg_64, preferred-register: '' }
+ - { id: 88, class: sgpr, preferred-register: '' }
+ - { id: 89, class: sreg_64, preferred-register: '' }
+ - { id: 90, class: sgpr, preferred-register: '' }
+ - { id: 91, class: sgpr, preferred-register: '' }
+ - { id: 92, class: sgpr, preferred-register: '' }
+ - { id: 93, class: sreg_32, preferred-register: '' }
+ - { id: 94, class: sreg_64, preferred-register: '' }
+ - { id: 95, class: sreg_64, preferred-register: '' }
+ - { id: 96, class: sgpr, preferred-register: '' }
+ - { id: 97, class: sreg_64, preferred-register: '' }
+ - { id: 98, class: sgpr, preferred-register: '' }
+ - { id: 99, class: sgpr, preferred-register: '' }
+ - { id: 100, class: sgpr, preferred-register: '' }
+ - { id: 101, class: sgpr, preferred-register: '' }
+ - { id: 102, class: sreg_32, preferred-register: '' }
+ - { id: 103, class: sreg_64, preferred-register: '' }
+ - { id: 104, class: sreg_64, preferred-register: '' }
+ - { id: 105, class: sreg_64, preferred-register: '' }
+ - { id: 106, class: sgpr, preferred-register: '' }
+ - { id: 107, class: sreg_64, preferred-register: '' }
+ - { id: 108, class: sgpr, preferred-register: '' }
+ - { id: 109, class: sgpr, preferred-register: '' }
+ - { id: 110, class: sgpr, preferred-register: '' }
+ - { id: 111, class: sgpr, preferred-register: '' }
+ - { id: 112, class: sgpr, preferred-register: '' }
+ - { id: 113, class: sreg_32, preferred-register: '' }
+ - { id: 114, class: sreg_64, preferred-register: '' }
+ - { id: 115, class: sreg_64, preferred-register: '' }
+ - { id: 116, class: sreg_64, preferred-register: '' }
+ - { id: 117, class: sreg_64, preferred-register: '' }
+ - { id: 118, class: sgpr, preferred-register: '' }
+ - { id: 119, class: sreg_64, preferred-register: '' }
+ - { id: 120, class: sgpr, preferred-register: '' }
+ - { id: 121, class: sgpr, preferred-register: '' }
+ - { id: 122, class: sgpr, preferred-register: '' }
+ - { id: 123, class: sgpr, preferred-register: '' }
+ - { id: 124, class: sgpr, preferred-register: '' }
+ - { id: 125, class: sgpr, preferred-register: '' }
+ - { id: 126, class: sreg_32, preferred-register: '' }
+ - { id: 127, class: sreg_64, preferred-register: '' }
+ - { id: 128, class: sreg_64, preferred-register: '' }
+ - { id: 129, class: sreg_64, preferred-register: '' }
+ - { id: 130, class: sreg_64, preferred-register: '' }
+ - { id: 131, class: sgpr, preferred-register: '' }
+ - { id: 132, class: sreg_64, preferred-register: '' }
+ - { id: 133, class: sgpr, preferred-register: '' }
+ - { id: 134, class: sgpr, preferred-register: '' }
+ - { id: 135, class: sgpr, preferred-register: '' }
+ - { id: 136, class: sgpr, preferred-register: '' }
+ - { id: 137, class: sgpr, preferred-register: '' }
+ - { id: 138, class: sgpr, preferred-register: '' }
+ - { id: 139, class: sgpr, preferred-register: '' }
+ - { id: 140, class: sreg_32, preferred-register: '' }
+ - { id: 141, class: sreg_64, preferred-register: '' }
+ - { id: 142, class: sreg_64, preferred-register: '' }
+ - { id: 143, class: sreg_64, preferred-register: '' }
+ - { id: 144, class: sreg_64, preferred-register: '' }
+ - { id: 145, class: sreg_64, preferred-register: '' }
+ - { id: 146, class: sgpr, preferred-register: '' }
+ - { id: 147, class: sreg_64, preferred-register: '' }
+ - { id: 148, class: sgpr, preferred-register: '' }
+ - { id: 149, class: sgpr, preferred-register: '' }
+ - { id: 150, class: sgpr, preferred-register: '' }
+ - { id: 151, class: sgpr, preferred-register: '' }
+ - { id: 152, class: sgpr, preferred-register: '' }
+ - { id: 153, class: sgpr, preferred-register: '' }
+ - { id: 154, class: sgpr, preferred-register: '' }
+ - { id: 155, class: sgpr, preferred-register: '' }
+ - { id: 156, class: sreg_32, preferred-register: '' }
+ - { id: 157, class: sreg_64, preferred-register: '' }
+ - { id: 158, class: sreg_64, preferred-register: '' }
+ - { id: 159, class: sreg_64, preferred-register: '' }
+ - { id: 160, class: sreg_64, preferred-register: '' }
+ - { id: 161, class: sreg_64, preferred-register: '' }
+ - { id: 162, class: sreg_64, preferred-register: '' }
+ - { id: 163, class: sgpr, preferred-register: '' }
+ - { id: 164, class: sgpr, preferred-register: '' }
+ - { id: 165, class: sgpr, preferred-register: '' }
+ - { id: 166, class: sgpr, preferred-register: '' }
+ - { id: 167, class: sgpr, preferred-register: '' }
+ - { id: 168, class: sgpr, preferred-register: '' }
+ - { id: 169, class: sgpr, preferred-register: '' }
+ - { id: 170, class: sgpr, preferred-register: '' }
+ - { id: 171, class: sgpr, preferred-register: '' }
+ - { id: 172, class: sreg_32, preferred-register: '' }
+ - { id: 173, class: sreg_64, preferred-register: '' }
+ - { id: 174, class: sreg_64, preferred-register: '' }
+ - { id: 175, class: sreg_64, preferred-register: '' }
+ - { id: 176, class: sreg_64, preferred-register: '' }
+ - { id: 177, class: sreg_64, preferred-register: '' }
+ - { id: 178, class: sreg_64, preferred-register: '' }
+ - { id: 179, class: sreg_64, preferred-register: '' }
+ - { id: 180, class: sreg_64, preferred-register: '' }
+ - { id: 181, class: sgpr, preferred-register: '' }
+ - { id: 182, class: sgpr, preferred-register: '' }
+ - { id: 183, class: sgpr, preferred-register: '' }
+ - { id: 184, class: sgpr, preferred-register: '' }
+ - { id: 185, class: sgpr, preferred-register: '' }
+ - { id: 186, class: sgpr, preferred-register: '' }
+ - { id: 187, class: sgpr, preferred-register: '' }
+ - { id: 188, class: sreg_32, preferred-register: '' }
+ - { id: 189, class: sreg_32, preferred-register: '' }
+ - { id: 190, class: sreg_32, preferred-register: '' }
+ - { id: 191, class: sgpr, preferred-register: '' }
+ - { id: 192, class: sreg_32, preferred-register: '' }
+ - { id: 193, class: sreg_32, preferred-register: '' }
+ - { id: 194, class: sreg_32, preferred-register: '' }
+ - { id: 195, class: sgpr, preferred-register: '' }
+ - { id: 196, class: sreg_32, preferred-register: '' }
+ - { id: 197, class: sreg_32, preferred-register: '' }
+ - { id: 198, class: sreg_32, preferred-register: '' }
+ - { id: 199, class: sgpr, preferred-register: '' }
+ - { id: 200, class: sreg_32, preferred-register: '' }
+ - { id: 201, class: sreg_32, preferred-register: '' }
+ - { id: 202, class: sreg_32, preferred-register: '' }
+ - { id: 203, class: sgpr, preferred-register: '' }
+ - { id: 204, class: sreg_32, preferred-register: '' }
+ - { id: 205, class: sreg_32, preferred-register: '' }
+ - { id: 206, class: sreg_32, preferred-register: '' }
+ - { id: 207, class: sgpr, preferred-register: '' }
+ - { id: 208, class: sreg_32, preferred-register: '' }
+ - { id: 209, class: sreg_32, preferred-register: '' }
+ - { id: 210, class: sreg_32, preferred-register: '' }
+ - { id: 211, class: sgpr, preferred-register: '' }
+ - { id: 212, class: sreg_32, preferred-register: '' }
+ - { id: 213, class: sreg_32, preferred-register: '' }
+ - { id: 214, class: sreg_32, preferred-register: '' }
+ - { id: 215, class: sgpr, preferred-register: '' }
+ - { id: 216, class: sreg_32, preferred-register: '' }
+ - { id: 217, class: sreg_32, preferred-register: '' }
+ - { id: 218, class: vgpr_32, preferred-register: '' }
+ - { id: 219, class: _, preferred-register: '' }
+ - { id: 220, class: _, preferred-register: '' }
+ - { id: 221, class: vgpr_32, preferred-register: '' }
+ - { id: 222, class: _, preferred-register: '' }
+ - { id: 223, class: vgpr_32, preferred-register: '' }
+ - { id: 224, class: vreg_128, preferred-register: '' }
+ - { id: 225, class: _, preferred-register: '' }
+ - { id: 226, class: vgpr_32, preferred-register: '' }
+ - { id: 227, class: vreg_128, preferred-register: '' }
+ - { id: 228, class: _, preferred-register: '' }
+ - { id: 229, class: vreg_256, preferred-register: '' }
+ - { id: 230, class: _, preferred-register: '' }
+ - { id: 231, class: _, preferred-register: '' }
+ - { id: 232, class: _, preferred-register: '' }
+ - { id: 233, class: _, preferred-register: '' }
+ - { id: 234, class: _, preferred-register: '' }
+ - { id: 235, class: _, preferred-register: '' }
+ - { id: 236, class: _, preferred-register: '' }
+ - { id: 237, class: vgpr_32, preferred-register: '' }
+ - { id: 238, class: sreg_32, preferred-register: '' }
+ - { id: 239, class: _, preferred-register: '' }
+ - { id: 240, class: vreg_64, preferred-register: '' }
+ - { id: 241, class: vgpr_32, preferred-register: '' }
+ - { id: 242, class: sreg_32, preferred-register: '' }
+ - { id: 243, class: _, preferred-register: '' }
+ - { id: 244, class: _, preferred-register: '' }
+ - { id: 245, class: sreg_64, preferred-register: '' }
+ - { id: 246, class: sreg_64, preferred-register: '' }
+ - { id: 247, class: vgpr_32, preferred-register: '' }
+ - { id: 248, class: sreg_32, preferred-register: '' }
+ - { id: 249, class: vreg_64, preferred-register: '' }
+ - { id: 250, class: vgpr_32, preferred-register: '' }
+ - { id: 251, class: sreg_32, preferred-register: '' }
+ - { id: 252, class: _, preferred-register: '' }
+ - { id: 253, class: sreg_64, preferred-register: '' }
+ - { id: 254, class: sreg_64, preferred-register: '' }
+ - { id: 255, class: vgpr_32, preferred-register: '' }
+ - { id: 256, class: sreg_32, preferred-register: '' }
+ - { id: 257, class: vreg_64, preferred-register: '' }
+ - { id: 258, class: vgpr_32, preferred-register: '' }
+ - { id: 259, class: sreg_32, preferred-register: '' }
+ - { id: 260, class: _, preferred-register: '' }
+ - { id: 261, class: sreg_64, preferred-register: '' }
+ - { id: 262, class: sreg_64, preferred-register: '' }
+ - { id: 263, class: vgpr_32, preferred-register: '' }
+ - { id: 264, class: sreg_32, preferred-register: '' }
+ - { id: 265, class: vreg_64, preferred-register: '' }
+ - { id: 266, class: vgpr_32, preferred-register: '' }
+ - { id: 267, class: sreg_32, preferred-register: '' }
+ - { id: 268, class: _, preferred-register: '' }
+ - { id: 269, class: sreg_64, preferred-register: '' }
+ - { id: 270, class: sreg_64, preferred-register: '' }
+ - { id: 271, class: sreg_32, preferred-register: '' }
+ - { id: 272, class: sgpr_128, preferred-register: '' }
+ - { id: 273, class: sreg_32, preferred-register: '' }
+ - { id: 274, class: sgpr_128, preferred-register: '' }
+ - { id: 275, class: _, preferred-register: '' }
+ - { id: 276, class: sgpr_256, preferred-register: '' }
+ - { id: 277, class: _, preferred-register: '' }
+ - { id: 278, class: _, preferred-register: '' }
+ - { id: 279, class: _, preferred-register: '' }
+ - { id: 280, class: _, preferred-register: '' }
+ - { id: 281, class: sgpr, preferred-register: '' }
+ - { id: 282, class: sgpr, preferred-register: '' }
+ - { id: 283, class: sgpr, preferred-register: '' }
+ - { id: 284, class: sgpr, preferred-register: '' }
+ - { id: 285, class: sgpr, preferred-register: '' }
+ - { id: 286, class: sgpr, preferred-register: '' }
+ - { id: 287, class: sgpr, preferred-register: '' }
+ - { id: 288, class: sreg_32, preferred-register: '' }
+ - { id: 289, class: sreg_64_xexec, preferred-register: '$vcc' }
+ - { id: 290, class: sreg_64_xexec, preferred-register: '' }
+ - { id: 291, class: sreg_64_xexec, preferred-register: '' }
+ - { id: 292, class: _, preferred-register: '' }
+ - { id: 293, class: sreg_64_xexec, preferred-register: '' }
+ - { id: 294, class: sreg_32, preferred-register: '' }
+ - { id: 295, class: vgpr_32, preferred-register: '' }
+ - { id: 296, class: _, preferred-register: '' }
+ - { id: 297, class: sreg_64_xexec, preferred-register: '' }
+ - { id: 298, class: sreg_64, preferred-register: '' }
+ - { id: 299, class: sreg_64, preferred-register: '' }
+ - { id: 300, class: sreg_64, preferred-register: '' }
+ - { id: 301, class: sreg_64, preferred-register: '' }
+ - { id: 302, class: sreg_64, preferred-register: '' }
+ - { id: 303, class: sreg_64, preferred-register: '' }
+ - { id: 304, class: sgpr, preferred-register: '' }
+ - { id: 305, class: sreg_64, preferred-register: '' }
+ - { id: 306, class: sreg_64, preferred-register: '' }
+ - { id: 307, class: sreg_64, preferred-register: '' }
+ - { id: 308, class: sreg_64, preferred-register: '' }
+ - { id: 309, class: sgpr, preferred-register: '' }
+ - { id: 310, class: sreg_64, preferred-register: '' }
+ - { id: 311, class: sreg_64, preferred-register: '' }
+ - { id: 312, class: sreg_64, preferred-register: '' }
+ - { id: 313, class: sreg_64, preferred-register: '' }
+ - { id: 314, class: sgpr, preferred-register: '' }
+ - { id: 315, class: sreg_64, preferred-register: '' }
+ - { id: 316, class: sreg_64, preferred-register: '' }
+ - { id: 317, class: sreg_64, preferred-register: '' }
+ - { id: 318, class: sgpr, preferred-register: '' }
+ - { id: 319, class: sreg_64, preferred-register: '' }
+ - { id: 320, class: sreg_64, preferred-register: '' }
+ - { id: 321, class: sreg_64, preferred-register: '' }
+ - { id: 322, class: sreg_64, preferred-register: '' }
+ - { id: 323, class: sgpr, preferred-register: '' }
+ - { id: 324, class: sreg_64, preferred-register: '' }
+ - { id: 325, class: sreg_64, preferred-register: '' }
+ - { id: 326, class: sreg_64, preferred-register: '' }
+ - { id: 327, class: sreg_64, preferred-register: '' }
+ - { id: 328, class: sgpr, preferred-register: '' }
+ - { id: 329, class: sreg_64, preferred-register: '' }
+ - { id: 330, class: sreg_64, preferred-register: '' }
+ - { id: 331, class: sreg_64, preferred-register: '' }
+ - { id: 332, class: sreg_64, preferred-register: '' }
+ - { id: 333, class: sgpr, preferred-register: '' }
+ - { id: 334, class: sreg_64, preferred-register: '' }
+ - { id: 335, class: sreg_64, preferred-register: '' }
+ - { id: 336, class: sreg_64, preferred-register: '' }
+ - { id: 337, class: sreg_64, preferred-register: '' }
+ - { id: 338, class: sgpr, preferred-register: '' }
+ - { id: 339, class: sreg_64, preferred-register: '' }
+ - { id: 340, class: _, preferred-register: '' }
+ - { id: 341, class: sgpr, preferred-register: '' }
+ - { id: 342, class: sreg_64, preferred-register: '' }
+ - { id: 343, class: sgpr, preferred-register: '' }
+ - { id: 344, class: sreg_32, preferred-register: '' }
+ - { id: 345, class: sgpr, preferred-register: '' }
+ - { id: 346, class: sreg_64, preferred-register: '' }
+ - { id: 347, class: sgpr, preferred-register: '' }
+ - { id: 348, class: sgpr, preferred-register: '' }
+ - { id: 349, class: sreg_32, preferred-register: '' }
+ - { id: 350, class: sreg_64, preferred-register: '' }
+ - { id: 351, class: sgpr, preferred-register: '' }
+ - { id: 352, class: sreg_64, preferred-register: '' }
+ - { id: 353, class: sgpr, preferred-register: '' }
+ - { id: 354, class: sgpr, preferred-register: '' }
+ - { id: 355, class: sgpr, preferred-register: '' }
+ - { id: 356, class: sreg_32, preferred-register: '' }
+ - { id: 357, class: sreg_64, preferred-register: '' }
+ - { id: 358, class: sreg_64, preferred-register: '' }
+ - { id: 359, class: sgpr, preferred-register: '' }
+ - { id: 360, class: sreg_64, preferred-register: '' }
+ - { id: 361, class: sgpr, preferred-register: '' }
+ - { id: 362, class: sgpr, preferred-register: '' }
+ - { id: 363, class: sgpr, preferred-register: '' }
+ - { id: 364, class: sgpr, preferred-register: '' }
+ - { id: 365, class: sreg_32, preferred-register: '' }
+ - { id: 366, class: sreg_64, preferred-register: '' }
+ - { id: 367, class: sreg_64, preferred-register: '' }
+ - { id: 368, class: sreg_64, preferred-register: '' }
+ - { id: 369, class: sgpr, preferred-register: '' }
+ - { id: 370, class: sreg_64, preferred-register: '' }
+ - { id: 371, class: sgpr, preferred-register: '' }
+ - { id: 372, class: sgpr, preferred-register: '' }
+ - { id: 373, class: sgpr, preferred-register: '' }
+ - { id: 374, class: sgpr, preferred-register: '' }
+ - { id: 375, class: sgpr, preferred-register: '' }
+ - { id: 376, class: sreg_32, preferred-register: '' }
+ - { id: 377, class: sreg_64, preferred-register: '' }
+ - { id: 378, class: sreg_64, preferred-register: '' }
+ - { id: 379, class: sreg_64, preferred-register: '' }
+ - { id: 380, class: sreg_64, preferred-register: '' }
+ - { id: 381, class: sgpr, preferred-register: '' }
+ - { id: 382, class: sreg_64, preferred-register: '' }
+ - { id: 383, class: sgpr, preferred-register: '' }
+ - { id: 384, class: sgpr, preferred-register: '' }
+ - { id: 385, class: sgpr, preferred-register: '' }
+ - { id: 386, class: sgpr, preferred-register: '' }
+ - { id: 387, class: sgpr, preferred-register: '' }
+ - { id: 388, class: sgpr, preferred-register: '' }
+ - { id: 389, class: sreg_32, preferred-register: '' }
+ - { id: 390, class: sreg_64, preferred-register: '' }
+ - { id: 391, class: sreg_64, preferred-register: '' }
+ - { id: 392, class: sreg_64, preferred-register: '' }
+ - { id: 393, class: sreg_64, preferred-register: '' }
+ - { id: 394, class: sgpr, preferred-register: '' }
+ - { id: 395, class: sreg_64, preferred-register: '' }
+ - { id: 396, class: sgpr, preferred-register: '' }
+ - { id: 397, class: sgpr, preferred-register: '' }
+ - { id: 398, class: sgpr, preferred-register: '' }
+ - { id: 399, class: sgpr, preferred-register: '' }
+ - { id: 400, class: sgpr, preferred-register: '' }
+ - { id: 401, class: sgpr, preferred-register: '' }
+ - { id: 402, class: sgpr, preferred-register: '' }
+ - { id: 403, class: sreg_32, preferred-register: '' }
+ - { id: 404, class: sreg_64, preferred-register: '' }
+ - { id: 405, class: sreg_64, preferred-register: '' }
+ - { id: 406, class: sreg_64, preferred-register: '' }
+ - { id: 407, class: sreg_64, preferred-register: '' }
+ - { id: 408, class: sreg_64, preferred-register: '' }
+ - { id: 409, class: sgpr, preferred-register: '' }
+ - { id: 410, class: sreg_64, preferred-register: '' }
+ - { id: 411, class: sgpr, preferred-register: '' }
+ - { id: 412, class: sgpr, preferred-register: '' }
+ - { id: 413, class: sgpr, preferred-register: '' }
+ - { id: 414, class: sgpr, preferred-register: '' }
+ - { id: 415, class: sgpr, preferred-register: '' }
+ - { id: 416, class: sgpr, preferred-register: '' }
+ - { id: 417, class: sgpr, preferred-register: '' }
+ - { id: 418, class: sgpr, preferred-register: '' }
+ - { id: 419, class: sreg_32, preferred-register: '' }
+ - { id: 420, class: sreg_64, preferred-register: '' }
+ - { id: 421, class: sreg_64, preferred-register: '' }
+ - { id: 422, class: sreg_64, preferred-register: '' }
+ - { id: 423, class: sreg_64, preferred-register: '' }
+ - { id: 424, class: sreg_64, preferred-register: '' }
+ - { id: 425, class: sreg_64, preferred-register: '' }
+ - { id: 426, class: sgpr, preferred-register: '' }
+ - { id: 427, class: sgpr, preferred-register: '' }
+ - { id: 428, class: sgpr, preferred-register: '' }
+ - { id: 429, class: sgpr, preferred-register: '' }
+ - { id: 430, class: sgpr, preferred-register: '' }
+ - { id: 431, class: sgpr, preferred-register: '' }
+ - { id: 432, class: sgpr, preferred-register: '' }
+ - { id: 433, class: sgpr, preferred-register: '' }
+ - { id: 434, class: sgpr, preferred-register: '' }
+ - { id: 435, class: sreg_32, preferred-register: '' }
+ - { id: 436, class: sreg_64, preferred-register: '' }
+ - { id: 437, class: sreg_64, preferred-register: '' }
+ - { id: 438, class: sreg_64, preferred-register: '' }
+ - { id: 439, class: sreg_64, preferred-register: '' }
+ - { id: 440, class: sreg_64, preferred-register: '' }
+ - { id: 441, class: sreg_64, preferred-register: '' }
+ - { id: 442, class: sreg_64, preferred-register: '' }
+ - { id: 443, class: sreg_64, preferred-register: '' }
+ - { id: 444, class: sgpr, preferred-register: '' }
+ - { id: 445, class: sgpr, preferred-register: '' }
+ - { id: 446, class: sgpr, preferred-register: '' }
+ - { id: 447, class: sgpr, preferred-register: '' }
+ - { id: 448, class: sgpr, preferred-register: '' }
+ - { id: 449, class: sgpr, preferred-register: '' }
+ - { id: 450, class: sgpr, preferred-register: '' }
+ - { id: 451, class: sreg_32, preferred-register: '' }
+ - { id: 452, class: sreg_32, preferred-register: '' }
+ - { id: 453, class: sreg_32, preferred-register: '' }
+ - { id: 454, class: sgpr, preferred-register: '' }
+ - { id: 455, class: sreg_32, preferred-register: '' }
+ - { id: 456, class: sreg_32, preferred-register: '' }
+ - { id: 457, class: sreg_32, preferred-register: '' }
+ - { id: 458, class: sgpr, preferred-register: '' }
+ - { id: 459, class: sreg_32, preferred-register: '' }
+ - { id: 460, class: sreg_32, preferred-register: '' }
+ - { id: 461, class: sreg_32, preferred-register: '' }
+ - { id: 462, class: sgpr, preferred-register: '' }
+ - { id: 463, class: sreg_32, preferred-register: '' }
+ - { id: 464, class: sreg_32, preferred-register: '' }
+ - { id: 465, class: sreg_32, preferred-register: '' }
+ - { id: 466, class: sgpr, preferred-register: '' }
+ - { id: 467, class: sreg_32, preferred-register: '' }
+ - { id: 468, class: sreg_32, preferred-register: '' }
+ - { id: 469, class: sreg_32, preferred-register: '' }
+ - { id: 470, class: sgpr, preferred-register: '' }
+ - { id: 471, class: sreg_32, preferred-register: '' }
+ - { id: 472, class: sreg_32, preferred-register: '' }
+ - { id: 473, class: sreg_32, preferred-register: '' }
+ - { id: 474, class: sgpr, preferred-register: '' }
+ - { id: 475, class: sreg_32, preferred-register: '' }
+ - { id: 476, class: sreg_32, preferred-register: '' }
+ - { id: 477, class: sreg_32, preferred-register: '' }
+ - { id: 478, class: sgpr, preferred-register: '' }
+ - { id: 479, class: sreg_32, preferred-register: '' }
+ - { id: 480, class: sreg_32, preferred-register: '' }
+ - { id: 481, class: sreg_32, preferred-register: '' }
+ - { id: 482, class: sreg_32, preferred-register: '' }
+ - { id: 483, class: _, preferred-register: '' }
+ - { id: 484, class: sreg_64, preferred-register: '' }
+ - { id: 485, class: sreg_64, preferred-register: '' }
+ - { id: 486, class: sreg_32, preferred-register: '' }
+ - { id: 487, class: sreg_32, preferred-register: '' }
+ - { id: 488, class: _, preferred-register: '' }
+ - { id: 489, class: sreg_64, preferred-register: '' }
+ - { id: 490, class: sreg_64, preferred-register: '' }
+ - { id: 491, class: sreg_32, preferred-register: '' }
+ - { id: 492, class: sreg_32, preferred-register: '' }
+ - { id: 493, class: _, preferred-register: '' }
+ - { id: 494, class: sreg_64, preferred-register: '' }
+ - { id: 495, class: sreg_64, preferred-register: '' }
+ - { id: 496, class: sreg_32, preferred-register: '' }
+ - { id: 497, class: sreg_32, preferred-register: '' }
+ - { id: 498, class: _, preferred-register: '' }
+ - { id: 499, class: sreg_64, preferred-register: '' }
+ - { id: 500, class: sreg_64, preferred-register: '' }
+ - { id: 501, class: sreg_32, preferred-register: '' }
+ - { id: 502, class: sgpr_128, preferred-register: '' }
+ - { id: 503, class: sreg_32, preferred-register: '' }
+ - { id: 504, class: sgpr_128, preferred-register: '' }
+ - { id: 505, class: _, preferred-register: '' }
+ - { id: 506, class: sgpr_256, preferred-register: '' }
+ - { id: 507, class: _, preferred-register: '' }
+ - { id: 508, class: _, preferred-register: '' }
+ - { id: 509, class: _, preferred-register: '' }
+ - { id: 510, class: _, preferred-register: '' }
+ - { id: 511, class: sgpr, preferred-register: '' }
+ - { id: 512, class: sgpr, preferred-register: '' }
+ - { id: 513, class: sgpr, preferred-register: '' }
+ - { id: 514, class: sgpr, preferred-register: '' }
+ - { id: 515, class: sgpr, preferred-register: '' }
+ - { id: 516, class: sgpr, preferred-register: '' }
+ - { id: 517, class: sgpr, preferred-register: '' }
+ - { id: 518, class: sreg_32, preferred-register: '' }
+ - { id: 519, class: sreg_32, preferred-register: '' }
+ - { id: 520, class: vgpr_32, preferred-register: '' }
+ - { id: 521, class: sreg_64_xexec, preferred-register: '' }
+ - { id: 522, class: _, preferred-register: '' }
+ - { id: 523, class: _, preferred-register: '' }
+ - { id: 524, class: sreg_64, preferred-register: '' }
+ - { id: 525, class: _, preferred-register: '' }
+ - { id: 526, class: _, preferred-register: '' }
+ - { id: 527, class: _, preferred-register: '' }
+ - { id: 528, class: _, preferred-register: '' }
+ - { id: 529, class: _, preferred-register: '' }
+ - { id: 530, class: sreg_32, preferred-register: '' }
+ - { id: 531, class: vgpr_32, preferred-register: '' }
+ - { id: 532, class: sreg_32, preferred-register: '' }
+ - { id: 533, class: sreg_32, preferred-register: '' }
+ - { id: 534, class: sreg_32, preferred-register: '' }
+ - { id: 535, class: sreg_32, preferred-register: '' }
+ - { id: 536, class: vgpr, preferred-register: '' }
+ - { id: 537, class: sgpr_128, preferred-register: '' }
+ - { id: 538, class: vgpr_32, preferred-register: '' }
+ - { id: 539, class: sreg_64, preferred-register: '' }
+ - { id: 540, class: _, preferred-register: '' }
+ - { id: 541, class: sreg_32, preferred-register: '' }
+ - { id: 542, class: _, preferred-register: '' }
+ - { id: 543, class: _, preferred-register: '' }
+ - { id: 544, class: _, preferred-register: '' }
+ - { id: 545, class: sgpr, preferred-register: '' }
+ - { id: 546, class: sgpr, preferred-register: '' }
+ - { id: 547, class: sgpr, preferred-register: '' }
+ - { id: 548, class: sgpr, preferred-register: '' }
+ - { id: 549, class: sgpr, preferred-register: '' }
+ - { id: 550, class: sgpr, preferred-register: '' }
+ - { id: 551, class: sgpr, preferred-register: '' }
+ - { id: 552, class: sgpr, preferred-register: '' }
+ - { id: 553, class: sgpr, preferred-register: '' }
+ - { id: 554, class: sgpr, preferred-register: '' }
+ - { id: 555, class: sgpr, preferred-register: '' }
+ - { id: 556, class: sgpr, preferred-register: '' }
+ - { id: 557, class: sgpr, preferred-register: '' }
+ - { id: 558, class: sgpr, preferred-register: '' }
+ - { id: 559, class: sgpr, preferred-register: '' }
+ - { id: 560, class: sgpr, preferred-register: '' }
+ - { id: 561, class: sgpr, preferred-register: '' }
+ - { id: 562, class: sgpr, preferred-register: '' }
+ - { id: 563, class: sgpr, preferred-register: '' }
+ - { id: 564, class: sgpr, preferred-register: '' }
+ - { id: 565, class: sgpr, preferred-register: '' }
+ - { id: 566, class: sgpr, preferred-register: '' }
+ - { id: 567, class: sgpr, preferred-register: '' }
+ - { id: 568, class: sgpr, preferred-register: '' }
+ - { id: 569, class: sgpr, preferred-register: '' }
+ - { id: 570, class: sgpr, preferred-register: '' }
+ - { id: 571, class: sgpr, preferred-register: '' }
+ - { id: 572, class: sgpr, preferred-register: '' }
+ - { id: 573, class: vreg_256, preferred-register: '' }
+ - { id: 574, class: sgpr_256, preferred-register: '' }
+ - { id: 575, class: _, preferred-register: '' }
+ - { id: 576, class: _, preferred-register: '' }
+ - { id: 577, class: _, preferred-register: '' }
+ - { id: 578, class: _, preferred-register: '' }
+ - { id: 579, class: sgpr, preferred-register: '' }
+ - { id: 580, class: sgpr, preferred-register: '' }
+ - { id: 581, class: sgpr, preferred-register: '' }
+ - { id: 582, class: sgpr, preferred-register: '' }
+ - { id: 583, class: sgpr, preferred-register: '' }
+ - { id: 584, class: sgpr, preferred-register: '' }
+ - { id: 585, class: sgpr, preferred-register: '' }
+ - { id: 586, class: sgpr, preferred-register: '' }
+ - { id: 587, class: sgpr, preferred-register: '' }
+ - { id: 588, class: sgpr, preferred-register: '' }
+ - { id: 589, class: sgpr, preferred-register: '' }
+ - { id: 590, class: sgpr, preferred-register: '' }
+ - { id: 591, class: sgpr, preferred-register: '' }
+ - { id: 592, class: sgpr, preferred-register: '' }
+ - { id: 593, class: sgpr, preferred-register: '' }
+ - { id: 594, class: sgpr, preferred-register: '' }
+ - { id: 595, class: sgpr, preferred-register: '' }
+ - { id: 596, class: sgpr, preferred-register: '' }
+ - { id: 597, class: sgpr, preferred-register: '' }
+ - { id: 598, class: sgpr, preferred-register: '' }
+ - { id: 599, class: sgpr, preferred-register: '' }
+ - { id: 600, class: sgpr, preferred-register: '' }
+ - { id: 601, class: sgpr, preferred-register: '' }
+ - { id: 602, class: sgpr, preferred-register: '' }
+ - { id: 603, class: sgpr, preferred-register: '' }
+ - { id: 604, class: sgpr, preferred-register: '' }
+ - { id: 605, class: sgpr, preferred-register: '' }
+ - { id: 606, class: sgpr, preferred-register: '' }
+ - { id: 607, class: sgpr_256, preferred-register: '' }
+ - { id: 608, class: sreg_32, preferred-register: '' }
+ - { id: 609, class: sreg_32, preferred-register: '' }
+ - { id: 610, class: sgpr, preferred-register: '' }
+ - { id: 611, class: sgpr, preferred-register: '' }
+ - { id: 612, class: sgpr, preferred-register: '' }
+ - { id: 613, class: sgpr, preferred-register: '' }
+ - { id: 614, class: sgpr, preferred-register: '' }
+ - { id: 615, class: sgpr, preferred-register: '' }
+ - { id: 616, class: sgpr, preferred-register: '' }
+ - { id: 617, class: sgpr, preferred-register: '' }
+ - { id: 618, class: sgpr, preferred-register: '' }
+ - { id: 619, class: sgpr, preferred-register: '' }
+ - { id: 620, class: sgpr, preferred-register: '' }
+ - { id: 621, class: sgpr, preferred-register: '' }
+ - { id: 622, class: sgpr, preferred-register: '' }
+ - { id: 623, class: sgpr, preferred-register: '' }
+ - { id: 624, class: sgpr, preferred-register: '' }
+ - { id: 625, class: sgpr, preferred-register: '' }
+ - { id: 626, class: sgpr, preferred-register: '' }
+ - { id: 627, class: sgpr, preferred-register: '' }
+ - { id: 628, class: sgpr, preferred-register: '' }
+ - { id: 629, class: sgpr, preferred-register: '' }
+ - { id: 630, class: sgpr, preferred-register: '' }
+ - { id: 631, class: sgpr, preferred-register: '' }
+ - { id: 632, class: sgpr, preferred-register: '' }
+ - { id: 633, class: sgpr, preferred-register: '' }
+ - { id: 634, class: sgpr, preferred-register: '' }
+ - { id: 635, class: sgpr, preferred-register: '' }
+ - { id: 636, class: sgpr, preferred-register: '' }
+ - { id: 637, class: sgpr, preferred-register: '' }
+ - { id: 638, class: sgpr, preferred-register: '' }
+ - { id: 639, class: sgpr, preferred-register: '' }
+ - { id: 640, class: sgpr, preferred-register: '' }
+ - { id: 641, class: sgpr, preferred-register: '' }
+ - { id: 642, class: sgpr, preferred-register: '' }
+ - { id: 643, class: sgpr, preferred-register: '' }
+ - { id: 644, class: sgpr, preferred-register: '' }
+ - { id: 645, class: sgpr, preferred-register: '' }
+ - { id: 646, class: sgpr, preferred-register: '' }
+ - { id: 647, class: sgpr, preferred-register: '' }
+ - { id: 648, class: sgpr, preferred-register: '' }
+ - { id: 649, class: sgpr, preferred-register: '' }
+ - { id: 650, class: sgpr, preferred-register: '' }
+ - { id: 651, class: sgpr, preferred-register: '' }
+ - { id: 652, class: sgpr, preferred-register: '' }
+ - { id: 653, class: sgpr, preferred-register: '' }
+ - { id: 654, class: sreg_32, preferred-register: '' }
+ - { id: 655, class: _, preferred-register: '' }
+ - { id: 656, class: _, preferred-register: '' }
+ - { id: 657, class: _, preferred-register: '' }
+ - { id: 658, class: _, preferred-register: '' }
+ - { id: 659, class: _, preferred-register: '' }
+ - { id: 660, class: sreg_32, preferred-register: '' }
+ - { id: 661, class: _, preferred-register: '' }
+ - { id: 662, class: sreg_32, preferred-register: '' }
+ - { id: 663, class: _, preferred-register: '' }
+ - { id: 664, class: _, preferred-register: '' }
+ - { id: 665, class: sreg_32, preferred-register: '' }
+ - { id: 666, class: sreg_32, preferred-register: '' }
+ - { id: 667, class: sreg_32, preferred-register: '' }
+ - { id: 668, class: sreg_32, preferred-register: '' }
+ - { id: 669, class: sreg_32, preferred-register: '' }
+ - { id: 670, class: sreg_32, preferred-register: '' }
+ - { id: 671, class: sreg_32, preferred-register: '' }
+ - { id: 672, class: sreg_32, preferred-register: '' }
+ - { id: 673, class: sreg_32, preferred-register: '' }
+ - { id: 674, class: sreg_32, preferred-register: '' }
+ - { id: 675, class: sreg_32, preferred-register: '' }
+ - { id: 676, class: _, preferred-register: '' }
+ - { id: 677, class: _, preferred-register: '' }
+ - { id: 678, class: _, preferred-register: '' }
+ - { id: 679, class: _, preferred-register: '' }
+ - { id: 680, class: _, preferred-register: '' }
+ - { id: 681, class: _, preferred-register: '' }
+ - { id: 682, class: sreg_64, preferred-register: '' }
+ - { id: 683, class: _, preferred-register: '' }
+ - { id: 684, class: _, preferred-register: '' }
+ - { id: 685, class: _, preferred-register: '' }
+ - { id: 686, class: _, preferred-register: '' }
+ - { id: 687, class: _, preferred-register: '' }
+ - { id: 688, class: _, preferred-register: '' }
+ - { id: 689, class: sreg_64, preferred-register: '' }
+ - { id: 690, class: sreg_64, preferred-register: '' }
+ - { id: 691, class: sreg_64, preferred-register: '' }
+ - { id: 692, class: sreg_64, preferred-register: '' }
+ - { id: 693, class: sreg_64, preferred-register: '' }
+ - { id: 694, class: sreg_64, preferred-register: '' }
+ - { id: 695, class: sreg_64, preferred-register: '' }
+ - { id: 696, class: sreg_64, preferred-register: '' }
+ - { id: 697, class: sreg_64, preferred-register: '' }
+ - { id: 698, class: sreg_64, preferred-register: '' }
+ - { id: 699, class: sreg_64, preferred-register: '' }
+ - { id: 700, class: sreg_64, preferred-register: '' }
+ - { id: 701, class: sreg_64, preferred-register: '' }
+ - { id: 702, class: sreg_64, preferred-register: '' }
+ - { id: 703, class: sreg_64, preferred-register: '' }
+ - { id: 704, class: sreg_64, preferred-register: '' }
+ - { id: 705, class: sreg_64, preferred-register: '' }
+ - { id: 706, class: sreg_64, preferred-register: '' }
+ - { id: 707, class: sreg_64, preferred-register: '' }
+ - { id: 708, class: sreg_64, preferred-register: '' }
+ - { id: 709, class: sreg_64, preferred-register: '' }
+ - { id: 710, class: sreg_64, preferred-register: '' }
+ - { id: 711, class: sreg_64, preferred-register: '' }
+ - { id: 712, class: sreg_64, preferred-register: '' }
+ - { id: 713, class: sreg_64, preferred-register: '' }
+ - { id: 714, class: sreg_64, preferred-register: '' }
+ - { id: 715, class: sreg_64, preferred-register: '' }
+ - { id: 716, class: sreg_64, preferred-register: '' }
+ - { id: 717, class: sreg_64, preferred-register: '' }
+ - { id: 718, class: sreg_64, preferred-register: '' }
+ - { id: 719, class: sreg_64, preferred-register: '' }
+ - { id: 720, class: sreg_64, preferred-register: '' }
+ - { id: 721, class: _, preferred-register: '' }
+ - { id: 722, class: _, preferred-register: '' }
+ - { id: 723, class: sgpr, preferred-register: '' }
+ - { id: 724, class: sgpr, preferred-register: '' }
+ - { id: 725, class: sgpr, preferred-register: '' }
+ - { id: 726, class: sgpr, preferred-register: '' }
+ - { id: 727, class: sgpr, preferred-register: '' }
+ - { id: 728, class: sgpr, preferred-register: '' }
+ - { id: 729, class: sgpr, preferred-register: '' }
+ - { id: 730, class: sgpr, preferred-register: '' }
+ - { id: 731, class: sgpr, preferred-register: '' }
+ - { id: 732, class: sgpr, preferred-register: '' }
+ - { id: 733, class: sgpr, preferred-register: '' }
+ - { id: 734, class: sgpr, preferred-register: '' }
+ - { id: 735, class: sgpr, preferred-register: '' }
+ - { id: 736, class: sgpr, preferred-register: '' }
+ - { id: 737, class: sgpr, preferred-register: '' }
+ - { id: 738, class: sgpr, preferred-register: '' }
+ - { id: 739, class: sgpr, preferred-register: '' }
+ - { id: 740, class: sgpr, preferred-register: '' }
+ - { id: 741, class: sgpr, preferred-register: '' }
+ - { id: 742, class: sgpr, preferred-register: '' }
+ - { id: 743, class: sgpr, preferred-register: '' }
+ - { id: 744, class: sgpr, preferred-register: '' }
+ - { id: 745, class: sgpr, preferred-register: '' }
+ - { id: 746, class: sgpr, preferred-register: '' }
+ - { id: 747, class: sgpr, preferred-register: '' }
+ - { id: 748, class: sgpr, preferred-register: '' }
+ - { id: 749, class: sgpr, preferred-register: '' }
+ - { id: 750, class: sgpr, preferred-register: '' }
+ - { id: 751, class: sgpr, preferred-register: '' }
+ - { id: 752, class: sgpr, preferred-register: '' }
+ - { id: 753, class: sgpr, preferred-register: '' }
+ - { id: 754, class: sgpr, preferred-register: '' }
+ - { id: 755, class: sreg_32, preferred-register: '' }
+ - { id: 756, class: sreg_32, preferred-register: '' }
+ - { id: 757, class: sreg_64, preferred-register: '' }
+ - { id: 758, class: sreg_64, preferred-register: '' }
+ - { id: 759, class: sreg_64, preferred-register: '' }
+ - { id: 760, class: sreg_64, preferred-register: '' }
+ - { id: 761, class: sreg_32, preferred-register: '' }
+ - { id: 762, class: sreg_32, preferred-register: '' }
+ - { id: 763, class: sreg_32, preferred-register: '' }
+ - { id: 764, class: sreg_32, preferred-register: '' }
+ - { id: 765, class: sreg_32, preferred-register: '' }
+ - { id: 766, class: sgpr, preferred-register: '' }
+ - { id: 767, class: sreg_32, preferred-register: '' }
+ - { id: 768, class: sgpr, preferred-register: '' }
+ - { id: 769, class: _, preferred-register: '' }
+ - { id: 770, class: sreg_32, preferred-register: '' }
+ - { id: 771, class: sreg_32, preferred-register: '' }
+ - { id: 772, class: sreg_32, preferred-register: '' }
+ - { id: 773, class: sreg_32, preferred-register: '' }
+ - { id: 774, class: sreg_32, preferred-register: '' }
+ - { id: 775, class: sgpr, preferred-register: '' }
+ - { id: 776, class: sreg_32, preferred-register: '' }
+ - { id: 777, class: sgpr, preferred-register: '' }
+ - { id: 778, class: _, preferred-register: '' }
+ - { id: 779, class: sreg_32, preferred-register: '' }
+ - { id: 780, class: sreg_32, preferred-register: '' }
+ - { id: 781, class: sreg_32, preferred-register: '' }
+ - { id: 782, class: sreg_32, preferred-register: '' }
+ - { id: 783, class: sreg_32, preferred-register: '' }
+ - { id: 784, class: sgpr, preferred-register: '' }
+ - { id: 785, class: sreg_32, preferred-register: '' }
+ - { id: 786, class: sgpr, preferred-register: '' }
+ - { id: 787, class: _, preferred-register: '' }
+ - { id: 788, class: sreg_32, preferred-register: '' }
+ - { id: 789, class: sreg_32, preferred-register: '' }
+ - { id: 790, class: sreg_32, preferred-register: '' }
+ - { id: 791, class: sreg_32, preferred-register: '' }
+ - { id: 792, class: sreg_32, preferred-register: '' }
+ - { id: 793, class: sgpr, preferred-register: '' }
+ - { id: 794, class: sreg_32, preferred-register: '' }
+ - { id: 795, class: sgpr, preferred-register: '' }
+ - { id: 796, class: _, preferred-register: '' }
+ - { id: 797, class: sreg_32, preferred-register: '' }
+ - { id: 798, class: sreg_32, preferred-register: '' }
+ - { id: 799, class: sreg_32, preferred-register: '' }
+ - { id: 800, class: sreg_32, preferred-register: '' }
+ - { id: 801, class: sreg_32, preferred-register: '' }
+ - { id: 802, class: sgpr, preferred-register: '' }
+ - { id: 803, class: sreg_32, preferred-register: '' }
+ - { id: 804, class: sgpr, preferred-register: '' }
+ - { id: 805, class: sreg_32, preferred-register: '' }
+ - { id: 806, class: _, preferred-register: '' }
+ - { id: 807, class: sreg_32, preferred-register: '' }
+ - { id: 808, class: sreg_32, preferred-register: '' }
+ - { id: 809, class: sreg_32, preferred-register: '' }
+ - { id: 810, class: sreg_32, preferred-register: '' }
+ - { id: 811, class: sreg_32, preferred-register: '' }
+ - { id: 812, class: sgpr, preferred-register: '' }
+ - { id: 813, class: sreg_32, preferred-register: '' }
+ - { id: 814, class: sgpr, preferred-register: '' }
+ - { id: 815, class: _, preferred-register: '' }
+ - { id: 816, class: sreg_32, preferred-register: '' }
+ - { id: 817, class: sreg_32, preferred-register: '' }
+ - { id: 818, class: sreg_32, preferred-register: '' }
+ - { id: 819, class: sreg_32, preferred-register: '' }
+ - { id: 820, class: sreg_32, preferred-register: '' }
+ - { id: 821, class: sgpr, preferred-register: '' }
+ - { id: 822, class: sreg_32, preferred-register: '' }
+ - { id: 823, class: sgpr, preferred-register: '' }
+ - { id: 824, class: _, preferred-register: '' }
+ - { id: 825, class: sreg_32, preferred-register: '' }
+ - { id: 826, class: sreg_32, preferred-register: '' }
+ - { id: 827, class: sreg_32, preferred-register: '' }
+ - { id: 828, class: sreg_32, preferred-register: '' }
+ - { id: 829, class: sreg_32, preferred-register: '' }
+ - { id: 830, class: sgpr, preferred-register: '' }
+ - { id: 831, class: sreg_32, preferred-register: '' }
+ - { id: 832, class: sgpr, preferred-register: '' }
+ - { id: 833, class: sreg_64, preferred-register: '' }
+ - { id: 834, class: sreg_64, preferred-register: '' }
+ - { id: 835, class: sreg_64, preferred-register: '' }
+ - { id: 836, class: sreg_64, preferred-register: '' }
+ - { id: 837, class: _, preferred-register: '' }
+ - { id: 838, class: vreg_64, preferred-register: '' }
+ - { id: 839, class: vreg_64, preferred-register: '' }
+ - { id: 840, class: vreg_64, preferred-register: '' }
+ - { id: 841, class: vreg_64, preferred-register: '' }
+ - { id: 842, class: sreg_32, preferred-register: '' }
+ - { id: 843, class: sreg_32, preferred-register: '' }
+ - { id: 844, class: sreg_32, preferred-register: '' }
+ - { id: 845, class: sreg_32, preferred-register: '' }
+ - { id: 846, class: sreg_32, preferred-register: '' }
+ - { id: 847, class: sgpr, preferred-register: '' }
+ - { id: 848, class: sreg_32, preferred-register: '' }
+ - { id: 849, class: sgpr, preferred-register: '' }
+ - { id: 850, class: _, preferred-register: '' }
+ - { id: 851, class: sreg_32, preferred-register: '' }
+ - { id: 852, class: sreg_32, preferred-register: '' }
+ - { id: 853, class: sreg_32, preferred-register: '' }
+ - { id: 854, class: sreg_32, preferred-register: '' }
+ - { id: 855, class: sreg_32, preferred-register: '' }
+ - { id: 856, class: sgpr, preferred-register: '' }
+ - { id: 857, class: sreg_32, preferred-register: '' }
+ - { id: 858, class: sgpr, preferred-register: '' }
+ - { id: 859, class: _, preferred-register: '' }
+ - { id: 860, class: sreg_32, preferred-register: '' }
+ - { id: 861, class: sreg_32, preferred-register: '' }
+ - { id: 862, class: sreg_32, preferred-register: '' }
+ - { id: 863, class: sreg_32, preferred-register: '' }
+ - { id: 864, class: sreg_32, preferred-register: '' }
+ - { id: 865, class: sgpr, preferred-register: '' }
+ - { id: 866, class: sreg_32, preferred-register: '' }
+ - { id: 867, class: sgpr, preferred-register: '' }
+ - { id: 868, class: _, preferred-register: '' }
+ - { id: 869, class: sreg_32, preferred-register: '' }
+ - { id: 870, class: sreg_32, preferred-register: '' }
+ - { id: 871, class: sreg_32, preferred-register: '' }
+ - { id: 872, class: sreg_32, preferred-register: '' }
+ - { id: 873, class: sreg_32, preferred-register: '' }
+ - { id: 874, class: sgpr, preferred-register: '' }
+ - { id: 875, class: sreg_32, preferred-register: '' }
+ - { id: 876, class: sgpr, preferred-register: '' }
+ - { id: 877, class: _, preferred-register: '' }
+ - { id: 878, class: sreg_32, preferred-register: '' }
+ - { id: 879, class: sreg_32, preferred-register: '' }
+ - { id: 880, class: sreg_32, preferred-register: '' }
+ - { id: 881, class: sreg_32, preferred-register: '' }
+ - { id: 882, class: sreg_32, preferred-register: '' }
+ - { id: 883, class: sgpr, preferred-register: '' }
+ - { id: 884, class: sreg_32, preferred-register: '' }
+ - { id: 885, class: sgpr, preferred-register: '' }
+ - { id: 886, class: sreg_32, preferred-register: '' }
+ - { id: 887, class: _, preferred-register: '' }
+ - { id: 888, class: sreg_32, preferred-register: '' }
+ - { id: 889, class: sreg_32, preferred-register: '' }
+ - { id: 890, class: sreg_32, preferred-register: '' }
+ - { id: 891, class: sreg_32, preferred-register: '' }
+ - { id: 892, class: sreg_32, preferred-register: '' }
+ - { id: 893, class: sgpr, preferred-register: '' }
+ - { id: 894, class: sreg_32, preferred-register: '' }
+ - { id: 895, class: sgpr, preferred-register: '' }
+ - { id: 896, class: _, preferred-register: '' }
+ - { id: 897, class: sreg_32, preferred-register: '' }
+ - { id: 898, class: sreg_32, preferred-register: '' }
+ - { id: 899, class: sreg_32, preferred-register: '' }
+ - { id: 900, class: sreg_32, preferred-register: '' }
+ - { id: 901, class: sreg_32, preferred-register: '' }
+ - { id: 902, class: sgpr, preferred-register: '' }
+ - { id: 903, class: sreg_32, preferred-register: '' }
+ - { id: 904, class: sgpr, preferred-register: '' }
+ - { id: 905, class: _, preferred-register: '' }
+ - { id: 906, class: sreg_32, preferred-register: '' }
+ - { id: 907, class: sreg_32, preferred-register: '' }
+ - { id: 908, class: sreg_32, preferred-register: '' }
+ - { id: 909, class: sreg_32, preferred-register: '' }
+ - { id: 910, class: sreg_32, preferred-register: '' }
+ - { id: 911, class: sgpr, preferred-register: '' }
+ - { id: 912, class: sreg_32, preferred-register: '' }
+ - { id: 913, class: sgpr, preferred-register: '' }
+ - { id: 914, class: vgpr_32, preferred-register: '' }
+ - { id: 915, class: vgpr_32, preferred-register: '' }
+ - { id: 916, class: sreg_32, preferred-register: '' }
+ - { id: 917, class: vgpr_32, preferred-register: '' }
+ - { id: 918, class: vgpr_32, preferred-register: '' }
+ - { id: 919, class: sreg_32, preferred-register: '' }
+ - { id: 920, class: vgpr_32, preferred-register: '' }
+ - { id: 921, class: vgpr_32, preferred-register: '' }
+ - { id: 922, class: sreg_32, preferred-register: '' }
+ - { id: 923, class: vgpr_32, preferred-register: '' }
+ - { id: 924, class: vgpr_32, preferred-register: '' }
+ - { id: 925, class: sreg_32, preferred-register: '' }
+ - { id: 926, class: sgpr, preferred-register: '' }
+ - { id: 927, class: sreg_64_xexec, preferred-register: '' }
+ - { id: 928, class: sreg_32, preferred-register: '' }
+ - { id: 929, class: sgpr, preferred-register: '' }
+ - { id: 930, class: sreg_32, preferred-register: '' }
+ - { id: 931, class: sreg_32, preferred-register: '' }
+ - { id: 932, class: sreg_32, preferred-register: '' }
+ - { id: 933, class: sreg_32, preferred-register: '' }
+ - { id: 934, class: sgpr, preferred-register: '' }
+ - { id: 935, class: sreg_32, preferred-register: '' }
+ - { id: 936, class: sreg_32, preferred-register: '' }
+ - { id: 937, class: sreg_32, preferred-register: '' }
+ - { id: 938, class: sgpr, preferred-register: '' }
+ - { id: 939, class: sreg_32, preferred-register: '' }
+ - { id: 940, class: sreg_32, preferred-register: '' }
+ - { id: 941, class: sreg_32, preferred-register: '' }
+ - { id: 942, class: sreg_32, preferred-register: '' }
+ - { id: 943, class: sgpr, preferred-register: '' }
+ - { id: 944, class: sreg_32, preferred-register: '' }
+ - { id: 945, class: sreg_32, preferred-register: '' }
+ - { id: 946, class: sreg_32, preferred-register: '' }
+ - { id: 947, class: sgpr, preferred-register: '' }
+ - { id: 948, class: sreg_32, preferred-register: '' }
+ - { id: 949, class: sreg_32, preferred-register: '' }
+ - { id: 950, class: sreg_32_xm0, preferred-register: '' }
+ - { id: 951, class: sreg_32, preferred-register: '' }
+ - { id: 952, class: sgpr, preferred-register: '' }
+ - { id: 953, class: sreg_32, preferred-register: '' }
+ - { id: 954, class: sreg_32, preferred-register: '' }
+ - { id: 955, class: sreg_32, preferred-register: '' }
+ - { id: 956, class: sreg_32, preferred-register: '' }
+ - { id: 957, class: sreg_32, preferred-register: '' }
+ - { id: 958, class: sgpr, preferred-register: '' }
+ - { id: 959, class: sreg_32, preferred-register: '' }
+ - { id: 960, class: sreg_32, preferred-register: '' }
+ - { id: 961, class: sreg_32, preferred-register: '' }
+ - { id: 962, class: sgpr, preferred-register: '' }
+ - { id: 963, class: sreg_32, preferred-register: '' }
+ - { id: 964, class: sreg_32, preferred-register: '' }
+ - { id: 965, class: sreg_32, preferred-register: '' }
+ - { id: 966, class: sreg_32, preferred-register: '' }
+ - { id: 967, class: sgpr, preferred-register: '' }
+ - { id: 968, class: sreg_32, preferred-register: '' }
+ - { id: 969, class: sreg_32, preferred-register: '' }
+ - { id: 970, class: sreg_32, preferred-register: '' }
+ - { id: 971, class: sgpr, preferred-register: '' }
+ - { id: 972, class: sreg_32, preferred-register: '' }
+ - { id: 973, class: sreg_32, preferred-register: '' }
+ - { id: 974, class: sreg_32, preferred-register: '' }
+ - { id: 975, class: sreg_32, preferred-register: '' }
+ - { id: 976, class: sgpr, preferred-register: '' }
+ - { id: 977, class: sreg_32, preferred-register: '' }
+ - { id: 978, class: sreg_32, preferred-register: '' }
+ - { id: 979, class: sreg_32, preferred-register: '' }
+ - { id: 980, class: sgpr, preferred-register: '' }
+ - { id: 981, class: sreg_32, preferred-register: '' }
+ - { id: 982, class: sreg_32, preferred-register: '' }
+ - { id: 983, class: sreg_32, preferred-register: '' }
+ - { id: 984, class: sreg_32, preferred-register: '' }
+ - { id: 985, class: sgpr, preferred-register: '' }
+ - { id: 986, class: sreg_32, preferred-register: '' }
+ - { id: 987, class: sreg_32, preferred-register: '' }
+ - { id: 988, class: sreg_32, preferred-register: '' }
+ - { id: 989, class: sgpr, preferred-register: '' }
+ - { id: 990, class: sreg_32, preferred-register: '' }
+ - { id: 991, class: sreg_32, preferred-register: '' }
+ - { id: 992, class: sreg_32, preferred-register: '' }
+ - { id: 993, class: sgpr, preferred-register: '' }
+ - { id: 994, class: sreg_32, preferred-register: '' }
+ - { id: 995, class: sreg_32, preferred-register: '' }
+ - { id: 996, class: sreg_32, preferred-register: '' }
+ - { id: 997, class: sgpr, preferred-register: '' }
+ - { id: 998, class: sreg_32, preferred-register: '' }
+ - { id: 999, class: sreg_32, preferred-register: '' }
+ - { id: 1000, class: sreg_32, preferred-register: '' }
+ - { id: 1001, class: sgpr, preferred-register: '' }
+ - { id: 1002, class: sgpr, preferred-register: '' }
+ - { id: 1003, class: sreg_32, preferred-register: '' }
+ - { id: 1004, class: sgpr, preferred-register: '' }
+ - { id: 1005, class: sgpr, preferred-register: '' }
+ - { id: 1006, class: sreg_32, preferred-register: '' }
+ - { id: 1007, class: sreg_32, preferred-register: '' }
+ - { id: 1008, class: sgpr, preferred-register: '' }
+ - { id: 1009, class: sgpr, preferred-register: '' }
+ - { id: 1010, class: sreg_32, preferred-register: '' }
+ - { id: 1011, class: sgpr, preferred-register: '' }
+ - { id: 1012, class: sgpr, preferred-register: '' }
+ - { id: 1013, class: sreg_32, preferred-register: '' }
+ - { id: 1014, class: sgpr, preferred-register: '' }
+ - { id: 1015, class: sgpr, preferred-register: '' }
+ - { id: 1016, class: sreg_32, preferred-register: '' }
+ - { id: 1017, class: sreg_32, preferred-register: '' }
+ - { id: 1018, class: sgpr, preferred-register: '' }
+ - { id: 1019, class: sgpr, preferred-register: '' }
+ - { id: 1020, class: sreg_32, preferred-register: '' }
+ - { id: 1021, class: sgpr, preferred-register: '' }
+ - { id: 1022, class: sgpr, preferred-register: '' }
+ - { id: 1023, class: sreg_32, preferred-register: '' }
+ - { id: 1024, class: sgpr, preferred-register: '' }
+ - { id: 1025, class: sgpr, preferred-register: '' }
+ - { id: 1026, class: sreg_32, preferred-register: '' }
+ - { id: 1027, class: sgpr, preferred-register: '' }
+ - { id: 1028, class: sgpr, preferred-register: '' }
+ - { id: 1029, class: sreg_32, preferred-register: '' }
+ - { id: 1030, class: sreg_32, preferred-register: '' }
+ - { id: 1031, class: sgpr, preferred-register: '' }
+ - { id: 1032, class: sgpr, preferred-register: '' }
+ - { id: 1033, class: sreg_32, preferred-register: '' }
+ - { id: 1034, class: sgpr, preferred-register: '' }
+ - { id: 1035, class: sgpr, preferred-register: '' }
+ - { id: 1036, class: sreg_32, preferred-register: '' }
+ - { id: 1037, class: sgpr, preferred-register: '' }
+ - { id: 1038, class: sgpr, preferred-register: '' }
+ - { id: 1039, class: sreg_32, preferred-register: '' }
+ - { id: 1040, class: sgpr, preferred-register: '' }
+ - { id: 1041, class: sgpr, preferred-register: '' }
+ - { id: 1042, class: sreg_32, preferred-register: '' }
+ - { id: 1043, class: sgpr, preferred-register: '' }
+ - { id: 1044, class: sgpr, preferred-register: '' }
+ - { id: 1045, class: sreg_32, preferred-register: '' }
+ - { id: 1046, class: sreg_32, preferred-register: '' }
+ - { id: 1047, class: sgpr, preferred-register: '' }
+ - { id: 1048, class: sgpr, preferred-register: '' }
+ - { id: 1049, class: sreg_32, preferred-register: '' }
+ - { id: 1050, class: sgpr, preferred-register: '' }
+ - { id: 1051, class: sgpr, preferred-register: '' }
+ - { id: 1052, class: sreg_32, preferred-register: '' }
+ - { id: 1053, class: sgpr, preferred-register: '' }
+ - { id: 1054, class: sgpr, preferred-register: '' }
+ - { id: 1055, class: sreg_32, preferred-register: '' }
+ - { id: 1056, class: sgpr, preferred-register: '' }
+ - { id: 1057, class: sgpr, preferred-register: '' }
+ - { id: 1058, class: sreg_32, preferred-register: '' }
+ - { id: 1059, class: sgpr, preferred-register: '' }
+ - { id: 1060, class: sgpr, preferred-register: '' }
+ - { id: 1061, class: sreg_32, preferred-register: '' }
+ - { id: 1062, class: sgpr, preferred-register: '' }
+ - { id: 1063, class: sgpr, preferred-register: '' }
+ - { id: 1064, class: sreg_32, preferred-register: '' }
+ - { id: 1065, class: sreg_32, preferred-register: '' }
+ - { id: 1066, class: sgpr, preferred-register: '' }
+ - { id: 1067, class: sgpr, preferred-register: '' }
+ - { id: 1068, class: sreg_32, preferred-register: '' }
+ - { id: 1069, class: sgpr, preferred-register: '' }
+ - { id: 1070, class: sgpr, preferred-register: '' }
+ - { id: 1071, class: sreg_32, preferred-register: '' }
+ - { id: 1072, class: sgpr, preferred-register: '' }
+ - { id: 1073, class: sgpr, preferred-register: '' }
+ - { id: 1074, class: sreg_32, preferred-register: '' }
+ - { id: 1075, class: sgpr, preferred-register: '' }
+ - { id: 1076, class: sgpr, preferred-register: '' }
+ - { id: 1077, class: sreg_32, preferred-register: '' }
+ - { id: 1078, class: sgpr, preferred-register: '' }
+ - { id: 1079, class: sgpr, preferred-register: '' }
+ - { id: 1080, class: sreg_32, preferred-register: '' }
+ - { id: 1081, class: sgpr, preferred-register: '' }
+ - { id: 1082, class: sgpr, preferred-register: '' }
+ - { id: 1083, class: sreg_32, preferred-register: '' }
+ - { id: 1084, class: sgpr, preferred-register: '' }
+ - { id: 1085, class: sgpr, preferred-register: '' }
+ - { id: 1086, class: sreg_32, preferred-register: '' }
+ - { id: 1087, class: sreg_32, preferred-register: '' }
+ - { id: 1088, class: sgpr, preferred-register: '' }
+ - { id: 1089, class: sgpr, preferred-register: '' }
+ - { id: 1090, class: sreg_32, preferred-register: '' }
+ - { id: 1091, class: sgpr, preferred-register: '' }
+ - { id: 1092, class: sgpr, preferred-register: '' }
+ - { id: 1093, class: sreg_32, preferred-register: '' }
+ - { id: 1094, class: sgpr, preferred-register: '' }
+ - { id: 1095, class: sgpr, preferred-register: '' }
+ - { id: 1096, class: sreg_32, preferred-register: '' }
+ - { id: 1097, class: sgpr, preferred-register: '' }
+ - { id: 1098, class: sgpr, preferred-register: '' }
+ - { id: 1099, class: sreg_32, preferred-register: '' }
+ - { id: 1100, class: sgpr, preferred-register: '' }
+ - { id: 1101, class: sgpr, preferred-register: '' }
+ - { id: 1102, class: sreg_32, preferred-register: '' }
+ - { id: 1103, class: sgpr, preferred-register: '' }
+ - { id: 1104, class: sgpr, preferred-register: '' }
+ - { id: 1105, class: sreg_32, preferred-register: '' }
+ - { id: 1106, class: sgpr, preferred-register: '' }
+ - { id: 1107, class: sgpr, preferred-register: '' }
+ - { id: 1108, class: sreg_32, preferred-register: '' }
+ - { id: 1109, class: sgpr, preferred-register: '' }
+ - { id: 1110, class: sgpr, preferred-register: '' }
+ - { id: 1111, class: sreg_32, preferred-register: '' }
+ - { id: 1112, class: sreg_32, preferred-register: '' }
+ - { id: 1113, class: sgpr, preferred-register: '' }
+ - { id: 1114, class: sgpr, preferred-register: '' }
+ - { id: 1115, class: sreg_32, preferred-register: '' }
+ - { id: 1116, class: sgpr, preferred-register: '' }
+ - { id: 1117, class: sgpr, preferred-register: '' }
+ - { id: 1118, class: sreg_32, preferred-register: '' }
+ - { id: 1119, class: sgpr, preferred-register: '' }
+ - { id: 1120, class: sgpr, preferred-register: '' }
+ - { id: 1121, class: sreg_32, preferred-register: '' }
+ - { id: 1122, class: sgpr, preferred-register: '' }
+ - { id: 1123, class: sgpr, preferred-register: '' }
+ - { id: 1124, class: sreg_32, preferred-register: '' }
+ - { id: 1125, class: sgpr, preferred-register: '' }
+ - { id: 1126, class: sgpr, preferred-register: '' }
+ - { id: 1127, class: sreg_32, preferred-register: '' }
+ - { id: 1128, class: sgpr, preferred-register: '' }
+ - { id: 1129, class: sgpr, preferred-register: '' }
+ - { id: 1130, class: sreg_32, preferred-register: '' }
+ - { id: 1131, class: sgpr, preferred-register: '' }
+ - { id: 1132, class: sgpr, preferred-register: '' }
+ - { id: 1133, class: sreg_32, preferred-register: '' }
+ - { id: 1134, class: sgpr, preferred-register: '' }
+ - { id: 1135, class: sgpr, preferred-register: '' }
+ - { id: 1136, class: sreg_32, preferred-register: '' }
+ - { id: 1137, class: sgpr, preferred-register: '' }
+ - { id: 1138, class: sgpr, preferred-register: '' }
+ - { id: 1139, class: sreg_32, preferred-register: '' }
+ - { id: 1140, class: sgpr, preferred-register: '' }
+ - { id: 1141, class: sreg_32, preferred-register: '' }
+ - { id: 1142, class: sreg_32, preferred-register: '' }
+ - { id: 1143, class: sgpr, preferred-register: '' }
+ - { id: 1144, class: sreg_32, preferred-register: '' }
+ - { id: 1145, class: sgpr, preferred-register: '' }
+ - { id: 1146, class: sreg_32, preferred-register: '' }
+ - { id: 1147, class: sgpr, preferred-register: '' }
+ - { id: 1148, class: sreg_32, preferred-register: '' }
+ - { id: 1149, class: sgpr, preferred-register: '' }
+ - { id: 1150, class: sreg_32, preferred-register: '' }
+ - { id: 1151, class: sgpr, preferred-register: '' }
+ - { id: 1152, class: sreg_32, preferred-register: '' }
+ - { id: 1153, class: sgpr, preferred-register: '' }
+ - { id: 1154, class: sreg_32, preferred-register: '' }
+ - { id: 1155, class: sgpr, preferred-register: '' }
+ - { id: 1156, class: sreg_32, preferred-register: '' }
+ - { id: 1157, class: sgpr, preferred-register: '' }
+ - { id: 1158, class: sreg_32, preferred-register: '' }
+ - { id: 1159, class: sreg_32, preferred-register: '' }
+ - { id: 1160, class: sgpr, preferred-register: '' }
+ - { id: 1161, class: sgpr, preferred-register: '' }
+ - { id: 1162, class: sreg_32, preferred-register: '' }
+ - { id: 1163, class: sgpr, preferred-register: '' }
+ - { id: 1164, class: sgpr, preferred-register: '' }
+ - { id: 1165, class: sreg_32, preferred-register: '' }
+ - { id: 1166, class: sgpr, preferred-register: '' }
+ - { id: 1167, class: sgpr, preferred-register: '' }
+ - { id: 1168, class: sreg_32, preferred-register: '' }
+ - { id: 1169, class: sgpr, preferred-register: '' }
+ - { id: 1170, class: sgpr, preferred-register: '' }
+ - { id: 1171, class: sreg_32, preferred-register: '' }
+ - { id: 1172, class: sgpr, preferred-register: '' }
+ - { id: 1173, class: sgpr, preferred-register: '' }
+ - { id: 1174, class: sreg_32, preferred-register: '' }
+ - { id: 1175, class: sgpr, preferred-register: '' }
+ - { id: 1176, class: sgpr, preferred-register: '' }
+ - { id: 1177, class: sreg_32, preferred-register: '' }
+ - { id: 1178, class: sgpr, preferred-register: '' }
+ - { id: 1179, class: sgpr, preferred-register: '' }
+ - { id: 1180, class: sreg_32, preferred-register: '' }
+ - { id: 1181, class: sreg_32, preferred-register: '' }
+ - { id: 1182, class: sgpr, preferred-register: '' }
+ - { id: 1183, class: sgpr, preferred-register: '' }
+ - { id: 1184, class: sreg_32, preferred-register: '' }
+ - { id: 1185, class: sgpr, preferred-register: '' }
+ - { id: 1186, class: sreg_32, preferred-register: '' }
+ - { id: 1187, class: sreg_32, preferred-register: '' }
+ - { id: 1188, class: sreg_32, preferred-register: '' }
+ - { id: 1189, class: sgpr, preferred-register: '' }
+ - { id: 1190, class: sgpr, preferred-register: '' }
+ - { id: 1191, class: sreg_32, preferred-register: '' }
+ - { id: 1192, class: sreg_32, preferred-register: '' }
+ - { id: 1193, class: sgpr, preferred-register: '' }
+ - { id: 1194, class: sreg_32, preferred-register: '' }
+ - { id: 1195, class: sreg_32, preferred-register: '' }
+ - { id: 1196, class: sreg_32, preferred-register: '' }
+ - { id: 1197, class: sgpr, preferred-register: '' }
+ - { id: 1198, class: sgpr, preferred-register: '' }
+ - { id: 1199, class: sreg_32, preferred-register: '' }
+ - { id: 1200, class: sreg_32, preferred-register: '' }
+ - { id: 1201, class: sgpr, preferred-register: '' }
+ - { id: 1202, class: sreg_32, preferred-register: '' }
+ - { id: 1203, class: sreg_32, preferred-register: '' }
+ - { id: 1204, class: sreg_32, preferred-register: '' }
+ - { id: 1205, class: sgpr, preferred-register: '' }
+ - { id: 1206, class: sgpr, preferred-register: '' }
+ - { id: 1207, class: sreg_32, preferred-register: '' }
+ - { id: 1208, class: sreg_32, preferred-register: '' }
+ - { id: 1209, class: sgpr, preferred-register: '' }
+ - { id: 1210, class: sreg_32, preferred-register: '' }
+ - { id: 1211, class: sreg_32, preferred-register: '' }
+ - { id: 1212, class: sreg_32, preferred-register: '' }
+ - { id: 1213, class: sgpr, preferred-register: '' }
+ - { id: 1214, class: sgpr, preferred-register: '' }
+ - { id: 1215, class: sreg_32, preferred-register: '' }
+ - { id: 1216, class: sreg_32, preferred-register: '' }
+ - { id: 1217, class: sgpr, preferred-register: '' }
+ - { id: 1218, class: sreg_32, preferred-register: '' }
+ - { id: 1219, class: sreg_32, preferred-register: '' }
+ - { id: 1220, class: sreg_32, preferred-register: '' }
+ - { id: 1221, class: sgpr, preferred-register: '' }
+ - { id: 1222, class: sgpr, preferred-register: '' }
+ - { id: 1223, class: sreg_32, preferred-register: '' }
+ - { id: 1224, class: sreg_32, preferred-register: '' }
+ - { id: 1225, class: sgpr, preferred-register: '' }
+ - { id: 1226, class: sreg_32, preferred-register: '' }
+ - { id: 1227, class: sreg_32, preferred-register: '' }
+ - { id: 1228, class: sreg_32, preferred-register: '' }
+ - { id: 1229, class: sgpr, preferred-register: '' }
+ - { id: 1230, class: sgpr, preferred-register: '' }
+ - { id: 1231, class: sreg_32, preferred-register: '' }
+ - { id: 1232, class: sreg_32, preferred-register: '' }
+ - { id: 1233, class: sgpr, preferred-register: '' }
+ - { id: 1234, class: sreg_32, preferred-register: '' }
+ - { id: 1235, class: sreg_32, preferred-register: '' }
+ - { id: 1236, class: sgpr, preferred-register: '' }
+ - { id: 1237, class: sreg_32, preferred-register: '' }
+ - { id: 1238, class: sreg_32, preferred-register: '' }
+ - { id: 1239, class: sreg_32, preferred-register: '' }
+ - { id: 1240, class: sgpr, preferred-register: '' }
+ - { id: 1241, class: sgpr, preferred-register: '' }
+ - { id: 1242, class: sreg_32, preferred-register: '' }
+ - { id: 1243, class: sreg_32, preferred-register: '' }
+ - { id: 1244, class: sgpr, preferred-register: '' }
+ - { id: 1245, class: sgpr, preferred-register: '' }
+ - { id: 1246, class: sreg_32, preferred-register: '' }
+ - { id: 1247, class: sgpr, preferred-register: '' }
+ - { id: 1248, class: sreg_32, preferred-register: '' }
+ - { id: 1249, class: sreg_32, preferred-register: '' }
+ - { id: 1250, class: sreg_32, preferred-register: '' }
+ - { id: 1251, class: sgpr, preferred-register: '' }
+ - { id: 1252, class: sgpr, preferred-register: '' }
+ - { id: 1253, class: sreg_32, preferred-register: '' }
+ - { id: 1254, class: sreg_32, preferred-register: '' }
+ - { id: 1255, class: sgpr, preferred-register: '' }
+ - { id: 1256, class: sgpr, preferred-register: '' }
+ - { id: 1257, class: sreg_32, preferred-register: '' }
+ - { id: 1258, class: sgpr, preferred-register: '' }
+ - { id: 1259, class: sreg_32, preferred-register: '' }
+ - { id: 1260, class: sreg_32, preferred-register: '' }
+ - { id: 1261, class: sreg_32, preferred-register: '' }
+ - { id: 1262, class: sgpr, preferred-register: '' }
+ - { id: 1263, class: sgpr, preferred-register: '' }
+ - { id: 1264, class: sreg_32, preferred-register: '' }
+ - { id: 1265, class: sreg_32, preferred-register: '' }
+ - { id: 1266, class: sgpr, preferred-register: '' }
+ - { id: 1267, class: sgpr, preferred-register: '' }
+ - { id: 1268, class: sreg_32, preferred-register: '' }
+ - { id: 1269, class: sgpr, preferred-register: '' }
+ - { id: 1270, class: sreg_32, preferred-register: '' }
+ - { id: 1271, class: sreg_32, preferred-register: '' }
+ - { id: 1272, class: sreg_32, preferred-register: '' }
+ - { id: 1273, class: sgpr, preferred-register: '' }
+ - { id: 1274, class: sgpr, preferred-register: '' }
+ - { id: 1275, class: sreg_32, preferred-register: '' }
+ - { id: 1276, class: sreg_32, preferred-register: '' }
+ - { id: 1277, class: sgpr, preferred-register: '' }
+ - { id: 1278, class: sgpr, preferred-register: '' }
+ - { id: 1279, class: sreg_32, preferred-register: '' }
+ - { id: 1280, class: sgpr, preferred-register: '' }
+ - { id: 1281, class: sreg_32, preferred-register: '' }
+ - { id: 1282, class: sreg_32, preferred-register: '' }
+ - { id: 1283, class: sreg_32, preferred-register: '' }
+ - { id: 1284, class: sgpr, preferred-register: '' }
+ - { id: 1285, class: sgpr, preferred-register: '' }
+ - { id: 1286, class: sreg_32, preferred-register: '' }
+ - { id: 1287, class: sreg_32, preferred-register: '' }
+ - { id: 1288, class: sgpr, preferred-register: '' }
+ - { id: 1289, class: sgpr, preferred-register: '' }
+ - { id: 1290, class: sreg_32, preferred-register: '' }
+ - { id: 1291, class: sgpr, preferred-register: '' }
+ - { id: 1292, class: sreg_32, preferred-register: '' }
+ - { id: 1293, class: sreg_32, preferred-register: '' }
+ - { id: 1294, class: sreg_32, preferred-register: '' }
+ - { id: 1295, class: sgpr, preferred-register: '' }
+ - { id: 1296, class: sgpr, preferred-register: '' }
+ - { id: 1297, class: sreg_32, preferred-register: '' }
+ - { id: 1298, class: sreg_32, preferred-register: '' }
+ - { id: 1299, class: sgpr, preferred-register: '' }
+ - { id: 1300, class: sgpr, preferred-register: '' }
+ - { id: 1301, class: sreg_32, preferred-register: '' }
+ - { id: 1302, class: sgpr, preferred-register: '' }
+ - { id: 1303, class: sreg_32, preferred-register: '' }
+ - { id: 1304, class: sreg_32, preferred-register: '' }
+ - { id: 1305, class: sreg_32, preferred-register: '' }
+ - { id: 1306, class: sgpr, preferred-register: '' }
+ - { id: 1307, class: sgpr, preferred-register: '' }
+ - { id: 1308, class: sreg_32, preferred-register: '' }
+ - { id: 1309, class: sreg_32, preferred-register: '' }
+ - { id: 1310, class: sgpr, preferred-register: '' }
+ - { id: 1311, class: sgpr, preferred-register: '' }
+ - { id: 1312, class: sreg_32, preferred-register: '' }
+ - { id: 1313, class: sgpr, preferred-register: '' }
+ - { id: 1314, class: sreg_32, preferred-register: '' }
+ - { id: 1315, class: sreg_32, preferred-register: '' }
+ - { id: 1316, class: vgpr_32, preferred-register: '' }
+ - { id: 1317, class: vgpr_32, preferred-register: '' }
+ - { id: 1318, class: vgpr_32, preferred-register: '' }
+ - { id: 1319, class: vgpr_32, preferred-register: '' }
+ - { id: 1320, class: vgpr, preferred-register: '' }
+ - { id: 1321, class: vgpr_32, preferred-register: '' }
+ - { id: 1322, class: vgpr, preferred-register: '' }
+ - { id: 1323, class: vgpr_32, preferred-register: '' }
+ - { id: 1324, class: vgpr_32, preferred-register: '' }
+ - { id: 1325, class: vgpr_32, preferred-register: '' }
+ - { id: 1326, class: vgpr_32, preferred-register: '' }
+ - { id: 1327, class: vgpr, preferred-register: '' }
+ - { id: 1328, class: vgpr_32, preferred-register: '' }
+ - { id: 1329, class: vreg_128, preferred-register: '' }
+ - { id: 1330, class: vgpr_32, preferred-register: '' }
+ - { id: 1331, class: vgpr_32, preferred-register: '' }
+ - { id: 1332, class: vgpr_32, preferred-register: '' }
+ - { id: 1333, class: vgpr_32, preferred-register: '' }
+ - { id: 1334, class: sreg_32, preferred-register: '' }
+ - { id: 1335, class: sreg_32, preferred-register: '' }
+ - { id: 1336, class: sreg_32, preferred-register: '' }
+ - { id: 1337, class: sreg_32, preferred-register: '' }
+ - { id: 1338, class: vgpr, preferred-register: '' }
+ - { id: 1339, class: vgpr_32, preferred-register: '' }
+ - { id: 1340, class: vreg_128, preferred-register: '' }
+ - { id: 1341, class: vgpr_32, preferred-register: '' }
+ - { id: 1342, class: vgpr_32, preferred-register: '' }
+ - { id: 1343, class: vgpr_32, preferred-register: '' }
+ - { id: 1344, class: vgpr_32, preferred-register: '' }
+ - { id: 1345, class: sreg_32, preferred-register: '' }
+ - { id: 1346, class: sreg_32, preferred-register: '' }
+ - { id: 1347, class: sreg_32, preferred-register: '' }
+ - { id: 1348, class: sreg_32, preferred-register: '' }
+ - { id: 1349, class: sreg_32, preferred-register: '' }
+ - { id: 1350, class: sreg_32, preferred-register: '' }
+ - { id: 1351, class: sreg_32, preferred-register: '' }
+ - { id: 1352, class: sreg_32, preferred-register: '' }
+ - { id: 1353, class: sgpr, preferred-register: '' }
+ - { id: 1354, class: sgpr, preferred-register: '' }
+ - { id: 1355, class: sreg_32, preferred-register: '' }
+ - { id: 1356, class: sgpr, preferred-register: '' }
+ - { id: 1357, class: sgpr, preferred-register: '' }
+ - { id: 1358, class: sreg_32, preferred-register: '' }
+ - { id: 1359, class: sgpr, preferred-register: '' }
+ - { id: 1360, class: sgpr, preferred-register: '' }
+ - { id: 1361, class: sreg_32, preferred-register: '' }
+ - { id: 1362, class: sreg_32, preferred-register: '' }
+ - { id: 1363, class: sreg_32, preferred-register: '' }
+ - { id: 1364, class: sgpr, preferred-register: '' }
+ - { id: 1365, class: sreg_32, preferred-register: '' }
+ - { id: 1366, class: sreg_32, preferred-register: '' }
+ - { id: 1367, class: vgpr_32, preferred-register: '' }
+ - { id: 1368, class: sgpr, preferred-register: '' }
+ - { id: 1369, class: sreg_64_xexec, preferred-register: '' }
+ - { id: 1370, class: sgpr, preferred-register: '' }
+ - { id: 1371, class: sreg_64_xexec, preferred-register: '' }
+ - { id: 1372, class: sreg_32, preferred-register: '' }
+ - { id: 1373, class: sgpr, preferred-register: '' }
+ - { id: 1374, class: sreg_32, preferred-register: '' }
+ - { id: 1375, class: sreg_32, preferred-register: '' }
+ - { id: 1376, class: sreg_32, preferred-register: '' }
+ - { id: 1377, class: sreg_32, preferred-register: '' }
+ - { id: 1378, class: sgpr, preferred-register: '' }
+ - { id: 1379, class: sreg_32, preferred-register: '' }
+ - { id: 1380, class: sreg_32, preferred-register: '' }
+ - { id: 1381, class: sreg_32, preferred-register: '' }
+ - { id: 1382, class: sgpr, preferred-register: '' }
+ - { id: 1383, class: sreg_32, preferred-register: '' }
+ - { id: 1384, class: sreg_32, preferred-register: '' }
+ - { id: 1385, class: sreg_32, preferred-register: '' }
+ - { id: 1386, class: sreg_32, preferred-register: '' }
+ - { id: 1387, class: sgpr, preferred-register: '' }
+ - { id: 1388, class: sreg_32, preferred-register: '' }
+ - { id: 1389, class: sreg_32, preferred-register: '' }
+ - { id: 1390, class: sreg_32, preferred-register: '' }
+ - { id: 1391, class: sgpr, preferred-register: '' }
+ - { id: 1392, class: sreg_32, preferred-register: '' }
+ - { id: 1393, class: sreg_32, preferred-register: '' }
+ - { id: 1394, class: sreg_32, preferred-register: '' }
+ - { id: 1395, class: sreg_32, preferred-register: '' }
+ - { id: 1396, class: sgpr, preferred-register: '' }
+ - { id: 1397, class: sreg_32, preferred-register: '' }
+ - { id: 1398, class: sreg_32, preferred-register: '' }
+ - { id: 1399, class: sreg_32, preferred-register: '' }
+ - { id: 1400, class: sreg_32, preferred-register: '' }
+ - { id: 1401, class: sreg_32, preferred-register: '' }
+ - { id: 1402, class: sgpr, preferred-register: '' }
+ - { id: 1403, class: sreg_32, preferred-register: '' }
+ - { id: 1404, class: sreg_32, preferred-register: '' }
+ - { id: 1405, class: sreg_32, preferred-register: '' }
+ - { id: 1406, class: sgpr, preferred-register: '' }
+ - { id: 1407, class: sreg_32, preferred-register: '' }
+ - { id: 1408, class: sreg_32, preferred-register: '' }
+ - { id: 1409, class: sreg_32, preferred-register: '' }
+ - { id: 1410, class: sreg_32, preferred-register: '' }
+ - { id: 1411, class: sgpr, preferred-register: '' }
+ - { id: 1412, class: sreg_32, preferred-register: '' }
+ - { id: 1413, class: sreg_32, preferred-register: '' }
+ - { id: 1414, class: sreg_32, preferred-register: '' }
+ - { id: 1415, class: sgpr, preferred-register: '' }
+ - { id: 1416, class: sreg_32, preferred-register: '' }
+ - { id: 1417, class: sreg_32, preferred-register: '' }
+ - { id: 1418, class: sreg_32, preferred-register: '' }
+ - { id: 1419, class: sreg_32, preferred-register: '' }
+ - { id: 1420, class: sgpr, preferred-register: '' }
+ - { id: 1421, class: sreg_32, preferred-register: '' }
+ - { id: 1422, class: sreg_32, preferred-register: '' }
+ - { id: 1423, class: sreg_32, preferred-register: '' }
+ - { id: 1424, class: sgpr, preferred-register: '' }
+ - { id: 1425, class: sreg_32, preferred-register: '' }
+ - { id: 1426, class: sreg_32, preferred-register: '' }
+ - { id: 1427, class: sreg_32, preferred-register: '' }
+ - { id: 1428, class: sreg_32, preferred-register: '' }
+ - { id: 1429, class: sgpr, preferred-register: '' }
+ - { id: 1430, class: sreg_32, preferred-register: '' }
+ - { id: 1431, class: sreg_32, preferred-register: '' }
+ - { id: 1432, class: sreg_32, preferred-register: '' }
+ - { id: 1433, class: sgpr, preferred-register: '' }
+ - { id: 1434, class: sreg_32, preferred-register: '' }
+ - { id: 1435, class: sreg_32, preferred-register: '' }
+ - { id: 1436, class: sreg_32, preferred-register: '' }
+ - { id: 1437, class: sgpr, preferred-register: '' }
+ - { id: 1438, class: sreg_32, preferred-register: '' }
+ - { id: 1439, class: sreg_32, preferred-register: '' }
+ - { id: 1440, class: sreg_32, preferred-register: '' }
+ - { id: 1441, class: sgpr, preferred-register: '' }
+ - { id: 1442, class: sreg_32, preferred-register: '' }
+ - { id: 1443, class: sreg_32, preferred-register: '' }
+ - { id: 1444, class: sreg_32, preferred-register: '' }
+ - { id: 1445, class: sgpr, preferred-register: '' }
+ - { id: 1446, class: sgpr, preferred-register: '' }
+ - { id: 1447, class: sreg_32, preferred-register: '' }
+ - { id: 1448, class: sgpr, preferred-register: '' }
+ - { id: 1449, class: sgpr, preferred-register: '' }
+ - { id: 1450, class: sreg_32, preferred-register: '' }
+ - { id: 1451, class: sreg_32, preferred-register: '' }
+ - { id: 1452, class: sgpr, preferred-register: '' }
+ - { id: 1453, class: sgpr, preferred-register: '' }
+ - { id: 1454, class: sreg_32, preferred-register: '' }
+ - { id: 1455, class: sgpr, preferred-register: '' }
+ - { id: 1456, class: sgpr, preferred-register: '' }
+ - { id: 1457, class: sreg_32, preferred-register: '' }
+ - { id: 1458, class: sgpr, preferred-register: '' }
+ - { id: 1459, class: sgpr, preferred-register: '' }
+ - { id: 1460, class: sreg_32, preferred-register: '' }
+ - { id: 1461, class: sreg_32, preferred-register: '' }
+ - { id: 1462, class: sgpr, preferred-register: '' }
+ - { id: 1463, class: sgpr, preferred-register: '' }
+ - { id: 1464, class: sreg_32, preferred-register: '' }
+ - { id: 1465, class: sgpr, preferred-register: '' }
+ - { id: 1466, class: sgpr, preferred-register: '' }
+ - { id: 1467, class: sreg_32, preferred-register: '' }
+ - { id: 1468, class: sgpr, preferred-register: '' }
+ - { id: 1469, class: sgpr, preferred-register: '' }
+ - { id: 1470, class: sreg_32, preferred-register: '' }
+ - { id: 1471, class: sgpr, preferred-register: '' }
+ - { id: 1472, class: sgpr, preferred-register: '' }
+ - { id: 1473, class: sreg_32, preferred-register: '' }
+ - { id: 1474, class: sreg_32, preferred-register: '' }
+ - { id: 1475, class: sgpr, preferred-register: '' }
+ - { id: 1476, class: sgpr, preferred-register: '' }
+ - { id: 1477, class: sreg_32, preferred-register: '' }
+ - { id: 1478, class: sgpr, preferred-register: '' }
+ - { id: 1479, class: sgpr, preferred-register: '' }
+ - { id: 1480, class: sreg_32, preferred-register: '' }
+ - { id: 1481, class: sgpr, preferred-register: '' }
+ - { id: 1482, class: sgpr, preferred-register: '' }
+ - { id: 1483, class: sreg_32, preferred-register: '' }
+ - { id: 1484, class: sgpr, preferred-register: '' }
+ - { id: 1485, class: sgpr, preferred-register: '' }
+ - { id: 1486, class: sreg_32, preferred-register: '' }
+ - { id: 1487, class: sgpr, preferred-register: '' }
+ - { id: 1488, class: sgpr, preferred-register: '' }
+ - { id: 1489, class: sreg_32, preferred-register: '' }
+ - { id: 1490, class: sreg_32, preferred-register: '' }
+ - { id: 1491, class: sgpr, preferred-register: '' }
+ - { id: 1492, class: sgpr, preferred-register: '' }
+ - { id: 1493, class: sreg_32, preferred-register: '' }
+ - { id: 1494, class: sgpr, preferred-register: '' }
+ - { id: 1495, class: sgpr, preferred-register: '' }
+ - { id: 1496, class: sreg_32, preferred-register: '' }
+ - { id: 1497, class: sgpr, preferred-register: '' }
+ - { id: 1498, class: sgpr, preferred-register: '' }
+ - { id: 1499, class: sreg_32, preferred-register: '' }
+ - { id: 1500, class: sgpr, preferred-register: '' }
+ - { id: 1501, class: sgpr, preferred-register: '' }
+ - { id: 1502, class: sreg_32, preferred-register: '' }
+ - { id: 1503, class: sgpr, preferred-register: '' }
+ - { id: 1504, class: sgpr, preferred-register: '' }
+ - { id: 1505, class: sreg_32, preferred-register: '' }
+ - { id: 1506, class: sgpr, preferred-register: '' }
+ - { id: 1507, class: sgpr, preferred-register: '' }
+ - { id: 1508, class: sreg_32, preferred-register: '' }
+ - { id: 1509, class: sreg_32, preferred-register: '' }
+ - { id: 1510, class: sgpr, preferred-register: '' }
+ - { id: 1511, class: sgpr, preferred-register: '' }
+ - { id: 1512, class: sreg_32, preferred-register: '' }
+ - { id: 1513, class: sgpr, preferred-register: '' }
+ - { id: 1514, class: sgpr, preferred-register: '' }
+ - { id: 1515, class: sreg_32, preferred-register: '' }
+ - { id: 1516, class: sgpr, preferred-register: '' }
+ - { id: 1517, class: sgpr, preferred-register: '' }
+ - { id: 1518, class: sreg_32, preferred-register: '' }
+ - { id: 1519, class: sgpr, preferred-register: '' }
+ - { id: 1520, class: sgpr, preferred-register: '' }
+ - { id: 1521, class: sreg_32, preferred-register: '' }
+ - { id: 1522, class: sgpr, preferred-register: '' }
+ - { id: 1523, class: sgpr, preferred-register: '' }
+ - { id: 1524, class: sreg_32, preferred-register: '' }
+ - { id: 1525, class: sgpr, preferred-register: '' }
+ - { id: 1526, class: sgpr, preferred-register: '' }
+ - { id: 1527, class: sreg_32, preferred-register: '' }
+ - { id: 1528, class: sgpr, preferred-register: '' }
+ - { id: 1529, class: sgpr, preferred-register: '' }
+ - { id: 1530, class: sreg_32, preferred-register: '' }
+ - { id: 1531, class: sreg_32, preferred-register: '' }
+ - { id: 1532, class: sgpr, preferred-register: '' }
+ - { id: 1533, class: sgpr, preferred-register: '' }
+ - { id: 1534, class: sreg_32, preferred-register: '' }
+ - { id: 1535, class: sgpr, preferred-register: '' }
+ - { id: 1536, class: sgpr, preferred-register: '' }
+ - { id: 1537, class: sreg_32, preferred-register: '' }
+ - { id: 1538, class: sgpr, preferred-register: '' }
+ - { id: 1539, class: sgpr, preferred-register: '' }
+ - { id: 1540, class: sreg_32, preferred-register: '' }
+ - { id: 1541, class: sgpr, preferred-register: '' }
+ - { id: 1542, class: sgpr, preferred-register: '' }
+ - { id: 1543, class: sreg_32, preferred-register: '' }
+ - { id: 1544, class: sgpr, preferred-register: '' }
+ - { id: 1545, class: sgpr, preferred-register: '' }
+ - { id: 1546, class: sreg_32, preferred-register: '' }
+ - { id: 1547, class: sgpr, preferred-register: '' }
+ - { id: 1548, class: sgpr, preferred-register: '' }
+ - { id: 1549, class: sreg_32, preferred-register: '' }
+ - { id: 1550, class: sgpr, preferred-register: '' }
+ - { id: 1551, class: sgpr, preferred-register: '' }
+ - { id: 1552, class: sreg_32, preferred-register: '' }
+ - { id: 1553, class: sgpr, preferred-register: '' }
+ - { id: 1554, class: sgpr, preferred-register: '' }
+ - { id: 1555, class: sreg_32, preferred-register: '' }
+ - { id: 1556, class: sreg_32, preferred-register: '' }
+ - { id: 1557, class: sgpr, preferred-register: '' }
+ - { id: 1558, class: sgpr, preferred-register: '' }
+ - { id: 1559, class: sreg_32, preferred-register: '' }
+ - { id: 1560, class: sgpr, preferred-register: '' }
+ - { id: 1561, class: sgpr, preferred-register: '' }
+ - { id: 1562, class: sreg_32, preferred-register: '' }
+ - { id: 1563, class: sgpr, preferred-register: '' }
+ - { id: 1564, class: sgpr, preferred-register: '' }
+ - { id: 1565, class: sreg_32, preferred-register: '' }
+ - { id: 1566, class: sgpr, preferred-register: '' }
+ - { id: 1567, class: sgpr, preferred-register: '' }
+ - { id: 1568, class: sreg_32, preferred-register: '' }
+ - { id: 1569, class: sgpr, preferred-register: '' }
+ - { id: 1570, class: sgpr, preferred-register: '' }
+ - { id: 1571, class: sreg_32, preferred-register: '' }
+ - { id: 1572, class: sgpr, preferred-register: '' }
+ - { id: 1573, class: sgpr, preferred-register: '' }
+ - { id: 1574, class: sreg_32, preferred-register: '' }
+ - { id: 1575, class: sgpr, preferred-register: '' }
+ - { id: 1576, class: sgpr, preferred-register: '' }
+ - { id: 1577, class: sreg_32, preferred-register: '' }
+ - { id: 1578, class: sgpr, preferred-register: '' }
+ - { id: 1579, class: sgpr, preferred-register: '' }
+ - { id: 1580, class: sreg_32, preferred-register: '' }
+ - { id: 1581, class: sgpr, preferred-register: '' }
+ - { id: 1582, class: sgpr, preferred-register: '' }
+ - { id: 1583, class: sreg_32, preferred-register: '' }
+ - { id: 1584, class: sgpr, preferred-register: '' }
+ - { id: 1585, class: sreg_32, preferred-register: '' }
+ - { id: 1586, class: sreg_32, preferred-register: '' }
+ - { id: 1587, class: sgpr, preferred-register: '' }
+ - { id: 1588, class: sreg_32, preferred-register: '' }
+ - { id: 1589, class: sgpr, preferred-register: '' }
+ - { id: 1590, class: sreg_32, preferred-register: '' }
+ - { id: 1591, class: sgpr, preferred-register: '' }
+ - { id: 1592, class: sreg_32, preferred-register: '' }
+ - { id: 1593, class: sgpr, preferred-register: '' }
+ - { id: 1594, class: sreg_32, preferred-register: '' }
+ - { id: 1595, class: sgpr, preferred-register: '' }
+ - { id: 1596, class: sreg_32, preferred-register: '' }
+ - { id: 1597, class: sgpr, preferred-register: '' }
+ - { id: 1598, class: sreg_32, preferred-register: '' }
+ - { id: 1599, class: sgpr, preferred-register: '' }
+ - { id: 1600, class: sreg_32, preferred-register: '' }
+ - { id: 1601, class: sgpr, preferred-register: '' }
+ - { id: 1602, class: sreg_32, preferred-register: '' }
+ - { id: 1603, class: sreg_32, preferred-register: '' }
+ - { id: 1604, class: sgpr, preferred-register: '' }
+ - { id: 1605, class: sgpr, preferred-register: '' }
+ - { id: 1606, class: sreg_32, preferred-register: '' }
+ - { id: 1607, class: sgpr, preferred-register: '' }
+ - { id: 1608, class: sgpr, preferred-register: '' }
+ - { id: 1609, class: sreg_32, preferred-register: '' }
+ - { id: 1610, class: sgpr, preferred-register: '' }
+ - { id: 1611, class: sgpr, preferred-register: '' }
+ - { id: 1612, class: sreg_32, preferred-register: '' }
+ - { id: 1613, class: sgpr, preferred-register: '' }
+ - { id: 1614, class: sgpr, preferred-register: '' }
+ - { id: 1615, class: sreg_32, preferred-register: '' }
+ - { id: 1616, class: sgpr, preferred-register: '' }
+ - { id: 1617, class: sgpr, preferred-register: '' }
+ - { id: 1618, class: sreg_32, preferred-register: '' }
+ - { id: 1619, class: sgpr, preferred-register: '' }
+ - { id: 1620, class: sgpr, preferred-register: '' }
+ - { id: 1621, class: sreg_32, preferred-register: '' }
+ - { id: 1622, class: sgpr, preferred-register: '' }
+ - { id: 1623, class: sgpr, preferred-register: '' }
+ - { id: 1624, class: sreg_32, preferred-register: '' }
+ - { id: 1625, class: sreg_32, preferred-register: '' }
+ - { id: 1626, class: sgpr, preferred-register: '' }
+ - { id: 1627, class: sgpr, preferred-register: '' }
+ - { id: 1628, class: sreg_32, preferred-register: '' }
+ - { id: 1629, class: sgpr, preferred-register: '' }
+ - { id: 1630, class: sreg_32, preferred-register: '' }
+ - { id: 1631, class: sreg_32, preferred-register: '' }
+ - { id: 1632, class: sreg_32, preferred-register: '' }
+ - { id: 1633, class: sgpr, preferred-register: '' }
+ - { id: 1634, class: sgpr, preferred-register: '' }
+ - { id: 1635, class: sreg_32, preferred-register: '' }
+ - { id: 1636, class: sreg_32, preferred-register: '' }
+ - { id: 1637, class: sgpr, preferred-register: '' }
+ - { id: 1638, class: sreg_32, preferred-register: '' }
+ - { id: 1639, class: sreg_32, preferred-register: '' }
+ - { id: 1640, class: sreg_32, preferred-register: '' }
+ - { id: 1641, class: sgpr, preferred-register: '' }
+ - { id: 1642, class: sgpr, preferred-register: '' }
+ - { id: 1643, class: sreg_32, preferred-register: '' }
+ - { id: 1644, class: sreg_32, preferred-register: '' }
+ - { id: 1645, class: sgpr, preferred-register: '' }
+ - { id: 1646, class: sreg_32, preferred-register: '' }
+ - { id: 1647, class: sreg_32, preferred-register: '' }
+ - { id: 1648, class: sreg_32, preferred-register: '' }
+ - { id: 1649, class: sgpr, preferred-register: '' }
+ - { id: 1650, class: sgpr, preferred-register: '' }
+ - { id: 1651, class: sreg_32, preferred-register: '' }
+ - { id: 1652, class: sreg_32, preferred-register: '' }
+ - { id: 1653, class: sgpr, preferred-register: '' }
+ - { id: 1654, class: sreg_32, preferred-register: '' }
+ - { id: 1655, class: sreg_32, preferred-register: '' }
+ - { id: 1656, class: sreg_32, preferred-register: '' }
+ - { id: 1657, class: sgpr, preferred-register: '' }
+ - { id: 1658, class: sgpr, preferred-register: '' }
+ - { id: 1659, class: sreg_32, preferred-register: '' }
+ - { id: 1660, class: sreg_32, preferred-register: '' }
+ - { id: 1661, class: sgpr, preferred-register: '' }
+ - { id: 1662, class: sreg_32, preferred-register: '' }
+ - { id: 1663, class: sreg_32, preferred-register: '' }
+ - { id: 1664, class: sreg_32, preferred-register: '' }
+ - { id: 1665, class: sgpr, preferred-register: '' }
+ - { id: 1666, class: sgpr, preferred-register: '' }
+ - { id: 1667, class: sreg_32, preferred-register: '' }
+ - { id: 1668, class: sreg_32, preferred-register: '' }
+ - { id: 1669, class: sgpr, preferred-register: '' }
+ - { id: 1670, class: sreg_32, preferred-register: '' }
+ - { id: 1671, class: sreg_32, preferred-register: '' }
+ - { id: 1672, class: sreg_32, preferred-register: '' }
+ - { id: 1673, class: sgpr, preferred-register: '' }
+ - { id: 1674, class: sgpr, preferred-register: '' }
+ - { id: 1675, class: sreg_32, preferred-register: '' }
+ - { id: 1676, class: sreg_32, preferred-register: '' }
+ - { id: 1677, class: sgpr, preferred-register: '' }
+ - { id: 1678, class: sreg_32, preferred-register: '' }
+ - { id: 1679, class: sreg_32, preferred-register: '' }
+ - { id: 1680, class: sgpr, preferred-register: '' }
+ - { id: 1681, class: sreg_32, preferred-register: '' }
+ - { id: 1682, class: sreg_32, preferred-register: '' }
+ - { id: 1683, class: sreg_32, preferred-register: '' }
+ - { id: 1684, class: sgpr, preferred-register: '' }
+ - { id: 1685, class: sgpr, preferred-register: '' }
+ - { id: 1686, class: sreg_32, preferred-register: '' }
+ - { id: 1687, class: sreg_32, preferred-register: '' }
+ - { id: 1688, class: sgpr, preferred-register: '' }
+ - { id: 1689, class: sgpr, preferred-register: '' }
+ - { id: 1690, class: sreg_32, preferred-register: '' }
+ - { id: 1691, class: sgpr, preferred-register: '' }
+ - { id: 1692, class: sreg_32, preferred-register: '' }
+ - { id: 1693, class: sreg_32, preferred-register: '' }
+ - { id: 1694, class: sreg_32, preferred-register: '' }
+ - { id: 1695, class: sgpr, preferred-register: '' }
+ - { id: 1696, class: sgpr, preferred-register: '' }
+ - { id: 1697, class: sreg_32, preferred-register: '' }
+ - { id: 1698, class: sreg_32, preferred-register: '' }
+ - { id: 1699, class: sgpr, preferred-register: '' }
+ - { id: 1700, class: sgpr, preferred-register: '' }
+ - { id: 1701, class: sreg_32, preferred-register: '' }
+ - { id: 1702, class: sgpr, preferred-register: '' }
+ - { id: 1703, class: sreg_32, preferred-register: '' }
+ - { id: 1704, class: sreg_32, preferred-register: '' }
+ - { id: 1705, class: sreg_32, preferred-register: '' }
+ - { id: 1706, class: sgpr, preferred-register: '' }
+ - { id: 1707, class: sgpr, preferred-register: '' }
+ - { id: 1708, class: sreg_32, preferred-register: '' }
+ - { id: 1709, class: sreg_32, preferred-register: '' }
+ - { id: 1710, class: sgpr, preferred-register: '' }
+ - { id: 1711, class: sgpr, preferred-register: '' }
+ - { id: 1712, class: sreg_32, preferred-register: '' }
+ - { id: 1713, class: sgpr, preferred-register: '' }
+ - { id: 1714, class: sreg_32, preferred-register: '' }
+ - { id: 1715, class: sreg_32, preferred-register: '' }
+ - { id: 1716, class: sreg_32, preferred-register: '' }
+ - { id: 1717, class: sgpr, preferred-register: '' }
+ - { id: 1718, class: sgpr, preferred-register: '' }
+ - { id: 1719, class: sreg_32, preferred-register: '' }
+ - { id: 1720, class: sreg_32, preferred-register: '' }
+ - { id: 1721, class: sgpr, preferred-register: '' }
+ - { id: 1722, class: sgpr, preferred-register: '' }
+ - { id: 1723, class: sreg_32, preferred-register: '' }
+ - { id: 1724, class: sgpr, preferred-register: '' }
+ - { id: 1725, class: sreg_32, preferred-register: '' }
+ - { id: 1726, class: sreg_32, preferred-register: '' }
+ - { id: 1727, class: sreg_32, preferred-register: '' }
+ - { id: 1728, class: sgpr, preferred-register: '' }
+ - { id: 1729, class: sgpr, preferred-register: '' }
+ - { id: 1730, class: sreg_32, preferred-register: '' }
+ - { id: 1731, class: sreg_32, preferred-register: '' }
+ - { id: 1732, class: sgpr, preferred-register: '' }
+ - { id: 1733, class: sgpr, preferred-register: '' }
+ - { id: 1734, class: sreg_32, preferred-register: '' }
+ - { id: 1735, class: sgpr, preferred-register: '' }
+ - { id: 1736, class: sreg_32, preferred-register: '' }
+ - { id: 1737, class: sreg_32, preferred-register: '' }
+ - { id: 1738, class: sreg_32, preferred-register: '' }
+ - { id: 1739, class: sgpr, preferred-register: '' }
+ - { id: 1740, class: sgpr, preferred-register: '' }
+ - { id: 1741, class: sreg_32, preferred-register: '' }
+ - { id: 1742, class: sreg_32, preferred-register: '' }
+ - { id: 1743, class: sgpr, preferred-register: '' }
+ - { id: 1744, class: sgpr, preferred-register: '' }
+ - { id: 1745, class: sreg_32, preferred-register: '' }
+ - { id: 1746, class: sgpr, preferred-register: '' }
+ - { id: 1747, class: sreg_32, preferred-register: '' }
+ - { id: 1748, class: sreg_32, preferred-register: '' }
+ - { id: 1749, class: sreg_32, preferred-register: '' }
+ - { id: 1750, class: sgpr, preferred-register: '' }
+ - { id: 1751, class: sgpr, preferred-register: '' }
+ - { id: 1752, class: sreg_32, preferred-register: '' }
+ - { id: 1753, class: sreg_32, preferred-register: '' }
+ - { id: 1754, class: sgpr, preferred-register: '' }
+ - { id: 1755, class: sgpr, preferred-register: '' }
+ - { id: 1756, class: sreg_32, preferred-register: '' }
+ - { id: 1757, class: sgpr, preferred-register: '' }
+ - { id: 1758, class: sreg_32, preferred-register: '' }
+ - { id: 1759, class: sreg_32, preferred-register: '' }
+ - { id: 1760, class: vgpr, preferred-register: '' }
+ - { id: 1761, class: vgpr_32, preferred-register: '' }
+ - { id: 1762, class: vreg_128, preferred-register: '' }
+ - { id: 1763, class: vgpr_32, preferred-register: '' }
+ - { id: 1764, class: vgpr_32, preferred-register: '' }
+ - { id: 1765, class: vgpr_32, preferred-register: '' }
+ - { id: 1766, class: vgpr_32, preferred-register: '' }
+ - { id: 1767, class: sreg_32, preferred-register: '' }
+ - { id: 1768, class: sreg_32, preferred-register: '' }
+ - { id: 1769, class: sreg_32, preferred-register: '' }
+ - { id: 1770, class: sreg_32, preferred-register: '' }
+ - { id: 1771, class: vgpr, preferred-register: '' }
+ - { id: 1772, class: vgpr_32, preferred-register: '' }
+ - { id: 1773, class: vreg_128, preferred-register: '' }
+ - { id: 1774, class: vgpr_32, preferred-register: '' }
+ - { id: 1775, class: vgpr_32, preferred-register: '' }
+ - { id: 1776, class: vgpr_32, preferred-register: '' }
+ - { id: 1777, class: vgpr_32, preferred-register: '' }
+ - { id: 1778, class: sreg_32, preferred-register: '' }
+ - { id: 1779, class: sreg_32, preferred-register: '' }
+ - { id: 1780, class: sreg_32, preferred-register: '' }
+ - { id: 1781, class: sreg_32, preferred-register: '' }
+ - { id: 1782, class: sreg_32, preferred-register: '' }
+ - { id: 1783, class: sreg_32, preferred-register: '' }
+ - { id: 1784, class: sreg_32, preferred-register: '' }
+ - { id: 1785, class: sreg_32, preferred-register: '' }
+ - { id: 1786, class: sgpr, preferred-register: '' }
+ - { id: 1787, class: sgpr, preferred-register: '' }
+ - { id: 1788, class: sreg_32, preferred-register: '' }
+ - { id: 1789, class: sgpr, preferred-register: '' }
+ - { id: 1790, class: sgpr, preferred-register: '' }
+ - { id: 1791, class: sreg_32, preferred-register: '' }
+ - { id: 1792, class: sgpr, preferred-register: '' }
+ - { id: 1793, class: sgpr, preferred-register: '' }
+ - { id: 1794, class: sreg_32, preferred-register: '' }
+ - { id: 1795, class: sreg_32, preferred-register: '' }
+ - { id: 1796, class: sreg_32, preferred-register: '' }
+ - { id: 1797, class: sgpr, preferred-register: '' }
+ - { id: 1798, class: sreg_32, preferred-register: '' }
+ - { id: 1799, class: sreg_32, preferred-register: '' }
+ - { id: 1800, class: vgpr_32, preferred-register: '' }
+ - { id: 1801, class: vgpr_32, preferred-register: '' }
+ - { id: 1802, class: vgpr_32, preferred-register: '' }
+ - { id: 1803, class: vgpr_32, preferred-register: '' }
+ - { id: 1804, class: vgpr, preferred-register: '' }
+ - { id: 1805, class: vgpr_32, preferred-register: '' }
+ - { id: 1806, class: vgpr_32, preferred-register: '' }
+ - { id: 1807, class: vgpr, preferred-register: '' }
+ - { id: 1808, class: vgpr_32, preferred-register: '' }
+ - { id: 1809, class: vgpr_32, preferred-register: '' }
+ - { id: 1810, class: vgpr, preferred-register: '' }
+ - { id: 1811, class: vgpr_32, preferred-register: '' }
+ - { id: 1812, class: vgpr, preferred-register: '' }
+ - { id: 1813, class: sreg_32, preferred-register: '' }
+ - { id: 1814, class: sreg_32, preferred-register: '' }
+ - { id: 1815, class: sreg_32, preferred-register: '' }
+ - { id: 1816, class: sreg_32, preferred-register: '' }
+ - { id: 1817, class: sreg_32, preferred-register: '' }
+ - { id: 1818, class: sreg_32, preferred-register: '' }
+ - { id: 1819, class: sreg_32, preferred-register: '' }
+ - { id: 1820, class: sreg_32, preferred-register: '' }
+ - { id: 1821, class: sreg_32, preferred-register: '' }
+ - { id: 1822, class: sreg_32, preferred-register: '' }
+ - { id: 1823, class: sreg_32, preferred-register: '' }
+ - { id: 1824, class: sreg_32, preferred-register: '' }
+ - { id: 1825, class: sreg_32, preferred-register: '' }
+ - { id: 1826, class: sreg_32, preferred-register: '' }
+ - { id: 1827, class: sreg_32, preferred-register: '' }
+ - { id: 1828, class: sreg_32, preferred-register: '' }
+ - { id: 1829, class: vreg_64, preferred-register: '' }
+ - { id: 1830, class: vgpr_32, preferred-register: '' }
+ - { id: 1831, class: sreg_64, preferred-register: '' }
+ - { id: 1832, class: vreg_64, preferred-register: '' }
+ - { id: 1833, class: sreg_64, preferred-register: '' }
+ - { id: 1834, class: sreg_64, preferred-register: '' }
+ - { id: 1835, class: sreg_64, preferred-register: '' }
+ - { id: 1836, class: sreg_32_xm0, preferred-register: '' }
+ - { id: 1837, class: sreg_32_xm0, preferred-register: '' }
+ - { id: 1838, class: sreg_32, preferred-register: '' }
+ - { id: 1839, class: vreg_64, preferred-register: '' }
+ - { id: 1840, class: vreg_64, preferred-register: '' }
+ - { id: 1841, class: vreg_64, preferred-register: '' }
+ - { id: 1842, class: vreg_64, preferred-register: '' }
+ - { id: 1843, class: vreg_64, preferred-register: '' }
+ - { id: 1844, class: vreg_64, preferred-register: '' }
+ - { id: 1845, class: vreg_64, preferred-register: '' }
+ - { id: 1846, class: vreg_64, preferred-register: '' }
+ - { id: 1847, class: vreg_64, preferred-register: '' }
+ - { id: 1848, class: vreg_64, preferred-register: '' }
+ - { id: 1849, class: vreg_64, preferred-register: '' }
+ - { id: 1850, class: vreg_64, preferred-register: '' }
+ - { id: 1851, class: vreg_64, preferred-register: '' }
+ - { id: 1852, class: vreg_64, preferred-register: '' }
+ - { id: 1853, class: vreg_64, preferred-register: '' }
+ - { id: 1854, class: vreg_64, preferred-register: '' }
+ - { id: 1855, class: sreg_64, preferred-register: '' }
+ - { id: 1856, class: sreg_64, preferred-register: '' }
+ - { id: 1857, class: sreg_32_xm0, preferred-register: '' }
+ - { id: 1858, class: sreg_32_xm0, preferred-register: '' }
+ - { id: 1859, class: sreg_32_xm0, preferred-register: '' }
+ - { id: 1860, class: sreg_32_xm0, preferred-register: '' }
+ - { id: 1861, class: sreg_32_xm0, preferred-register: '' }
+ - { id: 1862, class: sreg_32_xm0, preferred-register: '' }
+ - { id: 1863, class: sreg_32_xm0, preferred-register: '' }
+ - { id: 1864, class: sreg_32, preferred-register: '' }
+ - { id: 1865, class: sreg_32, preferred-register: '' }
+ - { id: 1866, class: sreg_64, preferred-register: '' }
+ - { id: 1867, class: sreg_64, preferred-register: '' }
+ - { id: 1868, class: sreg_64, preferred-register: '' }
+ - { id: 1869, class: sreg_64, preferred-register: '' }
+ - { id: 1870, class: sreg_64, preferred-register: '' }
+ - { id: 1871, class: sreg_64, preferred-register: '' }
+ - { id: 1872, class: sreg_32, preferred-register: '' }
+ - { id: 1873, class: sreg_64, preferred-register: '' }
+ - { id: 1874, class: sreg_32, preferred-register: '' }
+ - { id: 1875, class: sreg_32, preferred-register: '' }
+ - { id: 1876, class: sreg_32, preferred-register: '' }
+ - { id: 1877, class: sreg_32, preferred-register: '' }
+ - { id: 1878, class: sreg_32, preferred-register: '' }
+ - { id: 1879, class: sreg_32, preferred-register: '' }
+ - { id: 1880, class: sreg_32, preferred-register: '' }
+ - { id: 1881, class: sreg_32, preferred-register: '' }
+ - { id: 1882, class: sreg_64, preferred-register: '' }
+ - { id: 1883, class: sreg_64, preferred-register: '' }
+ - { id: 1884, class: sreg_64, preferred-register: '' }
+ - { id: 1885, class: sreg_64, preferred-register: '' }
+ - { id: 1886, class: sreg_64, preferred-register: '' }
+ - { id: 1887, class: sreg_32, preferred-register: '' }
+ - { id: 1888, class: sreg_64, preferred-register: '' }
+ - { id: 1889, class: sreg_32, preferred-register: '' }
+ - { id: 1890, class: sreg_32, preferred-register: '' }
+ - { id: 1891, class: sreg_32, preferred-register: '' }
+ - { id: 1892, class: sreg_32, preferred-register: '' }
+ - { id: 1893, class: sreg_32, preferred-register: '' }
+ - { id: 1894, class: sreg_32, preferred-register: '' }
+ - { id: 1895, class: sreg_32, preferred-register: '' }
+ - { id: 1896, class: sreg_64, preferred-register: '' }
+ - { id: 1897, class: sreg_64, preferred-register: '' }
+ - { id: 1898, class: sreg_64, preferred-register: '' }
+ - { id: 1899, class: sreg_64, preferred-register: '' }
+ - { id: 1900, class: sreg_32, preferred-register: '' }
+ - { id: 1901, class: sreg_64, preferred-register: '' }
+ - { id: 1902, class: sreg_32, preferred-register: '' }
+ - { id: 1903, class: sreg_32, preferred-register: '' }
+ - { id: 1904, class: sreg_32, preferred-register: '' }
+ - { id: 1905, class: sreg_32, preferred-register: '' }
+ - { id: 1906, class: sreg_32, preferred-register: '' }
+ - { id: 1907, class: sreg_32, preferred-register: '' }
+ - { id: 1908, class: sreg_64, preferred-register: '' }
+ - { id: 1909, class: sreg_64, preferred-register: '' }
+ - { id: 1910, class: sreg_64, preferred-register: '' }
+ - { id: 1911, class: sreg_64, preferred-register: '' }
+ - { id: 1912, class: sreg_32, preferred-register: '' }
+ - { id: 1913, class: sreg_64, preferred-register: '' }
+ - { id: 1914, class: sreg_32, preferred-register: '' }
+ - { id: 1915, class: sreg_32, preferred-register: '' }
+ - { id: 1916, class: sreg_32, preferred-register: '' }
+ - { id: 1917, class: sreg_32, preferred-register: '' }
+ - { id: 1918, class: sreg_32, preferred-register: '' }
+ - { id: 1919, class: sreg_64, preferred-register: '' }
+ - { id: 1920, class: sreg_64, preferred-register: '' }
+ - { id: 1921, class: sreg_64, preferred-register: '' }
+ - { id: 1922, class: sreg_32, preferred-register: '' }
+ - { id: 1923, class: sreg_64, preferred-register: '' }
+ - { id: 1924, class: sreg_32, preferred-register: '' }
+ - { id: 1925, class: sreg_32, preferred-register: '' }
+ - { id: 1926, class: sreg_32, preferred-register: '' }
+ - { id: 1927, class: sreg_32, preferred-register: '' }
+ - { id: 1928, class: sreg_64, preferred-register: '' }
+ - { id: 1929, class: sreg_64, preferred-register: '' }
+ - { id: 1930, class: sreg_32, preferred-register: '' }
+ - { id: 1931, class: sreg_64, preferred-register: '' }
+ - { id: 1932, class: sreg_32, preferred-register: '' }
+ - { id: 1933, class: sreg_32, preferred-register: '' }
+ - { id: 1934, class: sreg_32, preferred-register: '' }
+ - { id: 1935, class: sreg_64, preferred-register: '' }
+ - { id: 1936, class: sreg_32, preferred-register: '' }
+ - { id: 1937, class: sreg_32, preferred-register: '' }
+ - { id: 1938, class: sreg_32, preferred-register: '' }
+ - { id: 1939, class: sreg_32, preferred-register: '' }
+ - { id: 1940, class: sreg_32, preferred-register: '' }
+ - { id: 1941, class: sreg_32, preferred-register: '' }
+ - { id: 1942, class: sreg_32, preferred-register: '' }
+ - { id: 1943, class: sreg_32, preferred-register: '' }
+ - { id: 1944, class: sreg_32, preferred-register: '' }
+ - { id: 1945, class: sreg_32, preferred-register: '' }
+ - { id: 1946, class: sreg_32, preferred-register: '' }
+ - { id: 1947, class: sreg_32, preferred-register: '' }
+ - { id: 1948, class: sreg_32, preferred-register: '' }
+ - { id: 1949, class: sreg_32, preferred-register: '' }
+ - { id: 1950, class: sreg_32, preferred-register: '' }
+ - { id: 1951, class: sreg_32, preferred-register: '' }
+ - { id: 1952, class: sreg_32, preferred-register: '' }
+ - { id: 1953, class: sreg_32, preferred-register: '' }
+ - { id: 1954, class: sreg_32, preferred-register: '' }
+ - { id: 1955, class: sreg_32, preferred-register: '' }
+ - { id: 1956, class: sreg_32, preferred-register: '' }
+ - { id: 1957, class: sreg_32, preferred-register: '' }
+ - { id: 1958, class: sreg_32, preferred-register: '' }
+ - { id: 1959, class: vgpr_32, preferred-register: '' }
+ - { id: 1960, class: vreg_64, preferred-register: '' }
+ - { id: 1961, class: vreg_64, preferred-register: '' }
+ - { id: 1962, class: vreg_64, preferred-register: '' }
+ - { id: 1963, class: vreg_64, preferred-register: '' }
+ - { id: 1964, class: vreg_64, preferred-register: '' }
+ - { id: 1965, class: vreg_64, preferred-register: '' }
+ - { id: 1966, class: vreg_64, preferred-register: '' }
+ - { id: 1967, class: vreg_64, preferred-register: '' }
+ - { id: 1968, class: vgpr_32, preferred-register: '' }
+ - { id: 1969, class: sreg_64, preferred-register: '' }
+ - { id: 1970, class: sreg_64, preferred-register: '' }
+ - { id: 1971, class: sreg_32, preferred-register: '' }
+ - { id: 1972, class: sreg_32, preferred-register: '' }
+ - { id: 1973, class: sreg_32, preferred-register: '' }
+ - { id: 1974, class: sreg_32, preferred-register: '' }
+ - { id: 1975, class: sreg_32, preferred-register: '' }
+ - { id: 1976, class: sreg_32, preferred-register: '' }
+ - { id: 1977, class: sreg_32, preferred-register: '' }
+ - { id: 1978, class: sreg_32, preferred-register: '' }
+ - { id: 1979, class: sreg_32, preferred-register: '' }
+ - { id: 1980, class: sreg_64, preferred-register: '' }
+ - { id: 1981, class: sreg_64, preferred-register: '' }
+ - { id: 1982, class: sreg_64, preferred-register: '' }
+ - { id: 1983, class: sreg_64, preferred-register: '' }
+ - { id: 1984, class: sreg_64, preferred-register: '' }
+ - { id: 1985, class: sreg_64, preferred-register: '' }
+ - { id: 1986, class: sreg_32, preferred-register: '' }
+ - { id: 1987, class: sreg_64, preferred-register: '' }
+ - { id: 1988, class: sreg_32, preferred-register: '' }
+ - { id: 1989, class: sreg_32, preferred-register: '' }
+ - { id: 1990, class: sreg_32, preferred-register: '' }
+ - { id: 1991, class: sreg_32, preferred-register: '' }
+ - { id: 1992, class: sreg_32, preferred-register: '' }
+ - { id: 1993, class: sreg_32, preferred-register: '' }
+ - { id: 1994, class: sreg_32, preferred-register: '' }
+ - { id: 1995, class: sreg_32, preferred-register: '' }
+ - { id: 1996, class: sreg_64, preferred-register: '' }
+ - { id: 1997, class: sreg_64, preferred-register: '' }
+ - { id: 1998, class: sreg_64, preferred-register: '' }
+ - { id: 1999, class: sreg_64, preferred-register: '' }
+ - { id: 2000, class: sreg_64, preferred-register: '' }
+ - { id: 2001, class: sreg_32, preferred-register: '' }
+ - { id: 2002, class: sreg_64, preferred-register: '' }
+ - { id: 2003, class: sreg_32, preferred-register: '' }
+ - { id: 2004, class: sreg_32, preferred-register: '' }
+ - { id: 2005, class: sreg_32, preferred-register: '' }
+ - { id: 2006, class: sreg_32, preferred-register: '' }
+ - { id: 2007, class: sreg_32, preferred-register: '' }
+ - { id: 2008, class: sreg_32, preferred-register: '' }
+ - { id: 2009, class: sreg_32, preferred-register: '' }
+ - { id: 2010, class: sreg_64, preferred-register: '' }
+ - { id: 2011, class: sreg_64, preferred-register: '' }
+ - { id: 2012, class: sreg_64, preferred-register: '' }
+ - { id: 2013, class: sreg_64, preferred-register: '' }
+ - { id: 2014, class: sreg_32, preferred-register: '' }
+ - { id: 2015, class: sreg_64, preferred-register: '' }
+ - { id: 2016, class: sreg_32, preferred-register: '' }
+ - { id: 2017, class: sreg_32, preferred-register: '' }
+ - { id: 2018, class: sreg_32, preferred-register: '' }
+ - { id: 2019, class: sreg_32, preferred-register: '' }
+ - { id: 2020, class: sreg_32, preferred-register: '' }
+ - { id: 2021, class: sreg_32, preferred-register: '' }
+ - { id: 2022, class: sreg_64, preferred-register: '' }
+ - { id: 2023, class: sreg_64, preferred-register: '' }
+ - { id: 2024, class: sreg_64, preferred-register: '' }
+ - { id: 2025, class: sreg_64, preferred-register: '' }
+ - { id: 2026, class: sreg_32, preferred-register: '' }
+ - { id: 2027, class: sreg_64, preferred-register: '' }
+ - { id: 2028, class: sreg_32, preferred-register: '' }
+ - { id: 2029, class: sreg_32, preferred-register: '' }
+ - { id: 2030, class: sreg_32, preferred-register: '' }
+ - { id: 2031, class: sreg_32, preferred-register: '' }
+ - { id: 2032, class: sreg_32, preferred-register: '' }
+ - { id: 2033, class: sreg_64, preferred-register: '' }
+ - { id: 2034, class: sreg_64, preferred-register: '' }
+ - { id: 2035, class: sreg_64, preferred-register: '' }
+ - { id: 2036, class: sreg_32, preferred-register: '' }
+ - { id: 2037, class: sreg_64, preferred-register: '' }
+ - { id: 2038, class: sreg_32, preferred-register: '' }
+ - { id: 2039, class: sreg_32, preferred-register: '' }
+ - { id: 2040, class: sreg_32, preferred-register: '' }
+ - { id: 2041, class: sreg_32, preferred-register: '' }
+ - { id: 2042, class: sreg_64, preferred-register: '' }
+ - { id: 2043, class: sreg_64, preferred-register: '' }
+ - { id: 2044, class: sreg_32, preferred-register: '' }
+ - { id: 2045, class: sreg_64, preferred-register: '' }
+ - { id: 2046, class: sreg_32, preferred-register: '' }
+ - { id: 2047, class: sreg_32, preferred-register: '' }
+ - { id: 2048, class: sreg_32, preferred-register: '' }
+ - { id: 2049, class: sreg_64, preferred-register: '' }
+ - { id: 2050, class: sreg_32, preferred-register: '' }
+ - { id: 2051, class: sreg_32, preferred-register: '' }
+ - { id: 2052, class: sreg_32, preferred-register: '' }
+ - { id: 2053, class: sreg_32, preferred-register: '' }
+ - { id: 2054, class: sreg_32, preferred-register: '' }
+ - { id: 2055, class: sreg_32, preferred-register: '' }
+ - { id: 2056, class: sreg_32, preferred-register: '' }
+ - { id: 2057, class: sreg_32, preferred-register: '' }
+ - { id: 2058, class: sreg_32, preferred-register: '' }
+ - { id: 2059, class: sreg_32, preferred-register: '' }
+ - { id: 2060, class: sreg_32, preferred-register: '' }
+ - { id: 2061, class: sreg_32, preferred-register: '' }
+ - { id: 2062, class: sreg_32, preferred-register: '' }
+ - { id: 2063, class: sreg_32, preferred-register: '' }
+ - { id: 2064, class: sreg_32, preferred-register: '' }
+ - { id: 2065, class: sreg_32, preferred-register: '' }
+ - { id: 2066, class: sreg_32, preferred-register: '' }
+ - { id: 2067, class: sreg_32, preferred-register: '' }
+ - { id: 2068, class: sreg_32, preferred-register: '' }
+ - { id: 2069, class: sreg_32, preferred-register: '' }
+ - { id: 2070, class: sreg_32, preferred-register: '' }
+ - { id: 2071, class: sreg_32, preferred-register: '' }
+ - { id: 2072, class: sreg_32, preferred-register: '' }
+ - { id: 2073, class: sreg_64, preferred-register: '' }
+ - { id: 2074, class: sreg_32, preferred-register: '' }
+ - { id: 2075, class: sreg_32, preferred-register: '' }
+ - { id: 2076, class: sreg_32, preferred-register: '' }
+ - { id: 2077, class: sreg_64, preferred-register: '' }
+ - { id: 2078, class: sreg_32, preferred-register: '' }
+ - { id: 2079, class: sreg_32, preferred-register: '' }
+ - { id: 2080, class: sreg_32, preferred-register: '' }
+ - { id: 2081, class: sreg_64, preferred-register: '' }
+ - { id: 2082, class: sreg_64, preferred-register: '' }
+ - { id: 2083, class: sreg_64, preferred-register: '' }
+liveins: []
+frameInfo:
+ isFrameAddressTaken: false
+ isReturnAddressTaken: false
+ hasStackMap: false
+ hasPatchPoint: false
+ stackSize: 0
+ offsetAdjustment: 0
+ maxAlignment: 1
+ adjustsStack: false
+ hasCalls: false
+ stackProtector: ''
+ functionContext: ''
+ maxCallFrameSize: 4294967295
+ cvBytesOfCalleeSavedRegisters: 0
+ hasOpaqueSPAdjustment: false
+ hasVAStart: false
+ hasMustTailInVarArgFunc: false
+ hasTailCall: false
+ localFrameSize: 0
+ savePoint: ''
+ restorePoint: ''
+fixedStack: []
+stack: []
+entry_values: []
+callSites: []
+debugValueSubstitutions: []
+constants: []
+machineFunctionInfo:
+ explicitKernArgSize: 0
+ maxKernArgAlign: 4
+ ldsSize: 0
+ gdsSize: 0
+ dynLDSAlign: 1
+ isEntryFunction: true
+ isChainFunction: false
+ noSignedZerosFPMath: false
+ memoryBound: false
+ waveLimiter: false
+ hasSpilledSGPRs: false
+ hasSpilledVGPRs: false
+ scratchRSrcReg: '$sgpr100_sgpr101_sgpr102_sgpr103'
+ frameOffsetReg: '$fp_reg'
+ stackPtrOffsetReg: '$sgpr32'
+ bytesInStackArgArea: 0
+ returnsVoid: true
+ argumentInfo:
+ privateSegmentWaveByteOffset: { reg: '$sgpr8' }
+ psInputAddr: 0
+ psInputEnable: 0
+ mode:
+ ieee: false
+ dx10-clamp: true
+ fp32-input-denormals: false
+ fp32-output-denormals: false
+ fp64-fp16-input-denormals: true
+ fp64-fp16-output-denormals: true
+ highBitsOf32BitAddress: 0
+ occupancy: 20
+ vgprForAGPRCopy: ''
+ sgprForEXECCopy: '$sgpr104_sgpr105'
+ longBranchReservedReg: ''
+body: |
+ ; GCN-LABEL: name: _amdgpu_cs_main
+ ; GCN: bb.0..entry:
+ ; GCN-NEXT: successors: %bb.1(0x80000000)
+ ; GCN-NEXT: liveins: $sgpr0, $sgpr1, $sgpr2, $sgpr3, $sgpr4, $sgpr5, $sgpr6, $sgpr7, $vgpr0, $vgpr1, $vgpr2
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr8 = COPY $sgpr1
+ ; GCN-NEXT: renamable $sgpr0 = COPY $sgpr3
+ ; GCN-NEXT: renamable $sgpr12_sgpr13 = COPY $exec
+ ; GCN-NEXT: renamable $sgpr9 = COPY $sgpr2
+ ; GCN-NEXT: renamable $sgpr2_sgpr3 = S_GETPC_B64_pseudo
+ ; GCN-NEXT: renamable $sgpr10_sgpr11 = S_MOV_B64_IMM_PSEUDO -4294967296
+ ; GCN-NEXT: renamable $sgpr2_sgpr3 = S_AND_B64 killed renamable $sgpr2_sgpr3, renamable $sgpr10_sgpr11, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr1 = COPY killed renamable $sgpr10
+ ; GCN-NEXT: renamable $sgpr10_sgpr11 = S_OR_B64 killed renamable $sgpr2_sgpr3, killed renamable $sgpr0_sgpr1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr0_sgpr1_sgpr2_sgpr3 = S_LOAD_DWORDX4_IMM renamable $sgpr10_sgpr11, 16, 0 :: (invariant load (<4 x s32>) from %ir.5, addrspace 4)
+ ; GCN-NEXT: renamable $sgpr26_sgpr27 = S_MOV_B64_IMM_PSEUDO 3
+ ; GCN-NEXT: renamable $sgpr20_sgpr21 = S_AND_B64 killed renamable $sgpr12_sgpr13, $exec, implicit-def dead $scc
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.1 (%ir-block.8):
+ ; GCN-NEXT: successors: %bb.2(0x30000000), %bb.3(0x50000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr20_sgpr21, $sgpr26_sgpr27:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr12_sgpr13 = COPY killed renamable $sgpr26_sgpr27
+ ; GCN-NEXT: renamable $sgpr26_sgpr27 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr35 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr30 = S_ADD_U32 renamable $sgpr12, -3, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr39 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr14_sgpr15 = nuw S_LSHL_B64 1, renamable $sgpr30, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr38 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr14_sgpr15 = S_AND_B64 killed renamable $sgpr14_sgpr15, renamable $sgpr20_sgpr21, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr37 = S_MOV_B32 0
+ ; GCN-NEXT: S_CMP_LG_U64 killed renamable $sgpr14_sgpr15, 0, implicit-def $scc
+ ; GCN-NEXT: renamable $sgpr36 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr7 = S_CSELECT_B32 1, 0, implicit $scc
+ ; GCN-NEXT: renamable $sgpr34 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr40 = S_AND_B32 killed renamable $sgpr7, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr31 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr33 = S_MOV_B32 1
+ ; GCN-NEXT: renamable $sgpr7 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr14_sgpr15 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr16_sgpr17 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr18_sgpr19 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr22_sgpr23 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr24_sgpr25 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr28_sgpr29 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr15 = S_MOV_B32 1
+ ; GCN-NEXT: $scc = COPY killed renamable $sgpr40
+ ; GCN-NEXT: S_CBRANCH_SCC1 %bb.3, implicit $scc
+ ; GCN-NEXT: S_BRANCH %bb.2
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.2 (%ir-block.12):
+ ; GCN-NEXT: successors: %bb.4(0x30000000), %bb.5(0x50000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr30, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13:0x000000000000000F, $sgpr20_sgpr21, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr14 = S_ADD_U32 renamable $sgpr12, -2, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr33 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr16_sgpr17 = nuw S_LSHL_B64 1, renamable $sgpr14, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr31 = S_MOV_B32 1
+ ; GCN-NEXT: renamable $sgpr26_sgpr27 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr16_sgpr17 = S_AND_B64 killed renamable $sgpr16_sgpr17, renamable $sgpr20_sgpr21, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr35 = S_MOV_B32 0
+ ; GCN-NEXT: S_CMP_EQ_U64 killed renamable $sgpr16_sgpr17, 0, implicit-def $scc
+ ; GCN-NEXT: renamable $sgpr39 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr7 = S_CSELECT_B32 1, 0, implicit $scc
+ ; GCN-NEXT: renamable $sgpr38 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr40 = S_AND_B32 killed renamable $sgpr7, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr37 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr36 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr34 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr7 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr16_sgpr17 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr18_sgpr19 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr22_sgpr23 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr24_sgpr25 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr28_sgpr29 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr15 = S_MOV_B32 1
+ ; GCN-NEXT: $scc = COPY killed renamable $sgpr40
+ ; GCN-NEXT: S_CBRANCH_SCC1 %bb.4, implicit $scc
+ ; GCN-NEXT: S_BRANCH %bb.5
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.3.Flow89:
+ ; GCN-NEXT: successors: %bb.85(0x04000000), %bb.1(0x7c000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr15, $sgpr30, $sgpr31, $sgpr33, $sgpr34, $sgpr35, $sgpr36, $sgpr37, $sgpr38, $sgpr39, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13:0x0000000000000003, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21, $sgpr22_sgpr23:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x000000000000000F, $sgpr28_sgpr29:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr13 = S_AND_B32 killed renamable $sgpr15, 1, implicit-def dead $scc
+ ; GCN-NEXT: $scc = COPY killed renamable $sgpr13
+ ; GCN-NEXT: S_CBRANCH_SCC1 %bb.85, implicit $scc
+ ; GCN-NEXT: S_BRANCH %bb.1
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.4 (%ir-block.33):
+ ; GCN-NEXT: successors: %bb.6(0x30000000), %bb.7(0x50000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr30, $sgpr33, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13:0x000000000000000F, $sgpr14_sgpr15:0x0000000000000003, $sgpr20_sgpr21, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr16 = S_ADD_U32 renamable $sgpr12, -1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr31 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr18_sgpr19 = nuw S_LSHL_B64 1, renamable $sgpr16, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr34 = S_MOV_B32 1
+ ; GCN-NEXT: renamable $sgpr26_sgpr27 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr18_sgpr19 = S_AND_B64 killed renamable $sgpr18_sgpr19, renamable $sgpr20_sgpr21, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr35 = S_MOV_B32 0
+ ; GCN-NEXT: S_CMP_EQ_U64 killed renamable $sgpr18_sgpr19, 0, implicit-def $scc
+ ; GCN-NEXT: renamable $sgpr39 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr7 = S_CSELECT_B32 1, 0, implicit $scc
+ ; GCN-NEXT: renamable $sgpr38 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr17 = S_AND_B32 killed renamable $sgpr7, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr37 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr36 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr7 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr18_sgpr19 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr22_sgpr23 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr24_sgpr25 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr28_sgpr29 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr15 = S_MOV_B32 1
+ ; GCN-NEXT: $scc = COPY killed renamable $sgpr17
+ ; GCN-NEXT: S_CBRANCH_SCC1 %bb.6, implicit $scc
+ ; GCN-NEXT: S_BRANCH %bb.7
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.5.Flow90:
+ ; GCN-NEXT: successors: %bb.3(0x80000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr15, $sgpr30, $sgpr31, $sgpr33, $sgpr34, $sgpr35, $sgpr36, $sgpr37, $sgpr38, $sgpr39, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13:0x0000000000000003, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21, $sgpr22_sgpr23:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x000000000000000F, $sgpr28_sgpr29:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: S_BRANCH %bb.3
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.6 (%ir-block.52):
+ ; GCN-NEXT: successors: %bb.8(0x30000000), %bb.9(0x50000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr30, $sgpr31, $sgpr33, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13:0x000000000000000F, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr20_sgpr21, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr18_sgpr19 = nuw S_LSHL_B64 1, renamable $sgpr12, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr34 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr18_sgpr19 = S_AND_B64 killed renamable $sgpr18_sgpr19, renamable $sgpr20_sgpr21, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr36 = S_MOV_B32 1
+ ; GCN-NEXT: renamable $sgpr26_sgpr27 = IMPLICIT_DEF
+ ; GCN-NEXT: S_CMP_EQ_U64 killed renamable $sgpr18_sgpr19, 0, implicit-def $scc
+ ; GCN-NEXT: renamable $sgpr35 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr7 = S_CSELECT_B32 1, 0, implicit $scc
+ ; GCN-NEXT: renamable $sgpr39 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr17 = S_AND_B32 killed renamable $sgpr7, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr38 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr37 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr7 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr18_sgpr19 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr22_sgpr23 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr24_sgpr25 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr28_sgpr29 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr15 = S_MOV_B32 1
+ ; GCN-NEXT: $scc = COPY killed renamable $sgpr17
+ ; GCN-NEXT: S_CBRANCH_SCC1 %bb.8, implicit $scc
+ ; GCN-NEXT: S_BRANCH %bb.9
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.7.Flow91:
+ ; GCN-NEXT: successors: %bb.5(0x80000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr15, $sgpr30, $sgpr31, $sgpr33, $sgpr34, $sgpr35, $sgpr36, $sgpr37, $sgpr38, $sgpr39, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13:0x0000000000000003, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21, $sgpr22_sgpr23:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x000000000000000F, $sgpr28_sgpr29:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: S_BRANCH %bb.5
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.8 (%ir-block.68):
+ ; GCN-NEXT: successors: %bb.10(0x30000000), %bb.11(0x50000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr30, $sgpr31, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13:0x000000000000000F, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr20_sgpr21, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr18 = S_ADD_U32 renamable $sgpr12, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr22_sgpr23 = nuw S_LSHL_B64 1, renamable $sgpr18, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr36 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr22_sgpr23 = S_AND_B64 killed renamable $sgpr22_sgpr23, renamable $sgpr20_sgpr21, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr37 = S_MOV_B32 1
+ ; GCN-NEXT: renamable $sgpr26_sgpr27 = IMPLICIT_DEF
+ ; GCN-NEXT: S_CMP_EQ_U64 killed renamable $sgpr22_sgpr23, 0, implicit-def $scc
+ ; GCN-NEXT: renamable $sgpr35 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr7 = S_CSELECT_B32 1, 0, implicit $scc
+ ; GCN-NEXT: renamable $sgpr39 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr17 = S_AND_B32 killed renamable $sgpr7, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr38 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr7 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr22_sgpr23 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr24_sgpr25 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr28_sgpr29 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr15 = S_MOV_B32 1
+ ; GCN-NEXT: $scc = COPY killed renamable $sgpr17
+ ; GCN-NEXT: S_CBRANCH_SCC1 %bb.10, implicit $scc
+ ; GCN-NEXT: S_BRANCH %bb.11
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.9.Flow92:
+ ; GCN-NEXT: successors: %bb.7(0x80000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr15, $sgpr30, $sgpr31, $sgpr33, $sgpr34, $sgpr35, $sgpr36, $sgpr37, $sgpr38, $sgpr39, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13:0x0000000000000003, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21, $sgpr22_sgpr23:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x000000000000000F, $sgpr28_sgpr29:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: S_BRANCH %bb.7
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.10 (%ir-block.84):
+ ; GCN-NEXT: successors: %bb.12(0x30000000), %bb.13(0x50000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr30, $sgpr31, $sgpr33, $sgpr34, $sgpr36, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13:0x000000000000000F, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr22 = S_ADD_U32 renamable $sgpr12, 2, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr24_sgpr25 = nuw S_LSHL_B64 1, renamable $sgpr22, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr24_sgpr25 = S_AND_B64 killed renamable $sgpr24_sgpr25, renamable $sgpr20_sgpr21, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr37 = S_MOV_B32 0
+ ; GCN-NEXT: S_CMP_EQ_U64 killed renamable $sgpr24_sgpr25, 0, implicit-def $scc
+ ; GCN-NEXT: renamable $sgpr38 = S_MOV_B32 1
+ ; GCN-NEXT: renamable $sgpr26_sgpr27 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr7 = S_CSELECT_B32 1, 0, implicit $scc
+ ; GCN-NEXT: renamable $sgpr35 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr17 = S_AND_B32 killed renamable $sgpr7, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr39 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr7 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr24_sgpr25 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr28_sgpr29 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr15 = S_MOV_B32 1
+ ; GCN-NEXT: $scc = COPY killed renamable $sgpr17
+ ; GCN-NEXT: S_CBRANCH_SCC1 %bb.12, implicit $scc
+ ; GCN-NEXT: S_BRANCH %bb.13
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.11.Flow93:
+ ; GCN-NEXT: successors: %bb.9(0x80000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr15, $sgpr30, $sgpr31, $sgpr33, $sgpr34, $sgpr35, $sgpr36, $sgpr37, $sgpr38, $sgpr39, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13:0x0000000000000003, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21, $sgpr22_sgpr23:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x000000000000000F, $sgpr28_sgpr29:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: S_BRANCH %bb.9
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.12 (%ir-block.98):
+ ; GCN-NEXT: successors: %bb.14(0x30000000), %bb.15(0x50000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr30, $sgpr31, $sgpr33, $sgpr34, $sgpr36, $sgpr37, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13:0x000000000000000F, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21, $sgpr22_sgpr23:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr24 = S_ADD_U32 renamable $sgpr12, 3, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr26_sgpr27 = nuw S_LSHL_B64 1, renamable $sgpr24, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr26_sgpr27 = S_AND_B64 killed renamable $sgpr26_sgpr27, renamable $sgpr20_sgpr21, implicit-def dead $scc
+ ; GCN-NEXT: S_CMP_EQ_U64 killed renamable $sgpr26_sgpr27, 0, implicit-def $scc
+ ; GCN-NEXT: renamable $sgpr38 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr7 = S_CSELECT_B32 1, 0, implicit $scc
+ ; GCN-NEXT: renamable $sgpr39 = S_MOV_B32 1
+ ; GCN-NEXT: renamable $sgpr26_sgpr27 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr17 = S_AND_B32 killed renamable $sgpr7, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr35 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr7 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr28_sgpr29 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr15 = S_MOV_B32 1
+ ; GCN-NEXT: $scc = COPY killed renamable $sgpr17
+ ; GCN-NEXT: S_CBRANCH_SCC1 %bb.14, implicit $scc
+ ; GCN-NEXT: S_BRANCH %bb.15
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.13.Flow94:
+ ; GCN-NEXT: successors: %bb.11(0x80000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr15, $sgpr30, $sgpr31, $sgpr33, $sgpr34, $sgpr35, $sgpr36, $sgpr37, $sgpr38, $sgpr39, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13:0x0000000000000003, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21, $sgpr22_sgpr23:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x000000000000000F, $sgpr28_sgpr29:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: S_BRANCH %bb.11
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.14 (%ir-block.110):
+ ; GCN-NEXT: successors: %bb.16(0x30000000), %bb.84(0x50000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr30, $sgpr31, $sgpr33, $sgpr34, $sgpr36, $sgpr37, $sgpr38, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13:0x000000000000000F, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21, $sgpr22_sgpr23:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr28 = S_ADD_U32 renamable $sgpr12, 4, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr26_sgpr27 = nuw S_LSHL_B64 1, renamable $sgpr28, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr26_sgpr27 = S_AND_B64 killed renamable $sgpr26_sgpr27, renamable $sgpr20_sgpr21, implicit-def dead $scc
+ ; GCN-NEXT: S_CMP_EQ_U64 killed renamable $sgpr26_sgpr27, 0, implicit-def $scc
+ ; GCN-NEXT: renamable $sgpr7 = S_CSELECT_B32 1, 0, implicit $scc
+ ; GCN-NEXT: renamable $sgpr35 = S_MOV_B32 1
+ ; GCN-NEXT: renamable $sgpr17 = S_AND_B32 killed renamable $sgpr7, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr26_sgpr27 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr7 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr15 = S_MOV_B32 1
+ ; GCN-NEXT: $scc = COPY killed renamable $sgpr17
+ ; GCN-NEXT: S_CBRANCH_SCC1 %bb.16, implicit $scc
+ ; GCN-NEXT: S_BRANCH %bb.84
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.15.Flow95:
+ ; GCN-NEXT: successors: %bb.13(0x80000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr15, $sgpr30, $sgpr31, $sgpr33, $sgpr34, $sgpr35, $sgpr36, $sgpr37, $sgpr38, $sgpr39, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13:0x0000000000000003, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21, $sgpr22_sgpr23:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x000000000000000F, $sgpr28_sgpr29:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: S_BRANCH %bb.13
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.16 (%ir-block.120):
+ ; GCN-NEXT: successors: %bb.84(0x80000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr30, $sgpr31, $sgpr33, $sgpr34, $sgpr36, $sgpr37, $sgpr38, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13:0x000000000000000F, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21, $sgpr22_sgpr23:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr28_sgpr29:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr26 = S_ADD_U32 renamable $sgpr12, 8, implicit-def $scc
+ ; GCN-NEXT: renamable $sgpr7 = COPY $scc
+ ; GCN-NEXT: renamable $sgpr7 = S_AND_B32 killed renamable $sgpr7, 1, implicit-def dead $scc
+ ; GCN-NEXT: $scc = COPY killed renamable $sgpr7
+ ; GCN-NEXT: renamable $sgpr27 = S_ADDC_U32 renamable $sgpr13, 0, implicit-def dead $scc, implicit $scc
+ ; GCN-NEXT: S_CMPK_EQ_I32 renamable $sgpr26, 67, implicit-def $scc
+ ; GCN-NEXT: renamable $sgpr35 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr15 = S_CSELECT_B32 1, 0, implicit $scc
+ ; GCN-NEXT: renamable $sgpr7 = S_MOV_B32 0
+ ; GCN-NEXT: S_BRANCH %bb.84
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.17.Flow86:
+ ; GCN-NEXT: successors: %bb.18(0x40000000), %bb.38(0x40000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr13, $sgpr30, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr14_sgpr15:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr12 = S_XOR_B32 killed renamable $sgpr13, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr12 = S_AND_B32 killed renamable $sgpr12, 1, implicit-def dead $scc
+ ; GCN-NEXT: $scc = COPY killed renamable $sgpr12
+ ; GCN-NEXT: S_CBRANCH_SCC1 %bb.38, implicit $scc
+ ; GCN-NEXT: S_BRANCH %bb.18
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.18..split10splitsplitsplitsplitsplitsplit_crit_edge:
+ ; GCN-NEXT: successors: %bb.38(0x80000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr30, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr14_sgpr15:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr7 = COPY killed renamable $sgpr14
+ ; GCN-NEXT: S_BRANCH %bb.38
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.19.Flow84:
+ ; GCN-NEXT: successors: %bb.20(0x40000000), %bb.37(0x40000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr13, $sgpr30, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr12 = S_XOR_B32 killed renamable $sgpr13, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr12 = S_AND_B32 killed renamable $sgpr12, 1, implicit-def dead $scc
+ ; GCN-NEXT: $scc = COPY killed renamable $sgpr12
+ ; GCN-NEXT: S_CBRANCH_SCC1 %bb.37, implicit $scc
+ ; GCN-NEXT: S_BRANCH %bb.20
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.20..split10splitsplitsplitsplitsplit_crit_edge:
+ ; GCN-NEXT: successors: %bb.37(0x80000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr30, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr7 = COPY killed renamable $sgpr16
+ ; GCN-NEXT: S_BRANCH %bb.37
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.21.Flow82:
+ ; GCN-NEXT: successors: %bb.22(0x40000000), %bb.36(0x40000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr13, $sgpr30, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13:0x0000000000000003, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr13 = S_XOR_B32 killed renamable $sgpr13, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr13 = S_AND_B32 killed renamable $sgpr13, 1, implicit-def dead $scc
+ ; GCN-NEXT: $scc = COPY killed renamable $sgpr13
+ ; GCN-NEXT: S_CBRANCH_SCC1 %bb.36, implicit $scc
+ ; GCN-NEXT: S_BRANCH %bb.22
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.22..split10splitsplitsplitsplit_crit_edge:
+ ; GCN-NEXT: successors: %bb.36(0x80000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr30, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13:0x0000000000000003, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr7 = COPY killed renamable $sgpr12
+ ; GCN-NEXT: S_BRANCH %bb.36
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.23.Flow80:
+ ; GCN-NEXT: successors: %bb.24(0x40000000), %bb.35(0x40000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr13, $sgpr30, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13:0x0000000000000003, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr13 = S_XOR_B32 killed renamable $sgpr13, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr13 = S_AND_B32 killed renamable $sgpr13, 1, implicit-def dead $scc
+ ; GCN-NEXT: $scc = COPY killed renamable $sgpr13
+ ; GCN-NEXT: S_CBRANCH_SCC1 %bb.35, implicit $scc
+ ; GCN-NEXT: S_BRANCH %bb.24
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.24..split10splitsplitsplit_crit_edge:
+ ; GCN-NEXT: successors: %bb.35(0x80000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr30, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13:0x0000000000000003, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr7 = COPY killed renamable $sgpr18
+ ; GCN-NEXT: S_BRANCH %bb.35
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.25.Flow78:
+ ; GCN-NEXT: successors: %bb.26(0x40000000), %bb.34(0x40000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr13, $sgpr30, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13:0x0000000000000003, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr22_sgpr23:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr13 = S_XOR_B32 killed renamable $sgpr13, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr13 = S_AND_B32 killed renamable $sgpr13, 1, implicit-def dead $scc
+ ; GCN-NEXT: $scc = COPY killed renamable $sgpr13
+ ; GCN-NEXT: S_CBRANCH_SCC1 %bb.34, implicit $scc
+ ; GCN-NEXT: S_BRANCH %bb.26
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.26..split10splitsplit_crit_edge:
+ ; GCN-NEXT: successors: %bb.34(0x80000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr30, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13:0x0000000000000003, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr22_sgpr23:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr7 = COPY killed renamable $sgpr22
+ ; GCN-NEXT: S_BRANCH %bb.34
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.27.Flow76:
+ ; GCN-NEXT: successors: %bb.28(0x40000000), %bb.33(0x40000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr13, $sgpr30, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13:0x0000000000000003, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr22_sgpr23:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr13 = S_XOR_B32 killed renamable $sgpr13, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr13 = S_AND_B32 killed renamable $sgpr13, 1, implicit-def dead $scc
+ ; GCN-NEXT: $scc = COPY killed renamable $sgpr13
+ ; GCN-NEXT: S_CBRANCH_SCC1 %bb.33, implicit $scc
+ ; GCN-NEXT: S_BRANCH %bb.28
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.28..split10split_crit_edge:
+ ; GCN-NEXT: successors: %bb.33(0x80000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr30, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13:0x0000000000000003, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr22_sgpr23:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr7 = COPY killed renamable $sgpr24
+ ; GCN-NEXT: S_BRANCH %bb.33
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.29..split10_crit_edge:
+ ; GCN-NEXT: successors: %bb.32(0x80000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr30, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13:0x0000000000000003, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr22_sgpr23:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr28_sgpr29:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr7 = COPY killed renamable $sgpr28
+ ; GCN-NEXT: S_BRANCH %bb.32
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.30.Flow88:
+ ; GCN-NEXT: successors: %bb.31(0x40000000), %bb.39(0x40000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr13, $sgpr30, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr12 = S_XOR_B32 killed renamable $sgpr13, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr12 = S_AND_B32 killed renamable $sgpr12, 1, implicit-def dead $scc
+ ; GCN-NEXT: $scc = COPY killed renamable $sgpr12
+ ; GCN-NEXT: S_CBRANCH_SCC1 %bb.39, implicit $scc
+ ; GCN-NEXT: S_BRANCH %bb.31
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.31.._crit_edge9:
+ ; GCN-NEXT: successors: %bb.39(0x80000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr30, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr7 = COPY killed renamable $sgpr30
+ ; GCN-NEXT: S_BRANCH %bb.39
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.32.Flow75:
+ ; GCN-NEXT: successors: %bb.27(0x80000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr30, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13:0x0000000000000003, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr22_sgpr23:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr13 = S_MOV_B32 0
+ ; GCN-NEXT: S_BRANCH %bb.27
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.33.Flow77:
+ ; GCN-NEXT: successors: %bb.25(0x80000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr30, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13:0x0000000000000003, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr22_sgpr23:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr13 = S_MOV_B32 0
+ ; GCN-NEXT: S_BRANCH %bb.25
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.34.Flow79:
+ ; GCN-NEXT: successors: %bb.23(0x80000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr30, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13:0x0000000000000003, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr13 = S_MOV_B32 0
+ ; GCN-NEXT: S_BRANCH %bb.23
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.35.Flow81:
+ ; GCN-NEXT: successors: %bb.21(0x80000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr30, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13:0x0000000000000003, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr13 = S_MOV_B32 0
+ ; GCN-NEXT: S_BRANCH %bb.21
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.36.Flow83:
+ ; GCN-NEXT: successors: %bb.19(0x80000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr30, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr13 = S_MOV_B32 0
+ ; GCN-NEXT: S_BRANCH %bb.19
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.37.Flow85:
+ ; GCN-NEXT: successors: %bb.17(0x80000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr30, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr14_sgpr15:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr13 = S_MOV_B32 0
+ ; GCN-NEXT: S_BRANCH %bb.17
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.38.Flow87:
+ ; GCN-NEXT: successors: %bb.30(0x80000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr30, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr13 = S_MOV_B32 0
+ ; GCN-NEXT: S_BRANCH %bb.30
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.39 (%ir-block.142):
+ ; GCN-NEXT: successors: %bb.82(0x40000000), %bb.40(0x40000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr12_sgpr13 = COPY $exec
+ ; GCN-NEXT: renamable $sgpr14 = S_LSHL_B32 renamable $sgpr7, 5, implicit-def dead $scc
+ ; GCN-NEXT: renamable $vgpr1 = COPY renamable $sgpr14
+ ; GCN-NEXT: renamable $vgpr1_vgpr2_vgpr3_vgpr4 = BUFFER_LOAD_DWORDX4_OFFEN killed renamable $vgpr1, renamable $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (<4 x s32>), align 1, addrspace 8)
+ ; GCN-NEXT: renamable $vgpr5 = V_MBCNT_LO_U32_B32_e64 -1, 0, implicit $exec
+ ; GCN-NEXT: renamable $vgpr16 = V_MBCNT_HI_U32_B32_e64 -1, killed $vgpr5, implicit $exec
+ ; GCN-NEXT: renamable $sgpr14 = S_OR_B32 killed renamable $sgpr14, 16, implicit-def dead $scc
+ ; GCN-NEXT: renamable $vgpr5 = COPY killed renamable $sgpr14
+ ; GCN-NEXT: renamable $vgpr6 = V_LSHLREV_B32_e64 5, $vgpr16, implicit $exec
+ ; GCN-NEXT: renamable $vgpr12_vgpr13_vgpr14_vgpr15 = BUFFER_LOAD_DWORDX4_OFFEN killed renamable $vgpr5, renamable $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (<4 x s32>), align 1, addrspace 8)
+ ; GCN-NEXT: renamable $vgpr5 = V_OR_B32_e64 16, $vgpr6, implicit $exec
+ ; GCN-NEXT: renamable $sgpr14 = V_READFIRSTLANE_B32 $vgpr1, implicit $exec
+ ; GCN-NEXT: renamable $vgpr8_vgpr9_vgpr10_vgpr11 = BUFFER_LOAD_DWORDX4_OFFEN killed renamable $vgpr6, renamable $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (<4 x s32>), align 1, addrspace 8)
+ ; GCN-NEXT: renamable $sgpr15 = V_READFIRSTLANE_B32 $vgpr2, implicit $exec
+ ; GCN-NEXT: renamable $sgpr16 = V_READFIRSTLANE_B32 $vgpr3, implicit $exec
+ ; GCN-NEXT: renamable $sgpr17 = V_READFIRSTLANE_B32 killed $vgpr4, implicit $exec
+ ; GCN-NEXT: renamable $vgpr4_vgpr5_vgpr6_vgpr7 = BUFFER_LOAD_DWORDX4_OFFEN killed renamable $vgpr5, renamable $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (<4 x s32>), align 1, addrspace 8)
+ ; GCN-NEXT: renamable $sgpr18 = V_READFIRSTLANE_B32 $vgpr12, implicit $exec
+ ; GCN-NEXT: renamable $sgpr19 = V_READFIRSTLANE_B32 $vgpr13, implicit $exec
+ ; GCN-NEXT: renamable $sgpr20 = V_READFIRSTLANE_B32 $vgpr14, implicit $exec
+ ; GCN-NEXT: renamable $sgpr21 = V_READFIRSTLANE_B32 killed $vgpr15, implicit $exec
+ ; GCN-NEXT: renamable $sgpr22 = V_READFIRSTLANE_B32 $vgpr8, implicit $exec
+ ; GCN-NEXT: renamable $sgpr23 = V_READFIRSTLANE_B32 $vgpr9, implicit $exec
+ ; GCN-NEXT: renamable $sgpr24 = V_READFIRSTLANE_B32 $vgpr10, implicit $exec
+ ; GCN-NEXT: renamable $sgpr25 = V_READFIRSTLANE_B32 $vgpr11, implicit $exec
+ ; GCN-NEXT: renamable $sgpr26 = V_READFIRSTLANE_B32 $vgpr4, implicit $exec
+ ; GCN-NEXT: renamable $sgpr27 = V_READFIRSTLANE_B32 $vgpr5, implicit $exec
+ ; GCN-NEXT: renamable $vgpr1 = COPY renamable $vgpr7
+ ; GCN-NEXT: S_CMP_EQ_U64 killed renamable $sgpr14_sgpr15, killed renamable $sgpr22_sgpr23, implicit-def $scc
+ ; GCN-NEXT: renamable $sgpr14 = V_READFIRSTLANE_B32 $vgpr6, implicit $exec
+ ; GCN-NEXT: renamable $sgpr22 = S_CSELECT_B32 1, 0, implicit $scc
+ ; GCN-NEXT: S_CMP_EQ_U64 killed renamable $sgpr16_sgpr17, killed renamable $sgpr24_sgpr25, implicit-def $scc
+ ; GCN-NEXT: renamable $sgpr15 = V_READFIRSTLANE_B32 $vgpr1, implicit $exec
+ ; GCN-NEXT: renamable $sgpr16 = S_CSELECT_B32 1, 0, implicit $scc
+ ; GCN-NEXT: S_CMP_EQ_U64 killed renamable $sgpr18_sgpr19, killed renamable $sgpr26_sgpr27, implicit-def $scc
+ ; GCN-NEXT: renamable $sgpr17 = S_CSELECT_B32 1, 0, implicit $scc
+ ; GCN-NEXT: S_CMP_EQ_U64 killed renamable $sgpr20_sgpr21, killed renamable $sgpr14_sgpr15, implicit-def $scc
+ ; GCN-NEXT: renamable $sgpr14 = S_CSELECT_B32 1, 0, implicit $scc
+ ; GCN-NEXT: renamable $sgpr15 = S_AND_B32 killed renamable $sgpr22, killed renamable $sgpr16, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr15 = S_AND_B32 killed renamable $sgpr17, killed renamable $sgpr15, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr14 = S_AND_B32 killed renamable $sgpr14, killed renamable $sgpr15, implicit-def dead $scc
+ ; GCN-NEXT: renamable $vcc = V_CMP_NE_U32_e64 $sgpr7, killed $vgpr16, implicit $exec
+ ; GCN-NEXT: renamable $sgpr14 = S_AND_B32 killed renamable $sgpr14, 1, implicit-def dead $scc
+ ; GCN-NEXT: $scc = COPY killed renamable $sgpr14
+ ; GCN-NEXT: renamable $sgpr33 = S_CSELECT_B32 1, 0, implicit $scc
+ ; GCN-NEXT: renamable $sgpr12_sgpr13 = S_XOR_B64 killed renamable $vcc, killed renamable $sgpr12_sgpr13, implicit-def dead $scc
+ ; GCN-NEXT: renamable $vgpr3 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr14_sgpr15 = COPY $exec, implicit-def $exec
+ ; GCN-NEXT: renamable $sgpr16_sgpr17 = S_AND_B64 renamable $sgpr14_sgpr15, killed renamable $sgpr12_sgpr13, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr12_sgpr13 = S_XOR_B64 renamable $sgpr16_sgpr17, killed renamable $sgpr14_sgpr15, implicit-def dead $scc
+ ; GCN-NEXT: $exec = S_MOV_B64_term killed renamable $sgpr16_sgpr17
+ ; GCN-NEXT: S_CBRANCH_EXECZ %bb.40, implicit $exec
+ ; GCN-NEXT: S_BRANCH %bb.82
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.40.Flow73:
+ ; GCN-NEXT: successors: %bb.41(0x40000000), %bb.42(0x40000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $vgpr0, $vgpr3, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr12_sgpr13 = S_OR_SAVEEXEC_B64 killed renamable $sgpr12_sgpr13, implicit-def $exec, implicit-def $scc, implicit $exec
+ ; GCN-NEXT: $exec = S_XOR_B64_term $exec, renamable $sgpr12_sgpr13, implicit-def $scc
+ ; GCN-NEXT: S_CBRANCH_EXECZ %bb.42, implicit $exec
+ ; GCN-NEXT: S_BRANCH %bb.41
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.41 (%ir-block.195):
+ ; GCN-NEXT: successors: %bb.43(0x80000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr28_sgpr29 = S_MOV_B64_IMM_PSEUDO 3
+ ; GCN-NEXT: renamable $sgpr22_sgpr23 = S_AND_B64 $exec, $exec, implicit-def dead $scc
+ ; GCN-NEXT: S_BRANCH %bb.43
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.42.Flow74:
+ ; GCN-NEXT: successors: %bb.83(0x80000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $vgpr0, $vgpr3, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: $exec = S_OR_B64 $exec, killed renamable $sgpr12_sgpr13, implicit-def $scc
+ ; GCN-NEXT: S_BRANCH %bb.83
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.43 (%ir-block.198):
+ ; GCN-NEXT: successors: %bb.44(0x30000000), %bb.45(0x50000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr22_sgpr23, $sgpr28_sgpr29:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr14_sgpr15 = COPY killed renamable $sgpr28_sgpr29
+ ; GCN-NEXT: renamable $sgpr28_sgpr29 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr38 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr34 = S_ADD_U32 renamable $sgpr14, -3, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr42 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr16_sgpr17 = nuw S_LSHL_B64 1, renamable $sgpr34, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr41 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr16_sgpr17 = S_AND_B64 killed renamable $sgpr16_sgpr17, renamable $sgpr22_sgpr23, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr40 = S_MOV_B32 0
+ ; GCN-NEXT: S_CMP_LG_U64 killed renamable $sgpr16_sgpr17, 0, implicit-def $scc
+ ; GCN-NEXT: renamable $sgpr39 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr16 = S_CSELECT_B32 1, 0, implicit $scc
+ ; GCN-NEXT: renamable $sgpr37 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr43 = S_AND_B32 killed renamable $sgpr16, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr35 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr36 = S_MOV_B32 1
+ ; GCN-NEXT: renamable $sgpr16_sgpr17 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr18_sgpr19 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr20_sgpr21 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr24_sgpr25 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr26_sgpr27 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr30_sgpr31 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr17 = S_MOV_B32 1
+ ; GCN-NEXT: $scc = COPY killed renamable $sgpr43
+ ; GCN-NEXT: S_CBRANCH_SCC1 %bb.45, implicit $scc
+ ; GCN-NEXT: S_BRANCH %bb.44
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.44 (%ir-block.202):
+ ; GCN-NEXT: successors: %bb.46(0x30000000), %bb.47(0x50000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x000000000000000F, $sgpr22_sgpr23, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr16 = S_ADD_U32 renamable $sgpr14, -2, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr36 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr18_sgpr19 = nuw S_LSHL_B64 1, renamable $sgpr16, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr35 = S_MOV_B32 1
+ ; GCN-NEXT: renamable $sgpr28_sgpr29 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr18_sgpr19 = S_AND_B64 killed renamable $sgpr18_sgpr19, renamable $sgpr22_sgpr23, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr38 = S_MOV_B32 0
+ ; GCN-NEXT: S_CMP_EQ_U64 killed renamable $sgpr18_sgpr19, 0, implicit-def $scc
+ ; GCN-NEXT: renamable $sgpr42 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr17 = S_CSELECT_B32 1, 0, implicit $scc
+ ; GCN-NEXT: renamable $sgpr41 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr43 = S_AND_B32 killed renamable $sgpr17, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr40 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr39 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr37 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr18_sgpr19 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr20_sgpr21 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr24_sgpr25 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr26_sgpr27 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr30_sgpr31 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr17 = S_MOV_B32 1
+ ; GCN-NEXT: $scc = COPY killed renamable $sgpr43
+ ; GCN-NEXT: S_CBRANCH_SCC1 %bb.46, implicit $scc
+ ; GCN-NEXT: S_BRANCH %bb.47
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.45.Flow65:
+ ; GCN-NEXT: successors: %bb.94(0x04000000), %bb.43(0x7c000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr17, $sgpr33, $sgpr34, $sgpr35, $sgpr36, $sgpr37, $sgpr38, $sgpr39, $sgpr40, $sgpr41, $sgpr42, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr22_sgpr23, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr28_sgpr29:0x000000000000000F, $sgpr30_sgpr31:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr15 = S_AND_B32 killed renamable $sgpr17, 1, implicit-def dead $scc
+ ; GCN-NEXT: $scc = COPY killed renamable $sgpr15
+ ; GCN-NEXT: S_CBRANCH_SCC1 %bb.94, implicit $scc
+ ; GCN-NEXT: S_BRANCH %bb.43
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.46 (%ir-block.223):
+ ; GCN-NEXT: successors: %bb.48(0x30000000), %bb.49(0x50000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $sgpr36, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x000000000000000F, $sgpr16_sgpr17:0x0000000000000003, $sgpr22_sgpr23, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr18 = S_ADD_U32 renamable $sgpr14, -1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr35 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr20_sgpr21 = nuw S_LSHL_B64 1, renamable $sgpr18, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr37 = S_MOV_B32 1
+ ; GCN-NEXT: renamable $sgpr28_sgpr29 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr20_sgpr21 = S_AND_B64 killed renamable $sgpr20_sgpr21, renamable $sgpr22_sgpr23, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr38 = S_MOV_B32 0
+ ; GCN-NEXT: S_CMP_EQ_U64 killed renamable $sgpr20_sgpr21, 0, implicit-def $scc
+ ; GCN-NEXT: renamable $sgpr42 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr17 = S_CSELECT_B32 1, 0, implicit $scc
+ ; GCN-NEXT: renamable $sgpr41 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr19 = S_AND_B32 killed renamable $sgpr17, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr40 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr39 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr20_sgpr21 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr24_sgpr25 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr26_sgpr27 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr30_sgpr31 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr17 = S_MOV_B32 1
+ ; GCN-NEXT: $scc = COPY killed renamable $sgpr19
+ ; GCN-NEXT: S_CBRANCH_SCC1 %bb.48, implicit $scc
+ ; GCN-NEXT: S_BRANCH %bb.49
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.47.Flow66:
+ ; GCN-NEXT: successors: %bb.45(0x80000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr17, $sgpr33, $sgpr34, $sgpr35, $sgpr36, $sgpr37, $sgpr38, $sgpr39, $sgpr40, $sgpr41, $sgpr42, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr22_sgpr23, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr28_sgpr29:0x000000000000000F, $sgpr30_sgpr31:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: S_BRANCH %bb.45
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.48 (%ir-block.242):
+ ; GCN-NEXT: successors: %bb.50(0x30000000), %bb.51(0x50000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $sgpr35, $sgpr36, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x000000000000000F, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr22_sgpr23, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr20_sgpr21 = nuw S_LSHL_B64 1, renamable $sgpr14, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr37 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr20_sgpr21 = S_AND_B64 killed renamable $sgpr20_sgpr21, renamable $sgpr22_sgpr23, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr39 = S_MOV_B32 1
+ ; GCN-NEXT: renamable $sgpr28_sgpr29 = IMPLICIT_DEF
+ ; GCN-NEXT: S_CMP_EQ_U64 killed renamable $sgpr20_sgpr21, 0, implicit-def $scc
+ ; GCN-NEXT: renamable $sgpr38 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr17 = S_CSELECT_B32 1, 0, implicit $scc
+ ; GCN-NEXT: renamable $sgpr42 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr19 = S_AND_B32 killed renamable $sgpr17, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr41 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr40 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr20_sgpr21 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr24_sgpr25 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr26_sgpr27 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr30_sgpr31 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr17 = S_MOV_B32 1
+ ; GCN-NEXT: $scc = COPY killed renamable $sgpr19
+ ; GCN-NEXT: S_CBRANCH_SCC1 %bb.50, implicit $scc
+ ; GCN-NEXT: S_BRANCH %bb.51
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.49.Flow67:
+ ; GCN-NEXT: successors: %bb.47(0x80000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr17, $sgpr33, $sgpr34, $sgpr35, $sgpr36, $sgpr37, $sgpr38, $sgpr39, $sgpr40, $sgpr41, $sgpr42, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr22_sgpr23, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr28_sgpr29:0x000000000000000F, $sgpr30_sgpr31:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: S_BRANCH %bb.47
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.50 (%ir-block.258):
+ ; GCN-NEXT: successors: %bb.52(0x30000000), %bb.53(0x50000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $sgpr35, $sgpr36, $sgpr37, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x000000000000000F, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr22_sgpr23, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr20 = S_ADD_U32 renamable $sgpr14, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr24_sgpr25 = nuw S_LSHL_B64 1, renamable $sgpr20, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr39 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr24_sgpr25 = S_AND_B64 killed renamable $sgpr24_sgpr25, renamable $sgpr22_sgpr23, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr40 = S_MOV_B32 1
+ ; GCN-NEXT: renamable $sgpr28_sgpr29 = IMPLICIT_DEF
+ ; GCN-NEXT: S_CMP_EQ_U64 killed renamable $sgpr24_sgpr25, 0, implicit-def $scc
+ ; GCN-NEXT: renamable $sgpr38 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr17 = S_CSELECT_B32 1, 0, implicit $scc
+ ; GCN-NEXT: renamable $sgpr42 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr19 = S_AND_B32 killed renamable $sgpr17, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr41 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr24_sgpr25 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr26_sgpr27 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr30_sgpr31 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr17 = S_MOV_B32 1
+ ; GCN-NEXT: $scc = COPY killed renamable $sgpr19
+ ; GCN-NEXT: S_CBRANCH_SCC1 %bb.52, implicit $scc
+ ; GCN-NEXT: S_BRANCH %bb.53
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.51.Flow68:
+ ; GCN-NEXT: successors: %bb.49(0x80000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr17, $sgpr33, $sgpr34, $sgpr35, $sgpr36, $sgpr37, $sgpr38, $sgpr39, $sgpr40, $sgpr41, $sgpr42, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr22_sgpr23, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr28_sgpr29:0x000000000000000F, $sgpr30_sgpr31:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: S_BRANCH %bb.49
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.52 (%ir-block.274):
+ ; GCN-NEXT: successors: %bb.54(0x30000000), %bb.55(0x50000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $sgpr35, $sgpr36, $sgpr37, $sgpr39, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x000000000000000F, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr22_sgpr23, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr24 = S_ADD_U32 renamable $sgpr14, 2, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr26_sgpr27 = nuw S_LSHL_B64 1, renamable $sgpr24, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr26_sgpr27 = S_AND_B64 killed renamable $sgpr26_sgpr27, renamable $sgpr22_sgpr23, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr40 = S_MOV_B32 0
+ ; GCN-NEXT: S_CMP_EQ_U64 killed renamable $sgpr26_sgpr27, 0, implicit-def $scc
+ ; GCN-NEXT: renamable $sgpr41 = S_MOV_B32 1
+ ; GCN-NEXT: renamable $sgpr28_sgpr29 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr17 = S_CSELECT_B32 1, 0, implicit $scc
+ ; GCN-NEXT: renamable $sgpr38 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr19 = S_AND_B32 killed renamable $sgpr17, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr42 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr26_sgpr27 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr30_sgpr31 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr17 = S_MOV_B32 1
+ ; GCN-NEXT: $scc = COPY killed renamable $sgpr19
+ ; GCN-NEXT: S_CBRANCH_SCC1 %bb.54, implicit $scc
+ ; GCN-NEXT: S_BRANCH %bb.55
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.53.Flow69:
+ ; GCN-NEXT: successors: %bb.51(0x80000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr17, $sgpr33, $sgpr34, $sgpr35, $sgpr36, $sgpr37, $sgpr38, $sgpr39, $sgpr40, $sgpr41, $sgpr42, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr22_sgpr23, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr28_sgpr29:0x000000000000000F, $sgpr30_sgpr31:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: S_BRANCH %bb.51
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.54 (%ir-block.288):
+ ; GCN-NEXT: successors: %bb.56(0x30000000), %bb.57(0x50000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $sgpr35, $sgpr36, $sgpr37, $sgpr39, $sgpr40, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x000000000000000F, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr22_sgpr23, $sgpr24_sgpr25:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr26 = S_ADD_U32 renamable $sgpr14, 3, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr28_sgpr29 = nuw S_LSHL_B64 1, renamable $sgpr26, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr28_sgpr29 = S_AND_B64 killed renamable $sgpr28_sgpr29, renamable $sgpr22_sgpr23, implicit-def dead $scc
+ ; GCN-NEXT: S_CMP_EQ_U64 killed renamable $sgpr28_sgpr29, 0, implicit-def $scc
+ ; GCN-NEXT: renamable $sgpr41 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr17 = S_CSELECT_B32 1, 0, implicit $scc
+ ; GCN-NEXT: renamable $sgpr42 = S_MOV_B32 1
+ ; GCN-NEXT: renamable $sgpr28_sgpr29 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr19 = S_AND_B32 killed renamable $sgpr17, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr38 = S_MOV_B32 0
+ ; GCN-NEXT: renamable $sgpr30_sgpr31 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr17 = S_MOV_B32 1
+ ; GCN-NEXT: $scc = COPY killed renamable $sgpr19
+ ; GCN-NEXT: S_CBRANCH_SCC1 %bb.56, implicit $scc
+ ; GCN-NEXT: S_BRANCH %bb.57
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.55.Flow70:
+ ; GCN-NEXT: successors: %bb.53(0x80000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr17, $sgpr33, $sgpr34, $sgpr35, $sgpr36, $sgpr37, $sgpr38, $sgpr39, $sgpr40, $sgpr41, $sgpr42, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr22_sgpr23, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr28_sgpr29:0x000000000000000F, $sgpr30_sgpr31:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: S_BRANCH %bb.53
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.56 (%ir-block.300):
+ ; GCN-NEXT: successors: %bb.58(0x30000000), %bb.93(0x50000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $sgpr35, $sgpr36, $sgpr37, $sgpr39, $sgpr40, $sgpr41, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x000000000000000F, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr22_sgpr23, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr30 = S_ADD_U32 renamable $sgpr14, 4, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr28_sgpr29 = nuw S_LSHL_B64 1, renamable $sgpr30, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr28_sgpr29 = S_AND_B64 killed renamable $sgpr28_sgpr29, renamable $sgpr22_sgpr23, implicit-def dead $scc
+ ; GCN-NEXT: S_CMP_EQ_U64 killed renamable $sgpr28_sgpr29, 0, implicit-def $scc
+ ; GCN-NEXT: renamable $sgpr17 = S_CSELECT_B32 1, 0, implicit $scc
+ ; GCN-NEXT: renamable $sgpr38 = S_MOV_B32 1
+ ; GCN-NEXT: renamable $sgpr19 = S_AND_B32 killed renamable $sgpr17, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr28_sgpr29 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $sgpr17 = S_MOV_B32 1
+ ; GCN-NEXT: $scc = COPY killed renamable $sgpr19
+ ; GCN-NEXT: S_CBRANCH_SCC1 %bb.58, implicit $scc
+ ; GCN-NEXT: S_BRANCH %bb.93
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.57.Flow71:
+ ; GCN-NEXT: successors: %bb.55(0x80000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr17, $sgpr33, $sgpr34, $sgpr35, $sgpr36, $sgpr37, $sgpr38, $sgpr39, $sgpr40, $sgpr41, $sgpr42, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr22_sgpr23, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr28_sgpr29:0x000000000000000F, $sgpr30_sgpr31:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: S_BRANCH %bb.55
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.58 (%ir-block.310):
+ ; GCN-NEXT: successors: %bb.93(0x80000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $sgpr35, $sgpr36, $sgpr37, $sgpr39, $sgpr40, $sgpr41, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x000000000000000F, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr22_sgpr23, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr30_sgpr31:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr28 = S_ADD_U32 renamable $sgpr14, 8, implicit-def $scc
+ ; GCN-NEXT: renamable $sgpr17 = COPY $scc
+ ; GCN-NEXT: renamable $sgpr17 = S_AND_B32 killed renamable $sgpr17, 1, implicit-def dead $scc
+ ; GCN-NEXT: $scc = COPY killed renamable $sgpr17
+ ; GCN-NEXT: renamable $sgpr29 = S_ADDC_U32 renamable $sgpr15, 0, implicit-def dead $scc, implicit $scc
+ ; GCN-NEXT: S_CMPK_EQ_I32 renamable $sgpr28, 67, implicit-def $scc
+ ; GCN-NEXT: renamable $sgpr17 = S_CSELECT_B32 1, 0, implicit $scc
+ ; GCN-NEXT: renamable $sgpr38 = S_MOV_B32 0
+ ; GCN-NEXT: S_BRANCH %bb.93
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.59.Flow62:
+ ; GCN-NEXT: successors: %bb.60(0x40000000), %bb.80(0x40000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr15, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr16_sgpr17:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr14 = S_XOR_B32 killed renamable $sgpr15, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr14 = S_AND_B32 killed renamable $sgpr14, 1, implicit-def dead $scc
+ ; GCN-NEXT: $scc = COPY killed renamable $sgpr14
+ ; GCN-NEXT: S_CBRANCH_SCC1 %bb.80, implicit $scc
+ ; GCN-NEXT: S_BRANCH %bb.60
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.60..splitsplitsplitsplitsplitsplitsplit_crit_edge:
+ ; GCN-NEXT: successors: %bb.80(0x80000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr16_sgpr17:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr7 = COPY killed renamable $sgpr16
+ ; GCN-NEXT: S_BRANCH %bb.80
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.61.Flow60:
+ ; GCN-NEXT: successors: %bb.62(0x40000000), %bb.79(0x40000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr15, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr14 = S_XOR_B32 killed renamable $sgpr15, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr14 = S_AND_B32 killed renamable $sgpr14, 1, implicit-def dead $scc
+ ; GCN-NEXT: $scc = COPY killed renamable $sgpr14
+ ; GCN-NEXT: S_CBRANCH_SCC1 %bb.79, implicit $scc
+ ; GCN-NEXT: S_BRANCH %bb.62
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.62..splitsplitsplitsplitsplitsplit_crit_edge:
+ ; GCN-NEXT: successors: %bb.79(0x80000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr7 = COPY killed renamable $sgpr18
+ ; GCN-NEXT: S_BRANCH %bb.79
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.63.Flow58:
+ ; GCN-NEXT: successors: %bb.64(0x40000000), %bb.78(0x40000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr15, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr15 = S_XOR_B32 killed renamable $sgpr15, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr15 = S_AND_B32 killed renamable $sgpr15, 1, implicit-def dead $scc
+ ; GCN-NEXT: $scc = COPY killed renamable $sgpr15
+ ; GCN-NEXT: S_CBRANCH_SCC1 %bb.78, implicit $scc
+ ; GCN-NEXT: S_BRANCH %bb.64
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.64..splitsplitsplitsplitsplit_crit_edge:
+ ; GCN-NEXT: successors: %bb.78(0x80000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr7 = COPY killed renamable $sgpr14
+ ; GCN-NEXT: S_BRANCH %bb.78
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.65.Flow56:
+ ; GCN-NEXT: successors: %bb.66(0x40000000), %bb.77(0x40000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr15, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr15 = S_XOR_B32 killed renamable $sgpr15, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr15 = S_AND_B32 killed renamable $sgpr15, 1, implicit-def dead $scc
+ ; GCN-NEXT: $scc = COPY killed renamable $sgpr15
+ ; GCN-NEXT: S_CBRANCH_SCC1 %bb.77, implicit $scc
+ ; GCN-NEXT: S_BRANCH %bb.66
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.66..splitsplitsplitsplit_crit_edge:
+ ; GCN-NEXT: successors: %bb.77(0x80000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr7 = COPY killed renamable $sgpr20
+ ; GCN-NEXT: S_BRANCH %bb.77
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.67.Flow54:
+ ; GCN-NEXT: successors: %bb.68(0x40000000), %bb.76(0x40000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr15, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr15 = S_XOR_B32 killed renamable $sgpr15, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr15 = S_AND_B32 killed renamable $sgpr15, 1, implicit-def dead $scc
+ ; GCN-NEXT: $scc = COPY killed renamable $sgpr15
+ ; GCN-NEXT: S_CBRANCH_SCC1 %bb.76, implicit $scc
+ ; GCN-NEXT: S_BRANCH %bb.68
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.68..splitsplitsplit_crit_edge:
+ ; GCN-NEXT: successors: %bb.76(0x80000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr7 = COPY killed renamable $sgpr24
+ ; GCN-NEXT: S_BRANCH %bb.76
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.69.Flow52:
+ ; GCN-NEXT: successors: %bb.70(0x40000000), %bb.75(0x40000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr15, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr15 = S_XOR_B32 killed renamable $sgpr15, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr15 = S_AND_B32 killed renamable $sgpr15, 1, implicit-def dead $scc
+ ; GCN-NEXT: $scc = COPY killed renamable $sgpr15
+ ; GCN-NEXT: S_CBRANCH_SCC1 %bb.75, implicit $scc
+ ; GCN-NEXT: S_BRANCH %bb.70
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.70..splitsplit_crit_edge:
+ ; GCN-NEXT: successors: %bb.75(0x80000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr7 = COPY killed renamable $sgpr26
+ ; GCN-NEXT: S_BRANCH %bb.75
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.71..split_crit_edge:
+ ; GCN-NEXT: successors: %bb.74(0x80000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr30_sgpr31:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr7 = COPY killed renamable $sgpr30
+ ; GCN-NEXT: S_BRANCH %bb.74
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.72.Flow64:
+ ; GCN-NEXT: successors: %bb.73(0x40000000), %bb.81(0x40000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr15, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr14 = S_XOR_B32 killed renamable $sgpr15, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr14 = S_AND_B32 killed renamable $sgpr14, 1, implicit-def dead $scc
+ ; GCN-NEXT: $scc = COPY killed renamable $sgpr14
+ ; GCN-NEXT: S_CBRANCH_SCC1 %bb.81, implicit $scc
+ ; GCN-NEXT: S_BRANCH %bb.73
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.73.._crit_edge:
+ ; GCN-NEXT: successors: %bb.81(0x80000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr7 = COPY killed renamable $sgpr34
+ ; GCN-NEXT: S_BRANCH %bb.81
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.74.Flow:
+ ; GCN-NEXT: successors: %bb.69(0x80000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr15 = S_MOV_B32 0
+ ; GCN-NEXT: S_BRANCH %bb.69
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.75.Flow53:
+ ; GCN-NEXT: successors: %bb.67(0x80000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr15 = S_MOV_B32 0
+ ; GCN-NEXT: S_BRANCH %bb.67
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.76.Flow55:
+ ; GCN-NEXT: successors: %bb.65(0x80000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr15 = S_MOV_B32 0
+ ; GCN-NEXT: S_BRANCH %bb.65
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.77.Flow57:
+ ; GCN-NEXT: successors: %bb.63(0x80000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr15 = S_MOV_B32 0
+ ; GCN-NEXT: S_BRANCH %bb.63
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.78.Flow59:
+ ; GCN-NEXT: successors: %bb.61(0x80000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr15 = S_MOV_B32 0
+ ; GCN-NEXT: S_BRANCH %bb.61
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.79.Flow61:
+ ; GCN-NEXT: successors: %bb.59(0x80000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr16_sgpr17:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr15 = S_MOV_B32 0
+ ; GCN-NEXT: S_BRANCH %bb.59
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.80.Flow63:
+ ; GCN-NEXT: successors: %bb.72(0x80000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr15 = S_MOV_B32 0
+ ; GCN-NEXT: S_BRANCH %bb.72
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.81 (%ir-block.332):
+ ; GCN-NEXT: successors: %bb.42(0x80000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr7 = S_LSHL_B32 killed renamable $sgpr7, 5, implicit-def dead $scc
+ ; GCN-NEXT: renamable $vgpr2 = COPY renamable $sgpr7
+ ; GCN-NEXT: renamable $sgpr7 = S_OR_B32 killed renamable $sgpr7, 16, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr14 = V_READFIRSTLANE_B32 $vgpr8, implicit $exec
+ ; GCN-NEXT: renamable $vgpr3 = COPY killed renamable $sgpr7
+ ; GCN-NEXT: renamable $vgpr12_vgpr13_vgpr14_vgpr15 = BUFFER_LOAD_DWORDX4_OFFEN killed renamable $vgpr2, renamable $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (<4 x s32>), align 1, addrspace 8)
+ ; GCN-NEXT: renamable $sgpr15 = V_READFIRSTLANE_B32 $vgpr9, implicit $exec
+ ; GCN-NEXT: renamable $sgpr16 = V_READFIRSTLANE_B32 $vgpr10, implicit $exec
+ ; GCN-NEXT: renamable $sgpr17 = V_READFIRSTLANE_B32 killed $vgpr11, implicit $exec
+ ; GCN-NEXT: renamable $vgpr7_vgpr8_vgpr9_vgpr10 = BUFFER_LOAD_DWORDX4_OFFEN killed renamable $vgpr3, killed renamable $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (<4 x s32>), align 1, addrspace 8)
+ ; GCN-NEXT: renamable $sgpr0 = V_READFIRSTLANE_B32 $vgpr4, implicit $exec
+ ; GCN-NEXT: renamable $sgpr1 = V_READFIRSTLANE_B32 $vgpr5, implicit $exec
+ ; GCN-NEXT: renamable $sgpr2 = V_READFIRSTLANE_B32 killed $vgpr6, implicit $exec
+ ; GCN-NEXT: renamable $sgpr3 = V_READFIRSTLANE_B32 killed $vgpr1, implicit $exec
+ ; GCN-NEXT: renamable $sgpr18 = V_READFIRSTLANE_B32 $vgpr12, implicit $exec
+ ; GCN-NEXT: renamable $sgpr19 = V_READFIRSTLANE_B32 $vgpr13, implicit $exec
+ ; GCN-NEXT: renamable $sgpr20 = V_READFIRSTLANE_B32 $vgpr14, implicit $exec
+ ; GCN-NEXT: renamable $sgpr21 = V_READFIRSTLANE_B32 killed $vgpr15, implicit $exec
+ ; GCN-NEXT: renamable $sgpr22 = V_READFIRSTLANE_B32 $vgpr7, implicit $exec
+ ; GCN-NEXT: renamable $sgpr23 = V_READFIRSTLANE_B32 $vgpr8, implicit $exec
+ ; GCN-NEXT: S_CMP_EQ_U64 killed renamable $sgpr18_sgpr19, killed renamable $sgpr14_sgpr15, implicit-def $scc
+ ; GCN-NEXT: renamable $sgpr14 = V_READFIRSTLANE_B32 $vgpr9, implicit $exec
+ ; GCN-NEXT: renamable $sgpr7 = S_CSELECT_B32 1, 0, implicit $scc
+ ; GCN-NEXT: S_CMP_EQ_U64 killed renamable $sgpr20_sgpr21, killed renamable $sgpr16_sgpr17, implicit-def $scc
+ ; GCN-NEXT: renamable $sgpr15 = V_READFIRSTLANE_B32 killed $vgpr10, implicit $exec
+ ; GCN-NEXT: renamable $sgpr16 = S_CSELECT_B32 1, 0, implicit $scc
+ ; GCN-NEXT: S_CMP_EQ_U64 killed renamable $sgpr22_sgpr23, killed renamable $sgpr0_sgpr1, implicit-def $scc
+ ; GCN-NEXT: renamable $sgpr0 = S_CSELECT_B32 1, 0, implicit $scc
+ ; GCN-NEXT: S_CMP_EQ_U64 killed renamable $sgpr14_sgpr15, killed renamable $sgpr2_sgpr3, implicit-def $scc
+ ; GCN-NEXT: renamable $sgpr1 = S_CSELECT_B32 1, 0, implicit $scc
+ ; GCN-NEXT: renamable $sgpr2 = S_AND_B32 killed renamable $sgpr7, killed renamable $sgpr16, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr0 = S_AND_B32 killed renamable $sgpr0, killed renamable $sgpr2, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr0 = S_AND_B32 killed renamable $sgpr1, killed renamable $sgpr0, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr0 = S_AND_B32 killed renamable $sgpr0, 1, implicit-def dead $scc
+ ; GCN-NEXT: $scc = COPY killed renamable $sgpr0
+ ; GCN-NEXT: renamable $sgpr0 = S_CSELECT_B32 1, 0, implicit $scc
+ ; GCN-NEXT: renamable $sgpr0 = S_LSHL_B32 killed renamable $sgpr0, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr0 = S_OR_B32 killed renamable $sgpr0, killed renamable $sgpr33, implicit-def dead $scc
+ ; GCN-NEXT: renamable $vgpr3 = COPY killed renamable $sgpr0
+ ; GCN-NEXT: S_BRANCH %bb.42
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.82 (%ir-block.363):
+ ; GCN-NEXT: successors: %bb.40(0x80000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr14 = S_OR_B32 renamable $sgpr33, 2, implicit-def dead $scc
+ ; GCN-NEXT: renamable $vgpr3 = COPY killed renamable $sgpr14
+ ; GCN-NEXT: renamable $vgpr8_vgpr9 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $vgpr1_vgpr2 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7 = IMPLICIT_DEF
+ ; GCN-NEXT: S_BRANCH %bb.40
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.83 (%ir-block.365):
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $vgpr0, $vgpr3, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr8_sgpr9 = S_LOAD_DWORDX2_IMM killed renamable $sgpr8_sgpr9, 0, 0 :: (invariant load (<2 x s32>) from %ir.numWorkgroupsPtr, align 16, addrspace 4)
+ ; GCN-NEXT: renamable $vgpr1 = COPY killed renamable $sgpr5
+ ; GCN-NEXT: renamable $vgpr1_vgpr2, dead renamable $sgpr0_sgpr1 = V_MAD_U64_U32_e64 $sgpr9, killed $sgpr6, $vgpr1_vgpr2, 0, implicit $exec
+ ; GCN-NEXT: renamable $sgpr0_sgpr1_sgpr2_sgpr3 = S_LOAD_DWORDX4_IMM killed renamable $sgpr10_sgpr11, 0, 0 :: (invariant load (<4 x s32>) from %ir.367, addrspace 4)
+ ; GCN-NEXT: renamable $sgpr5 = S_LSHL_B32 killed renamable $sgpr8, 6, implicit-def dead $scc
+ ; GCN-NEXT: renamable $vgpr1 = V_MUL_LO_U32_e64 killed $vgpr1, killed $sgpr5, implicit $exec
+ ; GCN-NEXT: renamable $sgpr4 = S_LSHL_B32 killed renamable $sgpr4, 6, implicit-def dead $scc
+ ; GCN-NEXT: renamable $vgpr0 = V_ADD_U32_e64 killed $sgpr4, killed $vgpr0, 0, implicit $exec
+ ; GCN-NEXT: renamable $vgpr0 = V_ADD_LSHL_U32_e64 killed $vgpr1, killed $vgpr0, 2, implicit $exec
+ ; GCN-NEXT: BUFFER_STORE_DWORD_OFFEN_exact killed renamable $vgpr3, killed renamable $vgpr0, killed renamable $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec :: (dereferenceable store (s32), align 1, addrspace 8)
+ ; GCN-NEXT: S_ENDPGM 0
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.84.Flow96:
+ ; GCN-NEXT: successors: %bb.15(0x80000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr15, $sgpr30, $sgpr31, $sgpr33, $sgpr34, $sgpr35, $sgpr36, $sgpr37, $sgpr38, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13:0x0000000000000003, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21, $sgpr22_sgpr23:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x000000000000000F, $sgpr28_sgpr29:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr39 = S_MOV_B32 0
+ ; GCN-NEXT: S_BRANCH %bb.15
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.85.loop.exit.guard:
+ ; GCN-NEXT: successors: %bb.86(0x40000000), %bb.30(0x40000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr30, $sgpr31, $sgpr33, $sgpr34, $sgpr35, $sgpr36, $sgpr37, $sgpr38, $sgpr39, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13:0x0000000000000003, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr22_sgpr23:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr28_sgpr29:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr13 = S_XOR_B32 killed renamable $sgpr33, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr13 = S_XOR_B32 killed renamable $sgpr13, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr15 = S_AND_B32 killed renamable $sgpr13, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr13 = S_MOV_B32 1
+ ; GCN-NEXT: $scc = COPY killed renamable $sgpr15
+ ; GCN-NEXT: S_CBRANCH_SCC1 %bb.30, implicit $scc
+ ; GCN-NEXT: S_BRANCH %bb.86
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.86.loop.exit.guard24:
+ ; GCN-NEXT: successors: %bb.87(0x40000000), %bb.17(0x40000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr30, $sgpr31, $sgpr34, $sgpr35, $sgpr36, $sgpr37, $sgpr38, $sgpr39, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13:0x0000000000000003, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr22_sgpr23:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr28_sgpr29:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr13 = S_XOR_B32 killed renamable $sgpr31, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr13 = S_XOR_B32 killed renamable $sgpr13, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr15 = S_AND_B32 killed renamable $sgpr13, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr13 = S_MOV_B32 1
+ ; GCN-NEXT: $scc = COPY killed renamable $sgpr15
+ ; GCN-NEXT: S_CBRANCH_SCC1 %bb.17, implicit $scc
+ ; GCN-NEXT: S_BRANCH %bb.87
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.87.loop.exit.guard25:
+ ; GCN-NEXT: successors: %bb.88(0x40000000), %bb.19(0x40000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr30, $sgpr34, $sgpr35, $sgpr36, $sgpr37, $sgpr38, $sgpr39, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13:0x0000000000000003, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr22_sgpr23:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr28_sgpr29:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr13 = S_XOR_B32 killed renamable $sgpr34, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr13 = S_XOR_B32 killed renamable $sgpr13, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr15 = S_AND_B32 killed renamable $sgpr13, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr13 = S_MOV_B32 1
+ ; GCN-NEXT: $scc = COPY killed renamable $sgpr15
+ ; GCN-NEXT: S_CBRANCH_SCC1 %bb.19, implicit $scc
+ ; GCN-NEXT: S_BRANCH %bb.88
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.88.loop.exit.guard26:
+ ; GCN-NEXT: successors: %bb.89(0x40000000), %bb.21(0x40000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr30, $sgpr35, $sgpr36, $sgpr37, $sgpr38, $sgpr39, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13:0x0000000000000003, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr22_sgpr23:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr28_sgpr29:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr13 = S_XOR_B32 killed renamable $sgpr36, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr13 = S_XOR_B32 killed renamable $sgpr13, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr15 = S_AND_B32 killed renamable $sgpr13, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr13 = S_MOV_B32 1
+ ; GCN-NEXT: $scc = COPY killed renamable $sgpr15
+ ; GCN-NEXT: S_CBRANCH_SCC1 %bb.21, implicit $scc
+ ; GCN-NEXT: S_BRANCH %bb.89
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.89.loop.exit.guard27:
+ ; GCN-NEXT: successors: %bb.90(0x40000000), %bb.23(0x40000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr30, $sgpr35, $sgpr37, $sgpr38, $sgpr39, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13:0x0000000000000003, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr22_sgpr23:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr28_sgpr29:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr13 = S_XOR_B32 killed renamable $sgpr37, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr13 = S_XOR_B32 killed renamable $sgpr13, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr15 = S_AND_B32 killed renamable $sgpr13, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr13 = S_MOV_B32 1
+ ; GCN-NEXT: $scc = COPY killed renamable $sgpr15
+ ; GCN-NEXT: S_CBRANCH_SCC1 %bb.23, implicit $scc
+ ; GCN-NEXT: S_BRANCH %bb.90
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.90.loop.exit.guard28:
+ ; GCN-NEXT: successors: %bb.91(0x40000000), %bb.25(0x40000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr30, $sgpr35, $sgpr38, $sgpr39, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13:0x0000000000000003, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr22_sgpr23:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr28_sgpr29:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr13 = S_XOR_B32 killed renamable $sgpr38, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr13 = S_XOR_B32 killed renamable $sgpr13, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr15 = S_AND_B32 killed renamable $sgpr13, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr13 = S_MOV_B32 1
+ ; GCN-NEXT: $scc = COPY killed renamable $sgpr15
+ ; GCN-NEXT: S_CBRANCH_SCC1 %bb.25, implicit $scc
+ ; GCN-NEXT: S_BRANCH %bb.91
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.91.loop.exit.guard29:
+ ; GCN-NEXT: successors: %bb.92(0x40000000), %bb.27(0x40000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr30, $sgpr35, $sgpr39, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13:0x0000000000000003, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr22_sgpr23:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr28_sgpr29:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr13 = S_XOR_B32 killed renamable $sgpr39, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr13 = S_XOR_B32 killed renamable $sgpr13, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr15 = S_AND_B32 killed renamable $sgpr13, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr13 = S_MOV_B32 1
+ ; GCN-NEXT: $scc = COPY killed renamable $sgpr15
+ ; GCN-NEXT: S_CBRANCH_SCC1 %bb.27, implicit $scc
+ ; GCN-NEXT: S_BRANCH %bb.92
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.92.loop.exit.guard30:
+ ; GCN-NEXT: successors: %bb.29(0x40000000), %bb.32(0x40000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr30, $sgpr35, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13:0x0000000000000003, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr22_sgpr23:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr28_sgpr29:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr13 = S_AND_B32 killed renamable $sgpr35, 1, implicit-def dead $scc
+ ; GCN-NEXT: $scc = COPY killed renamable $sgpr13
+ ; GCN-NEXT: S_CBRANCH_SCC1 %bb.29, implicit $scc
+ ; GCN-NEXT: S_BRANCH %bb.32
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.93.Flow72:
+ ; GCN-NEXT: successors: %bb.57(0x80000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr17, $sgpr33, $sgpr34, $sgpr35, $sgpr36, $sgpr37, $sgpr38, $sgpr39, $sgpr40, $sgpr41, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr22_sgpr23, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr28_sgpr29:0x000000000000000F, $sgpr30_sgpr31:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr42 = S_MOV_B32 0
+ ; GCN-NEXT: S_BRANCH %bb.57
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.94.loop.exit.guard37:
+ ; GCN-NEXT: successors: %bb.95(0x40000000), %bb.72(0x40000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $sgpr35, $sgpr36, $sgpr37, $sgpr38, $sgpr39, $sgpr40, $sgpr41, $sgpr42, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr30_sgpr31:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr15 = S_XOR_B32 killed renamable $sgpr36, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr15 = S_XOR_B32 killed renamable $sgpr15, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr17 = S_AND_B32 killed renamable $sgpr15, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr15 = S_MOV_B32 1
+ ; GCN-NEXT: $scc = COPY killed renamable $sgpr17
+ ; GCN-NEXT: S_CBRANCH_SCC1 %bb.72, implicit $scc
+ ; GCN-NEXT: S_BRANCH %bb.95
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.95.loop.exit.guard38:
+ ; GCN-NEXT: successors: %bb.96(0x40000000), %bb.59(0x40000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $sgpr35, $sgpr37, $sgpr38, $sgpr39, $sgpr40, $sgpr41, $sgpr42, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr30_sgpr31:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr15 = S_XOR_B32 killed renamable $sgpr35, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr15 = S_XOR_B32 killed renamable $sgpr15, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr17 = S_AND_B32 killed renamable $sgpr15, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr15 = S_MOV_B32 1
+ ; GCN-NEXT: $scc = COPY killed renamable $sgpr17
+ ; GCN-NEXT: S_CBRANCH_SCC1 %bb.59, implicit $scc
+ ; GCN-NEXT: S_BRANCH %bb.96
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.96.loop.exit.guard39:
+ ; GCN-NEXT: successors: %bb.97(0x40000000), %bb.61(0x40000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $sgpr37, $sgpr38, $sgpr39, $sgpr40, $sgpr41, $sgpr42, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr30_sgpr31:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr15 = S_XOR_B32 killed renamable $sgpr37, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr15 = S_XOR_B32 killed renamable $sgpr15, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr17 = S_AND_B32 killed renamable $sgpr15, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr15 = S_MOV_B32 1
+ ; GCN-NEXT: $scc = COPY killed renamable $sgpr17
+ ; GCN-NEXT: S_CBRANCH_SCC1 %bb.61, implicit $scc
+ ; GCN-NEXT: S_BRANCH %bb.97
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.97.loop.exit.guard40:
+ ; GCN-NEXT: successors: %bb.98(0x40000000), %bb.63(0x40000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $sgpr38, $sgpr39, $sgpr40, $sgpr41, $sgpr42, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr30_sgpr31:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr15 = S_XOR_B32 killed renamable $sgpr39, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr15 = S_XOR_B32 killed renamable $sgpr15, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr17 = S_AND_B32 killed renamable $sgpr15, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr15 = S_MOV_B32 1
+ ; GCN-NEXT: $scc = COPY killed renamable $sgpr17
+ ; GCN-NEXT: S_CBRANCH_SCC1 %bb.63, implicit $scc
+ ; GCN-NEXT: S_BRANCH %bb.98
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.98.loop.exit.guard41:
+ ; GCN-NEXT: successors: %bb.99(0x40000000), %bb.65(0x40000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $sgpr38, $sgpr40, $sgpr41, $sgpr42, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr30_sgpr31:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr15 = S_XOR_B32 killed renamable $sgpr40, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr15 = S_XOR_B32 killed renamable $sgpr15, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr17 = S_AND_B32 killed renamable $sgpr15, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr15 = S_MOV_B32 1
+ ; GCN-NEXT: $scc = COPY killed renamable $sgpr17
+ ; GCN-NEXT: S_CBRANCH_SCC1 %bb.65, implicit $scc
+ ; GCN-NEXT: S_BRANCH %bb.99
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.99.loop.exit.guard42:
+ ; GCN-NEXT: successors: %bb.100(0x40000000), %bb.67(0x40000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $sgpr38, $sgpr41, $sgpr42, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr30_sgpr31:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr15 = S_XOR_B32 killed renamable $sgpr41, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr15 = S_XOR_B32 killed renamable $sgpr15, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr17 = S_AND_B32 killed renamable $sgpr15, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr15 = S_MOV_B32 1
+ ; GCN-NEXT: $scc = COPY killed renamable $sgpr17
+ ; GCN-NEXT: S_CBRANCH_SCC1 %bb.67, implicit $scc
+ ; GCN-NEXT: S_BRANCH %bb.100
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.100.loop.exit.guard43:
+ ; GCN-NEXT: successors: %bb.101(0x40000000), %bb.69(0x40000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $sgpr38, $sgpr42, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr30_sgpr31:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr15 = S_XOR_B32 killed renamable $sgpr42, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr15 = S_XOR_B32 killed renamable $sgpr15, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr17 = S_AND_B32 killed renamable $sgpr15, 1, implicit-def dead $scc
+ ; GCN-NEXT: renamable $sgpr15 = S_MOV_B32 1
+ ; GCN-NEXT: $scc = COPY killed renamable $sgpr17
+ ; GCN-NEXT: S_CBRANCH_SCC1 %bb.69, implicit $scc
+ ; GCN-NEXT: S_BRANCH %bb.101
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: bb.101.loop.exit.guard44:
+ ; GCN-NEXT: successors: %bb.71(0x40000000), %bb.74(0x40000000)
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $sgpr38, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr30_sgpr31:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: {{ $}}
+ ; GCN-NEXT: renamable $sgpr15 = S_AND_B32 killed renamable $sgpr38, 1, implicit-def dead $scc
+ ; GCN-NEXT: $scc = COPY killed renamable $sgpr15
+ ; GCN-NEXT: S_CBRANCH_SCC1 %bb.71, implicit $scc
+ ; GCN-NEXT: S_BRANCH %bb.74
+ bb.0..entry:
+ successors: %bb.1(0x80000000)
+ liveins: $sgpr0, $sgpr1, $sgpr2, $sgpr3, $sgpr4, $sgpr5, $sgpr6, $sgpr7, $vgpr0, $vgpr1, $vgpr2
+
+ undef %1.sub0:sreg_64 = COPY $sgpr1
+ %1.sub1:sreg_64 = COPY $sgpr2
+ undef %18.sub0:sreg_64 = COPY $sgpr3
+ %8:sreg_32 = COPY $sgpr4
+ %9:sreg_32 = COPY $sgpr5
+ %10:sreg_32 = COPY $sgpr6
+ %11:vgpr_32 = COPY $vgpr0
+ %15:sreg_64 = S_GETPC_B64_pseudo
+ undef %16.sub0:sreg_64 = S_MOV_B32 0
+ %16.sub1:sreg_64 = S_MOV_B32 -1
+ %17:sreg_64 = S_AND_B64 %15, %16, implicit-def dead $scc
+ %18.sub1:sreg_64 = COPY %16.sub0
+ %19:sreg_64 = S_OR_B64 %17, %18, implicit-def dead $scc
+ %23:sgpr_128 = S_LOAD_DWORDX4_IMM %19, 16, 0 :: (invariant load (<4 x s32>) from %ir.5, addrspace 4)
+ %927:sreg_64_xexec = COPY $exec
+ %24:sreg_64 = S_AND_B64 %927, $exec, implicit-def dead $scc
+ %1855:sreg_64 = S_MOV_B64_IMM_PSEUDO 3
+
+ bb.1 (%ir-block.8):
+ successors: %bb.2(0x30000000), %bb.3(0x50000000)
+
+ %26:sreg_64 = COPY %1855
+ %910:sreg_32 = S_ADD_U32 %26.sub0, -3, implicit-def dead $scc
+ %30:sreg_64 = nuw S_LSHL_B64 1, %910, implicit-def dead $scc
+ %31:sreg_64 = S_AND_B64 %30, %24, implicit-def dead $scc
+ S_CMP_LG_U64 %31, 0, implicit-def $scc
+ %931:sreg_32 = S_CSELECT_B32 1, 0, implicit killed $scc
+ %936:sreg_32 = S_AND_B32 %931, 1, implicit-def dead $scc
+ $scc = COPY %936
+ %1855:sreg_64 = IMPLICIT_DEF
+ %1857:sreg_32_xm0 = S_MOV_B32 0
+ %1858:sreg_32_xm0 = S_MOV_B32 0
+ %1859:sreg_32_xm0 = S_MOV_B32 0
+ %1860:sreg_32_xm0 = S_MOV_B32 0
+ %1861:sreg_32_xm0 = S_MOV_B32 0
+ %1862:sreg_32_xm0 = S_MOV_B32 0
+ %950:sreg_32_xm0 = S_MOV_B32 0
+ %1864:sreg_32 = S_MOV_B32 1
+ %1865:sreg_32 = IMPLICIT_DEF
+ %157:sreg_64 = IMPLICIT_DEF
+ %158:sreg_64 = IMPLICIT_DEF
+ %159:sreg_64 = IMPLICIT_DEF
+ %160:sreg_64 = IMPLICIT_DEF
+ %161:sreg_64 = IMPLICIT_DEF
+ %162:sreg_64 = IMPLICIT_DEF
+ %1872:sreg_32 = S_MOV_B32 1
+ S_CBRANCH_SCC1 %bb.3, implicit killed $scc
+ S_BRANCH %bb.2
+
+ bb.2 (%ir-block.12):
+ successors: %bb.4(0x30000000), %bb.5(0x50000000)
+
+ undef %157.sub0:sreg_64 = S_ADD_U32 %26.sub0, -2, implicit-def dead $scc
+ %37:sreg_64 = nuw S_LSHL_B64 1, %157.sub0, implicit-def dead $scc
+ %38:sreg_64 = S_AND_B64 %37, %24, implicit-def dead $scc
+ S_CMP_EQ_U64 %38, 0, implicit-def $scc
+ %940:sreg_32 = S_CSELECT_B32 1, 0, implicit killed $scc
+ %1864:sreg_32 = S_MOV_B32 0
+ %950:sreg_32_xm0 = S_MOV_B32 1
+ %945:sreg_32 = S_AND_B32 %940, 1, implicit-def dead $scc
+ $scc = COPY %945
+ %1855:sreg_64 = IMPLICIT_DEF
+ %1857:sreg_32_xm0 = S_MOV_B32 0
+ %1858:sreg_32_xm0 = S_MOV_B32 0
+ %1859:sreg_32_xm0 = S_MOV_B32 0
+ %1860:sreg_32_xm0 = S_MOV_B32 0
+ %1861:sreg_32_xm0 = S_MOV_B32 0
+ %1862:sreg_32_xm0 = S_MOV_B32 0
+ %1865:sreg_32 = IMPLICIT_DEF
+ %158:sreg_64 = IMPLICIT_DEF
+ %159:sreg_64 = IMPLICIT_DEF
+ %160:sreg_64 = IMPLICIT_DEF
+ %161:sreg_64 = IMPLICIT_DEF
+ %162:sreg_64 = IMPLICIT_DEF
+ %1872:sreg_32 = S_MOV_B32 1
+ S_CBRANCH_SCC1 %bb.4, implicit killed $scc
+ S_BRANCH %bb.5
+
+ bb.3.Flow89:
+ successors: %bb.85(0x04000000), %bb.1(0x7c000000)
+
+ %1142:sreg_32 = S_AND_B32 %1872, 1, implicit-def dead $scc
+ $scc = COPY %1142
+ S_CBRANCH_SCC1 %bb.85, implicit killed $scc
+ S_BRANCH %bb.1
+
+ bb.4 (%ir-block.33):
+ successors: %bb.6(0x30000000), %bb.7(0x50000000)
+
+ undef %158.sub0:sreg_64 = S_ADD_U32 %26.sub0, -1, implicit-def dead $scc
+ %43:sreg_64 = nuw S_LSHL_B64 1, %158.sub0, implicit-def dead $scc
+ %44:sreg_64 = S_AND_B64 %43, %24, implicit-def dead $scc
+ S_CMP_EQ_U64 %44, 0, implicit-def $scc
+ %949:sreg_32 = S_CSELECT_B32 1, 0, implicit killed $scc
+ %950:sreg_32_xm0 = S_MOV_B32 0
+ %1862:sreg_32_xm0 = S_MOV_B32 1
+ %954:sreg_32 = S_AND_B32 %949, 1, implicit-def dead $scc
+ $scc = COPY %954
+ %1855:sreg_64 = IMPLICIT_DEF
+ %1857:sreg_32_xm0 = S_MOV_B32 0
+ %1858:sreg_32_xm0 = S_MOV_B32 0
+ %1859:sreg_32_xm0 = S_MOV_B32 0
+ %1860:sreg_32_xm0 = S_MOV_B32 0
+ %1861:sreg_32_xm0 = S_MOV_B32 0
+ %1865:sreg_32 = IMPLICIT_DEF
+ %159:sreg_64 = IMPLICIT_DEF
+ %160:sreg_64 = IMPLICIT_DEF
+ %161:sreg_64 = IMPLICIT_DEF
+ %162:sreg_64 = IMPLICIT_DEF
+ %1872:sreg_32 = S_MOV_B32 1
+ S_CBRANCH_SCC1 %bb.6, implicit killed $scc
+ S_BRANCH %bb.7
+
+ bb.5.Flow90:
+ successors: %bb.3(0x80000000)
+
+ S_BRANCH %bb.3
+
+ bb.6 (%ir-block.52):
+ successors: %bb.8(0x30000000), %bb.9(0x50000000)
+
+ %47:sreg_64 = nuw S_LSHL_B64 1, %26.sub0, implicit-def dead $scc
+ %48:sreg_64 = S_AND_B64 %47, %24, implicit-def dead $scc
+ S_CMP_EQ_U64 %48, 0, implicit-def $scc
+ %955:sreg_32 = S_CSELECT_B32 1, 0, implicit killed $scc
+ %1862:sreg_32_xm0 = S_MOV_B32 0
+ %1861:sreg_32_xm0 = S_MOV_B32 1
+ %960:sreg_32 = S_AND_B32 %955, 1, implicit-def dead $scc
+ $scc = COPY %960
+ %1855:sreg_64 = IMPLICIT_DEF
+ %1857:sreg_32_xm0 = S_MOV_B32 0
+ %1858:sreg_32_xm0 = S_MOV_B32 0
+ %1859:sreg_32_xm0 = S_MOV_B32 0
+ %1860:sreg_32_xm0 = S_MOV_B32 0
+ %1865:sreg_32 = IMPLICIT_DEF
+ %159:sreg_64 = IMPLICIT_DEF
+ %160:sreg_64 = IMPLICIT_DEF
+ %161:sreg_64 = IMPLICIT_DEF
+ %162:sreg_64 = IMPLICIT_DEF
+ %1872:sreg_32 = S_MOV_B32 1
+ S_CBRANCH_SCC1 %bb.8, implicit killed $scc
+ S_BRANCH %bb.9
+
+ bb.7.Flow91:
+ successors: %bb.5(0x80000000)
+
+ S_BRANCH %bb.5
+
+ bb.8 (%ir-block.68):
+ successors: %bb.10(0x30000000), %bb.11(0x50000000)
+
+ undef %159.sub0:sreg_64 = S_ADD_U32 %26.sub0, 1, implicit-def dead $scc
+ %52:sreg_64 = nuw S_LSHL_B64 1, %159.sub0, implicit-def dead $scc
+ %53:sreg_64 = S_AND_B64 %52, %24, implicit-def dead $scc
+ S_CMP_EQ_U64 %53, 0, implicit-def $scc
+ %964:sreg_32 = S_CSELECT_B32 1, 0, implicit killed $scc
+ %1861:sreg_32_xm0 = S_MOV_B32 0
+ %1860:sreg_32_xm0 = S_MOV_B32 1
+ %969:sreg_32 = S_AND_B32 %964, 1, implicit-def dead $scc
+ $scc = COPY %969
+ %1855:sreg_64 = IMPLICIT_DEF
+ %1857:sreg_32_xm0 = S_MOV_B32 0
+ %1858:sreg_32_xm0 = S_MOV_B32 0
+ %1859:sreg_32_xm0 = S_MOV_B32 0
+ %1865:sreg_32 = IMPLICIT_DEF
+ %160:sreg_64 = IMPLICIT_DEF
+ %161:sreg_64 = IMPLICIT_DEF
+ %162:sreg_64 = IMPLICIT_DEF
+ %1872:sreg_32 = S_MOV_B32 1
+ S_CBRANCH_SCC1 %bb.10, implicit killed $scc
+ S_BRANCH %bb.11
+
+ bb.9.Flow92:
+ successors: %bb.7(0x80000000)
+
+ S_BRANCH %bb.7
+
+ bb.10 (%ir-block.84):
+ successors: %bb.12(0x30000000), %bb.13(0x50000000)
+
+ undef %160.sub0:sreg_64 = S_ADD_U32 %26.sub0, 2, implicit-def dead $scc
+ %58:sreg_64 = nuw S_LSHL_B64 1, %160.sub0, implicit-def dead $scc
+ %59:sreg_64 = S_AND_B64 %58, %24, implicit-def dead $scc
+ S_CMP_EQ_U64 %59, 0, implicit-def $scc
+ %973:sreg_32 = S_CSELECT_B32 1, 0, implicit killed $scc
+ %1860:sreg_32_xm0 = S_MOV_B32 0
+ %1859:sreg_32_xm0 = S_MOV_B32 1
+ %978:sreg_32 = S_AND_B32 %973, 1, implicit-def dead $scc
+ $scc = COPY %978
+ %1855:sreg_64 = IMPLICIT_DEF
+ %1857:sreg_32_xm0 = S_MOV_B32 0
+ %1858:sreg_32_xm0 = S_MOV_B32 0
+ %1865:sreg_32 = IMPLICIT_DEF
+ %161:sreg_64 = IMPLICIT_DEF
+ %162:sreg_64 = IMPLICIT_DEF
+ %1872:sreg_32 = S_MOV_B32 1
+ S_CBRANCH_SCC1 %bb.12, implicit killed $scc
+ S_BRANCH %bb.13
+
+ bb.11.Flow93:
+ successors: %bb.9(0x80000000)
+
+ S_BRANCH %bb.9
+
+ bb.12 (%ir-block.98):
+ successors: %bb.14(0x30000000), %bb.15(0x50000000)
+
+ undef %161.sub0:sreg_64 = S_ADD_U32 %26.sub0, 3, implicit-def dead $scc
+ %64:sreg_64 = nuw S_LSHL_B64 1, %161.sub0, implicit-def dead $scc
+ %65:sreg_64 = S_AND_B64 %64, %24, implicit-def dead $scc
+ S_CMP_EQ_U64 %65, 0, implicit-def $scc
+ %982:sreg_32 = S_CSELECT_B32 1, 0, implicit killed $scc
+ %1859:sreg_32_xm0 = S_MOV_B32 0
+ %1858:sreg_32_xm0 = S_MOV_B32 1
+ %987:sreg_32 = S_AND_B32 %982, 1, implicit-def dead $scc
+ $scc = COPY %987
+ %1855:sreg_64 = IMPLICIT_DEF
+ %1857:sreg_32_xm0 = S_MOV_B32 0
+ %1865:sreg_32 = IMPLICIT_DEF
+ %162:sreg_64 = IMPLICIT_DEF
+ %1872:sreg_32 = S_MOV_B32 1
+ S_CBRANCH_SCC1 %bb.14, implicit killed $scc
+ S_BRANCH %bb.15
+
+ bb.13.Flow94:
+ successors: %bb.11(0x80000000)
+
+ S_BRANCH %bb.11
+
+ bb.14 (%ir-block.110):
+ successors: %bb.16(0x30000000), %bb.84(0x50000000)
+
+ undef %162.sub0:sreg_64 = S_ADD_U32 %26.sub0, 4, implicit-def dead $scc
+ %70:sreg_64 = nuw S_LSHL_B64 1, %162.sub0, implicit-def dead $scc
+ %71:sreg_64 = S_AND_B64 %70, %24, implicit-def dead $scc
+ S_CMP_EQ_U64 %71, 0, implicit-def $scc
+ %991:sreg_32 = S_CSELECT_B32 1, 0, implicit killed $scc
+ %1857:sreg_32_xm0 = S_MOV_B32 1
+ %995:sreg_32 = S_AND_B32 %991, 1, implicit-def dead $scc
+ $scc = COPY %995
+ %1855:sreg_64 = IMPLICIT_DEF
+ %1865:sreg_32 = IMPLICIT_DEF
+ %1872:sreg_32 = S_MOV_B32 1
+ S_CBRANCH_SCC1 %bb.16, implicit killed $scc
+ S_BRANCH %bb.84
+
+ bb.15.Flow95:
+ successors: %bb.13(0x80000000)
+
+ S_BRANCH %bb.13
+
+ bb.16 (%ir-block.120):
+ successors: %bb.84(0x80000000)
+
+ undef %1855.sub0:sreg_64 = S_ADD_U32 %26.sub0, 8, implicit-def $scc
+ %996:sreg_32 = COPY killed $scc
+ %998:sreg_32 = S_AND_B32 %996, 1, implicit-def dead $scc
+ $scc = COPY %998
+ %1855.sub1:sreg_64 = S_ADDC_U32 %26.sub1, 0, implicit-def dead $scc, implicit killed $scc
+ S_CMPK_EQ_I32 %1855.sub0, 67, implicit-def $scc
+ %1872:sreg_32 = S_CSELECT_B32 1, 0, implicit killed $scc
+ %1857:sreg_32_xm0 = S_MOV_B32 0
+ %1865:sreg_32 = S_MOV_B32 0
+ S_BRANCH %bb.84
+
+ bb.17.Flow86:
+ successors: %bb.18(0x40000000), %bb.38(0x40000000)
+
+ %1301:sreg_32 = S_XOR_B32 %1938, 1, implicit-def dead $scc
+ %1304:sreg_32 = S_AND_B32 %1301, 1, implicit-def dead $scc
+ $scc = COPY %1304
+ S_CBRANCH_SCC1 %bb.38, implicit killed $scc
+ S_BRANCH %bb.18
+
+ bb.18..split10splitsplitsplitsplitsplitsplit_crit_edge:
+ successors: %bb.38(0x80000000)
+
+ %1865:sreg_32 = COPY %157.sub0
+ S_BRANCH %bb.38
+
+ bb.19.Flow84:
+ successors: %bb.20(0x40000000), %bb.37(0x40000000)
+
+ %1290:sreg_32 = S_XOR_B32 %1940, 1, implicit-def dead $scc
+ %1293:sreg_32 = S_AND_B32 %1290, 1, implicit-def dead $scc
+ $scc = COPY %1293
+ S_CBRANCH_SCC1 %bb.37, implicit killed $scc
+ S_BRANCH %bb.20
+
+ bb.20..split10splitsplitsplitsplitsplit_crit_edge:
+ successors: %bb.37(0x80000000)
+
+ %1865:sreg_32 = COPY %158.sub0
+ S_BRANCH %bb.37
+
+ bb.21.Flow82:
+ successors: %bb.22(0x40000000), %bb.36(0x40000000)
+
+ %1279:sreg_32 = S_XOR_B32 %1942, 1, implicit-def dead $scc
+ %1282:sreg_32 = S_AND_B32 %1279, 1, implicit-def dead $scc
+ $scc = COPY %1282
+ S_CBRANCH_SCC1 %bb.36, implicit killed $scc
+ S_BRANCH %bb.22
+
+ bb.22..split10splitsplitsplitsplit_crit_edge:
+ successors: %bb.36(0x80000000)
+
+ %1865:sreg_32 = COPY %26.sub0
+ S_BRANCH %bb.36
+
+ bb.23.Flow80:
+ successors: %bb.24(0x40000000), %bb.35(0x40000000)
+
+ %1268:sreg_32 = S_XOR_B32 %1944, 1, implicit-def dead $scc
+ %1271:sreg_32 = S_AND_B32 %1268, 1, implicit-def dead $scc
+ $scc = COPY %1271
+ S_CBRANCH_SCC1 %bb.35, implicit killed $scc
+ S_BRANCH %bb.24
+
+ bb.24..split10splitsplitsplit_crit_edge:
+ successors: %bb.35(0x80000000)
+
+ %1865:sreg_32 = COPY %159.sub0
+ S_BRANCH %bb.35
+
+ bb.25.Flow78:
+ successors: %bb.26(0x40000000), %bb.34(0x40000000)
+
+ %1257:sreg_32 = S_XOR_B32 %1946, 1, implicit-def dead $scc
+ %1260:sreg_32 = S_AND_B32 %1257, 1, implicit-def dead $scc
+ $scc = COPY %1260
+ S_CBRANCH_SCC1 %bb.34, implicit killed $scc
+ S_BRANCH %bb.26
+
+ bb.26..split10splitsplit_crit_edge:
+ successors: %bb.34(0x80000000)
+
+ %1865:sreg_32 = COPY %160.sub0
+ S_BRANCH %bb.34
+
+ bb.27.Flow76:
+ successors: %bb.28(0x40000000), %bb.33(0x40000000)
+
+ %1246:sreg_32 = S_XOR_B32 %1948, 1, implicit-def dead $scc
+ %1249:sreg_32 = S_AND_B32 %1246, 1, implicit-def dead $scc
+ $scc = COPY %1249
+ S_CBRANCH_SCC1 %bb.33, implicit killed $scc
+ S_BRANCH %bb.28
+
+ bb.28..split10split_crit_edge:
+ successors: %bb.33(0x80000000)
+
+ %1865:sreg_32 = COPY %161.sub0
+ S_BRANCH %bb.33
+
+ bb.29..split10_crit_edge:
+ successors: %bb.32(0x80000000)
+
+ %1865:sreg_32 = COPY %162.sub0
+ S_BRANCH %bb.32
+
+ bb.30.Flow88:
+ successors: %bb.31(0x40000000), %bb.39(0x40000000)
+
+ %1312:sreg_32 = S_XOR_B32 %1950, 1, implicit-def dead $scc
+ %1315:sreg_32 = S_AND_B32 %1312, 1, implicit-def dead $scc
+ $scc = COPY %1315
+ S_CBRANCH_SCC1 %bb.39, implicit killed $scc
+ S_BRANCH %bb.31
+
+ bb.31.._crit_edge9:
+ successors: %bb.39(0x80000000)
+
+ %1865:sreg_32 = COPY %910
+ S_BRANCH %bb.39
+
+ bb.32.Flow75:
+ successors: %bb.27(0x80000000)
+
+ %1948:sreg_32 = S_MOV_B32 0
+ S_BRANCH %bb.27
+
+ bb.33.Flow77:
+ successors: %bb.25(0x80000000)
+
+ %1946:sreg_32 = S_MOV_B32 0
+ S_BRANCH %bb.25
+
+ bb.34.Flow79:
+ successors: %bb.23(0x80000000)
+
+ %1944:sreg_32 = S_MOV_B32 0
+ S_BRANCH %bb.23
+
+ bb.35.Flow81:
+ successors: %bb.21(0x80000000)
+
+ %1942:sreg_32 = S_MOV_B32 0
+ S_BRANCH %bb.21
+
+ bb.36.Flow83:
+ successors: %bb.19(0x80000000)
+
+ %1940:sreg_32 = S_MOV_B32 0
+ S_BRANCH %bb.19
+
+ bb.37.Flow85:
+ successors: %bb.17(0x80000000)
+
+ %1938:sreg_32 = S_MOV_B32 0
+ S_BRANCH %bb.17
+
+ bb.38.Flow87:
+ successors: %bb.30(0x80000000)
+
+ %1950:sreg_32 = S_MOV_B32 0
+ S_BRANCH %bb.30
+
+ bb.39 (%ir-block.142):
+ successors: %bb.82(0x40000000), %bb.40(0x40000000)
+
+ %218:vgpr_32 = V_MBCNT_LO_U32_B32_e64 -1, 0, implicit $exec
+ %221:vgpr_32 = V_MBCNT_HI_U32_B32_e64 -1, %218, implicit $exec
+ %223:vgpr_32 = V_LSHLREV_B32_e64 5, %221, implicit $exec
+ undef %573.sub0_sub1_sub2_sub3:vreg_256 = BUFFER_LOAD_DWORDX4_OFFEN %223, %23, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (<4 x s32>), align 1, addrspace 8)
+ %226:vgpr_32 = V_OR_B32_e64 16, %223, implicit $exec
+ %573.sub4_sub5_sub6_sub7:vreg_256 = BUFFER_LOAD_DWORDX4_OFFEN %226, %23, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (<4 x s32>), align 1, addrspace 8)
+ undef %245.sub0:sreg_64 = V_READFIRSTLANE_B32 %573.sub0, implicit $exec
+ %245.sub1:sreg_64 = V_READFIRSTLANE_B32 %573.sub1, implicit $exec
+ undef %253.sub0:sreg_64 = V_READFIRSTLANE_B32 %573.sub2, implicit $exec
+ %253.sub1:sreg_64 = V_READFIRSTLANE_B32 %573.sub3, implicit $exec
+ undef %261.sub0:sreg_64 = V_READFIRSTLANE_B32 %573.sub4, implicit $exec
+ %261.sub1:sreg_64 = V_READFIRSTLANE_B32 %573.sub5, implicit $exec
+ undef %269.sub0:sreg_64 = V_READFIRSTLANE_B32 %573.sub6, implicit $exec
+ undef %1853.sub0:vreg_64 = COPY %573.sub7
+ %269.sub1:sreg_64 = V_READFIRSTLANE_B32 %1853.sub0, implicit $exec
+ %271:sreg_32 = S_LSHL_B32 %1865, 5, implicit-def dead $scc
+ %1328:vgpr_32 = COPY %271
+ %1329:vreg_128 = BUFFER_LOAD_DWORDX4_OFFEN %1328, %23, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (<4 x s32>), align 1, addrspace 8)
+ undef %574.sub0:sgpr_256 = V_READFIRSTLANE_B32 %1329.sub0, implicit $exec
+ %574.sub1:sgpr_256 = V_READFIRSTLANE_B32 %1329.sub1, implicit $exec
+ %574.sub2:sgpr_256 = V_READFIRSTLANE_B32 %1329.sub2, implicit $exec
+ %574.sub3:sgpr_256 = V_READFIRSTLANE_B32 %1329.sub3, implicit $exec
+ %273:sreg_32 = S_OR_B32 %271, 16, implicit-def dead $scc
+ %1339:vgpr_32 = COPY %273
+ %1340:vreg_128 = BUFFER_LOAD_DWORDX4_OFFEN %1339, %23, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (<4 x s32>), align 1, addrspace 8)
+ %574.sub4:sgpr_256 = V_READFIRSTLANE_B32 %1340.sub0, implicit $exec
+ %574.sub5:sgpr_256 = V_READFIRSTLANE_B32 %1340.sub1, implicit $exec
+ %574.sub6:sgpr_256 = V_READFIRSTLANE_B32 %1340.sub2, implicit $exec
+ %574.sub7:sgpr_256 = V_READFIRSTLANE_B32 %1340.sub3, implicit $exec
+ S_CMP_EQ_U64 %574.sub0_sub1, %245, implicit-def $scc
+ %1349:sreg_32 = S_CSELECT_B32 1, 0, implicit killed $scc
+ S_CMP_EQ_U64 %574.sub2_sub3, %253, implicit-def $scc
+ %1350:sreg_32 = S_CSELECT_B32 1, 0, implicit killed $scc
+ S_CMP_EQ_U64 %574.sub4_sub5, %261, implicit-def $scc
+ %1351:sreg_32 = S_CSELECT_B32 1, 0, implicit killed $scc
+ S_CMP_EQ_U64 %574.sub6_sub7, %269, implicit-def $scc
+ %1352:sreg_32 = S_CSELECT_B32 1, 0, implicit killed $scc
+ %1355:sreg_32 = S_AND_B32 %1349, %1350, implicit-def dead $scc
+ %1358:sreg_32 = S_AND_B32 %1351, %1355, implicit-def dead $scc
+ %1361:sreg_32 = S_AND_B32 %1352, %1358, implicit-def dead $scc
+ %1366:sreg_32 = S_AND_B32 %1361, 1, implicit-def dead $scc
+ $scc = COPY %1366
+ %288:sreg_32 = S_CSELECT_B32 1, 0, implicit killed $scc
+ %289:sreg_64_xexec = V_CMP_NE_U32_e64 %1865, %221, implicit $exec
+ %1369:sreg_64_xexec = COPY $exec
+ %291:sreg_64_xexec = S_XOR_B64 %289, %1369, implicit-def dead $scc
+ %1968:vgpr_32 = IMPLICIT_DEF
+ %2081:sreg_64 = COPY $exec, implicit-def $exec
+ %2082:sreg_64 = S_AND_B64 %2081, %291, implicit-def dead $scc
+ %293:sreg_64_xexec = S_XOR_B64 %2082, %2081, implicit-def dead $scc
+ $exec = S_MOV_B64_term %2082
+ S_CBRANCH_EXECZ %bb.40, implicit $exec
+ S_BRANCH %bb.82
+
+ bb.40.Flow73:
+ successors: %bb.41(0x40000000), %bb.42(0x40000000)
+
+ %2083:sreg_64 = S_OR_SAVEEXEC_B64 %293, implicit-def $exec, implicit-def $scc, implicit $exec
+ %297:sreg_64_xexec = S_AND_B64 $exec, %2083, implicit-def $scc
+ $exec = S_XOR_B64_term $exec, %297, implicit-def $scc
+ S_CBRANCH_EXECZ %bb.42, implicit $exec
+ S_BRANCH %bb.41
+
+ bb.41 (%ir-block.195):
+ successors: %bb.43(0x80000000)
+
+ %1371:sreg_64_xexec = COPY $exec
+ %298:sreg_64 = S_AND_B64 %1371, $exec, implicit-def dead $scc
+ %1969:sreg_64 = S_MOV_B64_IMM_PSEUDO 3
+ S_BRANCH %bb.43
+
+ bb.42.Flow74:
+ successors: %bb.83(0x80000000)
+
+ $exec = S_OR_B64 $exec, %297, implicit-def $scc
+ S_BRANCH %bb.83
+
+ bb.43 (%ir-block.198):
+ successors: %bb.44(0x30000000), %bb.45(0x50000000)
+
+ %299:sreg_64 = COPY %1969
+ %829:sreg_32 = S_ADD_U32 %299.sub0, -3, implicit-def dead $scc
+ %301:sreg_64 = nuw S_LSHL_B64 1, %829, implicit-def dead $scc
+ %302:sreg_64 = S_AND_B64 %301, %298, implicit-def dead $scc
+ S_CMP_LG_U64 %302, 0, implicit-def $scc
+ %1375:sreg_32 = S_CSELECT_B32 1, 0, implicit killed $scc
+ %1380:sreg_32 = S_AND_B32 %1375, 1, implicit-def dead $scc
+ $scc = COPY %1380
+ %1969:sreg_64 = IMPLICIT_DEF
+ %1971:sreg_32 = S_MOV_B32 0
+ %1972:sreg_32 = S_MOV_B32 0
+ %1973:sreg_32 = S_MOV_B32 0
+ %1974:sreg_32 = S_MOV_B32 0
+ %1975:sreg_32 = S_MOV_B32 0
+ %1976:sreg_32 = S_MOV_B32 0
+ %1394:sreg_32 = S_MOV_B32 0
+ %1978:sreg_32 = S_MOV_B32 1
+ %420:sreg_64 = IMPLICIT_DEF
+ %421:sreg_64 = IMPLICIT_DEF
+ %422:sreg_64 = IMPLICIT_DEF
+ %423:sreg_64 = IMPLICIT_DEF
+ %424:sreg_64 = IMPLICIT_DEF
+ %425:sreg_64 = IMPLICIT_DEF
+ %1986:sreg_32 = S_MOV_B32 1
+ S_CBRANCH_SCC1 %bb.45, implicit killed $scc
+ S_BRANCH %bb.44
+
+ bb.44 (%ir-block.202):
+ successors: %bb.46(0x30000000), %bb.47(0x50000000)
+
+ undef %420.sub0:sreg_64 = S_ADD_U32 %299.sub0, -2, implicit-def dead $scc
+ %306:sreg_64 = nuw S_LSHL_B64 1, %420.sub0, implicit-def dead $scc
+ %307:sreg_64 = S_AND_B64 %306, %298, implicit-def dead $scc
+ S_CMP_EQ_U64 %307, 0, implicit-def $scc
+ %1384:sreg_32 = S_CSELECT_B32 1, 0, implicit killed $scc
+ %1978:sreg_32 = S_MOV_B32 0
+ %1394:sreg_32 = S_MOV_B32 1
+ %1389:sreg_32 = S_AND_B32 %1384, 1, implicit-def dead $scc
+ $scc = COPY %1389
+ %1969:sreg_64 = IMPLICIT_DEF
+ %1971:sreg_32 = S_MOV_B32 0
+ %1972:sreg_32 = S_MOV_B32 0
+ %1973:sreg_32 = S_MOV_B32 0
+ %1974:sreg_32 = S_MOV_B32 0
+ %1975:sreg_32 = S_MOV_B32 0
+ %1976:sreg_32 = S_MOV_B32 0
+ %421:sreg_64 = IMPLICIT_DEF
+ %422:sreg_64 = IMPLICIT_DEF
+ %423:sreg_64 = IMPLICIT_DEF
+ %424:sreg_64 = IMPLICIT_DEF
+ %425:sreg_64 = IMPLICIT_DEF
+ %1986:sreg_32 = S_MOV_B32 1
+ S_CBRANCH_SCC1 %bb.46, implicit killed $scc
+ S_BRANCH %bb.47
+
+ bb.45.Flow65:
+ successors: %bb.94(0x04000000), %bb.43(0x7c000000)
+
+ %1586:sreg_32 = S_AND_B32 %1986, 1, implicit-def dead $scc
+ $scc = COPY %1586
+ S_CBRANCH_SCC1 %bb.94, implicit killed $scc
+ S_BRANCH %bb.43
+
+ bb.46 (%ir-block.223):
+ successors: %bb.48(0x30000000), %bb.49(0x50000000)
+
+ undef %421.sub0:sreg_64 = S_ADD_U32 %299.sub0, -1, implicit-def dead $scc
+ %311:sreg_64 = nuw S_LSHL_B64 1, %421.sub0, implicit-def dead $scc
+ %312:sreg_64 = S_AND_B64 %311, %298, implicit-def dead $scc
+ S_CMP_EQ_U64 %312, 0, implicit-def $scc
+ %1393:sreg_32 = S_CSELECT_B32 1, 0, implicit killed $scc
+ %1394:sreg_32 = S_MOV_B32 0
+ %1976:sreg_32 = S_MOV_B32 1
+ %1398:sreg_32 = S_AND_B32 %1393, 1, implicit-def dead $scc
+ $scc = COPY %1398
+ %1969:sreg_64 = IMPLICIT_DEF
+ %1971:sreg_32 = S_MOV_B32 0
+ %1972:sreg_32 = S_MOV_B32 0
+ %1973:sreg_32 = S_MOV_B32 0
+ %1974:sreg_32 = S_MOV_B32 0
+ %1975:sreg_32 = S_MOV_B32 0
+ %422:sreg_64 = IMPLICIT_DEF
+ %423:sreg_64 = IMPLICIT_DEF
+ %424:sreg_64 = IMPLICIT_DEF
+ %425:sreg_64 = IMPLICIT_DEF
+ %1986:sreg_32 = S_MOV_B32 1
+ S_CBRANCH_SCC1 %bb.48, implicit killed $scc
+ S_BRANCH %bb.49
+
+ bb.47.Flow66:
+ successors: %bb.45(0x80000000)
+
+ S_BRANCH %bb.45
+
+ bb.48 (%ir-block.242):
+ successors: %bb.50(0x30000000), %bb.51(0x50000000)
+
+ %315:sreg_64 = nuw S_LSHL_B64 1, %299.sub0, implicit-def dead $scc
+ %316:sreg_64 = S_AND_B64 %315, %298, implicit-def dead $scc
+ S_CMP_EQ_U64 %316, 0, implicit-def $scc
+ %1399:sreg_32 = S_CSELECT_B32 1, 0, implicit killed $scc
+ %1976:sreg_32 = S_MOV_B32 0
+ %1975:sreg_32 = S_MOV_B32 1
+ %1404:sreg_32 = S_AND_B32 %1399, 1, implicit-def dead $scc
+ $scc = COPY %1404
+ %1969:sreg_64 = IMPLICIT_DEF
+ %1971:sreg_32 = S_MOV_B32 0
+ %1972:sreg_32 = S_MOV_B32 0
+ %1973:sreg_32 = S_MOV_B32 0
+ %1974:sreg_32 = S_MOV_B32 0
+ %422:sreg_64 = IMPLICIT_DEF
+ %423:sreg_64 = IMPLICIT_DEF
+ %424:sreg_64 = IMPLICIT_DEF
+ %425:sreg_64 = IMPLICIT_DEF
+ %1986:sreg_32 = S_MOV_B32 1
+ S_CBRANCH_SCC1 %bb.50, implicit killed $scc
+ S_BRANCH %bb.51
+
+ bb.49.Flow67:
+ successors: %bb.47(0x80000000)
+
+ S_BRANCH %bb.47
+
+ bb.50 (%ir-block.258):
+ successors: %bb.52(0x30000000), %bb.53(0x50000000)
+
+ undef %422.sub0:sreg_64 = S_ADD_U32 %299.sub0, 1, implicit-def dead $scc
+ %320:sreg_64 = nuw S_LSHL_B64 1, %422.sub0, implicit-def dead $scc
+ %321:sreg_64 = S_AND_B64 %320, %298, implicit-def dead $scc
+ S_CMP_EQ_U64 %321, 0, implicit-def $scc
+ %1408:sreg_32 = S_CSELECT_B32 1, 0, implicit killed $scc
+ %1975:sreg_32 = S_MOV_B32 0
+ %1974:sreg_32 = S_MOV_B32 1
+ %1413:sreg_32 = S_AND_B32 %1408, 1, implicit-def dead $scc
+ $scc = COPY %1413
+ %1969:sreg_64 = IMPLICIT_DEF
+ %1971:sreg_32 = S_MOV_B32 0
+ %1972:sreg_32 = S_MOV_B32 0
+ %1973:sreg_32 = S_MOV_B32 0
+ %423:sreg_64 = IMPLICIT_DEF
+ %424:sreg_64 = IMPLICIT_DEF
+ %425:sreg_64 = IMPLICIT_DEF
+ %1986:sreg_32 = S_MOV_B32 1
+ S_CBRANCH_SCC1 %bb.52, implicit killed $scc
+ S_BRANCH %bb.53
+
+ bb.51.Flow68:
+ successors: %bb.49(0x80000000)
+
+ S_BRANCH %bb.49
+
+ bb.52 (%ir-block.274):
+ successors: %bb.54(0x30000000), %bb.55(0x50000000)
+
+ undef %423.sub0:sreg_64 = S_ADD_U32 %299.sub0, 2, implicit-def dead $scc
+ %325:sreg_64 = nuw S_LSHL_B64 1, %423.sub0, implicit-def dead $scc
+ %326:sreg_64 = S_AND_B64 %325, %298, implicit-def dead $scc
+ S_CMP_EQ_U64 %326, 0, implicit-def $scc
+ %1417:sreg_32 = S_CSELECT_B32 1, 0, implicit killed $scc
+ %1974:sreg_32 = S_MOV_B32 0
+ %1973:sreg_32 = S_MOV_B32 1
+ %1422:sreg_32 = S_AND_B32 %1417, 1, implicit-def dead $scc
+ $scc = COPY %1422
+ %1969:sreg_64 = IMPLICIT_DEF
+ %1971:sreg_32 = S_MOV_B32 0
+ %1972:sreg_32 = S_MOV_B32 0
+ %424:sreg_64 = IMPLICIT_DEF
+ %425:sreg_64 = IMPLICIT_DEF
+ %1986:sreg_32 = S_MOV_B32 1
+ S_CBRANCH_SCC1 %bb.54, implicit killed $scc
+ S_BRANCH %bb.55
+
+ bb.53.Flow69:
+ successors: %bb.51(0x80000000)
+
+ S_BRANCH %bb.51
+
+ bb.54 (%ir-block.288):
+ successors: %bb.56(0x30000000), %bb.57(0x50000000)
+
+ undef %424.sub0:sreg_64 = S_ADD_U32 %299.sub0, 3, implicit-def dead $scc
+ %330:sreg_64 = nuw S_LSHL_B64 1, %424.sub0, implicit-def dead $scc
+ %331:sreg_64 = S_AND_B64 %330, %298, implicit-def dead $scc
+ S_CMP_EQ_U64 %331, 0, implicit-def $scc
+ %1426:sreg_32 = S_CSELECT_B32 1, 0, implicit killed $scc
+ %1973:sreg_32 = S_MOV_B32 0
+ %1972:sreg_32 = S_MOV_B32 1
+ %1431:sreg_32 = S_AND_B32 %1426, 1, implicit-def dead $scc
+ $scc = COPY %1431
+ %1969:sreg_64 = IMPLICIT_DEF
+ %1971:sreg_32 = S_MOV_B32 0
+ %425:sreg_64 = IMPLICIT_DEF
+ %1986:sreg_32 = S_MOV_B32 1
+ S_CBRANCH_SCC1 %bb.56, implicit killed $scc
+ S_BRANCH %bb.57
+
+ bb.55.Flow70:
+ successors: %bb.53(0x80000000)
+
+ S_BRANCH %bb.53
+
+ bb.56 (%ir-block.300):
+ successors: %bb.58(0x30000000), %bb.93(0x50000000)
+
+ undef %425.sub0:sreg_64 = S_ADD_U32 %299.sub0, 4, implicit-def dead $scc
+ %335:sreg_64 = nuw S_LSHL_B64 1, %425.sub0, implicit-def dead $scc
+ %336:sreg_64 = S_AND_B64 %335, %298, implicit-def dead $scc
+ S_CMP_EQ_U64 %336, 0, implicit-def $scc
+ %1435:sreg_32 = S_CSELECT_B32 1, 0, implicit killed $scc
+ %1971:sreg_32 = S_MOV_B32 1
+ %1439:sreg_32 = S_AND_B32 %1435, 1, implicit-def dead $scc
+ $scc = COPY %1439
+ %1969:sreg_64 = IMPLICIT_DEF
+ %1986:sreg_32 = S_MOV_B32 1
+ S_CBRANCH_SCC1 %bb.58, implicit killed $scc
+ S_BRANCH %bb.93
+
+ bb.57.Flow71:
+ successors: %bb.55(0x80000000)
+
+ S_BRANCH %bb.55
+
+ bb.58 (%ir-block.310):
+ successors: %bb.93(0x80000000)
+
+ undef %1969.sub0:sreg_64 = S_ADD_U32 %299.sub0, 8, implicit-def $scc
+ %1440:sreg_32 = COPY killed $scc
+ %1442:sreg_32 = S_AND_B32 %1440, 1, implicit-def dead $scc
+ $scc = COPY %1442
+ %1969.sub1:sreg_64 = S_ADDC_U32 %299.sub1, 0, implicit-def dead $scc, implicit killed $scc
+ S_CMPK_EQ_I32 %1969.sub0, 67, implicit-def $scc
+ %1986:sreg_32 = S_CSELECT_B32 1, 0, implicit killed $scc
+ %1971:sreg_32 = S_MOV_B32 0
+ S_BRANCH %bb.93
+
+ bb.59.Flow62:
+ successors: %bb.60(0x40000000), %bb.80(0x40000000)
+
+ %1745:sreg_32 = S_XOR_B32 %2052, 1, implicit-def dead $scc
+ %1748:sreg_32 = S_AND_B32 %1745, 1, implicit-def dead $scc
+ $scc = COPY %1748
+ S_CBRANCH_SCC1 %bb.80, implicit killed $scc
+ S_BRANCH %bb.60
+
+ bb.60..splitsplitsplitsplitsplitsplitsplit_crit_edge:
+ successors: %bb.80(0x80000000)
+
+ %1865:sreg_32 = COPY %420.sub0
+ S_BRANCH %bb.80
+
+ bb.61.Flow60:
+ successors: %bb.62(0x40000000), %bb.79(0x40000000)
+
+ %1734:sreg_32 = S_XOR_B32 %2054, 1, implicit-def dead $scc
+ %1737:sreg_32 = S_AND_B32 %1734, 1, implicit-def dead $scc
+ $scc = COPY %1737
+ S_CBRANCH_SCC1 %bb.79, implicit killed $scc
+ S_BRANCH %bb.62
+
+ bb.62..splitsplitsplitsplitsplitsplit_crit_edge:
+ successors: %bb.79(0x80000000)
+
+ %1865:sreg_32 = COPY %421.sub0
+ S_BRANCH %bb.79
+
+ bb.63.Flow58:
+ successors: %bb.64(0x40000000), %bb.78(0x40000000)
+
+ %1723:sreg_32 = S_XOR_B32 %2056, 1, implicit-def dead $scc
+ %1726:sreg_32 = S_AND_B32 %1723, 1, implicit-def dead $scc
+ $scc = COPY %1726
+ S_CBRANCH_SCC1 %bb.78, implicit killed $scc
+ S_BRANCH %bb.64
+
+ bb.64..splitsplitsplitsplitsplit_crit_edge:
+ successors: %bb.78(0x80000000)
+
+ %1865:sreg_32 = COPY %299.sub0
+ S_BRANCH %bb.78
+
+ bb.65.Flow56:
+ successors: %bb.66(0x40000000), %bb.77(0x40000000)
+
+ %1712:sreg_32 = S_XOR_B32 %2058, 1, implicit-def dead $scc
+ %1715:sreg_32 = S_AND_B32 %1712, 1, implicit-def dead $scc
+ $scc = COPY %1715
+ S_CBRANCH_SCC1 %bb.77, implicit killed $scc
+ S_BRANCH %bb.66
+
+ bb.66..splitsplitsplitsplit_crit_edge:
+ successors: %bb.77(0x80000000)
+
+ %1865:sreg_32 = COPY %422.sub0
+ S_BRANCH %bb.77
+
+ bb.67.Flow54:
+ successors: %bb.68(0x40000000), %bb.76(0x40000000)
+
+ %1701:sreg_32 = S_XOR_B32 %2060, 1, implicit-def dead $scc
+ %1704:sreg_32 = S_AND_B32 %1701, 1, implicit-def dead $scc
+ $scc = COPY %1704
+ S_CBRANCH_SCC1 %bb.76, implicit killed $scc
+ S_BRANCH %bb.68
+
+ bb.68..splitsplitsplit_crit_edge:
+ successors: %bb.76(0x80000000)
+
+ %1865:sreg_32 = COPY %423.sub0
+ S_BRANCH %bb.76
+
+ bb.69.Flow52:
+ successors: %bb.70(0x40000000), %bb.75(0x40000000)
+
+ %1690:sreg_32 = S_XOR_B32 %2062, 1, implicit-def dead $scc
+ %1693:sreg_32 = S_AND_B32 %1690, 1, implicit-def dead $scc
+ $scc = COPY %1693
+ S_CBRANCH_SCC1 %bb.75, implicit killed $scc
+ S_BRANCH %bb.70
+
+ bb.70..splitsplit_crit_edge:
+ successors: %bb.75(0x80000000)
+
+ %1865:sreg_32 = COPY %424.sub0
+ S_BRANCH %bb.75
+
+ bb.71..split_crit_edge:
+ successors: %bb.74(0x80000000)
+
+ %1865:sreg_32 = COPY %425.sub0
+ S_BRANCH %bb.74
+
+ bb.72.Flow64:
+ successors: %bb.73(0x40000000), %bb.81(0x40000000)
+
+ %1756:sreg_32 = S_XOR_B32 %2064, 1, implicit-def dead $scc
+ %1759:sreg_32 = S_AND_B32 %1756, 1, implicit-def dead $scc
+ $scc = COPY %1759
+ S_CBRANCH_SCC1 %bb.81, implicit killed $scc
+ S_BRANCH %bb.73
+
+ bb.73.._crit_edge:
+ successors: %bb.81(0x80000000)
+
+ %1865:sreg_32 = COPY %829
+ S_BRANCH %bb.81
+
+ bb.74.Flow:
+ successors: %bb.69(0x80000000)
+
+ %2062:sreg_32 = S_MOV_B32 0
+ S_BRANCH %bb.69
+
+ bb.75.Flow53:
+ successors: %bb.67(0x80000000)
+
+ %2060:sreg_32 = S_MOV_B32 0
+ S_BRANCH %bb.67
+
+ bb.76.Flow55:
+ successors: %bb.65(0x80000000)
+
+ %2058:sreg_32 = S_MOV_B32 0
+ S_BRANCH %bb.65
+
+ bb.77.Flow57:
+ successors: %bb.63(0x80000000)
+
+ %2056:sreg_32 = S_MOV_B32 0
+ S_BRANCH %bb.63
+
+ bb.78.Flow59:
+ successors: %bb.61(0x80000000)
+
+ %2054:sreg_32 = S_MOV_B32 0
+ S_BRANCH %bb.61
+
+ bb.79.Flow61:
+ successors: %bb.59(0x80000000)
+
+ %2052:sreg_32 = S_MOV_B32 0
+ S_BRANCH %bb.59
+
+ bb.80.Flow63:
+ successors: %bb.72(0x80000000)
+
+ %2064:sreg_32 = S_MOV_B32 0
+ S_BRANCH %bb.72
+
+ bb.81 (%ir-block.332):
+ successors: %bb.42(0x80000000)
+
+ undef %484.sub0:sreg_64 = V_READFIRSTLANE_B32 %573.sub0, implicit $exec
+ %484.sub1:sreg_64 = V_READFIRSTLANE_B32 %573.sub1, implicit $exec
+ undef %489.sub0:sreg_64 = V_READFIRSTLANE_B32 %573.sub2, implicit $exec
+ %489.sub1:sreg_64 = V_READFIRSTLANE_B32 %573.sub3, implicit $exec
+ undef %494.sub0:sreg_64 = V_READFIRSTLANE_B32 %573.sub4, implicit $exec
+ %494.sub1:sreg_64 = V_READFIRSTLANE_B32 %573.sub5, implicit $exec
+ undef %499.sub0:sreg_64 = V_READFIRSTLANE_B32 %573.sub6, implicit $exec
+ %499.sub1:sreg_64 = V_READFIRSTLANE_B32 %1853.sub0, implicit $exec
+ %501:sreg_32 = S_LSHL_B32 %1865, 5, implicit-def dead $scc
+ %1761:vgpr_32 = COPY %501
+ %1762:vreg_128 = BUFFER_LOAD_DWORDX4_OFFEN %1761, %23, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (<4 x s32>), align 1, addrspace 8)
+ undef %607.sub0:sgpr_256 = V_READFIRSTLANE_B32 %1762.sub0, implicit $exec
+ %607.sub1:sgpr_256 = V_READFIRSTLANE_B32 %1762.sub1, implicit $exec
+ %607.sub2:sgpr_256 = V_READFIRSTLANE_B32 %1762.sub2, implicit $exec
+ %607.sub3:sgpr_256 = V_READFIRSTLANE_B32 %1762.sub3, implicit $exec
+ %503:sreg_32 = S_OR_B32 %501, 16, implicit-def dead $scc
+ %1772:vgpr_32 = COPY %503
+ %1773:vreg_128 = BUFFER_LOAD_DWORDX4_OFFEN %1772, %23, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (<4 x s32>), align 1, addrspace 8)
+ %607.sub4:sgpr_256 = V_READFIRSTLANE_B32 %1773.sub0, implicit $exec
+ %607.sub5:sgpr_256 = V_READFIRSTLANE_B32 %1773.sub1, implicit $exec
+ %607.sub6:sgpr_256 = V_READFIRSTLANE_B32 %1773.sub2, implicit $exec
+ %607.sub7:sgpr_256 = V_READFIRSTLANE_B32 %1773.sub3, implicit $exec
+ S_CMP_EQ_U64 %607.sub0_sub1, %484, implicit-def $scc
+ %1782:sreg_32 = S_CSELECT_B32 1, 0, implicit killed $scc
+ S_CMP_EQ_U64 %607.sub2_sub3, %489, implicit-def $scc
+ %1783:sreg_32 = S_CSELECT_B32 1, 0, implicit killed $scc
+ S_CMP_EQ_U64 %607.sub4_sub5, %494, implicit-def $scc
+ %1784:sreg_32 = S_CSELECT_B32 1, 0, implicit killed $scc
+ S_CMP_EQ_U64 %607.sub6_sub7, %499, implicit-def $scc
+ %1785:sreg_32 = S_CSELECT_B32 1, 0, implicit killed $scc
+ %1788:sreg_32 = S_AND_B32 %1782, %1783, implicit-def dead $scc
+ %1791:sreg_32 = S_AND_B32 %1784, %1788, implicit-def dead $scc
+ %1794:sreg_32 = S_AND_B32 %1785, %1791, implicit-def dead $scc
+ %1799:sreg_32 = S_AND_B32 %1794, 1, implicit-def dead $scc
+ $scc = COPY %1799
+ %608:sreg_32 = S_CSELECT_B32 1, 0, implicit killed $scc
+ %518:sreg_32 = S_LSHL_B32 %608, 1, implicit-def dead $scc
+ %519:sreg_32 = S_OR_B32 %518, %288, implicit-def dead $scc
+ %1968:vgpr_32 = COPY %519
+ S_BRANCH %bb.42
+
+ bb.82 (%ir-block.363):
+ successors: %bb.40(0x80000000)
+
+ %294:sreg_32 = S_OR_B32 %288, 2, implicit-def dead $scc
+ %1968:vgpr_32 = COPY %294
+ undef %573.sub0_sub1:vreg_256 = IMPLICIT_DEF
+ %1853:vreg_64 = IMPLICIT_DEF
+ S_BRANCH %bb.40
+
+ bb.83 (%ir-block.365):
+ %521:sreg_64_xexec = S_LOAD_DWORDX2_IMM %1, 0, 0 :: (invariant load (<2 x s32>) from %ir.numWorkgroupsPtr, align 16, addrspace 4)
+ %530:sreg_32 = S_LSHL_B32 %8, 6, implicit-def dead $scc
+ %531:vgpr_32 = V_ADD_U32_e64 %530, %11, 0, implicit $exec
+ %532:sreg_32 = S_LSHL_B32 %521.sub0, 6, implicit-def dead $scc
+ undef %1829.sub0:vreg_64 = COPY %9
+ %1832:vreg_64, dead %1831:sreg_64 = V_MAD_U64_U32_e64 %521.sub1, %10, %1829, 0, implicit $exec
+ %1809:vgpr_32 = V_MUL_LO_U32_e64 %1832.sub0, %532, implicit $exec
+ %537:sgpr_128 = S_LOAD_DWORDX4_IMM %19, 0, 0 :: (invariant load (<4 x s32>) from %ir.367, addrspace 4)
+ %538:vgpr_32 = V_ADD_LSHL_U32_e64 %1809, %531, 2, implicit $exec
+ BUFFER_STORE_DWORD_OFFEN_exact %1968, %538, %537, 0, 0, 0, 0, implicit $exec :: (dereferenceable store (s32), align 1, addrspace 8)
+ S_ENDPGM 0
+
+ bb.84.Flow96:
+ successors: %bb.15(0x80000000)
+
+ %1858:sreg_32_xm0 = S_MOV_B32 0
+ S_BRANCH %bb.15
+
+ bb.85.loop.exit.guard:
+ successors: %bb.86(0x40000000), %bb.30(0x40000000)
+
+ %1950:sreg_32 = S_MOV_B32 1
+ %1162:sreg_32 = S_XOR_B32 %1864, 1, implicit-def dead $scc
+ %1184:sreg_32 = S_XOR_B32 %1162, 1, implicit-def dead $scc
+ %1187:sreg_32 = S_AND_B32 %1184, 1, implicit-def dead $scc
+ $scc = COPY %1187
+ S_CBRANCH_SCC1 %bb.30, implicit killed $scc
+ S_BRANCH %bb.86
+
+ bb.86.loop.exit.guard24:
+ successors: %bb.87(0x40000000), %bb.17(0x40000000)
+
+ %1165:sreg_32 = S_XOR_B32 %950, 1, implicit-def dead $scc
+ %1938:sreg_32 = S_MOV_B32 1
+ %1191:sreg_32 = S_XOR_B32 %1165, 1, implicit-def dead $scc
+ %1195:sreg_32 = S_AND_B32 %1191, 1, implicit-def dead $scc
+ $scc = COPY %1195
+ S_CBRANCH_SCC1 %bb.17, implicit killed $scc
+ S_BRANCH %bb.87
+
+ bb.87.loop.exit.guard25:
+ successors: %bb.88(0x40000000), %bb.19(0x40000000)
+
+ %1168:sreg_32 = S_XOR_B32 %1862, 1, implicit-def dead $scc
+ %1940:sreg_32 = S_MOV_B32 1
+ %1199:sreg_32 = S_XOR_B32 %1168, 1, implicit-def dead $scc
+ %1203:sreg_32 = S_AND_B32 %1199, 1, implicit-def dead $scc
+ $scc = COPY %1203
+ S_CBRANCH_SCC1 %bb.19, implicit killed $scc
+ S_BRANCH %bb.88
+
+ bb.88.loop.exit.guard26:
+ successors: %bb.89(0x40000000), %bb.21(0x40000000)
+
+ %1171:sreg_32 = S_XOR_B32 %1861, 1, implicit-def dead $scc
+ %1942:sreg_32 = S_MOV_B32 1
+ %1207:sreg_32 = S_XOR_B32 %1171, 1, implicit-def dead $scc
+ %1211:sreg_32 = S_AND_B32 %1207, 1, implicit-def dead $scc
+ $scc = COPY %1211
+ S_CBRANCH_SCC1 %bb.21, implicit killed $scc
+ S_BRANCH %bb.89
+
+ bb.89.loop.exit.guard27:
+ successors: %bb.90(0x40000000), %bb.23(0x40000000)
+
+ %1174:sreg_32 = S_XOR_B32 %1860, 1, implicit-def dead $scc
+ %1944:sreg_32 = S_MOV_B32 1
+ %1215:sreg_32 = S_XOR_B32 %1174, 1, implicit-def dead $scc
+ %1219:sreg_32 = S_AND_B32 %1215, 1, implicit-def dead $scc
+ $scc = COPY %1219
+ S_CBRANCH_SCC1 %bb.23, implicit killed $scc
+ S_BRANCH %bb.90
+
+ bb.90.loop.exit.guard28:
+ successors: %bb.91(0x40000000), %bb.25(0x40000000)
+
+ %1177:sreg_32 = S_XOR_B32 %1859, 1, implicit-def dead $scc
+ %1946:sreg_32 = S_MOV_B32 1
+ %1223:sreg_32 = S_XOR_B32 %1177, 1, implicit-def dead $scc
+ %1227:sreg_32 = S_AND_B32 %1223, 1, implicit-def dead $scc
+ $scc = COPY %1227
+ S_CBRANCH_SCC1 %bb.25, implicit killed $scc
+ S_BRANCH %bb.91
+
+ bb.91.loop.exit.guard29:
+ successors: %bb.92(0x40000000), %bb.27(0x40000000)
+
+ %1180:sreg_32 = S_XOR_B32 %1858, 1, implicit-def dead $scc
+ %1948:sreg_32 = S_MOV_B32 1
+ %1231:sreg_32 = S_XOR_B32 %1180, 1, implicit-def dead $scc
+ %1235:sreg_32 = S_AND_B32 %1231, 1, implicit-def dead $scc
+ $scc = COPY %1235
+ S_CBRANCH_SCC1 %bb.27, implicit killed $scc
+ S_BRANCH %bb.92
+
+ bb.92.loop.exit.guard30:
+ successors: %bb.29(0x40000000), %bb.32(0x40000000)
+
+ %1238:sreg_32 = S_AND_B32 %1857, 1, implicit-def dead $scc
+ $scc = COPY %1238
+ S_CBRANCH_SCC1 %bb.29, implicit killed $scc
+ S_BRANCH %bb.32
+
+ bb.93.Flow72:
+ successors: %bb.57(0x80000000)
+
+ %1972:sreg_32 = S_MOV_B32 0
+ S_BRANCH %bb.57
+
+ bb.94.loop.exit.guard37:
+ successors: %bb.95(0x40000000), %bb.72(0x40000000)
+
+ %2064:sreg_32 = S_MOV_B32 1
+ %1606:sreg_32 = S_XOR_B32 %1978, 1, implicit-def dead $scc
+ %1628:sreg_32 = S_XOR_B32 %1606, 1, implicit-def dead $scc
+ %1631:sreg_32 = S_AND_B32 %1628, 1, implicit-def dead $scc
+ $scc = COPY %1631
+ S_CBRANCH_SCC1 %bb.72, implicit killed $scc
+ S_BRANCH %bb.95
+
+ bb.95.loop.exit.guard38:
+ successors: %bb.96(0x40000000), %bb.59(0x40000000)
+
+ %1609:sreg_32 = S_XOR_B32 %1394, 1, implicit-def dead $scc
+ %2052:sreg_32 = S_MOV_B32 1
+ %1635:sreg_32 = S_XOR_B32 %1609, 1, implicit-def dead $scc
+ %1639:sreg_32 = S_AND_B32 %1635, 1, implicit-def dead $scc
+ $scc = COPY %1639
+ S_CBRANCH_SCC1 %bb.59, implicit killed $scc
+ S_BRANCH %bb.96
+
+ bb.96.loop.exit.guard39:
+ successors: %bb.97(0x40000000), %bb.61(0x40000000)
+
+ %1612:sreg_32 = S_XOR_B32 %1976, 1, implicit-def dead $scc
+ %2054:sreg_32 = S_MOV_B32 1
+ %1643:sreg_32 = S_XOR_B32 %1612, 1, implicit-def dead $scc
+ %1647:sreg_32 = S_AND_B32 %1643, 1, implicit-def dead $scc
+ $scc = COPY %1647
+ S_CBRANCH_SCC1 %bb.61, implicit killed $scc
+ S_BRANCH %bb.97
+
+ bb.97.loop.exit.guard40:
+ successors: %bb.98(0x40000000), %bb.63(0x40000000)
+
+ %1615:sreg_32 = S_XOR_B32 %1975, 1, implicit-def dead $scc
+ %2056:sreg_32 = S_MOV_B32 1
+ %1651:sreg_32 = S_XOR_B32 %1615, 1, implicit-def dead $scc
+ %1655:sreg_32 = S_AND_B32 %1651, 1, implicit-def dead $scc
+ $scc = COPY %1655
+ S_CBRANCH_SCC1 %bb.63, implicit killed $scc
+ S_BRANCH %bb.98
+
+ bb.98.loop.exit.guard41:
+ successors: %bb.99(0x40000000), %bb.65(0x40000000)
+
+ %1618:sreg_32 = S_XOR_B32 %1974, 1, implicit-def dead $scc
+ %2058:sreg_32 = S_MOV_B32 1
+ %1659:sreg_32 = S_XOR_B32 %1618, 1, implicit-def dead $scc
+ %1663:sreg_32 = S_AND_B32 %1659, 1, implicit-def dead $scc
+ $scc = COPY %1663
+ S_CBRANCH_SCC1 %bb.65, implicit killed $scc
+ S_BRANCH %bb.99
+
+ bb.99.loop.exit.guard42:
+ successors: %bb.100(0x40000000), %bb.67(0x40000000)
+
+ %1621:sreg_32 = S_XOR_B32 %1973, 1, implicit-def dead $scc
+ %2060:sreg_32 = S_MOV_B32 1
+ %1667:sreg_32 = S_XOR_B32 %1621, 1, implicit-def dead $scc
+ %1671:sreg_32 = S_AND_B32 %1667, 1, implicit-def dead $scc
+ $scc = COPY %1671
+ S_CBRANCH_SCC1 %bb.67, implicit killed $scc
+ S_BRANCH %bb.100
+
+ bb.100.loop.exit.guard43:
+ successors: %bb.101(0x40000000), %bb.69(0x40000000)
+
+ %1624:sreg_32 = S_XOR_B32 %1972, 1, implicit-def dead $scc
+ %2062:sreg_32 = S_MOV_B32 1
+ %1675:sreg_32 = S_XOR_B32 %1624, 1, implicit-def dead $scc
+ %1679:sreg_32 = S_AND_B32 %1675, 1, implicit-def dead $scc
+ $scc = COPY %1679
+ S_CBRANCH_SCC1 %bb.69, implicit killed $scc
+ S_BRANCH %bb.101
+
+ bb.101.loop.exit.guard44:
+ successors: %bb.71(0x40000000), %bb.74(0x40000000)
+
+ %1682:sreg_32 = S_AND_B32 %1971, 1, implicit-def dead $scc
+ $scc = COPY %1682
+ S_CBRANCH_SCC1 %bb.71, implicit killed $scc
+ S_BRANCH %bb.74
+
+...
>From 3f1227c62e93d477e9b9a83bc77bccd84028b750 Mon Sep 17 00:00:00 2001
From: Petar Avramovic <Petar.Avramovic at amd.com>
Date: Wed, 17 Apr 2024 13:07:27 +0200
Subject: [PATCH 2/2] RenameIndependentSubregs: Add missing sub-range for new
IMPLICIT_DEFs
Existing sub-ranges are correctly updated because new IMPLICIT_DEF is
added, but there is missing sub-range for IMPLICIT_DEF itself.
Because of missing sub-range in live-intervals for IMPLICIT_DEF,
register allocator does not know that IMPLICIT_DEF rewrites its
virtual sub-registers and can end up assigning overlapping physical
registers to them.
This results in deleting instructions that were defined by sub-registers
overwritten by IMPLICIT_DEF as they are now dead.
---
llvm/lib/CodeGen/RenameIndependentSubregs.cpp | 7 +
.../GlobalISel/llvm.amdgcn.intersect_ray.ll | 291 ++++++++++--------
...rval-bug-in-rename-independent-subregs.mir | 196 ++++++------
3 files changed, 261 insertions(+), 233 deletions(-)
diff --git a/llvm/lib/CodeGen/RenameIndependentSubregs.cpp b/llvm/lib/CodeGen/RenameIndependentSubregs.cpp
index bc3ef1c0329a98..e888f290df510d 100644
--- a/llvm/lib/CodeGen/RenameIndependentSubregs.cpp
+++ b/llvm/lib/CodeGen/RenameIndependentSubregs.cpp
@@ -334,10 +334,17 @@ void RenameIndependentSubregs::computeMainRangesFixFlags(
DebugLoc(), MCDesc, Reg);
SlotIndex DefIdx = LIS->InsertMachineInstrInMaps(*ImpDef);
SlotIndex RegDefIdx = DefIdx.getRegSlot();
+ LaneBitmask Mask = MRI->getMaxLaneMaskForVReg(Reg);
for (LiveInterval::SubRange &SR : LI.subranges()) {
+ Mask = Mask & ~SR.LaneMask;
VNInfo *SRVNI = SR.getNextValue(RegDefIdx, Allocator);
SR.addSegment(LiveRange::Segment(RegDefIdx, PredEnd, SRVNI));
}
+
+ if (!Mask.none()) {
+ LiveInterval::SubRange *SR = LI.createSubRange(Allocator, Mask);
+ SR->createDeadDef(RegDefIdx, Allocator);
+ }
}
}
}
diff --git a/llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.intersect_ray.ll b/llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.intersect_ray.ll
index 47e476de74cf41..6e96a4ddbc0b3b 100644
--- a/llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.intersect_ray.ll
+++ b/llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.intersect_ray.ll
@@ -144,40 +144,42 @@ define amdgpu_ps <4 x float> @image_bvh64_intersect_ray_a16(i64 %node_ptr, float
define amdgpu_ps <4 x float> @image_bvh_intersect_ray_vgpr_descr(i32 %node_ptr, float %ray_extent, <3 x float> %ray_origin, <3 x float> %ray_dir, <3 x float> %ray_inv_dir, <4 x i32> %tdescr) {
; GFX1030-LABEL: image_bvh_intersect_ray_vgpr_descr:
; GFX1030: ; %bb.0:
-; GFX1030-NEXT: v_mov_b32_e32 v15, v0
-; GFX1030-NEXT: v_mov_b32_e32 v16, v1
-; GFX1030-NEXT: v_mov_b32_e32 v17, v2
-; GFX1030-NEXT: v_mov_b32_e32 v18, v3
-; GFX1030-NEXT: v_mov_b32_e32 v19, v4
-; GFX1030-NEXT: v_mov_b32_e32 v20, v5
-; GFX1030-NEXT: v_mov_b32_e32 v21, v6
-; GFX1030-NEXT: v_mov_b32_e32 v22, v7
-; GFX1030-NEXT: v_mov_b32_e32 v23, v8
-; GFX1030-NEXT: v_mov_b32_e32 v24, v9
-; GFX1030-NEXT: v_mov_b32_e32 v25, v10
+; GFX1030-NEXT: v_mov_b32_e32 v21, v0
+; GFX1030-NEXT: v_mov_b32_e32 v22, v1
+; GFX1030-NEXT: v_mov_b32_e32 v23, v2
+; GFX1030-NEXT: v_mov_b32_e32 v24, v3
+; GFX1030-NEXT: v_mov_b32_e32 v25, v4
+; GFX1030-NEXT: v_mov_b32_e32 v26, v5
+; GFX1030-NEXT: v_mov_b32_e32 v27, v6
+; GFX1030-NEXT: v_mov_b32_e32 v28, v7
+; GFX1030-NEXT: v_mov_b32_e32 v29, v8
+; GFX1030-NEXT: v_mov_b32_e32 v30, v9
+; GFX1030-NEXT: v_mov_b32_e32 v31, v10
+; GFX1030-NEXT: v_mov_b32_e32 v19, v11
+; GFX1030-NEXT: v_mov_b32_e32 v20, v12
; GFX1030-NEXT: s_mov_b32 s1, exec_lo
; GFX1030-NEXT: .LBB6_1: ; =>This Inner Loop Header: Depth=1
-; GFX1030-NEXT: v_readfirstlane_b32 s4, v11
-; GFX1030-NEXT: v_readfirstlane_b32 s5, v12
+; GFX1030-NEXT: v_readfirstlane_b32 s4, v19
+; GFX1030-NEXT: v_readfirstlane_b32 s5, v20
; GFX1030-NEXT: v_readfirstlane_b32 s6, v13
; GFX1030-NEXT: v_readfirstlane_b32 s7, v14
-; GFX1030-NEXT: v_cmp_eq_u64_e32 vcc_lo, s[4:5], v[11:12]
+; GFX1030-NEXT: v_cmp_eq_u64_e32 vcc_lo, s[4:5], v[19:20]
; GFX1030-NEXT: v_cmp_eq_u64_e64 s0, s[6:7], v[13:14]
; GFX1030-NEXT: s_and_b32 s0, vcc_lo, s0
; GFX1030-NEXT: s_and_saveexec_b32 s0, s0
-; GFX1030-NEXT: image_bvh_intersect_ray v[0:3], v[15:25], s[4:7]
-; GFX1030-NEXT: ; implicit-def: $vgpr11
-; GFX1030-NEXT: ; implicit-def: $vgpr15
-; GFX1030-NEXT: ; implicit-def: $vgpr16
-; GFX1030-NEXT: ; implicit-def: $vgpr17
-; GFX1030-NEXT: ; implicit-def: $vgpr18
+; GFX1030-NEXT: image_bvh_intersect_ray v[0:3], v[21:31], s[4:7]
; GFX1030-NEXT: ; implicit-def: $vgpr19
-; GFX1030-NEXT: ; implicit-def: $vgpr20
; GFX1030-NEXT: ; implicit-def: $vgpr21
; GFX1030-NEXT: ; implicit-def: $vgpr22
; GFX1030-NEXT: ; implicit-def: $vgpr23
; GFX1030-NEXT: ; implicit-def: $vgpr24
; GFX1030-NEXT: ; implicit-def: $vgpr25
+; GFX1030-NEXT: ; implicit-def: $vgpr26
+; GFX1030-NEXT: ; implicit-def: $vgpr27
+; GFX1030-NEXT: ; implicit-def: $vgpr28
+; GFX1030-NEXT: ; implicit-def: $vgpr29
+; GFX1030-NEXT: ; implicit-def: $vgpr30
+; GFX1030-NEXT: ; implicit-def: $vgpr31
; GFX1030-NEXT: ; implicit-def: $vgpr11_vgpr12_vgpr13_vgpr14
; GFX1030-NEXT: s_xor_b32 exec_lo, exec_lo, s0
; GFX1030-NEXT: s_cbranch_execnz .LBB6_1
@@ -188,18 +190,20 @@ define amdgpu_ps <4 x float> @image_bvh_intersect_ray_vgpr_descr(i32 %node_ptr,
;
; GFX1013-LABEL: image_bvh_intersect_ray_vgpr_descr:
; GFX1013: ; %bb.0:
+; GFX1013-NEXT: v_mov_b32_e32 v19, v11
+; GFX1013-NEXT: v_mov_b32_e32 v20, v12
; GFX1013-NEXT: s_mov_b32 s1, exec_lo
; GFX1013-NEXT: .LBB6_1: ; =>This Inner Loop Header: Depth=1
-; GFX1013-NEXT: v_readfirstlane_b32 s4, v11
-; GFX1013-NEXT: v_readfirstlane_b32 s5, v12
+; GFX1013-NEXT: v_readfirstlane_b32 s4, v19
+; GFX1013-NEXT: v_readfirstlane_b32 s5, v20
; GFX1013-NEXT: v_readfirstlane_b32 s6, v13
; GFX1013-NEXT: v_readfirstlane_b32 s7, v14
-; GFX1013-NEXT: v_cmp_eq_u64_e32 vcc_lo, s[4:5], v[11:12]
+; GFX1013-NEXT: v_cmp_eq_u64_e32 vcc_lo, s[4:5], v[19:20]
; GFX1013-NEXT: v_cmp_eq_u64_e64 s0, s[6:7], v[13:14]
; GFX1013-NEXT: s_and_b32 s0, vcc_lo, s0
; GFX1013-NEXT: s_and_saveexec_b32 s0, s0
; GFX1013-NEXT: image_bvh_intersect_ray v[15:18], v[0:10], s[4:7]
-; GFX1013-NEXT: ; implicit-def: $vgpr11
+; GFX1013-NEXT: ; implicit-def: $vgpr19
; GFX1013-NEXT: ; implicit-def: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10
; GFX1013-NEXT: ; implicit-def: $vgpr11_vgpr12_vgpr13_vgpr14
; GFX1013-NEXT: s_waitcnt_depctr 0xffe3
@@ -216,25 +220,27 @@ define amdgpu_ps <4 x float> @image_bvh_intersect_ray_vgpr_descr(i32 %node_ptr,
;
; GFX11-LABEL: image_bvh_intersect_ray_vgpr_descr:
; GFX11: ; %bb.0:
-; GFX11-NEXT: v_dual_mov_b32 v18, v0 :: v_dual_mov_b32 v19, v1
+; GFX11-NEXT: v_dual_mov_b32 v20, v0 :: v_dual_mov_b32 v21, v1
; GFX11-NEXT: v_dual_mov_b32 v15, v2 :: v_dual_mov_b32 v16, v3
-; GFX11-NEXT: v_mov_b32_e32 v17, v4
+; GFX11-NEXT: v_dual_mov_b32 v17, v4 :: v_dual_mov_b32 v18, v11
+; GFX11-NEXT: v_mov_b32_e32 v19, v12
; GFX11-NEXT: s_mov_b32 s1, exec_lo
; GFX11-NEXT: .LBB6_1: ; =>This Inner Loop Header: Depth=1
-; GFX11-NEXT: v_readfirstlane_b32 s4, v11
-; GFX11-NEXT: v_readfirstlane_b32 s5, v12
+; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)
+; GFX11-NEXT: v_readfirstlane_b32 s4, v18
+; GFX11-NEXT: v_readfirstlane_b32 s5, v19
; GFX11-NEXT: v_readfirstlane_b32 s6, v13
; GFX11-NEXT: v_readfirstlane_b32 s7, v14
; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_2)
-; GFX11-NEXT: v_cmp_eq_u64_e32 vcc_lo, s[4:5], v[11:12]
+; GFX11-NEXT: v_cmp_eq_u64_e32 vcc_lo, s[4:5], v[18:19]
; GFX11-NEXT: v_cmp_eq_u64_e64 s0, s[6:7], v[13:14]
; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(SALU_CYCLE_1)
; GFX11-NEXT: s_and_b32 s0, vcc_lo, s0
; GFX11-NEXT: s_and_saveexec_b32 s0, s0
-; GFX11-NEXT: image_bvh_intersect_ray v[0:3], [v18, v19, v[15:17], v[5:7], v[8:10]], s[4:7]
-; GFX11-NEXT: ; implicit-def: $vgpr11
+; GFX11-NEXT: image_bvh_intersect_ray v[0:3], [v20, v21, v[15:17], v[5:7], v[8:10]], s[4:7]
; GFX11-NEXT: ; implicit-def: $vgpr18
-; GFX11-NEXT: ; implicit-def: $vgpr19
+; GFX11-NEXT: ; implicit-def: $vgpr20
+; GFX11-NEXT: ; implicit-def: $vgpr21
; GFX11-NEXT: ; implicit-def: $vgpr15_vgpr16_vgpr17
; GFX11-NEXT: ; implicit-def: $vgpr5_vgpr6_vgpr7
; GFX11-NEXT: ; implicit-def: $vgpr8_vgpr9_vgpr10
@@ -253,39 +259,41 @@ define amdgpu_ps <4 x float> @image_bvh_intersect_ray_vgpr_descr(i32 %node_ptr,
define amdgpu_ps <4 x float> @image_bvh_intersect_ray_a16_vgpr_descr(i32 %node_ptr, float %ray_extent, <3 x float> %ray_origin, <3 x half> %ray_dir, <3 x half> %ray_inv_dir, <4 x i32> %tdescr) {
; GFX1030-LABEL: image_bvh_intersect_ray_a16_vgpr_descr:
; GFX1030: ; %bb.0:
-; GFX1030-NEXT: v_mov_b32_e32 v13, v0
-; GFX1030-NEXT: v_mov_b32_e32 v14, v1
+; GFX1030-NEXT: v_mov_b32_e32 v18, v0
+; GFX1030-NEXT: v_mov_b32_e32 v19, v1
; GFX1030-NEXT: v_lshrrev_b32_e32 v0, 16, v5
; GFX1030-NEXT: v_and_b32_e32 v1, 0xffff, v7
-; GFX1030-NEXT: v_mov_b32_e32 v15, v2
+; GFX1030-NEXT: v_mov_b32_e32 v20, v2
; GFX1030-NEXT: v_and_b32_e32 v2, 0xffff, v8
-; GFX1030-NEXT: v_mov_b32_e32 v16, v3
+; GFX1030-NEXT: v_mov_b32_e32 v21, v3
; GFX1030-NEXT: v_lshlrev_b32_e32 v0, 16, v0
; GFX1030-NEXT: v_lshlrev_b32_e32 v1, 16, v1
-; GFX1030-NEXT: v_mov_b32_e32 v17, v4
-; GFX1030-NEXT: v_alignbit_b32 v20, v2, v7, 16
+; GFX1030-NEXT: v_mov_b32_e32 v22, v4
+; GFX1030-NEXT: v_mov_b32_e32 v16, v9
+; GFX1030-NEXT: v_mov_b32_e32 v17, v10
+; GFX1030-NEXT: v_and_or_b32 v23, 0xffff, v5, v0
+; GFX1030-NEXT: v_and_or_b32 v24, 0xffff, v6, v1
+; GFX1030-NEXT: v_alignbit_b32 v25, v2, v7, 16
; GFX1030-NEXT: s_mov_b32 s1, exec_lo
-; GFX1030-NEXT: v_and_or_b32 v18, 0xffff, v5, v0
-; GFX1030-NEXT: v_and_or_b32 v19, 0xffff, v6, v1
; GFX1030-NEXT: .LBB7_1: ; =>This Inner Loop Header: Depth=1
-; GFX1030-NEXT: v_readfirstlane_b32 s4, v9
-; GFX1030-NEXT: v_readfirstlane_b32 s5, v10
+; GFX1030-NEXT: v_readfirstlane_b32 s4, v16
+; GFX1030-NEXT: v_readfirstlane_b32 s5, v17
; GFX1030-NEXT: v_readfirstlane_b32 s6, v11
; GFX1030-NEXT: v_readfirstlane_b32 s7, v12
-; GFX1030-NEXT: v_cmp_eq_u64_e32 vcc_lo, s[4:5], v[9:10]
+; GFX1030-NEXT: v_cmp_eq_u64_e32 vcc_lo, s[4:5], v[16:17]
; GFX1030-NEXT: v_cmp_eq_u64_e64 s0, s[6:7], v[11:12]
; GFX1030-NEXT: s_and_b32 s0, vcc_lo, s0
; GFX1030-NEXT: s_and_saveexec_b32 s0, s0
-; GFX1030-NEXT: image_bvh_intersect_ray v[0:3], v[13:20], s[4:7] a16
-; GFX1030-NEXT: ; implicit-def: $vgpr9
-; GFX1030-NEXT: ; implicit-def: $vgpr13
-; GFX1030-NEXT: ; implicit-def: $vgpr14
-; GFX1030-NEXT: ; implicit-def: $vgpr15
+; GFX1030-NEXT: image_bvh_intersect_ray v[0:3], v[18:25], s[4:7] a16
; GFX1030-NEXT: ; implicit-def: $vgpr16
-; GFX1030-NEXT: ; implicit-def: $vgpr17
; GFX1030-NEXT: ; implicit-def: $vgpr18
; GFX1030-NEXT: ; implicit-def: $vgpr19
; GFX1030-NEXT: ; implicit-def: $vgpr20
+; GFX1030-NEXT: ; implicit-def: $vgpr21
+; GFX1030-NEXT: ; implicit-def: $vgpr22
+; GFX1030-NEXT: ; implicit-def: $vgpr23
+; GFX1030-NEXT: ; implicit-def: $vgpr24
+; GFX1030-NEXT: ; implicit-def: $vgpr25
; GFX1030-NEXT: ; implicit-def: $vgpr9_vgpr10_vgpr11_vgpr12
; GFX1030-NEXT: s_xor_b32 exec_lo, exec_lo, s0
; GFX1030-NEXT: s_cbranch_execnz .LBB7_1
@@ -296,26 +304,28 @@ define amdgpu_ps <4 x float> @image_bvh_intersect_ray_a16_vgpr_descr(i32 %node_p
;
; GFX1013-LABEL: image_bvh_intersect_ray_a16_vgpr_descr:
; GFX1013: ; %bb.0:
-; GFX1013-NEXT: v_lshrrev_b32_e32 v13, 16, v5
-; GFX1013-NEXT: v_and_b32_e32 v14, 0xffff, v7
+; GFX1013-NEXT: v_mov_b32_e32 v17, v9
+; GFX1013-NEXT: v_mov_b32_e32 v18, v10
+; GFX1013-NEXT: v_lshrrev_b32_e32 v9, 16, v5
+; GFX1013-NEXT: v_and_b32_e32 v10, 0xffff, v7
; GFX1013-NEXT: v_and_b32_e32 v8, 0xffff, v8
; GFX1013-NEXT: s_mov_b32 s1, exec_lo
-; GFX1013-NEXT: v_lshlrev_b32_e32 v13, 16, v13
-; GFX1013-NEXT: v_lshlrev_b32_e32 v14, 16, v14
+; GFX1013-NEXT: v_lshlrev_b32_e32 v9, 16, v9
+; GFX1013-NEXT: v_lshlrev_b32_e32 v10, 16, v10
; GFX1013-NEXT: v_alignbit_b32 v7, v8, v7, 16
-; GFX1013-NEXT: v_and_or_b32 v5, 0xffff, v5, v13
-; GFX1013-NEXT: v_and_or_b32 v6, 0xffff, v6, v14
+; GFX1013-NEXT: v_and_or_b32 v5, 0xffff, v5, v9
+; GFX1013-NEXT: v_and_or_b32 v6, 0xffff, v6, v10
; GFX1013-NEXT: .LBB7_1: ; =>This Inner Loop Header: Depth=1
-; GFX1013-NEXT: v_readfirstlane_b32 s4, v9
-; GFX1013-NEXT: v_readfirstlane_b32 s5, v10
+; GFX1013-NEXT: v_readfirstlane_b32 s4, v17
+; GFX1013-NEXT: v_readfirstlane_b32 s5, v18
; GFX1013-NEXT: v_readfirstlane_b32 s6, v11
; GFX1013-NEXT: v_readfirstlane_b32 s7, v12
-; GFX1013-NEXT: v_cmp_eq_u64_e32 vcc_lo, s[4:5], v[9:10]
+; GFX1013-NEXT: v_cmp_eq_u64_e32 vcc_lo, s[4:5], v[17:18]
; GFX1013-NEXT: v_cmp_eq_u64_e64 s0, s[6:7], v[11:12]
; GFX1013-NEXT: s_and_b32 s0, vcc_lo, s0
; GFX1013-NEXT: s_and_saveexec_b32 s0, s0
; GFX1013-NEXT: image_bvh_intersect_ray v[13:16], v[0:7], s[4:7] a16
-; GFX1013-NEXT: ; implicit-def: $vgpr9
+; GFX1013-NEXT: ; implicit-def: $vgpr17
; GFX1013-NEXT: ; implicit-def: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7
; GFX1013-NEXT: ; implicit-def: $vgpr9_vgpr10_vgpr11_vgpr12
; GFX1013-NEXT: s_waitcnt_depctr 0xffe3
@@ -333,27 +343,28 @@ define amdgpu_ps <4 x float> @image_bvh_intersect_ray_a16_vgpr_descr(i32 %node_p
; GFX11-LABEL: image_bvh_intersect_ray_a16_vgpr_descr:
; GFX11: ; %bb.0:
; GFX11-NEXT: v_dual_mov_b32 v16, v0 :: v_dual_mov_b32 v17, v1
-; GFX11-NEXT: v_dual_mov_b32 v15, v4 :: v_dual_and_b32 v0, 0xffff, v7
+; GFX11-NEXT: v_dual_mov_b32 v19, v10 :: v_dual_and_b32 v0, 0xffff, v7
; GFX11-NEXT: v_and_b32_e32 v1, 0xffff, v8
; GFX11-NEXT: v_dual_mov_b32 v13, v2 :: v_dual_mov_b32 v14, v3
-; GFX11-NEXT: s_mov_b32 s1, exec_lo
-; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3)
+; GFX11-NEXT: v_dual_mov_b32 v15, v4 :: v_dual_mov_b32 v18, v9
+; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_4)
; GFX11-NEXT: v_lshl_or_b32 v4, v5, 16, v0
; GFX11-NEXT: v_perm_b32 v5, v5, v7, 0x7060302
; GFX11-NEXT: v_lshl_or_b32 v6, v6, 16, v1
+; GFX11-NEXT: s_mov_b32 s1, exec_lo
; GFX11-NEXT: .LBB7_1: ; =>This Inner Loop Header: Depth=1
-; GFX11-NEXT: v_readfirstlane_b32 s4, v9
-; GFX11-NEXT: v_readfirstlane_b32 s5, v10
+; GFX11-NEXT: v_readfirstlane_b32 s4, v18
+; GFX11-NEXT: v_readfirstlane_b32 s5, v19
; GFX11-NEXT: v_readfirstlane_b32 s6, v11
; GFX11-NEXT: v_readfirstlane_b32 s7, v12
; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_2)
-; GFX11-NEXT: v_cmp_eq_u64_e32 vcc_lo, s[4:5], v[9:10]
+; GFX11-NEXT: v_cmp_eq_u64_e32 vcc_lo, s[4:5], v[18:19]
; GFX11-NEXT: v_cmp_eq_u64_e64 s0, s[6:7], v[11:12]
; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(SALU_CYCLE_1)
; GFX11-NEXT: s_and_b32 s0, vcc_lo, s0
; GFX11-NEXT: s_and_saveexec_b32 s0, s0
; GFX11-NEXT: image_bvh_intersect_ray v[0:3], [v16, v17, v[13:15], v[4:6]], s[4:7] a16
-; GFX11-NEXT: ; implicit-def: $vgpr9
+; GFX11-NEXT: ; implicit-def: $vgpr18
; GFX11-NEXT: ; implicit-def: $vgpr16
; GFX11-NEXT: ; implicit-def: $vgpr17
; GFX11-NEXT: ; implicit-def: $vgpr13_vgpr14_vgpr15
@@ -373,42 +384,44 @@ define amdgpu_ps <4 x float> @image_bvh_intersect_ray_a16_vgpr_descr(i32 %node_p
define amdgpu_ps <4 x float> @image_bvh64_intersect_ray_vgpr_descr(i64 %node_ptr, float %ray_extent, <3 x float> %ray_origin, <3 x float> %ray_dir, <3 x float> %ray_inv_dir, <4 x i32> %tdescr) {
; GFX1030-LABEL: image_bvh64_intersect_ray_vgpr_descr:
; GFX1030: ; %bb.0:
-; GFX1030-NEXT: v_mov_b32_e32 v16, v0
-; GFX1030-NEXT: v_mov_b32_e32 v17, v1
-; GFX1030-NEXT: v_mov_b32_e32 v18, v2
-; GFX1030-NEXT: v_mov_b32_e32 v19, v3
-; GFX1030-NEXT: v_mov_b32_e32 v20, v4
-; GFX1030-NEXT: v_mov_b32_e32 v21, v5
-; GFX1030-NEXT: v_mov_b32_e32 v22, v6
-; GFX1030-NEXT: v_mov_b32_e32 v23, v7
-; GFX1030-NEXT: v_mov_b32_e32 v24, v8
-; GFX1030-NEXT: v_mov_b32_e32 v25, v9
-; GFX1030-NEXT: v_mov_b32_e32 v26, v10
-; GFX1030-NEXT: v_mov_b32_e32 v27, v11
+; GFX1030-NEXT: v_mov_b32_e32 v22, v0
+; GFX1030-NEXT: v_mov_b32_e32 v23, v1
+; GFX1030-NEXT: v_mov_b32_e32 v24, v2
+; GFX1030-NEXT: v_mov_b32_e32 v25, v3
+; GFX1030-NEXT: v_mov_b32_e32 v26, v4
+; GFX1030-NEXT: v_mov_b32_e32 v27, v5
+; GFX1030-NEXT: v_mov_b32_e32 v28, v6
+; GFX1030-NEXT: v_mov_b32_e32 v29, v7
+; GFX1030-NEXT: v_mov_b32_e32 v30, v8
+; GFX1030-NEXT: v_mov_b32_e32 v31, v9
+; GFX1030-NEXT: v_mov_b32_e32 v32, v10
+; GFX1030-NEXT: v_mov_b32_e32 v33, v11
+; GFX1030-NEXT: v_mov_b32_e32 v20, v12
+; GFX1030-NEXT: v_mov_b32_e32 v21, v13
; GFX1030-NEXT: s_mov_b32 s1, exec_lo
; GFX1030-NEXT: .LBB8_1: ; =>This Inner Loop Header: Depth=1
-; GFX1030-NEXT: v_readfirstlane_b32 s4, v12
-; GFX1030-NEXT: v_readfirstlane_b32 s5, v13
+; GFX1030-NEXT: v_readfirstlane_b32 s4, v20
+; GFX1030-NEXT: v_readfirstlane_b32 s5, v21
; GFX1030-NEXT: v_readfirstlane_b32 s6, v14
; GFX1030-NEXT: v_readfirstlane_b32 s7, v15
-; GFX1030-NEXT: v_cmp_eq_u64_e32 vcc_lo, s[4:5], v[12:13]
+; GFX1030-NEXT: v_cmp_eq_u64_e32 vcc_lo, s[4:5], v[20:21]
; GFX1030-NEXT: v_cmp_eq_u64_e64 s0, s[6:7], v[14:15]
; GFX1030-NEXT: s_and_b32 s0, vcc_lo, s0
; GFX1030-NEXT: s_and_saveexec_b32 s0, s0
-; GFX1030-NEXT: image_bvh64_intersect_ray v[0:3], v[16:27], s[4:7]
-; GFX1030-NEXT: ; implicit-def: $vgpr12
-; GFX1030-NEXT: ; implicit-def: $vgpr16
-; GFX1030-NEXT: ; implicit-def: $vgpr17
-; GFX1030-NEXT: ; implicit-def: $vgpr18
-; GFX1030-NEXT: ; implicit-def: $vgpr19
+; GFX1030-NEXT: image_bvh64_intersect_ray v[0:3], v[22:33], s[4:7]
; GFX1030-NEXT: ; implicit-def: $vgpr20
-; GFX1030-NEXT: ; implicit-def: $vgpr21
; GFX1030-NEXT: ; implicit-def: $vgpr22
; GFX1030-NEXT: ; implicit-def: $vgpr23
; GFX1030-NEXT: ; implicit-def: $vgpr24
; GFX1030-NEXT: ; implicit-def: $vgpr25
; GFX1030-NEXT: ; implicit-def: $vgpr26
; GFX1030-NEXT: ; implicit-def: $vgpr27
+; GFX1030-NEXT: ; implicit-def: $vgpr28
+; GFX1030-NEXT: ; implicit-def: $vgpr29
+; GFX1030-NEXT: ; implicit-def: $vgpr30
+; GFX1030-NEXT: ; implicit-def: $vgpr31
+; GFX1030-NEXT: ; implicit-def: $vgpr32
+; GFX1030-NEXT: ; implicit-def: $vgpr33
; GFX1030-NEXT: ; implicit-def: $vgpr12_vgpr13_vgpr14_vgpr15
; GFX1030-NEXT: s_xor_b32 exec_lo, exec_lo, s0
; GFX1030-NEXT: s_cbranch_execnz .LBB8_1
@@ -419,18 +432,20 @@ define amdgpu_ps <4 x float> @image_bvh64_intersect_ray_vgpr_descr(i64 %node_ptr
;
; GFX1013-LABEL: image_bvh64_intersect_ray_vgpr_descr:
; GFX1013: ; %bb.0:
+; GFX1013-NEXT: v_mov_b32_e32 v20, v12
+; GFX1013-NEXT: v_mov_b32_e32 v21, v13
; GFX1013-NEXT: s_mov_b32 s1, exec_lo
; GFX1013-NEXT: .LBB8_1: ; =>This Inner Loop Header: Depth=1
-; GFX1013-NEXT: v_readfirstlane_b32 s4, v12
-; GFX1013-NEXT: v_readfirstlane_b32 s5, v13
+; GFX1013-NEXT: v_readfirstlane_b32 s4, v20
+; GFX1013-NEXT: v_readfirstlane_b32 s5, v21
; GFX1013-NEXT: v_readfirstlane_b32 s6, v14
; GFX1013-NEXT: v_readfirstlane_b32 s7, v15
-; GFX1013-NEXT: v_cmp_eq_u64_e32 vcc_lo, s[4:5], v[12:13]
+; GFX1013-NEXT: v_cmp_eq_u64_e32 vcc_lo, s[4:5], v[20:21]
; GFX1013-NEXT: v_cmp_eq_u64_e64 s0, s[6:7], v[14:15]
; GFX1013-NEXT: s_and_b32 s0, vcc_lo, s0
; GFX1013-NEXT: s_and_saveexec_b32 s0, s0
; GFX1013-NEXT: image_bvh64_intersect_ray v[16:19], v[0:11], s[4:7]
-; GFX1013-NEXT: ; implicit-def: $vgpr12
+; GFX1013-NEXT: ; implicit-def: $vgpr20
; GFX1013-NEXT: ; implicit-def: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11
; GFX1013-NEXT: ; implicit-def: $vgpr12_vgpr13_vgpr14_vgpr15
; GFX1013-NEXT: s_waitcnt_depctr 0xffe3
@@ -450,20 +465,22 @@ define amdgpu_ps <4 x float> @image_bvh64_intersect_ray_vgpr_descr(i64 %node_ptr
; GFX11-NEXT: v_dual_mov_b32 v19, v0 :: v_dual_mov_b32 v20, v1
; GFX11-NEXT: v_dual_mov_b32 v21, v2 :: v_dual_mov_b32 v16, v3
; GFX11-NEXT: v_dual_mov_b32 v17, v4 :: v_dual_mov_b32 v18, v5
+; GFX11-NEXT: v_dual_mov_b32 v4, v12 :: v_dual_mov_b32 v5, v13
; GFX11-NEXT: s_mov_b32 s1, exec_lo
; GFX11-NEXT: .LBB8_1: ; =>This Inner Loop Header: Depth=1
-; GFX11-NEXT: v_readfirstlane_b32 s4, v12
-; GFX11-NEXT: v_readfirstlane_b32 s5, v13
+; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_2)
+; GFX11-NEXT: v_readfirstlane_b32 s4, v4
+; GFX11-NEXT: v_readfirstlane_b32 s5, v5
; GFX11-NEXT: v_readfirstlane_b32 s6, v14
; GFX11-NEXT: v_readfirstlane_b32 s7, v15
; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_2)
-; GFX11-NEXT: v_cmp_eq_u64_e32 vcc_lo, s[4:5], v[12:13]
+; GFX11-NEXT: v_cmp_eq_u64_e32 vcc_lo, s[4:5], v[4:5]
; GFX11-NEXT: v_cmp_eq_u64_e64 s0, s[6:7], v[14:15]
; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(SALU_CYCLE_1)
; GFX11-NEXT: s_and_b32 s0, vcc_lo, s0
; GFX11-NEXT: s_and_saveexec_b32 s0, s0
; GFX11-NEXT: image_bvh64_intersect_ray v[0:3], [v[19:20], v21, v[16:18], v[6:8], v[9:11]], s[4:7]
-; GFX11-NEXT: ; implicit-def: $vgpr12
+; GFX11-NEXT: ; implicit-def: $vgpr4
; GFX11-NEXT: ; implicit-def: $vgpr19_vgpr20
; GFX11-NEXT: ; implicit-def: $vgpr21
; GFX11-NEXT: ; implicit-def: $vgpr16_vgpr17_vgpr18
@@ -484,41 +501,43 @@ define amdgpu_ps <4 x float> @image_bvh64_intersect_ray_vgpr_descr(i64 %node_ptr
define amdgpu_ps <4 x float> @image_bvh64_intersect_ray_a16_vgpr_descr(i64 %node_ptr, float %ray_extent, <3 x float> %ray_origin, <3 x half> %ray_dir, <3 x half> %ray_inv_dir, <4 x i32> %tdescr) {
; GFX1030-LABEL: image_bvh64_intersect_ray_a16_vgpr_descr:
; GFX1030: ; %bb.0:
-; GFX1030-NEXT: v_mov_b32_e32 v14, v0
-; GFX1030-NEXT: v_mov_b32_e32 v15, v1
+; GFX1030-NEXT: v_mov_b32_e32 v19, v0
+; GFX1030-NEXT: v_mov_b32_e32 v20, v1
; GFX1030-NEXT: v_lshrrev_b32_e32 v0, 16, v6
; GFX1030-NEXT: v_and_b32_e32 v1, 0xffff, v8
-; GFX1030-NEXT: v_mov_b32_e32 v16, v2
+; GFX1030-NEXT: v_mov_b32_e32 v21, v2
; GFX1030-NEXT: v_and_b32_e32 v2, 0xffff, v9
-; GFX1030-NEXT: v_mov_b32_e32 v17, v3
+; GFX1030-NEXT: v_mov_b32_e32 v22, v3
; GFX1030-NEXT: v_lshlrev_b32_e32 v0, 16, v0
; GFX1030-NEXT: v_lshlrev_b32_e32 v1, 16, v1
-; GFX1030-NEXT: v_mov_b32_e32 v18, v4
-; GFX1030-NEXT: v_mov_b32_e32 v19, v5
-; GFX1030-NEXT: v_alignbit_b32 v22, v2, v8, 16
-; GFX1030-NEXT: v_and_or_b32 v20, 0xffff, v6, v0
-; GFX1030-NEXT: v_and_or_b32 v21, 0xffff, v7, v1
+; GFX1030-NEXT: v_mov_b32_e32 v23, v4
+; GFX1030-NEXT: v_mov_b32_e32 v24, v5
+; GFX1030-NEXT: v_mov_b32_e32 v17, v10
+; GFX1030-NEXT: v_mov_b32_e32 v18, v11
+; GFX1030-NEXT: v_and_or_b32 v25, 0xffff, v6, v0
+; GFX1030-NEXT: v_and_or_b32 v26, 0xffff, v7, v1
+; GFX1030-NEXT: v_alignbit_b32 v27, v2, v8, 16
; GFX1030-NEXT: s_mov_b32 s1, exec_lo
; GFX1030-NEXT: .LBB9_1: ; =>This Inner Loop Header: Depth=1
-; GFX1030-NEXT: v_readfirstlane_b32 s4, v10
-; GFX1030-NEXT: v_readfirstlane_b32 s5, v11
+; GFX1030-NEXT: v_readfirstlane_b32 s4, v17
+; GFX1030-NEXT: v_readfirstlane_b32 s5, v18
; GFX1030-NEXT: v_readfirstlane_b32 s6, v12
; GFX1030-NEXT: v_readfirstlane_b32 s7, v13
-; GFX1030-NEXT: v_cmp_eq_u64_e32 vcc_lo, s[4:5], v[10:11]
+; GFX1030-NEXT: v_cmp_eq_u64_e32 vcc_lo, s[4:5], v[17:18]
; GFX1030-NEXT: v_cmp_eq_u64_e64 s0, s[6:7], v[12:13]
; GFX1030-NEXT: s_and_b32 s0, vcc_lo, s0
; GFX1030-NEXT: s_and_saveexec_b32 s0, s0
-; GFX1030-NEXT: image_bvh64_intersect_ray v[0:3], v[14:22], s[4:7] a16
-; GFX1030-NEXT: ; implicit-def: $vgpr10
-; GFX1030-NEXT: ; implicit-def: $vgpr14
-; GFX1030-NEXT: ; implicit-def: $vgpr15
-; GFX1030-NEXT: ; implicit-def: $vgpr16
+; GFX1030-NEXT: image_bvh64_intersect_ray v[0:3], v[19:27], s[4:7] a16
; GFX1030-NEXT: ; implicit-def: $vgpr17
-; GFX1030-NEXT: ; implicit-def: $vgpr18
; GFX1030-NEXT: ; implicit-def: $vgpr19
; GFX1030-NEXT: ; implicit-def: $vgpr20
; GFX1030-NEXT: ; implicit-def: $vgpr21
; GFX1030-NEXT: ; implicit-def: $vgpr22
+; GFX1030-NEXT: ; implicit-def: $vgpr23
+; GFX1030-NEXT: ; implicit-def: $vgpr24
+; GFX1030-NEXT: ; implicit-def: $vgpr25
+; GFX1030-NEXT: ; implicit-def: $vgpr26
+; GFX1030-NEXT: ; implicit-def: $vgpr27
; GFX1030-NEXT: ; implicit-def: $vgpr10_vgpr11_vgpr12_vgpr13
; GFX1030-NEXT: s_xor_b32 exec_lo, exec_lo, s0
; GFX1030-NEXT: s_cbranch_execnz .LBB9_1
@@ -529,26 +548,28 @@ define amdgpu_ps <4 x float> @image_bvh64_intersect_ray_a16_vgpr_descr(i64 %node
;
; GFX1013-LABEL: image_bvh64_intersect_ray_a16_vgpr_descr:
; GFX1013: ; %bb.0:
-; GFX1013-NEXT: v_lshrrev_b32_e32 v14, 16, v6
-; GFX1013-NEXT: v_and_b32_e32 v15, 0xffff, v8
+; GFX1013-NEXT: v_mov_b32_e32 v18, v10
+; GFX1013-NEXT: v_mov_b32_e32 v19, v11
+; GFX1013-NEXT: v_lshrrev_b32_e32 v10, 16, v6
+; GFX1013-NEXT: v_and_b32_e32 v11, 0xffff, v8
; GFX1013-NEXT: v_and_b32_e32 v9, 0xffff, v9
; GFX1013-NEXT: s_mov_b32 s1, exec_lo
-; GFX1013-NEXT: v_lshlrev_b32_e32 v14, 16, v14
-; GFX1013-NEXT: v_lshlrev_b32_e32 v15, 16, v15
+; GFX1013-NEXT: v_lshlrev_b32_e32 v10, 16, v10
+; GFX1013-NEXT: v_lshlrev_b32_e32 v11, 16, v11
; GFX1013-NEXT: v_alignbit_b32 v8, v9, v8, 16
-; GFX1013-NEXT: v_and_or_b32 v6, 0xffff, v6, v14
-; GFX1013-NEXT: v_and_or_b32 v7, 0xffff, v7, v15
+; GFX1013-NEXT: v_and_or_b32 v6, 0xffff, v6, v10
+; GFX1013-NEXT: v_and_or_b32 v7, 0xffff, v7, v11
; GFX1013-NEXT: .LBB9_1: ; =>This Inner Loop Header: Depth=1
-; GFX1013-NEXT: v_readfirstlane_b32 s4, v10
-; GFX1013-NEXT: v_readfirstlane_b32 s5, v11
+; GFX1013-NEXT: v_readfirstlane_b32 s4, v18
+; GFX1013-NEXT: v_readfirstlane_b32 s5, v19
; GFX1013-NEXT: v_readfirstlane_b32 s6, v12
; GFX1013-NEXT: v_readfirstlane_b32 s7, v13
-; GFX1013-NEXT: v_cmp_eq_u64_e32 vcc_lo, s[4:5], v[10:11]
+; GFX1013-NEXT: v_cmp_eq_u64_e32 vcc_lo, s[4:5], v[18:19]
; GFX1013-NEXT: v_cmp_eq_u64_e64 s0, s[6:7], v[12:13]
; GFX1013-NEXT: s_and_b32 s0, vcc_lo, s0
; GFX1013-NEXT: s_and_saveexec_b32 s0, s0
; GFX1013-NEXT: image_bvh64_intersect_ray v[14:17], v[0:8], s[4:7] a16
-; GFX1013-NEXT: ; implicit-def: $vgpr10
+; GFX1013-NEXT: ; implicit-def: $vgpr18
; GFX1013-NEXT: ; implicit-def: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8
; GFX1013-NEXT: ; implicit-def: $vgpr10_vgpr11_vgpr12_vgpr13
; GFX1013-NEXT: s_waitcnt_depctr 0xffe3
@@ -570,28 +591,28 @@ define amdgpu_ps <4 x float> @image_bvh64_intersect_ray_a16_vgpr_descr(i64 %node
; GFX11-NEXT: v_and_b32_e32 v1, 0xffff, v9
; GFX11-NEXT: v_dual_mov_b32 v19, v2 :: v_dual_mov_b32 v14, v3
; GFX11-NEXT: v_dual_mov_b32 v15, v4 :: v_dual_mov_b32 v16, v5
-; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_4)
-; GFX11-NEXT: v_lshl_or_b32 v4, v6, 16, v0
-; GFX11-NEXT: v_perm_b32 v5, v6, v8, 0x7060302
-; GFX11-NEXT: v_lshl_or_b32 v6, v7, 16, v1
+; GFX11-NEXT: v_dual_mov_b32 v4, v10 :: v_dual_mov_b32 v5, v11
+; GFX11-NEXT: v_lshl_or_b32 v20, v6, 16, v0
+; GFX11-NEXT: v_perm_b32 v21, v6, v8, 0x7060302
+; GFX11-NEXT: v_lshl_or_b32 v22, v7, 16, v1
; GFX11-NEXT: s_mov_b32 s1, exec_lo
; GFX11-NEXT: .LBB9_1: ; =>This Inner Loop Header: Depth=1
-; GFX11-NEXT: v_readfirstlane_b32 s4, v10
-; GFX11-NEXT: v_readfirstlane_b32 s5, v11
+; GFX11-NEXT: v_readfirstlane_b32 s4, v4
+; GFX11-NEXT: v_readfirstlane_b32 s5, v5
; GFX11-NEXT: v_readfirstlane_b32 s6, v12
; GFX11-NEXT: v_readfirstlane_b32 s7, v13
; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_2)
-; GFX11-NEXT: v_cmp_eq_u64_e32 vcc_lo, s[4:5], v[10:11]
+; GFX11-NEXT: v_cmp_eq_u64_e32 vcc_lo, s[4:5], v[4:5]
; GFX11-NEXT: v_cmp_eq_u64_e64 s0, s[6:7], v[12:13]
; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(SALU_CYCLE_1)
; GFX11-NEXT: s_and_b32 s0, vcc_lo, s0
; GFX11-NEXT: s_and_saveexec_b32 s0, s0
-; GFX11-NEXT: image_bvh64_intersect_ray v[0:3], [v[17:18], v19, v[14:16], v[4:6]], s[4:7] a16
-; GFX11-NEXT: ; implicit-def: $vgpr10
+; GFX11-NEXT: image_bvh64_intersect_ray v[0:3], [v[17:18], v19, v[14:16], v[20:22]], s[4:7] a16
+; GFX11-NEXT: ; implicit-def: $vgpr4
; GFX11-NEXT: ; implicit-def: $vgpr17_vgpr18
; GFX11-NEXT: ; implicit-def: $vgpr19
; GFX11-NEXT: ; implicit-def: $vgpr14_vgpr15_vgpr16
-; GFX11-NEXT: ; implicit-def: $vgpr4_vgpr5_vgpr6
+; GFX11-NEXT: ; implicit-def: $vgpr20_vgpr21_vgpr22
; GFX11-NEXT: ; implicit-def: $vgpr10_vgpr11_vgpr12_vgpr13
; GFX11-NEXT: s_xor_b32 exec_lo, exec_lo, s0
; GFX11-NEXT: s_cbranch_execnz .LBB9_1
diff --git a/llvm/test/CodeGen/AMDGPU/live-interval-bug-in-rename-independent-subregs.mir b/llvm/test/CodeGen/AMDGPU/live-interval-bug-in-rename-independent-subregs.mir
index f9e91810e8affe..510b9c9a33c7dc 100644
--- a/llvm/test/CodeGen/AMDGPU/live-interval-bug-in-rename-independent-subregs.mir
+++ b/llvm/test/CodeGen/AMDGPU/live-interval-bug-in-rename-independent-subregs.mir
@@ -3510,34 +3510,34 @@ body: |
; GCN-NEXT: renamable $vgpr1 = COPY renamable $sgpr14
; GCN-NEXT: renamable $vgpr1_vgpr2_vgpr3_vgpr4 = BUFFER_LOAD_DWORDX4_OFFEN killed renamable $vgpr1, renamable $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (<4 x s32>), align 1, addrspace 8)
; GCN-NEXT: renamable $vgpr5 = V_MBCNT_LO_U32_B32_e64 -1, 0, implicit $exec
- ; GCN-NEXT: renamable $vgpr16 = V_MBCNT_HI_U32_B32_e64 -1, killed $vgpr5, implicit $exec
+ ; GCN-NEXT: renamable $vgpr17 = V_MBCNT_HI_U32_B32_e64 -1, killed $vgpr5, implicit $exec
; GCN-NEXT: renamable $sgpr14 = S_OR_B32 killed renamable $sgpr14, 16, implicit-def dead $scc
; GCN-NEXT: renamable $vgpr5 = COPY killed renamable $sgpr14
- ; GCN-NEXT: renamable $vgpr6 = V_LSHLREV_B32_e64 5, $vgpr16, implicit $exec
- ; GCN-NEXT: renamable $vgpr12_vgpr13_vgpr14_vgpr15 = BUFFER_LOAD_DWORDX4_OFFEN killed renamable $vgpr5, renamable $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (<4 x s32>), align 1, addrspace 8)
+ ; GCN-NEXT: renamable $vgpr6 = V_LSHLREV_B32_e64 5, $vgpr17, implicit $exec
+ ; GCN-NEXT: renamable $vgpr13_vgpr14_vgpr15_vgpr16 = BUFFER_LOAD_DWORDX4_OFFEN killed renamable $vgpr5, renamable $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (<4 x s32>), align 1, addrspace 8)
; GCN-NEXT: renamable $vgpr5 = V_OR_B32_e64 16, $vgpr6, implicit $exec
; GCN-NEXT: renamable $sgpr14 = V_READFIRSTLANE_B32 $vgpr1, implicit $exec
- ; GCN-NEXT: renamable $vgpr8_vgpr9_vgpr10_vgpr11 = BUFFER_LOAD_DWORDX4_OFFEN killed renamable $vgpr6, renamable $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (<4 x s32>), align 1, addrspace 8)
+ ; GCN-NEXT: renamable $vgpr9_vgpr10_vgpr11_vgpr12 = BUFFER_LOAD_DWORDX4_OFFEN killed renamable $vgpr6, renamable $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (<4 x s32>), align 1, addrspace 8)
; GCN-NEXT: renamable $sgpr15 = V_READFIRSTLANE_B32 $vgpr2, implicit $exec
; GCN-NEXT: renamable $sgpr16 = V_READFIRSTLANE_B32 $vgpr3, implicit $exec
; GCN-NEXT: renamable $sgpr17 = V_READFIRSTLANE_B32 killed $vgpr4, implicit $exec
- ; GCN-NEXT: renamable $vgpr4_vgpr5_vgpr6_vgpr7 = BUFFER_LOAD_DWORDX4_OFFEN killed renamable $vgpr5, renamable $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (<4 x s32>), align 1, addrspace 8)
- ; GCN-NEXT: renamable $sgpr18 = V_READFIRSTLANE_B32 $vgpr12, implicit $exec
- ; GCN-NEXT: renamable $sgpr19 = V_READFIRSTLANE_B32 $vgpr13, implicit $exec
- ; GCN-NEXT: renamable $sgpr20 = V_READFIRSTLANE_B32 $vgpr14, implicit $exec
- ; GCN-NEXT: renamable $sgpr21 = V_READFIRSTLANE_B32 killed $vgpr15, implicit $exec
- ; GCN-NEXT: renamable $sgpr22 = V_READFIRSTLANE_B32 $vgpr8, implicit $exec
- ; GCN-NEXT: renamable $sgpr23 = V_READFIRSTLANE_B32 $vgpr9, implicit $exec
- ; GCN-NEXT: renamable $sgpr24 = V_READFIRSTLANE_B32 $vgpr10, implicit $exec
- ; GCN-NEXT: renamable $sgpr25 = V_READFIRSTLANE_B32 $vgpr11, implicit $exec
- ; GCN-NEXT: renamable $sgpr26 = V_READFIRSTLANE_B32 $vgpr4, implicit $exec
- ; GCN-NEXT: renamable $sgpr27 = V_READFIRSTLANE_B32 $vgpr5, implicit $exec
- ; GCN-NEXT: renamable $vgpr1 = COPY renamable $vgpr7
+ ; GCN-NEXT: renamable $vgpr5_vgpr6_vgpr7_vgpr8 = BUFFER_LOAD_DWORDX4_OFFEN killed renamable $vgpr5, renamable $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (<4 x s32>), align 1, addrspace 8)
+ ; GCN-NEXT: renamable $sgpr18 = V_READFIRSTLANE_B32 $vgpr13, implicit $exec
+ ; GCN-NEXT: renamable $sgpr19 = V_READFIRSTLANE_B32 $vgpr14, implicit $exec
+ ; GCN-NEXT: renamable $sgpr20 = V_READFIRSTLANE_B32 $vgpr15, implicit $exec
+ ; GCN-NEXT: renamable $sgpr21 = V_READFIRSTLANE_B32 killed $vgpr16, implicit $exec
+ ; GCN-NEXT: renamable $sgpr22 = V_READFIRSTLANE_B32 $vgpr9, implicit $exec
+ ; GCN-NEXT: renamable $sgpr23 = V_READFIRSTLANE_B32 $vgpr10, implicit $exec
+ ; GCN-NEXT: renamable $sgpr24 = V_READFIRSTLANE_B32 $vgpr11, implicit $exec
+ ; GCN-NEXT: renamable $sgpr25 = V_READFIRSTLANE_B32 $vgpr12, implicit $exec
+ ; GCN-NEXT: renamable $sgpr26 = V_READFIRSTLANE_B32 $vgpr5, implicit $exec
+ ; GCN-NEXT: renamable $sgpr27 = V_READFIRSTLANE_B32 $vgpr6, implicit $exec
+ ; GCN-NEXT: renamable $vgpr13 = COPY renamable $vgpr8
; GCN-NEXT: S_CMP_EQ_U64 killed renamable $sgpr14_sgpr15, killed renamable $sgpr22_sgpr23, implicit-def $scc
- ; GCN-NEXT: renamable $sgpr14 = V_READFIRSTLANE_B32 $vgpr6, implicit $exec
+ ; GCN-NEXT: renamable $sgpr14 = V_READFIRSTLANE_B32 $vgpr7, implicit $exec
; GCN-NEXT: renamable $sgpr22 = S_CSELECT_B32 1, 0, implicit $scc
; GCN-NEXT: S_CMP_EQ_U64 killed renamable $sgpr16_sgpr17, killed renamable $sgpr24_sgpr25, implicit-def $scc
- ; GCN-NEXT: renamable $sgpr15 = V_READFIRSTLANE_B32 $vgpr1, implicit $exec
+ ; GCN-NEXT: renamable $sgpr15 = V_READFIRSTLANE_B32 $vgpr13, implicit $exec
; GCN-NEXT: renamable $sgpr16 = S_CSELECT_B32 1, 0, implicit $scc
; GCN-NEXT: S_CMP_EQ_U64 killed renamable $sgpr18_sgpr19, killed renamable $sgpr26_sgpr27, implicit-def $scc
; GCN-NEXT: renamable $sgpr17 = S_CSELECT_B32 1, 0, implicit $scc
@@ -3546,12 +3546,12 @@ body: |
; GCN-NEXT: renamable $sgpr15 = S_AND_B32 killed renamable $sgpr22, killed renamable $sgpr16, implicit-def dead $scc
; GCN-NEXT: renamable $sgpr15 = S_AND_B32 killed renamable $sgpr17, killed renamable $sgpr15, implicit-def dead $scc
; GCN-NEXT: renamable $sgpr14 = S_AND_B32 killed renamable $sgpr14, killed renamable $sgpr15, implicit-def dead $scc
- ; GCN-NEXT: renamable $vcc = V_CMP_NE_U32_e64 $sgpr7, killed $vgpr16, implicit $exec
+ ; GCN-NEXT: renamable $vcc = V_CMP_NE_U32_e64 $sgpr7, killed $vgpr17, implicit $exec
; GCN-NEXT: renamable $sgpr14 = S_AND_B32 killed renamable $sgpr14, 1, implicit-def dead $scc
; GCN-NEXT: $scc = COPY killed renamable $sgpr14
; GCN-NEXT: renamable $sgpr33 = S_CSELECT_B32 1, 0, implicit $scc
; GCN-NEXT: renamable $sgpr12_sgpr13 = S_XOR_B64 killed renamable $vcc, killed renamable $sgpr12_sgpr13, implicit-def dead $scc
- ; GCN-NEXT: renamable $vgpr3 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $vgpr15 = IMPLICIT_DEF
; GCN-NEXT: renamable $sgpr14_sgpr15 = COPY $exec, implicit-def $exec
; GCN-NEXT: renamable $sgpr16_sgpr17 = S_AND_B64 renamable $sgpr14_sgpr15, killed renamable $sgpr12_sgpr13, implicit-def dead $scc
; GCN-NEXT: renamable $sgpr12_sgpr13 = S_XOR_B64 renamable $sgpr16_sgpr17, killed renamable $sgpr14_sgpr15, implicit-def dead $scc
@@ -3561,7 +3561,7 @@ body: |
; GCN-NEXT: {{ $}}
; GCN-NEXT: bb.40.Flow73:
; GCN-NEXT: successors: %bb.41(0x40000000), %bb.42(0x40000000)
- ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $vgpr0, $vgpr3, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $vgpr0, $vgpr15, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr13_vgpr14:0x0000000000000003, $vgpr9_vgpr10_vgpr11_vgpr12:0x00000000000000FF, $vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8:0x0000000000003F00
; GCN-NEXT: {{ $}}
; GCN-NEXT: renamable $sgpr12_sgpr13 = S_OR_SAVEEXEC_B64 killed renamable $sgpr12_sgpr13, implicit-def $exec, implicit-def $scc, implicit $exec
; GCN-NEXT: $exec = S_XOR_B64_term $exec, renamable $sgpr12_sgpr13, implicit-def $scc
@@ -3570,7 +3570,7 @@ body: |
; GCN-NEXT: {{ $}}
; GCN-NEXT: bb.41 (%ir-block.195):
; GCN-NEXT: successors: %bb.43(0x80000000)
- ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr13_vgpr14:0x0000000000000003, $vgpr9_vgpr10_vgpr11_vgpr12:0x00000000000000FF, $vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8:0x0000000000003F00
; GCN-NEXT: {{ $}}
; GCN-NEXT: renamable $sgpr28_sgpr29 = S_MOV_B64_IMM_PSEUDO 3
; GCN-NEXT: renamable $sgpr22_sgpr23 = S_AND_B64 $exec, $exec, implicit-def dead $scc
@@ -3578,14 +3578,14 @@ body: |
; GCN-NEXT: {{ $}}
; GCN-NEXT: bb.42.Flow74:
; GCN-NEXT: successors: %bb.83(0x80000000)
- ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $vgpr0, $vgpr3, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $vgpr0, $vgpr15, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13
; GCN-NEXT: {{ $}}
; GCN-NEXT: $exec = S_OR_B64 $exec, killed renamable $sgpr12_sgpr13, implicit-def $scc
; GCN-NEXT: S_BRANCH %bb.83
; GCN-NEXT: {{ $}}
; GCN-NEXT: bb.43 (%ir-block.198):
; GCN-NEXT: successors: %bb.44(0x30000000), %bb.45(0x50000000)
- ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr22_sgpr23, $sgpr28_sgpr29:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr22_sgpr23, $sgpr28_sgpr29:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr13_vgpr14:0x0000000000000003, $vgpr9_vgpr10_vgpr11_vgpr12:0x00000000000000FF, $vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8:0x0000000000003F00
; GCN-NEXT: {{ $}}
; GCN-NEXT: renamable $sgpr14_sgpr15 = COPY killed renamable $sgpr28_sgpr29
; GCN-NEXT: renamable $sgpr28_sgpr29 = IMPLICIT_DEF
@@ -3616,7 +3616,7 @@ body: |
; GCN-NEXT: {{ $}}
; GCN-NEXT: bb.44 (%ir-block.202):
; GCN-NEXT: successors: %bb.46(0x30000000), %bb.47(0x50000000)
- ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x000000000000000F, $sgpr22_sgpr23, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x000000000000000F, $sgpr22_sgpr23, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr13_vgpr14:0x0000000000000003, $vgpr9_vgpr10_vgpr11_vgpr12:0x00000000000000FF, $vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8:0x0000000000003F00
; GCN-NEXT: {{ $}}
; GCN-NEXT: renamable $sgpr16 = S_ADD_U32 renamable $sgpr14, -2, implicit-def dead $scc
; GCN-NEXT: renamable $sgpr36 = S_MOV_B32 0
@@ -3645,7 +3645,7 @@ body: |
; GCN-NEXT: {{ $}}
; GCN-NEXT: bb.45.Flow65:
; GCN-NEXT: successors: %bb.94(0x04000000), %bb.43(0x7c000000)
- ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr17, $sgpr33, $sgpr34, $sgpr35, $sgpr36, $sgpr37, $sgpr38, $sgpr39, $sgpr40, $sgpr41, $sgpr42, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr22_sgpr23, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr28_sgpr29:0x000000000000000F, $sgpr30_sgpr31:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr17, $sgpr33, $sgpr34, $sgpr35, $sgpr36, $sgpr37, $sgpr38, $sgpr39, $sgpr40, $sgpr41, $sgpr42, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr22_sgpr23, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr28_sgpr29:0x000000000000000F, $sgpr30_sgpr31:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr13_vgpr14:0x0000000000000003, $vgpr9_vgpr10_vgpr11_vgpr12:0x00000000000000FF, $vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8:0x0000000000003F00
; GCN-NEXT: {{ $}}
; GCN-NEXT: renamable $sgpr15 = S_AND_B32 killed renamable $sgpr17, 1, implicit-def dead $scc
; GCN-NEXT: $scc = COPY killed renamable $sgpr15
@@ -3654,7 +3654,7 @@ body: |
; GCN-NEXT: {{ $}}
; GCN-NEXT: bb.46 (%ir-block.223):
; GCN-NEXT: successors: %bb.48(0x30000000), %bb.49(0x50000000)
- ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $sgpr36, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x000000000000000F, $sgpr16_sgpr17:0x0000000000000003, $sgpr22_sgpr23, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $sgpr36, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x000000000000000F, $sgpr16_sgpr17:0x0000000000000003, $sgpr22_sgpr23, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr13_vgpr14:0x0000000000000003, $vgpr9_vgpr10_vgpr11_vgpr12:0x00000000000000FF, $vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8:0x0000000000003F00
; GCN-NEXT: {{ $}}
; GCN-NEXT: renamable $sgpr18 = S_ADD_U32 renamable $sgpr14, -1, implicit-def dead $scc
; GCN-NEXT: renamable $sgpr35 = S_MOV_B32 0
@@ -3681,13 +3681,13 @@ body: |
; GCN-NEXT: {{ $}}
; GCN-NEXT: bb.47.Flow66:
; GCN-NEXT: successors: %bb.45(0x80000000)
- ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr17, $sgpr33, $sgpr34, $sgpr35, $sgpr36, $sgpr37, $sgpr38, $sgpr39, $sgpr40, $sgpr41, $sgpr42, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr22_sgpr23, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr28_sgpr29:0x000000000000000F, $sgpr30_sgpr31:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr17, $sgpr33, $sgpr34, $sgpr35, $sgpr36, $sgpr37, $sgpr38, $sgpr39, $sgpr40, $sgpr41, $sgpr42, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr22_sgpr23, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr28_sgpr29:0x000000000000000F, $sgpr30_sgpr31:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr13_vgpr14:0x0000000000000003, $vgpr9_vgpr10_vgpr11_vgpr12:0x00000000000000FF, $vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8:0x0000000000003F00
; GCN-NEXT: {{ $}}
; GCN-NEXT: S_BRANCH %bb.45
; GCN-NEXT: {{ $}}
; GCN-NEXT: bb.48 (%ir-block.242):
; GCN-NEXT: successors: %bb.50(0x30000000), %bb.51(0x50000000)
- ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $sgpr35, $sgpr36, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x000000000000000F, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr22_sgpr23, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $sgpr35, $sgpr36, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x000000000000000F, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr22_sgpr23, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr13_vgpr14:0x0000000000000003, $vgpr9_vgpr10_vgpr11_vgpr12:0x00000000000000FF, $vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8:0x0000000000003F00
; GCN-NEXT: {{ $}}
; GCN-NEXT: renamable $sgpr20_sgpr21 = nuw S_LSHL_B64 1, renamable $sgpr14, implicit-def dead $scc
; GCN-NEXT: renamable $sgpr37 = S_MOV_B32 0
@@ -3712,13 +3712,13 @@ body: |
; GCN-NEXT: {{ $}}
; GCN-NEXT: bb.49.Flow67:
; GCN-NEXT: successors: %bb.47(0x80000000)
- ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr17, $sgpr33, $sgpr34, $sgpr35, $sgpr36, $sgpr37, $sgpr38, $sgpr39, $sgpr40, $sgpr41, $sgpr42, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr22_sgpr23, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr28_sgpr29:0x000000000000000F, $sgpr30_sgpr31:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr17, $sgpr33, $sgpr34, $sgpr35, $sgpr36, $sgpr37, $sgpr38, $sgpr39, $sgpr40, $sgpr41, $sgpr42, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr22_sgpr23, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr28_sgpr29:0x000000000000000F, $sgpr30_sgpr31:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr13_vgpr14:0x0000000000000003, $vgpr9_vgpr10_vgpr11_vgpr12:0x00000000000000FF, $vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8:0x0000000000003F00
; GCN-NEXT: {{ $}}
; GCN-NEXT: S_BRANCH %bb.47
; GCN-NEXT: {{ $}}
; GCN-NEXT: bb.50 (%ir-block.258):
; GCN-NEXT: successors: %bb.52(0x30000000), %bb.53(0x50000000)
- ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $sgpr35, $sgpr36, $sgpr37, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x000000000000000F, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr22_sgpr23, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $sgpr35, $sgpr36, $sgpr37, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x000000000000000F, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr22_sgpr23, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr13_vgpr14:0x0000000000000003, $vgpr9_vgpr10_vgpr11_vgpr12:0x00000000000000FF, $vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8:0x0000000000003F00
; GCN-NEXT: {{ $}}
; GCN-NEXT: renamable $sgpr20 = S_ADD_U32 renamable $sgpr14, 1, implicit-def dead $scc
; GCN-NEXT: renamable $sgpr24_sgpr25 = nuw S_LSHL_B64 1, renamable $sgpr20, implicit-def dead $scc
@@ -3742,13 +3742,13 @@ body: |
; GCN-NEXT: {{ $}}
; GCN-NEXT: bb.51.Flow68:
; GCN-NEXT: successors: %bb.49(0x80000000)
- ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr17, $sgpr33, $sgpr34, $sgpr35, $sgpr36, $sgpr37, $sgpr38, $sgpr39, $sgpr40, $sgpr41, $sgpr42, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr22_sgpr23, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr28_sgpr29:0x000000000000000F, $sgpr30_sgpr31:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr17, $sgpr33, $sgpr34, $sgpr35, $sgpr36, $sgpr37, $sgpr38, $sgpr39, $sgpr40, $sgpr41, $sgpr42, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr22_sgpr23, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr28_sgpr29:0x000000000000000F, $sgpr30_sgpr31:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr13_vgpr14:0x0000000000000003, $vgpr9_vgpr10_vgpr11_vgpr12:0x00000000000000FF, $vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8:0x0000000000003F00
; GCN-NEXT: {{ $}}
; GCN-NEXT: S_BRANCH %bb.49
; GCN-NEXT: {{ $}}
; GCN-NEXT: bb.52 (%ir-block.274):
; GCN-NEXT: successors: %bb.54(0x30000000), %bb.55(0x50000000)
- ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $sgpr35, $sgpr36, $sgpr37, $sgpr39, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x000000000000000F, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr22_sgpr23, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $sgpr35, $sgpr36, $sgpr37, $sgpr39, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x000000000000000F, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr22_sgpr23, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr13_vgpr14:0x0000000000000003, $vgpr9_vgpr10_vgpr11_vgpr12:0x00000000000000FF, $vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8:0x0000000000003F00
; GCN-NEXT: {{ $}}
; GCN-NEXT: renamable $sgpr24 = S_ADD_U32 renamable $sgpr14, 2, implicit-def dead $scc
; GCN-NEXT: renamable $sgpr26_sgpr27 = nuw S_LSHL_B64 1, renamable $sgpr24, implicit-def dead $scc
@@ -3770,13 +3770,13 @@ body: |
; GCN-NEXT: {{ $}}
; GCN-NEXT: bb.53.Flow69:
; GCN-NEXT: successors: %bb.51(0x80000000)
- ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr17, $sgpr33, $sgpr34, $sgpr35, $sgpr36, $sgpr37, $sgpr38, $sgpr39, $sgpr40, $sgpr41, $sgpr42, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr22_sgpr23, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr28_sgpr29:0x000000000000000F, $sgpr30_sgpr31:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr17, $sgpr33, $sgpr34, $sgpr35, $sgpr36, $sgpr37, $sgpr38, $sgpr39, $sgpr40, $sgpr41, $sgpr42, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr22_sgpr23, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr28_sgpr29:0x000000000000000F, $sgpr30_sgpr31:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr13_vgpr14:0x0000000000000003, $vgpr9_vgpr10_vgpr11_vgpr12:0x00000000000000FF, $vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8:0x0000000000003F00
; GCN-NEXT: {{ $}}
; GCN-NEXT: S_BRANCH %bb.51
; GCN-NEXT: {{ $}}
; GCN-NEXT: bb.54 (%ir-block.288):
; GCN-NEXT: successors: %bb.56(0x30000000), %bb.57(0x50000000)
- ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $sgpr35, $sgpr36, $sgpr37, $sgpr39, $sgpr40, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x000000000000000F, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr22_sgpr23, $sgpr24_sgpr25:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $sgpr35, $sgpr36, $sgpr37, $sgpr39, $sgpr40, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x000000000000000F, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr22_sgpr23, $sgpr24_sgpr25:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr13_vgpr14:0x0000000000000003, $vgpr9_vgpr10_vgpr11_vgpr12:0x00000000000000FF, $vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8:0x0000000000003F00
; GCN-NEXT: {{ $}}
; GCN-NEXT: renamable $sgpr26 = S_ADD_U32 renamable $sgpr14, 3, implicit-def dead $scc
; GCN-NEXT: renamable $sgpr28_sgpr29 = nuw S_LSHL_B64 1, renamable $sgpr26, implicit-def dead $scc
@@ -3796,13 +3796,13 @@ body: |
; GCN-NEXT: {{ $}}
; GCN-NEXT: bb.55.Flow70:
; GCN-NEXT: successors: %bb.53(0x80000000)
- ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr17, $sgpr33, $sgpr34, $sgpr35, $sgpr36, $sgpr37, $sgpr38, $sgpr39, $sgpr40, $sgpr41, $sgpr42, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr22_sgpr23, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr28_sgpr29:0x000000000000000F, $sgpr30_sgpr31:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr17, $sgpr33, $sgpr34, $sgpr35, $sgpr36, $sgpr37, $sgpr38, $sgpr39, $sgpr40, $sgpr41, $sgpr42, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr22_sgpr23, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr28_sgpr29:0x000000000000000F, $sgpr30_sgpr31:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr13_vgpr14:0x0000000000000003, $vgpr9_vgpr10_vgpr11_vgpr12:0x00000000000000FF, $vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8:0x0000000000003F00
; GCN-NEXT: {{ $}}
; GCN-NEXT: S_BRANCH %bb.53
; GCN-NEXT: {{ $}}
; GCN-NEXT: bb.56 (%ir-block.300):
; GCN-NEXT: successors: %bb.58(0x30000000), %bb.93(0x50000000)
- ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $sgpr35, $sgpr36, $sgpr37, $sgpr39, $sgpr40, $sgpr41, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x000000000000000F, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr22_sgpr23, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $sgpr35, $sgpr36, $sgpr37, $sgpr39, $sgpr40, $sgpr41, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x000000000000000F, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr22_sgpr23, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr13_vgpr14:0x0000000000000003, $vgpr9_vgpr10_vgpr11_vgpr12:0x00000000000000FF, $vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8:0x0000000000003F00
; GCN-NEXT: {{ $}}
; GCN-NEXT: renamable $sgpr30 = S_ADD_U32 renamable $sgpr14, 4, implicit-def dead $scc
; GCN-NEXT: renamable $sgpr28_sgpr29 = nuw S_LSHL_B64 1, renamable $sgpr30, implicit-def dead $scc
@@ -3819,13 +3819,13 @@ body: |
; GCN-NEXT: {{ $}}
; GCN-NEXT: bb.57.Flow71:
; GCN-NEXT: successors: %bb.55(0x80000000)
- ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr17, $sgpr33, $sgpr34, $sgpr35, $sgpr36, $sgpr37, $sgpr38, $sgpr39, $sgpr40, $sgpr41, $sgpr42, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr22_sgpr23, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr28_sgpr29:0x000000000000000F, $sgpr30_sgpr31:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr17, $sgpr33, $sgpr34, $sgpr35, $sgpr36, $sgpr37, $sgpr38, $sgpr39, $sgpr40, $sgpr41, $sgpr42, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr22_sgpr23, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr28_sgpr29:0x000000000000000F, $sgpr30_sgpr31:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr13_vgpr14:0x0000000000000003, $vgpr9_vgpr10_vgpr11_vgpr12:0x00000000000000FF, $vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8:0x0000000000003F00
; GCN-NEXT: {{ $}}
; GCN-NEXT: S_BRANCH %bb.55
; GCN-NEXT: {{ $}}
; GCN-NEXT: bb.58 (%ir-block.310):
; GCN-NEXT: successors: %bb.93(0x80000000)
- ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $sgpr35, $sgpr36, $sgpr37, $sgpr39, $sgpr40, $sgpr41, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x000000000000000F, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr22_sgpr23, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr30_sgpr31:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $sgpr35, $sgpr36, $sgpr37, $sgpr39, $sgpr40, $sgpr41, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x000000000000000F, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr22_sgpr23, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr30_sgpr31:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr13_vgpr14:0x0000000000000003, $vgpr9_vgpr10_vgpr11_vgpr12:0x00000000000000FF, $vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8:0x0000000000003F00
; GCN-NEXT: {{ $}}
; GCN-NEXT: renamable $sgpr28 = S_ADD_U32 renamable $sgpr14, 8, implicit-def $scc
; GCN-NEXT: renamable $sgpr17 = COPY $scc
@@ -3839,7 +3839,7 @@ body: |
; GCN-NEXT: {{ $}}
; GCN-NEXT: bb.59.Flow62:
; GCN-NEXT: successors: %bb.60(0x40000000), %bb.80(0x40000000)
- ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr15, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr16_sgpr17:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr15, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr16_sgpr17:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr13_vgpr14:0x0000000000000003, $vgpr9_vgpr10_vgpr11_vgpr12:0x00000000000000FF, $vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8:0x0000000000003F00
; GCN-NEXT: {{ $}}
; GCN-NEXT: renamable $sgpr14 = S_XOR_B32 killed renamable $sgpr15, 1, implicit-def dead $scc
; GCN-NEXT: renamable $sgpr14 = S_AND_B32 killed renamable $sgpr14, 1, implicit-def dead $scc
@@ -3849,14 +3849,14 @@ body: |
; GCN-NEXT: {{ $}}
; GCN-NEXT: bb.60..splitsplitsplitsplitsplitsplitsplit_crit_edge:
; GCN-NEXT: successors: %bb.80(0x80000000)
- ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr16_sgpr17:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr16_sgpr17:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr13_vgpr14:0x0000000000000003, $vgpr9_vgpr10_vgpr11_vgpr12:0x00000000000000FF, $vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8:0x0000000000003F00
; GCN-NEXT: {{ $}}
; GCN-NEXT: renamable $sgpr7 = COPY killed renamable $sgpr16
; GCN-NEXT: S_BRANCH %bb.80
; GCN-NEXT: {{ $}}
; GCN-NEXT: bb.61.Flow60:
; GCN-NEXT: successors: %bb.62(0x40000000), %bb.79(0x40000000)
- ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr15, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr15, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr13_vgpr14:0x0000000000000003, $vgpr9_vgpr10_vgpr11_vgpr12:0x00000000000000FF, $vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8:0x0000000000003F00
; GCN-NEXT: {{ $}}
; GCN-NEXT: renamable $sgpr14 = S_XOR_B32 killed renamable $sgpr15, 1, implicit-def dead $scc
; GCN-NEXT: renamable $sgpr14 = S_AND_B32 killed renamable $sgpr14, 1, implicit-def dead $scc
@@ -3866,14 +3866,14 @@ body: |
; GCN-NEXT: {{ $}}
; GCN-NEXT: bb.62..splitsplitsplitsplitsplitsplit_crit_edge:
; GCN-NEXT: successors: %bb.79(0x80000000)
- ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr13_vgpr14:0x0000000000000003, $vgpr9_vgpr10_vgpr11_vgpr12:0x00000000000000FF, $vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8:0x0000000000003F00
; GCN-NEXT: {{ $}}
; GCN-NEXT: renamable $sgpr7 = COPY killed renamable $sgpr18
; GCN-NEXT: S_BRANCH %bb.79
; GCN-NEXT: {{ $}}
; GCN-NEXT: bb.63.Flow58:
; GCN-NEXT: successors: %bb.64(0x40000000), %bb.78(0x40000000)
- ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr15, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr15, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr13_vgpr14:0x0000000000000003, $vgpr9_vgpr10_vgpr11_vgpr12:0x00000000000000FF, $vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8:0x0000000000003F00
; GCN-NEXT: {{ $}}
; GCN-NEXT: renamable $sgpr15 = S_XOR_B32 killed renamable $sgpr15, 1, implicit-def dead $scc
; GCN-NEXT: renamable $sgpr15 = S_AND_B32 killed renamable $sgpr15, 1, implicit-def dead $scc
@@ -3883,14 +3883,14 @@ body: |
; GCN-NEXT: {{ $}}
; GCN-NEXT: bb.64..splitsplitsplitsplitsplit_crit_edge:
; GCN-NEXT: successors: %bb.78(0x80000000)
- ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr13_vgpr14:0x0000000000000003, $vgpr9_vgpr10_vgpr11_vgpr12:0x00000000000000FF, $vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8:0x0000000000003F00
; GCN-NEXT: {{ $}}
; GCN-NEXT: renamable $sgpr7 = COPY killed renamable $sgpr14
; GCN-NEXT: S_BRANCH %bb.78
; GCN-NEXT: {{ $}}
; GCN-NEXT: bb.65.Flow56:
; GCN-NEXT: successors: %bb.66(0x40000000), %bb.77(0x40000000)
- ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr15, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr15, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr13_vgpr14:0x0000000000000003, $vgpr9_vgpr10_vgpr11_vgpr12:0x00000000000000FF, $vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8:0x0000000000003F00
; GCN-NEXT: {{ $}}
; GCN-NEXT: renamable $sgpr15 = S_XOR_B32 killed renamable $sgpr15, 1, implicit-def dead $scc
; GCN-NEXT: renamable $sgpr15 = S_AND_B32 killed renamable $sgpr15, 1, implicit-def dead $scc
@@ -3900,14 +3900,14 @@ body: |
; GCN-NEXT: {{ $}}
; GCN-NEXT: bb.66..splitsplitsplitsplit_crit_edge:
; GCN-NEXT: successors: %bb.77(0x80000000)
- ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr13_vgpr14:0x0000000000000003, $vgpr9_vgpr10_vgpr11_vgpr12:0x00000000000000FF, $vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8:0x0000000000003F00
; GCN-NEXT: {{ $}}
; GCN-NEXT: renamable $sgpr7 = COPY killed renamable $sgpr20
; GCN-NEXT: S_BRANCH %bb.77
; GCN-NEXT: {{ $}}
; GCN-NEXT: bb.67.Flow54:
; GCN-NEXT: successors: %bb.68(0x40000000), %bb.76(0x40000000)
- ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr15, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr15, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr13_vgpr14:0x0000000000000003, $vgpr9_vgpr10_vgpr11_vgpr12:0x00000000000000FF, $vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8:0x0000000000003F00
; GCN-NEXT: {{ $}}
; GCN-NEXT: renamable $sgpr15 = S_XOR_B32 killed renamable $sgpr15, 1, implicit-def dead $scc
; GCN-NEXT: renamable $sgpr15 = S_AND_B32 killed renamable $sgpr15, 1, implicit-def dead $scc
@@ -3917,14 +3917,14 @@ body: |
; GCN-NEXT: {{ $}}
; GCN-NEXT: bb.68..splitsplitsplit_crit_edge:
; GCN-NEXT: successors: %bb.76(0x80000000)
- ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr13_vgpr14:0x0000000000000003, $vgpr9_vgpr10_vgpr11_vgpr12:0x00000000000000FF, $vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8:0x0000000000003F00
; GCN-NEXT: {{ $}}
; GCN-NEXT: renamable $sgpr7 = COPY killed renamable $sgpr24
; GCN-NEXT: S_BRANCH %bb.76
; GCN-NEXT: {{ $}}
; GCN-NEXT: bb.69.Flow52:
; GCN-NEXT: successors: %bb.70(0x40000000), %bb.75(0x40000000)
- ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr15, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr15, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr13_vgpr14:0x0000000000000003, $vgpr9_vgpr10_vgpr11_vgpr12:0x00000000000000FF, $vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8:0x0000000000003F00
; GCN-NEXT: {{ $}}
; GCN-NEXT: renamable $sgpr15 = S_XOR_B32 killed renamable $sgpr15, 1, implicit-def dead $scc
; GCN-NEXT: renamable $sgpr15 = S_AND_B32 killed renamable $sgpr15, 1, implicit-def dead $scc
@@ -3934,21 +3934,21 @@ body: |
; GCN-NEXT: {{ $}}
; GCN-NEXT: bb.70..splitsplit_crit_edge:
; GCN-NEXT: successors: %bb.75(0x80000000)
- ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr13_vgpr14:0x0000000000000003, $vgpr9_vgpr10_vgpr11_vgpr12:0x00000000000000FF, $vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8:0x0000000000003F00
; GCN-NEXT: {{ $}}
; GCN-NEXT: renamable $sgpr7 = COPY killed renamable $sgpr26
; GCN-NEXT: S_BRANCH %bb.75
; GCN-NEXT: {{ $}}
; GCN-NEXT: bb.71..split_crit_edge:
; GCN-NEXT: successors: %bb.74(0x80000000)
- ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr30_sgpr31:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr30_sgpr31:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr13_vgpr14:0x0000000000000003, $vgpr9_vgpr10_vgpr11_vgpr12:0x00000000000000FF, $vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8:0x0000000000003F00
; GCN-NEXT: {{ $}}
; GCN-NEXT: renamable $sgpr7 = COPY killed renamable $sgpr30
; GCN-NEXT: S_BRANCH %bb.74
; GCN-NEXT: {{ $}}
; GCN-NEXT: bb.72.Flow64:
; GCN-NEXT: successors: %bb.73(0x40000000), %bb.81(0x40000000)
- ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr15, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr15, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr13_vgpr14:0x0000000000000003, $vgpr9_vgpr10_vgpr11_vgpr12:0x00000000000000FF, $vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8:0x0000000000003F00
; GCN-NEXT: {{ $}}
; GCN-NEXT: renamable $sgpr14 = S_XOR_B32 killed renamable $sgpr15, 1, implicit-def dead $scc
; GCN-NEXT: renamable $sgpr14 = S_AND_B32 killed renamable $sgpr14, 1, implicit-def dead $scc
@@ -3958,89 +3958,89 @@ body: |
; GCN-NEXT: {{ $}}
; GCN-NEXT: bb.73.._crit_edge:
; GCN-NEXT: successors: %bb.81(0x80000000)
- ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr13_vgpr14:0x0000000000000003, $vgpr9_vgpr10_vgpr11_vgpr12:0x00000000000000FF, $vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8:0x0000000000003F00
; GCN-NEXT: {{ $}}
; GCN-NEXT: renamable $sgpr7 = COPY killed renamable $sgpr34
; GCN-NEXT: S_BRANCH %bb.81
; GCN-NEXT: {{ $}}
; GCN-NEXT: bb.74.Flow:
; GCN-NEXT: successors: %bb.69(0x80000000)
- ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr13_vgpr14:0x0000000000000003, $vgpr9_vgpr10_vgpr11_vgpr12:0x00000000000000FF, $vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8:0x0000000000003F00
; GCN-NEXT: {{ $}}
; GCN-NEXT: renamable $sgpr15 = S_MOV_B32 0
; GCN-NEXT: S_BRANCH %bb.69
; GCN-NEXT: {{ $}}
; GCN-NEXT: bb.75.Flow53:
; GCN-NEXT: successors: %bb.67(0x80000000)
- ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr13_vgpr14:0x0000000000000003, $vgpr9_vgpr10_vgpr11_vgpr12:0x00000000000000FF, $vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8:0x0000000000003F00
; GCN-NEXT: {{ $}}
; GCN-NEXT: renamable $sgpr15 = S_MOV_B32 0
; GCN-NEXT: S_BRANCH %bb.67
; GCN-NEXT: {{ $}}
; GCN-NEXT: bb.76.Flow55:
; GCN-NEXT: successors: %bb.65(0x80000000)
- ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr13_vgpr14:0x0000000000000003, $vgpr9_vgpr10_vgpr11_vgpr12:0x00000000000000FF, $vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8:0x0000000000003F00
; GCN-NEXT: {{ $}}
; GCN-NEXT: renamable $sgpr15 = S_MOV_B32 0
; GCN-NEXT: S_BRANCH %bb.65
; GCN-NEXT: {{ $}}
; GCN-NEXT: bb.77.Flow57:
; GCN-NEXT: successors: %bb.63(0x80000000)
- ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr13_vgpr14:0x0000000000000003, $vgpr9_vgpr10_vgpr11_vgpr12:0x00000000000000FF, $vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8:0x0000000000003F00
; GCN-NEXT: {{ $}}
; GCN-NEXT: renamable $sgpr15 = S_MOV_B32 0
; GCN-NEXT: S_BRANCH %bb.63
; GCN-NEXT: {{ $}}
; GCN-NEXT: bb.78.Flow59:
; GCN-NEXT: successors: %bb.61(0x80000000)
- ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr13_vgpr14:0x0000000000000003, $vgpr9_vgpr10_vgpr11_vgpr12:0x00000000000000FF, $vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8:0x0000000000003F00
; GCN-NEXT: {{ $}}
; GCN-NEXT: renamable $sgpr15 = S_MOV_B32 0
; GCN-NEXT: S_BRANCH %bb.61
; GCN-NEXT: {{ $}}
; GCN-NEXT: bb.79.Flow61:
; GCN-NEXT: successors: %bb.59(0x80000000)
- ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr16_sgpr17:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr16_sgpr17:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr13_vgpr14:0x0000000000000003, $vgpr9_vgpr10_vgpr11_vgpr12:0x00000000000000FF, $vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8:0x0000000000003F00
; GCN-NEXT: {{ $}}
; GCN-NEXT: renamable $sgpr15 = S_MOV_B32 0
; GCN-NEXT: S_BRANCH %bb.59
; GCN-NEXT: {{ $}}
; GCN-NEXT: bb.80.Flow63:
; GCN-NEXT: successors: %bb.72(0x80000000)
- ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr13_vgpr14:0x0000000000000003, $vgpr9_vgpr10_vgpr11_vgpr12:0x00000000000000FF, $vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8:0x0000000000003F00
; GCN-NEXT: {{ $}}
; GCN-NEXT: renamable $sgpr15 = S_MOV_B32 0
; GCN-NEXT: S_BRANCH %bb.72
; GCN-NEXT: {{ $}}
; GCN-NEXT: bb.81 (%ir-block.332):
; GCN-NEXT: successors: %bb.42(0x80000000)
- ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr13_vgpr14:0x0000000000000003, $vgpr9_vgpr10_vgpr11_vgpr12:0x00000000000000FF, $vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8:0x0000000000003F00
; GCN-NEXT: {{ $}}
; GCN-NEXT: renamable $sgpr7 = S_LSHL_B32 killed renamable $sgpr7, 5, implicit-def dead $scc
- ; GCN-NEXT: renamable $vgpr2 = COPY renamable $sgpr7
+ ; GCN-NEXT: renamable $vgpr1 = COPY renamable $sgpr7
; GCN-NEXT: renamable $sgpr7 = S_OR_B32 killed renamable $sgpr7, 16, implicit-def dead $scc
- ; GCN-NEXT: renamable $sgpr14 = V_READFIRSTLANE_B32 $vgpr8, implicit $exec
- ; GCN-NEXT: renamable $vgpr3 = COPY killed renamable $sgpr7
- ; GCN-NEXT: renamable $vgpr12_vgpr13_vgpr14_vgpr15 = BUFFER_LOAD_DWORDX4_OFFEN killed renamable $vgpr2, renamable $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (<4 x s32>), align 1, addrspace 8)
- ; GCN-NEXT: renamable $sgpr15 = V_READFIRSTLANE_B32 $vgpr9, implicit $exec
- ; GCN-NEXT: renamable $sgpr16 = V_READFIRSTLANE_B32 $vgpr10, implicit $exec
- ; GCN-NEXT: renamable $sgpr17 = V_READFIRSTLANE_B32 killed $vgpr11, implicit $exec
- ; GCN-NEXT: renamable $vgpr7_vgpr8_vgpr9_vgpr10 = BUFFER_LOAD_DWORDX4_OFFEN killed renamable $vgpr3, killed renamable $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (<4 x s32>), align 1, addrspace 8)
- ; GCN-NEXT: renamable $sgpr0 = V_READFIRSTLANE_B32 $vgpr4, implicit $exec
- ; GCN-NEXT: renamable $sgpr1 = V_READFIRSTLANE_B32 $vgpr5, implicit $exec
- ; GCN-NEXT: renamable $sgpr2 = V_READFIRSTLANE_B32 killed $vgpr6, implicit $exec
- ; GCN-NEXT: renamable $sgpr3 = V_READFIRSTLANE_B32 killed $vgpr1, implicit $exec
- ; GCN-NEXT: renamable $sgpr18 = V_READFIRSTLANE_B32 $vgpr12, implicit $exec
- ; GCN-NEXT: renamable $sgpr19 = V_READFIRSTLANE_B32 $vgpr13, implicit $exec
- ; GCN-NEXT: renamable $sgpr20 = V_READFIRSTLANE_B32 $vgpr14, implicit $exec
- ; GCN-NEXT: renamable $sgpr21 = V_READFIRSTLANE_B32 killed $vgpr15, implicit $exec
- ; GCN-NEXT: renamable $sgpr22 = V_READFIRSTLANE_B32 $vgpr7, implicit $exec
- ; GCN-NEXT: renamable $sgpr23 = V_READFIRSTLANE_B32 $vgpr8, implicit $exec
- ; GCN-NEXT: S_CMP_EQ_U64 killed renamable $sgpr18_sgpr19, killed renamable $sgpr14_sgpr15, implicit-def $scc
; GCN-NEXT: renamable $sgpr14 = V_READFIRSTLANE_B32 $vgpr9, implicit $exec
+ ; GCN-NEXT: renamable $vgpr8 = COPY killed renamable $sgpr7
+ ; GCN-NEXT: renamable $vgpr1_vgpr2_vgpr3_vgpr4 = BUFFER_LOAD_DWORDX4_OFFEN killed renamable $vgpr1, renamable $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (<4 x s32>), align 1, addrspace 8)
+ ; GCN-NEXT: renamable $sgpr15 = V_READFIRSTLANE_B32 $vgpr10, implicit $exec
+ ; GCN-NEXT: renamable $sgpr16 = V_READFIRSTLANE_B32 $vgpr11, implicit $exec
+ ; GCN-NEXT: renamable $sgpr17 = V_READFIRSTLANE_B32 killed $vgpr12, implicit $exec
+ ; GCN-NEXT: renamable $vgpr8_vgpr9_vgpr10_vgpr11 = BUFFER_LOAD_DWORDX4_OFFEN killed renamable $vgpr8, killed renamable $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (<4 x s32>), align 1, addrspace 8)
+ ; GCN-NEXT: renamable $sgpr0 = V_READFIRSTLANE_B32 $vgpr5, implicit $exec
+ ; GCN-NEXT: renamable $sgpr1 = V_READFIRSTLANE_B32 $vgpr6, implicit $exec
+ ; GCN-NEXT: renamable $sgpr2 = V_READFIRSTLANE_B32 killed $vgpr7, implicit $exec
+ ; GCN-NEXT: renamable $sgpr3 = V_READFIRSTLANE_B32 killed $vgpr13, implicit $exec
+ ; GCN-NEXT: renamable $sgpr18 = V_READFIRSTLANE_B32 $vgpr1, implicit $exec
+ ; GCN-NEXT: renamable $sgpr19 = V_READFIRSTLANE_B32 $vgpr2, implicit $exec
+ ; GCN-NEXT: renamable $sgpr20 = V_READFIRSTLANE_B32 $vgpr3, implicit $exec
+ ; GCN-NEXT: renamable $sgpr21 = V_READFIRSTLANE_B32 killed $vgpr4, implicit $exec
+ ; GCN-NEXT: renamable $sgpr22 = V_READFIRSTLANE_B32 $vgpr8, implicit $exec
+ ; GCN-NEXT: renamable $sgpr23 = V_READFIRSTLANE_B32 $vgpr9, implicit $exec
+ ; GCN-NEXT: S_CMP_EQ_U64 killed renamable $sgpr18_sgpr19, killed renamable $sgpr14_sgpr15, implicit-def $scc
+ ; GCN-NEXT: renamable $sgpr14 = V_READFIRSTLANE_B32 $vgpr10, implicit $exec
; GCN-NEXT: renamable $sgpr7 = S_CSELECT_B32 1, 0, implicit $scc
; GCN-NEXT: S_CMP_EQ_U64 killed renamable $sgpr20_sgpr21, killed renamable $sgpr16_sgpr17, implicit-def $scc
- ; GCN-NEXT: renamable $sgpr15 = V_READFIRSTLANE_B32 killed $vgpr10, implicit $exec
+ ; GCN-NEXT: renamable $sgpr15 = V_READFIRSTLANE_B32 killed $vgpr11, implicit $exec
; GCN-NEXT: renamable $sgpr16 = S_CSELECT_B32 1, 0, implicit $scc
; GCN-NEXT: S_CMP_EQ_U64 killed renamable $sgpr22_sgpr23, killed renamable $sgpr0_sgpr1, implicit-def $scc
; GCN-NEXT: renamable $sgpr0 = S_CSELECT_B32 1, 0, implicit $scc
@@ -4054,7 +4054,7 @@ body: |
; GCN-NEXT: renamable $sgpr0 = S_CSELECT_B32 1, 0, implicit $scc
; GCN-NEXT: renamable $sgpr0 = S_LSHL_B32 killed renamable $sgpr0, 1, implicit-def dead $scc
; GCN-NEXT: renamable $sgpr0 = S_OR_B32 killed renamable $sgpr0, killed renamable $sgpr33, implicit-def dead $scc
- ; GCN-NEXT: renamable $vgpr3 = COPY killed renamable $sgpr0
+ ; GCN-NEXT: renamable $vgpr15 = COPY killed renamable $sgpr0
; GCN-NEXT: S_BRANCH %bb.42
; GCN-NEXT: {{ $}}
; GCN-NEXT: bb.82 (%ir-block.363):
@@ -4062,14 +4062,14 @@ body: |
; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr0_sgpr1_sgpr2_sgpr3
; GCN-NEXT: {{ $}}
; GCN-NEXT: renamable $sgpr14 = S_OR_B32 renamable $sgpr33, 2, implicit-def dead $scc
- ; GCN-NEXT: renamable $vgpr3 = COPY killed renamable $sgpr14
- ; GCN-NEXT: renamable $vgpr8_vgpr9 = IMPLICIT_DEF
- ; GCN-NEXT: renamable $vgpr1_vgpr2 = IMPLICIT_DEF
- ; GCN-NEXT: renamable $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $vgpr15 = COPY killed renamable $sgpr14
+ ; GCN-NEXT: renamable $vgpr9_vgpr10 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $vgpr13_vgpr14 = IMPLICIT_DEF
+ ; GCN-NEXT: renamable $vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8 = IMPLICIT_DEF
; GCN-NEXT: S_BRANCH %bb.40
; GCN-NEXT: {{ $}}
; GCN-NEXT: bb.83 (%ir-block.365):
- ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $vgpr0, $vgpr3, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $vgpr0, $vgpr15, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11
; GCN-NEXT: {{ $}}
; GCN-NEXT: renamable $sgpr8_sgpr9 = S_LOAD_DWORDX2_IMM killed renamable $sgpr8_sgpr9, 0, 0 :: (invariant load (<2 x s32>) from %ir.numWorkgroupsPtr, align 16, addrspace 4)
; GCN-NEXT: renamable $vgpr1 = COPY killed renamable $sgpr5
@@ -4080,7 +4080,7 @@ body: |
; GCN-NEXT: renamable $sgpr4 = S_LSHL_B32 killed renamable $sgpr4, 6, implicit-def dead $scc
; GCN-NEXT: renamable $vgpr0 = V_ADD_U32_e64 killed $sgpr4, killed $vgpr0, 0, implicit $exec
; GCN-NEXT: renamable $vgpr0 = V_ADD_LSHL_U32_e64 killed $vgpr1, killed $vgpr0, 2, implicit $exec
- ; GCN-NEXT: BUFFER_STORE_DWORD_OFFEN_exact killed renamable $vgpr3, killed renamable $vgpr0, killed renamable $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec :: (dereferenceable store (s32), align 1, addrspace 8)
+ ; GCN-NEXT: BUFFER_STORE_DWORD_OFFEN_exact killed renamable $vgpr15, killed renamable $vgpr0, killed renamable $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec :: (dereferenceable store (s32), align 1, addrspace 8)
; GCN-NEXT: S_ENDPGM 0
; GCN-NEXT: {{ $}}
; GCN-NEXT: bb.84.Flow96:
@@ -4185,14 +4185,14 @@ body: |
; GCN-NEXT: {{ $}}
; GCN-NEXT: bb.93.Flow72:
; GCN-NEXT: successors: %bb.57(0x80000000)
- ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr17, $sgpr33, $sgpr34, $sgpr35, $sgpr36, $sgpr37, $sgpr38, $sgpr39, $sgpr40, $sgpr41, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr22_sgpr23, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr28_sgpr29:0x000000000000000F, $sgpr30_sgpr31:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr17, $sgpr33, $sgpr34, $sgpr35, $sgpr36, $sgpr37, $sgpr38, $sgpr39, $sgpr40, $sgpr41, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr22_sgpr23, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr28_sgpr29:0x000000000000000F, $sgpr30_sgpr31:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr13_vgpr14:0x0000000000000003, $vgpr9_vgpr10_vgpr11_vgpr12:0x00000000000000FF, $vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8:0x0000000000003F00
; GCN-NEXT: {{ $}}
; GCN-NEXT: renamable $sgpr42 = S_MOV_B32 0
; GCN-NEXT: S_BRANCH %bb.57
; GCN-NEXT: {{ $}}
; GCN-NEXT: bb.94.loop.exit.guard37:
; GCN-NEXT: successors: %bb.95(0x40000000), %bb.72(0x40000000)
- ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $sgpr35, $sgpr36, $sgpr37, $sgpr38, $sgpr39, $sgpr40, $sgpr41, $sgpr42, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr30_sgpr31:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $sgpr35, $sgpr36, $sgpr37, $sgpr38, $sgpr39, $sgpr40, $sgpr41, $sgpr42, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr30_sgpr31:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr13_vgpr14:0x0000000000000003, $vgpr9_vgpr10_vgpr11_vgpr12:0x00000000000000FF, $vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8:0x0000000000003F00
; GCN-NEXT: {{ $}}
; GCN-NEXT: renamable $sgpr15 = S_XOR_B32 killed renamable $sgpr36, 1, implicit-def dead $scc
; GCN-NEXT: renamable $sgpr15 = S_XOR_B32 killed renamable $sgpr15, 1, implicit-def dead $scc
@@ -4204,7 +4204,7 @@ body: |
; GCN-NEXT: {{ $}}
; GCN-NEXT: bb.95.loop.exit.guard38:
; GCN-NEXT: successors: %bb.96(0x40000000), %bb.59(0x40000000)
- ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $sgpr35, $sgpr37, $sgpr38, $sgpr39, $sgpr40, $sgpr41, $sgpr42, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr30_sgpr31:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $sgpr35, $sgpr37, $sgpr38, $sgpr39, $sgpr40, $sgpr41, $sgpr42, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr30_sgpr31:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr13_vgpr14:0x0000000000000003, $vgpr9_vgpr10_vgpr11_vgpr12:0x00000000000000FF, $vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8:0x0000000000003F00
; GCN-NEXT: {{ $}}
; GCN-NEXT: renamable $sgpr15 = S_XOR_B32 killed renamable $sgpr35, 1, implicit-def dead $scc
; GCN-NEXT: renamable $sgpr15 = S_XOR_B32 killed renamable $sgpr15, 1, implicit-def dead $scc
@@ -4216,7 +4216,7 @@ body: |
; GCN-NEXT: {{ $}}
; GCN-NEXT: bb.96.loop.exit.guard39:
; GCN-NEXT: successors: %bb.97(0x40000000), %bb.61(0x40000000)
- ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $sgpr37, $sgpr38, $sgpr39, $sgpr40, $sgpr41, $sgpr42, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr30_sgpr31:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $sgpr37, $sgpr38, $sgpr39, $sgpr40, $sgpr41, $sgpr42, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr30_sgpr31:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr13_vgpr14:0x0000000000000003, $vgpr9_vgpr10_vgpr11_vgpr12:0x00000000000000FF, $vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8:0x0000000000003F00
; GCN-NEXT: {{ $}}
; GCN-NEXT: renamable $sgpr15 = S_XOR_B32 killed renamable $sgpr37, 1, implicit-def dead $scc
; GCN-NEXT: renamable $sgpr15 = S_XOR_B32 killed renamable $sgpr15, 1, implicit-def dead $scc
@@ -4228,7 +4228,7 @@ body: |
; GCN-NEXT: {{ $}}
; GCN-NEXT: bb.97.loop.exit.guard40:
; GCN-NEXT: successors: %bb.98(0x40000000), %bb.63(0x40000000)
- ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $sgpr38, $sgpr39, $sgpr40, $sgpr41, $sgpr42, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr30_sgpr31:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $sgpr38, $sgpr39, $sgpr40, $sgpr41, $sgpr42, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr30_sgpr31:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr13_vgpr14:0x0000000000000003, $vgpr9_vgpr10_vgpr11_vgpr12:0x00000000000000FF, $vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8:0x0000000000003F00
; GCN-NEXT: {{ $}}
; GCN-NEXT: renamable $sgpr15 = S_XOR_B32 killed renamable $sgpr39, 1, implicit-def dead $scc
; GCN-NEXT: renamable $sgpr15 = S_XOR_B32 killed renamable $sgpr15, 1, implicit-def dead $scc
@@ -4240,7 +4240,7 @@ body: |
; GCN-NEXT: {{ $}}
; GCN-NEXT: bb.98.loop.exit.guard41:
; GCN-NEXT: successors: %bb.99(0x40000000), %bb.65(0x40000000)
- ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $sgpr38, $sgpr40, $sgpr41, $sgpr42, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr30_sgpr31:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $sgpr38, $sgpr40, $sgpr41, $sgpr42, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr30_sgpr31:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr13_vgpr14:0x0000000000000003, $vgpr9_vgpr10_vgpr11_vgpr12:0x00000000000000FF, $vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8:0x0000000000003F00
; GCN-NEXT: {{ $}}
; GCN-NEXT: renamable $sgpr15 = S_XOR_B32 killed renamable $sgpr40, 1, implicit-def dead $scc
; GCN-NEXT: renamable $sgpr15 = S_XOR_B32 killed renamable $sgpr15, 1, implicit-def dead $scc
@@ -4252,7 +4252,7 @@ body: |
; GCN-NEXT: {{ $}}
; GCN-NEXT: bb.99.loop.exit.guard42:
; GCN-NEXT: successors: %bb.100(0x40000000), %bb.67(0x40000000)
- ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $sgpr38, $sgpr41, $sgpr42, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr30_sgpr31:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $sgpr38, $sgpr41, $sgpr42, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr30_sgpr31:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr13_vgpr14:0x0000000000000003, $vgpr9_vgpr10_vgpr11_vgpr12:0x00000000000000FF, $vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8:0x0000000000003F00
; GCN-NEXT: {{ $}}
; GCN-NEXT: renamable $sgpr15 = S_XOR_B32 killed renamable $sgpr41, 1, implicit-def dead $scc
; GCN-NEXT: renamable $sgpr15 = S_XOR_B32 killed renamable $sgpr15, 1, implicit-def dead $scc
@@ -4264,7 +4264,7 @@ body: |
; GCN-NEXT: {{ $}}
; GCN-NEXT: bb.100.loop.exit.guard43:
; GCN-NEXT: successors: %bb.101(0x40000000), %bb.69(0x40000000)
- ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $sgpr38, $sgpr42, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr30_sgpr31:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $sgpr38, $sgpr42, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr30_sgpr31:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr13_vgpr14:0x0000000000000003, $vgpr9_vgpr10_vgpr11_vgpr12:0x00000000000000FF, $vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8:0x0000000000003F00
; GCN-NEXT: {{ $}}
; GCN-NEXT: renamable $sgpr15 = S_XOR_B32 killed renamable $sgpr42, 1, implicit-def dead $scc
; GCN-NEXT: renamable $sgpr15 = S_XOR_B32 killed renamable $sgpr15, 1, implicit-def dead $scc
@@ -4276,7 +4276,7 @@ body: |
; GCN-NEXT: {{ $}}
; GCN-NEXT: bb.101.loop.exit.guard44:
; GCN-NEXT: successors: %bb.71(0x40000000), %bb.74(0x40000000)
- ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $sgpr38, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr30_sgpr31:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr1_vgpr2:0x0000000000000003, $vgpr8_vgpr9_vgpr10_vgpr11:0x00000000000000FF, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7:0x0000000000003F00
+ ; GCN-NEXT: liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr7, $sgpr33, $sgpr34, $sgpr38, $vgpr0, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr14_sgpr15:0x0000000000000003, $sgpr16_sgpr17:0x0000000000000003, $sgpr18_sgpr19:0x0000000000000003, $sgpr20_sgpr21:0x0000000000000003, $sgpr24_sgpr25:0x0000000000000003, $sgpr26_sgpr27:0x0000000000000003, $sgpr30_sgpr31:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $vgpr13_vgpr14:0x0000000000000003, $vgpr9_vgpr10_vgpr11_vgpr12:0x00000000000000FF, $vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8:0x0000000000003F00
; GCN-NEXT: {{ $}}
; GCN-NEXT: renamable $sgpr15 = S_AND_B32 killed renamable $sgpr38, 1, implicit-def dead $scc
; GCN-NEXT: $scc = COPY killed renamable $sgpr15
More information about the llvm-commits
mailing list