[llvm] [AMDGPU] Fix soft clause hazards missed past the lookahead window (PR #220806)
Arseniy Obolenskiy via llvm-commits
llvm-commits at lists.llvm.org
Thu Oct 1 00:19:35 PDT 2026
https://github.com/aobolensk updated https://github.com/llvm/llvm-project/pull/220806
>From b3ae6613fb170459a83da11f7ef90eccc9bfab66 Mon Sep 17 00:00:00 2001
From: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: Thu, 3 Sep 2026 06:50:22 +0200
Subject: [PATCH 1/4] [AMDGPU] Fix soft clause hazards missed past the
lookahead window
The clause was rebuilt each time from a limited window of past instructions, so hazards further back went undetected
Track the clause as state instead, with no limit
---
.../lib/Target/AMDGPU/GCNHazardRecognizer.cpp | 67 +++++----
llvm/lib/Target/AMDGPU/GCNHazardRecognizer.h | 16 ++-
.../AMDGPU/GlobalISel/vni8-across-blocks.ll | 2 +
.../CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll | 7 +
.../CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll | 3 +
.../AMDGPU/break-smem-soft-clauses.mir | 129 ++++++++++++++++++
.../AMDGPU/break-vmem-soft-clauses.mir | 26 ++++
.../AMDGPU/gfx-callable-return-types.ll | 1 +
llvm/test/CodeGen/AMDGPU/hazard-in-bundle.mir | 22 +++
.../splitkit-getsubrangeformask-phi-extend.ll | 1 +
10 files changed, 244 insertions(+), 30 deletions(-)
diff --git a/llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp b/llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
index ee94d1ddd27b5..3c053619869b3 100644
--- a/llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
+++ b/llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
@@ -110,6 +110,7 @@ void GCNHazardRecognizer::Reset() {
EmittedInstrs.clear();
EmittedVALUInstrs.clear();
HasPendingWMMACoexecHazard = false;
+ resetClause();
if (isSchedulerMode())
schedulerReset();
}
@@ -676,6 +677,11 @@ void GCNHazardRecognizer::processBundle() {
insertNoopsInBundle(CurrCycleInstr, TII, WaitStates);
}
+ // Use MI, not CurrCycleInstr, which fixHazards may have reset to null.
+ if (WaitStates)
+ resetClause();
+ updateSoftClause(*MI);
+
// It’s unnecessary to track more than MaxLookAhead instructions. Since we
// include the bundled MI directly after, only add a maximum of
// (MaxLookAhead - 1) noops to EmittedInstrs.
@@ -802,6 +808,7 @@ unsigned GCNHazardRecognizer::PreEmitNoopsCommon(MachineInstr *MI) const {
void GCNHazardRecognizer::EmitNoop() {
EmittedInstrs.push_front(nullptr);
+ resetClause();
}
void GCNHazardRecognizer::AdvanceCycle() {
@@ -812,6 +819,10 @@ void GCNHazardRecognizer::AdvanceCycle() {
// emitting any instructions.
if (!CurrCycleInstr) {
EmittedInstrs.push_front(nullptr);
+ // Only reached in scheduler mode, where clause hazards are a heuristic
+ // and stalling cannot break one; reset here or it stalls forever.
+ assert(isSchedulerMode());
+ resetClause();
if (HasPendingWMMACoexecHazard)
EmittedVALUInstrs.push_front(nullptr);
@@ -825,6 +836,8 @@ void GCNHazardRecognizer::AdvanceCycle() {
return;
}
+ updateSoftClause(*CurrCycleInstr);
+
unsigned NumWaitStates = TII.getNumWaitStates(*CurrCycleInstr);
if (!NumWaitStates) {
CurrCycleInstr = nullptr;
@@ -1113,21 +1126,36 @@ static void addRegsToSet(const SIRegisterInfo &TRI,
iterator_range<MachineInstr::const_mop_iterator> Ops,
BitVector &DefSet, BitVector &UseSet) {
for (const MachineOperand &Op : Ops) {
- if (Op.isReg())
+ if (Op.isReg() && Op.getReg().isPhysical())
addRegUnits(TRI, Op.isDef() ? DefSet : UseSet, Op.getReg().asMCReg());
}
}
-void GCNHazardRecognizer::addClauseInst(const MachineInstr &MI) const {
- addRegsToSet(TRI, MI.operands(), ClauseDefs, ClauseUses);
+GCNHazardRecognizer::SoftClauseKind
+GCNHazardRecognizer::getSoftClauseKind(const MachineInstr &MI) {
+ if (SIInstrInfo::isSMRD(MI))
+ return SoftClauseKind::SMEM;
+ if (SIInstrInfo::isVMEM(MI))
+ return SoftClauseKind::VMEM;
+ return SoftClauseKind::None;
}
-static bool breaksSMEMSoftClause(MachineInstr *MI) {
- return !SIInstrInfo::isSMRD(*MI);
-}
+void GCNHazardRecognizer::updateSoftClause(const MachineInstr &MI) {
+ if (!ST.isXNACKEnabled())
+ return;
+
+ // Meta instructions have no encoding, so they neither extend nor break a
+ // clause.
+ if (MI.isMetaInstruction())
+ return;
-static bool breaksVMEMSoftClause(MachineInstr *MI) {
- return !SIInstrInfo::isVMEM(*MI);
+ SoftClauseKind Kind = getSoftClauseKind(MI);
+ if (Kind != ClauseKind) {
+ resetClause();
+ ClauseKind = Kind;
+ }
+ if (Kind != SoftClauseKind::None)
+ addRegsToSet(TRI, MI.operands(), ClauseDefs, ClauseUses);
}
int GCNHazardRecognizer::checkSoftClauseHazards(MachineInstr *MEM) const {
@@ -1136,10 +1164,6 @@ int GCNHazardRecognizer::checkSoftClauseHazards(MachineInstr *MEM) const {
if (!ST.isXNACKEnabled())
return 0;
- bool IsSMRD = TII.isSMRD(*MEM);
-
- resetClause();
-
// A soft-clause is any group of consecutive SMEM instructions. The
// instructions in this group may return out of order and/or may be
// replayed (i.e. the same instruction issued more than once).
@@ -1150,17 +1174,8 @@ int GCNHazardRecognizer::checkSoftClauseHazards(MachineInstr *MEM) const {
// (including itself). If we encounter this situation, we need to break the
// clause by inserting a non SMEM instruction.
- for (MachineInstr *MI : EmittedInstrs) {
- // When we hit a non-SMEM instruction then we have passed the start of the
- // clause and we can stop.
- if (!MI)
- break;
-
- if (IsSMRD ? breaksSMEMSoftClause(MI) : breaksVMEMSoftClause(MI))
- break;
-
- addClauseInst(*MI);
- }
+ if (ClauseKind != getSoftClauseKind(*MEM))
+ return 0;
if (ClauseDefs.none())
return 0;
@@ -1171,11 +1186,11 @@ int GCNHazardRecognizer::checkSoftClauseHazards(MachineInstr *MEM) const {
if (MEM->mayStore())
return 1;
- addClauseInst(*MEM);
-
// If the set of defs and uses intersect then we cannot add this instruction
// to the clause, so we have a hazard.
- return ClauseDefs.anyCommon(ClauseUses) ? 1 : 0;
+ BitVector Defs = ClauseDefs, Uses = ClauseUses;
+ addRegsToSet(TRI, MEM->operands(), Defs, Uses);
+ return Defs.anyCommon(Uses) ? 1 : 0;
}
int GCNHazardRecognizer::checkSMRDHazards(MachineInstr *SMRD) const {
diff --git a/llvm/lib/Target/AMDGPU/GCNHazardRecognizer.h b/llvm/lib/Target/AMDGPU/GCNHazardRecognizer.h
index 422da557eb47d..168d563a68723 100644
--- a/llvm/lib/Target/AMDGPU/GCNHazardRecognizer.h
+++ b/llvm/lib/Target/AMDGPU/GCNHazardRecognizer.h
@@ -151,18 +151,26 @@ class GCNHazardRecognizer final : public ScheduleHazardRecognizer {
/// Scheduler-mode part of Reset().
void schedulerReset();
+ /// Tracked in emission order because a clause can exceed getMaxLookAhead()
+ /// and so cannot be reconstructed from EmittedInstrs.
+ enum class SoftClauseKind { None, SMEM, VMEM };
+ SoftClauseKind ClauseKind = SoftClauseKind::None;
+
/// RegUnits of uses in the current soft memory clause.
- mutable BitVector ClauseUses;
+ BitVector ClauseUses;
/// RegUnits of defs in the current soft memory clause.
- mutable BitVector ClauseDefs;
+ BitVector ClauseDefs;
- void resetClause() const {
+ void resetClause() {
+ ClauseKind = SoftClauseKind::None;
ClauseUses.reset();
ClauseDefs.reset();
}
- void addClauseInst(const MachineInstr &MI) const;
+ static SoftClauseKind getSoftClauseKind(const MachineInstr &MI);
+
+ void updateSoftClause(const MachineInstr &MI);
/// \returns the number of wait states before another MFMA instruction can be
/// issued after \p MI.
diff --git a/llvm/test/CodeGen/AMDGPU/GlobalISel/vni8-across-blocks.ll b/llvm/test/CodeGen/AMDGPU/GlobalISel/vni8-across-blocks.ll
index 9ccbeee37a03a..a21ff31f8c82f 100644
--- a/llvm/test/CodeGen/AMDGPU/GlobalISel/vni8-across-blocks.ll
+++ b/llvm/test/CodeGen/AMDGPU/GlobalISel/vni8-across-blocks.ll
@@ -282,6 +282,7 @@ define amdgpu_kernel void @v256i8_liveout(ptr addrspace(1) %src1, ptr addrspace(
; GFX906-NEXT: global_load_dwordx4 v[53:56], v4, s[0:1] offset:208
; GFX906-NEXT: global_load_dwordx4 v[57:60], v4, s[0:1] offset:224
; GFX906-NEXT: global_load_dwordx4 v[0:3], v4, s[0:1] offset:240
+; GFX906-NEXT: s_nop 0
; GFX906-NEXT: global_load_dwordx4 v[5:8], v4, s[0:1] offset:16
; GFX906-NEXT: global_load_dwordx4 v[9:12], v4, s[0:1] offset:32
; GFX906-NEXT: global_load_dwordx4 v[13:16], v4, s[0:1] offset:48
@@ -309,6 +310,7 @@ define amdgpu_kernel void @v256i8_liveout(ptr addrspace(1) %src1, ptr addrspace(
; GFX906-NEXT: global_load_dwordx4 v[49:52], v4, s[2:3] offset:192
; GFX906-NEXT: global_load_dwordx4 v[53:56], v4, s[2:3] offset:208
; GFX906-NEXT: global_load_dwordx4 v[57:60], v4, s[2:3] offset:224
+; GFX906-NEXT: s_nop 0
; GFX906-NEXT: global_load_dwordx4 v[0:3], v4, s[2:3] offset:240
; GFX906-NEXT: .LBB6_2: ; %bb.2
; GFX906-NEXT: s_or_b64 exec, exec, s[0:1]
diff --git a/llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll b/llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
index 7be6ad4575d69..90bf515d620ea 100644
--- a/llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+++ b/llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
@@ -142895,6 +142895,7 @@ define <64 x bfloat> @bitcast_v128i8_to_v64bf16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: buffer_load_ushort v60, off, s[0:3], s32 offset:4
; GFX9-NEXT: buffer_load_ushort v62, off, s[0:3], s32 offset:124
; GFX9-NEXT: buffer_load_ushort v35, off, s[0:3], s32 offset:120
+; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:372
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:744 ; 4-byte Folded Spill
@@ -148279,6 +148280,7 @@ define inreg <64 x bfloat> @bitcast_v128i8_to_v64bf16_scalar(<128 x i8> inreg %a
; GFX9-NEXT: buffer_load_ushort v13, off, s[0:3], s32 offset:248
; GFX9-NEXT: buffer_load_ushort v34, off, s[0:3], s32 offset:244
; GFX9-NEXT: buffer_load_ushort v49, off, s[0:3], s32 offset:240
+; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:236
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:460 ; 4-byte Folded Spill
@@ -155072,6 +155074,7 @@ define <128 x i8> @bitcast_v64bf16_to_v128i8(<64 x bfloat> %a, i32 %b) #0 {
; GFX9-NEXT: buffer_load_dword v56, off, s[0:3], s32 offset:40 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:44 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:48 ; 4-byte Folded Reload
+; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:52 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:56 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload
@@ -169184,6 +169187,7 @@ define <64 x half> @bitcast_v128i8_to_v64f16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: buffer_load_ushort v60, off, s[0:3], s32 offset:4
; GFX9-NEXT: buffer_load_ushort v62, off, s[0:3], s32 offset:124
; GFX9-NEXT: buffer_load_ushort v35, off, s[0:3], s32 offset:120
+; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:372
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:744 ; 4-byte Folded Spill
@@ -174573,6 +174577,7 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; GFX9-NEXT: buffer_load_ushort v13, off, s[0:3], s32 offset:248
; GFX9-NEXT: buffer_load_ushort v34, off, s[0:3], s32 offset:244
; GFX9-NEXT: buffer_load_ushort v49, off, s[0:3], s32 offset:240
+; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:236
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:460 ; 4-byte Folded Spill
@@ -189889,6 +189894,7 @@ define <64 x i16> @bitcast_v128i8_to_v64i16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: buffer_load_ushort v60, off, s[0:3], s32 offset:4
; GFX9-NEXT: buffer_load_ushort v62, off, s[0:3], s32 offset:124
; GFX9-NEXT: buffer_load_ushort v35, off, s[0:3], s32 offset:120
+; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:372
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:744 ; 4-byte Folded Spill
@@ -195278,6 +195284,7 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; GFX9-NEXT: buffer_load_ushort v13, off, s[0:3], s32 offset:248
; GFX9-NEXT: buffer_load_ushort v34, off, s[0:3], s32 offset:244
; GFX9-NEXT: buffer_load_ushort v49, off, s[0:3], s32 offset:240
+; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:236
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:460 ; 4-byte Folded Spill
diff --git a/llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll b/llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
index 280a0f17a4bc8..e29b023703a59 100644
--- a/llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+++ b/llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
@@ -69258,6 +69258,7 @@ define <32 x i16> @bitcast_v64i8_to_v32i16(<64 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v48, off, s[0:3], s32 offset:36
+; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_ushort v60, off, s[0:3], s32 offset:28
; GFX9-NEXT: buffer_load_ushort v62, off, s[0:3], s32 offset:24
; GFX9-NEXT: buffer_load_ushort v63, off, s[0:3], s32 offset:20
@@ -81995,6 +81996,7 @@ define <32 x half> @bitcast_v64i8_to_v32f16(<64 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v48, off, s[0:3], s32 offset:36
+; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_ushort v60, off, s[0:3], s32 offset:28
; GFX9-NEXT: buffer_load_ushort v62, off, s[0:3], s32 offset:24
; GFX9-NEXT: buffer_load_ushort v63, off, s[0:3], s32 offset:20
@@ -92665,6 +92667,7 @@ define <32 x bfloat> @bitcast_v64i8_to_v32bf16(<64 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v48, off, s[0:3], s32 offset:36
+; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_ushort v60, off, s[0:3], s32 offset:28
; GFX9-NEXT: buffer_load_ushort v62, off, s[0:3], s32 offset:24
; GFX9-NEXT: buffer_load_ushort v63, off, s[0:3], s32 offset:20
diff --git a/llvm/test/CodeGen/AMDGPU/break-smem-soft-clauses.mir b/llvm/test/CodeGen/AMDGPU/break-smem-soft-clauses.mir
index 8c5ef9cd5525b..b9e4a48aec961 100644
--- a/llvm/test/CodeGen/AMDGPU/break-smem-soft-clauses.mir
+++ b/llvm/test/CodeGen/AMDGPU/break-smem-soft-clauses.mir
@@ -351,3 +351,132 @@ body: |
$sgpr12_sgpr13 = S_LOAD_DWORDX2_IMM $sgpr6_sgpr7, 0, 0
S_ENDPGM 0
...
+---
+# WAR at clause distance 6. This is beyond the scheduler lookahead window
+# (MaxLookAhead = 5), so the clause must be tracked statefully rather than
+# reconstructed from the emitted-instruction window.
+name: break_smem_clause_war_distance_6
+
+body: |
+ bb.0:
+ ; GCN-LABEL: name: break_smem_clause_war_distance_6
+ ; GCN: $sgpr0 = S_LOAD_DWORD_IMM $sgpr10_sgpr11, 0, 0
+ ; GCN-NEXT: $sgpr1 = S_LOAD_DWORD_IMM $sgpr12_sgpr13, 0, 0
+ ; GCN-NEXT: $sgpr2 = S_LOAD_DWORD_IMM $sgpr14_sgpr15, 0, 0
+ ; GCN-NEXT: $sgpr3 = S_LOAD_DWORD_IMM $sgpr16_sgpr17, 0, 0
+ ; GCN-NEXT: $sgpr4 = S_LOAD_DWORD_IMM $sgpr18_sgpr19, 0, 0
+ ; GCN-NEXT: $sgpr5 = S_LOAD_DWORD_IMM $sgpr20_sgpr21, 0, 0
+ ; XNACK-NEXT: S_NOP 0
+ ; GCN-NEXT: $sgpr10 = S_LOAD_DWORD_IMM $sgpr22_sgpr23, 0, 0
+ ; GCN-NEXT: S_ENDPGM 0
+ $sgpr0 = S_LOAD_DWORD_IMM $sgpr10_sgpr11, 0, 0
+ $sgpr1 = S_LOAD_DWORD_IMM $sgpr12_sgpr13, 0, 0
+ $sgpr2 = S_LOAD_DWORD_IMM $sgpr14_sgpr15, 0, 0
+ $sgpr3 = S_LOAD_DWORD_IMM $sgpr16_sgpr17, 0, 0
+ $sgpr4 = S_LOAD_DWORD_IMM $sgpr18_sgpr19, 0, 0
+ $sgpr5 = S_LOAD_DWORD_IMM $sgpr20_sgpr21, 0, 0
+ $sgpr10 = S_LOAD_DWORD_IMM $sgpr22_sgpr23, 0, 0
+ S_ENDPGM 0
+...
+---
+# Same as above without the conflict: a long clause on its own must not get a
+# nop.
+name: smem_clause_distance_6_no_conflict
+
+body: |
+ bb.0:
+ ; GCN-LABEL: name: smem_clause_distance_6_no_conflict
+ ; GCN: $sgpr0 = S_LOAD_DWORD_IMM $sgpr10_sgpr11, 0, 0
+ ; GCN-NEXT: $sgpr1 = S_LOAD_DWORD_IMM $sgpr12_sgpr13, 0, 0
+ ; GCN-NEXT: $sgpr2 = S_LOAD_DWORD_IMM $sgpr14_sgpr15, 0, 0
+ ; GCN-NEXT: $sgpr3 = S_LOAD_DWORD_IMM $sgpr16_sgpr17, 0, 0
+ ; GCN-NEXT: $sgpr4 = S_LOAD_DWORD_IMM $sgpr18_sgpr19, 0, 0
+ ; GCN-NEXT: $sgpr5 = S_LOAD_DWORD_IMM $sgpr20_sgpr21, 0, 0
+ ; GCN-NEXT: $sgpr6 = S_LOAD_DWORD_IMM $sgpr22_sgpr23, 0, 0
+ ; GCN-NEXT: S_ENDPGM 0
+ $sgpr0 = S_LOAD_DWORD_IMM $sgpr10_sgpr11, 0, 0
+ $sgpr1 = S_LOAD_DWORD_IMM $sgpr12_sgpr13, 0, 0
+ $sgpr2 = S_LOAD_DWORD_IMM $sgpr14_sgpr15, 0, 0
+ $sgpr3 = S_LOAD_DWORD_IMM $sgpr16_sgpr17, 0, 0
+ $sgpr4 = S_LOAD_DWORD_IMM $sgpr18_sgpr19, 0, 0
+ $sgpr5 = S_LOAD_DWORD_IMM $sgpr20_sgpr21, 0, 0
+ $sgpr6 = S_LOAD_DWORD_IMM $sgpr22_sgpr23, 0, 0
+ S_ENDPGM 0
+...
+---
+# KILL is a meta instruction with no encoding, so it does not break the
+# hardware clause and the WAR across it must still be detected.
+name: kill_does_not_break_smem_clause
+
+body: |
+ bb.0:
+ ; GCN-LABEL: name: kill_does_not_break_smem_clause
+ ; GCN: $sgpr0 = S_LOAD_DWORD_IMM $sgpr10_sgpr11, 0, 0
+ ; GCN-NEXT: KILL $sgpr8_sgpr9
+ ; XNACK-NEXT: S_NOP 0
+ ; GCN-NEXT: $sgpr10 = S_LOAD_DWORD_IMM $sgpr12_sgpr13, 0, 0
+ ; GCN-NEXT: S_ENDPGM 0
+ $sgpr0 = S_LOAD_DWORD_IMM $sgpr10_sgpr11, 0, 0
+ KILL $sgpr8_sgpr9
+ $sgpr10 = S_LOAD_DWORD_IMM $sgpr12_sgpr13, 0, 0
+ S_ENDPGM 0
+...
+---
+# A KILL's operands are not part of the clause: overwriting them is fine.
+name: kill_operand_does_not_join_smem_clause
+
+body: |
+ bb.0:
+ ; GCN-LABEL: name: kill_operand_does_not_join_smem_clause
+ ; GCN: $sgpr0 = S_LOAD_DWORD_IMM $sgpr10_sgpr11, 0, 0
+ ; GCN-NEXT: KILL $sgpr8_sgpr9
+ ; GCN-NEXT: $sgpr8 = S_LOAD_DWORD_IMM $sgpr12_sgpr13, 0, 0
+ ; GCN-NEXT: S_ENDPGM 0
+ $sgpr0 = S_LOAD_DWORD_IMM $sgpr10_sgpr11, 0, 0
+ KILL $sgpr8_sgpr9
+ $sgpr8 = S_LOAD_DWORD_IMM $sgpr12_sgpr13, 0, 0
+ S_ENDPGM 0
+...
+---
+# The shape SIFormMemoryClauses leaves at its 15-instruction limit: a run of
+# loads, the KILLs that ended the first bundle, then more loads. The KILLs do
+# not break the hardware clause, and load 17 overwrites load 1's address.
+name: break_smem_clause_kill_boundary_17_loads
+
+body: |
+ bb.0:
+ ; GCN-LABEL: name: break_smem_clause_kill_boundary_17_loads
+ ; GCN: $sgpr40 = S_LOAD_DWORD_IMM $sgpr2_sgpr3, 0, 0
+ ; GCN: $sgpr51 = S_LOAD_DWORD_IMM $sgpr24_sgpr25, 0, 0
+ ; GCN-NEXT: KILL killed renamable $sgpr2_sgpr3
+ ; GCN-NEXT: KILL killed renamable $sgpr4_sgpr5
+ ; GCN-NEXT: KILL killed renamable $sgpr6_sgpr7
+ ; GCN-NEXT: $sgpr52 = S_LOAD_DWORD_IMM $sgpr26_sgpr27, 0, 0
+ ; GCN-NEXT: $sgpr53 = S_LOAD_DWORD_IMM $sgpr28_sgpr29, 0, 0
+ ; GCN-NEXT: $sgpr54 = S_LOAD_DWORD_IMM $sgpr30_sgpr31, 0, 0
+ ; GCN-NEXT: $sgpr55 = S_LOAD_DWORD_IMM $sgpr32_sgpr33, 0, 0
+ ; XNACK-NEXT: S_NOP 0
+ ; GCN-NEXT: $sgpr2 = S_LOAD_DWORD_IMM $sgpr34_sgpr35, 0, 0
+ ; GCN-NEXT: S_ENDPGM 0
+ $sgpr40 = S_LOAD_DWORD_IMM $sgpr2_sgpr3, 0, 0
+ $sgpr41 = S_LOAD_DWORD_IMM $sgpr4_sgpr5, 0, 0
+ $sgpr42 = S_LOAD_DWORD_IMM $sgpr6_sgpr7, 0, 0
+ $sgpr43 = S_LOAD_DWORD_IMM $sgpr8_sgpr9, 0, 0
+ $sgpr44 = S_LOAD_DWORD_IMM $sgpr10_sgpr11, 0, 0
+ $sgpr45 = S_LOAD_DWORD_IMM $sgpr12_sgpr13, 0, 0
+ $sgpr46 = S_LOAD_DWORD_IMM $sgpr14_sgpr15, 0, 0
+ $sgpr47 = S_LOAD_DWORD_IMM $sgpr16_sgpr17, 0, 0
+ $sgpr48 = S_LOAD_DWORD_IMM $sgpr18_sgpr19, 0, 0
+ $sgpr49 = S_LOAD_DWORD_IMM $sgpr20_sgpr21, 0, 0
+ $sgpr50 = S_LOAD_DWORD_IMM $sgpr22_sgpr23, 0, 0
+ $sgpr51 = S_LOAD_DWORD_IMM $sgpr24_sgpr25, 0, 0
+ KILL killed renamable $sgpr2_sgpr3
+ KILL killed renamable $sgpr4_sgpr5
+ KILL killed renamable $sgpr6_sgpr7
+ $sgpr52 = S_LOAD_DWORD_IMM $sgpr26_sgpr27, 0, 0
+ $sgpr53 = S_LOAD_DWORD_IMM $sgpr28_sgpr29, 0, 0
+ $sgpr54 = S_LOAD_DWORD_IMM $sgpr30_sgpr31, 0, 0
+ $sgpr55 = S_LOAD_DWORD_IMM $sgpr32_sgpr33, 0, 0
+ $sgpr2 = S_LOAD_DWORD_IMM $sgpr34_sgpr35, 0, 0
+ S_ENDPGM 0
+...
diff --git a/llvm/test/CodeGen/AMDGPU/break-vmem-soft-clauses.mir b/llvm/test/CodeGen/AMDGPU/break-vmem-soft-clauses.mir
index 55460fd0d6d20..9c6a0a5554424 100644
--- a/llvm/test/CodeGen/AMDGPU/break-vmem-soft-clauses.mir
+++ b/llvm/test/CodeGen/AMDGPU/break-vmem-soft-clauses.mir
@@ -577,3 +577,29 @@ body: |
$vgpr11 = FLAT_LOAD_DWORD $vgpr4_vgpr5, 0, 0, implicit $exec, implicit $flat_scr
S_ENDPGM 0
...
+---
+# WAR at clause distance 6, beyond the scheduler lookahead window
+# (MaxLookAhead = 5).
+name: break_vmem_clause_war_distance_6
+
+body: |
+ bb.0:
+ ; GCN-LABEL: name: break_vmem_clause_war_distance_6
+ ; GCN: $vgpr0 = FLAT_LOAD_DWORD $vgpr2_vgpr3, 0, 0, implicit $exec, implicit $flat_scr
+ ; GCN-NEXT: $vgpr1 = FLAT_LOAD_DWORD $vgpr4_vgpr5, 0, 0, implicit $exec, implicit $flat_scr
+ ; GCN-NEXT: $vgpr10 = FLAT_LOAD_DWORD $vgpr6_vgpr7, 0, 0, implicit $exec, implicit $flat_scr
+ ; GCN-NEXT: $vgpr11 = FLAT_LOAD_DWORD $vgpr8_vgpr9, 0, 0, implicit $exec, implicit $flat_scr
+ ; GCN-NEXT: $vgpr12 = FLAT_LOAD_DWORD $vgpr14_vgpr15, 0, 0, implicit $exec, implicit $flat_scr
+ ; GCN-NEXT: $vgpr13 = FLAT_LOAD_DWORD $vgpr16_vgpr17, 0, 0, implicit $exec, implicit $flat_scr
+ ; XNACK-NEXT: S_NOP 0
+ ; GCN-NEXT: $vgpr2 = FLAT_LOAD_DWORD $vgpr18_vgpr19, 0, 0, implicit $exec, implicit $flat_scr
+ ; GCN-NEXT: S_ENDPGM 0
+ $vgpr0 = FLAT_LOAD_DWORD $vgpr2_vgpr3, 0, 0, implicit $exec, implicit $flat_scr
+ $vgpr1 = FLAT_LOAD_DWORD $vgpr4_vgpr5, 0, 0, implicit $exec, implicit $flat_scr
+ $vgpr10 = FLAT_LOAD_DWORD $vgpr6_vgpr7, 0, 0, implicit $exec, implicit $flat_scr
+ $vgpr11 = FLAT_LOAD_DWORD $vgpr8_vgpr9, 0, 0, implicit $exec, implicit $flat_scr
+ $vgpr12 = FLAT_LOAD_DWORD $vgpr14_vgpr15, 0, 0, implicit $exec, implicit $flat_scr
+ $vgpr13 = FLAT_LOAD_DWORD $vgpr16_vgpr17, 0, 0, implicit $exec, implicit $flat_scr
+ $vgpr2 = FLAT_LOAD_DWORD $vgpr18_vgpr19, 0, 0, implicit $exec, implicit $flat_scr
+ S_ENDPGM 0
+...
diff --git a/llvm/test/CodeGen/AMDGPU/gfx-callable-return-types.ll b/llvm/test/CodeGen/AMDGPU/gfx-callable-return-types.ll
index f805b11d35db5..782df520b817d 100644
--- a/llvm/test/CodeGen/AMDGPU/gfx-callable-return-types.ll
+++ b/llvm/test/CodeGen/AMDGPU/gfx-callable-return-types.ll
@@ -2900,6 +2900,7 @@ define amdgpu_gfx void @call_72xi32() #1 {
; GFX9-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:156
; GFX9-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:160
; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s33 offset:1536 ; 4-byte Folded Reload
+; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s33 offset:1540 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s33 offset:1544 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v5, off, s[0:3], s33 offset:1548 ; 4-byte Folded Reload
diff --git a/llvm/test/CodeGen/AMDGPU/hazard-in-bundle.mir b/llvm/test/CodeGen/AMDGPU/hazard-in-bundle.mir
index 3cc5d455d36d8..0a3477f625db4 100644
--- a/llvm/test/CodeGen/AMDGPU/hazard-in-bundle.mir
+++ b/llvm/test/CodeGen/AMDGPU/hazard-in-bundle.mir
@@ -82,3 +82,25 @@ body: |
}
S_ENDPGM 0
...
+
+# GCN-LABEL: name: break_smem_clause_beyond_max_look_ahead_in_bundle
+# GCN: $sgpr5 = S_LOAD_DWORD_IMM $sgpr20_sgpr21, 0, 0
+# XNACK-NEXT: S_NOP
+# NOXNACK-NOT: S_NOP
+# GCN-NEXT: $sgpr10 = S_LOAD_DWORD_IMM $sgpr22_sgpr23, 0, 0
+# GCN: }
+---
+name: break_smem_clause_beyond_max_look_ahead_in_bundle
+body: |
+ bb.0:
+ BUNDLE implicit-def $sgpr0, implicit-def $sgpr1, implicit-def $sgpr2, implicit-def $sgpr3, implicit-def $sgpr4, implicit-def $sgpr5, implicit-def $sgpr10, implicit $sgpr10_sgpr11, implicit $sgpr12_sgpr13, implicit $sgpr14_sgpr15, implicit $sgpr16_sgpr17, implicit $sgpr18_sgpr19, implicit $sgpr20_sgpr21, implicit $sgpr22_sgpr23 {
+ $sgpr0 = S_LOAD_DWORD_IMM $sgpr10_sgpr11, 0, 0
+ $sgpr1 = S_LOAD_DWORD_IMM $sgpr12_sgpr13, 0, 0
+ $sgpr2 = S_LOAD_DWORD_IMM $sgpr14_sgpr15, 0, 0
+ $sgpr3 = S_LOAD_DWORD_IMM $sgpr16_sgpr17, 0, 0
+ $sgpr4 = S_LOAD_DWORD_IMM $sgpr18_sgpr19, 0, 0
+ $sgpr5 = S_LOAD_DWORD_IMM $sgpr20_sgpr21, 0, 0
+ $sgpr10 = S_LOAD_DWORD_IMM $sgpr22_sgpr23, 0, 0
+ }
+ S_ENDPGM 0
+...
diff --git a/llvm/test/CodeGen/AMDGPU/splitkit-getsubrangeformask-phi-extend.ll b/llvm/test/CodeGen/AMDGPU/splitkit-getsubrangeformask-phi-extend.ll
index ab946d8667f8c..87692260e90e2 100644
--- a/llvm/test/CodeGen/AMDGPU/splitkit-getsubrangeformask-phi-extend.ll
+++ b/llvm/test/CodeGen/AMDGPU/splitkit-getsubrangeformask-phi-extend.ll
@@ -299,6 +299,7 @@ define void @f(ptr %p, <16 x i1> %m, <16 x i63> %pt, <16 x i1> %sc,
; CHECK-NEXT: buffer_load_dword a9, off, s[0:3], s32 offset:456
; CHECK-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:8
; CHECK-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:4
+; CHECK-NEXT: s_nop 0
; CHECK-NEXT: buffer_load_dword v6, off, s[0:3], s32
; CHECK-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:708
; CHECK-NEXT: buffer_load_dword v56, off, s[0:3], s32 offset:704
>From a3bd0b2c9e937e268055cdbb2829db4ee1a1fdee Mon Sep 17 00:00:00 2001
From: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: Fri, 11 Sep 2026 11:01:14 +0200
Subject: [PATCH 2/4] upd
---
llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll b/llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
index 62ad9928797e2..b3e2f6ef88fab 100644
--- a/llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+++ b/llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
@@ -20107,6 +20107,7 @@ define inreg <32 x i32> @bitcast_v128i8_to_v32i32_scalar(<128 x i8> inreg %a, i3
; GFX9-NEXT: buffer_load_ushort v25, off, s[0:3], s32 offset:140
; GFX9-NEXT: buffer_load_ushort v24, off, s[0:3], s32 offset:136
; GFX9-NEXT: buffer_load_ushort v23, off, s[0:3], s32 offset:132
+; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:128
; GFX9-NEXT: buffer_load_ushort v62, off, s[0:3], s32 offset:124
; GFX9-NEXT: buffer_load_ushort v18, off, s[0:3], s32 offset:120
@@ -56225,6 +56226,7 @@ define inreg <32 x float> @bitcast_v128i8_to_v32f32_scalar(<128 x i8> inreg %a,
; GFX9-NEXT: buffer_load_ushort v25, off, s[0:3], s32 offset:140
; GFX9-NEXT: buffer_load_ushort v24, off, s[0:3], s32 offset:136
; GFX9-NEXT: buffer_load_ushort v23, off, s[0:3], s32 offset:132
+; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:128
; GFX9-NEXT: buffer_load_ushort v62, off, s[0:3], s32 offset:124
; GFX9-NEXT: buffer_load_ushort v18, off, s[0:3], s32 offset:120
@@ -90562,6 +90564,7 @@ define inreg <16 x i64> @bitcast_v128i8_to_v16i64_scalar(<128 x i8> inreg %a, i3
; GFX9-NEXT: buffer_load_ushort v25, off, s[0:3], s32 offset:140
; GFX9-NEXT: buffer_load_ushort v24, off, s[0:3], s32 offset:136
; GFX9-NEXT: buffer_load_ushort v23, off, s[0:3], s32 offset:132
+; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:128
; GFX9-NEXT: buffer_load_ushort v62, off, s[0:3], s32 offset:124
; GFX9-NEXT: buffer_load_ushort v18, off, s[0:3], s32 offset:120
@@ -123799,6 +123802,7 @@ define inreg <16 x double> @bitcast_v128i8_to_v16f64_scalar(<128 x i8> inreg %a,
; GFX9-NEXT: buffer_load_ushort v25, off, s[0:3], s32 offset:140
; GFX9-NEXT: buffer_load_ushort v24, off, s[0:3], s32 offset:136
; GFX9-NEXT: buffer_load_ushort v23, off, s[0:3], s32 offset:132
+; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:128
; GFX9-NEXT: buffer_load_ushort v62, off, s[0:3], s32 offset:124
; GFX9-NEXT: buffer_load_ushort v18, off, s[0:3], s32 offset:120
@@ -143855,6 +143859,7 @@ define <64 x bfloat> @bitcast_v128i8_to_v64bf16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: buffer_load_ushort v60, off, s[0:3], s32 offset:4
; GFX9-NEXT: buffer_load_ushort v62, off, s[0:3], s32 offset:124
; GFX9-NEXT: buffer_load_ushort v35, off, s[0:3], s32 offset:120
+; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:372
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:744 ; 4-byte Folded Spill
@@ -149251,6 +149256,7 @@ define inreg <64 x bfloat> @bitcast_v128i8_to_v64bf16_scalar(<128 x i8> inreg %a
; GFX9-NEXT: buffer_load_ushort v6, off, s[0:3], s32 offset:272
; GFX9-NEXT: buffer_load_ushort v8, off, s[0:3], s32 offset:268
; GFX9-NEXT: buffer_load_ushort v41, off, s[0:3], s32 offset:264
+; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_ushort v2, off, s[0:3], s32 offset:260
; GFX9-NEXT: buffer_load_ushort v24, off, s[0:3], s32 offset:256
; GFX9-NEXT: buffer_load_ushort v9, off, s[0:3], s32 offset:252
@@ -149348,6 +149354,7 @@ define inreg <64 x bfloat> @bitcast_v128i8_to_v64bf16_scalar(<128 x i8> inreg %a
; GFX9-NEXT: buffer_load_ushort v30, off, s[0:3], s32 offset:60
; GFX9-NEXT: buffer_load_ushort v62, off, s[0:3], s32 offset:56
; GFX9-NEXT: buffer_load_ushort v52, off, s[0:3], s32 offset:52
+; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:48
; GFX9-NEXT: buffer_load_ushort v29, off, s[0:3], s32 offset:44
; GFX9-NEXT: buffer_load_ushort v39, off, s[0:3], s32 offset:40
@@ -170343,6 +170350,7 @@ define <64 x half> @bitcast_v128i8_to_v64f16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: buffer_load_ushort v60, off, s[0:3], s32 offset:4
; GFX9-NEXT: buffer_load_ushort v62, off, s[0:3], s32 offset:124
; GFX9-NEXT: buffer_load_ushort v35, off, s[0:3], s32 offset:120
+; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:372
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:744 ; 4-byte Folded Spill
@@ -175739,6 +175747,7 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; GFX9-NEXT: buffer_load_ushort v6, off, s[0:3], s32 offset:272
; GFX9-NEXT: buffer_load_ushort v8, off, s[0:3], s32 offset:268
; GFX9-NEXT: buffer_load_ushort v41, off, s[0:3], s32 offset:264
+; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_ushort v2, off, s[0:3], s32 offset:260
; GFX9-NEXT: buffer_load_ushort v24, off, s[0:3], s32 offset:256
; GFX9-NEXT: buffer_load_ushort v9, off, s[0:3], s32 offset:252
@@ -175836,6 +175845,7 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; GFX9-NEXT: buffer_load_ushort v30, off, s[0:3], s32 offset:60
; GFX9-NEXT: buffer_load_ushort v62, off, s[0:3], s32 offset:56
; GFX9-NEXT: buffer_load_ushort v52, off, s[0:3], s32 offset:52
+; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:48
; GFX9-NEXT: buffer_load_ushort v29, off, s[0:3], s32 offset:44
; GFX9-NEXT: buffer_load_ushort v39, off, s[0:3], s32 offset:40
@@ -191200,6 +191210,7 @@ define <64 x i16> @bitcast_v128i8_to_v64i16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: buffer_load_ushort v60, off, s[0:3], s32 offset:4
; GFX9-NEXT: buffer_load_ushort v62, off, s[0:3], s32 offset:124
; GFX9-NEXT: buffer_load_ushort v35, off, s[0:3], s32 offset:120
+; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:372
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:744 ; 4-byte Folded Spill
@@ -196596,6 +196607,7 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; GFX9-NEXT: buffer_load_ushort v6, off, s[0:3], s32 offset:272
; GFX9-NEXT: buffer_load_ushort v8, off, s[0:3], s32 offset:268
; GFX9-NEXT: buffer_load_ushort v41, off, s[0:3], s32 offset:264
+; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_ushort v2, off, s[0:3], s32 offset:260
; GFX9-NEXT: buffer_load_ushort v24, off, s[0:3], s32 offset:256
; GFX9-NEXT: buffer_load_ushort v9, off, s[0:3], s32 offset:252
@@ -196693,6 +196705,7 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; GFX9-NEXT: buffer_load_ushort v30, off, s[0:3], s32 offset:60
; GFX9-NEXT: buffer_load_ushort v62, off, s[0:3], s32 offset:56
; GFX9-NEXT: buffer_load_ushort v52, off, s[0:3], s32 offset:52
+; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:48
; GFX9-NEXT: buffer_load_ushort v29, off, s[0:3], s32 offset:44
; GFX9-NEXT: buffer_load_ushort v39, off, s[0:3], s32 offset:40
>From 136fa40d20b4fd40d5ebc1df2a9c3bb3dddd5125 Mon Sep 17 00:00:00 2001
From: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: Fri, 11 Sep 2026 16:23:57 +0200
Subject: [PATCH 3/4] comnments
---
.../lib/Target/AMDGPU/GCNHazardRecognizer.cpp | 45 ++++++++++++++-----
llvm/lib/Target/AMDGPU/GCNHazardRecognizer.h | 15 ++++---
2 files changed, 42 insertions(+), 18 deletions(-)
diff --git a/llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp b/llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
index 1edd04293a5db..083fe6ac109bc 100644
--- a/llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
+++ b/llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
@@ -679,12 +679,12 @@ void GCNHazardRecognizer::processBundle() {
unsigned WaitStates = PreEmitNoopsCommon(CurrCycleInstr);
if (isHazardRecognizerMode()) {
+ // fixHazards can reset CurrCycleInstr to null, so use MI from here on.
fixHazards(CurrCycleInstr);
- insertNoopsInBundle(CurrCycleInstr, TII, WaitStates);
+ insertNoopsInBundle(&*MI, TII, WaitStates);
}
- // Use MI, not CurrCycleInstr, which fixHazards may have reset to null.
if (WaitStates)
resetClause();
updateSoftClause(*MI);
@@ -695,7 +695,7 @@ void GCNHazardRecognizer::processBundle() {
for (unsigned i = 0, e = std::min(WaitStates, MaxLookAhead - 1); i < e; ++i)
EmittedInstrs.push_front(nullptr);
- EmittedInstrs.push_front(CurrCycleInstr);
+ EmittedInstrs.push_front(&*MI);
EmittedInstrs.resize(MaxLookAhead);
}
CurrCycleInstr = nullptr;
@@ -825,10 +825,10 @@ void GCNHazardRecognizer::AdvanceCycle() {
// When the scheduler detects a stall, it will call AdvanceCycle() without
// emitting any instructions.
if (!CurrCycleInstr) {
+ assert(isSchedulerMode() && "stall cycles only occur in scheduler mode");
EmittedInstrs.push_front(nullptr);
- // Only reached in scheduler mode, where clause hazards are a heuristic
- // and stalling cannot break one; reset here or it stalls forever.
- assert(isSchedulerMode());
+ // A stall does not really break a clause, but model it as one or the
+ // scheduler stalls on the same hazard forever.
resetClause();
if (HasPendingWMMACoexecHazard)
@@ -1138,6 +1138,13 @@ static void addRegsToSet(const SIRegisterInfo &TRI,
}
}
+static bool anyRegUnitSet(const SIRegisterInfo &TRI, const BitVector &Units,
+ MCRegister Reg) {
+ return any_of(TRI.regunits(Reg), [&Units](MCRegUnit Unit) {
+ return Units.test(static_cast<unsigned>(Unit));
+ });
+}
+
GCNHazardRecognizer::SoftClauseKind
GCNHazardRecognizer::getSoftClauseKind(const MachineInstr &MI) {
if (SIInstrInfo::isSMRD(MI))
@@ -1148,10 +1155,11 @@ GCNHazardRecognizer::getSoftClauseKind(const MachineInstr &MI) {
}
void GCNHazardRecognizer::updateSoftClause(const MachineInstr &MI) {
- if (!ST.isXNACKEnabled())
+ // checkSoftClauseHazards is only reached when hasPhysRegs().
+ if (!hasPhysRegs() || !ST.isXNACKEnabled())
return;
- // Meta instructions have no encoding, so they neither extend nor break a
+ // Meta instructions have no encoding, so they cannot break or extend a
// clause.
if (MI.isMetaInstruction())
return;
@@ -1194,10 +1202,23 @@ int GCNHazardRecognizer::checkSoftClauseHazards(MachineInstr *MEM) const {
return 1;
// If the set of defs and uses intersect then we cannot add this instruction
- // to the clause, so we have a hazard.
- BitVector Defs = ClauseDefs, Uses = ClauseUses;
- addRegsToSet(TRI, MEM->operands(), Defs, Uses);
- return Defs.anyCommon(Uses) ? 1 : 0;
+ // to the clause, so we have a hazard. Test MEM in place to avoid copying a
+ // reg-unit-sized BitVector per query.
+ if (ClauseDefs.anyCommon(ClauseUses))
+ return 1;
+
+ for (const MachineOperand &Op : MEM->operands()) {
+ if (!Op.isReg() || !Op.getReg().isPhysical())
+ continue;
+ MCRegister Reg = Op.getReg().asMCReg();
+ if (anyRegUnitSet(TRI, Op.isDef() ? ClauseUses : ClauseDefs, Reg))
+ return 1;
+ // MEM can also conflict with itself.
+ if (Op.isDef() && MEM->readsRegister(Reg, &TRI))
+ return 1;
+ }
+
+ return 0;
}
int GCNHazardRecognizer::checkSMRDHazards(MachineInstr *SMRD) const {
diff --git a/llvm/lib/Target/AMDGPU/GCNHazardRecognizer.h b/llvm/lib/Target/AMDGPU/GCNHazardRecognizer.h
index 168d563a68723..4cd417eb3bb2c 100644
--- a/llvm/lib/Target/AMDGPU/GCNHazardRecognizer.h
+++ b/llvm/lib/Target/AMDGPU/GCNHazardRecognizer.h
@@ -151,18 +151,21 @@ class GCNHazardRecognizer final : public ScheduleHazardRecognizer {
/// Scheduler-mode part of Reset().
void schedulerReset();
- /// Tracked in emission order because a clause can exceed getMaxLookAhead()
- /// and so cannot be reconstructed from EmittedInstrs.
enum class SoftClauseKind { None, SMEM, VMEM };
- SoftClauseKind ClauseKind = SoftClauseKind::None;
- /// RegUnits of uses in the current soft memory clause.
+ /// The current soft memory clause, as reg units. It cannot be rebuilt from
+ /// EmittedInstrs: getMaxLookAhead() bounds wait states, not clause length.
+ SoftClauseKind ClauseKind = SoftClauseKind::None;
BitVector ClauseUses;
-
- /// RegUnits of defs in the current soft memory clause.
BitVector ClauseDefs;
void resetClause() {
+ // EmitNoops() calls this once per nop, and clearing is not free.
+ if (ClauseKind == SoftClauseKind::None) {
+ assert(ClauseUses.none() && ClauseDefs.none() &&
+ "no clause kind implies no tracked reg units");
+ return;
+ }
ClauseKind = SoftClauseKind::None;
ClauseUses.reset();
ClauseDefs.reset();
>From 7bc66bc0937c41b59d51a0811cd0757f3e1de2f4 Mon Sep 17 00:00:00 2001
From: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: Tue, 29 Sep 2026 21:54:07 +0200
Subject: [PATCH 4/4] check lines upd
---
.../CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll | 80153 ++++++++--------
.../splitkit-getsubrangeformask-phi-extend.ll | 1 +
2 files changed, 40089 insertions(+), 40065 deletions(-)
diff --git a/llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll b/llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
index 88ef88da73bce..fdb74ac69a115 100644
--- a/llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+++ b/llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
@@ -5289,12 +5289,22 @@ define <128 x i8> @bitcast_v32i32_to_v128i8(<32 x i32> %a, i32 %b) #0 {
; VI-NEXT: ; implicit-def: $vgpr39
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
+; VI-NEXT: ; implicit-def: $vgpr35
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
+; VI-NEXT: ; kill: killed $vgpr35
+; VI-NEXT: ; implicit-def: $vgpr35
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
+; VI-NEXT: ; kill: killed $vgpr35
+; VI-NEXT: ; implicit-def: $vgpr35
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
+; VI-NEXT: ; kill: killed $vgpr35
+; VI-NEXT: ; implicit-def: $vgpr35
+; VI-NEXT: ; kill: killed $vgpr39
+; VI-NEXT: ; implicit-def: $vgpr39
+; VI-NEXT: ; kill: killed $vgpr35
; VI-NEXT: ; implicit-def: $vgpr35
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
@@ -5338,71 +5348,62 @@ define <128 x i8> @bitcast_v32i32_to_v128i8(<32 x i32> %a, i32 %b) #0 {
; VI-NEXT: ; implicit-def: $vgpr35
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr34
; VI-NEXT: ; kill: killed $vgpr35
; VI-NEXT: ; implicit-def: $vgpr35
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr34
-; VI-NEXT: ; implicit-def: $vgpr34
; VI-NEXT: ; kill: killed $vgpr35
; VI-NEXT: ; implicit-def: $vgpr35
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr34
-; VI-NEXT: ; implicit-def: $vgpr34
; VI-NEXT: ; kill: killed $vgpr35
; VI-NEXT: ; implicit-def: $vgpr35
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr34
-; VI-NEXT: ; implicit-def: $vgpr34
; VI-NEXT: ; kill: killed $vgpr35
; VI-NEXT: ; implicit-def: $vgpr35
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr34
-; VI-NEXT: ; implicit-def: $vgpr34
; VI-NEXT: ; kill: killed $vgpr35
; VI-NEXT: ; implicit-def: $vgpr35
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr34
-; VI-NEXT: ; implicit-def: $vgpr34
; VI-NEXT: ; kill: killed $vgpr35
; VI-NEXT: ; implicit-def: $vgpr35
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr34
-; VI-NEXT: ; implicit-def: $vgpr34
-; VI-NEXT: ; implicit-def: $vgpr36
; VI-NEXT: ; kill: killed $vgpr35
+; VI-NEXT: ; implicit-def: $vgpr35
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
+; VI-NEXT: ; implicit-def: $vgpr43
+; VI-NEXT: ; kill: killed $vgpr35
; VI-NEXT: ; implicit-def: $vgpr35
+; VI-NEXT: ; kill: killed $vgpr39
+; VI-NEXT: ; implicit-def: $vgpr39
+; VI-NEXT: ; implicit-def: $vgpr42
; VI-NEXT: ; implicit-def: $vgpr63
-; VI-NEXT: ; implicit-def: $vgpr62
-; VI-NEXT: ; implicit-def: $vgpr45
-; VI-NEXT: ; implicit-def: $vgpr44
+; VI-NEXT: ; implicit-def: $vgpr34
; VI-NEXT: ; implicit-def: $vgpr61
-; VI-NEXT: ; implicit-def: $vgpr51
; VI-NEXT: ; implicit-def: $vgpr60
-; VI-NEXT: ; implicit-def: $vgpr48
+; VI-NEXT: ; implicit-def: $vgpr44
; VI-NEXT: ; implicit-def: $vgpr59
; VI-NEXT: ; implicit-def: $vgpr58
-; VI-NEXT: ; implicit-def: $vgpr57
-; VI-NEXT: ; implicit-def: $vgpr56
; VI-NEXT: ; implicit-def: $vgpr50
+; VI-NEXT: ; implicit-def: $vgpr62
+; VI-NEXT: ; implicit-def: $vgpr56
+; VI-NEXT: ; implicit-def: $vgpr37
; VI-NEXT: ; implicit-def: $vgpr47
-; VI-NEXT: ; implicit-def: $vgpr38
; VI-NEXT: ; implicit-def: $vgpr46
; VI-NEXT: ; implicit-def: $vgpr49
-; VI-NEXT: ; kill: killed $vgpr34
-; VI-NEXT: ; implicit-def: $vgpr37
-; VI-NEXT: ; implicit-def: $vgpr43
-; VI-NEXT: ; implicit-def: $vgpr34
+; VI-NEXT: ; implicit-def: $vgpr45
+; VI-NEXT: ; implicit-def: $vgpr48
+; VI-NEXT: ; implicit-def: $vgpr57
+; VI-NEXT: ; implicit-def: $vgpr38
+; VI-NEXT: ; kill: killed $vgpr35
+; VI-NEXT: ; implicit-def: $vgpr36
+; VI-NEXT: ; implicit-def: $vgpr35
; VI-NEXT: ; implicit-def: $vgpr55
-; VI-NEXT: ; implicit-def: $vgpr42
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr41
; VI-NEXT: ; implicit-def: $vgpr40
@@ -5410,35 +5411,33 @@ define <128 x i8> @bitcast_v32i32_to_v128i8(<32 x i32> %a, i32 %b) #0 {
; VI-NEXT: ; implicit-def: $vgpr54
; VI-NEXT: ; implicit-def: $vgpr53
; VI-NEXT: ; implicit-def: $vgpr52
-; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr35
-; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr35
-; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr35
-; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr35
-; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr35
-; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr35
-; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr35
-; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr35
-; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr35
-; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr51
+; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr42
+; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr42
+; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr42
+; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr42
+; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr42
+; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr42
+; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr42
+; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr42
+; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
; VI-NEXT: s_waitcnt vmcnt(14)
; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v33
; VI-NEXT: ; implicit-def: $vgpr33
@@ -5447,180 +5446,181 @@ define <128 x i8> @bitcast_v32i32_to_v128i8(<32 x i32> %a, i32 %b) #0 {
; VI-NEXT: s_cbranch_execz .LBB12_2
; VI-NEXT: ; %bb.1: ; %cmp.false
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v32
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v32
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v32
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v31
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v31
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v30
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v30
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v30
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v29
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v29
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v28
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v28
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v28
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v27
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v27
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v26
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v26
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v26
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v25
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v25
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v24
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v24
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v24
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v23
-; VI-NEXT: v_lshrrev_b64 v[52:53], 24, v[31:32]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v23
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[51:52], 24, v[31:32]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v22
-; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v22
-; VI-NEXT: v_lshrrev_b64 v[52:53], 24, v[29:30]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v22
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[51:52], 24, v[29:30]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v21
-; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v21
-; VI-NEXT: v_lshrrev_b64 v[52:53], 24, v[27:28]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v20
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[51:52], 24, v[27:28]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v20
-; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v20
+; VI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v19
-; VI-NEXT: v_lshrrev_b64 v[52:53], 24, v[25:26]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v18
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v18
-; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[51:52], 24, v[25:26]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v18
-; VI-NEXT: v_lshrrev_b64 v[52:53], 24, v[23:24]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v17
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v17
-; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v16
-; VI-NEXT: v_lshrrev_b64 v[52:53], 24, v[21:22]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[51:52], 24, v[23:24]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v16
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v16
-; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v15
-; VI-NEXT: v_lshrrev_b64 v[52:53], 24, v[19:20]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[51:52], 24, v[21:22]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v15
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v14
-; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v14
-; VI-NEXT: v_lshrrev_b64 v[52:53], 24, v[17:18]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[51:52], 24, v[19:20]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v14
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v13
-; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v13
+; VI-NEXT: v_lshrrev_b64 v[51:52], 24, v[17:18]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v12
-; VI-NEXT: v_lshrrev_b64 v[52:53], 24, v[15:16]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v12
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v12
+; VI-NEXT: v_lshrrev_b64 v[51:52], 24, v[15:16]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v10
-; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v10
-; VI-NEXT: v_lshrrev_b64 v[52:53], 24, v[13:14]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v8
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[51:52], 24, v[13:14]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v8
-; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v6
; VI-NEXT: v_lshrrev_b64 v[52:53], 24, v[11:12]
-; VI-NEXT: v_lshrrev_b64 v[39:40], 24, v[5:6]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v6
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v6
; VI-NEXT: v_lshrrev_b64 v[53:54], 24, v[9:10]
-; VI-NEXT: v_lshrrev_b64 v[40:41], 24, v[3:4]
-; VI-NEXT: v_lshrrev_b32_e32 v35, 8, v20
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v4
+; VI-NEXT: v_lshrrev_b32_e32 v39, 8, v19
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v6
; VI-NEXT: v_lshrrev_b64 v[54:55], 24, v[7:8]
-; VI-NEXT: v_lshrrev_b64 v[41:42], 24, v[1:2]
-; VI-NEXT: v_lshrrev_b32_e32 v36, 8, v13
-; VI-NEXT: v_lshrrev_b32_e32 v34, 8, v12
-; VI-NEXT: v_lshrrev_b32_e32 v43, 16, v11
-; VI-NEXT: v_lshrrev_b32_e32 v37, 8, v11
-; VI-NEXT: v_lshrrev_b32_e32 v49, 8, v10
-; VI-NEXT: v_lshrrev_b32_e32 v46, 16, v9
-; VI-NEXT: v_lshrrev_b32_e32 v38, 8, v9
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v4
+; VI-NEXT: v_mov_b32_e32 v55, v39
+; VI-NEXT: v_lshrrev_b64 v[39:40], 24, v[5:6]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v4
+; VI-NEXT: v_lshrrev_b64 v[40:41], 24, v[3:4]
+; VI-NEXT: v_lshrrev_b32_e32 v35, 24, v18
+; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v18
+; VI-NEXT: v_lshrrev_b32_e32 v38, 24, v16
+; VI-NEXT: v_lshrrev_b32_e32 v57, 16, v11
+; VI-NEXT: v_lshrrev_b32_e32 v48, 8, v11
+; VI-NEXT: v_lshrrev_b32_e32 v45, 8, v10
+; VI-NEXT: v_lshrrev_b32_e32 v49, 16, v9
+; VI-NEXT: v_lshrrev_b32_e32 v46, 8, v9
; VI-NEXT: v_lshrrev_b32_e32 v47, 8, v8
-; VI-NEXT: v_lshrrev_b32_e32 v50, 16, v7
+; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v7
; VI-NEXT: v_lshrrev_b32_e32 v56, 8, v7
-; VI-NEXT: v_lshrrev_b32_e32 v57, 8, v6
-; VI-NEXT: v_lshrrev_b32_e32 v58, 16, v5
-; VI-NEXT: v_lshrrev_b32_e32 v59, 8, v5
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v48, 16, v4
-; VI-NEXT: v_lshrrev_b32_e32 v60, 8, v4
-; VI-NEXT: v_lshrrev_b32_e32 v51, 16, v3
-; VI-NEXT: v_lshrrev_b32_e32 v61, 8, v3
+; VI-NEXT: v_lshrrev_b32_e32 v62, 8, v6
+; VI-NEXT: v_lshrrev_b32_e32 v50, 16, v5
+; VI-NEXT: v_lshrrev_b32_e32 v43, 8, v5
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v58, 8, v4
+; VI-NEXT: v_lshrrev_b32_e32 v59, 16, v3
+; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v3
; VI-NEXT: v_lshrrev_b32_e32 v44, 24, v2
-; VI-NEXT: v_lshrrev_b32_e32 v45, 16, v2
-; VI-NEXT: v_lshrrev_b32_e32 v62, 8, v2
-; VI-NEXT: v_lshrrev_b32_e32 v63, 16, v1
-; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v1
-; VI-NEXT: v_lshrrev_b32_e32 v55, 8, v19
-; VI-NEXT: v_mov_b32_e32 v42, v35
+; VI-NEXT: v_lshrrev_b32_e32 v60, 16, v2
+; VI-NEXT: v_lshrrev_b32_e32 v61, 8, v2
+; VI-NEXT: v_lshrrev_b32_e32 v34, 16, v1
+; VI-NEXT: v_lshrrev_b32_e32 v63, 8, v1
+; VI-NEXT: v_lshrrev_b64 v[41:42], 24, v[1:2]
; VI-NEXT: .LBB12_2: ; %Flow
-; VI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]
+; VI-NEXT: s_or_saveexec_b64 s[4:5], s[4:5]
+; VI-NEXT: v_mov_b32_e32 v42, v38
+; VI-NEXT: s_xor_b64 exec, exec, s[4:5]
; VI-NEXT: s_cbranch_execz .LBB12_4
; VI-NEXT: ; %bb.3: ; %cmp.true
; VI-NEXT: v_add_u32_e32 v32, vcc, 3, v32
@@ -5666,326 +5666,326 @@ define <128 x i8> @bitcast_v32i32_to_v128i8(<32 x i32> %a, i32 %b) #0 {
; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b64 v[33:34], 24, v[15:16]
-; VI-NEXT: v_add_u32_e32 v14, vcc, 3, v14
-; VI-NEXT: v_add_u32_e32 v13, vcc, 3, v13
; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[33:34], 24, v[13:14]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v32
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v32
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v32
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v31
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v31
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v30
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v30
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v30
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v29
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v29
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v28
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v28
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v28
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v27
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v27
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v26
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v26
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v26
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v25
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v25
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v24
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v24
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v24
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v23
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v23
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v22
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v22
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v22
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v21
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v21
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v20
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v20
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v20
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v19
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v18
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v18
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v18
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v17
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v17
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v16
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v16
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v16
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v15
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
+; VI-NEXT: v_add_u32_e32 v14, vcc, 3, v14
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v15
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v14
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v14
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
+; VI-NEXT: v_add_u32_e32 v13, vcc, 3, v13
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v14
-; VI-NEXT: v_add_u32_e32 v12, vcc, 3, v12
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v13
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
+; VI-NEXT: v_add_u32_e32 v12, vcc, 3, v12
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v13
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v12
-; VI-NEXT: v_add_u32_e32 v10, vcc, 3, v10
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v12
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
+; VI-NEXT: v_add_u32_e32 v10, vcc, 3, v10
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v12
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v10
; VI-NEXT: v_add_u32_e32 v8, vcc, 3, v8
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v10
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v8
; VI-NEXT: v_add_u32_e32 v6, vcc, 3, v6
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v8
; VI-NEXT: v_add_u32_e32 v5, vcc, 3, v5
; VI-NEXT: v_add_u32_e32 v11, vcc, 3, v11
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v8
+; VI-NEXT: v_lshrrev_b64 v[51:52], 24, v[13:14]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v6
; VI-NEXT: v_add_u32_e32 v4, vcc, 3, v4
; VI-NEXT: v_add_u32_e32 v3, vcc, 3, v3
; VI-NEXT: v_add_u32_e32 v9, vcc, 3, v9
; VI-NEXT: v_lshrrev_b64 v[52:53], 24, v[11:12]
; VI-NEXT: v_lshrrev_b64 v[39:40], 24, v[5:6]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v6
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v6
; VI-NEXT: v_add_u32_e32 v2, vcc, 3, v2
; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v1
; VI-NEXT: v_add_u32_e32 v7, vcc, 3, v7
; VI-NEXT: v_lshrrev_b64 v[53:54], 24, v[9:10]
; VI-NEXT: v_lshrrev_b64 v[40:41], 24, v[3:4]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v6
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v4
; VI-NEXT: v_lshrrev_b64 v[54:55], 24, v[7:8]
; VI-NEXT: v_lshrrev_b64 v[41:42], 24, v[1:2]
; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v4
-; VI-NEXT: v_lshrrev_b32_e32 v42, 8, v20
+; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v4
; VI-NEXT: v_lshrrev_b32_e32 v55, 8, v19
-; VI-NEXT: v_lshrrev_b32_e32 v36, 8, v13
-; VI-NEXT: v_lshrrev_b32_e32 v34, 8, v12
-; VI-NEXT: v_lshrrev_b32_e32 v43, 16, v11
-; VI-NEXT: v_lshrrev_b32_e32 v37, 8, v11
-; VI-NEXT: v_lshrrev_b32_e32 v49, 8, v10
-; VI-NEXT: v_lshrrev_b32_e32 v46, 16, v9
-; VI-NEXT: v_lshrrev_b32_e32 v38, 8, v9
+; VI-NEXT: v_lshrrev_b32_e32 v35, 24, v18
+; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v18
+; VI-NEXT: v_lshrrev_b32_e32 v42, 24, v16
+; VI-NEXT: v_lshrrev_b32_e32 v57, 16, v11
+; VI-NEXT: v_lshrrev_b32_e32 v48, 8, v11
+; VI-NEXT: v_lshrrev_b32_e32 v45, 8, v10
+; VI-NEXT: v_lshrrev_b32_e32 v49, 16, v9
+; VI-NEXT: v_lshrrev_b32_e32 v46, 8, v9
; VI-NEXT: v_lshrrev_b32_e32 v47, 8, v8
-; VI-NEXT: v_lshrrev_b32_e32 v50, 16, v7
+; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v7
; VI-NEXT: v_lshrrev_b32_e32 v56, 8, v7
-; VI-NEXT: v_lshrrev_b32_e32 v57, 8, v6
-; VI-NEXT: v_lshrrev_b32_e32 v58, 16, v5
-; VI-NEXT: v_lshrrev_b32_e32 v59, 8, v5
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v48, 16, v4
-; VI-NEXT: v_lshrrev_b32_e32 v60, 8, v4
-; VI-NEXT: v_lshrrev_b32_e32 v51, 16, v3
-; VI-NEXT: v_lshrrev_b32_e32 v61, 8, v3
+; VI-NEXT: v_lshrrev_b32_e32 v62, 8, v6
+; VI-NEXT: v_lshrrev_b32_e32 v50, 16, v5
+; VI-NEXT: v_lshrrev_b32_e32 v43, 8, v5
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v58, 8, v4
+; VI-NEXT: v_lshrrev_b32_e32 v59, 16, v3
+; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v3
; VI-NEXT: v_lshrrev_b32_e32 v44, 24, v2
-; VI-NEXT: v_lshrrev_b32_e32 v45, 16, v2
-; VI-NEXT: v_lshrrev_b32_e32 v62, 8, v2
-; VI-NEXT: v_lshrrev_b32_e32 v63, 16, v1
-; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v1
+; VI-NEXT: v_lshrrev_b32_e32 v60, 16, v2
+; VI-NEXT: v_lshrrev_b32_e32 v61, 8, v2
+; VI-NEXT: v_lshrrev_b32_e32 v34, 16, v1
+; VI-NEXT: v_lshrrev_b32_e32 v63, 8, v1
; VI-NEXT: .LBB12_4: ; %end
; VI-NEXT: s_or_b64 exec, exec, s[4:5]
+; VI-NEXT: buffer_load_dword v38, off, s[0:3], s32 offset:372 ; 4-byte Folded Reload
; VI-NEXT: s_mov_b32 s4, 0xc0c0004
-; VI-NEXT: v_perm_b32 v12, v12, v34, s4
-; VI-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:372 ; 4-byte Folded Reload
-; VI-NEXT: v_perm_b32 v13, v13, v36, s4
-; VI-NEXT: v_perm_b32 v1, v1, v33, s4
-; VI-NEXT: v_perm_b32 v33, v51, v40, s4
-; VI-NEXT: v_perm_b32 v51, v46, v53, s4
-; VI-NEXT: v_perm_b32 v9, v9, v38, s4
-; VI-NEXT: v_perm_b32 v38, v43, v52, s4
-; VI-NEXT: v_perm_b32 v11, v11, v37, s4
-; VI-NEXT: v_perm_b32 v41, v63, v41, s4
-; VI-NEXT: v_perm_b32 v10, v10, v49, s4
-; VI-NEXT: v_perm_b32 v2, v2, v62, s4
-; VI-NEXT: v_perm_b32 v3, v3, v61, s4
-; VI-NEXT: v_perm_b32 v4, v4, v60, s4
-; VI-NEXT: v_perm_b32 v39, v58, v39, s4
-; VI-NEXT: v_perm_b32 v5, v5, v59, s4
-; VI-NEXT: v_perm_b32 v6, v6, v57, s4
-; VI-NEXT: v_perm_b32 v50, v50, v54, s4
+; VI-NEXT: v_perm_b32 v11, v11, v48, s4
+; VI-NEXT: v_perm_b32 v3, v3, v33, s4
+; VI-NEXT: v_perm_b32 v33, v50, v39, s4
+; VI-NEXT: v_perm_b32 v39, v49, v53, s4
+; VI-NEXT: v_perm_b32 v49, v57, v52, s4
+; VI-NEXT: v_perm_b32 v34, v34, v41, s4
+; VI-NEXT: v_perm_b32 v1, v1, v63, s4
+; VI-NEXT: v_lshlrev_b32_e32 v34, 16, v34
+; VI-NEXT: v_or_b32_e32 v1, v1, v34
+; VI-NEXT: v_perm_b32 v2, v2, v61, s4
+; VI-NEXT: v_perm_b32 v40, v59, v40, s4
+; VI-NEXT: v_perm_b32 v4, v4, v58, s4
+; VI-NEXT: v_perm_b32 v5, v5, v43, s4
+; VI-NEXT: v_perm_b32 v6, v6, v62, s4
+; VI-NEXT: v_perm_b32 v37, v37, v54, s4
; VI-NEXT: v_perm_b32 v7, v7, v56, s4
; VI-NEXT: v_perm_b32 v8, v8, v47, s4
+; VI-NEXT: v_perm_b32 v9, v9, v46, s4
+; VI-NEXT: v_perm_b32 v10, v10, v45, s4
+; VI-NEXT: buffer_load_dword v48, off, s[0:3], s32 offset:360 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(1)
+; VI-NEXT: v_perm_b32 v12, v12, v38, s4
+; VI-NEXT: buffer_load_dword v38, off, s[0:3], s32 offset:356 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(1)
+; VI-NEXT: v_perm_b32 v13, v13, v48, s4
+; VI-NEXT: buffer_load_dword v48, off, s[0:3], s32 offset:352 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(1)
+; VI-NEXT: v_perm_b32 v38, v38, v51, s4
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v34, v35, v34, s4
-; VI-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:368 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v14, v14, v35, s4
-; VI-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v36, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v36, off, s[0:3], s32 offset:352 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v35, v36, v35, s4
-; VI-NEXT: buffer_load_dword v36, off, s[0:3], s32 offset:356 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v14, v14, v48, s4
+; VI-NEXT: buffer_load_dword v48, off, s[0:3], s32 offset:336 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(1)
+; VI-NEXT: v_perm_b32 v48, v48, v50, s4
+; VI-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:340 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v15, v15, v36, s4
-; VI-NEXT: buffer_load_dword v36, off, s[0:3], s32 offset:344 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v15, v15, v50, s4
+; VI-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:328 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v16, v16, v36, s4
-; VI-NEXT: buffer_load_dword v36, off, s[0:3], s32 offset:328 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v16, v16, v50, s4
+; VI-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:312 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_perm_b32 v37, v36, v52, s4
-; VI-NEXT: buffer_load_dword v36, off, s[0:3], s32 offset:336 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v50, v50, v51, s4
+; VI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:320 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v17, v17, v36, s4
-; VI-NEXT: buffer_load_dword v36, off, s[0:3], s32 offset:320 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v17, v17, v51, s4
+; VI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:304 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v18, v18, v36, s4
-; VI-NEXT: buffer_load_dword v36, off, s[0:3], s32 offset:308 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v18, v18, v51, s4
+; VI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_perm_b32 v49, v36, v52, s4
-; VI-NEXT: v_lshlrev_b32_e32 v52, 16, v41
-; VI-NEXT: v_or_b32_e32 v1, v1, v52
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen
-; VI-NEXT: v_perm_b32 v1, v45, v44, s4
+; VI-NEXT: v_perm_b32 v1, v60, v44, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v2, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:4
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v33
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v40
; VI-NEXT: v_or_b32_e32 v1, v3, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:8
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:376 ; 4-byte Folded Reload
-; VI-NEXT: v_perm_b32 v3, v20, v42, s4
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:364 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:368 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(6)
+; VI-NEXT: v_perm_b32 v51, v51, v52, s4
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v48, v1, s4
+; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v4, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:12
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v39
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v33
; VI-NEXT: v_or_b32_e32 v1, v5, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:16
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:360 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:364 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:344 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:348 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v6, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:20
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v50
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v37
; VI-NEXT: v_or_b32_e32 v1, v7, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:24
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:340 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:348 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:324 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:332 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v8, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:28
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v51
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v39
; VI-NEXT: v_or_b32_e32 v1, v9, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:32
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:324 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:332 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:308 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:316 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v10, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:36
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v38
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v49
; VI-NEXT: v_or_b32_e32 v1, v11, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:40
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:312 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:316 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:300 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v12, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:44
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v34
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v38
; VI-NEXT: v_or_b32_e32 v1, v13, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:48
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:300 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:304 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
+; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v51
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v14, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:52
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v35
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v48
; VI-NEXT: v_or_b32_e32 v1, v15, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:56
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:280 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v2, v1, s4
+; VI-NEXT: v_perm_b32 v1, v1, v42, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v16, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:60
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v37
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v50
; VI-NEXT: v_or_b32_e32 v1, v17, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:64
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v2, v1, s4
+; VI-NEXT: v_perm_b32 v1, v36, v35, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v18, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:68
; VI-NEXT: v_perm_b32 v1, v19, v55, s4
-; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v49
; VI-NEXT: v_or_b32_e32 v1, v1, v2
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:72
; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:276 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:280 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_perm_b32 v3, v20, v1, s4
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:268 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:272 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v3, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:76
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:272 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v2, v21, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:268 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
@@ -5993,20 +5993,20 @@ define <128 x i8> @bitcast_v32i32_to_v128i8(<32 x i32> %a, i32 %b) #0 {
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v2, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:80
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v3, v22, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v3, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:84
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v2, v23, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
@@ -6014,20 +6014,20 @@ define <128 x i8> @bitcast_v32i32_to_v128i8(<32 x i32> %a, i32 %b) #0 {
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v2, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:88
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v3, v24, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v3, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:92
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v2, v25, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
@@ -6035,20 +6035,20 @@ define <128 x i8> @bitcast_v32i32_to_v128i8(<32 x i32> %a, i32 %b) #0 {
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v2, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:96
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v3, v26, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v3, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:100
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v2, v27, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
@@ -6056,20 +6056,20 @@ define <128 x i8> @bitcast_v32i32_to_v128i8(<32 x i32> %a, i32 %b) #0 {
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v2, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:104
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v3, v28, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v3, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:108
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v2, v29, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
@@ -6077,20 +6077,20 @@ define <128 x i8> @bitcast_v32i32_to_v128i8(<32 x i32> %a, i32 %b) #0 {
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v2, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:112
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v3, v30, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v3, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:116
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v2, v31, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
@@ -6098,11 +6098,11 @@ define <128 x i8> @bitcast_v32i32_to_v128i8(<32 x i32> %a, i32 %b) #0 {
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v2, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:120
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v3, v32, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
@@ -6206,90 +6206,40 @@ define <128 x i8> @bitcast_v32i32_to_v128i8(<32 x i32> %a, i32 %b) #0 {
; GFX9-NEXT: ; implicit-def: $vgpr39
; GFX9-NEXT: ; kill: killed $vgpr39
; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr34
; GFX9-NEXT: ; kill: killed $vgpr39
; GFX9-NEXT: ; implicit-def: $vgpr39
-; GFX9-NEXT: ; kill: killed $vgpr39
-; GFX9-NEXT: ; implicit-def: $vgpr39
-; GFX9-NEXT: ; kill: killed $vgpr39
-; GFX9-NEXT: ; implicit-def: $vgpr39
-; GFX9-NEXT: ; implicit-def: $vgpr43
-; GFX9-NEXT: ; kill: killed $vgpr39
-; GFX9-NEXT: ; implicit-def: $vgpr39
-; GFX9-NEXT: ; implicit-def: $vgpr42
-; GFX9-NEXT: ; implicit-def: $vgpr63
-; GFX9-NEXT: ; implicit-def: $vgpr59
-; GFX9-NEXT: ; implicit-def: $vgpr48
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr62
-; GFX9-NEXT: ; implicit-def: $vgpr58
-; GFX9-NEXT: ; implicit-def: $vgpr57
-; GFX9-NEXT: ; implicit-def: $vgpr49
-; GFX9-NEXT: ; implicit-def: $vgpr37
; GFX9-NEXT: ; implicit-def: $vgpr52
+; GFX9-NEXT: ; implicit-def: $vgpr63
+; GFX9-NEXT: ; implicit-def: $vgpr47
; GFX9-NEXT: ; implicit-def: $vgpr46
-; GFX9-NEXT: ; implicit-def: $vgpr36
-; GFX9-NEXT: ; implicit-def: $vgpr60
-; GFX9-NEXT: ; implicit-def: $vgpr51
-; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr38
; GFX9-NEXT: ; implicit-def: $vgpr45
-; GFX9-NEXT: ; implicit-def: $vgpr44
+; GFX9-NEXT: ; implicit-def: $vgpr51
+; GFX9-NEXT: ; implicit-def: $vgpr58
+; GFX9-NEXT: ; implicit-def: $vgpr36
; GFX9-NEXT: ; implicit-def: $vgpr50
-; GFX9-NEXT: ; implicit-def: $vgpr38
-; GFX9-NEXT: ; implicit-def: $vgpr47
+; GFX9-NEXT: ; implicit-def: $vgpr56
; GFX9-NEXT: ; implicit-def: $vgpr35
+; GFX9-NEXT: ; implicit-def: $vgpr49
+; GFX9-NEXT: ; implicit-def: $vgpr44
; GFX9-NEXT: ; implicit-def: $vgpr61
; GFX9-NEXT: ; implicit-def: $vgpr55
+; GFX9-NEXT: ; implicit-def: $vgpr42
+; GFX9-NEXT: ; implicit-def: $vgpr48
+; GFX9-NEXT: ; implicit-def: $vgpr37
+; GFX9-NEXT: ; implicit-def: $vgpr62
+; GFX9-NEXT: ; implicit-def: $vgpr57
+; GFX9-NEXT: ; implicit-def: $vgpr60
+; GFX9-NEXT: ; implicit-def: $vgpr43
+; GFX9-NEXT: ; implicit-def: $vgpr59
; GFX9-NEXT: ; kill: killed $vgpr39
; GFX9-NEXT: ; implicit-def: $vgpr41
; GFX9-NEXT: ; implicit-def: $vgpr40
; GFX9-NEXT: ; implicit-def: $vgpr39
; GFX9-NEXT: ; implicit-def: $vgpr54
; GFX9-NEXT: ; implicit-def: $vgpr53
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr42
-; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr42
-; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr42
-; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr42
-; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr42
-; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr42
-; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr42
-; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr42
-; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr42
-; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr42
-; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
-; GFX9-NEXT: s_waitcnt vmcnt(23)
+; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v33
; GFX9-NEXT: ; implicit-def: $vgpr33
; GFX9-NEXT: ; kill: killed $vgpr33
@@ -6336,200 +6286,246 @@ define <128 x i8> @bitcast_v32i32_to_v128i8(<32 x i32> %a, i32 %b) #0 {
; GFX9-NEXT: ; implicit-def: $vgpr33
; GFX9-NEXT: ; kill: killed $vgpr33
; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: ; kill: killed $vgpr33
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: ; kill: killed $vgpr33
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: ; kill: killed $vgpr33
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
; GFX9-NEXT: s_and_saveexec_b64 s[4:5], vcc
; GFX9-NEXT: s_xor_b64 s[4:5], exec, s[4:5]
; GFX9-NEXT: s_cbranch_execz .LBB12_2
; GFX9-NEXT: ; %bb.1: ; %cmp.false
-; GFX9-NEXT: s_waitcnt vmcnt(22)
-; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[31:32]
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v32
-; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[29:30]
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v32
-; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v32
-; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[27:28]
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; GFX9-NEXT: s_waitcnt vmcnt(25)
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v31
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v31
-; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v30
-; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[25:26]
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v30
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v30
-; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v29
-; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[23:24]
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v29
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v28
-; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v28
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v18
-; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[21:22]
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v28
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v17
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v27
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v17
-; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v27
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v16
-; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[19:20]
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v26
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v16
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v26
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v16
-; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v26
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v15
-; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[17:18]
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v25
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v15
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v25
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v14
-; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v24
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v14
-; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[15:16]
+; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[31:32]
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v24
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v14
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v24
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v13
-; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v23
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v13
-; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[13:14]
+; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[29:30]
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v23
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v12
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v22
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v12
-; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v22
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v12
-; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[11:12]
+; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[27:28]
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v22
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v10
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v21
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v10
-; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v21
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v8
-; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[9:10]
+; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[25:26]
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v20
-; GFX9-NEXT: v_lshrrev_b32_e32 v39, 8, v20
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v8
-; GFX9-NEXT: v_lshrrev_b64 v[54:55], 24, v[7:8]
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v18
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v17
+; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v17
+; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[23:24]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v16
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v15
+; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v15
+; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[21:22]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v14
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v13
+; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v13
+; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[19:20]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v12
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v20
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v6
-; GFX9-NEXT: v_mov_b32_e32 v55, v39
-; GFX9-NEXT: v_lshrrev_b64 v[39:40], 24, v[5:6]
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v12
+; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v19
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v6
-; GFX9-NEXT: v_lshrrev_b64 v[40:41], 24, v[3:4]
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v12
+; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[17:18]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v11
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v11
+; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v10
+; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[15:16]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v10
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v61, 8, v19
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v18
-; GFX9-NEXT: v_lshrrev_b32_e32 v35, 16, v18
-; GFX9-NEXT: v_lshrrev_b32_e32 v47, 16, v11
-; GFX9-NEXT: v_lshrrev_b32_e32 v38, 8, v11
-; GFX9-NEXT: v_lshrrev_b32_e32 v50, 8, v10
-; GFX9-NEXT: v_lshrrev_b32_e32 v44, 16, v9
-; GFX9-NEXT: v_lshrrev_b32_e32 v45, 8, v9
-; GFX9-NEXT: v_lshrrev_b32_e32 v56, 8, v8
-; GFX9-NEXT: v_lshrrev_b32_e32 v51, 16, v7
-; GFX9-NEXT: v_lshrrev_b32_e32 v60, 8, v7
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v36, 8, v6
-; GFX9-NEXT: v_lshrrev_b32_e32 v46, 16, v5
-; GFX9-NEXT: v_lshrrev_b32_e32 v52, 8, v5
-; GFX9-NEXT: v_lshrrev_b32_e32 v37, 24, v4
-; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v4
-; GFX9-NEXT: v_lshrrev_b32_e32 v57, 8, v4
-; GFX9-NEXT: v_lshrrev_b32_e32 v58, 16, v3
-; GFX9-NEXT: v_lshrrev_b32_e32 v62, 8, v3
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v2
-; GFX9-NEXT: v_lshrrev_b32_e32 v43, 16, v2
-; GFX9-NEXT: v_lshrrev_b32_e32 v48, 8, v2
-; GFX9-NEXT: v_lshrrev_b32_e32 v59, 16, v1
-; GFX9-NEXT: v_lshrrev_b32_e32 v63, 8, v1
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v10
+; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v8
+; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[13:14]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v8
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v6
+; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v6
+; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[11:12]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v4
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v4
+; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[39:40], 24, v[5:6]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v2
+; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[9:10]
+; GFX9-NEXT: v_lshrrev_b64 v[40:41], 24, v[3:4]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v2
+; GFX9-NEXT: v_lshrrev_b64 v[54:55], 24, v[7:8]
; GFX9-NEXT: v_lshrrev_b64 v[41:42], 24, v[1:2]
+; GFX9-NEXT: v_lshrrev_b32_e32 v59, 24, v20
+; GFX9-NEXT: v_lshrrev_b32_e32 v43, 16, v20
+; GFX9-NEXT: v_lshrrev_b32_e32 v60, 8, v20
+; GFX9-NEXT: v_lshrrev_b32_e32 v57, 16, v19
+; GFX9-NEXT: v_lshrrev_b32_e32 v62, 8, v19
+; GFX9-NEXT: v_lshrrev_b32_e32 v37, 24, v18
+; GFX9-NEXT: v_lshrrev_b32_e32 v48, 16, v18
+; GFX9-NEXT: v_lshrrev_b32_e32 v61, 24, v14
+; GFX9-NEXT: v_lshrrev_b32_e32 v44, 16, v14
+; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v9
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 8, v9
+; GFX9-NEXT: v_lshrrev_b32_e32 v35, 8, v8
+; GFX9-NEXT: v_lshrrev_b32_e32 v56, 16, v7
+; GFX9-NEXT: v_lshrrev_b32_e32 v50, 8, v7
+; GFX9-NEXT: v_lshrrev_b32_e32 v36, 8, v6
+; GFX9-NEXT: v_lshrrev_b32_e32 v58, 16, v5
+; GFX9-NEXT: v_lshrrev_b32_e32 v51, 8, v5
+; GFX9-NEXT: v_lshrrev_b32_e32 v45, 8, v4
+; GFX9-NEXT: v_lshrrev_b32_e32 v38, 16, v3
+; GFX9-NEXT: v_lshrrev_b32_e32 v46, 8, v3
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v47, 8, v2
+; GFX9-NEXT: v_lshrrev_b32_e32 v63, 16, v1
+; GFX9-NEXT: v_lshrrev_b32_e32 v52, 8, v1
+; GFX9-NEXT: v_lshrrev_b32_e32 v55, 16, v16
+; GFX9-NEXT: v_lshrrev_b32_e32 v42, 24, v16
; GFX9-NEXT: .LBB12_2: ; %Flow
-; GFX9-NEXT: s_or_saveexec_b64 s[4:5], s[4:5]
-; GFX9-NEXT: v_mov_b32_e32 v42, v35
-; GFX9-NEXT: s_xor_b64 exec, exec, s[4:5]
+; GFX9-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]
; GFX9-NEXT: s_cbranch_execz .LBB12_4
; GFX9-NEXT: ; %bb.3: ; %cmp.true
; GFX9-NEXT: v_add_u32_e32 v32, 3, v32
@@ -6622,275 +6618,276 @@ define <128 x i8> @bitcast_v32i32_to_v128i8(<32 x i32> %a, i32 %b) #0 {
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v28
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v28
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v18
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v28
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v17
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v27
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v17
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v27
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v16
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v26
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v16
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v26
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v16
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v26
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v15
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v25
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v15
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v25
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v14
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v24
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v14
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v24
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v14
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v24
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v13
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v23
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v13
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v23
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v12
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v22
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v12
-; GFX9-NEXT: v_add_u32_e32 v10, 3, v10
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v22
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v12
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v22
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v10
-; GFX9-NEXT: v_add_u32_e32 v8, 3, v8
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v21
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v10
-; GFX9-NEXT: v_add_u32_e32 v6, 3, v6
-; GFX9-NEXT: v_add_u32_e32 v5, 3, v5
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v21
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v8
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v18
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v17
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v17
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v16
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v15
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v15
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v14
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v13
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v13
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v12
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v12
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v12
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v11
+; GFX9-NEXT: v_add_u32_e32 v10, 3, v10
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v11
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v10
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v10
+; GFX9-NEXT: v_add_u32_e32 v8, 3, v8
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v10
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v8
+; GFX9-NEXT: v_add_u32_e32 v6, 3, v6
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v8
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v6
; GFX9-NEXT: v_add_u32_e32 v4, 3, v4
+; GFX9-NEXT: v_add_u32_e32 v5, 3, v5
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v6
; GFX9-NEXT: v_add_u32_e32 v3, 3, v3
; GFX9-NEXT: v_add_u32_e32 v9, 3, v9
; GFX9-NEXT: v_lshrrev_b64 v[39:40], 24, v[5:6]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v20
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v8
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v4
; GFX9-NEXT: v_add_u32_e32 v2, 3, v2
; GFX9-NEXT: v_add_u32_e32 v1, 3, v1
; GFX9-NEXT: v_add_u32_e32 v7, 3, v7
; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[9:10]
; GFX9-NEXT: v_lshrrev_b64 v[40:41], 24, v[3:4]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v20
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v6
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v4
; GFX9-NEXT: v_lshrrev_b64 v[54:55], 24, v[7:8]
; GFX9-NEXT: v_lshrrev_b64 v[41:42], 24, v[1:2]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v19
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v6
-; GFX9-NEXT: v_lshrrev_b32_e32 v55, 8, v20
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v61, 8, v19
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v18
-; GFX9-NEXT: v_lshrrev_b32_e32 v42, 16, v18
-; GFX9-NEXT: v_lshrrev_b32_e32 v47, 16, v11
-; GFX9-NEXT: v_lshrrev_b32_e32 v38, 8, v11
-; GFX9-NEXT: v_lshrrev_b32_e32 v50, 8, v10
-; GFX9-NEXT: v_lshrrev_b32_e32 v44, 16, v9
-; GFX9-NEXT: v_lshrrev_b32_e32 v45, 8, v9
-; GFX9-NEXT: v_lshrrev_b32_e32 v56, 8, v8
-; GFX9-NEXT: v_lshrrev_b32_e32 v51, 16, v7
-; GFX9-NEXT: v_lshrrev_b32_e32 v60, 8, v7
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v2
+; GFX9-NEXT: v_lshrrev_b32_e32 v59, 24, v20
+; GFX9-NEXT: v_lshrrev_b32_e32 v43, 16, v20
+; GFX9-NEXT: v_lshrrev_b32_e32 v60, 8, v20
+; GFX9-NEXT: v_lshrrev_b32_e32 v57, 16, v19
+; GFX9-NEXT: v_lshrrev_b32_e32 v62, 8, v19
+; GFX9-NEXT: v_lshrrev_b32_e32 v37, 24, v18
+; GFX9-NEXT: v_lshrrev_b32_e32 v48, 16, v18
+; GFX9-NEXT: v_lshrrev_b32_e32 v42, 24, v16
+; GFX9-NEXT: v_lshrrev_b32_e32 v55, 16, v16
+; GFX9-NEXT: v_lshrrev_b32_e32 v61, 24, v14
+; GFX9-NEXT: v_lshrrev_b32_e32 v44, 16, v14
+; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v9
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 8, v9
+; GFX9-NEXT: v_lshrrev_b32_e32 v35, 8, v8
+; GFX9-NEXT: v_lshrrev_b32_e32 v56, 16, v7
+; GFX9-NEXT: v_lshrrev_b32_e32 v50, 8, v7
; GFX9-NEXT: v_lshrrev_b32_e32 v36, 8, v6
-; GFX9-NEXT: v_lshrrev_b32_e32 v46, 16, v5
-; GFX9-NEXT: v_lshrrev_b32_e32 v52, 8, v5
-; GFX9-NEXT: v_lshrrev_b32_e32 v37, 24, v4
-; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v4
-; GFX9-NEXT: v_lshrrev_b32_e32 v57, 8, v4
-; GFX9-NEXT: v_lshrrev_b32_e32 v58, 16, v3
-; GFX9-NEXT: v_lshrrev_b32_e32 v62, 8, v3
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v2
-; GFX9-NEXT: v_lshrrev_b32_e32 v43, 16, v2
-; GFX9-NEXT: v_lshrrev_b32_e32 v48, 8, v2
-; GFX9-NEXT: v_lshrrev_b32_e32 v59, 16, v1
-; GFX9-NEXT: v_lshrrev_b32_e32 v63, 8, v1
+; GFX9-NEXT: v_lshrrev_b32_e32 v58, 16, v5
+; GFX9-NEXT: v_lshrrev_b32_e32 v51, 8, v5
+; GFX9-NEXT: v_lshrrev_b32_e32 v45, 8, v4
+; GFX9-NEXT: v_lshrrev_b32_e32 v38, 16, v3
+; GFX9-NEXT: v_lshrrev_b32_e32 v46, 8, v3
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v2
+; GFX9-NEXT: v_lshrrev_b32_e32 v47, 8, v2
+; GFX9-NEXT: v_lshrrev_b32_e32 v63, 16, v1
+; GFX9-NEXT: v_lshrrev_b32_e32 v52, 8, v1
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
; GFX9-NEXT: .LBB12_4: ; %end
; GFX9-NEXT: s_or_b64 exec, exec, s[4:5]
; GFX9-NEXT: s_mov_b32 s4, 0xc0c0004
-; GFX9-NEXT: v_perm_b32 v11, v11, v38, s4
-; GFX9-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:380 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v38, off, s[0:3], s32 offset:372 ; 4-byte Folded Reload
-; GFX9-NEXT: v_perm_b32 v5, v5, v52, s4
-; GFX9-NEXT: v_perm_b32 v6, v6, v36, s4
-; GFX9-NEXT: v_perm_b32 v36, v51, v54, s4
-; GFX9-NEXT: v_perm_b32 v51, v44, v53, s4
-; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
-; GFX9-NEXT: v_perm_b32 v10, v10, v50, s4
-; GFX9-NEXT: v_perm_b32 v41, v59, v41, s4
-; GFX9-NEXT: v_perm_b32 v1, v1, v63, s4
+; GFX9-NEXT: v_perm_b32 v8, v8, v35, s4
+; GFX9-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:368 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v33, v34, v53, s4
+; GFX9-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:376 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v7, v7, v50, s4
+; GFX9-NEXT: v_perm_b32 v9, v9, v49, s4
+; GFX9-NEXT: v_perm_b32 v5, v5, v51, s4
+; GFX9-NEXT: v_perm_b32 v1, v1, v52, s4
+; GFX9-NEXT: v_perm_b32 v41, v63, v41, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v41, 16, v1
-; GFX9-NEXT: v_perm_b32 v2, v2, v48, s4
-; GFX9-NEXT: v_perm_b32 v9, v9, v45, s4
-; GFX9-NEXT: v_perm_b32 v48, v58, v40, s4
-; GFX9-NEXT: v_perm_b32 v3, v3, v62, s4
-; GFX9-NEXT: v_perm_b32 v4, v4, v57, s4
-; GFX9-NEXT: v_perm_b32 v39, v46, v39, s4
-; GFX9-NEXT: v_perm_b32 v7, v7, v60, s4
-; GFX9-NEXT: v_perm_b32 v8, v8, v56, s4
-; GFX9-NEXT: s_waitcnt vmcnt(2)
-; GFX9-NEXT: v_perm_b32 v13, v13, v38, s4
-; GFX9-NEXT: buffer_load_dword v38, off, s[0:3], s32 offset:360 ; 4-byte Folded Reload
-; GFX9-NEXT: v_perm_b32 v12, v12, v35, s4
-; GFX9-NEXT: s_waitcnt vmcnt(2)
-; GFX9-NEXT: v_perm_b32 v50, v47, v52, s4
-; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:364 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v2, v2, v47, s4
+; GFX9-NEXT: v_perm_b32 v38, v38, v40, s4
+; GFX9-NEXT: v_perm_b32 v3, v3, v46, s4
+; GFX9-NEXT: v_perm_b32 v4, v4, v45, s4
+; GFX9-NEXT: v_perm_b32 v39, v58, v39, s4
+; GFX9-NEXT: v_perm_b32 v6, v6, v36, s4
+; GFX9-NEXT: v_perm_b32 v36, v56, v54, s4
+; GFX9-NEXT: s_waitcnt vmcnt(1)
+; GFX9-NEXT: v_perm_b32 v11, v11, v35, s4
+; GFX9-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:352 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(1)
+; GFX9-NEXT: v_perm_b32 v10, v10, v34, s4
+; GFX9-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:364 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(3)
-; GFX9-NEXT: v_perm_b32 v14, v14, v38, s4
+; GFX9-NEXT: v_perm_b32 v12, v12, v35, s4
+; GFX9-NEXT: s_waitcnt vmcnt(1)
+; GFX9-NEXT: v_perm_b32 v34, v34, v49, s4
+; GFX9-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:336 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(1)
+; GFX9-NEXT: v_perm_b32 v35, v35, v49, s4
+; GFX9-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:344 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v35, v35, v52, s4
-; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v38, off, s[0:3], s32 offset:344 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v13, v13, v49, s4
+; GFX9-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:332 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v38, v38, v52, s4
-; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:348 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v14, v14, v49, s4
+; GFX9-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:316 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(1)
+; GFX9-NEXT: v_perm_b32 v50, v49, v50, s4
+; GFX9-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:320 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v15, v15, v52, s4
-; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:340 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v15, v15, v49, s4
+; GFX9-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:312 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v16, v16, v52, s4
-; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:324 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v54, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_perm_b32 v52, v52, v53, s4
-; GFX9-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:328 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v16, v16, v49, s4
+; GFX9-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(3)
+; GFX9-NEXT: v_perm_b32 v51, v49, v51, s4
+; GFX9-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:300 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(2)
+; GFX9-NEXT: v_perm_b32 v52, v57, v52, s4
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v17, v17, v53, s4
-; GFX9-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:320 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v17, v17, v49, s4
+; GFX9-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v18, v18, v53, s4
-; GFX9-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:308 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_perm_b32 v53, v53, v44, s4
+; GFX9-NEXT: v_perm_b32 v18, v18, v49, s4
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen
-; GFX9-NEXT: v_perm_b32 v1, v43, v34, s4
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:372 ; 4-byte Folded Reload
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:380 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_perm_b32 v1, v49, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v2
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:4
-; GFX9-NEXT: v_lshl_or_b32 v1, v48, 16, v3
+; GFX9-NEXT: v_lshl_or_b32 v1, v38, 16, v3
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:8
-; GFX9-NEXT: v_perm_b32 v1, v49, v37, s4
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:356 ; 4-byte Folded Reload
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:360 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v4
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:12
; GFX9-NEXT: v_lshl_or_b32 v1, v39, 16, v5
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:16
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:368 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:340 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:376 ; 4-byte Folded Reload
-; GFX9-NEXT: v_perm_b32 v3, v20, v55, s4
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:348 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v6
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:20
; GFX9-NEXT: v_lshl_or_b32 v1, v36, 16, v7
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:24
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:352 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:324 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:356 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:328 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v8
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:28
-; GFX9-NEXT: v_lshl_or_b32 v1, v51, 16, v9
+; GFX9-NEXT: v_lshl_or_b32 v1, v33, 16, v9
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:32
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:332 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:304 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:336 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:308 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v10
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:36
-; GFX9-NEXT: v_lshl_or_b32 v1, v50, 16, v11
+; GFX9-NEXT: v_lshl_or_b32 v1, v34, 16, v11
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:40
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:312 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:316 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v12
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:44
; GFX9-NEXT: v_lshl_or_b32 v1, v35, 16, v13
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:48
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:300 ; 4-byte Folded Reload
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:304 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
+; GFX9-NEXT: v_perm_b32 v1, v44, v61, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v14
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:52
-; GFX9-NEXT: v_lshl_or_b32 v1, v38, 16, v15
+; GFX9-NEXT: v_lshl_or_b32 v1, v50, 16, v15
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:56
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
+; GFX9-NEXT: v_perm_b32 v1, v55, v42, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v16
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:60
-; GFX9-NEXT: v_lshl_or_b32 v1, v52, 16, v17
+; GFX9-NEXT: v_lshl_or_b32 v1, v51, 16, v17
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:64
-; GFX9-NEXT: v_perm_b32 v1, v42, v33, s4
+; GFX9-NEXT: v_perm_b32 v1, v48, v37, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v18
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:68
-; GFX9-NEXT: v_perm_b32 v1, v19, v61, s4
-; GFX9-NEXT: v_lshl_or_b32 v1, v53, 16, v1
+; GFX9-NEXT: v_perm_b32 v1, v19, v62, s4
+; GFX9-NEXT: v_lshl_or_b32 v1, v52, 16, v1
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:72
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
-; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v3
+; GFX9-NEXT: v_perm_b32 v1, v20, v60, s4
+; GFX9-NEXT: v_perm_b32 v2, v43, v59, s4
+; GFX9-NEXT: v_lshl_or_b32 v1, v2, 16, v1
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:76
; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:280 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
@@ -7417,50 +7414,52 @@ define <128 x i8> @bitcast_v32i32_to_v128i8(<32 x i32> %a, i32 %b) #0 {
; GFX11-FAKE16-LABEL: bitcast_v32i32_to_v128i8:
; GFX11-FAKE16: ; %bb.0:
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX11-FAKE16-NEXT: s_clause 0x11 ; 72-byte Folded Spill
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v40, s32 offset:80
+; GFX11-FAKE16-NEXT: s_clause 0x12 ; 76-byte Folded Spill
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v40, s32 offset:84
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v41, s32 offset:76
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v41, s32 offset:80
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v42, s32 offset:72
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v42, s32 offset:76
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v43, s32 offset:68
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v43, s32 offset:72
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v44, s32 offset:64
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v44, s32 offset:68
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v45, s32 offset:60
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v45, s32 offset:64
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v46, s32 offset:56
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v46, s32 offset:60
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v47, s32 offset:52
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v47, s32 offset:56
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v56, s32 offset:48
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v56, s32 offset:52
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v57, s32 offset:44
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v57, s32 offset:48
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v58, s32 offset:40
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v58, s32 offset:44
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v59, s32 offset:36
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v59, s32 offset:40
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v60, s32 offset:32
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v60, s32 offset:36
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v61, s32 offset:28
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v61, s32 offset:32
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v62, s32 offset:24
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v62, s32 offset:28
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v63, s32 offset:20
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v63, s32 offset:24
+; GFX11-FAKE16-NEXT: ; meta instruction
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v72, s32 offset:20
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v72, s32 offset:16
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v73, s32 offset:16
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v73, s32 offset:12
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v74, s32 offset:12
; GFX11-FAKE16-NEXT: s_clause 0x2
; GFX11-FAKE16-NEXT: scratch_load_b32 v33, off, s32 offset:8
; GFX11-FAKE16-NEXT: scratch_load_b32 v32, off, s32 offset:4
; GFX11-FAKE16-NEXT: scratch_load_b32 v31, off, s32
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr73
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr72
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr74
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr66
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr55
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr72
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr63
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr62
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr61
@@ -7571,14 +7570,11 @@ define <128 x i8> @bitcast_v32i32_to_v128i8(<32 x i32> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: v_mov_b32_e32 v39, v48
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[48:49], 24, v[19:20]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[49:50], 24, v[17:18]
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v64, 8, v2
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[50:51], 24, v[15:16]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[51:52], 24, v[13:14]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[52:53], 24, v[11:12]
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[53:54], 24, v[9:10]
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[54:55], 24, v[7:8]
-; GFX11-FAKE16-NEXT: v_mov_b32_e32 v55, v64
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[64:65], 24, v[5:6]
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[53:54], 24, v[9:10]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[65:66], 24, v[3:4]
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v68, 24, v32
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v69, 16, v32
@@ -7656,8 +7652,10 @@ define <128 x i8> @bitcast_v32i32_to_v128i8(<32 x i32> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v61, 8, v3
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v62, 24, v2
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v63, 16, v2
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v72, 16, v1
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v72, 8, v2
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v74, 16, v1
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v73, 8, v1
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[54:55], 24, v[7:8]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[66:67], 24, v[1:2]
; GFX11-FAKE16-NEXT: .LBB12_2: ; %Flow
; GFX11-FAKE16-NEXT: s_and_not1_saveexec_b32 s0, s0
@@ -7790,19 +7788,19 @@ define <128 x i8> @bitcast_v32i32_to_v128i8(<32 x i32> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v61, 8, v3
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v62, 24, v2
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v63, 16, v2
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v55, 8, v2
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v72, 16, v1
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v72, 8, v2
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v74, 16, v1
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v73, 8, v1
; GFX11-FAKE16-NEXT: .LBB12_4: ; %end
; GFX11-FAKE16-NEXT: s_or_b32 exec_lo, exec_lo, s0
-; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_3)
-; GFX11-FAKE16-NEXT: v_perm_b32 v2, v2, v55, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v55, v63, v62, 0xc0c0004
+; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_2)
+; GFX11-FAKE16-NEXT: v_perm_b32 v55, v74, v66, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v1, v1, v73, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v3, v3, v61, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v65, v60, v65, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v66, v72, v66, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v1, v1, v73, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v2, v55, 16, v2
+; GFX11-FAKE16-NEXT: v_perm_b32 v2, v2, v72, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v66, v63, v62, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v1, v55, 16, v1
; GFX11-FAKE16-NEXT: v_perm_b32 v4, v4, v59, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v55, v58, v57, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v7, v7, v43, 0xc0c0004
@@ -7814,7 +7812,7 @@ define <128 x i8> @bitcast_v32i32_to_v128i8(<32 x i32> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: v_perm_b32 v64, v47, v64, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v6, v6, v46, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v65, v45, v44, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v1, v66, 16, v1
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v2, v66, 16, v2
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v4, v55, 16, v4
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v7, v54, 16, v7
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v8, v39, 16, v8
@@ -7903,25 +7901,26 @@ define <128 x i8> @bitcast_v32i32_to_v128i8(<32 x i32> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: scratch_store_b128 v0, v[13:16], off offset:80
; GFX11-FAKE16-NEXT: scratch_store_b128 v0, v[17:20], off offset:96
; GFX11-FAKE16-NEXT: scratch_store_b128 v0, v[21:24], off offset:112
-; GFX11-FAKE16-NEXT: s_clause 0x11 ; 72-byte Folded Reload
-; GFX11-FAKE16-NEXT: scratch_load_b32 v73, off, s32 offset:12
-; GFX11-FAKE16-NEXT: scratch_load_b32 v72, off, s32 offset:16
-; GFX11-FAKE16-NEXT: scratch_load_b32 v63, off, s32 offset:20
-; GFX11-FAKE16-NEXT: scratch_load_b32 v62, off, s32 offset:24
-; GFX11-FAKE16-NEXT: scratch_load_b32 v61, off, s32 offset:28
-; GFX11-FAKE16-NEXT: scratch_load_b32 v60, off, s32 offset:32
-; GFX11-FAKE16-NEXT: scratch_load_b32 v59, off, s32 offset:36
-; GFX11-FAKE16-NEXT: scratch_load_b32 v58, off, s32 offset:40
-; GFX11-FAKE16-NEXT: scratch_load_b32 v57, off, s32 offset:44
-; GFX11-FAKE16-NEXT: scratch_load_b32 v56, off, s32 offset:48
-; GFX11-FAKE16-NEXT: scratch_load_b32 v47, off, s32 offset:52
-; GFX11-FAKE16-NEXT: scratch_load_b32 v46, off, s32 offset:56
-; GFX11-FAKE16-NEXT: scratch_load_b32 v45, off, s32 offset:60
-; GFX11-FAKE16-NEXT: scratch_load_b32 v44, off, s32 offset:64
-; GFX11-FAKE16-NEXT: scratch_load_b32 v43, off, s32 offset:68
-; GFX11-FAKE16-NEXT: scratch_load_b32 v42, off, s32 offset:72
-; GFX11-FAKE16-NEXT: scratch_load_b32 v41, off, s32 offset:76
-; GFX11-FAKE16-NEXT: scratch_load_b32 v40, off, s32 offset:80
+; GFX11-FAKE16-NEXT: s_clause 0x12 ; 76-byte Folded Reload
+; GFX11-FAKE16-NEXT: scratch_load_b32 v74, off, s32 offset:12
+; GFX11-FAKE16-NEXT: scratch_load_b32 v73, off, s32 offset:16
+; GFX11-FAKE16-NEXT: scratch_load_b32 v72, off, s32 offset:20
+; GFX11-FAKE16-NEXT: scratch_load_b32 v63, off, s32 offset:24
+; GFX11-FAKE16-NEXT: scratch_load_b32 v62, off, s32 offset:28
+; GFX11-FAKE16-NEXT: scratch_load_b32 v61, off, s32 offset:32
+; GFX11-FAKE16-NEXT: scratch_load_b32 v60, off, s32 offset:36
+; GFX11-FAKE16-NEXT: scratch_load_b32 v59, off, s32 offset:40
+; GFX11-FAKE16-NEXT: scratch_load_b32 v58, off, s32 offset:44
+; GFX11-FAKE16-NEXT: scratch_load_b32 v57, off, s32 offset:48
+; GFX11-FAKE16-NEXT: scratch_load_b32 v56, off, s32 offset:52
+; GFX11-FAKE16-NEXT: scratch_load_b32 v47, off, s32 offset:56
+; GFX11-FAKE16-NEXT: scratch_load_b32 v46, off, s32 offset:60
+; GFX11-FAKE16-NEXT: scratch_load_b32 v45, off, s32 offset:64
+; GFX11-FAKE16-NEXT: scratch_load_b32 v44, off, s32 offset:68
+; GFX11-FAKE16-NEXT: scratch_load_b32 v43, off, s32 offset:72
+; GFX11-FAKE16-NEXT: scratch_load_b32 v42, off, s32 offset:76
+; GFX11-FAKE16-NEXT: scratch_load_b32 v41, off, s32 offset:80
+; GFX11-FAKE16-NEXT: scratch_load_b32 v40, off, s32 offset:84
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0)
; GFX11-FAKE16-NEXT: s_setpc_b64 s[30:31]
%cmp = icmp eq i32 %b, 0
@@ -8011,242 +8010,229 @@ define inreg <128 x i8> @bitcast_v32i32_to_v128i8_scalar(<32 x i32> inreg %a, i3
; SI-NEXT: ; implicit-def: $vgpr21 : SGPR spill to VGPR lane
; SI-NEXT: s_cbranch_scc0 .LBB13_2
; SI-NEXT: ; %bb.1: ; %cmp.false
-; SI-NEXT: s_lshr_b32 s46, s13, 24
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_writelane_b32 v22, s46, 60
-; SI-NEXT: s_lshr_b32 s46, s13, 16
-; SI-NEXT: v_writelane_b32 v22, s46, 61
; SI-NEXT: s_lshr_b32 s46, s13, 8
-; SI-NEXT: v_writelane_b32 v22, s46, 62
+; SI-NEXT: s_waitcnt expcnt(1)
+; SI-NEXT: v_writelane_b32 v21, s46, 0
; SI-NEXT: s_lshr_b32 s46, s15, 24
-; SI-NEXT: v_writelane_b32 v22, s46, 63
+; SI-NEXT: v_writelane_b32 v21, s46, 1
; SI-NEXT: s_lshr_b32 s46, s15, 16
-; SI-NEXT: v_writelane_b32 v21, s46, 0
+; SI-NEXT: v_writelane_b32 v21, s46, 2
; SI-NEXT: s_lshr_b32 s46, s15, 8
-; SI-NEXT: v_writelane_b32 v21, s46, 1
+; SI-NEXT: v_writelane_b32 v21, s46, 3
; SI-NEXT: s_lshr_b64 s[46:47], s[4:5], 16
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_writelane_b32 v22, s46, 62
+; SI-NEXT: v_writelane_b32 v22, s47, 63
+; SI-NEXT: s_lshr_b64 s[46:47], s[4:5], 8
+; SI-NEXT: v_writelane_b32 v22, s46, 60
+; SI-NEXT: v_writelane_b32 v22, s47, 61
+; SI-NEXT: s_lshr_b64 s[46:47], s[6:7], 24
; SI-NEXT: v_writelane_b32 v22, s46, 58
; SI-NEXT: v_writelane_b32 v22, s47, 59
-; SI-NEXT: s_lshr_b64 s[46:47], s[4:5], 8
+; SI-NEXT: s_lshr_b64 s[46:47], s[6:7], 16
; SI-NEXT: v_writelane_b32 v22, s46, 56
; SI-NEXT: v_writelane_b32 v22, s47, 57
-; SI-NEXT: s_lshr_b64 s[46:47], s[6:7], 24
+; SI-NEXT: s_lshr_b64 s[46:47], s[6:7], 8
; SI-NEXT: v_writelane_b32 v22, s46, 54
; SI-NEXT: v_writelane_b32 v22, s47, 55
-; SI-NEXT: s_lshr_b64 s[46:47], s[6:7], 16
+; SI-NEXT: s_lshr_b64 s[46:47], s[8:9], 24
; SI-NEXT: v_writelane_b32 v22, s46, 52
; SI-NEXT: v_writelane_b32 v22, s47, 53
-; SI-NEXT: s_lshr_b64 s[46:47], s[6:7], 8
+; SI-NEXT: s_lshr_b64 s[46:47], s[8:9], 16
; SI-NEXT: v_writelane_b32 v22, s46, 50
; SI-NEXT: v_writelane_b32 v22, s47, 51
-; SI-NEXT: s_lshr_b64 s[46:47], s[8:9], 24
+; SI-NEXT: s_lshr_b64 s[46:47], s[8:9], 8
; SI-NEXT: v_writelane_b32 v22, s46, 48
; SI-NEXT: v_writelane_b32 v22, s47, 49
-; SI-NEXT: s_lshr_b64 s[46:47], s[8:9], 16
+; SI-NEXT: s_lshr_b64 s[46:47], s[10:11], 24
; SI-NEXT: v_writelane_b32 v22, s46, 46
; SI-NEXT: v_writelane_b32 v22, s47, 47
-; SI-NEXT: s_lshr_b64 s[46:47], s[8:9], 8
+; SI-NEXT: s_lshr_b64 s[46:47], s[10:11], 16
; SI-NEXT: v_writelane_b32 v22, s46, 44
; SI-NEXT: v_writelane_b32 v22, s47, 45
-; SI-NEXT: s_lshr_b64 s[46:47], s[10:11], 24
+; SI-NEXT: s_lshr_b64 s[46:47], s[10:11], 8
; SI-NEXT: v_writelane_b32 v22, s46, 42
; SI-NEXT: v_writelane_b32 v22, s47, 43
-; SI-NEXT: s_lshr_b64 s[46:47], s[10:11], 16
+; SI-NEXT: s_lshr_b64 s[46:47], s[12:13], 24
; SI-NEXT: v_writelane_b32 v22, s46, 40
; SI-NEXT: v_writelane_b32 v22, s47, 41
-; SI-NEXT: s_lshr_b64 s[46:47], s[10:11], 8
+; SI-NEXT: s_lshr_b64 s[46:47], s[12:13], 16
; SI-NEXT: v_writelane_b32 v22, s46, 38
; SI-NEXT: v_writelane_b32 v22, s47, 39
-; SI-NEXT: s_lshr_b64 s[46:47], s[12:13], 24
+; SI-NEXT: s_lshr_b64 s[46:47], s[12:13], 8
; SI-NEXT: v_writelane_b32 v22, s46, 36
; SI-NEXT: v_writelane_b32 v22, s47, 37
-; SI-NEXT: s_lshr_b64 s[46:47], s[12:13], 16
+; SI-NEXT: s_lshr_b64 s[46:47], s[14:15], 24
; SI-NEXT: v_writelane_b32 v22, s46, 34
; SI-NEXT: v_writelane_b32 v22, s47, 35
-; SI-NEXT: s_lshr_b64 s[46:47], s[12:13], 8
+; SI-NEXT: s_lshr_b64 s[46:47], s[14:15], 16
; SI-NEXT: v_writelane_b32 v22, s46, 32
; SI-NEXT: v_writelane_b32 v22, s47, 33
-; SI-NEXT: s_lshr_b64 s[46:47], s[14:15], 24
+; SI-NEXT: s_lshr_b64 s[46:47], s[14:15], 8
; SI-NEXT: v_writelane_b32 v22, s46, 30
; SI-NEXT: v_writelane_b32 v22, s47, 31
-; SI-NEXT: s_lshr_b64 s[46:47], s[14:15], 16
+; SI-NEXT: s_lshr_b64 s[46:47], s[40:41], 24
; SI-NEXT: v_writelane_b32 v22, s46, 28
; SI-NEXT: v_writelane_b32 v22, s47, 29
-; SI-NEXT: s_lshr_b64 s[46:47], s[14:15], 8
+; SI-NEXT: s_lshr_b64 s[46:47], s[40:41], 16
; SI-NEXT: v_writelane_b32 v22, s46, 26
; SI-NEXT: v_writelane_b32 v22, s47, 27
-; SI-NEXT: s_lshr_b64 s[46:47], s[40:41], 24
+; SI-NEXT: s_lshr_b64 s[46:47], s[40:41], 8
; SI-NEXT: v_writelane_b32 v22, s46, 24
; SI-NEXT: v_writelane_b32 v22, s47, 25
-; SI-NEXT: s_lshr_b64 s[46:47], s[40:41], 16
+; SI-NEXT: s_lshr_b64 s[46:47], s[42:43], 24
; SI-NEXT: v_writelane_b32 v22, s46, 22
; SI-NEXT: v_writelane_b32 v22, s47, 23
-; SI-NEXT: s_lshr_b64 s[46:47], s[40:41], 8
+; SI-NEXT: s_lshr_b64 s[46:47], s[42:43], 16
; SI-NEXT: v_writelane_b32 v22, s46, 20
; SI-NEXT: v_writelane_b32 v22, s47, 21
-; SI-NEXT: s_lshr_b64 s[46:47], s[42:43], 24
+; SI-NEXT: s_lshr_b64 s[46:47], s[42:43], 8
; SI-NEXT: v_writelane_b32 v22, s46, 18
; SI-NEXT: v_writelane_b32 v22, s47, 19
-; SI-NEXT: s_lshr_b64 s[46:47], s[42:43], 16
+; SI-NEXT: s_lshr_b64 s[46:47], s[44:45], 24
; SI-NEXT: v_writelane_b32 v22, s46, 16
; SI-NEXT: v_writelane_b32 v22, s47, 17
-; SI-NEXT: s_lshr_b64 s[46:47], s[42:43], 8
+; SI-NEXT: s_lshr_b64 s[46:47], s[44:45], 16
; SI-NEXT: v_writelane_b32 v22, s46, 14
; SI-NEXT: v_writelane_b32 v22, s47, 15
-; SI-NEXT: s_lshr_b64 s[46:47], s[44:45], 24
+; SI-NEXT: s_lshr_b64 s[46:47], s[44:45], 8
; SI-NEXT: v_writelane_b32 v22, s46, 12
-; SI-NEXT: s_lshr_b32 s62, s5, 24
+; SI-NEXT: s_lshr_b32 s72, s5, 24
; SI-NEXT: v_writelane_b32 v22, s47, 13
-; SI-NEXT: s_lshr_b64 s[46:47], s[44:45], 16
-; SI-NEXT: s_lshr_b64 s[60:61], s[24:25], 8
-; SI-NEXT: s_lshr_b32 s72, s5, 16
-; SI-NEXT: v_writelane_b32 v22, s46, 10
-; SI-NEXT: s_mov_b32 s61, s62
+; SI-NEXT: s_lshr_b64 s[46:47], s[28:29], 24
; SI-NEXT: s_lshr_b64 s[62:63], s[22:23], 24
-; SI-NEXT: s_lshr_b32 s74, s5, 8
-; SI-NEXT: v_writelane_b32 v22, s47, 11
-; SI-NEXT: s_lshr_b64 s[46:47], s[44:45], 8
+; SI-NEXT: s_lshr_b32 s74, s5, 16
+; SI-NEXT: v_writelane_b32 v22, s46, 10
; SI-NEXT: s_mov_b32 s63, s72
; SI-NEXT: s_lshr_b64 s[72:73], s[22:23], 16
-; SI-NEXT: s_lshr_b32 s76, s7, 24
-; SI-NEXT: v_writelane_b32 v22, s46, 8
+; SI-NEXT: s_lshr_b32 s76, s5, 8
+; SI-NEXT: v_writelane_b32 v22, s47, 11
+; SI-NEXT: s_lshr_b64 s[46:47], s[28:29], 16
; SI-NEXT: s_mov_b32 s73, s74
; SI-NEXT: s_lshr_b64 s[74:75], s[22:23], 8
-; SI-NEXT: s_lshr_b32 s78, s7, 16
-; SI-NEXT: v_writelane_b32 v22, s47, 9
-; SI-NEXT: s_lshr_b64 s[46:47], s[28:29], 24
+; SI-NEXT: s_lshr_b32 s78, s7, 24
+; SI-NEXT: v_writelane_b32 v22, s46, 8
; SI-NEXT: s_mov_b32 s75, s76
; SI-NEXT: s_lshr_b64 s[76:77], s[20:21], 24
-; SI-NEXT: s_lshr_b32 s88, s7, 8
-; SI-NEXT: v_writelane_b32 v22, s46, 6
+; SI-NEXT: s_lshr_b32 s88, s7, 16
+; SI-NEXT: v_writelane_b32 v22, s47, 9
+; SI-NEXT: s_lshr_b64 s[46:47], s[28:29], 8
; SI-NEXT: s_mov_b32 s77, s78
; SI-NEXT: s_lshr_b64 s[78:79], s[20:21], 16
-; SI-NEXT: s_lshr_b32 s90, s9, 24
-; SI-NEXT: v_writelane_b32 v22, s47, 7
-; SI-NEXT: s_lshr_b64 s[46:47], s[28:29], 16
+; SI-NEXT: s_lshr_b32 s90, s7, 8
+; SI-NEXT: v_writelane_b32 v22, s46, 6
; SI-NEXT: s_mov_b32 s79, s88
; SI-NEXT: s_lshr_b64 s[88:89], s[20:21], 8
-; SI-NEXT: s_lshr_b32 s92, s9, 16
-; SI-NEXT: v_writelane_b32 v22, s46, 4
+; SI-NEXT: s_lshr_b32 s92, s9, 24
+; SI-NEXT: v_writelane_b32 v22, s47, 7
+; SI-NEXT: s_lshr_b64 s[46:47], s[26:27], 24
; SI-NEXT: s_mov_b32 s89, s90
; SI-NEXT: s_lshr_b64 s[90:91], s[18:19], 24
-; SI-NEXT: s_lshr_b32 s94, s9, 8
-; SI-NEXT: v_writelane_b32 v22, s47, 5
-; SI-NEXT: s_lshr_b64 s[46:47], s[28:29], 8
+; SI-NEXT: s_lshr_b32 s94, s9, 16
+; SI-NEXT: v_writelane_b32 v22, s46, 4
; SI-NEXT: s_mov_b32 s91, s92
; SI-NEXT: s_lshr_b64 s[92:93], s[18:19], 16
-; SI-NEXT: s_lshr_b32 vcc_lo, s11, 24
-; SI-NEXT: v_writelane_b32 v22, s46, 2
+; SI-NEXT: s_lshr_b32 vcc_lo, s9, 8
+; SI-NEXT: v_writelane_b32 v22, s47, 5
+; SI-NEXT: s_lshr_b64 s[46:47], s[26:27], 16
; SI-NEXT: s_mov_b32 s93, s94
; SI-NEXT: s_lshr_b64 s[94:95], s[18:19], 8
-; SI-NEXT: s_lshr_b32 s30, s11, 16
-; SI-NEXT: v_writelane_b32 v22, s47, 3
-; SI-NEXT: s_lshr_b64 s[46:47], s[26:27], 24
+; SI-NEXT: s_lshr_b32 s30, s11, 24
+; SI-NEXT: v_writelane_b32 v22, s46, 2
; SI-NEXT: s_mov_b32 s95, vcc_lo
; SI-NEXT: s_lshr_b64 vcc, s[16:17], 24
-; SI-NEXT: s_lshr_b32 s34, s11, 8
-; SI-NEXT: v_writelane_b32 v22, s46, 0
-; SI-NEXT: s_mov_b32 vcc_hi, s30
-; SI-NEXT: s_lshr_b64 s[30:31], s[16:17], 16
+; SI-NEXT: s_lshr_b32 s34, s11, 16
; SI-NEXT: s_lshr_b32 s56, s41, 24
; SI-NEXT: s_lshr_b32 s57, s41, 16
-; SI-NEXT: s_lshr_b32 s58, s45, 24
-; SI-NEXT: s_lshr_b32 s36, s29, 24
-; SI-NEXT: s_lshr_b64 s[84:85], s[4:5], 24
-; SI-NEXT: v_writelane_b32 v22, s47, 1
-; SI-NEXT: s_lshr_b64 s[98:99], s[26:27], 16
+; SI-NEXT: s_lshr_b64 s[98:99], s[4:5], 24
+; SI-NEXT: v_writelane_b32 v22, s47, 3
; SI-NEXT: s_lshr_b64 s[46:47], s[26:27], 8
-; SI-NEXT: s_mov_b32 s31, s34
-; SI-NEXT: s_lshr_b64 s[34:35], s[16:17], 8
-; SI-NEXT: s_lshr_b32 s69, s41, 8
-; SI-NEXT: s_lshr_b32 s71, s43, 24
-; SI-NEXT: s_lshr_b32 s81, s43, 16
-; SI-NEXT: s_lshr_b32 s83, s43, 8
-; SI-NEXT: s_lshr_b32 s87, s45, 16
-; SI-NEXT: s_lshr_b32 s97, s45, 8
-; SI-NEXT: s_lshr_b32 s86, s29, 16
-; SI-NEXT: s_lshr_b32 s52, s29, 8
-; SI-NEXT: s_lshr_b32 s54, s27, 24
-; SI-NEXT: s_lshr_b32 s64, s27, 16
-; SI-NEXT: s_lshr_b32 s96, s27, 8
-; SI-NEXT: s_lshr_b32 s66, s25, 24
-; SI-NEXT: s_lshr_b32 s68, s25, 16
-; SI-NEXT: s_lshr_b32 s70, s25, 8
-; SI-NEXT: s_lshr_b32 s80, s23, 24
-; SI-NEXT: s_lshr_b32 s39, s23, 16
-; SI-NEXT: s_lshr_b32 s49, s23, 8
-; SI-NEXT: s_lshr_b32 s51, s21, 24
-; SI-NEXT: s_lshr_b32 s53, s21, 16
-; SI-NEXT: s_lshr_b32 s55, s21, 8
-; SI-NEXT: s_lshr_b32 s38, s19, 24
-; SI-NEXT: s_lshr_b32 s48, s19, 16
-; SI-NEXT: s_lshr_b32 s82, s19, 8
-; SI-NEXT: s_lshr_b32 s50, s17, 24
-; SI-NEXT: s_lshr_b32 s65, s17, 16
-; SI-NEXT: s_lshr_b32 s67, s17, 8
-; SI-NEXT: s_mov_b32 s85, s58
+; SI-NEXT: s_lshr_b64 s[60:61], s[24:25], 16
+; SI-NEXT: s_mov_b32 vcc_hi, s30
+; SI-NEXT: s_lshr_b64 s[30:31], s[16:17], 16
+; SI-NEXT: s_lshr_b32 s36, s11, 8
+; SI-NEXT: s_lshr_b32 s59, s29, 16
; SI-NEXT: s_mov_b32 s99, s57
; SI-NEXT: s_mov_b32 s47, s56
; SI-NEXT: s_lshr_b64 s[56:57], s[24:25], 24
-; SI-NEXT: s_lshr_b64 s[58:59], s[24:25], 16
+; SI-NEXT: v_writelane_b32 v22, s60, 0
+; SI-NEXT: s_mov_b32 s31, s34
+; SI-NEXT: s_lshr_b64 s[34:35], s[16:17], 8
+; SI-NEXT: s_lshr_b32 s86, s13, 24
+; SI-NEXT: s_lshr_b32 s48, s13, 16
+; SI-NEXT: s_lshr_b32 s65, s41, 8
+; SI-NEXT: s_lshr_b32 s67, s43, 24
+; SI-NEXT: s_lshr_b32 s69, s43, 16
+; SI-NEXT: s_lshr_b32 s71, s43, 8
+; SI-NEXT: s_lshr_b32 s81, s45, 24
+; SI-NEXT: s_lshr_b32 s83, s45, 16
+; SI-NEXT: s_lshr_b32 s85, s45, 8
+; SI-NEXT: s_lshr_b32 s58, s29, 24
+; SI-NEXT: s_lshr_b32 s97, s29, 8
+; SI-NEXT: s_lshr_b32 s50, s27, 24
+; SI-NEXT: s_lshr_b32 s96, s27, 16
+; SI-NEXT: s_lshr_b32 s52, s27, 8
+; SI-NEXT: s_lshr_b32 s54, s25, 24
+; SI-NEXT: s_lshr_b32 s64, s25, 16
+; SI-NEXT: s_lshr_b32 s66, s25, 8
+; SI-NEXT: s_lshr_b32 s68, s23, 24
+; SI-NEXT: s_lshr_b32 s70, s23, 16
+; SI-NEXT: s_lshr_b32 s87, s23, 8
+; SI-NEXT: s_lshr_b32 s80, s21, 24
+; SI-NEXT: s_lshr_b32 s39, s21, 16
+; SI-NEXT: s_lshr_b32 s49, s21, 8
+; SI-NEXT: s_lshr_b32 s51, s19, 24
+; SI-NEXT: s_lshr_b32 s82, s19, 16
+; SI-NEXT: s_lshr_b32 s84, s19, 8
+; SI-NEXT: s_lshr_b32 s53, s17, 24
+; SI-NEXT: s_lshr_b32 s55, s17, 16
+; SI-NEXT: s_lshr_b32 s38, s17, 8
+; SI-NEXT: s_mov_b32 s57, s59
+; SI-NEXT: v_writelane_b32 v22, s61, 1
+; SI-NEXT: s_lshr_b64 s[60:61], s[24:25], 8
; SI-NEXT: s_mov_b32 s35, s36
; SI-NEXT: s_mov_b64 s[36:37], 0
; SI-NEXT: s_branch .LBB13_3
; SI-NEXT: .LBB13_2:
-; SI-NEXT: ; implicit-def: $sgpr85
-; SI-NEXT: ; implicit-def: $sgpr84
; SI-NEXT: ; implicit-def: $sgpr46
; SI-NEXT: ; kill: killed $sgpr46
+; SI-NEXT: ; implicit-def: $sgpr47
+; SI-NEXT: ; implicit-def: $sgpr99
+; SI-NEXT: ; implicit-def: $sgpr98
; SI-NEXT: s_mov_b64 s[36:37], -1
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_writelane_b32 v22, s84, 0
-; SI-NEXT: v_writelane_b32 v22, s85, 1
-; SI-NEXT: ; implicit-def: $sgpr84
-; SI-NEXT: ; implicit-def: $sgpr46
-; SI-NEXT: ; kill: killed $sgpr46
-; SI-NEXT: ; implicit-def: $sgpr46
-; SI-NEXT: v_writelane_b32 v22, s84, 2
-; SI-NEXT: v_writelane_b32 v22, s85, 3
-; SI-NEXT: ; implicit-def: $sgpr84
-; SI-NEXT: ; kill: killed $sgpr46
-; SI-NEXT: ; implicit-def: $sgpr46
-; SI-NEXT: ; kill: killed $sgpr46
; SI-NEXT: ; implicit-def: $sgpr46
-; SI-NEXT: v_writelane_b32 v22, s84, 4
-; SI-NEXT: v_writelane_b32 v22, s85, 5
-; SI-NEXT: ; implicit-def: $sgpr84
; SI-NEXT: ; kill: killed $sgpr46
-; SI-NEXT: ; implicit-def: $sgpr46
-; SI-NEXT: ; implicit-def: $sgpr67
-; SI-NEXT: ; implicit-def: $sgpr65
-; SI-NEXT: ; implicit-def: $sgpr50
-; SI-NEXT: ; implicit-def: $sgpr82
-; SI-NEXT: ; implicit-def: $sgpr48
; SI-NEXT: ; implicit-def: $sgpr38
; SI-NEXT: ; implicit-def: $sgpr55
; SI-NEXT: ; implicit-def: $sgpr53
+; SI-NEXT: ; implicit-def: $sgpr84
+; SI-NEXT: ; implicit-def: $sgpr82
; SI-NEXT: ; implicit-def: $sgpr51
; SI-NEXT: ; implicit-def: $sgpr49
; SI-NEXT: ; implicit-def: $sgpr39
; SI-NEXT: ; implicit-def: $sgpr80
+; SI-NEXT: ; implicit-def: $sgpr87
; SI-NEXT: ; implicit-def: $sgpr70
; SI-NEXT: ; implicit-def: $sgpr68
; SI-NEXT: ; implicit-def: $sgpr66
-; SI-NEXT: ; implicit-def: $sgpr96
; SI-NEXT: ; implicit-def: $sgpr64
; SI-NEXT: ; implicit-def: $sgpr54
; SI-NEXT: ; implicit-def: $sgpr52
-; SI-NEXT: ; implicit-def: $sgpr86
-; SI-NEXT: ; implicit-def: $sgpr35
+; SI-NEXT: ; implicit-def: $sgpr96
+; SI-NEXT: ; implicit-def: $sgpr50
; SI-NEXT: ; implicit-def: $sgpr97
-; SI-NEXT: ; implicit-def: $sgpr87
+; SI-NEXT: ; implicit-def: $sgpr57
+; SI-NEXT: ; implicit-def: $sgpr58
+; SI-NEXT: ; implicit-def: $sgpr85
; SI-NEXT: ; implicit-def: $sgpr83
; SI-NEXT: ; implicit-def: $sgpr81
; SI-NEXT: ; implicit-def: $sgpr71
; SI-NEXT: ; implicit-def: $sgpr69
-; SI-NEXT: ; implicit-def: $sgpr99
-; SI-NEXT: ; implicit-def: $sgpr47
-; SI-NEXT: ; kill: killed $sgpr46
+; SI-NEXT: ; implicit-def: $sgpr67
+; SI-NEXT: ; implicit-def: $sgpr65
+; SI-NEXT: ; implicit-def: $sgpr48
+; SI-NEXT: ; implicit-def: $sgpr86
+; SI-NEXT: ; implicit-def: $sgpr35
; SI-NEXT: ; implicit-def: $sgpr31
; SI-NEXT: ; implicit-def: $vcc_hi
; SI-NEXT: ; implicit-def: $sgpr95
@@ -8258,7 +8244,6 @@ define inreg <128 x i8> @bitcast_v32i32_to_v128i8_scalar(<32 x i32> inreg %a, i3
; SI-NEXT: ; implicit-def: $sgpr75
; SI-NEXT: ; implicit-def: $sgpr73
; SI-NEXT: ; implicit-def: $sgpr63
-; SI-NEXT: ; implicit-def: $sgpr61
; SI-NEXT: ; implicit-def: $sgpr34
; SI-NEXT: ; implicit-def: $sgpr30
; SI-NEXT: ; implicit-def: $vcc_lo
@@ -8272,220 +8257,236 @@ define inreg <128 x i8> @bitcast_v32i32_to_v128i8_scalar(<32 x i32> inreg %a, i3
; SI-NEXT: ; implicit-def: $sgpr72
; SI-NEXT: ; implicit-def: $sgpr62
; SI-NEXT: ; implicit-def: $sgpr60
-; SI-NEXT: ; implicit-def: $sgpr58
; SI-NEXT: ; implicit-def: $sgpr56
; SI-NEXT: ; implicit-def: $sgpr46
-; SI-NEXT: v_writelane_b32 v22, s84, 6
-; SI-NEXT: v_writelane_b32 v22, s85, 7
-; SI-NEXT: ; implicit-def: $sgpr84
+; SI-NEXT: ; kill: killed $sgpr46
+; SI-NEXT: ; implicit-def: $sgpr46
+; SI-NEXT: ; kill: killed $sgpr46
+; SI-NEXT: ; implicit-def: $sgpr46
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_writelane_b32 v22, s46, 0
+; SI-NEXT: v_writelane_b32 v22, s47, 1
+; SI-NEXT: v_writelane_b32 v22, s98, 2
+; SI-NEXT: v_writelane_b32 v22, s99, 3
+; SI-NEXT: ; implicit-def: $sgpr98
+; SI-NEXT: ; implicit-def: $sgpr46
+; SI-NEXT: v_writelane_b32 v22, s98, 4
+; SI-NEXT: v_writelane_b32 v22, s99, 5
+; SI-NEXT: ; implicit-def: $sgpr98
+; SI-NEXT: v_writelane_b32 v22, s98, 6
+; SI-NEXT: v_writelane_b32 v22, s99, 7
+; SI-NEXT: ; implicit-def: $sgpr98
+; SI-NEXT: v_writelane_b32 v22, s98, 8
+; SI-NEXT: v_writelane_b32 v22, s99, 9
+; SI-NEXT: ; implicit-def: $sgpr98
+; SI-NEXT: v_writelane_b32 v22, s98, 10
+; SI-NEXT: v_writelane_b32 v22, s99, 11
+; SI-NEXT: ; implicit-def: $sgpr98
+; SI-NEXT: v_writelane_b32 v22, s98, 12
+; SI-NEXT: v_writelane_b32 v22, s99, 13
+; SI-NEXT: ; implicit-def: $sgpr98
+; SI-NEXT: v_writelane_b32 v22, s98, 14
+; SI-NEXT: v_writelane_b32 v22, s99, 15
+; SI-NEXT: ; implicit-def: $sgpr98
+; SI-NEXT: v_writelane_b32 v22, s98, 16
+; SI-NEXT: v_writelane_b32 v22, s99, 17
+; SI-NEXT: ; implicit-def: $sgpr98
+; SI-NEXT: v_writelane_b32 v22, s98, 18
+; SI-NEXT: v_writelane_b32 v22, s99, 19
+; SI-NEXT: ; implicit-def: $sgpr98
+; SI-NEXT: v_writelane_b32 v22, s98, 20
+; SI-NEXT: v_writelane_b32 v22, s99, 21
+; SI-NEXT: ; implicit-def: $sgpr98
+; SI-NEXT: v_writelane_b32 v22, s98, 22
+; SI-NEXT: v_writelane_b32 v22, s99, 23
+; SI-NEXT: ; implicit-def: $sgpr98
+; SI-NEXT: v_writelane_b32 v22, s98, 24
+; SI-NEXT: v_writelane_b32 v22, s99, 25
+; SI-NEXT: ; implicit-def: $sgpr98
+; SI-NEXT: v_writelane_b32 v22, s98, 26
+; SI-NEXT: v_writelane_b32 v22, s99, 27
+; SI-NEXT: ; implicit-def: $sgpr98
+; SI-NEXT: v_writelane_b32 v22, s98, 28
+; SI-NEXT: v_writelane_b32 v22, s99, 29
+; SI-NEXT: ; implicit-def: $sgpr98
+; SI-NEXT: v_writelane_b32 v22, s98, 30
+; SI-NEXT: v_writelane_b32 v22, s99, 31
+; SI-NEXT: ; implicit-def: $sgpr98
+; SI-NEXT: v_writelane_b32 v22, s98, 32
+; SI-NEXT: v_writelane_b32 v22, s99, 33
+; SI-NEXT: ; implicit-def: $sgpr98
+; SI-NEXT: v_writelane_b32 v22, s98, 34
+; SI-NEXT: v_writelane_b32 v22, s99, 35
+; SI-NEXT: ; implicit-def: $sgpr98
+; SI-NEXT: v_writelane_b32 v22, s98, 36
+; SI-NEXT: v_writelane_b32 v22, s99, 37
+; SI-NEXT: ; implicit-def: $sgpr98
+; SI-NEXT: v_writelane_b32 v22, s98, 38
+; SI-NEXT: v_writelane_b32 v22, s99, 39
+; SI-NEXT: ; implicit-def: $sgpr98
+; SI-NEXT: v_writelane_b32 v22, s98, 40
+; SI-NEXT: v_writelane_b32 v22, s99, 41
+; SI-NEXT: ; implicit-def: $sgpr98
+; SI-NEXT: v_writelane_b32 v22, s98, 42
+; SI-NEXT: v_writelane_b32 v22, s99, 43
+; SI-NEXT: ; implicit-def: $sgpr98
+; SI-NEXT: v_writelane_b32 v22, s98, 44
+; SI-NEXT: v_writelane_b32 v22, s99, 45
+; SI-NEXT: ; implicit-def: $sgpr98
+; SI-NEXT: v_writelane_b32 v22, s98, 46
+; SI-NEXT: v_writelane_b32 v22, s99, 47
+; SI-NEXT: ; implicit-def: $sgpr98
+; SI-NEXT: v_writelane_b32 v22, s98, 48
+; SI-NEXT: v_writelane_b32 v22, s99, 49
+; SI-NEXT: ; implicit-def: $sgpr98
+; SI-NEXT: v_writelane_b32 v22, s98, 50
+; SI-NEXT: v_writelane_b32 v22, s99, 51
+; SI-NEXT: ; implicit-def: $sgpr98
+; SI-NEXT: v_writelane_b32 v22, s98, 52
+; SI-NEXT: v_writelane_b32 v22, s99, 53
+; SI-NEXT: ; implicit-def: $sgpr98
+; SI-NEXT: v_writelane_b32 v22, s98, 54
+; SI-NEXT: v_writelane_b32 v22, s99, 55
+; SI-NEXT: ; implicit-def: $sgpr98
+; SI-NEXT: v_writelane_b32 v22, s98, 56
+; SI-NEXT: v_writelane_b32 v22, s99, 57
+; SI-NEXT: ; implicit-def: $sgpr98
+; SI-NEXT: v_writelane_b32 v22, s98, 58
+; SI-NEXT: v_writelane_b32 v22, s99, 59
+; SI-NEXT: ; implicit-def: $sgpr98
+; SI-NEXT: v_writelane_b32 v22, s98, 60
+; SI-NEXT: v_writelane_b32 v22, s99, 61
+; SI-NEXT: ; implicit-def: $sgpr98
+; SI-NEXT: v_writelane_b32 v22, s98, 62
+; SI-NEXT: v_writelane_b32 v22, s99, 63
; SI-NEXT: ; implicit-def: $sgpr98
-; SI-NEXT: v_writelane_b32 v22, s84, 8
-; SI-NEXT: v_writelane_b32 v22, s85, 9
-; SI-NEXT: ; implicit-def: $sgpr84
-; SI-NEXT: v_writelane_b32 v22, s84, 10
-; SI-NEXT: v_writelane_b32 v22, s85, 11
-; SI-NEXT: ; implicit-def: $sgpr84
-; SI-NEXT: v_writelane_b32 v22, s84, 12
-; SI-NEXT: v_writelane_b32 v22, s85, 13
-; SI-NEXT: ; implicit-def: $sgpr84
-; SI-NEXT: v_writelane_b32 v22, s84, 14
-; SI-NEXT: v_writelane_b32 v22, s85, 15
-; SI-NEXT: ; implicit-def: $sgpr84
-; SI-NEXT: v_writelane_b32 v22, s84, 16
-; SI-NEXT: v_writelane_b32 v22, s85, 17
-; SI-NEXT: ; implicit-def: $sgpr84
-; SI-NEXT: v_writelane_b32 v22, s84, 18
-; SI-NEXT: v_writelane_b32 v22, s85, 19
-; SI-NEXT: ; implicit-def: $sgpr84
-; SI-NEXT: v_writelane_b32 v22, s84, 20
-; SI-NEXT: v_writelane_b32 v22, s85, 21
-; SI-NEXT: ; implicit-def: $sgpr84
-; SI-NEXT: v_writelane_b32 v22, s84, 22
-; SI-NEXT: v_writelane_b32 v22, s85, 23
-; SI-NEXT: ; implicit-def: $sgpr84
-; SI-NEXT: v_writelane_b32 v22, s84, 24
-; SI-NEXT: v_writelane_b32 v22, s85, 25
-; SI-NEXT: ; implicit-def: $sgpr84
-; SI-NEXT: v_writelane_b32 v22, s84, 26
-; SI-NEXT: v_writelane_b32 v22, s85, 27
-; SI-NEXT: ; implicit-def: $sgpr84
-; SI-NEXT: v_writelane_b32 v22, s84, 28
-; SI-NEXT: v_writelane_b32 v22, s85, 29
-; SI-NEXT: ; implicit-def: $sgpr84
-; SI-NEXT: v_writelane_b32 v22, s84, 30
-; SI-NEXT: v_writelane_b32 v22, s85, 31
-; SI-NEXT: ; implicit-def: $sgpr84
-; SI-NEXT: v_writelane_b32 v22, s84, 32
-; SI-NEXT: v_writelane_b32 v22, s85, 33
-; SI-NEXT: ; implicit-def: $sgpr84
-; SI-NEXT: v_writelane_b32 v22, s84, 34
-; SI-NEXT: v_writelane_b32 v22, s85, 35
-; SI-NEXT: ; implicit-def: $sgpr84
-; SI-NEXT: v_writelane_b32 v22, s84, 36
-; SI-NEXT: v_writelane_b32 v22, s85, 37
-; SI-NEXT: ; implicit-def: $sgpr84
-; SI-NEXT: v_writelane_b32 v22, s84, 38
-; SI-NEXT: v_writelane_b32 v22, s85, 39
-; SI-NEXT: ; implicit-def: $sgpr84
-; SI-NEXT: v_writelane_b32 v22, s84, 40
-; SI-NEXT: v_writelane_b32 v22, s85, 41
-; SI-NEXT: ; implicit-def: $sgpr84
-; SI-NEXT: v_writelane_b32 v22, s84, 42
-; SI-NEXT: v_writelane_b32 v22, s85, 43
-; SI-NEXT: ; implicit-def: $sgpr84
-; SI-NEXT: v_writelane_b32 v22, s84, 44
-; SI-NEXT: v_writelane_b32 v22, s85, 45
-; SI-NEXT: ; implicit-def: $sgpr84
-; SI-NEXT: v_writelane_b32 v22, s84, 46
-; SI-NEXT: v_writelane_b32 v22, s85, 47
-; SI-NEXT: ; implicit-def: $sgpr84
-; SI-NEXT: v_writelane_b32 v22, s84, 48
-; SI-NEXT: v_writelane_b32 v22, s85, 49
-; SI-NEXT: ; implicit-def: $sgpr84
-; SI-NEXT: v_writelane_b32 v22, s84, 50
-; SI-NEXT: v_writelane_b32 v22, s85, 51
-; SI-NEXT: ; implicit-def: $sgpr84
-; SI-NEXT: v_writelane_b32 v22, s84, 52
-; SI-NEXT: v_writelane_b32 v22, s85, 53
-; SI-NEXT: ; implicit-def: $sgpr84
-; SI-NEXT: v_writelane_b32 v22, s84, 54
-; SI-NEXT: v_writelane_b32 v22, s85, 55
-; SI-NEXT: ; implicit-def: $sgpr84
-; SI-NEXT: v_writelane_b32 v22, s84, 56
-; SI-NEXT: v_writelane_b32 v22, s85, 57
-; SI-NEXT: ; implicit-def: $sgpr84
-; SI-NEXT: v_writelane_b32 v22, s84, 58
-; SI-NEXT: v_writelane_b32 v22, s85, 59
-; SI-NEXT: ; implicit-def: $sgpr84
; SI-NEXT: .LBB13_3: ; %Flow
; SI-NEXT: s_and_b64 s[36:37], s[36:37], exec
-; SI-NEXT: s_cselect_b32 s57, 1, 0
-; SI-NEXT: s_cmp_lg_u32 s57, 1
-; SI-NEXT: s_mov_b32 s36, s84
-; SI-NEXT: s_mov_b32 s84, s52
-; SI-NEXT: s_mov_b32 s52, s54
-; SI-NEXT: s_mov_b32 s54, s64
+; SI-NEXT: s_cselect_b32 s59, 1, 0
+; SI-NEXT: s_cmp_lg_u32 s59, 1
+; SI-NEXT: s_mov_b32 s37, s86
; SI-NEXT: s_cbranch_scc1 .LBB13_5
; SI-NEXT: ; %bb.4: ; %cmp.true
; SI-NEXT: s_add_i32 s5, s5, 3
; SI-NEXT: s_add_i32 s4, s4, 3
; SI-NEXT: s_lshr_b64 s[46:47], s[4:5], 16
-; SI-NEXT: v_writelane_b32 v22, s46, 58
-; SI-NEXT: v_writelane_b32 v22, s47, 59
+; SI-NEXT: v_writelane_b32 v22, s46, 62
+; SI-NEXT: v_writelane_b32 v22, s47, 63
; SI-NEXT: s_lshr_b64 s[46:47], s[4:5], 8
; SI-NEXT: s_add_i32 s7, s7, 3
; SI-NEXT: s_add_i32 s6, s6, 3
+; SI-NEXT: v_writelane_b32 v22, s46, 60
+; SI-NEXT: v_writelane_b32 v22, s47, 61
+; SI-NEXT: s_lshr_b64 s[46:47], s[6:7], 24
+; SI-NEXT: v_writelane_b32 v22, s46, 58
+; SI-NEXT: v_writelane_b32 v22, s47, 59
+; SI-NEXT: s_lshr_b64 s[46:47], s[6:7], 16
; SI-NEXT: v_writelane_b32 v22, s46, 56
; SI-NEXT: v_writelane_b32 v22, s47, 57
-; SI-NEXT: s_lshr_b64 s[46:47], s[6:7], 24
+; SI-NEXT: s_lshr_b64 s[46:47], s[6:7], 8
+; SI-NEXT: s_add_i32 s9, s9, 3
+; SI-NEXT: s_add_i32 s8, s8, 3
; SI-NEXT: v_writelane_b32 v22, s46, 54
; SI-NEXT: v_writelane_b32 v22, s47, 55
-; SI-NEXT: s_lshr_b64 s[46:47], s[6:7], 16
+; SI-NEXT: s_lshr_b64 s[46:47], s[8:9], 24
; SI-NEXT: v_writelane_b32 v22, s46, 52
; SI-NEXT: v_writelane_b32 v22, s47, 53
-; SI-NEXT: s_lshr_b64 s[46:47], s[6:7], 8
-; SI-NEXT: s_add_i32 s9, s9, 3
-; SI-NEXT: s_add_i32 s8, s8, 3
+; SI-NEXT: s_lshr_b64 s[46:47], s[8:9], 16
; SI-NEXT: v_writelane_b32 v22, s46, 50
; SI-NEXT: v_writelane_b32 v22, s47, 51
-; SI-NEXT: s_lshr_b64 s[46:47], s[8:9], 24
+; SI-NEXT: s_lshr_b64 s[46:47], s[8:9], 8
+; SI-NEXT: s_add_i32 s11, s11, 3
+; SI-NEXT: s_add_i32 s10, s10, 3
; SI-NEXT: v_writelane_b32 v22, s46, 48
; SI-NEXT: v_writelane_b32 v22, s47, 49
-; SI-NEXT: s_lshr_b64 s[46:47], s[8:9], 16
+; SI-NEXT: s_lshr_b64 s[46:47], s[10:11], 24
; SI-NEXT: v_writelane_b32 v22, s46, 46
; SI-NEXT: v_writelane_b32 v22, s47, 47
-; SI-NEXT: s_lshr_b64 s[46:47], s[8:9], 8
-; SI-NEXT: s_add_i32 s11, s11, 3
-; SI-NEXT: s_add_i32 s10, s10, 3
+; SI-NEXT: s_lshr_b64 s[46:47], s[10:11], 16
; SI-NEXT: v_writelane_b32 v22, s46, 44
; SI-NEXT: v_writelane_b32 v22, s47, 45
-; SI-NEXT: s_lshr_b64 s[46:47], s[10:11], 24
+; SI-NEXT: s_lshr_b64 s[46:47], s[10:11], 8
+; SI-NEXT: s_add_i32 s13, s13, 3
+; SI-NEXT: s_add_i32 s12, s12, 3
; SI-NEXT: v_writelane_b32 v22, s46, 42
; SI-NEXT: v_writelane_b32 v22, s47, 43
-; SI-NEXT: s_lshr_b64 s[46:47], s[10:11], 16
+; SI-NEXT: s_lshr_b64 s[46:47], s[12:13], 24
; SI-NEXT: v_writelane_b32 v22, s46, 40
; SI-NEXT: v_writelane_b32 v22, s47, 41
-; SI-NEXT: s_lshr_b64 s[46:47], s[10:11], 8
-; SI-NEXT: s_add_i32 s13, s13, 3
-; SI-NEXT: s_add_i32 s12, s12, 3
+; SI-NEXT: s_lshr_b64 s[46:47], s[12:13], 16
; SI-NEXT: v_writelane_b32 v22, s46, 38
; SI-NEXT: v_writelane_b32 v22, s47, 39
-; SI-NEXT: s_lshr_b64 s[46:47], s[12:13], 24
+; SI-NEXT: s_lshr_b64 s[46:47], s[12:13], 8
+; SI-NEXT: s_add_i32 s15, s15, 3
+; SI-NEXT: s_add_i32 s14, s14, 3
; SI-NEXT: v_writelane_b32 v22, s46, 36
; SI-NEXT: v_writelane_b32 v22, s47, 37
-; SI-NEXT: s_lshr_b64 s[46:47], s[12:13], 16
+; SI-NEXT: s_lshr_b64 s[46:47], s[14:15], 24
; SI-NEXT: v_writelane_b32 v22, s46, 34
; SI-NEXT: v_writelane_b32 v22, s47, 35
-; SI-NEXT: s_lshr_b64 s[46:47], s[12:13], 8
-; SI-NEXT: s_add_i32 s15, s15, 3
-; SI-NEXT: s_add_i32 s14, s14, 3
+; SI-NEXT: s_lshr_b64 s[46:47], s[14:15], 16
; SI-NEXT: v_writelane_b32 v22, s46, 32
; SI-NEXT: v_writelane_b32 v22, s47, 33
-; SI-NEXT: s_lshr_b64 s[46:47], s[14:15], 24
+; SI-NEXT: s_lshr_b64 s[46:47], s[14:15], 8
+; SI-NEXT: s_add_i32 s41, s41, 3
+; SI-NEXT: s_add_i32 s40, s40, 3
; SI-NEXT: v_writelane_b32 v22, s46, 30
; SI-NEXT: v_writelane_b32 v22, s47, 31
-; SI-NEXT: s_lshr_b64 s[46:47], s[14:15], 16
+; SI-NEXT: s_lshr_b64 s[46:47], s[40:41], 24
; SI-NEXT: v_writelane_b32 v22, s46, 28
; SI-NEXT: v_writelane_b32 v22, s47, 29
-; SI-NEXT: s_lshr_b64 s[46:47], s[14:15], 8
-; SI-NEXT: s_add_i32 s41, s41, 3
-; SI-NEXT: s_add_i32 s40, s40, 3
+; SI-NEXT: s_lshr_b64 s[46:47], s[40:41], 16
; SI-NEXT: v_writelane_b32 v22, s46, 26
; SI-NEXT: v_writelane_b32 v22, s47, 27
-; SI-NEXT: s_lshr_b64 s[46:47], s[40:41], 24
+; SI-NEXT: s_lshr_b64 s[46:47], s[40:41], 8
+; SI-NEXT: s_add_i32 s43, s43, 3
+; SI-NEXT: s_add_i32 s42, s42, 3
; SI-NEXT: v_writelane_b32 v22, s46, 24
; SI-NEXT: v_writelane_b32 v22, s47, 25
-; SI-NEXT: s_lshr_b64 s[46:47], s[40:41], 16
+; SI-NEXT: s_lshr_b64 s[46:47], s[42:43], 24
; SI-NEXT: v_writelane_b32 v22, s46, 22
; SI-NEXT: v_writelane_b32 v22, s47, 23
-; SI-NEXT: s_lshr_b64 s[46:47], s[40:41], 8
-; SI-NEXT: s_add_i32 s43, s43, 3
-; SI-NEXT: s_add_i32 s42, s42, 3
+; SI-NEXT: s_lshr_b64 s[46:47], s[42:43], 16
; SI-NEXT: v_writelane_b32 v22, s46, 20
; SI-NEXT: v_writelane_b32 v22, s47, 21
-; SI-NEXT: s_lshr_b64 s[46:47], s[42:43], 24
+; SI-NEXT: s_lshr_b64 s[46:47], s[42:43], 8
+; SI-NEXT: s_add_i32 s45, s45, 3
+; SI-NEXT: s_add_i32 s44, s44, 3
; SI-NEXT: v_writelane_b32 v22, s46, 18
; SI-NEXT: v_writelane_b32 v22, s47, 19
-; SI-NEXT: s_lshr_b64 s[46:47], s[42:43], 16
+; SI-NEXT: s_lshr_b64 s[46:47], s[44:45], 24
; SI-NEXT: v_writelane_b32 v22, s46, 16
; SI-NEXT: v_writelane_b32 v22, s47, 17
-; SI-NEXT: s_lshr_b64 s[46:47], s[42:43], 8
-; SI-NEXT: s_add_i32 s45, s45, 3
-; SI-NEXT: s_add_i32 s44, s44, 3
+; SI-NEXT: s_lshr_b64 s[46:47], s[44:45], 16
; SI-NEXT: v_writelane_b32 v22, s46, 14
; SI-NEXT: v_writelane_b32 v22, s47, 15
-; SI-NEXT: s_lshr_b64 s[46:47], s[44:45], 24
+; SI-NEXT: s_lshr_b64 s[46:47], s[44:45], 8
+; SI-NEXT: s_add_i32 s29, s29, 3
+; SI-NEXT: s_add_i32 s28, s28, 3
; SI-NEXT: v_writelane_b32 v22, s46, 12
; SI-NEXT: v_writelane_b32 v22, s47, 13
-; SI-NEXT: s_lshr_b64 s[46:47], s[44:45], 16
+; SI-NEXT: s_lshr_b64 s[46:47], s[28:29], 24
; SI-NEXT: v_writelane_b32 v22, s46, 10
; SI-NEXT: v_writelane_b32 v22, s47, 11
-; SI-NEXT: s_lshr_b64 s[46:47], s[44:45], 8
-; SI-NEXT: s_add_i32 s29, s29, 3
-; SI-NEXT: s_add_i32 s28, s28, 3
+; SI-NEXT: s_lshr_b64 s[46:47], s[28:29], 16
; SI-NEXT: v_writelane_b32 v22, s46, 8
; SI-NEXT: v_writelane_b32 v22, s47, 9
-; SI-NEXT: s_lshr_b64 s[46:47], s[28:29], 24
+; SI-NEXT: s_lshr_b64 s[46:47], s[28:29], 8
+; SI-NEXT: s_add_i32 s27, s27, 3
+; SI-NEXT: s_add_i32 s26, s26, 3
; SI-NEXT: v_writelane_b32 v22, s46, 6
; SI-NEXT: v_writelane_b32 v22, s47, 7
-; SI-NEXT: s_lshr_b64 s[46:47], s[28:29], 16
+; SI-NEXT: s_lshr_b64 s[46:47], s[26:27], 24
; SI-NEXT: v_writelane_b32 v22, s46, 4
; SI-NEXT: v_writelane_b32 v22, s47, 5
-; SI-NEXT: s_lshr_b64 s[46:47], s[28:29], 8
-; SI-NEXT: s_add_i32 s27, s27, 3
-; SI-NEXT: s_add_i32 s26, s26, 3
+; SI-NEXT: s_lshr_b64 s[46:47], s[26:27], 16
; SI-NEXT: v_writelane_b32 v22, s46, 2
; SI-NEXT: v_writelane_b32 v22, s47, 3
-; SI-NEXT: s_lshr_b64 s[46:47], s[26:27], 24
-; SI-NEXT: v_writelane_b32 v22, s46, 0
-; SI-NEXT: v_writelane_b32 v22, s47, 1
; SI-NEXT: s_lshr_b64 s[46:47], s[26:27], 8
-; SI-NEXT: s_lshr_b32 s47, s13, 24
-; SI-NEXT: v_writelane_b32 v22, s47, 60
-; SI-NEXT: s_lshr_b32 s47, s13, 16
-; SI-NEXT: v_writelane_b32 v22, s47, 61
; SI-NEXT: s_lshr_b32 s47, s13, 8
-; SI-NEXT: v_writelane_b32 v22, s47, 62
+; SI-NEXT: s_add_i32 s25, s25, 3
+; SI-NEXT: s_add_i32 s24, s24, 3
+; SI-NEXT: v_writelane_b32 v21, s47, 0
; SI-NEXT: s_lshr_b32 s47, s15, 24
; SI-NEXT: s_add_i32 s17, s17, 3
; SI-NEXT: s_add_i32 s16, s16, 3
@@ -8495,12 +8496,12 @@ define inreg <128 x i8> @bitcast_v32i32_to_v128i8_scalar(<32 x i32> inreg %a, i3
; SI-NEXT: s_add_i32 s20, s20, 3
; SI-NEXT: s_add_i32 s23, s23, 3
; SI-NEXT: s_add_i32 s22, s22, 3
-; SI-NEXT: s_add_i32 s25, s25, 3
-; SI-NEXT: s_add_i32 s24, s24, 3
-; SI-NEXT: v_writelane_b32 v22, s47, 63
+; SI-NEXT: s_lshr_b64 s[58:59], s[24:25], 16
+; SI-NEXT: v_writelane_b32 v21, s47, 1
; SI-NEXT: s_lshr_b32 s47, s15, 16
-; SI-NEXT: s_lshr_b64 s[98:99], s[26:27], 16
-; SI-NEXT: s_lshr_b64 s[60:61], s[24:25], 8
+; SI-NEXT: s_lshr_b64 s[98:99], s[4:5], 24
+; SI-NEXT: s_lshr_b64 s[56:57], s[24:25], 24
+; SI-NEXT: v_writelane_b32 v22, s58, 0
; SI-NEXT: s_lshr_b64 s[62:63], s[22:23], 24
; SI-NEXT: s_lshr_b64 s[72:73], s[22:23], 16
; SI-NEXT: s_lshr_b64 s[74:75], s[22:23], 8
@@ -8513,73 +8514,74 @@ define inreg <128 x i8> @bitcast_v32i32_to_v128i8_scalar(<32 x i32> inreg %a, i3
; SI-NEXT: s_lshr_b64 vcc, s[16:17], 24
; SI-NEXT: s_lshr_b64 s[30:31], s[16:17], 16
; SI-NEXT: s_lshr_b64 s[34:35], s[16:17], 8
-; SI-NEXT: v_writelane_b32 v21, s47, 0
+; SI-NEXT: v_writelane_b32 v21, s47, 2
; SI-NEXT: s_lshr_b32 s47, s15, 8
-; SI-NEXT: s_lshr_b64 s[36:37], s[4:5], 24
-; SI-NEXT: s_lshr_b64 s[56:57], s[24:25], 24
-; SI-NEXT: s_lshr_b64 s[58:59], s[24:25], 16
-; SI-NEXT: s_lshr_b32 s61, s5, 24
-; SI-NEXT: s_lshr_b32 s63, s5, 16
-; SI-NEXT: s_lshr_b32 s73, s5, 8
-; SI-NEXT: s_lshr_b32 s75, s7, 24
-; SI-NEXT: s_lshr_b32 s77, s7, 16
-; SI-NEXT: s_lshr_b32 s79, s7, 8
-; SI-NEXT: s_lshr_b32 s89, s9, 24
-; SI-NEXT: s_lshr_b32 s91, s9, 16
-; SI-NEXT: s_lshr_b32 s93, s9, 8
-; SI-NEXT: s_lshr_b32 s95, s11, 24
-; SI-NEXT: s_lshr_b32 vcc_hi, s11, 16
-; SI-NEXT: s_lshr_b32 s31, s11, 8
-; SI-NEXT: v_writelane_b32 v21, s47, 1
+; SI-NEXT: v_writelane_b32 v22, s59, 1
+; SI-NEXT: s_lshr_b64 s[60:61], s[24:25], 8
+; SI-NEXT: s_lshr_b32 s63, s5, 24
+; SI-NEXT: s_lshr_b32 s73, s5, 16
+; SI-NEXT: s_lshr_b32 s75, s5, 8
+; SI-NEXT: s_lshr_b32 s77, s7, 24
+; SI-NEXT: s_lshr_b32 s79, s7, 16
+; SI-NEXT: s_lshr_b32 s89, s7, 8
+; SI-NEXT: s_lshr_b32 s91, s9, 24
+; SI-NEXT: s_lshr_b32 s93, s9, 16
+; SI-NEXT: s_lshr_b32 s95, s9, 8
+; SI-NEXT: s_lshr_b32 vcc_hi, s11, 24
+; SI-NEXT: s_lshr_b32 s31, s11, 16
+; SI-NEXT: s_lshr_b32 s35, s11, 8
+; SI-NEXT: s_lshr_b32 s37, s13, 24
+; SI-NEXT: s_lshr_b32 s48, s13, 16
+; SI-NEXT: v_writelane_b32 v21, s47, 3
; SI-NEXT: s_lshr_b32 s47, s41, 24
; SI-NEXT: s_lshr_b32 s99, s41, 16
-; SI-NEXT: s_lshr_b32 s69, s41, 8
-; SI-NEXT: s_lshr_b32 s71, s43, 24
-; SI-NEXT: s_lshr_b32 s81, s43, 16
-; SI-NEXT: s_lshr_b32 s83, s43, 8
-; SI-NEXT: s_lshr_b32 s85, s45, 24
-; SI-NEXT: s_lshr_b32 s87, s45, 16
-; SI-NEXT: s_lshr_b32 s97, s45, 8
-; SI-NEXT: s_lshr_b32 s35, s29, 24
-; SI-NEXT: s_lshr_b32 s86, s29, 16
-; SI-NEXT: s_lshr_b32 s84, s29, 8
-; SI-NEXT: s_lshr_b32 s52, s27, 24
-; SI-NEXT: s_lshr_b32 s54, s27, 16
-; SI-NEXT: s_lshr_b32 s96, s27, 8
-; SI-NEXT: s_lshr_b32 s66, s25, 24
-; SI-NEXT: s_lshr_b32 s68, s25, 16
-; SI-NEXT: s_lshr_b32 s70, s25, 8
-; SI-NEXT: s_lshr_b32 s80, s23, 24
-; SI-NEXT: s_lshr_b32 s39, s23, 16
-; SI-NEXT: s_lshr_b32 s49, s23, 8
-; SI-NEXT: s_lshr_b32 s51, s21, 24
-; SI-NEXT: s_lshr_b32 s53, s21, 16
-; SI-NEXT: s_lshr_b32 s55, s21, 8
-; SI-NEXT: s_lshr_b32 s38, s19, 24
-; SI-NEXT: s_lshr_b32 s48, s19, 16
-; SI-NEXT: s_lshr_b32 s82, s19, 8
-; SI-NEXT: s_lshr_b32 s50, s17, 24
-; SI-NEXT: s_lshr_b32 s65, s17, 16
-; SI-NEXT: s_lshr_b32 s67, s17, 8
+; SI-NEXT: s_lshr_b32 s65, s41, 8
+; SI-NEXT: s_lshr_b32 s67, s43, 24
+; SI-NEXT: s_lshr_b32 s69, s43, 16
+; SI-NEXT: s_lshr_b32 s71, s43, 8
+; SI-NEXT: s_lshr_b32 s81, s45, 24
+; SI-NEXT: s_lshr_b32 s83, s45, 16
+; SI-NEXT: s_lshr_b32 s85, s45, 8
+; SI-NEXT: s_lshr_b32 s58, s29, 24
+; SI-NEXT: s_lshr_b32 s57, s29, 16
+; SI-NEXT: s_lshr_b32 s97, s29, 8
+; SI-NEXT: s_lshr_b32 s50, s27, 24
+; SI-NEXT: s_lshr_b32 s96, s27, 16
+; SI-NEXT: s_lshr_b32 s52, s27, 8
+; SI-NEXT: s_lshr_b32 s54, s25, 24
+; SI-NEXT: s_lshr_b32 s64, s25, 16
+; SI-NEXT: s_lshr_b32 s66, s25, 8
+; SI-NEXT: s_lshr_b32 s68, s23, 24
+; SI-NEXT: s_lshr_b32 s70, s23, 16
+; SI-NEXT: s_lshr_b32 s87, s23, 8
+; SI-NEXT: s_lshr_b32 s80, s21, 24
+; SI-NEXT: s_lshr_b32 s39, s21, 16
+; SI-NEXT: s_lshr_b32 s49, s21, 8
+; SI-NEXT: s_lshr_b32 s51, s19, 24
+; SI-NEXT: s_lshr_b32 s82, s19, 16
+; SI-NEXT: s_lshr_b32 s84, s19, 8
+; SI-NEXT: s_lshr_b32 s53, s17, 24
+; SI-NEXT: s_lshr_b32 s55, s17, 16
+; SI-NEXT: s_lshr_b32 s38, s17, 8
; SI-NEXT: .LBB13_5: ; %end
; SI-NEXT: s_and_b32 s16, s16, 0xff
-; SI-NEXT: s_lshl_b32 s57, s34, 8
-; SI-NEXT: s_or_b32 s16, s16, s57
-; SI-NEXT: s_and_b32 s57, s30, 0xff
-; SI-NEXT: s_lshl_b32 s57, s57, 16
-; SI-NEXT: s_lshl_b32 s59, vcc_lo, 24
+; SI-NEXT: s_lshl_b32 s59, s34, 8
+; SI-NEXT: s_or_b32 s16, s16, s59
+; SI-NEXT: s_and_b32 s59, s30, 0xff
+; SI-NEXT: s_lshl_b32 s59, s59, 16
+; SI-NEXT: s_lshl_b32 s61, vcc_lo, 24
; SI-NEXT: s_and_b32 s16, s16, 0xffff
-; SI-NEXT: s_or_b32 s57, s59, s57
-; SI-NEXT: s_or_b32 s16, s16, s57
+; SI-NEXT: s_or_b32 s59, s61, s59
+; SI-NEXT: s_or_b32 s16, s16, s59
; SI-NEXT: v_mov_b32_e32 v1, s16
; SI-NEXT: s_and_b32 s16, s17, 0xff
-; SI-NEXT: s_lshl_b32 s17, s67, 8
+; SI-NEXT: s_lshl_b32 s17, s38, 8
; SI-NEXT: s_or_b32 s16, s16, s17
-; SI-NEXT: s_and_b32 s17, s65, 0xff
+; SI-NEXT: s_and_b32 s17, s55, 0xff
; SI-NEXT: s_lshl_b32 s17, s17, 16
-; SI-NEXT: s_lshl_b32 s57, s50, 24
+; SI-NEXT: s_lshl_b32 s59, s53, 24
; SI-NEXT: s_and_b32 s16, s16, 0xffff
-; SI-NEXT: s_or_b32 s17, s57, s17
+; SI-NEXT: s_or_b32 s17, s59, s17
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen
; SI-NEXT: s_waitcnt expcnt(0)
@@ -8597,11 +8599,11 @@ define inreg <128 x i8> @bitcast_v32i32_to_v128i8_scalar(<32 x i32> inreg %a, i3
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s16
; SI-NEXT: s_and_b32 s16, s19, 0xff
-; SI-NEXT: s_lshl_b32 s17, s82, 8
+; SI-NEXT: s_lshl_b32 s17, s84, 8
; SI-NEXT: s_or_b32 s16, s16, s17
-; SI-NEXT: s_and_b32 s17, s48, 0xff
+; SI-NEXT: s_and_b32 s17, s82, 0xff
; SI-NEXT: s_lshl_b32 s17, s17, 16
-; SI-NEXT: s_lshl_b32 s18, s38, 24
+; SI-NEXT: s_lshl_b32 s18, s51, 24
; SI-NEXT: s_and_b32 s16, s16, 0xffff
; SI-NEXT: s_or_b32 s17, s18, s17
; SI-NEXT: s_or_b32 s16, s16, s17
@@ -8621,11 +8623,11 @@ define inreg <128 x i8> @bitcast_v32i32_to_v128i8_scalar(<32 x i32> inreg %a, i3
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s16
; SI-NEXT: s_and_b32 s16, s21, 0xff
-; SI-NEXT: s_lshl_b32 s17, s55, 8
+; SI-NEXT: s_lshl_b32 s17, s49, 8
; SI-NEXT: s_or_b32 s16, s16, s17
-; SI-NEXT: s_and_b32 s17, s53, 0xff
+; SI-NEXT: s_and_b32 s17, s39, 0xff
; SI-NEXT: s_lshl_b32 s17, s17, 16
-; SI-NEXT: s_lshl_b32 s18, s51, 24
+; SI-NEXT: s_lshl_b32 s18, s80, 24
; SI-NEXT: s_and_b32 s16, s16, 0xffff
; SI-NEXT: s_or_b32 s17, s18, s17
; SI-NEXT: s_or_b32 s16, s16, s17
@@ -8645,11 +8647,11 @@ define inreg <128 x i8> @bitcast_v32i32_to_v128i8_scalar(<32 x i32> inreg %a, i3
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s16
; SI-NEXT: s_and_b32 s16, s23, 0xff
-; SI-NEXT: s_lshl_b32 s17, s49, 8
+; SI-NEXT: s_lshl_b32 s17, s87, 8
; SI-NEXT: s_or_b32 s16, s16, s17
-; SI-NEXT: s_and_b32 s17, s39, 0xff
+; SI-NEXT: s_and_b32 s17, s70, 0xff
; SI-NEXT: s_lshl_b32 s17, s17, 16
-; SI-NEXT: s_lshl_b32 s18, s80, 24
+; SI-NEXT: s_lshl_b32 s18, s68, 24
; SI-NEXT: s_and_b32 s16, s16, 0xffff
; SI-NEXT: s_or_b32 s17, s18, s17
; SI-NEXT: s_or_b32 s16, s16, s17
@@ -8658,8 +8660,9 @@ define inreg <128 x i8> @bitcast_v32i32_to_v128i8_scalar(<32 x i32> inreg %a, i3
; SI-NEXT: v_mov_b32_e32 v1, s16
; SI-NEXT: s_and_b32 s16, s24, 0xff
; SI-NEXT: s_lshl_b32 s17, s60, 8
+; SI-NEXT: v_readlane_b32 s18, v22, 0
; SI-NEXT: s_or_b32 s16, s16, s17
-; SI-NEXT: s_and_b32 s17, s58, 0xff
+; SI-NEXT: s_and_b32 s17, s18, 0xff
; SI-NEXT: s_lshl_b32 s17, s17, 16
; SI-NEXT: s_lshl_b32 s18, s56, 24
; SI-NEXT: s_and_b32 s16, s16, 0xffff
@@ -8669,22 +8672,25 @@ define inreg <128 x i8> @bitcast_v32i32_to_v128i8_scalar(<32 x i32> inreg %a, i3
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s16
; SI-NEXT: s_and_b32 s16, s25, 0xff
-; SI-NEXT: s_lshl_b32 s17, s70, 8
+; SI-NEXT: s_lshl_b32 s17, s66, 8
; SI-NEXT: s_or_b32 s16, s16, s17
-; SI-NEXT: s_and_b32 s17, s68, 0xff
+; SI-NEXT: s_and_b32 s17, s64, 0xff
; SI-NEXT: s_lshl_b32 s17, s17, 16
-; SI-NEXT: s_lshl_b32 s18, s66, 24
+; SI-NEXT: s_lshl_b32 s18, s54, 24
+; SI-NEXT: v_readlane_b32 s19, v22, 1
; SI-NEXT: s_and_b32 s16, s16, 0xffff
; SI-NEXT: s_or_b32 s17, s18, s17
; SI-NEXT: s_or_b32 s16, s16, s17
+; SI-NEXT: v_readlane_b32 s18, v22, 2
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:32
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s16
; SI-NEXT: s_and_b32 s16, s26, 0xff
; SI-NEXT: s_lshl_b32 s17, s46, 8
+; SI-NEXT: v_readlane_b32 s19, v22, 3
; SI-NEXT: s_or_b32 s16, s16, s17
-; SI-NEXT: s_and_b32 s17, s98, 0xff
-; SI-NEXT: v_readlane_b32 s18, v22, 0
+; SI-NEXT: s_and_b32 s17, s18, 0xff
+; SI-NEXT: v_readlane_b32 s18, v22, 4
; SI-NEXT: s_lshl_b32 s17, s17, 16
; SI-NEXT: s_lshl_b32 s18, s18, 24
; SI-NEXT: s_and_b32 s16, s16, 0xffff
@@ -8694,27 +8700,27 @@ define inreg <128 x i8> @bitcast_v32i32_to_v128i8_scalar(<32 x i32> inreg %a, i3
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s16
; SI-NEXT: s_and_b32 s16, s27, 0xff
-; SI-NEXT: s_lshl_b32 s17, s96, 8
+; SI-NEXT: s_lshl_b32 s17, s52, 8
; SI-NEXT: s_or_b32 s16, s16, s17
-; SI-NEXT: s_and_b32 s17, s54, 0xff
-; SI-NEXT: v_readlane_b32 s19, v22, 1
+; SI-NEXT: s_and_b32 s17, s96, 0xff
+; SI-NEXT: v_readlane_b32 s19, v22, 5
; SI-NEXT: s_lshl_b32 s17, s17, 16
-; SI-NEXT: s_lshl_b32 s18, s52, 24
+; SI-NEXT: s_lshl_b32 s18, s50, 24
; SI-NEXT: s_or_b32 s17, s18, s17
-; SI-NEXT: v_readlane_b32 s18, v22, 2
+; SI-NEXT: v_readlane_b32 s18, v22, 6
; SI-NEXT: s_and_b32 s16, s16, 0xffff
-; SI-NEXT: v_readlane_b32 s19, v22, 3
+; SI-NEXT: v_readlane_b32 s19, v22, 7
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: s_lshl_b32 s17, s18, 8
-; SI-NEXT: v_readlane_b32 s18, v22, 4
+; SI-NEXT: v_readlane_b32 s18, v22, 8
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:40
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s16
; SI-NEXT: s_and_b32 s16, s28, 0xff
-; SI-NEXT: v_readlane_b32 s19, v22, 5
+; SI-NEXT: v_readlane_b32 s19, v22, 9
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: s_and_b32 s17, s18, 0xff
-; SI-NEXT: v_readlane_b32 s18, v22, 6
+; SI-NEXT: v_readlane_b32 s18, v22, 10
; SI-NEXT: s_lshl_b32 s17, s17, 16
; SI-NEXT: s_lshl_b32 s18, s18, 24
; SI-NEXT: s_and_b32 s16, s16, 0xffff
@@ -8724,27 +8730,27 @@ define inreg <128 x i8> @bitcast_v32i32_to_v128i8_scalar(<32 x i32> inreg %a, i3
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s16
; SI-NEXT: s_and_b32 s16, s29, 0xff
-; SI-NEXT: s_lshl_b32 s17, s84, 8
+; SI-NEXT: s_lshl_b32 s17, s97, 8
; SI-NEXT: s_or_b32 s16, s16, s17
-; SI-NEXT: s_and_b32 s17, s86, 0xff
-; SI-NEXT: v_readlane_b32 s19, v22, 7
+; SI-NEXT: s_and_b32 s17, s57, 0xff
+; SI-NEXT: v_readlane_b32 s19, v22, 11
; SI-NEXT: s_lshl_b32 s17, s17, 16
-; SI-NEXT: s_lshl_b32 s18, s35, 24
+; SI-NEXT: s_lshl_b32 s18, s58, 24
; SI-NEXT: s_or_b32 s17, s18, s17
-; SI-NEXT: v_readlane_b32 s18, v22, 8
+; SI-NEXT: v_readlane_b32 s18, v22, 12
; SI-NEXT: s_and_b32 s16, s16, 0xffff
-; SI-NEXT: v_readlane_b32 s19, v22, 9
+; SI-NEXT: v_readlane_b32 s19, v22, 13
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: s_lshl_b32 s17, s18, 8
-; SI-NEXT: v_readlane_b32 s18, v22, 10
+; SI-NEXT: v_readlane_b32 s18, v22, 14
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:48
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s16
; SI-NEXT: s_and_b32 s16, s44, 0xff
-; SI-NEXT: v_readlane_b32 s19, v22, 11
+; SI-NEXT: v_readlane_b32 s19, v22, 15
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: s_and_b32 s17, s18, 0xff
-; SI-NEXT: v_readlane_b32 s18, v22, 12
+; SI-NEXT: v_readlane_b32 s18, v22, 16
; SI-NEXT: s_lshl_b32 s17, s17, 16
; SI-NEXT: s_lshl_b32 s18, s18, 24
; SI-NEXT: s_and_b32 s16, s16, 0xffff
@@ -8754,27 +8760,27 @@ define inreg <128 x i8> @bitcast_v32i32_to_v128i8_scalar(<32 x i32> inreg %a, i3
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s16
; SI-NEXT: s_and_b32 s16, s45, 0xff
-; SI-NEXT: s_lshl_b32 s17, s97, 8
+; SI-NEXT: s_lshl_b32 s17, s85, 8
; SI-NEXT: s_or_b32 s16, s16, s17
-; SI-NEXT: s_and_b32 s17, s87, 0xff
-; SI-NEXT: v_readlane_b32 s19, v22, 13
+; SI-NEXT: s_and_b32 s17, s83, 0xff
+; SI-NEXT: v_readlane_b32 s19, v22, 17
; SI-NEXT: s_lshl_b32 s17, s17, 16
-; SI-NEXT: s_lshl_b32 s18, s85, 24
+; SI-NEXT: s_lshl_b32 s18, s81, 24
; SI-NEXT: s_or_b32 s17, s18, s17
-; SI-NEXT: v_readlane_b32 s18, v22, 14
+; SI-NEXT: v_readlane_b32 s18, v22, 18
; SI-NEXT: s_and_b32 s16, s16, 0xffff
-; SI-NEXT: v_readlane_b32 s19, v22, 15
+; SI-NEXT: v_readlane_b32 s19, v22, 19
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: s_lshl_b32 s17, s18, 8
-; SI-NEXT: v_readlane_b32 s18, v22, 16
+; SI-NEXT: v_readlane_b32 s18, v22, 20
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:56
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s16
; SI-NEXT: s_and_b32 s16, s42, 0xff
-; SI-NEXT: v_readlane_b32 s19, v22, 17
+; SI-NEXT: v_readlane_b32 s19, v22, 21
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: s_and_b32 s17, s18, 0xff
-; SI-NEXT: v_readlane_b32 s18, v22, 18
+; SI-NEXT: v_readlane_b32 s18, v22, 22
; SI-NEXT: s_lshl_b32 s17, s17, 16
; SI-NEXT: s_lshl_b32 s18, s18, 24
; SI-NEXT: s_and_b32 s16, s16, 0xffff
@@ -8784,27 +8790,27 @@ define inreg <128 x i8> @bitcast_v32i32_to_v128i8_scalar(<32 x i32> inreg %a, i3
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s16
; SI-NEXT: s_and_b32 s16, s43, 0xff
-; SI-NEXT: s_lshl_b32 s17, s83, 8
+; SI-NEXT: s_lshl_b32 s17, s71, 8
; SI-NEXT: s_or_b32 s16, s16, s17
-; SI-NEXT: s_and_b32 s17, s81, 0xff
-; SI-NEXT: v_readlane_b32 s19, v22, 19
+; SI-NEXT: s_and_b32 s17, s69, 0xff
+; SI-NEXT: v_readlane_b32 s19, v22, 23
; SI-NEXT: s_lshl_b32 s17, s17, 16
-; SI-NEXT: s_lshl_b32 s18, s71, 24
+; SI-NEXT: s_lshl_b32 s18, s67, 24
; SI-NEXT: s_or_b32 s17, s18, s17
-; SI-NEXT: v_readlane_b32 s18, v22, 20
+; SI-NEXT: v_readlane_b32 s18, v22, 24
; SI-NEXT: s_and_b32 s16, s16, 0xffff
-; SI-NEXT: v_readlane_b32 s19, v22, 21
+; SI-NEXT: v_readlane_b32 s19, v22, 25
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: s_lshl_b32 s17, s18, 8
-; SI-NEXT: v_readlane_b32 s18, v22, 22
+; SI-NEXT: v_readlane_b32 s18, v22, 26
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:64
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s16
; SI-NEXT: s_and_b32 s16, s40, 0xff
-; SI-NEXT: v_readlane_b32 s19, v22, 23
+; SI-NEXT: v_readlane_b32 s19, v22, 27
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: s_and_b32 s17, s18, 0xff
-; SI-NEXT: v_readlane_b32 s18, v22, 24
+; SI-NEXT: v_readlane_b32 s18, v22, 28
; SI-NEXT: s_lshl_b32 s17, s17, 16
; SI-NEXT: s_lshl_b32 s18, s18, 24
; SI-NEXT: s_and_b32 s16, s16, 0xffff
@@ -8814,7 +8820,7 @@ define inreg <128 x i8> @bitcast_v32i32_to_v128i8_scalar(<32 x i32> inreg %a, i3
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s16
; SI-NEXT: s_and_b32 s16, s41, 0xff
-; SI-NEXT: s_lshl_b32 s17, s69, 8
+; SI-NEXT: s_lshl_b32 s17, s65, 8
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: s_and_b32 s17, s99, 0xff
; SI-NEXT: s_lshl_b32 s17, s17, 16
@@ -8825,16 +8831,16 @@ define inreg <128 x i8> @bitcast_v32i32_to_v128i8_scalar(<32 x i32> inreg %a, i3
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:72
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s16
-; SI-NEXT: v_readlane_b32 s16, v22, 26
+; SI-NEXT: v_readlane_b32 s16, v22, 30
; SI-NEXT: s_and_b32 s14, s14, 0xff
-; SI-NEXT: v_readlane_b32 s17, v22, 27
+; SI-NEXT: v_readlane_b32 s17, v22, 31
; SI-NEXT: s_lshl_b32 s16, s16, 8
-; SI-NEXT: v_readlane_b32 s19, v22, 25
+; SI-NEXT: v_readlane_b32 s19, v22, 29
; SI-NEXT: s_or_b32 s14, s14, s16
-; SI-NEXT: v_readlane_b32 s16, v22, 28
-; SI-NEXT: v_readlane_b32 s17, v22, 29
+; SI-NEXT: v_readlane_b32 s16, v22, 32
+; SI-NEXT: v_readlane_b32 s17, v22, 33
; SI-NEXT: s_and_b32 s16, s16, 0xff
-; SI-NEXT: v_readlane_b32 s18, v22, 30
+; SI-NEXT: v_readlane_b32 s18, v22, 34
; SI-NEXT: s_lshl_b32 s16, s16, 16
; SI-NEXT: s_lshl_b32 s17, s18, 24
; SI-NEXT: s_and_b32 s14, s14, 0xffff
@@ -8843,30 +8849,30 @@ define inreg <128 x i8> @bitcast_v32i32_to_v128i8_scalar(<32 x i32> inreg %a, i3
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:76
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s14
-; SI-NEXT: v_readlane_b32 s14, v21, 1
+; SI-NEXT: v_readlane_b32 s14, v21, 3
; SI-NEXT: s_and_b32 s15, s15, 0xff
; SI-NEXT: s_lshl_b32 s14, s14, 8
; SI-NEXT: s_or_b32 s14, s15, s14
; SI-NEXT: s_and_b32 s15, s14, 0xffff
-; SI-NEXT: v_readlane_b32 s14, v21, 0
+; SI-NEXT: v_readlane_b32 s14, v21, 2
; SI-NEXT: s_and_b32 s14, s14, 0xff
; SI-NEXT: s_lshl_b32 s16, s14, 16
-; SI-NEXT: v_readlane_b32 s14, v22, 63
+; SI-NEXT: v_readlane_b32 s14, v21, 1
; SI-NEXT: s_lshl_b32 s14, s14, 24
; SI-NEXT: s_or_b32 s14, s14, s16
; SI-NEXT: s_or_b32 s14, s15, s14
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:80
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s14
-; SI-NEXT: v_readlane_b32 s14, v22, 32
+; SI-NEXT: v_readlane_b32 s14, v22, 36
; SI-NEXT: s_and_b32 s12, s12, 0xff
-; SI-NEXT: v_readlane_b32 s15, v22, 33
+; SI-NEXT: v_readlane_b32 s15, v22, 37
; SI-NEXT: s_lshl_b32 s14, s14, 8
; SI-NEXT: s_or_b32 s12, s12, s14
-; SI-NEXT: v_readlane_b32 s14, v22, 34
-; SI-NEXT: v_readlane_b32 s15, v22, 35
+; SI-NEXT: v_readlane_b32 s14, v22, 38
+; SI-NEXT: v_readlane_b32 s15, v22, 39
; SI-NEXT: s_and_b32 s14, s14, 0xff
-; SI-NEXT: v_readlane_b32 s16, v22, 36
+; SI-NEXT: v_readlane_b32 s16, v22, 40
; SI-NEXT: s_lshl_b32 s14, s14, 16
; SI-NEXT: s_lshl_b32 s15, s16, 24
; SI-NEXT: s_and_b32 s12, s12, 0xffff
@@ -8875,30 +8881,28 @@ define inreg <128 x i8> @bitcast_v32i32_to_v128i8_scalar(<32 x i32> inreg %a, i3
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:84
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s12
-; SI-NEXT: v_readlane_b32 s12, v22, 62
+; SI-NEXT: v_readlane_b32 s12, v21, 0
; SI-NEXT: s_and_b32 s13, s13, 0xff
; SI-NEXT: s_lshl_b32 s12, s12, 8
; SI-NEXT: s_or_b32 s12, s13, s12
-; SI-NEXT: s_and_b32 s13, s12, 0xffff
-; SI-NEXT: v_readlane_b32 s12, v22, 61
-; SI-NEXT: s_and_b32 s12, s12, 0xff
-; SI-NEXT: s_lshl_b32 s14, s12, 16
-; SI-NEXT: v_readlane_b32 s12, v22, 60
-; SI-NEXT: s_lshl_b32 s12, s12, 24
-; SI-NEXT: s_or_b32 s12, s12, s14
-; SI-NEXT: s_or_b32 s12, s13, s12
+; SI-NEXT: s_and_b32 s13, s48, 0xff
+; SI-NEXT: s_lshl_b32 s13, s13, 16
+; SI-NEXT: s_lshl_b32 s14, s37, 24
+; SI-NEXT: s_and_b32 s12, s12, 0xffff
+; SI-NEXT: s_or_b32 s13, s14, s13
+; SI-NEXT: s_or_b32 s12, s12, s13
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:88
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s12
-; SI-NEXT: v_readlane_b32 s12, v22, 38
+; SI-NEXT: v_readlane_b32 s12, v22, 42
; SI-NEXT: s_and_b32 s10, s10, 0xff
-; SI-NEXT: v_readlane_b32 s13, v22, 39
+; SI-NEXT: v_readlane_b32 s13, v22, 43
; SI-NEXT: s_lshl_b32 s12, s12, 8
; SI-NEXT: s_or_b32 s10, s10, s12
-; SI-NEXT: v_readlane_b32 s12, v22, 40
-; SI-NEXT: v_readlane_b32 s13, v22, 41
+; SI-NEXT: v_readlane_b32 s12, v22, 44
+; SI-NEXT: v_readlane_b32 s13, v22, 45
; SI-NEXT: s_and_b32 s12, s12, 0xff
-; SI-NEXT: v_readlane_b32 s14, v22, 42
+; SI-NEXT: v_readlane_b32 s14, v22, 46
; SI-NEXT: s_lshl_b32 s12, s12, 16
; SI-NEXT: s_lshl_b32 s13, s14, 24
; SI-NEXT: s_and_b32 s10, s10, 0xffff
@@ -8908,26 +8912,26 @@ define inreg <128 x i8> @bitcast_v32i32_to_v128i8_scalar(<32 x i32> inreg %a, i3
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s10
; SI-NEXT: s_and_b32 s10, s11, 0xff
-; SI-NEXT: s_lshl_b32 s11, s31, 8
+; SI-NEXT: s_lshl_b32 s11, s35, 8
; SI-NEXT: s_or_b32 s10, s10, s11
-; SI-NEXT: s_and_b32 s11, vcc_hi, 0xff
+; SI-NEXT: s_and_b32 s11, s31, 0xff
; SI-NEXT: s_lshl_b32 s11, s11, 16
-; SI-NEXT: s_lshl_b32 s12, s95, 24
+; SI-NEXT: s_lshl_b32 s12, vcc_hi, 24
; SI-NEXT: s_and_b32 s10, s10, 0xffff
; SI-NEXT: s_or_b32 s11, s12, s11
; SI-NEXT: s_or_b32 s10, s10, s11
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:96
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s10
-; SI-NEXT: v_readlane_b32 s10, v22, 44
+; SI-NEXT: v_readlane_b32 s10, v22, 48
; SI-NEXT: s_and_b32 s8, s8, 0xff
-; SI-NEXT: v_readlane_b32 s11, v22, 45
+; SI-NEXT: v_readlane_b32 s11, v22, 49
; SI-NEXT: s_lshl_b32 s10, s10, 8
; SI-NEXT: s_or_b32 s8, s8, s10
-; SI-NEXT: v_readlane_b32 s10, v22, 46
-; SI-NEXT: v_readlane_b32 s11, v22, 47
+; SI-NEXT: v_readlane_b32 s10, v22, 50
+; SI-NEXT: v_readlane_b32 s11, v22, 51
; SI-NEXT: s_and_b32 s10, s10, 0xff
-; SI-NEXT: v_readlane_b32 s12, v22, 48
+; SI-NEXT: v_readlane_b32 s12, v22, 52
; SI-NEXT: s_lshl_b32 s10, s10, 16
; SI-NEXT: s_lshl_b32 s11, s12, 24
; SI-NEXT: s_and_b32 s8, s8, 0xffff
@@ -8937,26 +8941,26 @@ define inreg <128 x i8> @bitcast_v32i32_to_v128i8_scalar(<32 x i32> inreg %a, i3
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s8
; SI-NEXT: s_and_b32 s8, s9, 0xff
-; SI-NEXT: s_lshl_b32 s9, s93, 8
+; SI-NEXT: s_lshl_b32 s9, s95, 8
; SI-NEXT: s_or_b32 s8, s8, s9
-; SI-NEXT: s_and_b32 s9, s91, 0xff
+; SI-NEXT: s_and_b32 s9, s93, 0xff
; SI-NEXT: s_lshl_b32 s9, s9, 16
-; SI-NEXT: s_lshl_b32 s10, s89, 24
+; SI-NEXT: s_lshl_b32 s10, s91, 24
; SI-NEXT: s_and_b32 s8, s8, 0xffff
; SI-NEXT: s_or_b32 s9, s10, s9
; SI-NEXT: s_or_b32 s8, s8, s9
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:104
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s8
-; SI-NEXT: v_readlane_b32 s8, v22, 50
+; SI-NEXT: v_readlane_b32 s8, v22, 54
; SI-NEXT: s_and_b32 s6, s6, 0xff
-; SI-NEXT: v_readlane_b32 s9, v22, 51
+; SI-NEXT: v_readlane_b32 s9, v22, 55
; SI-NEXT: s_lshl_b32 s8, s8, 8
; SI-NEXT: s_or_b32 s6, s6, s8
-; SI-NEXT: v_readlane_b32 s8, v22, 52
-; SI-NEXT: v_readlane_b32 s9, v22, 53
+; SI-NEXT: v_readlane_b32 s8, v22, 56
+; SI-NEXT: v_readlane_b32 s9, v22, 57
; SI-NEXT: s_and_b32 s8, s8, 0xff
-; SI-NEXT: v_readlane_b32 s10, v22, 54
+; SI-NEXT: v_readlane_b32 s10, v22, 58
; SI-NEXT: s_lshl_b32 s8, s8, 16
; SI-NEXT: s_lshl_b32 s9, s10, 24
; SI-NEXT: s_and_b32 s6, s6, 0xffff
@@ -8966,27 +8970,27 @@ define inreg <128 x i8> @bitcast_v32i32_to_v128i8_scalar(<32 x i32> inreg %a, i3
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s6
; SI-NEXT: s_and_b32 s6, s7, 0xff
-; SI-NEXT: s_lshl_b32 s7, s79, 8
+; SI-NEXT: s_lshl_b32 s7, s89, 8
; SI-NEXT: s_or_b32 s6, s6, s7
-; SI-NEXT: s_and_b32 s7, s77, 0xff
+; SI-NEXT: s_and_b32 s7, s79, 0xff
; SI-NEXT: s_lshl_b32 s7, s7, 16
-; SI-NEXT: s_lshl_b32 s8, s75, 24
+; SI-NEXT: s_lshl_b32 s8, s77, 24
; SI-NEXT: s_and_b32 s6, s6, 0xffff
; SI-NEXT: s_or_b32 s7, s8, s7
; SI-NEXT: s_or_b32 s6, s6, s7
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:112
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s6
-; SI-NEXT: v_readlane_b32 s6, v22, 56
+; SI-NEXT: v_readlane_b32 s6, v22, 60
; SI-NEXT: s_and_b32 s4, s4, 0xff
-; SI-NEXT: v_readlane_b32 s7, v22, 57
+; SI-NEXT: v_readlane_b32 s7, v22, 61
; SI-NEXT: s_lshl_b32 s6, s6, 8
; SI-NEXT: s_or_b32 s4, s4, s6
-; SI-NEXT: v_readlane_b32 s6, v22, 58
-; SI-NEXT: v_readlane_b32 s7, v22, 59
+; SI-NEXT: v_readlane_b32 s6, v22, 62
+; SI-NEXT: v_readlane_b32 s7, v22, 63
; SI-NEXT: s_and_b32 s6, s6, 0xff
; SI-NEXT: s_lshl_b32 s6, s6, 16
-; SI-NEXT: s_lshl_b32 s7, s36, 24
+; SI-NEXT: s_lshl_b32 s7, s98, 24
; SI-NEXT: s_and_b32 s4, s4, 0xffff
; SI-NEXT: s_or_b32 s6, s7, s6
; SI-NEXT: s_or_b32 s4, s4, s6
@@ -8994,11 +8998,11 @@ define inreg <128 x i8> @bitcast_v32i32_to_v128i8_scalar(<32 x i32> inreg %a, i3
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s4
; SI-NEXT: s_and_b32 s4, s5, 0xff
-; SI-NEXT: s_lshl_b32 s5, s73, 8
+; SI-NEXT: s_lshl_b32 s5, s75, 8
; SI-NEXT: s_or_b32 s4, s4, s5
-; SI-NEXT: s_and_b32 s5, s63, 0xff
+; SI-NEXT: s_and_b32 s5, s73, 0xff
; SI-NEXT: s_lshl_b32 s5, s5, 16
-; SI-NEXT: s_lshl_b32 s6, s61, 24
+; SI-NEXT: s_lshl_b32 s6, s63, 24
; SI-NEXT: s_and_b32 s4, s4, 0xffff
; SI-NEXT: s_or_b32 s5, s6, s5
; SI-NEXT: s_or_b32 s4, s4, s5
@@ -9006,11 +9010,11 @@ define inreg <128 x i8> @bitcast_v32i32_to_v128i8_scalar(<32 x i32> inreg %a, i3
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s4
; SI-NEXT: v_readlane_b32 s30, v20, 34
-; SI-NEXT: v_readlane_b32 s19, v22, 31
-; SI-NEXT: v_readlane_b32 s17, v22, 37
-; SI-NEXT: v_readlane_b32 s15, v22, 43
-; SI-NEXT: v_readlane_b32 s13, v22, 49
-; SI-NEXT: v_readlane_b32 s11, v22, 55
+; SI-NEXT: v_readlane_b32 s19, v22, 35
+; SI-NEXT: v_readlane_b32 s17, v22, 41
+; SI-NEXT: v_readlane_b32 s15, v22, 47
+; SI-NEXT: v_readlane_b32 s13, v22, 53
+; SI-NEXT: v_readlane_b32 s11, v22, 59
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:124
; SI-NEXT: v_readlane_b32 s31, v20, 35
; SI-NEXT: v_readlane_b32 s99, v20, 33
@@ -9190,11 +9194,11 @@ define inreg <128 x i8> @bitcast_v32i32_to_v128i8_scalar(<32 x i32> inreg %a, i3
; VI-NEXT: s_lshr_b32 s46, s40, 8
; VI-NEXT: v_writelane_b32 v33, s46, 25
; VI-NEXT: s_lshr_b32 s46, s43, 24
-; VI-NEXT: v_writelane_b32 v34, s46, 38
+; VI-NEXT: v_writelane_b32 v33, s46, 26
; VI-NEXT: s_lshr_b32 s46, s43, 16
-; VI-NEXT: v_writelane_b32 v34, s46, 39
+; VI-NEXT: v_writelane_b32 v34, s46, 38
; VI-NEXT: s_lshr_b32 s46, s43, 8
-; VI-NEXT: v_writelane_b32 v33, s46, 26
+; VI-NEXT: v_writelane_b32 v34, s46, 39
; VI-NEXT: s_lshr_b32 s46, s42, 16
; VI-NEXT: v_writelane_b32 v33, s46, 27
; VI-NEXT: s_lshr_b32 s46, s42, 8
@@ -9528,17 +9532,17 @@ define inreg <128 x i8> @bitcast_v32i32_to_v128i8_scalar(<32 x i32> inreg %a, i3
; VI-NEXT: s_cselect_b32 s46, 1, 0
; VI-NEXT: s_cmp_lg_u32 s46, 1
; VI-NEXT: v_readlane_b32 s75, v33, 24
-; VI-NEXT: v_readlane_b32 s72, v33, 25
-; VI-NEXT: v_readlane_b32 s73, v33, 26
+; VI-NEXT: v_readlane_b32 s34, v33, 25
+; VI-NEXT: v_readlane_b32 s35, v33, 26
; VI-NEXT: v_readlane_b32 s39, v33, 27
; VI-NEXT: v_readlane_b32 s49, v33, 28
; VI-NEXT: v_readlane_b32 s51, v33, 29
; VI-NEXT: v_readlane_b32 s47, v33, 30
; VI-NEXT: v_readlane_b32 s53, v33, 31
; VI-NEXT: v_readlane_b32 s59, v33, 32
-; VI-NEXT: v_readlane_b32 s84, v33, 33
+; VI-NEXT: v_readlane_b32 s56, v33, 33
; VI-NEXT: v_readlane_b32 s38, v33, 34
-; VI-NEXT: v_readlane_b32 s56, v33, 35
+; VI-NEXT: v_readlane_b32 s84, v33, 35
; VI-NEXT: v_readlane_b32 s48, v33, 36
; VI-NEXT: v_readlane_b32 s50, v33, 37
; VI-NEXT: v_readlane_b32 s52, v33, 38
@@ -9567,10 +9571,10 @@ define inreg <128 x i8> @bitcast_v32i32_to_v128i8_scalar(<32 x i32> inreg %a, i3
; VI-NEXT: v_readlane_b32 s60, v33, 61
; VI-NEXT: v_readlane_b32 s61, v33, 62
; VI-NEXT: v_readlane_b32 vcc_lo, v33, 63
-; VI-NEXT: v_readlane_b32 vcc_hi, v34, 0
-; VI-NEXT: v_readlane_b32 s30, v34, 1
-; VI-NEXT: v_readlane_b32 s62, v34, 2
-; VI-NEXT: v_readlane_b32 s63, v34, 3
+; VI-NEXT: v_readlane_b32 s62, v34, 0
+; VI-NEXT: v_readlane_b32 s63, v34, 1
+; VI-NEXT: v_readlane_b32 vcc_hi, v34, 2
+; VI-NEXT: v_readlane_b32 s30, v34, 3
; VI-NEXT: v_readlane_b32 s31, v34, 4
; VI-NEXT: v_readlane_b32 s70, v33, 8
; VI-NEXT: v_readlane_b32 s71, v33, 9
@@ -9628,79 +9632,75 @@ define inreg <128 x i8> @bitcast_v32i32_to_v128i8_scalar(<32 x i32> inreg %a, i3
; VI-NEXT: v_writelane_b32 v34, s46, 22
; VI-NEXT: s_lshr_b32 s46, s10, 8
; VI-NEXT: v_writelane_b32 v33, s73, 21
-; VI-NEXT: s_lshr_b64 s[74:75], s[8:9], 24
+; VI-NEXT: s_lshr_b64 s[72:73], s[8:9], 24
; VI-NEXT: v_writelane_b32 v34, s46, 23
; VI-NEXT: s_lshr_b32 s46, s13, 24
-; VI-NEXT: v_writelane_b32 v33, s74, 18
+; VI-NEXT: v_writelane_b32 v33, s72, 18
; VI-NEXT: v_writelane_b32 v34, s46, 24
; VI-NEXT: s_lshr_b32 s46, s13, 16
-; VI-NEXT: v_writelane_b32 v33, s75, 19
-; VI-NEXT: s_lshr_b64 s[74:75], s[10:11], 24
+; VI-NEXT: v_writelane_b32 v33, s73, 19
+; VI-NEXT: s_lshr_b64 s[72:73], s[10:11], 24
; VI-NEXT: s_add_i32 s12, s12, 3
; VI-NEXT: v_writelane_b32 v34, s46, 25
; VI-NEXT: s_lshr_b32 s46, s13, 8
-; VI-NEXT: v_writelane_b32 v33, s74, 16
+; VI-NEXT: v_writelane_b32 v33, s72, 16
; VI-NEXT: v_writelane_b32 v34, s46, 26
; VI-NEXT: s_lshr_b32 s46, s12, 16
-; VI-NEXT: v_writelane_b32 v33, s75, 17
-; VI-NEXT: s_lshr_b64 s[74:75], s[12:13], 24
+; VI-NEXT: v_writelane_b32 v33, s73, 17
+; VI-NEXT: s_lshr_b64 s[72:73], s[12:13], 24
; VI-NEXT: s_add_i32 s15, s15, 3
; VI-NEXT: s_add_i32 s14, s14, 3
; VI-NEXT: v_writelane_b32 v34, s46, 27
; VI-NEXT: s_lshr_b32 s46, s12, 8
-; VI-NEXT: v_writelane_b32 v33, s74, 14
+; VI-NEXT: v_writelane_b32 v33, s72, 14
; VI-NEXT: v_writelane_b32 v34, s46, 28
; VI-NEXT: s_lshr_b32 s46, s15, 24
-; VI-NEXT: v_writelane_b32 v33, s75, 15
-; VI-NEXT: s_lshr_b64 s[74:75], s[14:15], 24
+; VI-NEXT: v_writelane_b32 v33, s73, 15
+; VI-NEXT: s_lshr_b64 s[72:73], s[14:15], 24
; VI-NEXT: s_add_i32 s29, s29, 3
; VI-NEXT: s_add_i32 s28, s28, 3
; VI-NEXT: v_writelane_b32 v34, s46, 29
; VI-NEXT: s_lshr_b32 s46, s15, 16
-; VI-NEXT: v_writelane_b32 v33, s74, 12
-; VI-NEXT: s_add_i32 s43, s43, 3
+; VI-NEXT: v_writelane_b32 v33, s72, 12
; VI-NEXT: v_writelane_b32 v34, s46, 30
; VI-NEXT: s_lshr_b32 s46, s15, 8
-; VI-NEXT: v_writelane_b32 v33, s75, 13
+; VI-NEXT: v_writelane_b32 v33, s73, 13
; VI-NEXT: s_lshr_b64 s[70:71], s[28:29], 24
; VI-NEXT: s_add_i32 s25, s25, 3
; VI-NEXT: s_add_i32 s24, s24, 3
; VI-NEXT: v_writelane_b32 v34, s46, 31
; VI-NEXT: s_lshr_b32 s46, s14, 16
-; VI-NEXT: s_lshr_b32 s37, s43, 8
; VI-NEXT: v_writelane_b32 v33, s70, 10
; VI-NEXT: s_add_i32 s41, s41, 3
-; VI-NEXT: s_add_i32 s40, s40, 3
; VI-NEXT: v_writelane_b32 v34, s46, 32
; VI-NEXT: s_lshr_b32 s46, s14, 8
-; VI-NEXT: s_mov_b32 s73, s37
; VI-NEXT: v_writelane_b32 v33, s71, 11
; VI-NEXT: s_lshr_b64 s[36:37], s[24:25], 24
; VI-NEXT: s_add_i32 s21, s21, 3
; VI-NEXT: s_add_i32 s20, s20, 3
; VI-NEXT: v_writelane_b32 v34, s46, 33
; VI-NEXT: s_lshr_b32 s46, s41, 24
-; VI-NEXT: s_lshr_b32 s34, s40, 8
; VI-NEXT: v_writelane_b32 v33, s36, 6
; VI-NEXT: v_writelane_b32 v34, s46, 34
; VI-NEXT: s_lshr_b32 s46, s41, 16
-; VI-NEXT: s_mov_b32 s72, s34
; VI-NEXT: v_writelane_b32 v33, s37, 7
-; VI-NEXT: s_lshr_b64 s[34:35], s[20:21], 24
+; VI-NEXT: s_lshr_b64 s[72:73], s[20:21], 24
; VI-NEXT: s_add_i32 s19, s19, 3
; VI-NEXT: s_add_i32 s18, s18, 3
+; VI-NEXT: s_add_i32 s40, s40, 3
; VI-NEXT: v_writelane_b32 v34, s46, 35
; VI-NEXT: s_lshr_b32 s46, s41, 8
-; VI-NEXT: v_writelane_b32 v33, s34, 4
+; VI-NEXT: v_writelane_b32 v33, s72, 4
+; VI-NEXT: s_add_i32 s43, s43, 3
; VI-NEXT: v_writelane_b32 v34, s46, 36
; VI-NEXT: s_lshr_b32 s46, s40, 16
-; VI-NEXT: v_writelane_b32 v33, s35, 5
-; VI-NEXT: s_lshr_b64 s[34:35], s[18:19], 24
+; VI-NEXT: v_writelane_b32 v33, s73, 5
+; VI-NEXT: s_lshr_b64 s[72:73], s[18:19], 24
; VI-NEXT: s_add_i32 s17, s17, 3
; VI-NEXT: s_add_i32 s16, s16, 3
; VI-NEXT: v_writelane_b32 v34, s46, 37
-; VI-NEXT: s_lshr_b32 s46, s43, 24
-; VI-NEXT: v_writelane_b32 v33, s34, 2
+; VI-NEXT: s_lshr_b32 s46, s43, 16
+; VI-NEXT: v_writelane_b32 v33, s72, 2
; VI-NEXT: s_add_i32 s23, s23, 3
; VI-NEXT: s_add_i32 s22, s22, 3
; VI-NEXT: s_add_i32 s27, s27, 3
@@ -9710,10 +9710,12 @@ define inreg <128 x i8> @bitcast_v32i32_to_v128i8_scalar(<32 x i32> inreg %a, i3
; VI-NEXT: s_add_i32 s42, s42, 3
; VI-NEXT: s_lshr_b32 s76, s5, 16
; VI-NEXT: v_writelane_b32 v34, s46, 38
-; VI-NEXT: s_lshr_b32 s46, s43, 16
+; VI-NEXT: s_lshr_b32 s46, s43, 8
; VI-NEXT: s_lshr_b64 s[74:75], s[40:41], 24
-; VI-NEXT: v_writelane_b32 v33, s35, 3
-; VI-NEXT: s_lshr_b64 s[34:35], s[16:17], 24
+; VI-NEXT: v_writelane_b32 v33, s73, 3
+; VI-NEXT: s_lshr_b64 s[72:73], s[16:17], 24
+; VI-NEXT: s_lshr_b32 s34, s40, 8
+; VI-NEXT: s_lshr_b32 s35, s43, 24
; VI-NEXT: v_writelane_b32 v34, s46, 39
; VI-NEXT: s_lshr_b32 s39, s42, 16
; VI-NEXT: s_lshr_b32 s49, s42, 8
@@ -9721,9 +9723,9 @@ define inreg <128 x i8> @bitcast_v32i32_to_v128i8_scalar(<32 x i32> inreg %a, i3
; VI-NEXT: s_lshr_b32 s47, s45, 16
; VI-NEXT: s_lshr_b32 s53, s45, 8
; VI-NEXT: s_lshr_b32 s59, s44, 16
-; VI-NEXT: s_lshr_b32 s84, s44, 8
+; VI-NEXT: s_lshr_b32 s56, s44, 8
; VI-NEXT: s_lshr_b32 s38, s29, 24
-; VI-NEXT: s_lshr_b32 s56, s29, 16
+; VI-NEXT: s_lshr_b32 s84, s29, 16
; VI-NEXT: s_lshr_b32 s88, s29, 8
; VI-NEXT: s_lshr_b32 s48, s28, 16
; VI-NEXT: s_lshr_b32 s58, s28, 8
@@ -9746,15 +9748,15 @@ define inreg <128 x i8> @bitcast_v32i32_to_v128i8_scalar(<32 x i32> inreg %a, i3
; VI-NEXT: s_lshr_b32 s69, s21, 16
; VI-NEXT: s_lshr_b32 vcc_lo, s21, 8
; VI-NEXT: s_lshr_b32 s80, s20, 16
-; VI-NEXT: s_lshr_b32 vcc_hi, s20, 8
+; VI-NEXT: s_lshr_b32 s62, s20, 8
; VI-NEXT: s_lshr_b32 s81, s19, 24
; VI-NEXT: s_lshr_b32 s82, s19, 16
-; VI-NEXT: s_lshr_b32 s30, s19, 8
+; VI-NEXT: s_lshr_b32 s63, s19, 8
; VI-NEXT: s_lshr_b32 s83, s18, 16
-; VI-NEXT: s_lshr_b32 s62, s18, 8
+; VI-NEXT: s_lshr_b32 vcc_hi, s18, 8
; VI-NEXT: s_lshr_b32 s85, s17, 24
; VI-NEXT: s_lshr_b32 s86, s17, 16
-; VI-NEXT: s_lshr_b32 s63, s17, 8
+; VI-NEXT: s_lshr_b32 s30, s17, 8
; VI-NEXT: s_lshr_b32 s87, s16, 16
; VI-NEXT: s_lshr_b32 s31, s16, 8
; VI-NEXT: s_mov_b32 s75, s76
@@ -9762,15 +9764,15 @@ define inreg <128 x i8> @bitcast_v32i32_to_v128i8_scalar(<32 x i32> inreg %a, i3
; VI-NEXT: s_lshr_b64 s[78:79], s[44:45], 24
; VI-NEXT: s_lshr_b64 s[70:71], s[26:27], 24
; VI-NEXT: s_lshr_b64 s[36:37], s[22:23], 24
-; VI-NEXT: v_writelane_b32 v33, s34, 0
-; VI-NEXT: v_writelane_b32 v33, s35, 1
+; VI-NEXT: v_writelane_b32 v33, s72, 0
+; VI-NEXT: v_writelane_b32 v33, s73, 1
; VI-NEXT: .LBB13_5: ; %end
-; VI-NEXT: v_readlane_b32 s34, v33, 0
-; VI-NEXT: v_mov_b32_e32 v6, s34
+; VI-NEXT: v_readlane_b32 s72, v33, 0
+; VI-NEXT: v_mov_b32_e32 v6, s72
; VI-NEXT: v_mov_b32_e32 v1, 0xc0c0004
; VI-NEXT: v_mov_b32_e32 v2, s31
; VI-NEXT: v_perm_b32 v6, s87, v6, v1
-; VI-NEXT: v_mov_b32_e32 v4, s63
+; VI-NEXT: v_mov_b32_e32 v4, s30
; VI-NEXT: v_perm_b32 v3, s16, v2, v1
; VI-NEXT: v_mov_b32_e32 v24, s85
; VI-NEXT: v_lshlrev_b32_e32 v6, 16, v6
@@ -9781,7 +9783,7 @@ define inreg <128 x i8> @bitcast_v32i32_to_v128i8_scalar(<32 x i32> inreg %a, i3
; VI-NEXT: v_mov_b32_e32 v9, s16
; VI-NEXT: buffer_store_dword v3, v0, s[0:3], 0 offen
; VI-NEXT: v_lshlrev_b32_e32 v3, 16, v24
-; VI-NEXT: v_mov_b32_e32 v4, s62
+; VI-NEXT: v_mov_b32_e32 v4, vcc_hi
; VI-NEXT: v_perm_b32 v9, s83, v9, v1
; VI-NEXT: v_or_b32_e32 v2, v2, v3
; VI-NEXT: v_readlane_b32 s17, v33, 3
@@ -9789,7 +9791,7 @@ define inreg <128 x i8> @bitcast_v32i32_to_v128i8_scalar(<32 x i32> inreg %a, i3
; VI-NEXT: v_mov_b32_e32 v25, s81
; VI-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:4
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v9
-; VI-NEXT: v_mov_b32_e32 v7, s30
+; VI-NEXT: v_mov_b32_e32 v7, s63
; VI-NEXT: v_readlane_b32 s16, v33, 4
; VI-NEXT: v_perm_b32 v25, s82, v25, v1
; VI-NEXT: v_or_b32_e32 v2, v5, v2
@@ -9797,7 +9799,7 @@ define inreg <128 x i8> @bitcast_v32i32_to_v128i8_scalar(<32 x i32> inreg %a, i3
; VI-NEXT: v_mov_b32_e32 v14, s16
; VI-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:8
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v25
-; VI-NEXT: v_mov_b32_e32 v7, vcc_hi
+; VI-NEXT: v_mov_b32_e32 v7, s62
; VI-NEXT: v_perm_b32 v14, s80, v14, v1
; VI-NEXT: v_or_b32_e32 v2, v4, v2
; VI-NEXT: v_perm_b32 v8, s20, v7, v1
@@ -9865,13 +9867,13 @@ define inreg <128 x i8> @bitcast_v32i32_to_v128i8_scalar(<32 x i32> inreg %a, i3
; VI-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:44
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v22
; VI-NEXT: v_mov_b32_e32 v23, s88
-; VI-NEXT: v_perm_b32 v30, s56, v30, v1
+; VI-NEXT: v_perm_b32 v30, s84, v30, v1
; VI-NEXT: v_or_b32_e32 v2, v19, v2
; VI-NEXT: v_perm_b32 v18, s29, v23, v1
; VI-NEXT: v_mov_b32_e32 v23, s78
; VI-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:48
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v30
-; VI-NEXT: v_mov_b32_e32 v31, s84
+; VI-NEXT: v_mov_b32_e32 v31, s56
; VI-NEXT: v_perm_b32 v23, s59, v23, v1
; VI-NEXT: v_or_b32_e32 v2, v18, v2
; VI-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:52
@@ -9891,12 +9893,12 @@ define inreg <128 x i8> @bitcast_v32i32_to_v128i8_scalar(<32 x i32> inreg %a, i3
; VI-NEXT: v_perm_b32 v3, s39, v3, v1
; VI-NEXT: v_perm_b32 v2, s42, v2, v1
; VI-NEXT: v_lshlrev_b32_e32 v3, 16, v3
-; VI-NEXT: v_readlane_b32 s16, v34, 38
; VI-NEXT: v_or_b32_e32 v2, v2, v3
-; VI-NEXT: v_mov_b32_e32 v3, s16
; VI-NEXT: v_readlane_b32 s16, v34, 39
; VI-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:64
-; VI-NEXT: v_mov_b32_e32 v2, s73
+; VI-NEXT: v_mov_b32_e32 v2, s16
+; VI-NEXT: v_mov_b32_e32 v3, s35
+; VI-NEXT: v_readlane_b32 s16, v34, 38
; VI-NEXT: v_perm_b32 v3, s16, v3, v1
; VI-NEXT: v_perm_b32 v2, s43, v2, v1
; VI-NEXT: v_lshlrev_b32_e32 v3, 16, v3
@@ -9904,7 +9906,7 @@ define inreg <128 x i8> @bitcast_v32i32_to_v128i8_scalar(<32 x i32> inreg %a, i3
; VI-NEXT: v_mov_b32_e32 v3, s74
; VI-NEXT: v_readlane_b32 s16, v34, 37
; VI-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:68
-; VI-NEXT: v_mov_b32_e32 v2, s72
+; VI-NEXT: v_mov_b32_e32 v2, s34
; VI-NEXT: v_perm_b32 v3, s16, v3, v1
; VI-NEXT: v_perm_b32 v2, s40, v2, v1
; VI-NEXT: v_lshlrev_b32_e32 v3, 16, v3
@@ -10038,9 +10040,9 @@ define inreg <128 x i8> @bitcast_v32i32_to_v128i8_scalar(<32 x i32> inreg %a, i3
; VI-NEXT: v_perm_b32 v2, s5, v2, v1
; VI-NEXT: v_perm_b32 v1, s75, v3, v1
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
-; VI-NEXT: v_readlane_b32 s35, v33, 1
; VI-NEXT: v_or_b32_e32 v1, v2, v1
; VI-NEXT: v_readlane_b32 s30, v32, 30
+; VI-NEXT: v_readlane_b32 s73, v33, 1
; VI-NEXT: v_readlane_b32 s17, v33, 13
; VI-NEXT: v_readlane_b32 s15, v33, 15
; VI-NEXT: v_readlane_b32 s13, v33, 17
@@ -10156,178 +10158,181 @@ define inreg <128 x i8> @bitcast_v32i32_to_v128i8_scalar(<32 x i32> inreg %a, i3
; GFX9-NEXT: s_cbranch_scc0 .LBB13_2
; GFX9-NEXT: ; %bb.1: ; %cmp.false
; GFX9-NEXT: s_lshr_b32 s46, s5, 24
-; GFX9-NEXT: v_writelane_b32 v30, s46, 18
+; GFX9-NEXT: v_writelane_b32 v30, s46, 20
; GFX9-NEXT: s_lshr_b32 s46, s5, 16
-; GFX9-NEXT: v_writelane_b32 v30, s46, 19
+; GFX9-NEXT: v_writelane_b32 v30, s46, 21
; GFX9-NEXT: s_lshr_b32 s46, s5, 8
-; GFX9-NEXT: v_writelane_b32 v31, s46, 3
+; GFX9-NEXT: v_writelane_b32 v31, s46, 8
; GFX9-NEXT: s_lshr_b32 s46, s4, 16
-; GFX9-NEXT: v_writelane_b32 v31, s46, 4
+; GFX9-NEXT: v_writelane_b32 v31, s46, 9
; GFX9-NEXT: s_lshr_b32 s46, s4, 8
-; GFX9-NEXT: v_writelane_b32 v31, s46, 5
+; GFX9-NEXT: v_writelane_b32 v31, s46, 10
; GFX9-NEXT: s_lshr_b32 s46, s7, 24
-; GFX9-NEXT: v_writelane_b32 v31, s46, 6
+; GFX9-NEXT: v_writelane_b32 v31, s46, 11
; GFX9-NEXT: s_lshr_b32 s46, s7, 16
-; GFX9-NEXT: v_writelane_b32 v31, s46, 7
+; GFX9-NEXT: v_writelane_b32 v31, s46, 12
; GFX9-NEXT: s_lshr_b32 s46, s7, 8
-; GFX9-NEXT: v_writelane_b32 v31, s46, 8
+; GFX9-NEXT: v_writelane_b32 v31, s46, 13
; GFX9-NEXT: s_lshr_b32 s46, s6, 16
-; GFX9-NEXT: v_writelane_b32 v31, s46, 9
+; GFX9-NEXT: v_writelane_b32 v31, s46, 14
; GFX9-NEXT: s_lshr_b32 s46, s6, 8
-; GFX9-NEXT: v_writelane_b32 v31, s46, 10
+; GFX9-NEXT: v_writelane_b32 v31, s46, 15
; GFX9-NEXT: s_lshr_b32 s46, s9, 24
-; GFX9-NEXT: v_writelane_b32 v31, s46, 11
+; GFX9-NEXT: v_writelane_b32 v31, s46, 16
; GFX9-NEXT: s_lshr_b32 s46, s9, 16
-; GFX9-NEXT: v_writelane_b32 v31, s46, 12
+; GFX9-NEXT: v_writelane_b32 v31, s46, 17
; GFX9-NEXT: s_lshr_b32 s46, s9, 8
-; GFX9-NEXT: v_writelane_b32 v31, s46, 13
+; GFX9-NEXT: v_writelane_b32 v31, s46, 18
; GFX9-NEXT: s_lshr_b32 s46, s8, 16
-; GFX9-NEXT: v_writelane_b32 v31, s46, 14
+; GFX9-NEXT: v_writelane_b32 v31, s46, 19
; GFX9-NEXT: s_lshr_b32 s46, s8, 8
-; GFX9-NEXT: v_writelane_b32 v31, s46, 15
+; GFX9-NEXT: v_writelane_b32 v31, s46, 20
; GFX9-NEXT: s_lshr_b32 s46, s11, 24
-; GFX9-NEXT: v_writelane_b32 v31, s46, 16
+; GFX9-NEXT: v_writelane_b32 v31, s46, 21
; GFX9-NEXT: s_lshr_b32 s46, s11, 16
-; GFX9-NEXT: v_writelane_b32 v31, s46, 17
+; GFX9-NEXT: v_writelane_b32 v31, s46, 22
; GFX9-NEXT: s_lshr_b32 s46, s11, 8
-; GFX9-NEXT: v_writelane_b32 v31, s46, 18
+; GFX9-NEXT: v_writelane_b32 v31, s46, 23
; GFX9-NEXT: s_lshr_b32 s46, s10, 16
-; GFX9-NEXT: v_writelane_b32 v31, s46, 19
+; GFX9-NEXT: v_writelane_b32 v31, s46, 24
; GFX9-NEXT: s_lshr_b32 s46, s10, 8
-; GFX9-NEXT: v_writelane_b32 v31, s46, 20
+; GFX9-NEXT: v_writelane_b32 v31, s46, 25
; GFX9-NEXT: s_lshr_b32 s46, s13, 24
-; GFX9-NEXT: v_writelane_b32 v31, s46, 21
+; GFX9-NEXT: v_writelane_b32 v31, s46, 26
; GFX9-NEXT: s_lshr_b32 s46, s13, 16
-; GFX9-NEXT: v_writelane_b32 v31, s46, 22
+; GFX9-NEXT: v_writelane_b32 v31, s46, 27
; GFX9-NEXT: s_lshr_b32 s46, s13, 8
-; GFX9-NEXT: v_writelane_b32 v31, s46, 23
+; GFX9-NEXT: v_writelane_b32 v31, s46, 28
; GFX9-NEXT: s_lshr_b32 s46, s12, 16
-; GFX9-NEXT: v_writelane_b32 v31, s46, 24
+; GFX9-NEXT: v_writelane_b32 v31, s46, 29
; GFX9-NEXT: s_lshr_b32 s46, s12, 8
-; GFX9-NEXT: v_writelane_b32 v31, s46, 25
+; GFX9-NEXT: v_writelane_b32 v31, s46, 30
; GFX9-NEXT: s_lshr_b32 s46, s15, 24
-; GFX9-NEXT: v_writelane_b32 v31, s46, 26
+; GFX9-NEXT: v_writelane_b32 v31, s46, 31
; GFX9-NEXT: s_lshr_b32 s46, s15, 16
-; GFX9-NEXT: v_writelane_b32 v31, s46, 27
+; GFX9-NEXT: v_writelane_b32 v31, s46, 32
; GFX9-NEXT: s_lshr_b32 s46, s15, 8
-; GFX9-NEXT: v_writelane_b32 v31, s46, 28
+; GFX9-NEXT: v_writelane_b32 v31, s46, 33
; GFX9-NEXT: s_lshr_b32 s46, s14, 16
-; GFX9-NEXT: v_writelane_b32 v31, s46, 29
+; GFX9-NEXT: v_writelane_b32 v31, s46, 34
; GFX9-NEXT: s_lshr_b32 s46, s14, 8
-; GFX9-NEXT: v_writelane_b32 v31, s46, 30
+; GFX9-NEXT: v_writelane_b32 v31, s46, 35
; GFX9-NEXT: s_lshr_b32 s46, s41, 24
-; GFX9-NEXT: v_writelane_b32 v31, s46, 31
+; GFX9-NEXT: v_writelane_b32 v30, s46, 22
; GFX9-NEXT: s_lshr_b32 s46, s41, 16
-; GFX9-NEXT: v_writelane_b32 v31, s46, 32
+; GFX9-NEXT: v_writelane_b32 v30, s46, 23
; GFX9-NEXT: s_lshr_b32 s46, s41, 8
-; GFX9-NEXT: v_writelane_b32 v31, s46, 33
+; GFX9-NEXT: v_writelane_b32 v30, s46, 24
; GFX9-NEXT: s_lshr_b32 s46, s40, 16
-; GFX9-NEXT: v_writelane_b32 v30, s46, 20
+; GFX9-NEXT: v_writelane_b32 v30, s46, 25
; GFX9-NEXT: s_lshr_b32 s46, s40, 8
-; GFX9-NEXT: v_writelane_b32 v30, s46, 21
+; GFX9-NEXT: v_writelane_b32 v30, s46, 26
; GFX9-NEXT: s_lshr_b32 s46, s43, 24
-; GFX9-NEXT: v_writelane_b32 v30, s46, 22
+; GFX9-NEXT: v_writelane_b32 v30, s46, 27
; GFX9-NEXT: s_lshr_b32 s46, s43, 16
-; GFX9-NEXT: v_writelane_b32 v30, s46, 23
+; GFX9-NEXT: v_writelane_b32 v30, s46, 28
; GFX9-NEXT: s_lshr_b32 s46, s43, 8
-; GFX9-NEXT: v_writelane_b32 v30, s46, 24
+; GFX9-NEXT: v_writelane_b32 v30, s46, 29
; GFX9-NEXT: s_lshr_b32 s46, s42, 16
-; GFX9-NEXT: v_writelane_b32 v30, s46, 25
+; GFX9-NEXT: v_writelane_b32 v30, s46, 30
; GFX9-NEXT: s_lshr_b32 s46, s42, 8
-; GFX9-NEXT: v_writelane_b32 v30, s46, 26
+; GFX9-NEXT: v_writelane_b32 v30, s46, 31
; GFX9-NEXT: s_lshr_b32 s46, s45, 24
-; GFX9-NEXT: v_writelane_b32 v30, s46, 27
+; GFX9-NEXT: v_writelane_b32 v30, s46, 32
; GFX9-NEXT: s_lshr_b32 s46, s45, 16
-; GFX9-NEXT: v_writelane_b32 v30, s46, 28
+; GFX9-NEXT: v_writelane_b32 v30, s46, 33
; GFX9-NEXT: s_lshr_b32 s46, s45, 8
-; GFX9-NEXT: v_writelane_b32 v30, s46, 29
+; GFX9-NEXT: v_writelane_b32 v30, s46, 34
; GFX9-NEXT: s_lshr_b32 s46, s44, 16
-; GFX9-NEXT: v_writelane_b32 v30, s46, 30
+; GFX9-NEXT: v_writelane_b32 v30, s46, 35
; GFX9-NEXT: s_lshr_b32 s46, s44, 8
-; GFX9-NEXT: v_writelane_b32 v30, s46, 31
+; GFX9-NEXT: v_writelane_b32 v30, s46, 36
; GFX9-NEXT: s_lshr_b32 s46, s29, 24
-; GFX9-NEXT: v_writelane_b32 v30, s46, 32
+; GFX9-NEXT: v_writelane_b32 v30, s46, 37
; GFX9-NEXT: s_lshr_b32 s46, s29, 16
-; GFX9-NEXT: v_writelane_b32 v30, s46, 33
+; GFX9-NEXT: v_writelane_b32 v30, s46, 38
; GFX9-NEXT: s_lshr_b32 s46, s29, 8
-; GFX9-NEXT: v_writelane_b32 v30, s46, 34
+; GFX9-NEXT: v_writelane_b32 v30, s46, 39
; GFX9-NEXT: s_lshr_b32 s46, s28, 16
-; GFX9-NEXT: v_writelane_b32 v30, s46, 35
+; GFX9-NEXT: v_writelane_b32 v30, s46, 40
; GFX9-NEXT: s_lshr_b32 s46, s28, 8
-; GFX9-NEXT: v_writelane_b32 v30, s46, 36
+; GFX9-NEXT: v_writelane_b32 v30, s46, 41
; GFX9-NEXT: s_lshr_b32 s46, s27, 24
-; GFX9-NEXT: v_writelane_b32 v30, s46, 37
+; GFX9-NEXT: v_writelane_b32 v30, s46, 42
; GFX9-NEXT: s_lshr_b32 s46, s27, 16
-; GFX9-NEXT: v_writelane_b32 v30, s46, 38
+; GFX9-NEXT: v_writelane_b32 v30, s46, 43
; GFX9-NEXT: s_lshr_b32 s46, s27, 8
-; GFX9-NEXT: v_writelane_b32 v30, s46, 54
+; GFX9-NEXT: v_writelane_b32 v30, s46, 59
; GFX9-NEXT: s_lshr_b32 s46, s26, 16
-; GFX9-NEXT: v_writelane_b32 v30, s46, 39
+; GFX9-NEXT: v_writelane_b32 v30, s46, 44
; GFX9-NEXT: s_lshr_b32 s46, s26, 8
-; GFX9-NEXT: v_writelane_b32 v30, s46, 56
+; GFX9-NEXT: v_writelane_b32 v30, s46, 61
; GFX9-NEXT: s_lshr_b32 s46, s25, 24
-; GFX9-NEXT: v_writelane_b32 v30, s46, 40
+; GFX9-NEXT: v_writelane_b32 v30, s46, 45
; GFX9-NEXT: s_lshr_b32 s46, s25, 16
-; GFX9-NEXT: v_writelane_b32 v30, s46, 41
+; GFX9-NEXT: v_writelane_b32 v30, s46, 46
; GFX9-NEXT: s_lshr_b32 s46, s25, 8
-; GFX9-NEXT: v_writelane_b32 v30, s46, 57
+; GFX9-NEXT: v_writelane_b32 v30, s46, 62
; GFX9-NEXT: s_lshr_b32 s46, s24, 16
-; GFX9-NEXT: v_writelane_b32 v30, s46, 42
+; GFX9-NEXT: v_writelane_b32 v30, s46, 47
; GFX9-NEXT: s_lshr_b32 s46, s24, 8
-; GFX9-NEXT: v_writelane_b32 v30, s46, 58
+; GFX9-NEXT: v_writelane_b32 v30, s46, 63
; GFX9-NEXT: s_lshr_b32 s46, s23, 24
-; GFX9-NEXT: v_writelane_b32 v30, s46, 43
+; GFX9-NEXT: v_writelane_b32 v30, s46, 48
; GFX9-NEXT: s_lshr_b32 s46, s23, 16
-; GFX9-NEXT: v_writelane_b32 v30, s46, 44
+; GFX9-NEXT: v_writelane_b32 v30, s46, 49
; GFX9-NEXT: s_lshr_b32 s46, s23, 8
-; GFX9-NEXT: v_writelane_b32 v30, s46, 59
+; GFX9-NEXT: v_writelane_b32 v31, s46, 0
; GFX9-NEXT: s_lshr_b32 s46, s22, 16
-; GFX9-NEXT: v_writelane_b32 v30, s46, 45
+; GFX9-NEXT: v_writelane_b32 v30, s46, 50
; GFX9-NEXT: s_lshr_b32 s46, s22, 8
-; GFX9-NEXT: v_writelane_b32 v30, s46, 60
+; GFX9-NEXT: v_writelane_b32 v31, s46, 1
; GFX9-NEXT: s_lshr_b32 s46, s21, 24
-; GFX9-NEXT: v_writelane_b32 v30, s46, 46
+; GFX9-NEXT: v_writelane_b32 v30, s46, 51
; GFX9-NEXT: s_lshr_b32 s46, s21, 16
-; GFX9-NEXT: v_writelane_b32 v30, s46, 47
+; GFX9-NEXT: v_writelane_b32 v30, s46, 52
; GFX9-NEXT: s_lshr_b32 s46, s21, 8
-; GFX9-NEXT: v_writelane_b32 v30, s46, 61
+; GFX9-NEXT: v_writelane_b32 v31, s46, 2
; GFX9-NEXT: s_lshr_b32 s46, s20, 16
-; GFX9-NEXT: v_writelane_b32 v30, s46, 48
+; GFX9-NEXT: v_writelane_b32 v30, s46, 53
; GFX9-NEXT: s_lshr_b32 s46, s20, 8
-; GFX9-NEXT: v_writelane_b32 v30, s46, 62
+; GFX9-NEXT: v_writelane_b32 v31, s46, 3
; GFX9-NEXT: s_lshr_b32 s46, s19, 24
-; GFX9-NEXT: v_writelane_b32 v30, s46, 49
+; GFX9-NEXT: v_writelane_b32 v30, s46, 54
; GFX9-NEXT: s_lshr_b32 s46, s19, 16
-; GFX9-NEXT: v_writelane_b32 v30, s46, 50
+; GFX9-NEXT: v_writelane_b32 v30, s46, 55
; GFX9-NEXT: s_lshr_b32 s46, s19, 8
-; GFX9-NEXT: v_writelane_b32 v30, s46, 63
+; GFX9-NEXT: v_writelane_b32 v31, s46, 4
; GFX9-NEXT: s_lshr_b32 s46, s18, 16
-; GFX9-NEXT: v_writelane_b32 v30, s46, 51
+; GFX9-NEXT: v_writelane_b32 v30, s46, 56
; GFX9-NEXT: s_lshr_b32 s46, s18, 8
-; GFX9-NEXT: v_writelane_b32 v31, s46, 0
+; GFX9-NEXT: v_writelane_b32 v31, s46, 5
; GFX9-NEXT: s_lshr_b32 s46, s17, 24
-; GFX9-NEXT: v_writelane_b32 v30, s46, 52
+; GFX9-NEXT: v_writelane_b32 v30, s46, 57
; GFX9-NEXT: s_lshr_b32 s46, s17, 16
-; GFX9-NEXT: v_writelane_b32 v30, s46, 53
+; GFX9-NEXT: v_writelane_b32 v30, s46, 58
; GFX9-NEXT: s_lshr_b32 s46, s17, 8
-; GFX9-NEXT: v_writelane_b32 v31, s46, 1
+; GFX9-NEXT: v_writelane_b32 v31, s46, 6
; GFX9-NEXT: s_lshr_b32 s46, s16, 16
-; GFX9-NEXT: v_writelane_b32 v30, s46, 55
+; GFX9-NEXT: v_writelane_b32 v30, s46, 60
; GFX9-NEXT: s_lshr_b32 s46, s16, 8
-; GFX9-NEXT: v_writelane_b32 v31, s46, 2
+; GFX9-NEXT: v_writelane_b32 v31, s46, 7
; GFX9-NEXT: s_lshr_b64 s[46:47], s[4:5], 24
+; GFX9-NEXT: v_writelane_b32 v30, s46, 18
+; GFX9-NEXT: v_writelane_b32 v30, s47, 19
+; GFX9-NEXT: s_lshr_b64 s[46:47], s[6:7], 24
; GFX9-NEXT: v_writelane_b32 v30, s46, 16
; GFX9-NEXT: v_writelane_b32 v30, s47, 17
-; GFX9-NEXT: s_lshr_b64 s[46:47], s[6:7], 24
+; GFX9-NEXT: s_lshr_b64 s[46:47], s[8:9], 24
; GFX9-NEXT: v_writelane_b32 v30, s46, 14
; GFX9-NEXT: v_writelane_b32 v30, s47, 15
-; GFX9-NEXT: s_lshr_b64 s[46:47], s[8:9], 24
+; GFX9-NEXT: s_lshr_b64 s[46:47], s[10:11], 24
; GFX9-NEXT: v_writelane_b32 v30, s46, 12
; GFX9-NEXT: v_writelane_b32 v30, s47, 13
-; GFX9-NEXT: s_lshr_b64 s[46:47], s[10:11], 24
+; GFX9-NEXT: s_lshr_b64 s[46:47], s[12:13], 24
; GFX9-NEXT: v_writelane_b32 v30, s46, 10
; GFX9-NEXT: v_writelane_b32 v30, s47, 11
-; GFX9-NEXT: s_lshr_b64 s[46:47], s[12:13], 24
+; GFX9-NEXT: s_lshr_b64 s[46:47], s[28:29], 24
; GFX9-NEXT: v_writelane_b32 v30, s46, 8
; GFX9-NEXT: v_writelane_b32 v30, s47, 9
; GFX9-NEXT: s_lshr_b64 s[46:47], s[26:27], 24
@@ -10341,14 +10346,13 @@ define inreg <128 x i8> @bitcast_v32i32_to_v128i8_scalar(<32 x i32> inreg %a, i3
; GFX9-NEXT: v_writelane_b32 v30, s47, 3
; GFX9-NEXT: s_lshr_b64 s[46:47], s[18:19], 24
; GFX9-NEXT: v_writelane_b32 v30, s46, 0
-; GFX9-NEXT: s_lshr_b64 s[98:99], s[14:15], 24
-; GFX9-NEXT: s_lshr_b64 s[74:75], s[40:41], 24
+; GFX9-NEXT: s_lshr_b64 s[74:75], s[14:15], 24
+; GFX9-NEXT: s_lshr_b64 s[76:77], s[40:41], 24
; GFX9-NEXT: s_lshr_b64 s[78:79], s[42:43], 24
-; GFX9-NEXT: s_lshr_b64 s[88:89], s[44:45], 24
-; GFX9-NEXT: s_lshr_b64 s[76:77], s[28:29], 24
-; GFX9-NEXT: s_lshr_b64 s[92:93], s[20:21], 24
+; GFX9-NEXT: s_lshr_b64 s[72:73], s[44:45], 24
+; GFX9-NEXT: s_lshr_b64 s[60:61], s[20:21], 24
; GFX9-NEXT: v_writelane_b32 v30, s47, 1
-; GFX9-NEXT: s_lshr_b64 s[96:97], s[16:17], 24
+; GFX9-NEXT: s_lshr_b64 s[62:63], s[16:17], 24
; GFX9-NEXT: s_mov_b64 s[36:37], 0
; GFX9-NEXT: s_branch .LBB13_3
; GFX9-NEXT: .LBB13_2:
@@ -10357,13 +10361,12 @@ define inreg <128 x i8> @bitcast_v32i32_to_v128i8_scalar(<32 x i32> inreg %a, i3
; GFX9-NEXT: s_mov_b64 s[36:37], -1
; GFX9-NEXT: ; implicit-def: $sgpr46
; GFX9-NEXT: ; kill: killed $sgpr46
-; GFX9-NEXT: ; implicit-def: $sgpr96
-; GFX9-NEXT: ; implicit-def: $sgpr92
-; GFX9-NEXT: ; implicit-def: $sgpr76
-; GFX9-NEXT: ; implicit-def: $sgpr88
+; GFX9-NEXT: ; implicit-def: $sgpr62
+; GFX9-NEXT: ; implicit-def: $sgpr60
+; GFX9-NEXT: ; implicit-def: $sgpr72
; GFX9-NEXT: ; implicit-def: $sgpr78
+; GFX9-NEXT: ; implicit-def: $sgpr76
; GFX9-NEXT: ; implicit-def: $sgpr74
-; GFX9-NEXT: ; implicit-def: $sgpr98
; GFX9-NEXT: ; implicit-def: $sgpr46
; GFX9-NEXT: ; kill: killed $sgpr46
; GFX9-NEXT: ; implicit-def: $sgpr46
@@ -10547,514 +10550,517 @@ define inreg <128 x i8> @bitcast_v32i32_to_v128i8_scalar(<32 x i32> inreg %a, i3
; GFX9-NEXT: ; implicit-def: $sgpr46
; GFX9-NEXT: v_writelane_b32 v30, s46, 16
; GFX9-NEXT: v_writelane_b32 v30, s47, 17
+; GFX9-NEXT: ; implicit-def: $sgpr46
+; GFX9-NEXT: v_writelane_b32 v30, s46, 18
+; GFX9-NEXT: v_writelane_b32 v30, s47, 19
; GFX9-NEXT: .LBB13_3: ; %Flow
; GFX9-NEXT: s_and_b64 s[46:47], s[36:37], exec
; GFX9-NEXT: s_cselect_b32 s46, 1, 0
; GFX9-NEXT: s_cmp_lg_u32 s46, 1
-; GFX9-NEXT: v_readlane_b32 s72, v30, 18
-; GFX9-NEXT: v_readlane_b32 s99, v30, 19
-; GFX9-NEXT: v_readlane_b32 s62, v30, 20
-; GFX9-NEXT: v_readlane_b32 s90, v30, 21
-; GFX9-NEXT: v_readlane_b32 s63, v30, 22
-; GFX9-NEXT: v_readlane_b32 s91, v30, 23
-; GFX9-NEXT: v_readlane_b32 s73, v30, 24
-; GFX9-NEXT: v_readlane_b32 s94, v30, 25
-; GFX9-NEXT: v_readlane_b32 s95, v30, 26
-; GFX9-NEXT: v_readlane_b32 s30, v30, 27
-; GFX9-NEXT: v_readlane_b32 vcc_hi, v30, 28
-; GFX9-NEXT: v_readlane_b32 s31, v30, 29
-; GFX9-NEXT: v_readlane_b32 s35, v30, 30
-; GFX9-NEXT: v_readlane_b32 s47, v30, 31
-; GFX9-NEXT: v_readlane_b32 s48, v30, 32
-; GFX9-NEXT: v_readlane_b32 s39, v30, 33
-; GFX9-NEXT: v_readlane_b32 vcc_lo, v30, 34
-; GFX9-NEXT: v_readlane_b32 s59, v30, 35
-; GFX9-NEXT: v_readlane_b32 s34, v30, 36
-; GFX9-NEXT: v_readlane_b32 s36, v30, 37
+; GFX9-NEXT: v_readlane_b32 s75, v30, 20
+; GFX9-NEXT: v_readlane_b32 s73, v30, 21
+; GFX9-NEXT: v_readlane_b32 s97, v30, 22
+; GFX9-NEXT: v_readlane_b32 s96, v30, 23
+; GFX9-NEXT: v_readlane_b32 s98, v30, 24
+; GFX9-NEXT: v_readlane_b32 s99, v30, 25
+; GFX9-NEXT: v_readlane_b32 s88, v30, 26
+; GFX9-NEXT: v_readlane_b32 s90, v30, 27
+; GFX9-NEXT: v_readlane_b32 s89, v30, 28
+; GFX9-NEXT: v_readlane_b32 s91, v30, 29
+; GFX9-NEXT: v_readlane_b32 s92, v30, 30
+; GFX9-NEXT: v_readlane_b32 s93, v30, 31
+; GFX9-NEXT: v_readlane_b32 vcc_lo, v30, 32
+; GFX9-NEXT: v_readlane_b32 s95, v30, 33
+; GFX9-NEXT: v_readlane_b32 s30, v30, 34
+; GFX9-NEXT: v_readlane_b32 s31, v30, 35
+; GFX9-NEXT: v_readlane_b32 s35, v30, 36
+; GFX9-NEXT: v_readlane_b32 s47, v30, 37
; GFX9-NEXT: v_readlane_b32 s37, v30, 38
-; GFX9-NEXT: v_readlane_b32 s38, v30, 39
-; GFX9-NEXT: v_readlane_b32 s49, v30, 40
-; GFX9-NEXT: v_readlane_b32 s50, v30, 41
-; GFX9-NEXT: v_readlane_b32 s51, v30, 42
-; GFX9-NEXT: v_readlane_b32 s52, v30, 43
-; GFX9-NEXT: v_readlane_b32 s53, v30, 44
-; GFX9-NEXT: v_readlane_b32 s54, v30, 45
-; GFX9-NEXT: v_readlane_b32 s55, v30, 46
-; GFX9-NEXT: v_readlane_b32 s64, v30, 47
-; GFX9-NEXT: v_readlane_b32 s46, v30, 48
-; GFX9-NEXT: v_readlane_b32 s65, v30, 49
-; GFX9-NEXT: v_readlane_b32 s68, v30, 50
-; GFX9-NEXT: v_readlane_b32 s69, v30, 51
-; GFX9-NEXT: v_readlane_b32 s70, v30, 52
-; GFX9-NEXT: v_readlane_b32 s71, v30, 53
-; GFX9-NEXT: v_readlane_b32 s80, v30, 54
-; GFX9-NEXT: v_readlane_b32 s56, v30, 55
-; GFX9-NEXT: v_readlane_b32 s81, v30, 56
-; GFX9-NEXT: v_readlane_b32 s82, v30, 57
-; GFX9-NEXT: v_readlane_b32 s83, v30, 58
-; GFX9-NEXT: v_readlane_b32 s84, v30, 59
-; GFX9-NEXT: v_readlane_b32 s85, v30, 60
-; GFX9-NEXT: v_readlane_b32 s86, v30, 61
-; GFX9-NEXT: v_readlane_b32 s58, v30, 62
-; GFX9-NEXT: v_readlane_b32 s87, v30, 63
-; GFX9-NEXT: v_readlane_b32 s57, v31, 0
-; GFX9-NEXT: v_readlane_b32 s60, v31, 1
-; GFX9-NEXT: v_readlane_b32 s61, v31, 2
-; GFX9-NEXT: v_readlane_b32 s66, v30, 4
-; GFX9-NEXT: v_readlane_b32 s67, v30, 5
+; GFX9-NEXT: v_readlane_b32 s94, v30, 39
+; GFX9-NEXT: v_readlane_b32 vcc_hi, v30, 40
+; GFX9-NEXT: v_readlane_b32 s59, v30, 41
+; GFX9-NEXT: v_readlane_b32 s34, v30, 42
+; GFX9-NEXT: v_readlane_b32 s69, v30, 43
+; GFX9-NEXT: v_readlane_b32 s36, v30, 44
+; GFX9-NEXT: v_readlane_b32 s38, v30, 45
+; GFX9-NEXT: v_readlane_b32 s39, v30, 46
+; GFX9-NEXT: v_readlane_b32 s48, v30, 47
+; GFX9-NEXT: v_readlane_b32 s49, v30, 48
+; GFX9-NEXT: v_readlane_b32 s50, v30, 49
+; GFX9-NEXT: v_readlane_b32 s51, v30, 50
+; GFX9-NEXT: v_readlane_b32 s52, v30, 51
+; GFX9-NEXT: v_readlane_b32 s53, v30, 52
+; GFX9-NEXT: v_readlane_b32 s54, v30, 53
+; GFX9-NEXT: v_readlane_b32 s55, v30, 54
+; GFX9-NEXT: v_readlane_b32 s64, v30, 55
+; GFX9-NEXT: v_readlane_b32 s65, v30, 56
+; GFX9-NEXT: v_readlane_b32 s46, v30, 57
+; GFX9-NEXT: v_readlane_b32 s68, v30, 58
+; GFX9-NEXT: v_readlane_b32 s71, v30, 59
+; GFX9-NEXT: v_readlane_b32 s70, v30, 60
+; GFX9-NEXT: v_readlane_b32 s56, v30, 61
+; GFX9-NEXT: v_readlane_b32 s80, v30, 62
+; GFX9-NEXT: v_readlane_b32 s81, v30, 63
+; GFX9-NEXT: v_readlane_b32 s82, v31, 0
+; GFX9-NEXT: v_readlane_b32 s83, v31, 1
+; GFX9-NEXT: v_readlane_b32 s84, v31, 2
+; GFX9-NEXT: v_readlane_b32 s58, v31, 3
+; GFX9-NEXT: v_readlane_b32 s85, v31, 4
+; GFX9-NEXT: v_readlane_b32 s86, v31, 5
+; GFX9-NEXT: v_readlane_b32 s87, v31, 6
+; GFX9-NEXT: v_readlane_b32 s57, v31, 7
+; GFX9-NEXT: v_readlane_b32 s66, v30, 6
+; GFX9-NEXT: v_readlane_b32 s67, v30, 7
; GFX9-NEXT: s_cbranch_scc1 .LBB13_5
; GFX9-NEXT: ; %bb.4: ; %cmp.true
; GFX9-NEXT: s_add_i32 s5, s5, 3
; GFX9-NEXT: s_add_i32 s4, s4, 3
; GFX9-NEXT: s_lshr_b32 s46, s5, 8
-; GFX9-NEXT: v_writelane_b32 v31, s46, 3
+; GFX9-NEXT: v_writelane_b32 v31, s46, 8
; GFX9-NEXT: s_lshr_b32 s46, s4, 16
; GFX9-NEXT: s_add_i32 s7, s7, 3
-; GFX9-NEXT: v_writelane_b32 v31, s46, 4
+; GFX9-NEXT: v_writelane_b32 v31, s46, 9
; GFX9-NEXT: s_lshr_b32 s46, s4, 8
-; GFX9-NEXT: v_writelane_b32 v31, s46, 5
+; GFX9-NEXT: v_writelane_b32 v31, s46, 10
; GFX9-NEXT: s_lshr_b32 s46, s7, 24
-; GFX9-NEXT: v_writelane_b32 v31, s46, 6
+; GFX9-NEXT: v_writelane_b32 v31, s46, 11
; GFX9-NEXT: s_lshr_b32 s46, s7, 16
; GFX9-NEXT: s_add_i32 s6, s6, 3
-; GFX9-NEXT: v_writelane_b32 v31, s46, 7
+; GFX9-NEXT: v_writelane_b32 v31, s46, 12
; GFX9-NEXT: s_lshr_b32 s46, s7, 8
-; GFX9-NEXT: v_writelane_b32 v31, s46, 8
+; GFX9-NEXT: v_writelane_b32 v31, s46, 13
; GFX9-NEXT: s_lshr_b32 s46, s6, 16
; GFX9-NEXT: s_add_i32 s9, s9, 3
-; GFX9-NEXT: v_writelane_b32 v31, s46, 9
+; GFX9-NEXT: v_writelane_b32 v31, s46, 14
; GFX9-NEXT: s_lshr_b32 s46, s6, 8
-; GFX9-NEXT: v_writelane_b32 v31, s46, 10
+; GFX9-NEXT: v_writelane_b32 v31, s46, 15
; GFX9-NEXT: s_lshr_b32 s46, s9, 24
-; GFX9-NEXT: v_writelane_b32 v31, s46, 11
+; GFX9-NEXT: v_writelane_b32 v31, s46, 16
; GFX9-NEXT: s_lshr_b32 s46, s9, 16
; GFX9-NEXT: s_add_i32 s8, s8, 3
-; GFX9-NEXT: v_writelane_b32 v31, s46, 12
+; GFX9-NEXT: v_writelane_b32 v31, s46, 17
; GFX9-NEXT: s_lshr_b32 s46, s9, 8
-; GFX9-NEXT: v_writelane_b32 v31, s46, 13
+; GFX9-NEXT: s_lshr_b64 s[72:73], s[4:5], 24
+; GFX9-NEXT: v_writelane_b32 v31, s46, 18
; GFX9-NEXT: s_lshr_b32 s46, s8, 16
+; GFX9-NEXT: v_writelane_b32 v30, s72, 18
; GFX9-NEXT: s_add_i32 s11, s11, 3
-; GFX9-NEXT: v_writelane_b32 v31, s46, 14
+; GFX9-NEXT: v_writelane_b32 v31, s46, 19
; GFX9-NEXT: s_lshr_b32 s46, s8, 8
-; GFX9-NEXT: v_writelane_b32 v31, s46, 15
+; GFX9-NEXT: v_writelane_b32 v30, s73, 19
+; GFX9-NEXT: s_lshr_b64 s[72:73], s[6:7], 24
+; GFX9-NEXT: v_writelane_b32 v31, s46, 20
; GFX9-NEXT: s_lshr_b32 s46, s11, 24
-; GFX9-NEXT: v_writelane_b32 v31, s46, 16
+; GFX9-NEXT: v_writelane_b32 v30, s72, 16
+; GFX9-NEXT: v_writelane_b32 v31, s46, 21
; GFX9-NEXT: s_lshr_b32 s46, s11, 16
+; GFX9-NEXT: v_writelane_b32 v30, s73, 17
+; GFX9-NEXT: s_lshr_b64 s[72:73], s[8:9], 24
; GFX9-NEXT: s_add_i32 s10, s10, 3
-; GFX9-NEXT: v_writelane_b32 v31, s46, 17
+; GFX9-NEXT: v_writelane_b32 v31, s46, 22
; GFX9-NEXT: s_lshr_b32 s46, s11, 8
-; GFX9-NEXT: s_lshr_b64 s[62:63], s[4:5], 24
-; GFX9-NEXT: v_writelane_b32 v31, s46, 18
+; GFX9-NEXT: v_writelane_b32 v30, s72, 14
+; GFX9-NEXT: v_writelane_b32 v31, s46, 23
; GFX9-NEXT: s_lshr_b32 s46, s10, 16
-; GFX9-NEXT: v_writelane_b32 v30, s62, 16
+; GFX9-NEXT: v_writelane_b32 v30, s73, 15
+; GFX9-NEXT: s_lshr_b64 s[72:73], s[10:11], 24
; GFX9-NEXT: s_add_i32 s13, s13, 3
-; GFX9-NEXT: v_writelane_b32 v31, s46, 19
+; GFX9-NEXT: s_add_i32 s12, s12, 3
+; GFX9-NEXT: v_writelane_b32 v31, s46, 24
; GFX9-NEXT: s_lshr_b32 s46, s10, 8
-; GFX9-NEXT: v_writelane_b32 v30, s63, 17
-; GFX9-NEXT: s_lshr_b64 s[62:63], s[6:7], 24
-; GFX9-NEXT: v_writelane_b32 v31, s46, 20
+; GFX9-NEXT: v_writelane_b32 v30, s72, 12
+; GFX9-NEXT: v_writelane_b32 v31, s46, 25
; GFX9-NEXT: s_lshr_b32 s46, s13, 24
-; GFX9-NEXT: v_writelane_b32 v30, s62, 14
-; GFX9-NEXT: v_writelane_b32 v31, s46, 21
+; GFX9-NEXT: v_writelane_b32 v30, s73, 13
+; GFX9-NEXT: s_lshr_b64 s[72:73], s[12:13], 24
+; GFX9-NEXT: s_add_i32 s29, s29, 3
+; GFX9-NEXT: s_add_i32 s28, s28, 3
+; GFX9-NEXT: v_writelane_b32 v31, s46, 26
; GFX9-NEXT: s_lshr_b32 s46, s13, 16
-; GFX9-NEXT: v_writelane_b32 v30, s63, 15
-; GFX9-NEXT: s_lshr_b64 s[76:77], s[8:9], 24
-; GFX9-NEXT: s_add_i32 s12, s12, 3
-; GFX9-NEXT: v_writelane_b32 v31, s46, 22
+; GFX9-NEXT: v_writelane_b32 v30, s72, 10
+; GFX9-NEXT: s_add_i32 s45, s45, 3
+; GFX9-NEXT: s_add_i32 s44, s44, 3
+; GFX9-NEXT: v_writelane_b32 v31, s46, 27
; GFX9-NEXT: s_lshr_b32 s46, s13, 8
-; GFX9-NEXT: v_writelane_b32 v30, s76, 12
-; GFX9-NEXT: v_writelane_b32 v31, s46, 23
+; GFX9-NEXT: v_writelane_b32 v30, s73, 11
+; GFX9-NEXT: s_lshr_b64 s[66:67], s[28:29], 24
+; GFX9-NEXT: s_add_i32 s25, s25, 3
+; GFX9-NEXT: s_add_i32 s24, s24, 3
+; GFX9-NEXT: s_lshr_b32 s60, s5, 16
+; GFX9-NEXT: v_writelane_b32 v31, s46, 28
; GFX9-NEXT: s_lshr_b32 s46, s12, 16
-; GFX9-NEXT: v_writelane_b32 v30, s77, 13
-; GFX9-NEXT: s_lshr_b64 s[76:77], s[10:11], 24
+; GFX9-NEXT: s_lshr_b64 s[72:73], s[44:45], 24
+; GFX9-NEXT: v_writelane_b32 v30, s66, 8
; GFX9-NEXT: s_add_i32 s15, s15, 3
-; GFX9-NEXT: v_writelane_b32 v31, s46, 24
+; GFX9-NEXT: v_writelane_b32 v31, s46, 29
; GFX9-NEXT: s_lshr_b32 s46, s12, 8
-; GFX9-NEXT: v_writelane_b32 v30, s76, 10
-; GFX9-NEXT: v_writelane_b32 v31, s46, 25
-; GFX9-NEXT: s_lshr_b32 s46, s15, 24
-; GFX9-NEXT: v_writelane_b32 v30, s77, 11
-; GFX9-NEXT: s_lshr_b64 s[76:77], s[12:13], 24
-; GFX9-NEXT: s_add_i32 s27, s27, 3
-; GFX9-NEXT: s_add_i32 s26, s26, 3
-; GFX9-NEXT: v_writelane_b32 v31, s46, 26
-; GFX9-NEXT: s_lshr_b32 s46, s15, 16
-; GFX9-NEXT: v_writelane_b32 v30, s76, 8
-; GFX9-NEXT: s_add_i32 s43, s43, 3
-; GFX9-NEXT: s_add_i32 s14, s14, 3
-; GFX9-NEXT: v_writelane_b32 v31, s46, 27
-; GFX9-NEXT: s_lshr_b32 s46, s15, 8
-; GFX9-NEXT: v_writelane_b32 v30, s77, 9
-; GFX9-NEXT: s_lshr_b64 s[66:67], s[26:27], 24
+; GFX9-NEXT: s_mov_b32 s73, s60
+; GFX9-NEXT: v_writelane_b32 v30, s67, 9
+; GFX9-NEXT: s_lshr_b64 s[60:61], s[24:25], 24
; GFX9-NEXT: s_add_i32 s23, s23, 3
; GFX9-NEXT: s_add_i32 s22, s22, 3
-; GFX9-NEXT: v_writelane_b32 v31, s46, 28
-; GFX9-NEXT: s_lshr_b32 s46, s14, 16
-; GFX9-NEXT: s_lshr_b32 s92, s43, 24
-; GFX9-NEXT: v_writelane_b32 v30, s66, 6
-; GFX9-NEXT: s_add_i32 s41, s41, 3
-; GFX9-NEXT: v_writelane_b32 v31, s46, 29
-; GFX9-NEXT: s_lshr_b32 s46, s14, 8
-; GFX9-NEXT: s_mov_b32 s63, s92
-; GFX9-NEXT: v_writelane_b32 v30, s67, 7
-; GFX9-NEXT: s_lshr_b64 s[92:93], s[22:23], 24
-; GFX9-NEXT: s_add_i32 s19, s19, 3
-; GFX9-NEXT: s_add_i32 s18, s18, 3
-; GFX9-NEXT: s_add_i32 s40, s40, 3
; GFX9-NEXT: v_writelane_b32 v31, s46, 30
-; GFX9-NEXT: s_lshr_b32 s46, s41, 24
-; GFX9-NEXT: v_writelane_b32 v30, s92, 2
+; GFX9-NEXT: s_lshr_b32 s46, s15, 24
+; GFX9-NEXT: v_writelane_b32 v30, s60, 4
+; GFX9-NEXT: s_add_i32 s14, s14, 3
; GFX9-NEXT: v_writelane_b32 v31, s46, 31
-; GFX9-NEXT: s_lshr_b32 s46, s41, 16
-; GFX9-NEXT: s_lshr_b32 s99, s40, 16
-; GFX9-NEXT: v_writelane_b32 v30, s93, 3
-; GFX9-NEXT: s_lshr_b64 s[96:97], s[18:19], 24
+; GFX9-NEXT: s_lshr_b32 s46, s15, 16
+; GFX9-NEXT: v_writelane_b32 v30, s61, 5
+; GFX9-NEXT: s_lshr_b64 s[60:61], s[22:23], 24
+; GFX9-NEXT: s_add_i32 s19, s19, 3
+; GFX9-NEXT: s_add_i32 s18, s18, 3
+; GFX9-NEXT: s_lshr_b32 s62, s5, 24
+; GFX9-NEXT: v_writelane_b32 v31, s46, 32
+; GFX9-NEXT: s_lshr_b32 s46, s15, 8
+; GFX9-NEXT: s_lshr_b64 s[74:75], s[14:15], 24
+; GFX9-NEXT: v_writelane_b32 v30, s60, 2
+; GFX9-NEXT: v_writelane_b32 v31, s46, 33
+; GFX9-NEXT: s_lshr_b32 s46, s14, 16
+; GFX9-NEXT: s_mov_b32 s75, s62
+; GFX9-NEXT: v_writelane_b32 v30, s61, 3
+; GFX9-NEXT: s_lshr_b64 s[62:63], s[18:19], 24
; GFX9-NEXT: s_add_i32 s17, s17, 3
; GFX9-NEXT: s_add_i32 s16, s16, 3
; GFX9-NEXT: s_add_i32 s21, s21, 3
; GFX9-NEXT: s_add_i32 s20, s20, 3
-; GFX9-NEXT: s_add_i32 s25, s25, 3
-; GFX9-NEXT: s_add_i32 s24, s24, 3
-; GFX9-NEXT: s_add_i32 s29, s29, 3
-; GFX9-NEXT: s_add_i32 s28, s28, 3
-; GFX9-NEXT: s_add_i32 s45, s45, 3
-; GFX9-NEXT: s_add_i32 s44, s44, 3
+; GFX9-NEXT: s_add_i32 s27, s27, 3
+; GFX9-NEXT: s_add_i32 s26, s26, 3
+; GFX9-NEXT: s_add_i32 s43, s43, 3
; GFX9-NEXT: s_add_i32 s42, s42, 3
-; GFX9-NEXT: s_lshr_b32 s74, s5, 16
-; GFX9-NEXT: v_writelane_b32 v31, s46, 32
-; GFX9-NEXT: s_lshr_b32 s46, s41, 8
-; GFX9-NEXT: s_mov_b32 s62, s99
-; GFX9-NEXT: s_lshr_b64 s[98:99], s[14:15], 24
-; GFX9-NEXT: v_writelane_b32 v30, s96, 0
-; GFX9-NEXT: s_lshr_b32 s72, s5, 24
-; GFX9-NEXT: v_writelane_b32 v31, s46, 33
-; GFX9-NEXT: s_lshr_b32 s90, s40, 8
-; GFX9-NEXT: s_lshr_b32 s91, s43, 16
-; GFX9-NEXT: s_lshr_b32 s73, s43, 8
-; GFX9-NEXT: s_lshr_b32 s94, s42, 16
-; GFX9-NEXT: s_lshr_b32 s95, s42, 8
-; GFX9-NEXT: s_lshr_b32 s30, s45, 24
-; GFX9-NEXT: s_lshr_b32 vcc_hi, s45, 16
-; GFX9-NEXT: s_lshr_b32 s31, s45, 8
-; GFX9-NEXT: s_lshr_b32 s35, s44, 16
-; GFX9-NEXT: s_lshr_b32 s47, s44, 8
-; GFX9-NEXT: s_lshr_b32 s48, s29, 24
-; GFX9-NEXT: s_lshr_b32 s39, s29, 16
-; GFX9-NEXT: s_lshr_b32 vcc_lo, s29, 8
-; GFX9-NEXT: s_lshr_b32 s59, s28, 16
-; GFX9-NEXT: s_lshr_b32 s34, s28, 8
-; GFX9-NEXT: s_lshr_b32 s36, s27, 24
-; GFX9-NEXT: s_lshr_b32 s37, s27, 16
-; GFX9-NEXT: s_lshr_b32 s80, s27, 8
-; GFX9-NEXT: s_lshr_b32 s38, s26, 16
-; GFX9-NEXT: s_lshr_b32 s81, s26, 8
-; GFX9-NEXT: s_lshr_b32 s49, s25, 24
-; GFX9-NEXT: s_lshr_b32 s50, s25, 16
-; GFX9-NEXT: s_lshr_b32 s82, s25, 8
-; GFX9-NEXT: s_lshr_b32 s51, s24, 16
-; GFX9-NEXT: s_lshr_b32 s83, s24, 8
-; GFX9-NEXT: s_lshr_b32 s52, s23, 24
-; GFX9-NEXT: s_lshr_b32 s53, s23, 16
-; GFX9-NEXT: s_lshr_b32 s84, s23, 8
-; GFX9-NEXT: s_lshr_b32 s54, s22, 16
-; GFX9-NEXT: s_lshr_b32 s85, s22, 8
-; GFX9-NEXT: s_lshr_b32 s55, s21, 24
-; GFX9-NEXT: s_lshr_b32 s64, s21, 16
-; GFX9-NEXT: s_lshr_b32 s86, s21, 8
-; GFX9-NEXT: s_lshr_b32 s46, s20, 16
+; GFX9-NEXT: s_add_i32 s41, s41, 3
+; GFX9-NEXT: s_add_i32 s40, s40, 3
+; GFX9-NEXT: v_writelane_b32 v31, s46, 34
+; GFX9-NEXT: s_lshr_b32 s46, s14, 8
+; GFX9-NEXT: v_writelane_b32 v30, s62, 0
+; GFX9-NEXT: v_writelane_b32 v31, s46, 35
+; GFX9-NEXT: s_lshr_b32 s97, s41, 24
+; GFX9-NEXT: s_lshr_b32 s96, s41, 16
+; GFX9-NEXT: s_lshr_b32 s98, s41, 8
+; GFX9-NEXT: s_lshr_b32 s99, s40, 16
+; GFX9-NEXT: s_lshr_b32 s88, s40, 8
+; GFX9-NEXT: s_lshr_b32 s90, s43, 24
+; GFX9-NEXT: s_lshr_b32 s89, s43, 16
+; GFX9-NEXT: s_lshr_b32 s91, s43, 8
+; GFX9-NEXT: s_lshr_b32 s92, s42, 16
+; GFX9-NEXT: s_lshr_b32 s93, s42, 8
+; GFX9-NEXT: s_lshr_b32 vcc_lo, s45, 24
+; GFX9-NEXT: s_lshr_b32 s95, s45, 16
+; GFX9-NEXT: s_lshr_b32 s30, s45, 8
+; GFX9-NEXT: s_lshr_b32 s31, s44, 16
+; GFX9-NEXT: s_lshr_b32 s35, s44, 8
+; GFX9-NEXT: s_lshr_b32 s47, s29, 24
+; GFX9-NEXT: s_lshr_b32 s37, s29, 16
+; GFX9-NEXT: s_lshr_b32 s94, s29, 8
+; GFX9-NEXT: s_lshr_b32 vcc_hi, s28, 16
+; GFX9-NEXT: s_lshr_b32 s59, s28, 8
+; GFX9-NEXT: s_lshr_b32 s34, s27, 24
+; GFX9-NEXT: s_lshr_b32 s69, s27, 16
+; GFX9-NEXT: s_lshr_b32 s71, s27, 8
+; GFX9-NEXT: s_lshr_b32 s36, s26, 16
+; GFX9-NEXT: s_lshr_b32 s56, s26, 8
+; GFX9-NEXT: s_lshr_b32 s38, s25, 24
+; GFX9-NEXT: s_lshr_b32 s39, s25, 16
+; GFX9-NEXT: s_lshr_b32 s80, s25, 8
+; GFX9-NEXT: s_lshr_b32 s48, s24, 16
+; GFX9-NEXT: s_lshr_b32 s81, s24, 8
+; GFX9-NEXT: s_lshr_b32 s49, s23, 24
+; GFX9-NEXT: s_lshr_b32 s50, s23, 16
+; GFX9-NEXT: s_lshr_b32 s82, s23, 8
+; GFX9-NEXT: s_lshr_b32 s51, s22, 16
+; GFX9-NEXT: s_lshr_b32 s83, s22, 8
+; GFX9-NEXT: s_lshr_b32 s52, s21, 24
+; GFX9-NEXT: s_lshr_b32 s53, s21, 16
+; GFX9-NEXT: s_lshr_b32 s84, s21, 8
+; GFX9-NEXT: s_lshr_b32 s54, s20, 16
; GFX9-NEXT: s_lshr_b32 s58, s20, 8
-; GFX9-NEXT: s_lshr_b32 s65, s19, 24
-; GFX9-NEXT: s_lshr_b32 s68, s19, 16
-; GFX9-NEXT: s_lshr_b32 s87, s19, 8
-; GFX9-NEXT: s_lshr_b32 s69, s18, 16
-; GFX9-NEXT: s_lshr_b32 s57, s18, 8
-; GFX9-NEXT: s_lshr_b32 s70, s17, 24
-; GFX9-NEXT: s_lshr_b32 s71, s17, 16
-; GFX9-NEXT: s_lshr_b32 s60, s17, 8
-; GFX9-NEXT: s_lshr_b32 s56, s16, 16
-; GFX9-NEXT: s_lshr_b32 s61, s16, 8
-; GFX9-NEXT: s_mov_b32 s99, s74
-; GFX9-NEXT: s_lshr_b64 s[74:75], s[40:41], 24
+; GFX9-NEXT: s_lshr_b32 s55, s19, 24
+; GFX9-NEXT: s_lshr_b32 s64, s19, 16
+; GFX9-NEXT: s_lshr_b32 s85, s19, 8
+; GFX9-NEXT: s_lshr_b32 s65, s18, 16
+; GFX9-NEXT: s_lshr_b32 s86, s18, 8
+; GFX9-NEXT: s_lshr_b32 s46, s17, 24
+; GFX9-NEXT: s_lshr_b32 s68, s17, 16
+; GFX9-NEXT: s_lshr_b32 s87, s17, 8
+; GFX9-NEXT: s_lshr_b32 s70, s16, 16
+; GFX9-NEXT: s_lshr_b32 s57, s16, 8
+; GFX9-NEXT: s_lshr_b64 s[76:77], s[40:41], 24
; GFX9-NEXT: s_lshr_b64 s[78:79], s[42:43], 24
-; GFX9-NEXT: s_lshr_b64 s[88:89], s[44:45], 24
-; GFX9-NEXT: s_lshr_b64 s[76:77], s[28:29], 24
-; GFX9-NEXT: s_lshr_b64 s[66:67], s[24:25], 24
-; GFX9-NEXT: s_lshr_b64 s[92:93], s[20:21], 24
-; GFX9-NEXT: v_writelane_b32 v30, s97, 1
-; GFX9-NEXT: s_lshr_b64 s[96:97], s[16:17], 24
+; GFX9-NEXT: s_lshr_b64 s[66:67], s[26:27], 24
+; GFX9-NEXT: s_lshr_b64 s[60:61], s[20:21], 24
+; GFX9-NEXT: v_writelane_b32 v30, s63, 1
+; GFX9-NEXT: s_lshr_b64 s[62:63], s[16:17], 24
; GFX9-NEXT: .LBB13_5: ; %end
-; GFX9-NEXT: v_mov_b32_e32 v6, s96
+; GFX9-NEXT: v_mov_b32_e32 v6, s62
; GFX9-NEXT: v_mov_b32_e32 v1, 0xc0c0004
-; GFX9-NEXT: v_mov_b32_e32 v2, s61
-; GFX9-NEXT: v_perm_b32 v6, s56, v6, v1
-; GFX9-NEXT: v_mov_b32_e32 v4, s60
+; GFX9-NEXT: v_mov_b32_e32 v2, s57
+; GFX9-NEXT: v_perm_b32 v6, s70, v6, v1
+; GFX9-NEXT: v_mov_b32_e32 v4, s87
; GFX9-NEXT: v_perm_b32 v3, s16, v2, v1
-; GFX9-NEXT: v_mov_b32_e32 v21, s70
+; GFX9-NEXT: v_mov_b32_e32 v21, s46
; GFX9-NEXT: v_lshlrev_b32_e32 v6, 16, v6
; GFX9-NEXT: v_perm_b32 v2, s17, v4, v1
; GFX9-NEXT: v_readlane_b32 s16, v30, 0
-; GFX9-NEXT: v_perm_b32 v21, s71, v21, v1
+; GFX9-NEXT: v_perm_b32 v21, s68, v21, v1
; GFX9-NEXT: v_or_b32_e32 v3, v3, v6
; GFX9-NEXT: v_mov_b32_e32 v10, s16
; GFX9-NEXT: buffer_store_dword v3, v0, s[0:3], 0 offen
; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v21
-; GFX9-NEXT: v_mov_b32_e32 v4, s57
-; GFX9-NEXT: v_perm_b32 v10, s69, v10, v1
+; GFX9-NEXT: v_mov_b32_e32 v4, s86
+; GFX9-NEXT: v_perm_b32 v10, s65, v10, v1
; GFX9-NEXT: v_or_b32_e32 v2, v2, v3
; GFX9-NEXT: v_perm_b32 v5, s18, v4, v1
-; GFX9-NEXT: v_mov_b32_e32 v22, s65
+; GFX9-NEXT: v_mov_b32_e32 v22, s55
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:4
; GFX9-NEXT: v_lshlrev_b32_e32 v2, 16, v10
-; GFX9-NEXT: v_mov_b32_e32 v7, s87
-; GFX9-NEXT: v_perm_b32 v22, s68, v22, v1
+; GFX9-NEXT: v_mov_b32_e32 v7, s85
+; GFX9-NEXT: v_perm_b32 v22, s64, v22, v1
; GFX9-NEXT: v_or_b32_e32 v2, v5, v2
; GFX9-NEXT: v_perm_b32 v4, s19, v7, v1
-; GFX9-NEXT: v_mov_b32_e32 v14, s92
+; GFX9-NEXT: v_mov_b32_e32 v13, s60
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:8
; GFX9-NEXT: v_lshlrev_b32_e32 v2, 16, v22
; GFX9-NEXT: v_mov_b32_e32 v7, s58
-; GFX9-NEXT: v_perm_b32 v14, s46, v14, v1
+; GFX9-NEXT: v_perm_b32 v13, s54, v13, v1
; GFX9-NEXT: v_or_b32_e32 v2, v4, v2
; GFX9-NEXT: v_readlane_b32 s17, v30, 1
; GFX9-NEXT: v_perm_b32 v8, s20, v7, v1
-; GFX9-NEXT: v_mov_b32_e32 v23, s55
+; GFX9-NEXT: v_mov_b32_e32 v23, s52
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:12
-; GFX9-NEXT: v_lshlrev_b32_e32 v2, 16, v14
-; GFX9-NEXT: v_mov_b32_e32 v9, s86
+; GFX9-NEXT: v_lshlrev_b32_e32 v2, 16, v13
+; GFX9-NEXT: v_mov_b32_e32 v9, s84
; GFX9-NEXT: v_readlane_b32 s16, v30, 2
-; GFX9-NEXT: v_perm_b32 v23, s64, v23, v1
+; GFX9-NEXT: v_perm_b32 v23, s53, v23, v1
; GFX9-NEXT: v_or_b32_e32 v2, v8, v2
; GFX9-NEXT: v_perm_b32 v7, s21, v9, v1
; GFX9-NEXT: v_mov_b32_e32 v15, s16
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:16
; GFX9-NEXT: v_lshlrev_b32_e32 v2, 16, v23
-; GFX9-NEXT: v_mov_b32_e32 v9, s85
-; GFX9-NEXT: v_perm_b32 v15, s54, v15, v1
+; GFX9-NEXT: v_mov_b32_e32 v9, s83
+; GFX9-NEXT: v_perm_b32 v15, s51, v15, v1
; GFX9-NEXT: v_or_b32_e32 v2, v7, v2
+; GFX9-NEXT: v_readlane_b32 s17, v30, 3
; GFX9-NEXT: v_perm_b32 v11, s22, v9, v1
-; GFX9-NEXT: v_mov_b32_e32 v24, s52
+; GFX9-NEXT: v_mov_b32_e32 v24, s49
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:20
; GFX9-NEXT: v_lshlrev_b32_e32 v2, 16, v15
-; GFX9-NEXT: v_mov_b32_e32 v12, s84
-; GFX9-NEXT: v_perm_b32 v24, s53, v24, v1
+; GFX9-NEXT: v_mov_b32_e32 v12, s82
+; GFX9-NEXT: v_readlane_b32 s16, v30, 4
+; GFX9-NEXT: v_perm_b32 v24, s50, v24, v1
; GFX9-NEXT: v_or_b32_e32 v2, v11, v2
; GFX9-NEXT: v_perm_b32 v9, s23, v12, v1
-; GFX9-NEXT: v_mov_b32_e32 v16, s66
+; GFX9-NEXT: v_mov_b32_e32 v16, s16
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:24
; GFX9-NEXT: v_lshlrev_b32_e32 v2, 16, v24
-; GFX9-NEXT: v_mov_b32_e32 v12, s83
-; GFX9-NEXT: v_perm_b32 v16, s51, v16, v1
+; GFX9-NEXT: v_mov_b32_e32 v12, s81
+; GFX9-NEXT: v_perm_b32 v16, s48, v16, v1
; GFX9-NEXT: v_or_b32_e32 v2, v9, v2
-; GFX9-NEXT: v_readlane_b32 s17, v30, 3
-; GFX9-NEXT: v_perm_b32 v13, s24, v12, v1
-; GFX9-NEXT: v_mov_b32_e32 v25, s49
+; GFX9-NEXT: v_perm_b32 v14, s24, v12, v1
+; GFX9-NEXT: v_mov_b32_e32 v25, s38
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:28
; GFX9-NEXT: v_lshlrev_b32_e32 v2, 16, v16
-; GFX9-NEXT: v_mov_b32_e32 v17, s82
-; GFX9-NEXT: v_readlane_b32 s16, v30, 6
-; GFX9-NEXT: v_perm_b32 v25, s50, v25, v1
-; GFX9-NEXT: v_or_b32_e32 v2, v13, v2
+; GFX9-NEXT: v_mov_b32_e32 v17, s80
+; GFX9-NEXT: v_perm_b32 v25, s39, v25, v1
+; GFX9-NEXT: v_or_b32_e32 v2, v14, v2
; GFX9-NEXT: v_perm_b32 v12, s25, v17, v1
-; GFX9-NEXT: v_mov_b32_e32 v17, s16
+; GFX9-NEXT: v_mov_b32_e32 v17, s66
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:32
; GFX9-NEXT: v_lshlrev_b32_e32 v2, 16, v25
-; GFX9-NEXT: v_mov_b32_e32 v18, s81
-; GFX9-NEXT: v_perm_b32 v17, s38, v17, v1
+; GFX9-NEXT: v_mov_b32_e32 v18, s56
+; GFX9-NEXT: v_perm_b32 v17, s36, v17, v1
; GFX9-NEXT: v_or_b32_e32 v2, v12, v2
+; GFX9-NEXT: v_readlane_b32 s17, v30, 5
; GFX9-NEXT: v_perm_b32 v18, s26, v18, v1
-; GFX9-NEXT: v_mov_b32_e32 v26, s36
+; GFX9-NEXT: v_mov_b32_e32 v26, s34
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:36
; GFX9-NEXT: v_lshlrev_b32_e32 v2, 16, v17
-; GFX9-NEXT: v_mov_b32_e32 v19, s80
-; GFX9-NEXT: v_perm_b32 v26, s37, v26, v1
+; GFX9-NEXT: v_mov_b32_e32 v19, s71
+; GFX9-NEXT: v_readlane_b32 s16, v30, 8
+; GFX9-NEXT: v_perm_b32 v26, s69, v26, v1
; GFX9-NEXT: v_or_b32_e32 v2, v18, v2
; GFX9-NEXT: v_perm_b32 v19, s27, v19, v1
-; GFX9-NEXT: v_mov_b32_e32 v20, s76
+; GFX9-NEXT: v_mov_b32_e32 v20, s16
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:40
; GFX9-NEXT: v_lshlrev_b32_e32 v2, 16, v26
-; GFX9-NEXT: v_mov_b32_e32 v27, s34
-; GFX9-NEXT: v_perm_b32 v20, s59, v20, v1
+; GFX9-NEXT: v_mov_b32_e32 v27, s59
+; GFX9-NEXT: v_perm_b32 v20, vcc_hi, v20, v1
; GFX9-NEXT: v_or_b32_e32 v2, v19, v2
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:44
; GFX9-NEXT: v_perm_b32 v2, s28, v27, v1
; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v20
; GFX9-NEXT: v_or_b32_e32 v2, v2, v3
-; GFX9-NEXT: v_mov_b32_e32 v3, s48
-; GFX9-NEXT: v_mov_b32_e32 v28, vcc_lo
-; GFX9-NEXT: v_perm_b32 v3, s39, v3, v1
+; GFX9-NEXT: v_mov_b32_e32 v3, s47
+; GFX9-NEXT: v_mov_b32_e32 v28, s94
+; GFX9-NEXT: v_perm_b32 v3, s37, v3, v1
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:48
; GFX9-NEXT: v_perm_b32 v2, s29, v28, v1
; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; GFX9-NEXT: v_or_b32_e32 v2, v2, v3
-; GFX9-NEXT: v_mov_b32_e32 v3, s88
+; GFX9-NEXT: v_mov_b32_e32 v3, s72
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:52
-; GFX9-NEXT: v_mov_b32_e32 v2, s47
-; GFX9-NEXT: v_perm_b32 v3, s35, v3, v1
+; GFX9-NEXT: v_mov_b32_e32 v2, s35
+; GFX9-NEXT: v_perm_b32 v3, s31, v3, v1
; GFX9-NEXT: v_perm_b32 v2, s44, v2, v1
; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; GFX9-NEXT: v_or_b32_e32 v2, v2, v3
-; GFX9-NEXT: v_mov_b32_e32 v3, s30
+; GFX9-NEXT: v_mov_b32_e32 v3, vcc_lo
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:56
-; GFX9-NEXT: v_mov_b32_e32 v2, s31
-; GFX9-NEXT: v_perm_b32 v3, vcc_hi, v3, v1
+; GFX9-NEXT: v_mov_b32_e32 v2, s30
+; GFX9-NEXT: v_perm_b32 v3, s95, v3, v1
; GFX9-NEXT: v_perm_b32 v2, s45, v2, v1
; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; GFX9-NEXT: v_or_b32_e32 v2, v2, v3
; GFX9-NEXT: v_mov_b32_e32 v3, s78
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:60
-; GFX9-NEXT: v_mov_b32_e32 v2, s95
-; GFX9-NEXT: v_perm_b32 v3, s94, v3, v1
+; GFX9-NEXT: v_mov_b32_e32 v2, s93
+; GFX9-NEXT: v_perm_b32 v3, s92, v3, v1
; GFX9-NEXT: v_perm_b32 v2, s42, v2, v1
; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; GFX9-NEXT: v_or_b32_e32 v2, v2, v3
-; GFX9-NEXT: v_mov_b32_e32 v3, s63
+; GFX9-NEXT: v_mov_b32_e32 v3, s90
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:64
-; GFX9-NEXT: v_mov_b32_e32 v2, s73
-; GFX9-NEXT: v_perm_b32 v3, s91, v3, v1
+; GFX9-NEXT: v_mov_b32_e32 v2, s91
+; GFX9-NEXT: v_perm_b32 v3, s89, v3, v1
; GFX9-NEXT: v_perm_b32 v2, s43, v2, v1
; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; GFX9-NEXT: v_or_b32_e32 v2, v2, v3
-; GFX9-NEXT: v_mov_b32_e32 v3, s74
+; GFX9-NEXT: v_mov_b32_e32 v3, s76
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:68
-; GFX9-NEXT: v_mov_b32_e32 v2, s90
-; GFX9-NEXT: v_perm_b32 v3, s62, v3, v1
+; GFX9-NEXT: v_mov_b32_e32 v2, s88
+; GFX9-NEXT: v_perm_b32 v3, s99, v3, v1
; GFX9-NEXT: v_perm_b32 v2, s40, v2, v1
; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; GFX9-NEXT: v_or_b32_e32 v2, v2, v3
-; GFX9-NEXT: v_readlane_b32 s16, v31, 33
+; GFX9-NEXT: v_mov_b32_e32 v3, s97
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:72
-; GFX9-NEXT: v_mov_b32_e32 v2, s16
-; GFX9-NEXT: v_readlane_b32 s16, v31, 31
-; GFX9-NEXT: v_mov_b32_e32 v3, s16
-; GFX9-NEXT: v_readlane_b32 s16, v31, 32
-; GFX9-NEXT: v_perm_b32 v3, s16, v3, v1
+; GFX9-NEXT: v_mov_b32_e32 v2, s98
+; GFX9-NEXT: v_perm_b32 v3, s96, v3, v1
; GFX9-NEXT: v_perm_b32 v2, s41, v2, v1
; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; GFX9-NEXT: v_or_b32_e32 v2, v2, v3
-; GFX9-NEXT: v_readlane_b32 s16, v31, 30
+; GFX9-NEXT: v_readlane_b32 s16, v31, 35
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:76
; GFX9-NEXT: v_mov_b32_e32 v2, s16
; GFX9-NEXT: v_perm_b32 v2, s14, v2, v1
-; GFX9-NEXT: v_mov_b32_e32 v3, s98
-; GFX9-NEXT: v_readlane_b32 s14, v31, 29
+; GFX9-NEXT: v_mov_b32_e32 v3, s74
+; GFX9-NEXT: v_readlane_b32 s14, v31, 34
; GFX9-NEXT: v_perm_b32 v3, s14, v3, v1
; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; GFX9-NEXT: v_or_b32_e32 v2, v2, v3
-; GFX9-NEXT: v_readlane_b32 s14, v31, 28
+; GFX9-NEXT: v_readlane_b32 s14, v31, 33
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:80
; GFX9-NEXT: v_mov_b32_e32 v2, s14
-; GFX9-NEXT: v_readlane_b32 s14, v31, 26
+; GFX9-NEXT: v_readlane_b32 s14, v31, 31
; GFX9-NEXT: v_mov_b32_e32 v3, s14
-; GFX9-NEXT: v_readlane_b32 s14, v31, 27
+; GFX9-NEXT: v_readlane_b32 s14, v31, 32
; GFX9-NEXT: v_perm_b32 v3, s14, v3, v1
; GFX9-NEXT: v_perm_b32 v2, s15, v2, v1
; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; GFX9-NEXT: v_or_b32_e32 v2, v2, v3
-; GFX9-NEXT: v_readlane_b32 s14, v31, 25
+; GFX9-NEXT: v_readlane_b32 s14, v31, 30
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:84
; GFX9-NEXT: v_mov_b32_e32 v2, s14
-; GFX9-NEXT: v_readlane_b32 s14, v30, 8
+; GFX9-NEXT: v_readlane_b32 s14, v30, 10
; GFX9-NEXT: v_perm_b32 v2, s12, v2, v1
; GFX9-NEXT: v_mov_b32_e32 v3, s14
-; GFX9-NEXT: v_readlane_b32 s12, v31, 24
+; GFX9-NEXT: v_readlane_b32 s12, v31, 29
; GFX9-NEXT: v_perm_b32 v3, s12, v3, v1
; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; GFX9-NEXT: v_or_b32_e32 v2, v2, v3
-; GFX9-NEXT: v_readlane_b32 s12, v31, 23
+; GFX9-NEXT: v_readlane_b32 s12, v31, 28
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:88
; GFX9-NEXT: v_mov_b32_e32 v2, s12
-; GFX9-NEXT: v_readlane_b32 s12, v31, 21
+; GFX9-NEXT: v_readlane_b32 s12, v31, 26
; GFX9-NEXT: v_mov_b32_e32 v3, s12
-; GFX9-NEXT: v_readlane_b32 s12, v31, 22
+; GFX9-NEXT: v_readlane_b32 s12, v31, 27
; GFX9-NEXT: v_perm_b32 v3, s12, v3, v1
; GFX9-NEXT: v_perm_b32 v2, s13, v2, v1
; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; GFX9-NEXT: v_or_b32_e32 v2, v2, v3
-; GFX9-NEXT: v_readlane_b32 s12, v31, 20
+; GFX9-NEXT: v_readlane_b32 s12, v31, 25
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:92
; GFX9-NEXT: v_mov_b32_e32 v2, s12
-; GFX9-NEXT: v_readlane_b32 s12, v30, 10
+; GFX9-NEXT: v_readlane_b32 s12, v30, 12
; GFX9-NEXT: v_perm_b32 v2, s10, v2, v1
; GFX9-NEXT: v_mov_b32_e32 v3, s12
-; GFX9-NEXT: v_readlane_b32 s10, v31, 19
+; GFX9-NEXT: v_readlane_b32 s10, v31, 24
; GFX9-NEXT: v_perm_b32 v3, s10, v3, v1
; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; GFX9-NEXT: v_or_b32_e32 v2, v2, v3
-; GFX9-NEXT: v_readlane_b32 s10, v31, 18
+; GFX9-NEXT: v_readlane_b32 s10, v31, 23
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:96
; GFX9-NEXT: v_mov_b32_e32 v2, s10
-; GFX9-NEXT: v_readlane_b32 s10, v31, 16
+; GFX9-NEXT: v_readlane_b32 s10, v31, 21
; GFX9-NEXT: v_mov_b32_e32 v3, s10
-; GFX9-NEXT: v_readlane_b32 s10, v31, 17
+; GFX9-NEXT: v_readlane_b32 s10, v31, 22
; GFX9-NEXT: v_perm_b32 v3, s10, v3, v1
; GFX9-NEXT: v_perm_b32 v2, s11, v2, v1
; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; GFX9-NEXT: v_or_b32_e32 v2, v2, v3
-; GFX9-NEXT: v_readlane_b32 s10, v31, 15
+; GFX9-NEXT: v_readlane_b32 s10, v31, 20
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:100
; GFX9-NEXT: v_mov_b32_e32 v2, s10
-; GFX9-NEXT: v_readlane_b32 s10, v30, 12
+; GFX9-NEXT: v_readlane_b32 s10, v30, 14
; GFX9-NEXT: v_perm_b32 v2, s8, v2, v1
; GFX9-NEXT: v_mov_b32_e32 v3, s10
-; GFX9-NEXT: v_readlane_b32 s8, v31, 14
+; GFX9-NEXT: v_readlane_b32 s8, v31, 19
; GFX9-NEXT: v_perm_b32 v3, s8, v3, v1
; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; GFX9-NEXT: v_or_b32_e32 v2, v2, v3
-; GFX9-NEXT: v_readlane_b32 s8, v31, 13
+; GFX9-NEXT: v_readlane_b32 s8, v31, 18
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:104
; GFX9-NEXT: v_mov_b32_e32 v2, s8
-; GFX9-NEXT: v_readlane_b32 s8, v31, 11
+; GFX9-NEXT: v_readlane_b32 s8, v31, 16
; GFX9-NEXT: v_mov_b32_e32 v3, s8
-; GFX9-NEXT: v_readlane_b32 s8, v31, 12
+; GFX9-NEXT: v_readlane_b32 s8, v31, 17
; GFX9-NEXT: v_perm_b32 v3, s8, v3, v1
; GFX9-NEXT: v_perm_b32 v2, s9, v2, v1
; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; GFX9-NEXT: v_or_b32_e32 v2, v2, v3
-; GFX9-NEXT: v_readlane_b32 s8, v31, 10
+; GFX9-NEXT: v_readlane_b32 s8, v31, 15
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:108
; GFX9-NEXT: v_mov_b32_e32 v2, s8
-; GFX9-NEXT: v_readlane_b32 s8, v30, 14
+; GFX9-NEXT: v_readlane_b32 s8, v30, 16
; GFX9-NEXT: v_perm_b32 v2, s6, v2, v1
; GFX9-NEXT: v_mov_b32_e32 v3, s8
-; GFX9-NEXT: v_readlane_b32 s6, v31, 9
+; GFX9-NEXT: v_readlane_b32 s6, v31, 14
; GFX9-NEXT: v_perm_b32 v3, s6, v3, v1
; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; GFX9-NEXT: v_or_b32_e32 v2, v2, v3
-; GFX9-NEXT: v_readlane_b32 s6, v31, 8
+; GFX9-NEXT: v_readlane_b32 s6, v31, 13
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:112
; GFX9-NEXT: v_mov_b32_e32 v2, s6
-; GFX9-NEXT: v_readlane_b32 s6, v31, 6
+; GFX9-NEXT: v_readlane_b32 s6, v31, 11
; GFX9-NEXT: v_mov_b32_e32 v3, s6
-; GFX9-NEXT: v_readlane_b32 s6, v31, 7
+; GFX9-NEXT: v_readlane_b32 s6, v31, 12
; GFX9-NEXT: v_perm_b32 v3, s6, v3, v1
; GFX9-NEXT: v_perm_b32 v2, s7, v2, v1
; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; GFX9-NEXT: v_or_b32_e32 v2, v2, v3
-; GFX9-NEXT: v_readlane_b32 s6, v31, 5
+; GFX9-NEXT: v_readlane_b32 s6, v31, 10
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:116
; GFX9-NEXT: v_mov_b32_e32 v2, s6
-; GFX9-NEXT: v_readlane_b32 s6, v30, 16
+; GFX9-NEXT: v_readlane_b32 s6, v30, 18
; GFX9-NEXT: v_perm_b32 v2, s4, v2, v1
; GFX9-NEXT: v_mov_b32_e32 v3, s6
-; GFX9-NEXT: v_readlane_b32 s4, v31, 4
+; GFX9-NEXT: v_readlane_b32 s4, v31, 9
; GFX9-NEXT: v_perm_b32 v3, s4, v3, v1
; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; GFX9-NEXT: v_or_b32_e32 v2, v2, v3
-; GFX9-NEXT: v_readlane_b32 s4, v31, 3
+; GFX9-NEXT: v_readlane_b32 s4, v31, 8
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:120
; GFX9-NEXT: v_mov_b32_e32 v2, s4
-; GFX9-NEXT: v_mov_b32_e32 v3, s72
+; GFX9-NEXT: v_mov_b32_e32 v3, s75
; GFX9-NEXT: v_perm_b32 v2, s5, v2, v1
-; GFX9-NEXT: v_perm_b32 v1, s99, v3, v1
+; GFX9-NEXT: v_perm_b32 v1, s73, v3, v1
; GFX9-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; GFX9-NEXT: v_or_b32_e32 v1, v2, v1
; GFX9-NEXT: v_readlane_b32 s30, v29, 34
-; GFX9-NEXT: v_readlane_b32 s17, v30, 7
-; GFX9-NEXT: v_readlane_b32 s15, v30, 9
-; GFX9-NEXT: v_readlane_b32 s13, v30, 11
-; GFX9-NEXT: v_readlane_b32 s11, v30, 13
-; GFX9-NEXT: v_readlane_b32 s9, v30, 15
-; GFX9-NEXT: v_readlane_b32 s7, v30, 17
+; GFX9-NEXT: v_readlane_b32 s17, v30, 9
+; GFX9-NEXT: v_readlane_b32 s15, v30, 11
+; GFX9-NEXT: v_readlane_b32 s13, v30, 13
+; GFX9-NEXT: v_readlane_b32 s11, v30, 15
+; GFX9-NEXT: v_readlane_b32 s9, v30, 17
+; GFX9-NEXT: v_readlane_b32 s7, v30, 19
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:124
; GFX9-NEXT: v_readlane_b32 s31, v29, 35
; GFX9-NEXT: v_readlane_b32 s99, v29, 33
@@ -11177,70 +11183,70 @@ define inreg <128 x i8> @bitcast_v32i32_to_v128i8_scalar(<32 x i32> inreg %a, i3
; GFX11-NEXT: s_lshr_b32 s42, s5, 16
; GFX11-NEXT: s_lshr_b32 s46, s25, 8
; GFX11-NEXT: s_lshr_b32 s102, s28, 16
-; GFX11-NEXT: s_lshr_b32 s30, s27, 24
+; GFX11-NEXT: s_lshr_b32 s43, s27, 24
; GFX11-NEXT: v_writelane_b32 v26, s42, 3
; GFX11-NEXT: s_lshr_b32 s42, s5, 8
-; GFX11-NEXT: s_lshr_b32 s43, s27, 16
; GFX11-NEXT: s_lshr_b32 s104, s27, 8
-; GFX11-NEXT: s_lshr_b32 s34, s26, 16
+; GFX11-NEXT: s_lshr_b32 s39, s26, 16
+; GFX11-NEXT: s_lshr_b32 s103, s26, 8
; GFX11-NEXT: v_writelane_b32 v26, s42, 4
; GFX11-NEXT: s_lshr_b32 s42, s4, 16
-; GFX11-NEXT: s_lshr_b32 s103, s26, 8
-; GFX11-NEXT: s_lshr_b32 s53, s25, 24
-; GFX11-NEXT: s_lshr_b32 s51, s25, 16
+; GFX11-NEXT: s_lshr_b32 s50, s25, 24
+; GFX11-NEXT: s_lshr_b32 s49, s25, 16
+; GFX11-NEXT: s_lshr_b32 s51, s24, 16
; GFX11-NEXT: v_writelane_b32 v26, s42, 5
; GFX11-NEXT: s_lshr_b32 s42, s4, 8
-; GFX11-NEXT: s_lshr_b32 s54, s24, 16
-; GFX11-NEXT: s_lshr_b32 s39, s24, 8
-; GFX11-NEXT: s_lshr_b32 s80, s23, 24
+; GFX11-NEXT: s_lshr_b32 s38, s24, 8
+; GFX11-NEXT: s_lshr_b32 s71, s23, 24
+; GFX11-NEXT: s_lshr_b32 s68, s23, 16
; GFX11-NEXT: v_writelane_b32 v26, s42, 6
; GFX11-NEXT: s_lshr_b32 s42, s7, 24
-; GFX11-NEXT: s_lshr_b32 s69, s23, 16
-; GFX11-NEXT: s_lshr_b32 s49, s23, 8
-; GFX11-NEXT: s_lshr_b32 s98, s22, 16
+; GFX11-NEXT: s_lshr_b32 s48, s23, 8
+; GFX11-NEXT: s_lshr_b32 s97, s22, 16
+; GFX11-NEXT: s_lshr_b32 s65, s22, 8
; GFX11-NEXT: v_writelane_b32 v26, s42, 7
; GFX11-NEXT: s_lshr_b32 s42, s7, 16
-; GFX11-NEXT: s_lshr_b32 s65, s22, 8
; GFX11-NEXT: s_lshr_b32 s86, s21, 24
; GFX11-NEXT: s_lshr_b32 s85, s21, 16
+; GFX11-NEXT: s_lshr_b32 s96, s21, 8
; GFX11-NEXT: v_writelane_b32 v26, s42, 8
; GFX11-NEXT: s_lshr_b32 s42, s7, 8
-; GFX11-NEXT: s_lshr_b32 s96, s21, 8
-; GFX11-NEXT: s_lshr_b32 s97, s20, 16
+; GFX11-NEXT: s_lshr_b32 s98, s20, 16
; GFX11-NEXT: s_lshr_b32 s87, s20, 8
+; GFX11-NEXT: s_lshr_b32 s84, s19, 24
; GFX11-NEXT: v_writelane_b32 v26, s42, 9
; GFX11-NEXT: s_lshr_b32 s42, s6, 16
-; GFX11-NEXT: s_lshr_b32 s84, s19, 24
-; GFX11-NEXT: s_lshr_b32 s83, s19, 16
-; GFX11-NEXT: s_lshr_b32 s31, s19, 8
+; GFX11-NEXT: s_lshr_b32 s82, s19, 16
+; GFX11-NEXT: s_lshr_b32 s30, s19, 8
+; GFX11-NEXT: s_lshr_b32 s31, s18, 16
; GFX11-NEXT: v_writelane_b32 v26, s42, 10
; GFX11-NEXT: s_lshr_b32 s42, s6, 8
-; GFX11-NEXT: s_lshr_b32 s35, s18, 16
-; GFX11-NEXT: s_lshr_b32 s36, s18, 8
-; GFX11-NEXT: s_lshr_b32 s81, s17, 24
+; GFX11-NEXT: s_lshr_b32 s34, s18, 8
+; GFX11-NEXT: s_lshr_b32 s80, s17, 24
+; GFX11-NEXT: s_lshr_b32 s69, s17, 16
; GFX11-NEXT: v_writelane_b32 v26, s42, 11
; GFX11-NEXT: s_lshr_b32 s42, s9, 24
-; GFX11-NEXT: s_lshr_b32 s70, s17, 16
-; GFX11-NEXT: s_lshr_b32 s37, s17, 8
-; GFX11-NEXT: s_lshr_b32 s38, s16, 16
+; GFX11-NEXT: s_lshr_b32 s35, s17, 8
+; GFX11-NEXT: s_lshr_b32 s36, s16, 16
+; GFX11-NEXT: s_lshr_b32 s37, s16, 8
; GFX11-NEXT: v_writelane_b32 v26, s42, 12
; GFX11-NEXT: s_lshr_b32 s42, s9, 16
; GFX11-NEXT: s_lshr_b32 s67, s3, 24
; GFX11-NEXT: s_lshr_b32 s66, s3, 16
-; GFX11-NEXT: s_lshr_b32 s48, s3, 8
+; GFX11-NEXT: s_lshr_b32 s52, s3, 8
; GFX11-NEXT: v_writelane_b32 v26, s42, 13
; GFX11-NEXT: s_lshr_b32 s42, s9, 8
-; GFX11-NEXT: s_lshr_b32 s50, s2, 16
-; GFX11-NEXT: s_lshr_b32 s52, s2, 8
+; GFX11-NEXT: s_lshr_b32 s53, s2, 16
+; GFX11-NEXT: s_lshr_b32 s54, s2, 8
; GFX11-NEXT: s_lshr_b32 s64, s1, 24
; GFX11-NEXT: v_writelane_b32 v26, s42, 14
; GFX11-NEXT: s_lshr_b32 s42, s8, 16
; GFX11-NEXT: s_lshr_b32 s55, s1, 16
-; GFX11-NEXT: s_lshr_b32 s68, s1, 8
-; GFX11-NEXT: s_lshr_b32 s71, s0, 16
+; GFX11-NEXT: s_lshr_b32 s70, s1, 8
+; GFX11-NEXT: s_lshr_b32 s81, s0, 16
; GFX11-NEXT: v_writelane_b32 v26, s42, 15
; GFX11-NEXT: s_lshr_b32 s42, s8, 8
-; GFX11-NEXT: s_lshr_b32 s82, s0, 8
+; GFX11-NEXT: s_lshr_b32 s83, s0, 8
; GFX11-NEXT: s_lshr_b64 s[100:101], s[8:9], 24
; GFX11-NEXT: s_lshr_b64 s[56:57], s[10:11], 24
; GFX11-NEXT: v_writelane_b32 v26, s42, 16
@@ -11317,7 +11323,7 @@ define inreg <128 x i8> @bitcast_v32i32_to_v128i8_scalar(<32 x i32> inreg %a, i3
; GFX11-NEXT: v_writelane_b32 v25, s42, 7
; GFX11-NEXT: s_lshr_b32 s42, s28, 8
; GFX11-NEXT: v_writelane_b32 v25, s42, 8
-; GFX11-NEXT: s_lshr_b32 s42, s16, 8
+; GFX11-NEXT: s_lshr_b32 s42, s27, 16
; GFX11-NEXT: s_branch .LBB13_3
; GFX11-NEXT: .LBB13_2:
; GFX11-NEXT: ; implicit-def: $sgpr44
@@ -11329,53 +11335,53 @@ define inreg <128 x i8> @bitcast_v32i32_to_v128i8_scalar(<32 x i32> inreg %a, i3
; GFX11-NEXT: v_writelane_b32 v26, s46, 0
; GFX11-NEXT: ; implicit-def: $sgpr44
; GFX11-NEXT: ; kill: killed $sgpr44
-; GFX11-NEXT: ; implicit-def: $sgpr82
-; GFX11-NEXT: ; implicit-def: $sgpr71
+; GFX11-NEXT: ; implicit-def: $sgpr83
+; GFX11-NEXT: ; implicit-def: $sgpr81
; GFX11-NEXT: ; implicit-def: $vcc_lo
-; GFX11-NEXT: ; implicit-def: $sgpr68
+; GFX11-NEXT: ; implicit-def: $sgpr70
; GFX11-NEXT: ; implicit-def: $sgpr55
; GFX11-NEXT: ; implicit-def: $sgpr64
-; GFX11-NEXT: ; implicit-def: $sgpr52
-; GFX11-NEXT: ; implicit-def: $sgpr50
+; GFX11-NEXT: ; implicit-def: $sgpr54
+; GFX11-NEXT: ; implicit-def: $sgpr53
; GFX11-NEXT: ; implicit-def: $sgpr94
-; GFX11-NEXT: ; implicit-def: $sgpr48
+; GFX11-NEXT: ; implicit-def: $sgpr52
; GFX11-NEXT: ; implicit-def: $sgpr66
; GFX11-NEXT: ; implicit-def: $sgpr67
-; GFX11-NEXT: ; implicit-def: $sgpr42
-; GFX11-NEXT: ; implicit-def: $sgpr38
-; GFX11-NEXT: ; implicit-def: $sgpr92
; GFX11-NEXT: ; implicit-def: $sgpr37
-; GFX11-NEXT: ; implicit-def: $sgpr70
-; GFX11-NEXT: ; implicit-def: $sgpr81
; GFX11-NEXT: ; implicit-def: $sgpr36
+; GFX11-NEXT: ; implicit-def: $sgpr92
; GFX11-NEXT: ; implicit-def: $sgpr35
-; GFX11-NEXT: ; implicit-def: $sgpr90
+; GFX11-NEXT: ; implicit-def: $sgpr69
+; GFX11-NEXT: ; implicit-def: $sgpr80
+; GFX11-NEXT: ; implicit-def: $sgpr34
; GFX11-NEXT: ; implicit-def: $sgpr31
-; GFX11-NEXT: ; implicit-def: $sgpr83
+; GFX11-NEXT: ; implicit-def: $sgpr90
+; GFX11-NEXT: ; implicit-def: $sgpr30
+; GFX11-NEXT: ; implicit-def: $sgpr82
; GFX11-NEXT: ; implicit-def: $sgpr84
; GFX11-NEXT: ; implicit-def: $sgpr87
-; GFX11-NEXT: ; implicit-def: $sgpr97
+; GFX11-NEXT: ; implicit-def: $sgpr98
; GFX11-NEXT: ; implicit-def: $sgpr88
; GFX11-NEXT: ; implicit-def: $sgpr96
; GFX11-NEXT: ; implicit-def: $sgpr85
; GFX11-NEXT: ; implicit-def: $sgpr86
; GFX11-NEXT: ; implicit-def: $sgpr65
-; GFX11-NEXT: ; implicit-def: $sgpr98
+; GFX11-NEXT: ; implicit-def: $sgpr97
; GFX11-NEXT: ; implicit-def: $sgpr78
-; GFX11-NEXT: ; implicit-def: $sgpr49
-; GFX11-NEXT: ; implicit-def: $sgpr69
-; GFX11-NEXT: ; implicit-def: $sgpr80
-; GFX11-NEXT: ; implicit-def: $sgpr39
-; GFX11-NEXT: ; implicit-def: $sgpr54
+; GFX11-NEXT: ; implicit-def: $sgpr48
+; GFX11-NEXT: ; implicit-def: $sgpr68
+; GFX11-NEXT: ; implicit-def: $sgpr71
+; GFX11-NEXT: ; implicit-def: $sgpr38
+; GFX11-NEXT: ; implicit-def: $sgpr51
; GFX11-NEXT: ; implicit-def: $sgpr72
; GFX11-NEXT: ; implicit-def: $sgpr45
-; GFX11-NEXT: ; implicit-def: $sgpr51
-; GFX11-NEXT: ; implicit-def: $sgpr53
+; GFX11-NEXT: ; implicit-def: $sgpr49
+; GFX11-NEXT: ; implicit-def: $sgpr50
; GFX11-NEXT: ; implicit-def: $sgpr103
-; GFX11-NEXT: ; implicit-def: $sgpr34
+; GFX11-NEXT: ; implicit-def: $sgpr39
; GFX11-NEXT: ; implicit-def: $sgpr104
+; GFX11-NEXT: ; implicit-def: $sgpr42
; GFX11-NEXT: ; implicit-def: $sgpr43
-; GFX11-NEXT: ; implicit-def: $sgpr30
; GFX11-NEXT: ; implicit-def: $sgpr102
; GFX11-NEXT: ; implicit-def: $sgpr76
; GFX11-NEXT: ; implicit-def: $sgpr74
@@ -11523,70 +11529,70 @@ define inreg <128 x i8> @bitcast_v32i32_to_v128i8_scalar(<32 x i32> inreg %a, i3
; GFX11-NEXT: s_lshr_b32 s42, s9, 16
; GFX11-NEXT: s_lshr_b32 s46, s25, 8
; GFX11-NEXT: s_lshr_b32 s102, s28, 16
-; GFX11-NEXT: s_lshr_b32 s30, s27, 24
+; GFX11-NEXT: s_lshr_b32 s43, s27, 24
; GFX11-NEXT: v_writelane_b32 v26, s42, 13
; GFX11-NEXT: s_lshr_b32 s42, s9, 8
-; GFX11-NEXT: s_lshr_b32 s43, s27, 16
; GFX11-NEXT: s_lshr_b32 s104, s27, 8
-; GFX11-NEXT: s_lshr_b32 s34, s26, 16
+; GFX11-NEXT: s_lshr_b32 s39, s26, 16
+; GFX11-NEXT: s_lshr_b32 s103, s26, 8
; GFX11-NEXT: v_writelane_b32 v26, s42, 14
; GFX11-NEXT: s_lshr_b32 s42, s8, 16
-; GFX11-NEXT: s_lshr_b32 s103, s26, 8
-; GFX11-NEXT: s_lshr_b32 s53, s25, 24
-; GFX11-NEXT: s_lshr_b32 s51, s25, 16
+; GFX11-NEXT: s_lshr_b32 s50, s25, 24
+; GFX11-NEXT: s_lshr_b32 s49, s25, 16
+; GFX11-NEXT: s_lshr_b32 s51, s24, 16
; GFX11-NEXT: v_writelane_b32 v26, s42, 15
; GFX11-NEXT: s_lshr_b32 s42, s8, 8
-; GFX11-NEXT: s_lshr_b32 s54, s24, 16
-; GFX11-NEXT: s_lshr_b32 s39, s24, 8
-; GFX11-NEXT: s_lshr_b32 s80, s23, 24
+; GFX11-NEXT: s_lshr_b32 s38, s24, 8
+; GFX11-NEXT: s_lshr_b32 s71, s23, 24
+; GFX11-NEXT: s_lshr_b32 s68, s23, 16
; GFX11-NEXT: v_writelane_b32 v26, s42, 16
; GFX11-NEXT: s_lshr_b32 s42, s11, 24
-; GFX11-NEXT: s_lshr_b32 s69, s23, 16
-; GFX11-NEXT: s_lshr_b32 s49, s23, 8
-; GFX11-NEXT: s_lshr_b32 s98, s22, 16
+; GFX11-NEXT: s_lshr_b32 s48, s23, 8
+; GFX11-NEXT: s_lshr_b32 s97, s22, 16
+; GFX11-NEXT: s_lshr_b32 s65, s22, 8
; GFX11-NEXT: v_writelane_b32 v26, s42, 17
; GFX11-NEXT: s_lshr_b32 s42, s11, 16
-; GFX11-NEXT: s_lshr_b32 s65, s22, 8
; GFX11-NEXT: s_lshr_b32 s86, s21, 24
; GFX11-NEXT: s_lshr_b32 s85, s21, 16
+; GFX11-NEXT: s_lshr_b32 s96, s21, 8
; GFX11-NEXT: v_writelane_b32 v26, s42, 18
; GFX11-NEXT: s_lshr_b32 s42, s11, 8
-; GFX11-NEXT: s_lshr_b32 s96, s21, 8
-; GFX11-NEXT: s_lshr_b32 s97, s20, 16
+; GFX11-NEXT: s_lshr_b32 s98, s20, 16
; GFX11-NEXT: s_lshr_b32 s87, s20, 8
+; GFX11-NEXT: s_lshr_b32 s84, s19, 24
; GFX11-NEXT: v_writelane_b32 v26, s42, 19
; GFX11-NEXT: s_lshr_b32 s42, s10, 16
-; GFX11-NEXT: s_lshr_b32 s84, s19, 24
-; GFX11-NEXT: s_lshr_b32 s83, s19, 16
-; GFX11-NEXT: s_lshr_b32 s31, s19, 8
+; GFX11-NEXT: s_lshr_b32 s82, s19, 16
+; GFX11-NEXT: s_lshr_b32 s30, s19, 8
+; GFX11-NEXT: s_lshr_b32 s31, s18, 16
; GFX11-NEXT: v_writelane_b32 v26, s42, 20
; GFX11-NEXT: s_lshr_b32 s42, s10, 8
-; GFX11-NEXT: s_lshr_b32 s35, s18, 16
-; GFX11-NEXT: s_lshr_b32 s36, s18, 8
-; GFX11-NEXT: s_lshr_b32 s81, s17, 24
+; GFX11-NEXT: s_lshr_b32 s34, s18, 8
+; GFX11-NEXT: s_lshr_b32 s80, s17, 24
+; GFX11-NEXT: s_lshr_b32 s69, s17, 16
; GFX11-NEXT: v_writelane_b32 v26, s42, 21
; GFX11-NEXT: s_lshr_b32 s42, s13, 24
-; GFX11-NEXT: s_lshr_b32 s70, s17, 16
-; GFX11-NEXT: s_lshr_b32 s37, s17, 8
-; GFX11-NEXT: s_lshr_b32 s38, s16, 16
+; GFX11-NEXT: s_lshr_b32 s35, s17, 8
+; GFX11-NEXT: s_lshr_b32 s36, s16, 16
+; GFX11-NEXT: s_lshr_b32 s37, s16, 8
; GFX11-NEXT: v_writelane_b32 v26, s42, 22
; GFX11-NEXT: s_lshr_b32 s42, s13, 16
; GFX11-NEXT: s_lshr_b32 s67, s3, 24
; GFX11-NEXT: s_lshr_b32 s66, s3, 16
-; GFX11-NEXT: s_lshr_b32 s48, s3, 8
+; GFX11-NEXT: s_lshr_b32 s52, s3, 8
; GFX11-NEXT: v_writelane_b32 v26, s42, 23
; GFX11-NEXT: s_lshr_b32 s42, s13, 8
-; GFX11-NEXT: s_lshr_b32 s50, s2, 16
-; GFX11-NEXT: s_lshr_b32 s52, s2, 8
+; GFX11-NEXT: s_lshr_b32 s53, s2, 16
+; GFX11-NEXT: s_lshr_b32 s54, s2, 8
; GFX11-NEXT: s_lshr_b32 s64, s1, 24
; GFX11-NEXT: v_writelane_b32 v26, s42, 24
; GFX11-NEXT: s_lshr_b32 s42, s12, 16
; GFX11-NEXT: s_lshr_b32 s55, s1, 16
-; GFX11-NEXT: s_lshr_b32 s68, s1, 8
-; GFX11-NEXT: s_lshr_b32 s71, s0, 16
+; GFX11-NEXT: s_lshr_b32 s70, s1, 8
+; GFX11-NEXT: s_lshr_b32 s81, s0, 16
; GFX11-NEXT: v_writelane_b32 v26, s42, 25
; GFX11-NEXT: s_lshr_b32 s42, s12, 8
-; GFX11-NEXT: s_lshr_b32 s82, s0, 8
+; GFX11-NEXT: s_lshr_b32 s83, s0, 8
; GFX11-NEXT: s_lshr_b64 s[100:101], s[8:9], 24
; GFX11-NEXT: s_lshr_b64 s[56:57], s[10:11], 24
; GFX11-NEXT: v_writelane_b32 v26, s42, 26
@@ -11638,49 +11644,49 @@ define inreg <128 x i8> @bitcast_v32i32_to_v128i8_scalar(<32 x i32> inreg %a, i3
; GFX11-NEXT: v_writelane_b32 v25, s42, 7
; GFX11-NEXT: s_lshr_b32 s42, s28, 8
; GFX11-NEXT: v_writelane_b32 v25, s42, 8
-; GFX11-NEXT: s_lshr_b32 s42, s16, 8
+; GFX11-NEXT: s_lshr_b32 s42, s27, 16
; GFX11-NEXT: .LBB13_5: ; %end
; GFX11-NEXT: v_mov_b32_e32 v1, 0xc0c0004
; GFX11-NEXT: v_readlane_b32 s101, v24, 3
; GFX11-NEXT: v_readlane_b32 s99, v24, 1
; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_1) | instid1(VALU_DEP_2)
-; GFX11-NEXT: v_perm_b32 v2, s71, vcc_lo, v1
-; GFX11-NEXT: v_readlane_b32 s71, v23, 21
+; GFX11-NEXT: v_perm_b32 v2, s81, vcc_lo, v1
+; GFX11-NEXT: v_readlane_b32 s81, v23, 23
; GFX11-NEXT: v_lshlrev_b32_e32 v2, 16, v2
; GFX11-NEXT: v_perm_b32 v18, s55, s64, v1
-; GFX11-NEXT: v_perm_b32 v3, s0, s82, v1
-; GFX11-NEXT: v_perm_b32 v4, s1, s68, v1
-; GFX11-NEXT: v_perm_b32 v5, s50, s94, v1
+; GFX11-NEXT: v_perm_b32 v3, s0, s83, v1
+; GFX11-NEXT: v_perm_b32 v4, s1, s70, v1
+; GFX11-NEXT: v_perm_b32 v5, s53, s94, v1
; GFX11-NEXT: v_perm_b32 v19, s66, s67, v1
; GFX11-NEXT: v_lshlrev_b32_e32 v18, 16, v18
-; GFX11-NEXT: v_perm_b32 v6, s2, s52, v1
-; GFX11-NEXT: v_perm_b32 v7, s3, s48, v1
+; GFX11-NEXT: v_perm_b32 v6, s2, s54, v1
+; GFX11-NEXT: v_perm_b32 v7, s3, s52, v1
; GFX11-NEXT: v_or_b32_e32 v2, v3, v2
-; GFX11-NEXT: v_perm_b32 v8, s38, s92, v1
+; GFX11-NEXT: v_perm_b32 v8, s36, s92, v1
; GFX11-NEXT: v_or_b32_e32 v3, v4, v18
; GFX11-NEXT: v_lshlrev_b32_e32 v4, 16, v5
; GFX11-NEXT: v_lshlrev_b32_e32 v5, 16, v19
-; GFX11-NEXT: v_perm_b32 v11, s35, s90, v1
-; GFX11-NEXT: v_perm_b32 v20, s70, s81, v1
-; GFX11-NEXT: v_perm_b32 v21, s83, s84, v1
+; GFX11-NEXT: v_perm_b32 v11, s31, s90, v1
+; GFX11-NEXT: v_perm_b32 v20, s69, s80, v1
+; GFX11-NEXT: v_perm_b32 v21, s82, s84, v1
; GFX11-NEXT: v_or_b32_e32 v4, v6, v4
; GFX11-NEXT: v_or_b32_e32 v5, v7, v5
-; GFX11-NEXT: v_perm_b32 v9, s16, s42, v1
-; GFX11-NEXT: v_perm_b32 v10, s17, s37, v1
-; GFX11-NEXT: v_perm_b32 v12, s18, s36, v1
-; GFX11-NEXT: v_perm_b32 v13, s19, s31, v1
-; GFX11-NEXT: v_perm_b32 v14, s97, s88, v1
+; GFX11-NEXT: v_perm_b32 v9, s16, s37, v1
+; GFX11-NEXT: v_perm_b32 v10, s17, s35, v1
+; GFX11-NEXT: v_perm_b32 v12, s18, s34, v1
+; GFX11-NEXT: v_perm_b32 v13, s19, s30, v1
+; GFX11-NEXT: v_perm_b32 v14, s98, s88, v1
; GFX11-NEXT: scratch_store_b128 v0, v[2:5], off
; GFX11-NEXT: v_lshlrev_b32_e32 v2, 16, v8
; GFX11-NEXT: v_lshlrev_b32_e32 v3, 16, v20
; GFX11-NEXT: v_lshlrev_b32_e32 v4, 16, v11
; GFX11-NEXT: v_lshlrev_b32_e32 v5, 16, v21
-; GFX11-NEXT: v_perm_b32 v15, s98, s78, v1
+; GFX11-NEXT: v_perm_b32 v15, s97, s78, v1
; GFX11-NEXT: v_perm_b32 v16, s20, s87, v1
; GFX11-NEXT: v_perm_b32 v22, s85, s86, v1
; GFX11-NEXT: v_or_b32_e32 v2, v9, v2
; GFX11-NEXT: v_or_b32_e32 v3, v10, v3
-; GFX11-NEXT: v_perm_b32 v6, s69, s80, v1
+; GFX11-NEXT: v_perm_b32 v6, s68, s71, v1
; GFX11-NEXT: v_or_b32_e32 v4, v12, v4
; GFX11-NEXT: v_or_b32_e32 v5, v13, v5
; GFX11-NEXT: v_lshlrev_b32_e32 v7, 16, v14
@@ -11690,8 +11696,8 @@ define inreg <128 x i8> @bitcast_v32i32_to_v128i8_scalar(<32 x i32> inreg %a, i3
; GFX11-NEXT: v_lshlrev_b32_e32 v10, 16, v15
; GFX11-NEXT: scratch_store_b128 v0, v[2:5], off offset:16
; GFX11-NEXT: v_or_b32_e32 v2, v16, v7
-; GFX11-NEXT: v_perm_b32 v5, s54, s72, v1
-; GFX11-NEXT: v_perm_b32 v7, s23, s49, v1
+; GFX11-NEXT: v_perm_b32 v5, s51, s72, v1
+; GFX11-NEXT: v_perm_b32 v7, s23, s48, v1
; GFX11-NEXT: v_lshlrev_b32_e32 v6, 16, v6
; GFX11-NEXT: v_or_b32_e32 v3, v17, v8
; GFX11-NEXT: v_or_b32_e32 v4, v9, v10
@@ -11699,16 +11705,16 @@ define inreg <128 x i8> @bitcast_v32i32_to_v128i8_scalar(<32 x i32> inreg %a, i3
; GFX11-NEXT: v_readlane_b32 s0, v25, 6
; GFX11-NEXT: v_or_b32_e32 v5, v7, v6
; GFX11-NEXT: v_readlane_b32 s1, v25, 5
-; GFX11-NEXT: v_perm_b32 v8, s51, s53, v1
-; GFX11-NEXT: v_perm_b32 v9, s24, s39, v1
+; GFX11-NEXT: v_perm_b32 v8, s49, s50, v1
+; GFX11-NEXT: v_perm_b32 v9, s24, s38, v1
; GFX11-NEXT: v_perm_b32 v11, s25, s45, v1
; GFX11-NEXT: scratch_store_b128 v0, v[2:5], off offset:32
; GFX11-NEXT: v_perm_b32 v2, s0, s1, v1
; GFX11-NEXT: v_readlane_b32 s0, v25, 8
; GFX11-NEXT: v_lshlrev_b32_e32 v8, 16, v8
; GFX11-NEXT: v_or_b32_e32 v6, v9, v10
-; GFX11-NEXT: v_perm_b32 v10, s43, s30, v1
-; GFX11-NEXT: v_perm_b32 v12, s34, s76, v1
+; GFX11-NEXT: v_perm_b32 v10, s42, s43, v1
+; GFX11-NEXT: v_perm_b32 v12, s39, s76, v1
; GFX11-NEXT: v_perm_b32 v4, s28, s0, v1
; GFX11-NEXT: v_readlane_b32 s0, v25, 7
; GFX11-NEXT: v_or_b32_e32 v7, v11, v8
@@ -11772,8 +11778,8 @@ define inreg <128 x i8> @bitcast_v32i32_to_v128i8_scalar(<32 x i32> inreg %a, i3
; GFX11-NEXT: v_perm_b32 v12, s0, s58, v1
; GFX11-NEXT: v_readlane_b32 s0, v26, 26
; GFX11-NEXT: v_readlane_b32 s82, v23, 24
-; GFX11-NEXT: v_readlane_b32 s81, v23, 23
; GFX11-NEXT: v_readlane_b32 s80, v23, 22
+; GFX11-NEXT: v_readlane_b32 s71, v23, 21
; GFX11-NEXT: v_lshlrev_b32_e32 v9, 16, v12
; GFX11-NEXT: v_perm_b32 v8, s12, s0, v1
; GFX11-NEXT: v_readlane_b32 s0, v26, 23
@@ -16075,8 +16081,8 @@ define <32 x i32> @bitcast_v128i8_to_v32i32(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: scratch_store_b32 off, v127, s32 offset:392
; GFX11-TRUE16-NEXT: s_clause 0x1f
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v32, off, s32 offset:384
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v34, off, s32 offset:380
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v33, off, s32 offset:376
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v33, off, s32 offset:380
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v34, off, s32 offset:376
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v36, off, s32 offset:372
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v35, off, s32 offset:368
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v38, off, s32 offset:364
@@ -16085,118 +16091,118 @@ define <32 x i32> @bitcast_v128i8_to_v32i32(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v48, off, s32 offset:352
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v49, off, s32 offset:348
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v50, off, s32 offset:344
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v52, off, s32 offset:340
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v51, off, s32 offset:336
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v51, off, s32 offset:340
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v52, off, s32 offset:336
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v54, off, s32 offset:332
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v53, off, s32 offset:328
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v55, off, s32 offset:324
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v64, off, s32 offset:320
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v66, off, s32 offset:316
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v65, off, s32 offset:312
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v65, off, s32 offset:316
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v66, off, s32 offset:312
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v67, off, s32 offset:308
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v68, off, s32 offset:304
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v69, off, s32 offset:300
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v70, off, s32 offset:296
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v80, off, s32 offset:292
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v71, off, s32 offset:288
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v71, off, s32 offset:292
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v80, off, s32 offset:288
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v81, off, s32 offset:284
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v82, off, s32 offset:280
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v84, off, s32 offset:276
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v83, off, s32 offset:272
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v83, off, s32 offset:276
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v84, off, s32 offset:272
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v85, off, s32 offset:268
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v86, off, s32 offset:264
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v87, off, s32 offset:260
; GFX11-TRUE16-NEXT: s_clause 0x1f
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v96, off, s32 offset:256
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v98, off, s32 offset:252
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v97, off, s32 offset:248
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v97, off, s32 offset:252
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v98, off, s32 offset:248
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v99, off, s32 offset:244
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v100, off, s32 offset:240
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v102, off, s32 offset:236
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v101, off, s32 offset:232
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v101, off, s32 offset:236
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v102, off, s32 offset:232
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v103, off, s32 offset:228
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v112, off, s32 offset:224
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v113, off, s32 offset:220
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v114, off, s32 offset:216
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v116, off, s32 offset:212
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v115, off, s32 offset:208
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v115, off, s32 offset:212
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v116, off, s32 offset:208
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v117, off, s32 offset:204
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v118, off, s32 offset:200
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v128, off, s32 offset:196
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v119, off, s32 offset:192
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v119, off, s32 offset:196
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v128, off, s32 offset:192
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v129, off, s32 offset:188
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v130, off, s32 offset:184
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v131, off, s32 offset:180
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v132, off, s32 offset:176
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v134, off, s32 offset:172
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v133, off, s32 offset:168
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v133, off, s32 offset:172
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v134, off, s32 offset:168
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v135, off, s32 offset:164
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v144, off, s32 offset:160
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v146, off, s32 offset:156
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v145, off, s32 offset:152
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v145, off, s32 offset:156
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v146, off, s32 offset:152
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v147, off, s32 offset:148
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v148, off, s32 offset:144
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v149, off, s32 offset:140
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v150, off, s32 offset:136
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v160, off, s32 offset:132
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v151, off, s32 offset:132
; GFX11-TRUE16-NEXT: s_clause 0x1f
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v151, off, s32 offset:128
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v160, off, s32 offset:128
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v161, off, s32 offset:124
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v162, off, s32 offset:120
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v164, off, s32 offset:116
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v163, off, s32 offset:112
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v163, off, s32 offset:116
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v164, off, s32 offset:112
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v165, off, s32 offset:108
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v166, off, s32 offset:104
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v167, off, s32 offset:100
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v176, off, s32 offset:96
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v178, off, s32 offset:92
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v177, off, s32 offset:88
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v177, off, s32 offset:92
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v178, off, s32 offset:88
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v179, off, s32 offset:84
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v180, off, s32 offset:80
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v182, off, s32 offset:76
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v181, off, s32 offset:72
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v181, off, s32 offset:76
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v182, off, s32 offset:72
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v183, off, s32 offset:68
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v40, off, s32 offset:64
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v41, off, s32 offset:60
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v42, off, s32 offset:56
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v44, off, s32 offset:52
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v43, off, s32 offset:48
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v43, off, s32 offset:52
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v44, off, s32 offset:48
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v45, off, s32 offset:44
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v46, off, s32 offset:40
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v56, off, s32 offset:36
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v47, off, s32 offset:32
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v47, off, s32 offset:36
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v56, off, s32 offset:32
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v57, off, s32 offset:28
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v58, off, s32 offset:24
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v59, off, s32 offset:20
; GFX11-TRUE16-NEXT: scratch_load_b32 v31, off, s32 offset:388
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v60, off, s32 offset:16
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v62, off, s32 offset:12
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v61, off, s32 offset:8
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v61, off, s32 offset:12
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v62, off, s32 offset:8
; GFX11-TRUE16-NEXT: s_clause 0x1
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v63, off, s32 offset:4
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v72, off, s32
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v74.l, v30.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v73.l, v29.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v73.l, v30.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v74.l, v29.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v75.l, v28.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v76.l, v27.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v77.l, v26.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v78.l, v25.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v88.l, v24.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v79.l, v23.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v79.l, v24.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v88.l, v23.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v89.l, v22.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v90.l, v21.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v92.l, v20.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v91.l, v19.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v91.l, v20.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v92.l, v19.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v93.l, v18.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v94.l, v17.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v95.l, v16.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v104.l, v15.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v106.l, v14.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v105.l, v13.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v105.l, v14.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v106.l, v13.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v107.l, v12.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v108.l, v11.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v110.l, v10.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v109.l, v9.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v109.l, v10.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v110.l, v9.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v111.l, v8.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v120.l, v7.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v121.l, v6.l
@@ -16218,99 +16224,99 @@ define <32 x i32> @bitcast_v128i8_to_v32i32(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_perm_b32 v1, v125, v124, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v2, v123, v122, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v3, v121, v120, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v4, v107, v105, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v5, v106, v104, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v4, v107, v106, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v5, v105, v104, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v0, v1, 16, v0
; GFX11-TRUE16-NEXT: v_perm_b32 v6, v95, v94, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v1, v3, 16, v2
-; GFX11-TRUE16-NEXT: v_perm_b32 v2, v111, v109, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v3, v110, v108, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v7, v93, v91, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v8, v92, v90, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v9, v89, v79, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v10, v88, v78, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v2, v111, v110, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v3, v109, v108, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v7, v93, v92, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v8, v91, v90, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v9, v89, v88, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v10, v79, v78, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v11, v77, v76, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v2, v3, 16, v2
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v3, v5, 16, v4
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v4, v7, 16, v6
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v5, v9, 16, v8
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v6, v11, 16, v10
-; GFX11-TRUE16-NEXT: v_perm_b32 v7, v75, v73, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v7, v75, v74, 0xc0c0004
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0)
-; GFX11-TRUE16-NEXT: v_perm_b32 v8, v74, v72, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v9, v63, v61, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v10, v62, v60, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v8, v73, v72, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v9, v63, v62, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v10, v61, v60, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v11, v59, v58, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v12, v57, v47, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v13, v56, v46, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v14, v45, v43, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v15, v44, v42, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v12, v57, v56, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v13, v47, v46, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v14, v45, v44, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v15, v43, v42, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v16, v41, v40, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v7, v8, 16, v7
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v8, v10, 16, v9
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v9, v12, 16, v11
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v10, v14, 16, v13
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v11, v16, 16, v15
-; GFX11-TRUE16-NEXT: v_perm_b32 v12, v183, v181, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v13, v182, v180, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v14, v179, v177, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v15, v178, v176, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v12, v183, v182, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v13, v181, v180, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v14, v179, v178, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v15, v177, v176, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v16, v167, v166, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v17, v165, v163, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v18, v164, v162, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v19, v161, v151, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v20, v160, v150, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v17, v165, v164, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v18, v163, v162, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v19, v161, v160, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v20, v151, v150, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v21, v149, v148, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v12, v13, 16, v12
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v13, v15, 16, v14
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v14, v17, 16, v16
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v15, v19, 16, v18
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v16, v21, 16, v20
-; GFX11-TRUE16-NEXT: v_perm_b32 v17, v147, v145, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v18, v146, v144, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v19, v135, v133, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v20, v134, v132, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v17, v147, v146, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v18, v145, v144, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v19, v135, v134, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v20, v133, v132, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v21, v131, v130, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v22, v129, v119, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v23, v128, v118, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v24, v117, v115, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v25, v116, v114, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v22, v129, v128, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v23, v119, v118, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v24, v117, v116, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v25, v115, v114, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v26, v113, v112, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v17, v18, 16, v17
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v18, v20, 16, v19
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v19, v22, 16, v21
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v20, v24, 16, v23
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v21, v26, 16, v25
-; GFX11-TRUE16-NEXT: v_perm_b32 v22, v103, v101, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v23, v102, v100, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v24, v99, v97, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v25, v98, v96, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v22, v103, v102, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v23, v101, v100, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v24, v99, v98, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v25, v97, v96, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v26, v87, v86, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v27, v85, v83, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v28, v84, v82, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v29, v81, v71, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v30, v80, v70, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v27, v85, v84, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v28, v83, v82, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v29, v81, v80, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v30, v71, v70, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v31, v69, v68, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v22, v23, 16, v22
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v23, v25, 16, v24
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v24, v27, 16, v26
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v25, v29, 16, v28
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v26, v31, 16, v30
-; GFX11-TRUE16-NEXT: v_perm_b32 v27, v67, v65, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v28, v66, v64, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v27, v67, v66, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v28, v65, v64, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v29, v55, v53, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v30, v54, v51, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v31, v52, v50, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v30, v54, v52, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v31, v51, v50, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v48, v49, v48, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v37, v39, v37, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v35, v38, v35, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v33, v36, v33, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v32, v34, v32, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v34, v36, v34, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v32, v33, v32, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v27, v28, 16, v27
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v28, v30, 16, v29
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v29, v48, 16, v31
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v30, v35, 16, v37
-; GFX11-TRUE16-NEXT: v_lshl_or_b32 v31, v32, 16, v33
+; GFX11-TRUE16-NEXT: v_lshl_or_b32 v31, v32, 16, v34
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr127_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr126_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr125_lo16
@@ -16320,114 +16326,114 @@ define <32 x i32> @bitcast_v128i8_to_v32i32(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr121_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr120_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr111_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr109_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr110_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr109_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr108_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr107_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr105_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr106_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr105_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr104_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr95_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr94_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr93_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr91_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr92_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr91_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr90_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr89_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr79_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr88_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr79_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr78_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr77_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr76_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr75_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr73_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr74_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr73_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr72_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr63_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr61_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr62_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr61_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr60_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr59_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr58_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr57_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr47_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr56_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr47_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr46_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr45_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr43_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr44_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr43_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr42_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr41_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr40_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr183_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr181_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr182_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr181_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr180_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr179_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr177_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr178_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr177_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr176_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr167_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr166_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr165_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr163_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr164_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr163_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr162_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr161_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr151_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr160_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr151_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr150_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr149_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr148_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr147_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr145_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr146_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr145_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr144_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr135_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr133_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr134_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr133_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr132_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr131_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr130_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr129_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr119_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr128_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr119_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr118_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr117_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr115_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr116_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr115_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr114_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr113_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr112_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr103_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr101_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr102_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr101_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr100_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr99_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr97_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr98_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr97_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr96_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr87_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr86_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr85_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr83_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr84_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr83_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr82_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr81_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr71_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr80_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr71_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr70_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr69_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr68_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr67_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr65_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr66_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr65_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr64_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr55_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr53_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr54_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr51_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr52_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr51_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr50_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr49_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr48_lo16
@@ -16436,8 +16442,8 @@ define <32 x i32> @bitcast_v128i8_to_v32i32(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr38_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr35_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr36_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr33_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr34_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr33_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr32_lo16
; GFX11-TRUE16-NEXT: .LBB14_2: ; %Flow
; GFX11-TRUE16-NEXT: s_and_not1_saveexec_b32 s0, s0
@@ -16459,22 +16465,22 @@ define <32 x i32> @bitcast_v128i8_to_v32i32(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_and_b16 v1.h, 0xff, v3.l
; GFX11-TRUE16-NEXT: v_or_b16 v1.l, v2.h, v2.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v111.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v110.l, 3
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v3.l, 8, v109.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v109.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v3.l, 8, v110.l
; GFX11-TRUE16-NEXT: v_or_b16 v1.h, v3.h, v1.h
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v3.h, 8, v108.l
; GFX11-TRUE16-NEXT: v_and_b16 v2.l, 0xff, v2.l
; GFX11-TRUE16-NEXT: v_and_b16 v2.h, 0xff, v2.h
; GFX11-TRUE16-NEXT: v_add_nc_u16 v4.l, v107.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v4.h, v106.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v4.h, v105.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v5.l, v95.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v2.l, v3.l, v2.l
; GFX11-TRUE16-NEXT: v_or_b16 v2.h, v3.h, v2.h
; GFX11-TRUE16-NEXT: v_and_b16 v3.l, 0xff, v4.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v3.h, 8, v105.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v3.h, 8, v106.l
; GFX11-TRUE16-NEXT: v_and_b16 v4.l, 0xff, v4.h
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v4.h, 8, v104.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v5.h, v92.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v5.h, v91.l, 3
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v6.l, 8, v90.l
; GFX11-TRUE16-NEXT: v_or_b16 v3.l, v3.h, v3.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v6.h, v89.l, 3
@@ -16483,26 +16489,26 @@ define <32 x i32> @bitcast_v128i8_to_v32i32(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v4.h, 8, v94.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v5.l, v93.l, 3
; GFX11-TRUE16-NEXT: v_and_b16 v5.h, 0xff, v5.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v7.l, v88.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v7.l, v79.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v7.h, v77.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v4.l, v4.h, v4.l
; GFX11-TRUE16-NEXT: v_and_b16 v4.h, 0xff, v5.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v5.l, 8, v91.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v8.l, v74.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v5.l, 8, v92.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v8.l, v73.l, 3
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0)
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v8.h, 8, v72.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v9.l, v63.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v9.h, v62.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v9.h, v61.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v4.h, v5.l, v4.h
; GFX11-TRUE16-NEXT: v_or_b16 v5.l, v6.l, v5.h
; GFX11-TRUE16-NEXT: v_and_b16 v5.h, 0xff, v6.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v6.l, 8, v79.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v6.l, 8, v88.l
; GFX11-TRUE16-NEXT: v_and_b16 v6.h, 0xff, v7.l
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v7.l, 8, v78.l
; GFX11-TRUE16-NEXT: v_and_b16 v8.l, 0xff, v8.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v10.l, v59.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v5.h, v6.l, v5.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v10.h, v56.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v10.h, v47.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v6.l, v7.l, v6.h
; GFX11-TRUE16-NEXT: v_and_b16 v6.h, 0xff, v7.h
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v7.l, 8, v76.l
@@ -16512,42 +16518,42 @@ define <32 x i32> @bitcast_v128i8_to_v32i32(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_add_nc_u16 v11.h, v45.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v6.h, v7.l, v6.h
; GFX11-TRUE16-NEXT: v_and_b16 v7.l, 0xff, v7.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v7.h, 8, v73.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v12.l, v44.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v7.h, 8, v74.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v12.l, v43.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v12.h, v41.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v13.l, v182.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v13.l, v181.l, 3
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v13.h, 8, v180.l
; GFX11-TRUE16-NEXT: v_or_b16 v7.l, v7.h, v7.l
; GFX11-TRUE16-NEXT: v_or_b16 v7.h, v8.h, v8.l
; GFX11-TRUE16-NEXT: v_and_b16 v8.l, 0xff, v9.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v8.h, 8, v61.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v8.h, 8, v62.l
; GFX11-TRUE16-NEXT: v_and_b16 v9.l, 0xff, v9.h
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v9.h, 8, v60.l
; GFX11-TRUE16-NEXT: v_and_b16 v13.l, 0xff, v13.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v14.l, v179.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v8.l, v8.h, v8.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v14.h, v178.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v14.h, v177.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v8.h, v9.h, v9.l
; GFX11-TRUE16-NEXT: v_and_b16 v9.l, 0xff, v10.l
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v9.h, 8, v58.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v10.l, v57.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v15.l, v167.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v15.h, v164.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v15.h, v163.l, 3
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v16.l, 8, v162.l
; GFX11-TRUE16-NEXT: v_or_b16 v9.l, v9.h, v9.l
; GFX11-TRUE16-NEXT: v_and_b16 v9.h, 0xff, v10.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v10.l, 8, v47.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v10.l, 8, v56.l
; GFX11-TRUE16-NEXT: v_and_b16 v15.h, 0xff, v15.h
; GFX11-TRUE16-NEXT: v_add_nc_u16 v16.h, v161.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v17.l, v160.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v17.l, v151.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v17.h, v149.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v9.h, v10.l, v9.h
; GFX11-TRUE16-NEXT: v_or_b16 v10.l, v11.l, v10.h
; GFX11-TRUE16-NEXT: v_and_b16 v10.h, 0xff, v11.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v11.l, 8, v43.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v11.l, 8, v44.l
; GFX11-TRUE16-NEXT: v_and_b16 v11.h, 0xff, v12.l
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v12.l, 8, v42.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v18.l, v146.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v18.l, v145.l, 3
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v18.h, 8, v144.l
; GFX11-TRUE16-NEXT: v_or_b16 v10.h, v11.l, v10.h
; GFX11-TRUE16-NEXT: v_add_nc_u16 v19.l, v135.l, 3
@@ -16556,25 +16562,25 @@ define <32 x i32> @bitcast_v128i8_to_v32i32(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v12.l, 8, v40.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v12.h, v183.l, 3
; GFX11-TRUE16-NEXT: v_and_b16 v18.l, 0xff, v18.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v19.h, v134.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v19.h, v133.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v20.l, v131.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v11.h, v12.l, v11.h
; GFX11-TRUE16-NEXT: v_and_b16 v12.l, 0xff, v12.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v12.h, 8, v181.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v20.h, v128.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v12.h, 8, v182.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v20.h, v119.l, 3
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v21.l, 8, v118.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v21.h, v117.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v22.l, v116.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v22.l, v115.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v12.l, v12.h, v12.l
; GFX11-TRUE16-NEXT: v_or_b16 v12.h, v13.h, v13.l
; GFX11-TRUE16-NEXT: v_and_b16 v13.l, 0xff, v14.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v13.h, 8, v177.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v13.h, 8, v178.l
; GFX11-TRUE16-NEXT: v_and_b16 v14.l, 0xff, v14.h
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v14.h, 8, v176.l
; GFX11-TRUE16-NEXT: v_and_b16 v20.h, 0xff, v20.h
; GFX11-TRUE16-NEXT: v_add_nc_u16 v22.h, v113.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v13.l, v13.h, v13.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v23.l, v102.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v23.l, v101.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v13.h, v14.h, v14.l
; GFX11-TRUE16-NEXT: v_and_b16 v14.l, 0xff, v15.l
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v14.h, 8, v166.l
@@ -16584,43 +16590,43 @@ define <32 x i32> @bitcast_v128i8_to_v32i32(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_add_nc_u16 v24.l, v99.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v14.l, v14.h, v14.l
; GFX11-TRUE16-NEXT: v_and_b16 v14.h, 0xff, v15.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v15.l, 8, v163.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v24.h, v98.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v15.l, 8, v164.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v24.h, v97.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v25.l, v87.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v25.h, v84.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v25.h, v83.l, 3
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v26.l, 8, v82.l
; GFX11-TRUE16-NEXT: v_or_b16 v14.h, v15.l, v14.h
; GFX11-TRUE16-NEXT: v_or_b16 v15.l, v16.l, v15.h
; GFX11-TRUE16-NEXT: v_and_b16 v15.h, 0xff, v16.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v16.l, 8, v151.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v16.l, 8, v160.l
; GFX11-TRUE16-NEXT: v_and_b16 v16.h, 0xff, v17.l
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v17.l, 8, v150.l
; GFX11-TRUE16-NEXT: v_and_b16 v25.h, 0xff, v25.h
; GFX11-TRUE16-NEXT: v_add_nc_u16 v26.h, v81.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v15.h, v16.l, v15.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v27.l, v80.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v27.l, v71.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v16.l, v17.l, v16.h
; GFX11-TRUE16-NEXT: v_and_b16 v16.h, 0xff, v17.h
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v17.l, 8, v148.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v17.h, v147.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v27.h, v69.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v28.l, v66.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v28.l, v65.l, 3
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v28.h, 8, v64.l
; GFX11-TRUE16-NEXT: v_or_b16 v16.h, v17.l, v16.h
; GFX11-TRUE16-NEXT: v_and_b16 v17.l, 0xff, v17.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v17.h, 8, v145.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v17.h, 8, v146.l
; GFX11-TRUE16-NEXT: v_and_b16 v28.l, 0xff, v28.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v29.l, v55.l, 3
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v29.h, 8, v53.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v30.l, 8, v51.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v30.l, 8, v52.l
; GFX11-TRUE16-NEXT: v_or_b16 v17.l, v17.h, v17.l
; GFX11-TRUE16-NEXT: v_or_b16 v17.h, v18.h, v18.l
; GFX11-TRUE16-NEXT: v_and_b16 v18.l, 0xff, v19.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v18.h, 8, v133.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v18.h, 8, v134.l
; GFX11-TRUE16-NEXT: v_and_b16 v19.l, 0xff, v19.h
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v19.h, 8, v132.l
; GFX11-TRUE16-NEXT: v_or_b16 v28.l, v28.h, v28.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v28.h, v52.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v28.h, v51.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v18.l, v18.h, v18.l
; GFX11-TRUE16-NEXT: v_and_b16 v29.l, 0xff, v29.l
; GFX11-TRUE16-NEXT: v_or_b16 v18.h, v19.h, v19.l
@@ -16632,39 +16638,39 @@ define <32 x i32> @bitcast_v128i8_to_v32i32(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_or_b16 v29.l, v29.h, v29.l
; GFX11-TRUE16-NEXT: v_or_b16 v19.l, v19.h, v19.l
; GFX11-TRUE16-NEXT: v_and_b16 v19.h, 0xff, v20.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v20.l, 8, v119.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v20.l, 8, v128.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v31.l, v38.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v31.h, v36.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v33.h, v34.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v33.l, v33.l, 3
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v32.h, 8, v37.l
; GFX11-TRUE16-NEXT: v_or_b16 v19.h, v20.l, v19.h
; GFX11-TRUE16-NEXT: v_or_b16 v20.l, v21.l, v20.h
; GFX11-TRUE16-NEXT: v_and_b16 v20.h, 0xff, v21.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v21.l, 8, v115.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v21.l, 8, v116.l
; GFX11-TRUE16-NEXT: v_and_b16 v21.h, 0xff, v22.l
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v22.l, 8, v114.l
; GFX11-TRUE16-NEXT: v_and_b16 v31.l, 0xff, v31.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v34.l, 8, v35.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v33.h, 8, v35.l
; GFX11-TRUE16-NEXT: v_or_b16 v20.h, v21.l, v20.h
; GFX11-TRUE16-NEXT: v_and_b16 v31.h, 0xff, v31.h
; GFX11-TRUE16-NEXT: v_or_b16 v21.l, v22.l, v21.h
; GFX11-TRUE16-NEXT: v_and_b16 v21.h, 0xff, v22.h
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v22.l, 8, v112.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v22.h, v103.l, 3
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v33.l, 8, v33.l
-; GFX11-TRUE16-NEXT: v_and_b16 v33.h, 0xff, v33.h
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v34.l, 8, v34.l
+; GFX11-TRUE16-NEXT: v_and_b16 v33.l, 0xff, v33.l
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v32.l, 8, v32.l
; GFX11-TRUE16-NEXT: v_or_b16 v21.h, v22.l, v21.h
; GFX11-TRUE16-NEXT: v_and_b16 v22.l, 0xff, v22.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v22.h, 8, v101.l
-; GFX11-TRUE16-NEXT: v_or_b16 v31.l, v34.l, v31.l
-; GFX11-TRUE16-NEXT: v_or_b16 v31.h, v33.l, v31.h
-; GFX11-TRUE16-NEXT: v_or_b16 v32.l, v32.l, v33.h
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v22.h, 8, v102.l
+; GFX11-TRUE16-NEXT: v_or_b16 v31.l, v33.h, v31.l
+; GFX11-TRUE16-NEXT: v_or_b16 v31.h, v34.l, v31.h
+; GFX11-TRUE16-NEXT: v_or_b16 v32.l, v32.l, v33.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.l, 0x300, v0.l
; GFX11-TRUE16-NEXT: v_or_b16 v22.l, v22.h, v22.l
; GFX11-TRUE16-NEXT: v_or_b16 v22.h, v23.h, v23.l
; GFX11-TRUE16-NEXT: v_and_b16 v23.l, 0xff, v24.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v23.h, 8, v97.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v23.h, 8, v98.l
; GFX11-TRUE16-NEXT: v_and_b16 v24.l, 0xff, v24.h
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v24.h, 8, v96.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.h, 0x300, v0.h
@@ -16680,7 +16686,7 @@ define <32 x i32> @bitcast_v128i8_to_v32i32(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_add_nc_u16 v3.l, 0x300, v3.l
; GFX11-TRUE16-NEXT: v_or_b16 v24.l, v24.h, v24.l
; GFX11-TRUE16-NEXT: v_and_b16 v24.h, 0xff, v25.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v25.l, 8, v83.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v25.l, 8, v84.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v3.h, 0x300, v3.h
; GFX11-TRUE16-NEXT: v_add_nc_u16 v4.l, 0x300, v4.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v4.h, 0x300, v4.h
@@ -16688,7 +16694,7 @@ define <32 x i32> @bitcast_v128i8_to_v32i32(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_or_b16 v24.h, v25.l, v24.h
; GFX11-TRUE16-NEXT: v_or_b16 v25.l, v26.l, v25.h
; GFX11-TRUE16-NEXT: v_and_b16 v25.h, 0xff, v26.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v26.l, 8, v71.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v26.l, 8, v80.l
; GFX11-TRUE16-NEXT: v_and_b16 v26.h, 0xff, v27.l
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v27.l, 8, v70.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v5.h, 0x300, v5.h
@@ -16704,7 +16710,7 @@ define <32 x i32> @bitcast_v128i8_to_v32i32(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_add_nc_u16 v8.l, 0x300, v8.l
; GFX11-TRUE16-NEXT: v_or_b16 v26.h, v27.l, v26.h
; GFX11-TRUE16-NEXT: v_and_b16 v27.l, 0xff, v27.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v27.h, 8, v65.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v27.h, 8, v66.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v8.h, 0x300, v8.h
; GFX11-TRUE16-NEXT: v_add_nc_u16 v9.l, 0x300, v9.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v9.h, 0x300, v9.h
@@ -17778,8 +17784,8 @@ define inreg <32 x i32> @bitcast_v128i8_to_v32i32_scalar(<128 x i8> inreg %a, i3
; SI-NEXT: v_readfirstlane_b32 s42, v17
; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32
; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:8
-; SI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:16
-; SI-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:24
+; SI-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:16
+; SI-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:24
; SI-NEXT: buffer_load_dword v36, off, s[0:3], s32 offset:32
; SI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:40
; SI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:48
@@ -17822,7 +17828,7 @@ define inreg <32 x i32> @bitcast_v128i8_to_v32i32_scalar(<128 x i8> inreg %a, i3
; SI-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:296
; SI-NEXT: buffer_load_dword v39, off, s[0:3], s32 offset:304
; SI-NEXT: buffer_load_dword v37, off, s[0:3], s32 offset:312
-; SI-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:320
+; SI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:320
; SI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:328
; SI-NEXT: v_readfirstlane_b32 s43, v16
; SI-NEXT: v_readfirstlane_b32 s44, v15
@@ -17838,13 +17844,13 @@ define inreg <32 x i32> @bitcast_v128i8_to_v32i32_scalar(<128 x i8> inreg %a, i3
; SI-NEXT: v_readfirstlane_b32 s75, v1
; SI-NEXT: s_waitcnt vmcnt(14)
; SI-NEXT: v_lshlrev_b32_e32 v15, 24, v19
-; SI-NEXT: v_lshlrev_b32_e32 v16, 8, v33
-; SI-NEXT: v_lshlrev_b32_e32 v38, 24, v34
+; SI-NEXT: v_lshlrev_b32_e32 v16, 8, v34
+; SI-NEXT: v_lshlrev_b32_e32 v38, 24, v35
; SI-NEXT: v_lshlrev_b32_e32 v19, 8, v42
; SI-NEXT: v_lshlrev_b32_e32 v14, 24, v43
; SI-NEXT: v_lshlrev_b32_e32 v51, 24, v45
; SI-NEXT: v_lshlrev_b32_e32 v48, 24, v47
-; SI-NEXT: v_lshlrev_b32_e32 v33, 24, v59
+; SI-NEXT: v_lshlrev_b32_e32 v35, 24, v59
; SI-NEXT: v_lshlrev_b32_e32 v42, 24, v61
; SI-NEXT: v_lshlrev_b32_e32 v20, 24, v20
; SI-NEXT: v_lshlrev_b32_e32 v21, 24, v21
@@ -17915,14 +17921,14 @@ define inreg <32 x i32> @bitcast_v128i8_to_v32i32_scalar(<128 x i8> inreg %a, i3
; SI-NEXT: v_lshlrev_b32_e32 v56, 24, v26
; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:404 ; 4-byte Folded Spill
; SI-NEXT: v_lshlrev_b32_e32 v46, 8, v39
-; SI-NEXT: v_lshlrev_b32_e32 v36, 24, v37
-; SI-NEXT: v_lshlrev_b32_e32 v34, 8, v35
+; SI-NEXT: v_lshlrev_b32_e32 v34, 24, v37
+; SI-NEXT: v_lshlrev_b32_e32 v36, 8, v33
; SI-NEXT: s_waitcnt vmcnt(14)
; SI-NEXT: v_lshlrev_b32_e32 v37, 24, v32
; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:284
; SI-NEXT: buffer_load_dword v58, off, s[0:3], s32 offset:276
; SI-NEXT: buffer_load_dword v61, off, s[0:3], s32 offset:268
-; SI-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:260
+; SI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:260
; SI-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:252
; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:244
; SI-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:236
@@ -17965,11 +17971,11 @@ define inreg <32 x i32> @bitcast_v128i8_to_v32i32_scalar(<128 x i8> inreg %a, i3
; SI-NEXT: s_waitcnt vmcnt(14)
; SI-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:496 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v61, off, s[0:3], s32 offset:500 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:504 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:504 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v30, off, s[0:3], s32 offset:508 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:512 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:516 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:520 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:516 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:520 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:524 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:528 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:532 ; 4-byte Folded Spill
@@ -17996,7 +18002,7 @@ define inreg <32 x i32> @bitcast_v128i8_to_v32i32_scalar(<128 x i8> inreg %a, i3
; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:616 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:620 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:624 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:628 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:628 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:632 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:636 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:640 ; 4-byte Folded Spill
@@ -18042,7 +18048,7 @@ define inreg <32 x i32> @bitcast_v128i8_to_v32i32_scalar(<128 x i8> inreg %a, i3
; SI-NEXT: v_mov_b32_e32 v38, v17
; SI-NEXT: v_and_b32_e32 v4, 0xff, v4
; SI-NEXT: v_lshlrev_b32_e32 v4, 16, v4
-; SI-NEXT: v_or_b32_e32 v4, v33, v4
+; SI-NEXT: v_or_b32_e32 v4, v35, v4
; SI-NEXT: v_and_b32_e32 v2, 0xff, v2
; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
; SI-NEXT: v_or_b32_e32 v2, v42, v2
@@ -18275,7 +18281,7 @@ define inreg <32 x i32> @bitcast_v128i8_to_v32i32_scalar(<128 x i8> inreg %a, i3
; SI-NEXT: v_and_b32_e32 v0, 0xff, v30
; SI-NEXT: s_waitcnt vmcnt(0)
; SI-NEXT: v_or_b32_e32 v0, v0, v1
-; SI-NEXT: v_and_b32_e32 v1, 0xff, v35
+; SI-NEXT: v_and_b32_e32 v1, 0xff, v33
; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; SI-NEXT: v_and_b32_e32 v0, 0xffff, v0
; SI-NEXT: v_or_b32_e32 v1, v2, v1
@@ -18309,11 +18315,11 @@ define inreg <32 x i32> @bitcast_v128i8_to_v32i32_scalar(<128 x i8> inreg %a, i3
; SI-NEXT: v_or_b32_e32 v0, v0, v46
; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; SI-NEXT: v_and_b32_e32 v0, 0xffff, v0
-; SI-NEXT: v_or_b32_e32 v1, v36, v1
+; SI-NEXT: v_or_b32_e32 v1, v34, v1
; SI-NEXT: v_or_b32_e32 v30, v0, v1
; SI-NEXT: v_and_b32_e32 v0, 0xff, v8
; SI-NEXT: v_and_b32_e32 v1, 0xff, v40
-; SI-NEXT: v_or_b32_e32 v0, v0, v34
+; SI-NEXT: v_or_b32_e32 v0, v0, v36
; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; SI-NEXT: v_and_b32_e32 v0, 0xffff, v0
; SI-NEXT: v_or_b32_e32 v1, v37, v1
@@ -18973,7 +18979,7 @@ define inreg <32 x i32> @bitcast_v128i8_to_v32i32_scalar(<128 x i8> inreg %a, i3
; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:524 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v0, off, s[0:3], s32
; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v31
-; VI-NEXT: s_and_b64 s[4:5], vcc, exec
+; VI-NEXT: s_cmp_lg_u64 vcc, 0
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:528 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:280
@@ -19907,7 +19913,7 @@ define inreg <32 x i32> @bitcast_v128i8_to_v32i32_scalar(<128 x i8> inreg %a, i3
; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:524 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32
; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v31
-; GFX9-NEXT: s_and_b64 s[4:5], vcc, exec
+; GFX9-NEXT: s_cmp_lg_u64 vcc, 0
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:528 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:280
@@ -19986,6 +19992,7 @@ define inreg <32 x i32> @bitcast_v128i8_to_v32i32_scalar(<128 x i8> inreg %a, i3
; GFX9-NEXT: buffer_load_ushort v25, off, s[0:3], s32 offset:140
; GFX9-NEXT: buffer_load_ushort v24, off, s[0:3], s32 offset:136
; GFX9-NEXT: buffer_load_ushort v23, off, s[0:3], s32 offset:132
+; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:128
; GFX9-NEXT: buffer_load_ushort v62, off, s[0:3], s32 offset:124
; GFX9-NEXT: buffer_load_ushort v18, off, s[0:3], s32 offset:120
@@ -20773,81 +20780,81 @@ define inreg <32 x i32> @bitcast_v128i8_to_v32i32_scalar(<128 x i8> inreg %a, i3
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v32, off, s32 offset:312
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v34, off, s32 offset:308
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v33, off, s32 offset:304
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v37, off, s32 offset:300
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v36, off, s32 offset:300
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v35, off, s32 offset:296
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v39, off, s32 offset:292
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v36, off, s32 offset:288
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v38, off, s32 offset:292
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v37, off, s32 offset:288
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v48, off, s32 offset:284
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v38, off, s32 offset:280
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v39, off, s32 offset:280
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v49, off, s32 offset:276
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v50, off, s32 offset:272
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v52, off, s32 offset:268
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v51, off, s32 offset:264
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v55, off, s32 offset:260
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v54, off, s32 offset:260
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v53, off, s32 offset:256
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v65, off, s32 offset:252
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v54, off, s32 offset:248
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v64, off, s32 offset:252
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v55, off, s32 offset:248
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v66, off, s32 offset:244
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v64, off, s32 offset:240
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v65, off, s32 offset:240
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v67, off, s32 offset:236
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v68, off, s32 offset:232
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v70, off, s32 offset:228
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v69, off, s32 offset:224
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v81, off, s32 offset:220
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v80, off, s32 offset:220
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v71, off, s32 offset:216
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v83, off, s32 offset:212
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v80, off, s32 offset:208
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v82, off, s32 offset:212
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v81, off, s32 offset:208
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v84, off, s32 offset:204
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v82, off, s32 offset:200
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v83, off, s32 offset:200
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v85, off, s32 offset:196
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v86, off, s32 offset:192
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v96, off, s32 offset:188
; GFX11-TRUE16-NEXT: s_clause 0x1f
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v87, off, s32 offset:184
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v99, off, s32 offset:180
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v98, off, s32 offset:180
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v97, off, s32 offset:176
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v101, off, s32 offset:172
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v98, off, s32 offset:168
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v100, off, s32 offset:172
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v99, off, s32 offset:168
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v102, off, s32 offset:164
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v100, off, s32 offset:160
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v101, off, s32 offset:160
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v103, off, s32 offset:156
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v112, off, s32 offset:152
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v114, off, s32 offset:148
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v113, off, s32 offset:144
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v117, off, s32 offset:140
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v116, off, s32 offset:140
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v115, off, s32 offset:136
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v119, off, s32 offset:132
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v116, off, s32 offset:128
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v118, off, s32 offset:132
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v117, off, s32 offset:128
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v128, off, s32 offset:124
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v118, off, s32 offset:120
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v119, off, s32 offset:120
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v129, off, s32 offset:116
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v130, off, s32 offset:112
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v132, off, s32 offset:108
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v131, off, s32 offset:104
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v135, off, s32 offset:100
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v134, off, s32 offset:100
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v133, off, s32 offset:96
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v145, off, s32 offset:92
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v134, off, s32 offset:88
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v144, off, s32 offset:92
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v135, off, s32 offset:88
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v146, off, s32 offset:84
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v144, off, s32 offset:80
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v145, off, s32 offset:80
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v147, off, s32 offset:76
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v148, off, s32 offset:72
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v150, off, s32 offset:68
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v149, off, s32 offset:64
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v161, off, s32 offset:60
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v160, off, s32 offset:60
; GFX11-TRUE16-NEXT: s_clause 0xf
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v151, off, s32 offset:56
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v163, off, s32 offset:52
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v160, off, s32 offset:48
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v162, off, s32 offset:52
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v161, off, s32 offset:48
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v164, off, s32 offset:44
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v162, off, s32 offset:40
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v163, off, s32 offset:40
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v165, off, s32 offset:36
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v166, off, s32 offset:32
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v167, off, s32 offset:28
; GFX11-TRUE16-NEXT: scratch_load_b32 v31, off, s32 offset:316
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v176, off, s32 offset:24
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v177, off, s32 offset:28
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v167, off, s32 offset:24
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v180, off, s32 offset:20
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v177, off, s32 offset:16
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v176, off, s32 offset:16
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v181, off, s32 offset:12
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v178, off, s32 offset:8
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v182, off, s32 offset:4
@@ -20884,21 +20891,21 @@ define inreg <32 x i32> @bitcast_v128i8_to_v32i32_scalar(<128 x i8> inreg %a, i3
; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s73, v1
; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s74, v0
; GFX11-TRUE16-NEXT: s_mov_b32 s75, 0
-; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(7)
+; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(8)
; GFX11-TRUE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v31
-; GFX11-TRUE16-NEXT: s_and_b32 s76, vcc_lo, exec_lo
+; GFX11-TRUE16-NEXT: s_cmp_lg_u32 vcc_lo, 0
; GFX11-TRUE16-NEXT: s_cbranch_scc0 .LBB15_2
; GFX11-TRUE16-NEXT: ; %bb.1: ; %cmp.false
; GFX11-TRUE16-NEXT: v_mov_b32_e32 v10, 0xc0c0004
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(1)
; GFX11-TRUE16-NEXT: v_perm_b32 v15, v182, v178, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v17, v165, v162, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v17, v165, v163, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v19, v150, v148, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v21, v135, v131, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v21, v134, v131, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v1, s18, s19, v10
-; GFX11-TRUE16-NEXT: v_perm_b32 v23, v119, v115, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v25, v102, v98, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v27, v85, v82, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v23, v118, v115, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v25, v102, v99, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v27, v85, v83, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v29, v70, v68, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; GFX11-TRUE16-NEXT: v_perm_b32 v0, s2, s3, v10
@@ -20934,9 +20941,9 @@ define inreg <32 x i32> @bitcast_v128i8_to_v32i32_scalar(<128 x i8> inreg %a, i3
; GFX11-TRUE16-NEXT: v_perm_b32 v8, s60, s59, v10
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v6, 16, v6
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v14, 16, v14
-; GFX11-TRUE16-NEXT: v_perm_b32 v31, v55, v51, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v31, v54, v51, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v7, 16, v7
-; GFX11-TRUE16-NEXT: v_perm_b32 v40, v39, v35, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v40, v38, v35, 0xc0c0004
; GFX11-TRUE16-NEXT: v_or_b32_e32 v6, v8, v6
; GFX11-TRUE16-NEXT: v_perm_b32 v8, s42, s41, v10
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_1) | instid1(VALU_DEP_3)
@@ -20950,35 +20957,35 @@ define inreg <32 x i32> @bitcast_v128i8_to_v32i32_scalar(<128 x i8> inreg %a, i3
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v12, 16, v13
; GFX11-TRUE16-NEXT: v_perm_b32 v13, s8, s7, v10
; GFX11-TRUE16-NEXT: v_or_b32_e32 v10, v11, v12
-; GFX11-TRUE16-NEXT: v_perm_b32 v12, v180, v176, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v12, v180, v167, 0xc0c0004
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3)
; GFX11-TRUE16-NEXT: v_or_b32_e32 v11, v13, v14
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0)
; GFX11-TRUE16-NEXT: v_perm_b32 v13, s4, v179, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v14, 16, v15
-; GFX11-TRUE16-NEXT: v_perm_b32 v15, v181, v177, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v15, v181, v176, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v16, 16, v12
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_1) | instid1(VALU_DEP_3)
; GFX11-TRUE16-NEXT: v_or_b32_e32 v12, v13, v14
-; GFX11-TRUE16-NEXT: v_perm_b32 v14, v163, v151, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v14, v162, v151, 0xc0c0004
; GFX11-TRUE16-NEXT: v_or_b32_e32 v13, v15, v16
-; GFX11-TRUE16-NEXT: v_perm_b32 v15, v167, v166, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v15, v177, v166, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v16, 16, v17
-; GFX11-TRUE16-NEXT: v_perm_b32 v17, v164, v160, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v17, v164, v161, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v18, 16, v14
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_1) | instid1(VALU_DEP_3)
; GFX11-TRUE16-NEXT: v_or_b32_e32 v14, v15, v16
-; GFX11-TRUE16-NEXT: v_perm_b32 v16, v146, v134, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v16, v146, v135, 0xc0c0004
; GFX11-TRUE16-NEXT: v_or_b32_e32 v15, v17, v18
-; GFX11-TRUE16-NEXT: v_perm_b32 v17, v161, v149, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v17, v160, v149, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v18, 16, v19
-; GFX11-TRUE16-NEXT: v_perm_b32 v19, v147, v144, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v19, v147, v145, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v20, 16, v16
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_1) | instid1(VALU_DEP_3)
; GFX11-TRUE16-NEXT: v_or_b32_e32 v16, v17, v18
-; GFX11-TRUE16-NEXT: v_perm_b32 v18, v129, v118, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v18, v129, v119, 0xc0c0004
; GFX11-TRUE16-NEXT: v_or_b32_e32 v17, v19, v20
-; GFX11-TRUE16-NEXT: v_perm_b32 v19, v145, v133, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v19, v144, v133, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v20, 16, v21
; GFX11-TRUE16-NEXT: v_perm_b32 v21, v132, v130, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v22, 16, v18
@@ -20986,39 +20993,39 @@ define inreg <32 x i32> @bitcast_v128i8_to_v32i32_scalar(<128 x i8> inreg %a, i3
; GFX11-TRUE16-NEXT: v_or_b32_e32 v18, v19, v20
; GFX11-TRUE16-NEXT: v_perm_b32 v20, v114, v112, 0xc0c0004
; GFX11-TRUE16-NEXT: v_or_b32_e32 v19, v21, v22
-; GFX11-TRUE16-NEXT: v_perm_b32 v21, v128, v116, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v21, v128, v117, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v22, 16, v23
-; GFX11-TRUE16-NEXT: v_perm_b32 v23, v117, v113, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v23, v116, v113, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v24, 16, v20
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_1) | instid1(VALU_DEP_3)
; GFX11-TRUE16-NEXT: v_or_b32_e32 v20, v21, v22
-; GFX11-TRUE16-NEXT: v_perm_b32 v22, v99, v87, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v22, v98, v87, 0xc0c0004
; GFX11-TRUE16-NEXT: v_or_b32_e32 v21, v23, v24
-; GFX11-TRUE16-NEXT: v_perm_b32 v23, v103, v100, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v23, v103, v101, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v24, 16, v25
-; GFX11-TRUE16-NEXT: v_perm_b32 v25, v101, v97, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v25, v100, v97, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v26, 16, v22
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_1) | instid1(VALU_DEP_3)
; GFX11-TRUE16-NEXT: v_or_b32_e32 v22, v23, v24
-; GFX11-TRUE16-NEXT: v_perm_b32 v24, v83, v71, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v24, v82, v71, 0xc0c0004
; GFX11-TRUE16-NEXT: v_or_b32_e32 v23, v25, v26
; GFX11-TRUE16-NEXT: v_perm_b32 v25, v96, v86, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v26, 16, v27
-; GFX11-TRUE16-NEXT: v_perm_b32 v27, v84, v80, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v27, v84, v81, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v28, 16, v24
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_1) | instid1(VALU_DEP_3)
; GFX11-TRUE16-NEXT: v_or_b32_e32 v24, v25, v26
-; GFX11-TRUE16-NEXT: v_perm_b32 v26, v66, v54, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v26, v66, v55, 0xc0c0004
; GFX11-TRUE16-NEXT: v_or_b32_e32 v25, v27, v28
-; GFX11-TRUE16-NEXT: v_perm_b32 v27, v81, v69, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v27, v80, v69, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v28, 16, v29
-; GFX11-TRUE16-NEXT: v_perm_b32 v29, v67, v64, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v29, v67, v65, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v30, 16, v26
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_1) | instid1(VALU_DEP_3)
; GFX11-TRUE16-NEXT: v_or_b32_e32 v26, v27, v28
-; GFX11-TRUE16-NEXT: v_perm_b32 v28, v49, v38, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v28, v49, v39, 0xc0c0004
; GFX11-TRUE16-NEXT: v_or_b32_e32 v27, v29, v30
-; GFX11-TRUE16-NEXT: v_perm_b32 v29, v65, v53, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v29, v64, v53, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v30, 16, v31
; GFX11-TRUE16-NEXT: v_perm_b32 v31, v52, v50, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v183, 16, v28
@@ -21026,9 +21033,9 @@ define inreg <32 x i32> @bitcast_v128i8_to_v32i32_scalar(<128 x i8> inreg %a, i3
; GFX11-TRUE16-NEXT: v_or_b32_e32 v28, v29, v30
; GFX11-TRUE16-NEXT: v_perm_b32 v30, v34, v32, 0xc0c0004
; GFX11-TRUE16-NEXT: v_or_b32_e32 v29, v31, v183
-; GFX11-TRUE16-NEXT: v_perm_b32 v31, v48, v36, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v31, v48, v37, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v183, 16, v40
-; GFX11-TRUE16-NEXT: v_perm_b32 v40, v37, v33, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v40, v36, v33, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v41, 16, v30
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_2)
; GFX11-TRUE16-NEXT: v_or_b32_e32 v30, v31, v183
@@ -21135,16 +21142,17 @@ define inreg <32 x i32> @bitcast_v128i8_to_v32i32_scalar(<128 x i8> inreg %a, i3
; GFX11-TRUE16-NEXT: v_perm_b32 v8, s44, s43, v10
; GFX11-TRUE16-NEXT: v_perm_b32 v9, s42, s41, v10
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v13, 0x300, v13
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v15, 3, v167
+; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(7)
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v15, 3, v177
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v17, 3, v165
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v8, 0x300, v8
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v9, 0x300, v9
; GFX11-TRUE16-NEXT: v_and_b32_e32 v13, 0xffff, v13
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v18, 3, v164
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v19, 3, v163
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v19, 3, v162
; GFX11-TRUE16-NEXT: v_and_b32_e32 v8, 0xffff, v8
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v9, 16, v9
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v20, 3, v161
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v20, 3, v160
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v21, 3, v150
; GFX11-TRUE16-NEXT: s_add_i32 s4, s4, 3
; GFX11-TRUE16-NEXT: v_perm_b32 v15, v15, v166, 0xc0c0004
@@ -21155,11 +21163,11 @@ define inreg <32 x i32> @bitcast_v128i8_to_v32i32_scalar(<128 x i8> inreg %a, i3
; GFX11-TRUE16-NEXT: v_perm_b32 v10, s6, s5, v10
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0)
; GFX11-TRUE16-NEXT: v_perm_b32 v16, s4, v179, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v17, v17, v162, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v17, v17, v163, 0xc0c0004
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v11, 0x300, v11
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v12, 0x300, v12
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v10, 0x300, v10
-; GFX11-TRUE16-NEXT: v_perm_b32 v18, v18, v160, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v18, v18, v161, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v19, v19, v151, 0xc0c0004
; GFX11-TRUE16-NEXT: v_and_b32_e32 v11, 0xffff, v11
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v12, 16, v12
@@ -21175,8 +21183,8 @@ define inreg <32 x i32> @bitcast_v128i8_to_v32i32_scalar(<128 x i8> inreg %a, i3
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v15, 0x300, v15
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v17, 0x300, v17
; GFX11-TRUE16-NEXT: v_perm_b32 v12, v12, v178, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v13, v13, v177, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v14, v14, v176, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v13, v13, v176, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v14, v14, v167, 0xc0c0004
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v18, 0x300, v18
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v19, 0x300, v19
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v12, 0x300, v12
@@ -21201,21 +21209,21 @@ define inreg <32 x i32> @bitcast_v128i8_to_v32i32_scalar(<128 x i8> inreg %a, i3
; GFX11-TRUE16-NEXT: v_or_b32_e32 v16, v20, v21
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v17, 3, v147
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v18, 3, v146
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v19, 3, v145
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v20, 3, v135
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v19, 3, v144
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v20, 3, v134
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v21, 3, v132
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v22, 3, v129
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v23, 3, v128
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v24, 3, v119
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v25, 3, v117
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v24, 3, v118
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v25, 3, v116
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v26, 3, v114
-; GFX11-TRUE16-NEXT: v_perm_b32 v17, v17, v144, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v18, v18, v134, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v17, v17, v145, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v18, v18, v135, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v19, v19, v133, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v20, v20, v131, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v21, v21, v130, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v22, v22, v118, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v23, v23, v116, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v22, v22, v119, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v23, v23, v117, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v24, v24, v115, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v25, v25, v113, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v26, v26, v112, 0xc0c0004
@@ -21246,21 +21254,21 @@ define inreg <32 x i32> @bitcast_v128i8_to_v32i32_scalar(<128 x i8> inreg %a, i3
; GFX11-TRUE16-NEXT: v_or_b32_e32 v21, v25, v26
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v22, 3, v103
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v23, 3, v102
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v24, 3, v101
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v25, 3, v99
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v24, 3, v100
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v25, 3, v98
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v26, 3, v96
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v27, 3, v85
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v28, 3, v84
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v29, 3, v83
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v30, 3, v81
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v29, 3, v82
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v30, 3, v80
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v31, 3, v70
-; GFX11-TRUE16-NEXT: v_perm_b32 v22, v22, v100, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v23, v23, v98, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v22, v22, v101, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v23, v23, v99, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v24, v24, v97, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v25, v25, v87, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v26, v26, v86, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v27, v27, v82, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v28, v28, v80, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v27, v27, v83, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v28, v28, v81, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v29, v29, v71, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v30, v30, v69, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v31, v31, v68, 0xc0c0004
@@ -21291,31 +21299,31 @@ define inreg <32 x i32> @bitcast_v128i8_to_v32i32_scalar(<128 x i8> inreg %a, i3
; GFX11-TRUE16-NEXT: v_or_b32_e32 v26, v30, v31
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v27, 3, v67
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v28, 3, v66
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v29, 3, v65
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v30, 3, v55
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v29, 3, v64
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v30, 3, v54
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v31, 3, v52
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v49, 3, v49
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v48, 3, v48
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v39, 3, v39
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v37, 3, v37
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v38, 3, v38
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v36, 3, v36
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v34, 3, v34
-; GFX11-TRUE16-NEXT: v_perm_b32 v27, v27, v64, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v28, v28, v54, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v27, v27, v65, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v28, v28, v55, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v29, v29, v53, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v30, v30, v51, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v31, v31, v50, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v38, v49, v38, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v36, v48, v36, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v35, v39, v35, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v33, v37, v33, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v39, v49, v39, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v37, v48, v37, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v35, v38, v35, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v33, v36, v33, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v32, v34, v32, 0xc0c0004
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v27, 0x300, v27
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v28, 0x300, v28
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v29, 0x300, v29
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v30, 0x300, v30
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v31, 0x300, v31
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v34, 0x300, v38
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v36, 0x300, v36
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v34, 0x300, v39
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v36, 0x300, v37
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v35, 0x300, v35
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v33, 0x300, v33
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v32, 0x300, v32
@@ -21422,9 +21430,9 @@ define inreg <32 x i32> @bitcast_v128i8_to_v32i32_scalar(<128 x i8> inreg %a, i3
; GFX11-FAKE16-NEXT: scratch_load_u16 v162, off, s32 offset:40
; GFX11-FAKE16-NEXT: scratch_load_u16 v165, off, s32 offset:36
; GFX11-FAKE16-NEXT: scratch_load_u16 v166, off, s32 offset:32
-; GFX11-FAKE16-NEXT: scratch_load_u16 v167, off, s32 offset:28
; GFX11-FAKE16-NEXT: scratch_load_b32 v31, off, s32 offset:316
-; GFX11-FAKE16-NEXT: scratch_load_u16 v176, off, s32 offset:24
+; GFX11-FAKE16-NEXT: scratch_load_u16 v176, off, s32 offset:28
+; GFX11-FAKE16-NEXT: scratch_load_u16 v167, off, s32 offset:24
; GFX11-FAKE16-NEXT: scratch_load_u16 v180, off, s32 offset:20
; GFX11-FAKE16-NEXT: scratch_load_u16 v177, off, s32 offset:16
; GFX11-FAKE16-NEXT: scratch_load_u16 v181, off, s32 offset:12
@@ -21463,9 +21471,9 @@ define inreg <32 x i32> @bitcast_v128i8_to_v32i32_scalar(<128 x i8> inreg %a, i3
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s73, v1
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s74, v0
; GFX11-FAKE16-NEXT: s_mov_b32 s75, 0
-; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(7)
+; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(8)
; GFX11-FAKE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v31
-; GFX11-FAKE16-NEXT: s_and_b32 s76, vcc_lo, exec_lo
+; GFX11-FAKE16-NEXT: s_cmp_lg_u32 vcc_lo, 0
; GFX11-FAKE16-NEXT: s_cbranch_scc0 .LBB15_2
; GFX11-FAKE16-NEXT: ; %bb.1: ; %cmp.false
; GFX11-FAKE16-NEXT: v_mov_b32_e32 v10, 0xc0c0004
@@ -21529,7 +21537,7 @@ define inreg <32 x i32> @bitcast_v128i8_to_v32i32_scalar(<128 x i8> inreg %a, i3
; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v12, 16, v13
; GFX11-FAKE16-NEXT: v_perm_b32 v13, s8, s7, v10
; GFX11-FAKE16-NEXT: v_or_b32_e32 v10, v11, v12
-; GFX11-FAKE16-NEXT: v_perm_b32 v12, v180, v176, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v12, v180, v167, 0xc0c0004
; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_3)
; GFX11-FAKE16-NEXT: v_or_b32_e32 v11, v13, v14
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0)
@@ -21541,7 +21549,7 @@ define inreg <32 x i32> @bitcast_v128i8_to_v32i32_scalar(<128 x i8> inreg %a, i3
; GFX11-FAKE16-NEXT: v_or_b32_e32 v12, v13, v14
; GFX11-FAKE16-NEXT: v_perm_b32 v14, v163, v151, 0xc0c0004
; GFX11-FAKE16-NEXT: v_or_b32_e32 v13, v15, v16
-; GFX11-FAKE16-NEXT: v_perm_b32 v15, v167, v166, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v15, v176, v166, 0xc0c0004
; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v16, 16, v17
; GFX11-FAKE16-NEXT: v_perm_b32 v17, v164, v160, 0xc0c0004
; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v18, 16, v14
@@ -21714,7 +21722,8 @@ define inreg <32 x i32> @bitcast_v128i8_to_v32i32_scalar(<128 x i8> inreg %a, i3
; GFX11-FAKE16-NEXT: v_perm_b32 v8, s44, s43, v10
; GFX11-FAKE16-NEXT: v_perm_b32 v9, s42, s41, v10
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v13, 0x300, v13
-; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v15, 3, v167
+; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(7)
+; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v15, 3, v176
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v17, 3, v165
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v8, 0x300, v8
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v9, 0x300, v9
@@ -21755,7 +21764,7 @@ define inreg <32 x i32> @bitcast_v128i8_to_v32i32_scalar(<128 x i8> inreg %a, i3
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v17, 0x300, v17
; GFX11-FAKE16-NEXT: v_perm_b32 v12, v12, v178, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v13, v13, v177, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v14, v14, v176, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v14, v14, v167, 0xc0c0004
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v18, 0x300, v18
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v19, 0x300, v19
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v12, 0x300, v12
@@ -22822,21 +22831,21 @@ define inreg <64 x bfloat> @bitcast_v32i32_to_v64bf16_scalar(<32 x i32> inreg %a
; SI-NEXT: v_writelane_b32 v34, s4, 8
; SI-NEXT: s_lshl_b32 s4, s53, 16
; SI-NEXT: v_writelane_b32 v34, s4, 7
-; SI-NEXT: s_and_b32 s4, s55, 0xffff0000
+; SI-NEXT: s_and_b32 s4, s54, 0xffff0000
; SI-NEXT: v_writelane_b32 v34, s4, 10
-; SI-NEXT: s_lshl_b32 s4, s55, 16
+; SI-NEXT: s_lshl_b32 s4, s54, 16
; SI-NEXT: v_writelane_b32 v34, s4, 9
-; SI-NEXT: s_and_b32 s4, s64, 0xffff0000
+; SI-NEXT: s_and_b32 s4, s55, 0xffff0000
; SI-NEXT: v_writelane_b32 v34, s4, 12
-; SI-NEXT: s_lshl_b32 s4, s64, 16
+; SI-NEXT: s_lshl_b32 s4, s55, 16
; SI-NEXT: v_writelane_b32 v34, s4, 11
-; SI-NEXT: s_and_b32 s4, s29, 0xffff0000
+; SI-NEXT: s_and_b32 s4, s64, 0xffff0000
; SI-NEXT: v_writelane_b32 v34, s4, 14
-; SI-NEXT: s_lshl_b32 s4, s29, 16
+; SI-NEXT: s_lshl_b32 s4, s64, 16
; SI-NEXT: v_writelane_b32 v34, s4, 13
-; SI-NEXT: s_and_b32 s4, s28, 0xffff0000
+; SI-NEXT: s_and_b32 s4, s29, 0xffff0000
; SI-NEXT: v_writelane_b32 v34, s4, 16
-; SI-NEXT: s_lshl_b32 s4, s28, 16
+; SI-NEXT: s_lshl_b32 s4, s29, 16
; SI-NEXT: v_writelane_b32 v34, s4, 15
; SI-NEXT: s_and_b32 s4, s27, 0xffff0000
; SI-NEXT: v_writelane_b32 v34, s4, 18
@@ -22865,8 +22874,8 @@ define inreg <64 x bfloat> @bitcast_v32i32_to_v64bf16_scalar(<32 x i32> inreg %a
; SI-NEXT: s_lshl_b32 s57, s48, 16
; SI-NEXT: s_and_b32 s60, s49, 0xffff0000
; SI-NEXT: s_lshl_b32 s59, s49, 16
-; SI-NEXT: s_and_b32 s78, s54, 0xffff0000
-; SI-NEXT: s_lshl_b32 s77, s54, 16
+; SI-NEXT: s_and_b32 s94, s28, 0xffff0000
+; SI-NEXT: s_lshl_b32 s93, s28, 16
; SI-NEXT: v_writelane_b32 v34, s4, 19
; SI-NEXT: s_and_b32 s62, s25, 0xffff0000
; SI-NEXT: s_lshl_b32 s61, s25, 16
@@ -22876,14 +22885,14 @@ define inreg <64 x bfloat> @bitcast_v32i32_to_v64bf16_scalar(<32 x i32> inreg %a
; SI-NEXT: s_lshl_b32 s73, s23, 16
; SI-NEXT: s_and_b32 s76, s22, 0xffff0000
; SI-NEXT: s_lshl_b32 s75, s22, 16
-; SI-NEXT: s_and_b32 s88, s21, 0xffff0000
-; SI-NEXT: s_lshl_b32 s79, s21, 16
-; SI-NEXT: s_and_b32 s90, s20, 0xffff0000
-; SI-NEXT: s_lshl_b32 s89, s20, 16
-; SI-NEXT: s_and_b32 s92, s19, 0xffff0000
-; SI-NEXT: s_lshl_b32 s91, s19, 16
-; SI-NEXT: s_and_b32 s94, s18, 0xffff0000
-; SI-NEXT: s_lshl_b32 s93, s18, 16
+; SI-NEXT: s_and_b32 s78, s21, 0xffff0000
+; SI-NEXT: s_lshl_b32 s77, s21, 16
+; SI-NEXT: s_and_b32 s88, s20, 0xffff0000
+; SI-NEXT: s_lshl_b32 s79, s20, 16
+; SI-NEXT: s_and_b32 s90, s19, 0xffff0000
+; SI-NEXT: s_lshl_b32 s89, s19, 16
+; SI-NEXT: s_and_b32 s92, s18, 0xffff0000
+; SI-NEXT: s_lshl_b32 s91, s18, 16
; SI-NEXT: s_and_b32 vcc_lo, s17, 0xffff0000
; SI-NEXT: s_lshl_b32 s95, s17, 16
; SI-NEXT: s_and_b32 s6, s16, 0xffff0000
@@ -22897,14 +22906,14 @@ define inreg <64 x bfloat> @bitcast_v32i32_to_v64bf16_scalar(<32 x i32> inreg %a
; SI-NEXT: ; implicit-def: $sgpr6
; SI-NEXT: ; implicit-def: $sgpr95
; SI-NEXT: ; implicit-def: $vcc_lo
-; SI-NEXT: ; implicit-def: $sgpr93
-; SI-NEXT: ; implicit-def: $sgpr94
; SI-NEXT: ; implicit-def: $sgpr91
; SI-NEXT: ; implicit-def: $sgpr92
; SI-NEXT: ; implicit-def: $sgpr89
; SI-NEXT: ; implicit-def: $sgpr90
; SI-NEXT: ; implicit-def: $sgpr79
; SI-NEXT: ; implicit-def: $sgpr88
+; SI-NEXT: ; implicit-def: $sgpr77
+; SI-NEXT: ; implicit-def: $sgpr78
; SI-NEXT: ; implicit-def: $sgpr75
; SI-NEXT: ; implicit-def: $sgpr76
; SI-NEXT: ; implicit-def: $sgpr73
@@ -22913,8 +22922,8 @@ define inreg <64 x bfloat> @bitcast_v32i32_to_v64bf16_scalar(<32 x i32> inreg %a
; SI-NEXT: ; implicit-def: $sgpr72
; SI-NEXT: ; implicit-def: $sgpr61
; SI-NEXT: ; implicit-def: $sgpr62
-; SI-NEXT: ; implicit-def: $sgpr77
-; SI-NEXT: ; implicit-def: $sgpr78
+; SI-NEXT: ; implicit-def: $sgpr93
+; SI-NEXT: ; implicit-def: $sgpr94
; SI-NEXT: ; implicit-def: $sgpr59
; SI-NEXT: ; implicit-def: $sgpr60
; SI-NEXT: ; implicit-def: $sgpr57
@@ -22986,14 +22995,14 @@ define inreg <64 x bfloat> @bitcast_v32i32_to_v64bf16_scalar(<32 x i32> inreg %a
; SI-NEXT: s_mov_b32 s68, s74
; SI-NEXT: s_mov_b32 s69, s75
; SI-NEXT: s_mov_b32 s70, s76
-; SI-NEXT: s_mov_b32 s71, s79
-; SI-NEXT: s_mov_b32 s80, s88
-; SI-NEXT: s_mov_b32 s81, s89
-; SI-NEXT: s_mov_b32 s82, s90
-; SI-NEXT: s_mov_b32 s83, s91
-; SI-NEXT: s_mov_b32 s84, s92
-; SI-NEXT: s_mov_b32 s85, s93
-; SI-NEXT: s_mov_b32 s86, s94
+; SI-NEXT: s_mov_b32 s71, s77
+; SI-NEXT: s_mov_b32 s80, s78
+; SI-NEXT: s_mov_b32 s81, s79
+; SI-NEXT: s_mov_b32 s82, s88
+; SI-NEXT: s_mov_b32 s83, s89
+; SI-NEXT: s_mov_b32 s84, s90
+; SI-NEXT: s_mov_b32 s85, s91
+; SI-NEXT: s_mov_b32 s86, s92
; SI-NEXT: s_mov_b32 s87, s95
; SI-NEXT: s_mov_b32 s96, vcc_lo
; SI-NEXT: s_mov_b32 vcc_lo, s61
@@ -23030,17 +23039,17 @@ define inreg <64 x bfloat> @bitcast_v32i32_to_v64bf16_scalar(<32 x i32> inreg %a
; SI-NEXT: v_readlane_b32 s72, v34, 6
; SI-NEXT: v_readlane_b32 s73, v34, 7
; SI-NEXT: v_readlane_b32 s74, v34, 8
-; SI-NEXT: v_readlane_b32 s6, v34, 9
-; SI-NEXT: v_readlane_b32 s75, v34, 10
-; SI-NEXT: v_readlane_b32 s76, v34, 11
-; SI-NEXT: v_readlane_b32 s79, v34, 12
-; SI-NEXT: v_readlane_b32 s88, v34, 13
-; SI-NEXT: v_readlane_b32 s89, v34, 14
-; SI-NEXT: v_readlane_b32 s90, v34, 15
-; SI-NEXT: v_readlane_b32 s91, v34, 16
-; SI-NEXT: v_readlane_b32 s92, v34, 17
-; SI-NEXT: v_readlane_b32 s93, v34, 18
-; SI-NEXT: v_readlane_b32 s94, v34, 19
+; SI-NEXT: v_readlane_b32 s75, v34, 9
+; SI-NEXT: v_readlane_b32 s76, v34, 10
+; SI-NEXT: v_readlane_b32 s77, v34, 11
+; SI-NEXT: v_readlane_b32 s78, v34, 12
+; SI-NEXT: v_readlane_b32 s79, v34, 13
+; SI-NEXT: v_readlane_b32 s88, v34, 14
+; SI-NEXT: v_readlane_b32 s89, v34, 15
+; SI-NEXT: v_readlane_b32 s90, v34, 16
+; SI-NEXT: v_readlane_b32 s6, v34, 17
+; SI-NEXT: v_readlane_b32 s91, v34, 18
+; SI-NEXT: v_readlane_b32 s92, v34, 19
; SI-NEXT: v_readlane_b32 s95, v34, 20
; SI-NEXT: s_cbranch_scc1 .LBB17_5
; SI-NEXT: ; %bb.4: ; %cmp.true
@@ -23107,20 +23116,20 @@ define inreg <64 x bfloat> @bitcast_v32i32_to_v64bf16_scalar(<32 x i32> inreg %a
; SI-NEXT: s_lshl_b32 s63, s52, 16
; SI-NEXT: s_and_b32 s74, s53, 0xffff0000
; SI-NEXT: s_lshl_b32 s73, s53, 16
-; SI-NEXT: s_and_b32 s78, s54, 0xffff0000
-; SI-NEXT: s_lshl_b32 s77, s54, 16
-; SI-NEXT: s_and_b32 s75, s55, 0xffff0000
-; SI-NEXT: s_lshl_b32 s6, s55, 16
-; SI-NEXT: s_and_b32 s79, s64, 0xffff0000
-; SI-NEXT: s_lshl_b32 s76, s64, 16
-; SI-NEXT: s_and_b32 s89, s29, 0xffff0000
-; SI-NEXT: s_lshl_b32 s88, s29, 16
-; SI-NEXT: s_and_b32 s91, s28, 0xffff0000
-; SI-NEXT: s_lshl_b32 s90, s28, 16
-; SI-NEXT: s_and_b32 s93, s27, 0xffff0000
-; SI-NEXT: s_lshl_b32 s92, s27, 16
+; SI-NEXT: s_and_b32 s76, s54, 0xffff0000
+; SI-NEXT: s_lshl_b32 s75, s54, 16
+; SI-NEXT: s_and_b32 s78, s55, 0xffff0000
+; SI-NEXT: s_lshl_b32 s77, s55, 16
+; SI-NEXT: s_and_b32 s88, s64, 0xffff0000
+; SI-NEXT: s_lshl_b32 s79, s64, 16
+; SI-NEXT: s_and_b32 s90, s29, 0xffff0000
+; SI-NEXT: s_lshl_b32 s89, s29, 16
+; SI-NEXT: s_and_b32 s94, s28, 0xffff0000
+; SI-NEXT: s_lshl_b32 s93, s28, 16
+; SI-NEXT: s_and_b32 s91, s27, 0xffff0000
+; SI-NEXT: s_lshl_b32 s6, s27, 16
; SI-NEXT: s_and_b32 s95, s26, 0xffff0000
-; SI-NEXT: s_lshl_b32 s94, s26, 16
+; SI-NEXT: s_lshl_b32 s92, s26, 16
; SI-NEXT: s_and_b32 vcc_hi, s25, 0xffff0000
; SI-NEXT: s_lshl_b32 vcc_lo, s25, 16
; SI-NEXT: s_and_b32 s66, s24, 0xffff0000
@@ -23184,31 +23193,31 @@ define inreg <64 x bfloat> @bitcast_v32i32_to_v64bf16_scalar(<32 x i32> inreg %a
; SI-NEXT: v_lshr_b64 v[9:10], v[9:10], 16
; SI-NEXT: v_mul_f32_e64 v10, 1.0, s95
; SI-NEXT: v_lshrrev_b32_e32 v11, 16, v10
-; SI-NEXT: v_mul_f32_e64 v10, 1.0, s94
+; SI-NEXT: v_mul_f32_e64 v10, 1.0, s92
; SI-NEXT: v_lshr_b64 v[10:11], v[10:11], 16
-; SI-NEXT: v_mul_f32_e64 v11, 1.0, s93
+; SI-NEXT: v_mul_f32_e64 v11, 1.0, s91
; SI-NEXT: v_lshrrev_b32_e32 v12, 16, v11
-; SI-NEXT: v_mul_f32_e64 v11, 1.0, s92
+; SI-NEXT: v_mul_f32_e64 v11, 1.0, s6
; SI-NEXT: v_lshr_b64 v[11:12], v[11:12], 16
-; SI-NEXT: v_mul_f32_e64 v12, 1.0, s91
+; SI-NEXT: v_mul_f32_e64 v12, 1.0, s94
; SI-NEXT: v_lshrrev_b32_e32 v13, 16, v12
-; SI-NEXT: v_mul_f32_e64 v12, 1.0, s90
+; SI-NEXT: v_mul_f32_e64 v12, 1.0, s93
; SI-NEXT: v_lshr_b64 v[12:13], v[12:13], 16
-; SI-NEXT: v_mul_f32_e64 v13, 1.0, s89
+; SI-NEXT: v_mul_f32_e64 v13, 1.0, s90
; SI-NEXT: v_lshrrev_b32_e32 v14, 16, v13
-; SI-NEXT: v_mul_f32_e64 v13, 1.0, s88
+; SI-NEXT: v_mul_f32_e64 v13, 1.0, s89
; SI-NEXT: v_lshr_b64 v[13:14], v[13:14], 16
-; SI-NEXT: v_mul_f32_e64 v14, 1.0, s79
+; SI-NEXT: v_mul_f32_e64 v14, 1.0, s88
; SI-NEXT: v_lshrrev_b32_e32 v15, 16, v14
-; SI-NEXT: v_mul_f32_e64 v14, 1.0, s76
+; SI-NEXT: v_mul_f32_e64 v14, 1.0, s79
; SI-NEXT: v_lshr_b64 v[14:15], v[14:15], 16
-; SI-NEXT: v_mul_f32_e64 v15, 1.0, s75
+; SI-NEXT: v_mul_f32_e64 v15, 1.0, s78
; SI-NEXT: v_lshrrev_b32_e32 v16, 16, v15
-; SI-NEXT: v_mul_f32_e64 v15, 1.0, s6
+; SI-NEXT: v_mul_f32_e64 v15, 1.0, s77
; SI-NEXT: v_lshr_b64 v[15:16], v[15:16], 16
-; SI-NEXT: v_mul_f32_e64 v16, 1.0, s78
+; SI-NEXT: v_mul_f32_e64 v16, 1.0, s76
; SI-NEXT: v_lshrrev_b32_e32 v17, 16, v16
-; SI-NEXT: v_mul_f32_e64 v16, 1.0, s77
+; SI-NEXT: v_mul_f32_e64 v16, 1.0, s75
; SI-NEXT: v_lshr_b64 v[16:17], v[16:17], 16
; SI-NEXT: v_mul_f32_e64 v17, 1.0, s74
; SI-NEXT: v_lshrrev_b32_e32 v18, 16, v17
@@ -26667,7 +26676,7 @@ define inreg <32 x i32> @bitcast_v64bf16_to_v32i32_scalar(<64 x bfloat> inreg %a
; SI: ; %bb.0:
; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
; SI-NEXT: s_or_saveexec_b64 s[4:5], -1
-; SI-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
; SI-NEXT: s_mov_b64 exec, s[4:5]
; SI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:52 ; 4-byte Folded Spill
@@ -26689,76 +26698,61 @@ define inreg <32 x i32> @bitcast_v64bf16_to_v32i32_scalar(<64 x bfloat> inreg %a
; SI-NEXT: v_writelane_b32 v63, s36, 2
; SI-NEXT: v_writelane_b32 v63, s30, 3
; SI-NEXT: v_writelane_b32 v63, s31, 4
-; SI-NEXT: v_readfirstlane_b32 s78, v7
-; SI-NEXT: v_readfirstlane_b32 s74, v9
-; SI-NEXT: s_and_b32 s79, s78, 0xffff0000
; SI-NEXT: v_readfirstlane_b32 s72, v10
-; SI-NEXT: s_and_b32 s75, s74, 0xffff0000
-; SI-NEXT: v_readfirstlane_b32 s34, v0
-; SI-NEXT: v_mul_f32_e64 v0, 1.0, s79
-; SI-NEXT: v_readfirstlane_b32 s62, v11
-; SI-NEXT: s_and_b32 s73, s72, 0xffff0000
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mul_f32_e64 v0, 1.0, s75
-; SI-NEXT: v_readfirstlane_b32 s60, v12
-; SI-NEXT: s_and_b32 s63, s62, 0xffff0000
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mul_f32_e64 v0, 1.0, s73
-; SI-NEXT: v_readfirstlane_b32 s58, v13
-; SI-NEXT: s_and_b32 s61, s60, 0xffff0000
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mul_f32_e64 v0, 1.0, s63
-; SI-NEXT: v_readfirstlane_b32 s56, v14
-; SI-NEXT: s_and_b32 s59, s58, 0xffff0000
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mul_f32_e64 v0, 1.0, s61
; SI-NEXT: v_readfirstlane_b32 s44, v16
-; SI-NEXT: s_and_b32 s57, s56, 0xffff0000
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mul_f32_e64 v0, 1.0, s59
+; SI-NEXT: s_and_b32 s73, s72, 0xffff0000
; SI-NEXT: v_readfirstlane_b32 s42, v17
; SI-NEXT: s_and_b32 s45, s44, 0xffff0000
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mul_f32_e64 v0, 1.0, s57
+; SI-NEXT: v_readfirstlane_b32 s34, v0
+; SI-NEXT: v_mul_f32_e64 v0, 1.0, s73
; SI-NEXT: s_and_b32 s43, s42, 0xffff0000
-; SI-NEXT: v_readfirstlane_b32 s94, v3
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; SI-NEXT: v_readfirstlane_b32 vcc_lo, v2
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mul_f32_e64 v0, 1.0, s45
-; SI-NEXT: s_and_b32 s95, s94, 0xffff0000
-; SI-NEXT: s_lshl_b32 s94, s94, 16
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; SI-NEXT: s_and_b32 s40, s17, 0xffff0000
+; SI-NEXT: s_and_b32 vcc_hi, vcc_lo, 0xffff0000
+; SI-NEXT: s_lshl_b32 vcc_lo, vcc_lo, 16
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mul_f32_e64 v0, 1.0, s43
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; SI-NEXT: v_readfirstlane_b32 s30, v1
+; SI-NEXT: v_mul_f32_e64 v1, 1.0, s40
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_mul_f32_e64 v0, 1.0, vcc_lo
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; SI-NEXT: v_readfirstlane_b32 s94, v3
+; SI-NEXT: s_and_b32 s95, s94, 0xffff0000
+; SI-NEXT: s_lshl_b32 s94, s94, 16
+; SI-NEXT: s_waitcnt expcnt(1)
; SI-NEXT: v_mul_f32_e64 v0, 1.0, s94
-; SI-NEXT: v_readfirstlane_b32 s30, v1
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
; SI-NEXT: v_readfirstlane_b32 s92, v4
; SI-NEXT: s_and_b32 s93, s92, 0xffff0000
; SI-NEXT: s_lshl_b32 s92, s92, 16
-; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_mul_f32_e64 v0, 1.0, s92
; SI-NEXT: v_readfirstlane_b32 s90, v5
; SI-NEXT: s_and_b32 s91, s90, 0xffff0000
; SI-NEXT: s_lshl_b32 s90, s90, 16
; SI-NEXT: v_readfirstlane_b32 s88, v6
; SI-NEXT: s_and_b32 s89, s88, 0xffff0000
; SI-NEXT: s_lshl_b32 s88, s88, 16
+; SI-NEXT: v_readfirstlane_b32 s78, v7
+; SI-NEXT: s_and_b32 s79, s78, 0xffff0000
; SI-NEXT: s_lshl_b32 s78, s78, 16
; SI-NEXT: v_readfirstlane_b32 s76, v8
; SI-NEXT: s_and_b32 s77, s76, 0xffff0000
; SI-NEXT: s_lshl_b32 s76, s76, 16
+; SI-NEXT: v_readfirstlane_b32 s74, v9
+; SI-NEXT: s_and_b32 s75, s74, 0xffff0000
+; SI-NEXT: s_lshl_b32 s74, s74, 16
; SI-NEXT: v_readfirstlane_b32 s46, v15
-; SI-NEXT: v_readfirstlane_b32 vcc_lo, v2
+; SI-NEXT: s_and_b32 s47, s46, 0xffff0000
+; SI-NEXT: s_lshl_b32 s46, s46, 16
+; SI-NEXT: v_readfirstlane_b32 s56, v14
+; SI-NEXT: v_readfirstlane_b32 s58, v13
+; SI-NEXT: v_readfirstlane_b32 s60, v12
+; SI-NEXT: v_readfirstlane_b32 s62, v11
; SI-NEXT: s_and_b32 s4, s29, 0xffff0000
; SI-NEXT: s_lshl_b32 s5, s29, 16
; SI-NEXT: s_and_b32 s6, s28, 0xffff0000
@@ -26783,105 +26777,94 @@ define inreg <32 x i32> @bitcast_v64bf16_to_v32i32_scalar(<64 x bfloat> inreg %a
; SI-NEXT: s_lshl_b32 s19, s19, 16
; SI-NEXT: s_and_b32 s29, s18, 0xffff0000
; SI-NEXT: s_lshl_b32 s18, s18, 16
-; SI-NEXT: s_and_b32 s40, s17, 0xffff0000
; SI-NEXT: s_lshl_b32 s17, s17, 16
; SI-NEXT: s_and_b32 s41, s16, 0xffff0000
; SI-NEXT: s_lshl_b32 s16, s16, 16
; SI-NEXT: s_lshl_b32 s42, s42, 16
; SI-NEXT: s_lshl_b32 s44, s44, 16
-; SI-NEXT: s_and_b32 s47, s46, 0xffff0000
-; SI-NEXT: s_lshl_b32 s46, s46, 16
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_mul_f32_e64 v0, 1.0, s90
+; SI-NEXT: s_and_b32 s57, s56, 0xffff0000
; SI-NEXT: s_lshl_b32 s56, s56, 16
+; SI-NEXT: s_and_b32 s59, s58, 0xffff0000
; SI-NEXT: s_lshl_b32 s58, s58, 16
+; SI-NEXT: s_and_b32 s61, s60, 0xffff0000
; SI-NEXT: s_lshl_b32 s60, s60, 16
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(1)
+; SI-NEXT: v_mul_f32_e64 v0, 1.0, s92
+; SI-NEXT: s_and_b32 s63, s62, 0xffff0000
; SI-NEXT: s_lshl_b32 s62, s62, 16
; SI-NEXT: s_lshl_b32 s72, s72, 16
-; SI-NEXT: s_lshl_b32 s74, s74, 16
-; SI-NEXT: s_and_b32 vcc_hi, vcc_lo, 0xffff0000
-; SI-NEXT: s_lshl_b32 vcc_lo, vcc_lo, 16
; SI-NEXT: s_and_b32 s31, s30, 0xffff0000
; SI-NEXT: s_lshl_b32 s30, s30, 16
; SI-NEXT: s_and_b32 s35, s34, 0xffff0000
; SI-NEXT: s_lshl_b32 s34, s34, 16
; SI-NEXT: v_readfirstlane_b32 s36, v18
; SI-NEXT: s_cmp_lg_u32 s36, 0
-; SI-NEXT: v_mul_f32_e64 v37, 1.0, s41
-; SI-NEXT: v_mul_f32_e64 v39, 1.0, s40
-; SI-NEXT: v_mul_f32_e64 v35, 1.0, s29
-; SI-NEXT: v_mul_f32_e64 v33, 1.0, s28
-; SI-NEXT: v_mul_f32_e64 v5, 1.0, s27
+; SI-NEXT: v_mul_f32_e64 v39, 1.0, s41
+; SI-NEXT: v_mul_f32_e64 v42, 1.0, s29
+; SI-NEXT: v_mul_f32_e64 v54, 1.0, s28
+; SI-NEXT: v_mul_f32_e64 v10, 1.0, s27
; SI-NEXT: v_mul_f32_e64 v6, 1.0, s26
; SI-NEXT: v_mul_f32_e64 v7, 1.0, s25
; SI-NEXT: v_mul_f32_e64 v8, 1.0, s24
; SI-NEXT: v_mul_f32_e64 v9, 1.0, s14
-; SI-NEXT: v_mul_f32_e64 v10, 1.0, s12
+; SI-NEXT: v_mul_f32_e64 v35, 1.0, s12
; SI-NEXT: v_mul_f32_e64 v61, 1.0, s10
; SI-NEXT: v_mul_f32_e64 v12, 1.0, s8
; SI-NEXT: v_mul_f32_e64 v15, 1.0, s6
; SI-NEXT: v_mul_f32_e64 v16, 1.0, s4
; SI-NEXT: v_mul_f32_e64 v17, 1.0, s35
-; SI-NEXT: v_mul_f32_e64 v19, 1.0, s31
-; SI-NEXT: v_mul_f32_e64 v18, 1.0, vcc_hi
-; SI-NEXT: v_mul_f32_e64 v20, 1.0, s95
-; SI-NEXT: v_mul_f32_e64 v54, 1.0, s93
+; SI-NEXT: v_mul_f32_e64 v20, 1.0, s31
+; SI-NEXT: v_mul_f32_e64 v19, 1.0, vcc_hi
+; SI-NEXT: v_mul_f32_e64 v18, 1.0, s95
+; SI-NEXT: v_mul_f32_e64 v25, 1.0, s93
; SI-NEXT: v_mul_f32_e64 v21, 1.0, s91
-; SI-NEXT: v_mul_f32_e64 v22, 1.0, s89
-; SI-NEXT: v_mul_f32_e64 v50, 1.0, s77
-; SI-NEXT: v_mul_f32_e64 v46, 1.0, s47
-; SI-NEXT: v_mul_f32_e64 v36, 1.0, s16
-; SI-NEXT: v_mul_f32_e64 v38, 1.0, s17
-; SI-NEXT: v_mul_f32_e64 v34, 1.0, s18
-; SI-NEXT: v_mul_f32_e64 v32, 1.0, s19
-; SI-NEXT: v_mul_f32_e64 v41, 1.0, s20
-; SI-NEXT: v_mul_f32_e64 v26, 1.0, s21
-; SI-NEXT: v_mul_f32_e64 v25, 1.0, s22
-; SI-NEXT: v_mul_f32_e64 v24, 1.0, s23
-; SI-NEXT: v_mul_f32_e64 v23, 1.0, s15
+; SI-NEXT: v_mul_f32_e64 v24, 1.0, s89
+; SI-NEXT: v_mul_f32_e64 v22, 1.0, s79
+; SI-NEXT: v_mul_f32_e64 v23, 1.0, s77
+; SI-NEXT: v_mul_f32_e64 v26, 1.0, s75
+; SI-NEXT: v_mul_f32_e64 v27, 1.0, s63
+; SI-NEXT: v_mul_f32_e64 v62, 1.0, s61
+; SI-NEXT: v_mul_f32_e64 v40, 1.0, s59
+; SI-NEXT: v_mul_f32_e64 v47, 1.0, s57
+; SI-NEXT: v_mul_f32_e64 v37, 1.0, s47
+; SI-NEXT: v_mul_f32_e64 v38, 1.0, s16
+; SI-NEXT: v_mul_f32_e64 v36, 1.0, s17
+; SI-NEXT: v_mul_f32_e64 v49, 1.0, s18
+; SI-NEXT: v_mul_f32_e64 v46, 1.0, s19
+; SI-NEXT: v_mul_f32_e64 v45, 1.0, s20
+; SI-NEXT: v_mul_f32_e64 v44, 1.0, s21
+; SI-NEXT: v_mul_f32_e64 v52, 1.0, s22
+; SI-NEXT: v_mul_f32_e64 v33, 1.0, s23
+; SI-NEXT: v_mul_f32_e64 v41, 1.0, s15
; SI-NEXT: v_mul_f32_e64 v13, 1.0, s13
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_mul_f32_e64 v0, 1.0, s88
; SI-NEXT: v_mul_f32_e64 v60, 1.0, s11
; SI-NEXT: v_mul_f32_e64 v59, 1.0, s9
; SI-NEXT: v_mul_f32_e64 v58, 1.0, s7
; SI-NEXT: v_mul_f32_e64 v57, 1.0, s5
; SI-NEXT: v_mul_f32_e64 v56, 1.0, s34
; SI-NEXT: v_mul_f32_e64 v55, 1.0, s30
-; SI-NEXT: v_mul_f32_e64 v51, 1.0, vcc_lo
-; SI-NEXT: v_mul_f32_e64 v53, 1.0, s72
-; SI-NEXT: v_mul_f32_e64 v40, 1.0, s62
-; SI-NEXT: v_mul_f32_e64 v43, 1.0, s60
+; SI-NEXT: v_mul_f32_e64 v32, 1.0, s72
+; SI-NEXT: v_mul_f32_e64 v43, 1.0, s62
+; SI-NEXT: v_mul_f32_e64 v51, 1.0, s60
; SI-NEXT: v_mul_f32_e64 v28, 1.0, s58
-; SI-NEXT: v_mul_f32_e64 v45, 1.0, s56
-; SI-NEXT: v_mul_f32_e64 v44, 1.0, s46
-; SI-NEXT: v_mul_f32_e64 v49, 1.0, s44
-; SI-NEXT: v_mul_f32_e64 v47, 1.0, s42
-; SI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
+; SI-NEXT: v_mul_f32_e64 v53, 1.0, s56
+; SI-NEXT: v_mul_f32_e64 v48, 1.0, s44
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(1)
+; SI-NEXT: v_mul_f32_e64 v0, 1.0, s90
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(1)
+; SI-NEXT: v_mul_f32_e64 v0, 1.0, s88
; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
; SI-NEXT: v_mul_f32_e64 v0, 1.0, s78
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
; SI-NEXT: v_mul_f32_e64 v0, 1.0, s76
; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
@@ -26890,72 +26873,129 @@ define inreg <32 x i32> @bitcast_v64bf16_to_v32i32_scalar(<64 x bfloat> inreg %a
; SI-NEXT: v_mul_f32_e64 v0, 1.0, s74
; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(1)
+; SI-NEXT: v_mul_f32_e64 v0, 1.0, s46
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(1)
+; SI-NEXT: v_mul_f32_e64 v0, 1.0, s42
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
; SI-NEXT: s_cbranch_scc0 .LBB19_2
; SI-NEXT: ; %bb.1: ; %cmp.false
-; SI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(2)
-; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
-; SI-NEXT: v_mov_b32_e32 v48, v37
-; SI-NEXT: v_lshrrev_b32_e32 v37, 16, v48
-; SI-NEXT: v_mov_b32_e32 v62, v35
-; SI-NEXT: v_lshrrev_b32_e32 v35, 16, v62
-; SI-NEXT: v_lshrrev_b32_e32 v42, 16, v5
-; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v6
-; SI-NEXT: v_lshrrev_b32_e32 v14, 16, v10
-; SI-NEXT: v_lshrrev_b32_e32 v52, 16, v18
-; SI-NEXT: v_mov_b32_e32 v29, v54
-; SI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
-; SI-NEXT: v_mov_b32_e32 v30, v46
-; SI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
+; SI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
+; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
+; SI-NEXT: v_mov_b32_e32 v3, v37
+; SI-NEXT: v_lshrrev_b32_e32 v37, 16, v1
+; SI-NEXT: v_mov_b32_e32 v30, v3
+; SI-NEXT: v_lshrrev_b32_e32 v50, 16, v42
+; SI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_mov_b32_e32 v42, v53
+; SI-NEXT: v_lshrrev_b32_e32 v53, 16, v7
+; SI-NEXT: v_lshrrev_b32_e32 v34, 16, v8
+; SI-NEXT: v_mov_b32_e32 v29, v40
+; SI-NEXT: v_lshrrev_b32_e32 v40, 16, v9
+; SI-NEXT: v_lshrrev_b32_e32 v14, 16, v35
+; SI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_mov_b32_e32 v35, v61
+; SI-NEXT: v_lshrrev_b32_e32 v61, 16, v35
+; SI-NEXT: v_lshrrev_b32_e32 v18, 16, v18
+; SI-NEXT: v_lshrrev_b32_e32 v22, 16, v22
+; SI-NEXT: v_lshrrev_b32_e32 v23, 16, v23
+; SI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
; SI-NEXT: s_mov_b64 s[4:5], 0
-; SI-NEXT: s_waitcnt vmcnt(2) expcnt(0)
+; SI-NEXT: s_waitcnt vmcnt(4)
; SI-NEXT: v_lshrrev_b32_e32 v39, 16, v0
-; SI-NEXT: v_lshr_b64 v[0:1], v[36:37], 16
-; SI-NEXT: v_lshr_b64 v[1:2], v[38:39], 16
-; SI-NEXT: v_mov_b32_e32 v39, v33
-; SI-NEXT: v_lshr_b64 v[2:3], v[34:35], 16
-; SI-NEXT: v_lshrrev_b32_e32 v33, 16, v39
-; SI-NEXT: v_lshr_b64 v[3:4], v[32:33], 16
-; SI-NEXT: v_mov_b32_e32 v4, v41
-; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[4:5], v[41:42], 16
-; SI-NEXT: v_mov_b32_e32 v5, v26
-; SI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
+; SI-NEXT: v_lshr_b64 v[0:1], v[38:39], 16
+; SI-NEXT: v_lshr_b64 v[1:2], v[36:37], 16
+; SI-NEXT: v_mov_b32_e32 v2, v49
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[5:6], v[26:27], 16
-; SI-NEXT: v_mov_b32_e32 v6, v25
-; SI-NEXT: v_lshrrev_b32_e32 v26, 16, v7
-; SI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
+; SI-NEXT: v_lshr_b64 v[2:3], v[49:50], 16
+; SI-NEXT: v_mov_b32_e32 v3, v46
+; SI-NEXT: v_mov_b32_e32 v39, v41
+; SI-NEXT: v_mov_b32_e32 v41, v47
+; SI-NEXT: v_lshrrev_b32_e32 v47, 16, v54
+; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[6:7], v[25:26], 16
-; SI-NEXT: v_mov_b32_e32 v7, v24
-; SI-NEXT: v_lshrrev_b32_e32 v25, 16, v8
-; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
+; SI-NEXT: v_lshr_b64 v[3:4], v[46:47], 16
+; SI-NEXT: v_mov_b32_e32 v4, v45
+; SI-NEXT: v_lshrrev_b32_e32 v46, 16, v10
+; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[7:8], v[24:25], 16
-; SI-NEXT: v_mov_b32_e32 v8, v23
-; SI-NEXT: v_lshrrev_b32_e32 v24, 16, v9
-; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
+; SI-NEXT: v_lshr_b64 v[4:5], v[45:46], 16
+; SI-NEXT: v_mov_b32_e32 v5, v44
+; SI-NEXT: v_lshrrev_b32_e32 v45, 16, v6
+; SI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_lshr_b64 v[5:6], v[44:45], 16
+; SI-NEXT: v_mov_b32_e32 v6, v52
+; SI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_lshr_b64 v[6:7], v[52:53], 16
+; SI-NEXT: v_mov_b32_e32 v7, v33
+; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[8:9], v[23:24], 16
+; SI-NEXT: v_lshr_b64 v[7:8], v[33:34], 16
+; SI-NEXT: v_lshr_b64 v[8:9], v[39:40], 16
; SI-NEXT: v_mov_b32_e32 v9, v13
-; SI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
-; SI-NEXT: v_mov_b32_e32 v33, v61
+; SI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_lshr_b64 v[9:10], v[13:14], 16
-; SI-NEXT: v_lshrrev_b32_e32 v61, 16, v33
-; SI-NEXT: v_lshr_b64 v[10:11], v[60:61], 16
+; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
; SI-NEXT: v_mov_b32_e32 v13, v60
+; SI-NEXT: v_mov_b32_e32 v14, v59
+; SI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v54, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
+; SI-NEXT: v_lshrrev_b32_e32 v44, 16, v27
+; SI-NEXT: v_lshrrev_b32_e32 v52, 16, v62
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_lshrrev_b32_e32 v50, 16, v30
+; SI-NEXT: v_mov_b32_e32 v40, v29
+; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v29
+; SI-NEXT: v_mov_b32_e32 v34, v32
+; SI-NEXT: v_mov_b32_e32 v37, v30
+; SI-NEXT: v_mov_b32_e32 v47, v41
+; SI-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v50, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; SI-NEXT: v_mov_b32_e32 v53, v10
+; SI-NEXT: v_lshr_b64 v[10:11], v[60:61], 16
; SI-NEXT: v_lshrrev_b32_e32 v60, 16, v12
; SI-NEXT: v_lshr_b64 v[11:12], v[59:60], 16
-; SI-NEXT: v_mov_b32_e32 v14, v59
; SI-NEXT: v_lshrrev_b32_e32 v59, 16, v15
; SI-NEXT: v_mov_b32_e32 v60, v13
; SI-NEXT: v_lshr_b64 v[12:13], v[58:59], 16
@@ -26968,35 +27008,32 @@ define inreg <32 x i32> @bitcast_v64bf16_to_v32i32_scalar(<64 x bfloat> inreg %a
; SI-NEXT: v_mov_b32_e32 v58, v15
; SI-NEXT: v_lshr_b64 v[14:15], v[56:57], 16
; SI-NEXT: v_mov_b32_e32 v17, v56
-; SI-NEXT: v_lshrrev_b32_e32 v56, 16, v19
+; SI-NEXT: v_lshrrev_b32_e32 v56, 16, v20
; SI-NEXT: v_mov_b32_e32 v57, v16
; SI-NEXT: v_lshr_b64 v[15:16], v[55:56], 16
; SI-NEXT: v_mov_b32_e32 v56, v17
-; SI-NEXT: v_lshr_b64 v[16:17], v[51:52], 16
-; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v18, 16, v20
-; SI-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
+; SI-NEXT: v_lshrrev_b32_e32 v17, 16, v19
+; SI-NEXT: v_lshrrev_b32_e32 v54, 16, v54
+; SI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_lshr_b64 v[16:17], v[16:17], 16
+; SI-NEXT: v_mov_b32_e32 v17, v33
; SI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
-; SI-NEXT: v_mov_b32_e32 v42, v49
-; SI-NEXT: v_mov_b32_e32 v49, v44
-; SI-NEXT: v_mov_b32_e32 v52, v40
-; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_lshrrev_b32_e32 v44, 16, v27
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_lshr_b64 v[17:18], v[17:18], 16
-; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v19, 16, v54
-; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
-; SI-NEXT: v_lshrrev_b32_e32 v54, 16, v25
+; SI-NEXT: v_lshrrev_b32_e32 v19, 16, v25
+; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_lshr_b64 v[18:19], v[18:19], 16
; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
@@ -27010,24 +27047,23 @@ define inreg <32 x i32> @bitcast_v64bf16_to_v32i32_scalar(<64 x bfloat> inreg %a
; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v21, 16, v22
+; SI-NEXT: v_lshrrev_b32_e32 v21, 16, v24
+; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_lshr_b64 v[20:21], v[20:21], 16
-; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v22, 16, v22
-; SI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt vmcnt(3)
+; SI-NEXT: v_mov_b32_e32 v21, v24
+; SI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
+; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_lshr_b64 v[21:22], v[21:22], 16
-; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v23, 16, v50
+; SI-NEXT: s_waitcnt vmcnt(1)
+; SI-NEXT: v_mov_b32_e32 v22, v24
; SI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
@@ -27040,187 +27076,173 @@ define inreg <32 x i32> @bitcast_v64bf16_to_v32i32_scalar(<64 x bfloat> inreg %a
; SI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_lshr_b64 v[23:24], v[23:24], 16
-; SI-NEXT: v_mov_b32_e32 v24, v53
-; SI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[24:25], v[53:54], 16
-; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v37, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
-; SI-NEXT: v_mov_b32_e32 v54, v29
-; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v46
-; SI-NEXT: v_lshrrev_b32_e32 v46, 16, v31
-; SI-NEXT: v_mov_b32_e32 v31, v50
-; SI-NEXT: v_lshrrev_b32_e32 v50, 16, v30
-; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_lshrrev_b32_e32 v41, 16, v25
-; SI-NEXT: v_lshr_b64 v[25:26], v[40:41], 16
-; SI-NEXT: v_mov_b32_e32 v26, v43
-; SI-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
+; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_lshrrev_b32_e32 v33, 16, v24
+; SI-NEXT: v_lshr_b64 v[24:25], v[32:33], 16
+; SI-NEXT: v_lshr_b64 v[25:26], v[43:44], 16
+; SI-NEXT: v_mov_b32_e32 v26, v51
+; SI-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[26:27], v[43:44], 16
+; SI-NEXT: v_lshr_b64 v[26:27], v[51:52], 16
; SI-NEXT: v_mov_b32_e32 v27, v28
-; SI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt vmcnt(4)
-; SI-NEXT: v_lshrrev_b32_e32 v43, 16, v37
-; SI-NEXT: v_mov_b32_e32 v37, v48
-; SI-NEXT: v_lshrrev_b32_e32 v48, 16, v35
-; SI-NEXT: v_mov_b32_e32 v35, v62
-; SI-NEXT: v_lshr_b64 v[61:62], v[47:48], 16
-; SI-NEXT: v_mov_b32_e32 v44, v49
+; SI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
+; SI-NEXT: v_mov_b32_e32 v32, v43
+; SI-NEXT: v_lshrrev_b32_e32 v43, 16, v41
+; SI-NEXT: v_mov_b32_e32 v41, v39
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_lshr_b64 v[27:28], v[28:29], 16
-; SI-NEXT: v_lshr_b64 v[28:29], v[45:46], 16
-; SI-NEXT: v_mov_b32_e32 v46, v30
+; SI-NEXT: v_lshr_b64 v[28:29], v[42:43], 16
; SI-NEXT: v_lshr_b64 v[29:30], v[49:50], 16
-; SI-NEXT: v_mov_b32_e32 v50, v31
-; SI-NEXT: v_lshr_b64 v[30:31], v[42:43], 16
+; SI-NEXT: v_lshrrev_b32_e32 v49, 16, v31
+; SI-NEXT: v_lshr_b64 v[30:31], v[48:49], 16
+; SI-NEXT: v_mov_b32_e32 v31, v62
+; SI-NEXT: v_lshr_b64 v[61:62], v[53:54], 16
+; SI-NEXT: buffer_load_dword v54, off, s[0:3], s32 offset:308 ; 4-byte Folded Reload
+; SI-NEXT: v_mov_b32_e32 v62, v31
; SI-NEXT: v_mov_b32_e32 v31, v61
-; SI-NEXT: v_mov_b32_e32 v61, v33
-; SI-NEXT: v_mov_b32_e32 v33, v39
-; SI-NEXT: buffer_load_dword v39, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
-; SI-NEXT: v_mov_b32_e32 v49, v42
+; SI-NEXT: v_mov_b32_e32 v61, v35
+; SI-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:316 ; 4-byte Folded Reload
+; SI-NEXT: v_mov_b32_e32 v53, v42
+; SI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:312 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v39, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload
; SI-NEXT: s_branch .LBB19_3
; SI-NEXT: .LBB19_2:
-; SI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
-; SI-NEXT: v_mov_b32_e32 v52, v40
-; SI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v50, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(2)
+; SI-NEXT: v_mov_b32_e32 v34, v32
+; SI-NEXT: v_mov_b32_e32 v32, v43
; SI-NEXT: s_mov_b64 s[4:5], -1
+; SI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
; SI-NEXT: ; implicit-def: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31
; SI-NEXT: .LBB19_3: ; %Flow
+; SI-NEXT: v_mov_b32_e32 v50, v32
+; SI-NEXT: v_mov_b32_e32 v32, v34
+; SI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt expcnt(3)
+; SI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt expcnt(2)
+; SI-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload
; SI-NEXT: s_and_b64 s[4:5], s[4:5], exec
; SI-NEXT: s_cselect_b32 s4, 1, 0
; SI-NEXT: s_cmp_lg_u32 s4, 1
+; SI-NEXT: s_waitcnt vmcnt(1)
+; SI-NEXT: v_mov_b32_e32 v34, v51
+; SI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload
; SI-NEXT: s_cbranch_scc1 .LBB19_5
; SI-NEXT: ; %bb.4: ; %cmp.true
-; SI-NEXT: v_and_b32_e32 v1, 0xffff0000, v37
-; SI-NEXT: v_and_b32_e32 v0, 0xffff0000, v36
+; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:276 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:272 ; 4-byte Folded Reload
+; SI-NEXT: v_and_b32_e32 v1, 0xffff0000, v39
+; SI-NEXT: v_and_b32_e32 v0, 0xffff0000, v38
; SI-NEXT: v_add_f32_e32 v1, 0x40c00000, v1
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v3, 0xffff0000, v39
; SI-NEXT: v_add_f32_e32 v0, 0x40c00000, v0
; SI-NEXT: v_lshrrev_b32_e32 v1, 16, v1
-; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v38
-; SI-NEXT: v_add_f32_e32 v3, 0x40c00000, v3
+; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v36
; SI-NEXT: v_add_f32_e32 v2, 0x40c00000, v2
-; SI-NEXT: v_lshrrev_b32_e32 v3, 16, v3
; SI-NEXT: v_lshr_b64 v[0:1], v[0:1], 16
+; SI-NEXT: s_waitcnt vmcnt(4)
+; SI-NEXT: v_mov_b32_e32 v49, v43
+; SI-NEXT: v_and_b32_e32 v4, 0xffff0000, v54
+; SI-NEXT: v_add_f32_e32 v4, 0x40c00000, v4
+; SI-NEXT: v_lshrrev_b32_e32 v4, 16, v4
+; SI-NEXT: v_and_b32_e32 v11, 0xffff0000, v61
+; SI-NEXT: v_add_f32_e32 v11, 0x40c00000, v11
+; SI-NEXT: v_lshrrev_b32_e32 v11, 16, v11
+; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_and_b32_e32 v29, 0xffff0000, v47
+; SI-NEXT: v_add_f32_e32 v29, 0x40c00000, v29
+; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v29
+; SI-NEXT: s_waitcnt vmcnt(11)
+; SI-NEXT: v_and_b32_e32 v3, 0xffff0000, v3
+; SI-NEXT: v_add_f32_e32 v3, 0x40c00000, v3
+; SI-NEXT: v_lshrrev_b32_e32 v3, 16, v3
; SI-NEXT: v_lshr_b64 v[1:2], v[2:3], 16
-; SI-NEXT: v_and_b32_e32 v3, 0xffff0000, v35
-; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v34
+; SI-NEXT: v_and_b32_e32 v3, 0xffff0000, v42
+; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v49
; SI-NEXT: v_add_f32_e32 v3, 0x40c00000, v3
; SI-NEXT: v_add_f32_e32 v2, 0x40c00000, v2
; SI-NEXT: v_lshrrev_b32_e32 v3, 16, v3
; SI-NEXT: v_lshr_b64 v[2:3], v[2:3], 16
-; SI-NEXT: v_and_b32_e32 v4, 0xffff0000, v33
-; SI-NEXT: v_and_b32_e32 v3, 0xffff0000, v32
-; SI-NEXT: v_add_f32_e32 v4, 0x40c00000, v4
+; SI-NEXT: v_and_b32_e32 v3, 0xffff0000, v51
; SI-NEXT: v_add_f32_e32 v3, 0x40c00000, v3
-; SI-NEXT: v_lshrrev_b32_e32 v4, 16, v4
; SI-NEXT: v_lshr_b64 v[3:4], v[3:4], 16
-; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:280 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload
-; SI-NEXT: v_and_b32_e32 v11, 0xffff0000, v61
-; SI-NEXT: v_add_f32_e32 v11, 0x40c00000, v11
-; SI-NEXT: v_lshrrev_b32_e32 v11, 16, v11
-; SI-NEXT: v_and_b32_e32 v30, 0xffff0000, v46
-; SI-NEXT: v_add_f32_e32 v30, 0x40c00000, v30
-; SI-NEXT: v_lshrrev_b32_e32 v30, 16, v30
-; SI-NEXT: v_and_b32_e32 v32, 0xffff0000, v47
-; SI-NEXT: v_add_f32_e32 v32, 0x40c00000, v32
-; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt expcnt(6)
-; SI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(12)
-; SI-NEXT: v_and_b32_e32 v4, 0xffff0000, v4
-; SI-NEXT: v_add_f32_e32 v4, 0x40c00000, v4
; SI-NEXT: s_waitcnt vmcnt(10)
; SI-NEXT: v_and_b32_e32 v5, 0xffff0000, v5
+; SI-NEXT: v_and_b32_e32 v4, 0xffff0000, v34
; SI-NEXT: v_add_f32_e32 v5, 0x40c00000, v5
+; SI-NEXT: v_add_f32_e32 v4, 0x40c00000, v4
; SI-NEXT: v_lshrrev_b32_e32 v5, 16, v5
; SI-NEXT: v_lshr_b64 v[4:5], v[4:5], 16
-; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:272 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:276 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(12)
+; SI-NEXT: s_waitcnt vmcnt(9)
+; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v6
+; SI-NEXT: v_and_b32_e32 v5, 0xffff0000, v33
+; SI-NEXT: v_add_f32_e32 v6, 0x40c00000, v6
+; SI-NEXT: v_add_f32_e32 v5, 0x40c00000, v5
+; SI-NEXT: v_lshrrev_b32_e32 v6, 16, v6
+; SI-NEXT: v_lshr_b64 v[5:6], v[5:6], 16
+; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:300 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:304 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:268 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(8)
+; SI-NEXT: v_and_b32_e32 v9, 0xffff0000, v9
+; SI-NEXT: v_add_f32_e32 v9, 0x40c00000, v9
+; SI-NEXT: v_lshrrev_b32_e32 v9, 16, v9
+; SI-NEXT: s_waitcnt vmcnt(7)
; SI-NEXT: v_and_b32_e32 v12, 0xffff0000, v12
; SI-NEXT: v_add_f32_e32 v12, 0x40c00000, v12
; SI-NEXT: v_lshrrev_b32_e32 v12, 16, v12
-; SI-NEXT: s_waitcnt vmcnt(11)
+; SI-NEXT: s_waitcnt vmcnt(6)
; SI-NEXT: v_and_b32_e32 v13, 0xffff0000, v13
; SI-NEXT: v_add_f32_e32 v13, 0x40c00000, v13
; SI-NEXT: v_lshrrev_b32_e32 v13, 16, v13
-; SI-NEXT: s_waitcnt vmcnt(10)
+; SI-NEXT: s_waitcnt vmcnt(5)
; SI-NEXT: v_and_b32_e32 v14, 0xffff0000, v14
; SI-NEXT: v_add_f32_e32 v14, 0x40c00000, v14
; SI-NEXT: v_lshrrev_b32_e32 v14, 16, v14
-; SI-NEXT: s_waitcnt vmcnt(9)
+; SI-NEXT: s_waitcnt vmcnt(4)
; SI-NEXT: v_and_b32_e32 v15, 0xffff0000, v15
; SI-NEXT: v_add_f32_e32 v15, 0x40c00000, v15
; SI-NEXT: v_lshrrev_b32_e32 v15, 16, v15
-; SI-NEXT: s_waitcnt vmcnt(8)
+; SI-NEXT: s_waitcnt vmcnt(3)
; SI-NEXT: v_and_b32_e32 v16, 0xffff0000, v16
; SI-NEXT: v_add_f32_e32 v16, 0x40c00000, v16
; SI-NEXT: v_lshrrev_b32_e32 v16, 16, v16
-; SI-NEXT: s_waitcnt vmcnt(7)
-; SI-NEXT: v_and_b32_e32 v17, 0xffff0000, v17
-; SI-NEXT: v_add_f32_e32 v17, 0x40c00000, v17
-; SI-NEXT: v_lshrrev_b32_e32 v17, 16, v17
-; SI-NEXT: s_waitcnt vmcnt(6)
; SI-NEXT: v_and_b32_e32 v26, 0xffff0000, v26
; SI-NEXT: v_add_f32_e32 v26, 0x40c00000, v26
; SI-NEXT: v_lshrrev_b32_e32 v26, 16, v26
-; SI-NEXT: s_waitcnt vmcnt(4)
-; SI-NEXT: v_and_b32_e32 v29, 0xffff0000, v29
-; SI-NEXT: v_and_b32_e32 v31, 0xffff0000, v31
-; SI-NEXT: v_add_f32_e32 v31, 0x40c00000, v31
-; SI-NEXT: v_lshrrev_b32_e32 v31, 16, v31
-; SI-NEXT: v_add_f32_e32 v29, 0x40c00000, v29
-; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v29
-; SI-NEXT: s_waitcnt vmcnt(3)
-; SI-NEXT: v_and_b32_e32 v33, 0xffff0000, v33
-; SI-NEXT: v_add_f32_e32 v33, 0x40c00000, v33
-; SI-NEXT: v_lshrrev_b32_e32 v33, 16, v33
-; SI-NEXT: v_lshr_b64 v[32:33], v[32:33], 16
-; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_and_b32_e32 v5, 0xffff0000, v5
-; SI-NEXT: v_add_f32_e32 v5, 0x40c00000, v5
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v6
-; SI-NEXT: v_add_f32_e32 v6, 0x40c00000, v6
-; SI-NEXT: v_lshrrev_b32_e32 v6, 16, v6
-; SI-NEXT: v_lshr_b64 v[5:6], v[5:6], 16
-; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:268 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(2)
; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v6
; SI-NEXT: v_add_f32_e32 v6, 0x40c00000, v6
@@ -27229,9 +27251,9 @@ define inreg <32 x i32> @bitcast_v64bf16_to_v32i32_scalar(<64 x bfloat> inreg %a
; SI-NEXT: v_add_f32_e32 v7, 0x40c00000, v7
; SI-NEXT: v_lshrrev_b32_e32 v7, 16, v7
; SI-NEXT: v_lshr_b64 v[6:7], v[6:7], 16
-; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(2)
; SI-NEXT: v_and_b32_e32 v7, 0xffff0000, v7
; SI-NEXT: v_add_f32_e32 v7, 0x40c00000, v7
@@ -27240,27 +27262,17 @@ define inreg <32 x i32> @bitcast_v64bf16_to_v32i32_scalar(<64 x bfloat> inreg %a
; SI-NEXT: v_add_f32_e32 v8, 0x40c00000, v8
; SI-NEXT: v_lshrrev_b32_e32 v8, 16, v8
; SI-NEXT: v_lshr_b64 v[7:8], v[7:8], 16
-; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v8
+; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v41
; SI-NEXT: v_add_f32_e32 v8, 0x40c00000, v8
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v9, 0xffff0000, v9
-; SI-NEXT: v_add_f32_e32 v9, 0x40c00000, v9
-; SI-NEXT: v_lshrrev_b32_e32 v9, 16, v9
; SI-NEXT: v_lshr_b64 v[8:9], v[8:9], 16
-; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_and_b32_e32 v9, 0xffff0000, v9
-; SI-NEXT: v_add_f32_e32 v9, 0x40c00000, v9
+; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:280 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v10, 0xffff0000, v10
+; SI-NEXT: v_and_b32_e32 v10, 0xffff0000, v35
; SI-NEXT: v_add_f32_e32 v10, 0x40c00000, v10
; SI-NEXT: v_lshrrev_b32_e32 v10, 16, v10
+; SI-NEXT: v_and_b32_e32 v9, 0xffff0000, v9
+; SI-NEXT: v_add_f32_e32 v9, 0x40c00000, v9
; SI-NEXT: v_lshr_b64 v[9:10], v[9:10], 16
; SI-NEXT: v_and_b32_e32 v10, 0xffff0000, v60
; SI-NEXT: v_add_f32_e32 v10, 0x40c00000, v10
@@ -27280,12 +27292,20 @@ define inreg <32 x i32> @bitcast_v64bf16_to_v32i32_scalar(<64 x bfloat> inreg %a
; SI-NEXT: v_and_b32_e32 v15, 0xffff0000, v55
; SI-NEXT: v_add_f32_e32 v15, 0x40c00000, v15
; SI-NEXT: v_lshr_b64 v[15:16], v[15:16], 16
-; SI-NEXT: v_and_b32_e32 v16, 0xffff0000, v51
+; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(2)
+; SI-NEXT: v_and_b32_e32 v16, 0xffff0000, v16
; SI-NEXT: v_add_f32_e32 v16, 0x40c00000, v16
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_and_b32_e32 v17, 0xffff0000, v17
+; SI-NEXT: v_add_f32_e32 v17, 0x40c00000, v17
+; SI-NEXT: v_lshrrev_b32_e32 v17, 16, v17
; SI-NEXT: v_lshr_b64 v[16:17], v[16:17], 16
; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(2)
; SI-NEXT: v_and_b32_e32 v17, 0xffff0000, v17
; SI-NEXT: v_add_f32_e32 v17, 0x40c00000, v17
@@ -27294,18 +27314,20 @@ define inreg <32 x i32> @bitcast_v64bf16_to_v32i32_scalar(<64 x bfloat> inreg %a
; SI-NEXT: v_add_f32_e32 v18, 0x40c00000, v18
; SI-NEXT: v_lshrrev_b32_e32 v18, 16, v18
; SI-NEXT: v_lshr_b64 v[17:18], v[17:18], 16
-; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(2)
+; SI-NEXT: v_and_b32_e32 v18, 0xffff0000, v18
+; SI-NEXT: v_add_f32_e32 v18, 0x40c00000, v18
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v19, 0xffff0000, v54
+; SI-NEXT: v_and_b32_e32 v19, 0xffff0000, v19
; SI-NEXT: v_add_f32_e32 v19, 0x40c00000, v19
; SI-NEXT: v_lshrrev_b32_e32 v19, 16, v19
-; SI-NEXT: v_and_b32_e32 v18, 0xffff0000, v18
-; SI-NEXT: v_add_f32_e32 v18, 0x40c00000, v18
; SI-NEXT: v_lshr_b64 v[18:19], v[18:19], 16
; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(2)
; SI-NEXT: v_and_b32_e32 v19, 0xffff0000, v19
; SI-NEXT: v_add_f32_e32 v19, 0x40c00000, v19
@@ -27316,7 +27338,7 @@ define inreg <32 x i32> @bitcast_v64bf16_to_v32i32_scalar(<64 x bfloat> inreg %a
; SI-NEXT: v_lshr_b64 v[19:20], v[19:20], 16
; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(2)
; SI-NEXT: v_and_b32_e32 v20, 0xffff0000, v20
; SI-NEXT: v_add_f32_e32 v20, 0x40c00000, v20
@@ -27325,9 +27347,9 @@ define inreg <32 x i32> @bitcast_v64bf16_to_v32i32_scalar(<64 x bfloat> inreg %a
; SI-NEXT: v_add_f32_e32 v21, 0x40c00000, v21
; SI-NEXT: v_lshrrev_b32_e32 v21, 16, v21
; SI-NEXT: v_lshr_b64 v[20:21], v[20:21], 16
-; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(2)
; SI-NEXT: v_and_b32_e32 v21, 0xffff0000, v21
; SI-NEXT: v_add_f32_e32 v21, 0x40c00000, v21
@@ -27338,16 +27360,18 @@ define inreg <32 x i32> @bitcast_v64bf16_to_v32i32_scalar(<64 x bfloat> inreg %a
; SI-NEXT: v_lshr_b64 v[21:22], v[21:22], 16
; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(2)
+; SI-NEXT: v_and_b32_e32 v22, 0xffff0000, v22
+; SI-NEXT: v_add_f32_e32 v22, 0x40c00000, v22
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v23, 0xffff0000, v50
+; SI-NEXT: v_and_b32_e32 v23, 0xffff0000, v23
; SI-NEXT: v_add_f32_e32 v23, 0x40c00000, v23
; SI-NEXT: v_lshrrev_b32_e32 v23, 16, v23
-; SI-NEXT: v_and_b32_e32 v22, 0xffff0000, v22
-; SI-NEXT: v_add_f32_e32 v22, 0x40c00000, v22
; SI-NEXT: v_lshr_b64 v[22:23], v[22:23], 16
; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(2)
; SI-NEXT: v_and_b32_e32 v23, 0xffff0000, v23
; SI-NEXT: v_add_f32_e32 v23, 0x40c00000, v23
@@ -27356,49 +27380,58 @@ define inreg <32 x i32> @bitcast_v64bf16_to_v32i32_scalar(<64 x bfloat> inreg %a
; SI-NEXT: v_add_f32_e32 v24, 0x40c00000, v24
; SI-NEXT: v_lshrrev_b32_e32 v24, 16, v24
; SI-NEXT: v_lshr_b64 v[23:24], v[23:24], 16
-; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_and_b32_e32 v24, 0xffff0000, v24
-; SI-NEXT: v_add_f32_e32 v24, 0x40c00000, v24
-; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_and_b32_e32 v24, 0xffff0000, v32
+; SI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
; SI-NEXT: v_and_b32_e32 v25, 0xffff0000, v25
; SI-NEXT: v_add_f32_e32 v25, 0x40c00000, v25
+; SI-NEXT: v_add_f32_e32 v24, 0x40c00000, v24
; SI-NEXT: v_lshrrev_b32_e32 v25, 16, v25
; SI-NEXT: v_lshr_b64 v[24:25], v[24:25], 16
-; SI-NEXT: v_and_b32_e32 v25, 0xffff0000, v52
+; SI-NEXT: v_and_b32_e32 v25, 0xffff0000, v50
; SI-NEXT: v_add_f32_e32 v25, 0x40c00000, v25
; SI-NEXT: v_lshr_b64 v[25:26], v[25:26], 16
-; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_and_b32_e32 v26, 0xffff0000, v26
-; SI-NEXT: v_add_f32_e32 v26, 0x40c00000, v26
+; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v27, 0xffff0000, v27
+; SI-NEXT: v_and_b32_e32 v27, 0xffff0000, v62
; SI-NEXT: v_add_f32_e32 v27, 0x40c00000, v27
; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v27
+; SI-NEXT: v_and_b32_e32 v31, 0xffff0000, v31
+; SI-NEXT: v_add_f32_e32 v31, 0x40c00000, v31
+; SI-NEXT: v_lshrrev_b32_e32 v31, 16, v31
+; SI-NEXT: v_and_b32_e32 v32, 0xffff0000, v32
+; SI-NEXT: v_add_f32_e32 v32, 0x40c00000, v32
+; SI-NEXT: v_and_b32_e32 v33, 0xffff0000, v33
+; SI-NEXT: v_add_f32_e32 v33, 0x40c00000, v33
+; SI-NEXT: v_lshrrev_b32_e32 v33, 16, v33
+; SI-NEXT: v_lshr_b64 v[32:33], v[32:33], 16
+; SI-NEXT: v_and_b32_e32 v26, 0xffff0000, v26
+; SI-NEXT: v_add_f32_e32 v26, 0x40c00000, v26
; SI-NEXT: v_lshr_b64 v[26:27], v[26:27], 16
-; SI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_and_b32_e32 v27, 0xffff0000, v27
-; SI-NEXT: v_add_f32_e32 v27, 0x40c00000, v27
+; SI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v28, 0xffff0000, v28
+; SI-NEXT: v_and_b32_e32 v28, 0xffff0000, v40
; SI-NEXT: v_add_f32_e32 v28, 0x40c00000, v28
; SI-NEXT: v_lshrrev_b32_e32 v28, 16, v28
+; SI-NEXT: v_and_b32_e32 v27, 0xffff0000, v27
+; SI-NEXT: v_add_f32_e32 v27, 0x40c00000, v27
; SI-NEXT: v_lshr_b64 v[27:28], v[27:28], 16
-; SI-NEXT: v_and_b32_e32 v28, 0xffff0000, v45
+; SI-NEXT: v_and_b32_e32 v28, 0xffff0000, v53
; SI-NEXT: v_add_f32_e32 v28, 0x40c00000, v28
; SI-NEXT: v_lshr_b64 v[28:29], v[28:29], 16
-; SI-NEXT: v_and_b32_e32 v29, 0xffff0000, v44
+; SI-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_and_b32_e32 v30, 0xffff0000, v37
+; SI-NEXT: v_add_f32_e32 v30, 0x40c00000, v30
+; SI-NEXT: v_lshrrev_b32_e32 v30, 16, v30
+; SI-NEXT: v_and_b32_e32 v29, 0xffff0000, v29
; SI-NEXT: v_add_f32_e32 v29, 0x40c00000, v29
; SI-NEXT: v_lshr_b64 v[29:30], v[29:30], 16
-; SI-NEXT: v_and_b32_e32 v30, 0xffff0000, v49
+; SI-NEXT: v_and_b32_e32 v30, 0xffff0000, v48
; SI-NEXT: v_add_f32_e32 v30, 0x40c00000, v30
; SI-NEXT: v_lshr_b64 v[30:31], v[30:31], 16
; SI-NEXT: v_mov_b32_e32 v31, v32
@@ -27413,7 +27446,6 @@ define inreg <32 x i32> @bitcast_v64bf16_to_v32i32_scalar(<64 x bfloat> inreg %a
; SI-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:28 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:32 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:36 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt expcnt(2)
; SI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:40 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:44 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:48 ; 4-byte Folded Reload
@@ -27425,7 +27457,7 @@ define inreg <32 x i32> @bitcast_v64bf16_to_v32i32_scalar(<64 x bfloat> inreg %a
; SI-NEXT: v_readlane_b32 s35, v63, 1
; SI-NEXT: v_readlane_b32 s34, v63, 0
; SI-NEXT: s_or_saveexec_b64 s[4:5], -1
-; SI-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:320 ; 4-byte Folded Reload
; SI-NEXT: s_mov_b64 exec, s[4:5]
; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0)
; SI-NEXT: s_setpc_b64 s[30:31]
@@ -30888,8 +30920,10 @@ define inreg <64 x half> @bitcast_v32i32_to_v64f16_scalar(<32 x i32> inreg %a, i
; SI-NEXT: v_writelane_b32 v32, s55, 13
; SI-NEXT: v_writelane_b32 v32, s64, 14
; SI-NEXT: v_writelane_b32 v32, s65, 15
-; SI-NEXT: v_writelane_b32 v32, s30, 16
-; SI-NEXT: v_writelane_b32 v32, s31, 17
+; SI-NEXT: v_writelane_b32 v32, s66, 16
+; SI-NEXT: v_writelane_b32 v32, s67, 17
+; SI-NEXT: v_writelane_b32 v32, s30, 18
+; SI-NEXT: v_writelane_b32 v32, s31, 19
; SI-NEXT: v_readfirstlane_b32 s44, v18
; SI-NEXT: v_readfirstlane_b32 s5, v17
; SI-NEXT: v_readfirstlane_b32 s4, v16
@@ -30914,14 +30948,9 @@ define inreg <64 x half> @bitcast_v32i32_to_v64f16_scalar(<32 x i32> inreg %a, i
; SI-NEXT: ; %bb.1: ; %cmp.false
; SI-NEXT: s_lshr_b32 s56, s5, 16
; SI-NEXT: s_lshr_b64 s[46:47], s[4:5], 16
-; SI-NEXT: s_lshr_b32 s58, s45, 16
+; SI-NEXT: s_lshr_b32 s58, s29, 16
; SI-NEXT: s_mov_b32 s47, s56
; SI-NEXT: s_lshr_b64 s[56:57], s[6:7], 16
-; SI-NEXT: s_lshr_b32 s62, s19, 16
-; SI-NEXT: s_lshr_b32 s63, s17, 16
-; SI-NEXT: s_mov_b32 s57, s58
-; SI-NEXT: s_lshr_b64 s[60:61], s[8:9], 16
-; SI-NEXT: s_lshr_b64 s[58:59], s[10:11], 16
; SI-NEXT: s_lshr_b32 s38, s7, 16
; SI-NEXT: s_lshr_b32 s39, s9, 16
; SI-NEXT: s_lshr_b32 s48, s11, 16
@@ -30929,13 +30958,16 @@ define inreg <64 x half> @bitcast_v32i32_to_v64f16_scalar(<32 x i32> inreg %a, i
; SI-NEXT: s_lshr_b32 s50, s15, 16
; SI-NEXT: s_lshr_b32 s51, s41, 16
; SI-NEXT: s_lshr_b32 s52, s43, 16
-; SI-NEXT: s_lshr_b32 s53, s29, 16
+; SI-NEXT: s_lshr_b32 s53, s45, 16
; SI-NEXT: s_lshr_b32 s54, s27, 16
; SI-NEXT: s_lshr_b32 s55, s25, 16
; SI-NEXT: s_lshr_b32 s64, s23, 16
; SI-NEXT: s_lshr_b32 s65, s21, 16
-; SI-NEXT: s_mov_b32 s61, s63
-; SI-NEXT: s_mov_b32 s59, s62
+; SI-NEXT: s_lshr_b32 s66, s19, 16
+; SI-NEXT: s_lshr_b32 s67, s17, 16
+; SI-NEXT: s_mov_b32 s57, s58
+; SI-NEXT: s_lshr_b64 s[58:59], s[8:9], 16
+; SI-NEXT: s_lshr_b64 s[60:61], s[10:11], 16
; SI-NEXT: s_lshr_b64 s[62:63], s[12:13], 16
; SI-NEXT: s_lshr_b64 s[72:73], s[14:15], 16
; SI-NEXT: s_lshr_b64 s[74:75], s[40:41], 16
@@ -30953,9 +30985,9 @@ define inreg <64 x half> @bitcast_v32i32_to_v64f16_scalar(<32 x i32> inreg %a, i
; SI-NEXT: .LBB21_2:
; SI-NEXT: s_mov_b64 s[36:37], -1
; SI-NEXT: ; implicit-def: $sgpr34
-; SI-NEXT: ; implicit-def: $sgpr61
+; SI-NEXT: ; implicit-def: $sgpr67
; SI-NEXT: ; implicit-def: $sgpr30
-; SI-NEXT: ; implicit-def: $sgpr59
+; SI-NEXT: ; implicit-def: $sgpr66
; SI-NEXT: ; implicit-def: $vcc_lo
; SI-NEXT: ; implicit-def: $sgpr65
; SI-NEXT: ; implicit-def: $sgpr94
@@ -30965,9 +30997,9 @@ define inreg <64 x half> @bitcast_v32i32_to_v64f16_scalar(<32 x i32> inreg %a, i
; SI-NEXT: ; implicit-def: $sgpr90
; SI-NEXT: ; implicit-def: $sgpr54
; SI-NEXT: ; implicit-def: $sgpr88
-; SI-NEXT: ; implicit-def: $sgpr53
-; SI-NEXT: ; implicit-def: $sgpr78
; SI-NEXT: ; implicit-def: $sgpr57
+; SI-NEXT: ; implicit-def: $sgpr78
+; SI-NEXT: ; implicit-def: $sgpr53
; SI-NEXT: ; implicit-def: $sgpr76
; SI-NEXT: ; implicit-def: $sgpr52
; SI-NEXT: ; implicit-def: $sgpr74
@@ -30976,24 +31008,20 @@ define inreg <64 x half> @bitcast_v32i32_to_v64f16_scalar(<32 x i32> inreg %a, i
; SI-NEXT: ; implicit-def: $sgpr50
; SI-NEXT: ; implicit-def: $sgpr62
; SI-NEXT: ; implicit-def: $sgpr49
-; SI-NEXT: ; implicit-def: $sgpr58
+; SI-NEXT: ; implicit-def: $sgpr60
; SI-NEXT: ; implicit-def: $sgpr48
; SI-NEXT: ; implicit-def: $sgpr39
; SI-NEXT: ; implicit-def: $sgpr38
; SI-NEXT: ; implicit-def: $sgpr47
-; SI-NEXT: ; implicit-def: $sgpr60
+; SI-NEXT: ; implicit-def: $sgpr58
; SI-NEXT: ; implicit-def: $sgpr56
; SI-NEXT: ; implicit-def: $sgpr46
; SI-NEXT: .LBB21_3: ; %Flow
; SI-NEXT: s_and_b64 s[36:37], s[36:37], exec
-; SI-NEXT: s_cselect_b32 s63, 1, 0
-; SI-NEXT: s_cmp_lg_u32 s63, 1
+; SI-NEXT: s_cselect_b32 s59, 1, 0
+; SI-NEXT: s_cmp_lg_u32 s59, 1
; SI-NEXT: s_cbranch_scc1 .LBB21_5
; SI-NEXT: ; %bb.4: ; %cmp.true
-; SI-NEXT: s_add_i32 s11, s11, 3
-; SI-NEXT: s_add_i32 s10, s10, 3
-; SI-NEXT: s_add_i32 s9, s9, 3
-; SI-NEXT: s_add_i32 s8, s8, 3
; SI-NEXT: s_add_i32 s7, s7, 3
; SI-NEXT: s_add_i32 s6, s6, 3
; SI-NEXT: s_add_i32 s5, s5, 3
@@ -31022,10 +31050,14 @@ define inreg <64 x half> @bitcast_v32i32_to_v64f16_scalar(<32 x i32> inreg %a, i
; SI-NEXT: s_add_i32 s14, s14, 3
; SI-NEXT: s_add_i32 s13, s13, 3
; SI-NEXT: s_add_i32 s12, s12, 3
+; SI-NEXT: s_add_i32 s11, s11, 3
+; SI-NEXT: s_add_i32 s10, s10, 3
+; SI-NEXT: s_add_i32 s9, s9, 3
+; SI-NEXT: s_add_i32 s8, s8, 3
; SI-NEXT: s_lshr_b64 s[46:47], s[4:5], 16
; SI-NEXT: s_lshr_b64 s[56:57], s[6:7], 16
-; SI-NEXT: s_lshr_b64 s[60:61], s[8:9], 16
-; SI-NEXT: s_lshr_b64 s[58:59], s[10:11], 16
+; SI-NEXT: s_lshr_b64 s[58:59], s[8:9], 16
+; SI-NEXT: s_lshr_b64 s[60:61], s[10:11], 16
; SI-NEXT: s_lshr_b64 s[62:63], s[12:13], 16
; SI-NEXT: s_lshr_b64 s[72:73], s[14:15], 16
; SI-NEXT: s_lshr_b64 s[74:75], s[40:41], 16
@@ -31040,14 +31072,14 @@ define inreg <64 x half> @bitcast_v32i32_to_v64f16_scalar(<32 x i32> inreg %a, i
; SI-NEXT: s_lshr_b32 s50, s15, 16
; SI-NEXT: s_lshr_b32 s51, s41, 16
; SI-NEXT: s_lshr_b32 s52, s43, 16
-; SI-NEXT: s_lshr_b32 s57, s45, 16
-; SI-NEXT: s_lshr_b32 s53, s29, 16
+; SI-NEXT: s_lshr_b32 s53, s45, 16
+; SI-NEXT: s_lshr_b32 s57, s29, 16
; SI-NEXT: s_lshr_b32 s54, s27, 16
; SI-NEXT: s_lshr_b32 s55, s25, 16
; SI-NEXT: s_lshr_b32 s64, s23, 16
; SI-NEXT: s_lshr_b32 s65, s21, 16
-; SI-NEXT: s_lshr_b32 s59, s19, 16
-; SI-NEXT: s_lshr_b32 s61, s17, 16
+; SI-NEXT: s_lshr_b32 s66, s19, 16
+; SI-NEXT: s_lshr_b32 s67, s17, 16
; SI-NEXT: s_lshr_b64 s[90:91], s[26:27], 16
; SI-NEXT: s_lshr_b64 s[92:93], s[24:25], 16
; SI-NEXT: s_lshr_b64 s[94:95], s[22:23], 16
@@ -31055,87 +31087,89 @@ define inreg <64 x half> @bitcast_v32i32_to_v64f16_scalar(<32 x i32> inreg %a, i
; SI-NEXT: s_lshr_b64 s[30:31], s[18:19], 16
; SI-NEXT: s_lshr_b64 s[34:35], s[16:17], 16
; SI-NEXT: .LBB21_5: ; %end
-; SI-NEXT: s_and_b32 s45, s45, 0xffff
+; SI-NEXT: s_and_b32 s29, s29, 0xffff
; SI-NEXT: s_lshl_b32 s57, s57, 16
-; SI-NEXT: s_and_b32 s19, s19, 0xffff
-; SI-NEXT: s_lshl_b32 s59, s59, 16
+; SI-NEXT: s_or_b32 s29, s29, s57
+; SI-NEXT: s_and_b32 s44, s44, 0xffff
+; SI-NEXT: s_lshl_b32 s57, s78, 16
+; SI-NEXT: s_lshl_b32 s59, s34, 16
+; SI-NEXT: s_and_b32 s16, s16, 0xffff
+; SI-NEXT: s_or_b32 s44, s44, s57
+; SI-NEXT: s_and_b32 s45, s45, 0xffff
+; SI-NEXT: s_lshl_b32 s57, s53, 16
+; SI-NEXT: s_or_b32 s16, s16, s59
+; SI-NEXT: s_and_b32 s17, s17, 0xffff
+; SI-NEXT: s_lshl_b32 s59, s67, 16
; SI-NEXT: s_or_b32 s45, s45, s57
; SI-NEXT: s_and_b32 s42, s42, 0xffff
; SI-NEXT: s_lshl_b32 s57, s76, 16
-; SI-NEXT: s_or_b32 s19, s19, s59
-; SI-NEXT: s_lshl_b32 s59, vcc_lo, 16
-; SI-NEXT: s_and_b32 s20, s20, 0xffff
+; SI-NEXT: s_or_b32 s17, s17, s59
+; SI-NEXT: s_lshl_b32 s59, s30, 16
+; SI-NEXT: s_and_b32 s18, s18, 0xffff
; SI-NEXT: s_or_b32 s42, s42, s57
; SI-NEXT: s_and_b32 s43, s43, 0xffff
; SI-NEXT: s_lshl_b32 s57, s52, 16
-; SI-NEXT: s_or_b32 s20, s20, s59
-; SI-NEXT: s_and_b32 s21, s21, 0xffff
-; SI-NEXT: s_lshl_b32 s59, s65, 16
+; SI-NEXT: s_or_b32 s18, s18, s59
+; SI-NEXT: s_and_b32 s19, s19, 0xffff
+; SI-NEXT: s_lshl_b32 s59, s66, 16
; SI-NEXT: s_or_b32 s43, s43, s57
; SI-NEXT: s_and_b32 s40, s40, 0xffff
; SI-NEXT: s_lshl_b32 s57, s74, 16
-; SI-NEXT: s_or_b32 s21, s21, s59
-; SI-NEXT: s_lshl_b32 s59, s94, 16
-; SI-NEXT: s_and_b32 s22, s22, 0xffff
+; SI-NEXT: s_or_b32 s19, s19, s59
+; SI-NEXT: s_lshl_b32 s59, vcc_lo, 16
+; SI-NEXT: s_and_b32 s20, s20, 0xffff
; SI-NEXT: s_or_b32 s40, s40, s57
; SI-NEXT: s_and_b32 s41, s41, 0xffff
; SI-NEXT: s_lshl_b32 s57, s51, 16
-; SI-NEXT: s_or_b32 s22, s22, s59
-; SI-NEXT: s_and_b32 s23, s23, 0xffff
-; SI-NEXT: s_lshl_b32 s59, s64, 16
+; SI-NEXT: s_or_b32 s20, s20, s59
+; SI-NEXT: s_and_b32 s21, s21, 0xffff
+; SI-NEXT: s_lshl_b32 s59, s65, 16
; SI-NEXT: s_or_b32 s41, s41, s57
; SI-NEXT: s_and_b32 s14, s14, 0xffff
; SI-NEXT: s_lshl_b32 s57, s72, 16
-; SI-NEXT: s_or_b32 s23, s23, s59
-; SI-NEXT: s_lshl_b32 s59, s92, 16
-; SI-NEXT: s_and_b32 s24, s24, 0xffff
+; SI-NEXT: s_or_b32 s21, s21, s59
+; SI-NEXT: s_lshl_b32 s59, s94, 16
+; SI-NEXT: s_and_b32 s22, s22, 0xffff
; SI-NEXT: s_or_b32 s14, s14, s57
; SI-NEXT: s_and_b32 s15, s15, 0xffff
; SI-NEXT: s_lshl_b32 s57, s50, 16
-; SI-NEXT: s_or_b32 s24, s24, s59
-; SI-NEXT: s_and_b32 s25, s25, 0xffff
-; SI-NEXT: s_lshl_b32 s59, s55, 16
+; SI-NEXT: s_or_b32 s22, s22, s59
+; SI-NEXT: s_and_b32 s23, s23, 0xffff
+; SI-NEXT: s_lshl_b32 s59, s64, 16
; SI-NEXT: s_or_b32 s15, s15, s57
; SI-NEXT: s_and_b32 s12, s12, 0xffff
; SI-NEXT: s_lshl_b32 s57, s62, 16
-; SI-NEXT: s_or_b32 s25, s25, s59
-; SI-NEXT: s_and_b32 s26, s26, 0xffff
-; SI-NEXT: s_lshl_b32 s59, s90, 16
+; SI-NEXT: s_or_b32 s23, s23, s59
+; SI-NEXT: s_lshl_b32 s59, s92, 16
+; SI-NEXT: s_and_b32 s24, s24, 0xffff
; SI-NEXT: s_or_b32 s12, s12, s57
; SI-NEXT: s_and_b32 s13, s13, 0xffff
; SI-NEXT: s_lshl_b32 s57, s49, 16
-; SI-NEXT: s_or_b32 s26, s26, s59
-; SI-NEXT: s_and_b32 s27, s27, 0xffff
-; SI-NEXT: s_lshl_b32 s59, s54, 16
+; SI-NEXT: s_or_b32 s24, s24, s59
+; SI-NEXT: s_and_b32 s25, s25, 0xffff
+; SI-NEXT: s_lshl_b32 s59, s55, 16
; SI-NEXT: s_or_b32 s13, s13, s57
; SI-NEXT: s_and_b32 s10, s10, 0xffff
-; SI-NEXT: s_lshl_b32 s57, s58, 16
-; SI-NEXT: s_or_b32 s27, s27, s59
-; SI-NEXT: s_and_b32 s28, s28, 0xffff
-; SI-NEXT: s_lshl_b32 s59, s88, 16
+; SI-NEXT: s_lshl_b32 s57, s60, 16
+; SI-NEXT: s_or_b32 s25, s25, s59
+; SI-NEXT: s_and_b32 s26, s26, 0xffff
+; SI-NEXT: s_lshl_b32 s59, s90, 16
; SI-NEXT: s_or_b32 s10, s10, s57
; SI-NEXT: s_and_b32 s11, s11, 0xffff
; SI-NEXT: s_lshl_b32 s57, s48, 16
-; SI-NEXT: s_and_b32 s17, s17, 0xffff
-; SI-NEXT: s_lshl_b32 s61, s61, 16
-; SI-NEXT: s_or_b32 s28, s28, s59
-; SI-NEXT: s_and_b32 s29, s29, 0xffff
-; SI-NEXT: s_lshl_b32 s59, s53, 16
+; SI-NEXT: s_or_b32 s26, s26, s59
+; SI-NEXT: s_and_b32 s27, s27, 0xffff
+; SI-NEXT: s_lshl_b32 s59, s54, 16
; SI-NEXT: s_or_b32 s11, s11, s57
; SI-NEXT: s_and_b32 s8, s8, 0xffff
-; SI-NEXT: s_lshl_b32 s57, s60, 16
+; SI-NEXT: s_lshl_b32 s57, s58, 16
; SI-NEXT: s_and_b32 s6, s6, 0xffff
; SI-NEXT: s_lshl_b32 s56, s56, 16
; SI-NEXT: s_and_b32 s4, s4, 0xffff
; SI-NEXT: s_lshl_b32 s46, s46, 16
-; SI-NEXT: s_lshl_b32 s63, s34, 16
-; SI-NEXT: s_and_b32 s16, s16, 0xffff
-; SI-NEXT: s_or_b32 s17, s17, s61
-; SI-NEXT: s_lshl_b32 s61, s30, 16
-; SI-NEXT: s_and_b32 s18, s18, 0xffff
-; SI-NEXT: s_or_b32 s29, s29, s59
-; SI-NEXT: s_and_b32 s44, s44, 0xffff
-; SI-NEXT: s_lshl_b32 s59, s78, 16
+; SI-NEXT: s_or_b32 s27, s27, s59
+; SI-NEXT: s_and_b32 s28, s28, 0xffff
+; SI-NEXT: s_lshl_b32 s59, s88, 16
; SI-NEXT: s_or_b32 s8, s8, s57
; SI-NEXT: s_and_b32 s9, s9, 0xffff
; SI-NEXT: s_lshl_b32 s57, s39, 16
@@ -31145,13 +31179,11 @@ define inreg <64 x half> @bitcast_v32i32_to_v64f16_scalar(<32 x i32> inreg %a, i
; SI-NEXT: s_or_b32 s4, s4, s46
; SI-NEXT: s_and_b32 s5, s5, 0xffff
; SI-NEXT: s_lshl_b32 s46, s47, 16
-; SI-NEXT: s_or_b32 s16, s16, s63
-; SI-NEXT: s_or_b32 s18, s18, s61
-; SI-NEXT: s_or_b32 s44, s44, s59
+; SI-NEXT: s_or_b32 s28, s28, s59
; SI-NEXT: s_or_b32 s9, s9, s57
; SI-NEXT: s_or_b32 s7, s7, s56
; SI-NEXT: s_or_b32 s5, s5, s46
-; SI-NEXT: v_readlane_b32 s30, v32, 16
+; SI-NEXT: v_readlane_b32 s30, v32, 18
; SI-NEXT: v_mov_b32_e32 v0, s16
; SI-NEXT: v_mov_b32_e32 v1, s17
; SI-NEXT: v_mov_b32_e32 v2, s18
@@ -31184,7 +31216,9 @@ define inreg <64 x half> @bitcast_v32i32_to_v64f16_scalar(<32 x i32> inreg %a, i
; SI-NEXT: v_mov_b32_e32 v29, s7
; SI-NEXT: v_mov_b32_e32 v30, s4
; SI-NEXT: v_mov_b32_e32 v31, s5
-; SI-NEXT: v_readlane_b32 s31, v32, 17
+; SI-NEXT: v_readlane_b32 s31, v32, 19
+; SI-NEXT: v_readlane_b32 s67, v32, 17
+; SI-NEXT: v_readlane_b32 s66, v32, 16
; SI-NEXT: v_readlane_b32 s65, v32, 15
; SI-NEXT: v_readlane_b32 s64, v32, 14
; SI-NEXT: v_readlane_b32 s55, v32, 13
@@ -34102,8 +34136,10 @@ define inreg <64 x i16> @bitcast_v32i32_to_v64i16_scalar(<32 x i32> inreg %a, i3
; SI-NEXT: v_writelane_b32 v32, s55, 13
; SI-NEXT: v_writelane_b32 v32, s64, 14
; SI-NEXT: v_writelane_b32 v32, s65, 15
-; SI-NEXT: v_writelane_b32 v32, s30, 16
-; SI-NEXT: v_writelane_b32 v32, s31, 17
+; SI-NEXT: v_writelane_b32 v32, s66, 16
+; SI-NEXT: v_writelane_b32 v32, s67, 17
+; SI-NEXT: v_writelane_b32 v32, s30, 18
+; SI-NEXT: v_writelane_b32 v32, s31, 19
; SI-NEXT: v_readfirstlane_b32 s44, v18
; SI-NEXT: v_readfirstlane_b32 s5, v17
; SI-NEXT: v_readfirstlane_b32 s4, v16
@@ -34128,14 +34164,9 @@ define inreg <64 x i16> @bitcast_v32i32_to_v64i16_scalar(<32 x i32> inreg %a, i3
; SI-NEXT: ; %bb.1: ; %cmp.false
; SI-NEXT: s_lshr_b32 s56, s5, 16
; SI-NEXT: s_lshr_b64 s[46:47], s[4:5], 16
-; SI-NEXT: s_lshr_b32 s58, s45, 16
+; SI-NEXT: s_lshr_b32 s58, s29, 16
; SI-NEXT: s_mov_b32 s47, s56
; SI-NEXT: s_lshr_b64 s[56:57], s[6:7], 16
-; SI-NEXT: s_lshr_b32 s62, s19, 16
-; SI-NEXT: s_lshr_b32 s63, s17, 16
-; SI-NEXT: s_mov_b32 s57, s58
-; SI-NEXT: s_lshr_b64 s[60:61], s[8:9], 16
-; SI-NEXT: s_lshr_b64 s[58:59], s[10:11], 16
; SI-NEXT: s_lshr_b32 s38, s7, 16
; SI-NEXT: s_lshr_b32 s39, s9, 16
; SI-NEXT: s_lshr_b32 s48, s11, 16
@@ -34143,13 +34174,16 @@ define inreg <64 x i16> @bitcast_v32i32_to_v64i16_scalar(<32 x i32> inreg %a, i3
; SI-NEXT: s_lshr_b32 s50, s15, 16
; SI-NEXT: s_lshr_b32 s51, s41, 16
; SI-NEXT: s_lshr_b32 s52, s43, 16
-; SI-NEXT: s_lshr_b32 s53, s29, 16
+; SI-NEXT: s_lshr_b32 s53, s45, 16
; SI-NEXT: s_lshr_b32 s54, s27, 16
; SI-NEXT: s_lshr_b32 s55, s25, 16
; SI-NEXT: s_lshr_b32 s64, s23, 16
; SI-NEXT: s_lshr_b32 s65, s21, 16
-; SI-NEXT: s_mov_b32 s61, s63
-; SI-NEXT: s_mov_b32 s59, s62
+; SI-NEXT: s_lshr_b32 s66, s19, 16
+; SI-NEXT: s_lshr_b32 s67, s17, 16
+; SI-NEXT: s_mov_b32 s57, s58
+; SI-NEXT: s_lshr_b64 s[58:59], s[8:9], 16
+; SI-NEXT: s_lshr_b64 s[60:61], s[10:11], 16
; SI-NEXT: s_lshr_b64 s[62:63], s[12:13], 16
; SI-NEXT: s_lshr_b64 s[72:73], s[14:15], 16
; SI-NEXT: s_lshr_b64 s[74:75], s[40:41], 16
@@ -34167,9 +34201,9 @@ define inreg <64 x i16> @bitcast_v32i32_to_v64i16_scalar(<32 x i32> inreg %a, i3
; SI-NEXT: .LBB25_2:
; SI-NEXT: s_mov_b64 s[36:37], -1
; SI-NEXT: ; implicit-def: $sgpr34
-; SI-NEXT: ; implicit-def: $sgpr61
+; SI-NEXT: ; implicit-def: $sgpr67
; SI-NEXT: ; implicit-def: $sgpr30
-; SI-NEXT: ; implicit-def: $sgpr59
+; SI-NEXT: ; implicit-def: $sgpr66
; SI-NEXT: ; implicit-def: $vcc_lo
; SI-NEXT: ; implicit-def: $sgpr65
; SI-NEXT: ; implicit-def: $sgpr94
@@ -34179,9 +34213,9 @@ define inreg <64 x i16> @bitcast_v32i32_to_v64i16_scalar(<32 x i32> inreg %a, i3
; SI-NEXT: ; implicit-def: $sgpr90
; SI-NEXT: ; implicit-def: $sgpr54
; SI-NEXT: ; implicit-def: $sgpr88
-; SI-NEXT: ; implicit-def: $sgpr53
-; SI-NEXT: ; implicit-def: $sgpr78
; SI-NEXT: ; implicit-def: $sgpr57
+; SI-NEXT: ; implicit-def: $sgpr78
+; SI-NEXT: ; implicit-def: $sgpr53
; SI-NEXT: ; implicit-def: $sgpr76
; SI-NEXT: ; implicit-def: $sgpr52
; SI-NEXT: ; implicit-def: $sgpr74
@@ -34190,24 +34224,20 @@ define inreg <64 x i16> @bitcast_v32i32_to_v64i16_scalar(<32 x i32> inreg %a, i3
; SI-NEXT: ; implicit-def: $sgpr50
; SI-NEXT: ; implicit-def: $sgpr62
; SI-NEXT: ; implicit-def: $sgpr49
-; SI-NEXT: ; implicit-def: $sgpr58
+; SI-NEXT: ; implicit-def: $sgpr60
; SI-NEXT: ; implicit-def: $sgpr48
; SI-NEXT: ; implicit-def: $sgpr39
; SI-NEXT: ; implicit-def: $sgpr38
; SI-NEXT: ; implicit-def: $sgpr47
-; SI-NEXT: ; implicit-def: $sgpr60
+; SI-NEXT: ; implicit-def: $sgpr58
; SI-NEXT: ; implicit-def: $sgpr56
; SI-NEXT: ; implicit-def: $sgpr46
; SI-NEXT: .LBB25_3: ; %Flow
; SI-NEXT: s_and_b64 s[36:37], s[36:37], exec
-; SI-NEXT: s_cselect_b32 s63, 1, 0
-; SI-NEXT: s_cmp_lg_u32 s63, 1
+; SI-NEXT: s_cselect_b32 s59, 1, 0
+; SI-NEXT: s_cmp_lg_u32 s59, 1
; SI-NEXT: s_cbranch_scc1 .LBB25_5
; SI-NEXT: ; %bb.4: ; %cmp.true
-; SI-NEXT: s_add_i32 s11, s11, 3
-; SI-NEXT: s_add_i32 s10, s10, 3
-; SI-NEXT: s_add_i32 s9, s9, 3
-; SI-NEXT: s_add_i32 s8, s8, 3
; SI-NEXT: s_add_i32 s7, s7, 3
; SI-NEXT: s_add_i32 s6, s6, 3
; SI-NEXT: s_add_i32 s5, s5, 3
@@ -34236,10 +34266,14 @@ define inreg <64 x i16> @bitcast_v32i32_to_v64i16_scalar(<32 x i32> inreg %a, i3
; SI-NEXT: s_add_i32 s14, s14, 3
; SI-NEXT: s_add_i32 s13, s13, 3
; SI-NEXT: s_add_i32 s12, s12, 3
+; SI-NEXT: s_add_i32 s11, s11, 3
+; SI-NEXT: s_add_i32 s10, s10, 3
+; SI-NEXT: s_add_i32 s9, s9, 3
+; SI-NEXT: s_add_i32 s8, s8, 3
; SI-NEXT: s_lshr_b64 s[46:47], s[4:5], 16
; SI-NEXT: s_lshr_b64 s[56:57], s[6:7], 16
-; SI-NEXT: s_lshr_b64 s[60:61], s[8:9], 16
-; SI-NEXT: s_lshr_b64 s[58:59], s[10:11], 16
+; SI-NEXT: s_lshr_b64 s[58:59], s[8:9], 16
+; SI-NEXT: s_lshr_b64 s[60:61], s[10:11], 16
; SI-NEXT: s_lshr_b64 s[62:63], s[12:13], 16
; SI-NEXT: s_lshr_b64 s[72:73], s[14:15], 16
; SI-NEXT: s_lshr_b64 s[74:75], s[40:41], 16
@@ -34254,14 +34288,14 @@ define inreg <64 x i16> @bitcast_v32i32_to_v64i16_scalar(<32 x i32> inreg %a, i3
; SI-NEXT: s_lshr_b32 s50, s15, 16
; SI-NEXT: s_lshr_b32 s51, s41, 16
; SI-NEXT: s_lshr_b32 s52, s43, 16
-; SI-NEXT: s_lshr_b32 s57, s45, 16
-; SI-NEXT: s_lshr_b32 s53, s29, 16
+; SI-NEXT: s_lshr_b32 s53, s45, 16
+; SI-NEXT: s_lshr_b32 s57, s29, 16
; SI-NEXT: s_lshr_b32 s54, s27, 16
; SI-NEXT: s_lshr_b32 s55, s25, 16
; SI-NEXT: s_lshr_b32 s64, s23, 16
; SI-NEXT: s_lshr_b32 s65, s21, 16
-; SI-NEXT: s_lshr_b32 s59, s19, 16
-; SI-NEXT: s_lshr_b32 s61, s17, 16
+; SI-NEXT: s_lshr_b32 s66, s19, 16
+; SI-NEXT: s_lshr_b32 s67, s17, 16
; SI-NEXT: s_lshr_b64 s[90:91], s[26:27], 16
; SI-NEXT: s_lshr_b64 s[92:93], s[24:25], 16
; SI-NEXT: s_lshr_b64 s[94:95], s[22:23], 16
@@ -34269,87 +34303,89 @@ define inreg <64 x i16> @bitcast_v32i32_to_v64i16_scalar(<32 x i32> inreg %a, i3
; SI-NEXT: s_lshr_b64 s[30:31], s[18:19], 16
; SI-NEXT: s_lshr_b64 s[34:35], s[16:17], 16
; SI-NEXT: .LBB25_5: ; %end
-; SI-NEXT: s_and_b32 s45, s45, 0xffff
+; SI-NEXT: s_and_b32 s29, s29, 0xffff
; SI-NEXT: s_lshl_b32 s57, s57, 16
-; SI-NEXT: s_and_b32 s19, s19, 0xffff
-; SI-NEXT: s_lshl_b32 s59, s59, 16
+; SI-NEXT: s_or_b32 s29, s29, s57
+; SI-NEXT: s_and_b32 s44, s44, 0xffff
+; SI-NEXT: s_lshl_b32 s57, s78, 16
+; SI-NEXT: s_lshl_b32 s59, s34, 16
+; SI-NEXT: s_and_b32 s16, s16, 0xffff
+; SI-NEXT: s_or_b32 s44, s44, s57
+; SI-NEXT: s_and_b32 s45, s45, 0xffff
+; SI-NEXT: s_lshl_b32 s57, s53, 16
+; SI-NEXT: s_or_b32 s16, s16, s59
+; SI-NEXT: s_and_b32 s17, s17, 0xffff
+; SI-NEXT: s_lshl_b32 s59, s67, 16
; SI-NEXT: s_or_b32 s45, s45, s57
; SI-NEXT: s_and_b32 s42, s42, 0xffff
; SI-NEXT: s_lshl_b32 s57, s76, 16
-; SI-NEXT: s_or_b32 s19, s19, s59
-; SI-NEXT: s_lshl_b32 s59, vcc_lo, 16
-; SI-NEXT: s_and_b32 s20, s20, 0xffff
+; SI-NEXT: s_or_b32 s17, s17, s59
+; SI-NEXT: s_lshl_b32 s59, s30, 16
+; SI-NEXT: s_and_b32 s18, s18, 0xffff
; SI-NEXT: s_or_b32 s42, s42, s57
; SI-NEXT: s_and_b32 s43, s43, 0xffff
; SI-NEXT: s_lshl_b32 s57, s52, 16
-; SI-NEXT: s_or_b32 s20, s20, s59
-; SI-NEXT: s_and_b32 s21, s21, 0xffff
-; SI-NEXT: s_lshl_b32 s59, s65, 16
+; SI-NEXT: s_or_b32 s18, s18, s59
+; SI-NEXT: s_and_b32 s19, s19, 0xffff
+; SI-NEXT: s_lshl_b32 s59, s66, 16
; SI-NEXT: s_or_b32 s43, s43, s57
; SI-NEXT: s_and_b32 s40, s40, 0xffff
; SI-NEXT: s_lshl_b32 s57, s74, 16
-; SI-NEXT: s_or_b32 s21, s21, s59
-; SI-NEXT: s_lshl_b32 s59, s94, 16
-; SI-NEXT: s_and_b32 s22, s22, 0xffff
+; SI-NEXT: s_or_b32 s19, s19, s59
+; SI-NEXT: s_lshl_b32 s59, vcc_lo, 16
+; SI-NEXT: s_and_b32 s20, s20, 0xffff
; SI-NEXT: s_or_b32 s40, s40, s57
; SI-NEXT: s_and_b32 s41, s41, 0xffff
; SI-NEXT: s_lshl_b32 s57, s51, 16
-; SI-NEXT: s_or_b32 s22, s22, s59
-; SI-NEXT: s_and_b32 s23, s23, 0xffff
-; SI-NEXT: s_lshl_b32 s59, s64, 16
+; SI-NEXT: s_or_b32 s20, s20, s59
+; SI-NEXT: s_and_b32 s21, s21, 0xffff
+; SI-NEXT: s_lshl_b32 s59, s65, 16
; SI-NEXT: s_or_b32 s41, s41, s57
; SI-NEXT: s_and_b32 s14, s14, 0xffff
; SI-NEXT: s_lshl_b32 s57, s72, 16
-; SI-NEXT: s_or_b32 s23, s23, s59
-; SI-NEXT: s_lshl_b32 s59, s92, 16
-; SI-NEXT: s_and_b32 s24, s24, 0xffff
+; SI-NEXT: s_or_b32 s21, s21, s59
+; SI-NEXT: s_lshl_b32 s59, s94, 16
+; SI-NEXT: s_and_b32 s22, s22, 0xffff
; SI-NEXT: s_or_b32 s14, s14, s57
; SI-NEXT: s_and_b32 s15, s15, 0xffff
; SI-NEXT: s_lshl_b32 s57, s50, 16
-; SI-NEXT: s_or_b32 s24, s24, s59
-; SI-NEXT: s_and_b32 s25, s25, 0xffff
-; SI-NEXT: s_lshl_b32 s59, s55, 16
+; SI-NEXT: s_or_b32 s22, s22, s59
+; SI-NEXT: s_and_b32 s23, s23, 0xffff
+; SI-NEXT: s_lshl_b32 s59, s64, 16
; SI-NEXT: s_or_b32 s15, s15, s57
; SI-NEXT: s_and_b32 s12, s12, 0xffff
; SI-NEXT: s_lshl_b32 s57, s62, 16
-; SI-NEXT: s_or_b32 s25, s25, s59
-; SI-NEXT: s_and_b32 s26, s26, 0xffff
-; SI-NEXT: s_lshl_b32 s59, s90, 16
+; SI-NEXT: s_or_b32 s23, s23, s59
+; SI-NEXT: s_lshl_b32 s59, s92, 16
+; SI-NEXT: s_and_b32 s24, s24, 0xffff
; SI-NEXT: s_or_b32 s12, s12, s57
; SI-NEXT: s_and_b32 s13, s13, 0xffff
; SI-NEXT: s_lshl_b32 s57, s49, 16
-; SI-NEXT: s_or_b32 s26, s26, s59
-; SI-NEXT: s_and_b32 s27, s27, 0xffff
-; SI-NEXT: s_lshl_b32 s59, s54, 16
+; SI-NEXT: s_or_b32 s24, s24, s59
+; SI-NEXT: s_and_b32 s25, s25, 0xffff
+; SI-NEXT: s_lshl_b32 s59, s55, 16
; SI-NEXT: s_or_b32 s13, s13, s57
; SI-NEXT: s_and_b32 s10, s10, 0xffff
-; SI-NEXT: s_lshl_b32 s57, s58, 16
-; SI-NEXT: s_or_b32 s27, s27, s59
-; SI-NEXT: s_and_b32 s28, s28, 0xffff
-; SI-NEXT: s_lshl_b32 s59, s88, 16
+; SI-NEXT: s_lshl_b32 s57, s60, 16
+; SI-NEXT: s_or_b32 s25, s25, s59
+; SI-NEXT: s_and_b32 s26, s26, 0xffff
+; SI-NEXT: s_lshl_b32 s59, s90, 16
; SI-NEXT: s_or_b32 s10, s10, s57
; SI-NEXT: s_and_b32 s11, s11, 0xffff
; SI-NEXT: s_lshl_b32 s57, s48, 16
-; SI-NEXT: s_and_b32 s17, s17, 0xffff
-; SI-NEXT: s_lshl_b32 s61, s61, 16
-; SI-NEXT: s_or_b32 s28, s28, s59
-; SI-NEXT: s_and_b32 s29, s29, 0xffff
-; SI-NEXT: s_lshl_b32 s59, s53, 16
+; SI-NEXT: s_or_b32 s26, s26, s59
+; SI-NEXT: s_and_b32 s27, s27, 0xffff
+; SI-NEXT: s_lshl_b32 s59, s54, 16
; SI-NEXT: s_or_b32 s11, s11, s57
; SI-NEXT: s_and_b32 s8, s8, 0xffff
-; SI-NEXT: s_lshl_b32 s57, s60, 16
+; SI-NEXT: s_lshl_b32 s57, s58, 16
; SI-NEXT: s_and_b32 s6, s6, 0xffff
; SI-NEXT: s_lshl_b32 s56, s56, 16
; SI-NEXT: s_and_b32 s4, s4, 0xffff
; SI-NEXT: s_lshl_b32 s46, s46, 16
-; SI-NEXT: s_lshl_b32 s63, s34, 16
-; SI-NEXT: s_and_b32 s16, s16, 0xffff
-; SI-NEXT: s_or_b32 s17, s17, s61
-; SI-NEXT: s_lshl_b32 s61, s30, 16
-; SI-NEXT: s_and_b32 s18, s18, 0xffff
-; SI-NEXT: s_or_b32 s29, s29, s59
-; SI-NEXT: s_and_b32 s44, s44, 0xffff
-; SI-NEXT: s_lshl_b32 s59, s78, 16
+; SI-NEXT: s_or_b32 s27, s27, s59
+; SI-NEXT: s_and_b32 s28, s28, 0xffff
+; SI-NEXT: s_lshl_b32 s59, s88, 16
; SI-NEXT: s_or_b32 s8, s8, s57
; SI-NEXT: s_and_b32 s9, s9, 0xffff
; SI-NEXT: s_lshl_b32 s57, s39, 16
@@ -34359,13 +34395,11 @@ define inreg <64 x i16> @bitcast_v32i32_to_v64i16_scalar(<32 x i32> inreg %a, i3
; SI-NEXT: s_or_b32 s4, s4, s46
; SI-NEXT: s_and_b32 s5, s5, 0xffff
; SI-NEXT: s_lshl_b32 s46, s47, 16
-; SI-NEXT: s_or_b32 s16, s16, s63
-; SI-NEXT: s_or_b32 s18, s18, s61
-; SI-NEXT: s_or_b32 s44, s44, s59
+; SI-NEXT: s_or_b32 s28, s28, s59
; SI-NEXT: s_or_b32 s9, s9, s57
; SI-NEXT: s_or_b32 s7, s7, s56
; SI-NEXT: s_or_b32 s5, s5, s46
-; SI-NEXT: v_readlane_b32 s30, v32, 16
+; SI-NEXT: v_readlane_b32 s30, v32, 18
; SI-NEXT: v_mov_b32_e32 v0, s16
; SI-NEXT: v_mov_b32_e32 v1, s17
; SI-NEXT: v_mov_b32_e32 v2, s18
@@ -34398,7 +34432,9 @@ define inreg <64 x i16> @bitcast_v32i32_to_v64i16_scalar(<32 x i32> inreg %a, i3
; SI-NEXT: v_mov_b32_e32 v29, s7
; SI-NEXT: v_mov_b32_e32 v30, s4
; SI-NEXT: v_mov_b32_e32 v31, s5
-; SI-NEXT: v_readlane_b32 s31, v32, 17
+; SI-NEXT: v_readlane_b32 s31, v32, 19
+; SI-NEXT: v_readlane_b32 s67, v32, 17
+; SI-NEXT: v_readlane_b32 s66, v32, 16
; SI-NEXT: v_readlane_b32 s65, v32, 15
; SI-NEXT: v_readlane_b32 s64, v32, 14
; SI-NEXT: v_readlane_b32 s55, v32, 13
@@ -35590,11 +35626,11 @@ define inreg <32 x i32> @bitcast_v64i16_to_v32i32_scalar(<64 x i16> inreg %a, i3
; SI-NEXT: s_lshr_b32 s67, s7, 16
; SI-NEXT: s_lshr_b32 s10, s9, 16
; SI-NEXT: s_lshr_b32 s12, s11, 16
-; SI-NEXT: s_lshr_b32 s14, s13, 16
+; SI-NEXT: s_lshr_b32 s64, s13, 16
; SI-NEXT: s_lshr_b32 s63, s15, 16
-; SI-NEXT: s_lshr_b32 s62, s73, 16
-; SI-NEXT: s_lshr_b32 s61, s75, 16
-; SI-NEXT: s_lshr_b32 s60, s77, 16
+; SI-NEXT: s_lshr_b32 s72, s73, 16
+; SI-NEXT: s_lshr_b32 s74, s75, 16
+; SI-NEXT: s_lshr_b32 s76, s77, 16
; SI-NEXT: s_lshr_b32 s78, s79, 16
; SI-NEXT: s_lshr_b32 s88, s89, 16
; SI-NEXT: s_lshr_b32 s90, s91, 16
@@ -35609,8 +35645,8 @@ define inreg <32 x i32> @bitcast_v64i16_to_v32i32_scalar(<64 x i16> inreg %a, i3
; SI-NEXT: ; implicit-def: $vgpr33 : SGPR spill to VGPR lane
; SI-NEXT: s_cmp_lg_u32 s5, 0
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_writelane_b32 v33, s14, 0
-; SI-NEXT: v_writelane_b32 v33, s63, 1
+; SI-NEXT: v_writelane_b32 v33, s12, 0
+; SI-NEXT: v_writelane_b32 v33, s64, 1
; SI-NEXT: s_cbranch_scc0 .LBB27_2
; SI-NEXT: ; %bb.1: ; %cmp.false
; SI-NEXT: s_and_b32 s5, s16, 0xffff
@@ -35687,22 +35723,20 @@ define inreg <32 x i32> @bitcast_v64i16_to_v32i32_scalar(<64 x i16> inreg %a, i3
; SI-NEXT: s_lshl_b32 s5, s78, 16
; SI-NEXT: s_or_b32 s59, s4, s5
; SI-NEXT: s_and_b32 s4, s77, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s60, 16
-; SI-NEXT: s_mov_b32 s74, s60
+; SI-NEXT: s_lshl_b32 s5, s76, 16
; SI-NEXT: s_or_b32 s60, s4, s5
; SI-NEXT: s_and_b32 s4, s75, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s61, 16
-; SI-NEXT: s_mov_b32 s76, s61
+; SI-NEXT: s_lshl_b32 s5, s74, 16
; SI-NEXT: s_or_b32 s61, s4, s5
; SI-NEXT: s_and_b32 s4, s73, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s62, 16
-; SI-NEXT: s_mov_b32 s72, s62
+; SI-NEXT: s_lshl_b32 s5, s72, 16
; SI-NEXT: s_or_b32 s62, s4, s5
; SI-NEXT: s_and_b32 s4, s15, 0xffff
; SI-NEXT: s_lshl_b32 s5, s63, 16
+; SI-NEXT: s_mov_b32 s14, s63
; SI-NEXT: s_or_b32 s63, s4, s5
; SI-NEXT: s_and_b32 s4, s13, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s14, 16
+; SI-NEXT: s_lshl_b32 s5, s64, 16
; SI-NEXT: s_or_b32 s64, s4, s5
; SI-NEXT: s_and_b32 s4, s11, 0xffff
; SI-NEXT: s_lshl_b32 s5, s12, 16
@@ -35712,17 +35746,13 @@ define inreg <32 x i32> @bitcast_v64i16_to_v32i32_scalar(<64 x i16> inreg %a, i3
; SI-NEXT: s_or_b32 s66, s4, s5
; SI-NEXT: s_and_b32 s4, s7, 0xffff
; SI-NEXT: s_lshl_b32 s5, s67, 16
-; SI-NEXT: s_mov_b32 s14, s12
; SI-NEXT: s_mov_b32 s12, s10
; SI-NEXT: s_mov_b32 s10, s67
; SI-NEXT: s_or_b32 s67, s4, s5
; SI-NEXT: s_mov_b64 s[4:5], 0
; SI-NEXT: s_branch .LBB27_3
; SI-NEXT: .LBB27_2:
-; SI-NEXT: s_mov_b32 s74, s60
-; SI-NEXT: s_mov_b32 s76, s61
-; SI-NEXT: s_mov_b32 s72, s62
-; SI-NEXT: s_mov_b32 s14, s12
+; SI-NEXT: s_mov_b32 s14, s63
; SI-NEXT: s_mov_b32 s12, s10
; SI-NEXT: s_mov_b32 s10, s67
; SI-NEXT: s_mov_b32 s8, s4
@@ -35856,12 +35886,12 @@ define inreg <32 x i32> @bitcast_v64i16_to_v32i32_scalar(<64 x i16> inreg %a, i3
; SI-NEXT: s_add_i32 s77, s77, 3
; SI-NEXT: s_add_i32 s59, s4, 0x30000
; SI-NEXT: s_and_b32 s4, s77, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s74, 16
+; SI-NEXT: s_lshl_b32 s5, s76, 16
; SI-NEXT: s_or_b32 s4, s5, s4
; SI-NEXT: s_add_i32 s75, s75, 3
; SI-NEXT: s_add_i32 s60, s4, 0x30000
; SI-NEXT: s_and_b32 s4, s75, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s76, 16
+; SI-NEXT: s_lshl_b32 s5, s74, 16
; SI-NEXT: s_or_b32 s4, s5, s4
; SI-NEXT: s_add_i32 s73, s73, 3
; SI-NEXT: s_add_i32 s61, s4, 0x30000
@@ -35869,21 +35899,21 @@ define inreg <32 x i32> @bitcast_v64i16_to_v32i32_scalar(<64 x i16> inreg %a, i3
; SI-NEXT: s_lshl_b32 s5, s72, 16
; SI-NEXT: s_or_b32 s4, s5, s4
; SI-NEXT: s_add_i32 s15, s15, 3
-; SI-NEXT: v_readlane_b32 s5, v33, 1
; SI-NEXT: s_add_i32 s62, s4, 0x30000
; SI-NEXT: s_and_b32 s4, s15, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s5, 16
+; SI-NEXT: s_lshl_b32 s5, s14, 16
; SI-NEXT: s_or_b32 s4, s5, s4
; SI-NEXT: s_add_i32 s13, s13, 3
-; SI-NEXT: v_readlane_b32 s5, v33, 0
+; SI-NEXT: v_readlane_b32 s5, v33, 1
; SI-NEXT: s_add_i32 s63, s4, 0x30000
; SI-NEXT: s_and_b32 s4, s13, 0xffff
; SI-NEXT: s_lshl_b32 s5, s5, 16
; SI-NEXT: s_or_b32 s4, s5, s4
; SI-NEXT: s_add_i32 s11, s11, 3
+; SI-NEXT: v_readlane_b32 s5, v33, 0
; SI-NEXT: s_add_i32 s64, s4, 0x30000
; SI-NEXT: s_and_b32 s4, s11, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s14, 16
+; SI-NEXT: s_lshl_b32 s5, s5, 16
; SI-NEXT: s_or_b32 s4, s5, s4
; SI-NEXT: s_add_i32 s9, s9, 3
; SI-NEXT: s_add_i32 s65, s4, 0x30000
@@ -40756,12 +40786,18 @@ define <128 x i8> @bitcast_v32f32_to_v128i8(<32 x float> %a, i32 %b) #0 {
; VI-NEXT: ; implicit-def: $vgpr39
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
+; VI-NEXT: ; implicit-def: $vgpr35
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
+; VI-NEXT: ; kill: killed $vgpr35
+; VI-NEXT: ; implicit-def: $vgpr35
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
+; VI-NEXT: ; kill: killed $vgpr35
+; VI-NEXT: ; implicit-def: $vgpr35
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
+; VI-NEXT: ; kill: killed $vgpr35
; VI-NEXT: ; implicit-def: $vgpr35
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
@@ -40805,71 +40841,66 @@ define <128 x i8> @bitcast_v32f32_to_v128i8(<32 x float> %a, i32 %b) #0 {
; VI-NEXT: ; implicit-def: $vgpr35
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr34
; VI-NEXT: ; kill: killed $vgpr35
; VI-NEXT: ; implicit-def: $vgpr35
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr34
-; VI-NEXT: ; implicit-def: $vgpr34
; VI-NEXT: ; kill: killed $vgpr35
; VI-NEXT: ; implicit-def: $vgpr35
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr34
-; VI-NEXT: ; implicit-def: $vgpr34
; VI-NEXT: ; kill: killed $vgpr35
; VI-NEXT: ; implicit-def: $vgpr35
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr34
-; VI-NEXT: ; implicit-def: $vgpr34
; VI-NEXT: ; kill: killed $vgpr35
; VI-NEXT: ; implicit-def: $vgpr35
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr34
-; VI-NEXT: ; implicit-def: $vgpr34
; VI-NEXT: ; kill: killed $vgpr35
; VI-NEXT: ; implicit-def: $vgpr35
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr34
-; VI-NEXT: ; implicit-def: $vgpr34
; VI-NEXT: ; kill: killed $vgpr35
; VI-NEXT: ; implicit-def: $vgpr35
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr34
-; VI-NEXT: ; implicit-def: $vgpr34
-; VI-NEXT: ; implicit-def: $vgpr36
; VI-NEXT: ; kill: killed $vgpr35
+; VI-NEXT: ; implicit-def: $vgpr35
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
+; VI-NEXT: ; kill: killed $vgpr35
; VI-NEXT: ; implicit-def: $vgpr35
+; VI-NEXT: ; kill: killed $vgpr39
+; VI-NEXT: ; implicit-def: $vgpr39
+; VI-NEXT: ; implicit-def: $vgpr43
+; VI-NEXT: ; kill: killed $vgpr35
+; VI-NEXT: ; implicit-def: $vgpr35
+; VI-NEXT: ; kill: killed $vgpr39
+; VI-NEXT: ; implicit-def: $vgpr39
+; VI-NEXT: ; implicit-def: $vgpr42
; VI-NEXT: ; implicit-def: $vgpr63
-; VI-NEXT: ; implicit-def: $vgpr62
-; VI-NEXT: ; implicit-def: $vgpr45
-; VI-NEXT: ; implicit-def: $vgpr44
+; VI-NEXT: ; implicit-def: $vgpr34
; VI-NEXT: ; implicit-def: $vgpr61
-; VI-NEXT: ; implicit-def: $vgpr51
; VI-NEXT: ; implicit-def: $vgpr60
-; VI-NEXT: ; implicit-def: $vgpr48
+; VI-NEXT: ; implicit-def: $vgpr44
; VI-NEXT: ; implicit-def: $vgpr59
; VI-NEXT: ; implicit-def: $vgpr58
-; VI-NEXT: ; implicit-def: $vgpr57
-; VI-NEXT: ; implicit-def: $vgpr56
; VI-NEXT: ; implicit-def: $vgpr50
+; VI-NEXT: ; implicit-def: $vgpr62
+; VI-NEXT: ; implicit-def: $vgpr56
+; VI-NEXT: ; implicit-def: $vgpr37
; VI-NEXT: ; implicit-def: $vgpr47
-; VI-NEXT: ; implicit-def: $vgpr38
; VI-NEXT: ; implicit-def: $vgpr46
; VI-NEXT: ; implicit-def: $vgpr49
-; VI-NEXT: ; kill: killed $vgpr34
-; VI-NEXT: ; implicit-def: $vgpr37
-; VI-NEXT: ; implicit-def: $vgpr43
-; VI-NEXT: ; implicit-def: $vgpr34
+; VI-NEXT: ; implicit-def: $vgpr45
+; VI-NEXT: ; implicit-def: $vgpr48
+; VI-NEXT: ; implicit-def: $vgpr57
+; VI-NEXT: ; implicit-def: $vgpr38
+; VI-NEXT: ; kill: killed $vgpr35
+; VI-NEXT: ; implicit-def: $vgpr36
+; VI-NEXT: ; implicit-def: $vgpr35
; VI-NEXT: ; implicit-def: $vgpr55
-; VI-NEXT: ; implicit-def: $vgpr42
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr41
; VI-NEXT: ; implicit-def: $vgpr40
@@ -40877,35 +40908,33 @@ define <128 x i8> @bitcast_v32f32_to_v128i8(<32 x float> %a, i32 %b) #0 {
; VI-NEXT: ; implicit-def: $vgpr54
; VI-NEXT: ; implicit-def: $vgpr53
; VI-NEXT: ; implicit-def: $vgpr52
-; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr35
-; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr35
-; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr35
-; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr35
-; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr35
-; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr35
-; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr35
-; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr35
-; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr35
-; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr51
+; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr42
+; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr42
+; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr42
+; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr42
+; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr42
+; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr42
+; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr42
+; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr42
+; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
; VI-NEXT: s_waitcnt vmcnt(14)
; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v33
; VI-NEXT: ; implicit-def: $vgpr33
@@ -40914,180 +40943,181 @@ define <128 x i8> @bitcast_v32f32_to_v128i8(<32 x float> %a, i32 %b) #0 {
; VI-NEXT: s_cbranch_execz .LBB36_2
; VI-NEXT: ; %bb.1: ; %cmp.false
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v32
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v32
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v32
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v31
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v31
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v30
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v30
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v30
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v29
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v29
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v28
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v28
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v28
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v27
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v27
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v26
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v26
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v26
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v25
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v25
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v24
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v24
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v24
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v23
-; VI-NEXT: v_lshrrev_b64 v[52:53], 24, v[31:32]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v23
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[51:52], 24, v[31:32]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v22
-; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v22
-; VI-NEXT: v_lshrrev_b64 v[52:53], 24, v[29:30]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v22
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[51:52], 24, v[29:30]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v21
-; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v21
-; VI-NEXT: v_lshrrev_b64 v[52:53], 24, v[27:28]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v20
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[51:52], 24, v[27:28]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v20
-; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v20
+; VI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v19
-; VI-NEXT: v_lshrrev_b64 v[52:53], 24, v[25:26]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v18
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v18
-; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[51:52], 24, v[25:26]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v18
-; VI-NEXT: v_lshrrev_b64 v[52:53], 24, v[23:24]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v17
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v17
-; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v16
-; VI-NEXT: v_lshrrev_b64 v[52:53], 24, v[21:22]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[51:52], 24, v[23:24]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v16
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v16
-; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v15
-; VI-NEXT: v_lshrrev_b64 v[52:53], 24, v[19:20]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[51:52], 24, v[21:22]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v15
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v14
-; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v14
-; VI-NEXT: v_lshrrev_b64 v[52:53], 24, v[17:18]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[51:52], 24, v[19:20]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v14
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v13
-; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v13
+; VI-NEXT: v_lshrrev_b64 v[51:52], 24, v[17:18]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v12
-; VI-NEXT: v_lshrrev_b64 v[52:53], 24, v[15:16]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v12
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v12
+; VI-NEXT: v_lshrrev_b64 v[51:52], 24, v[15:16]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v10
-; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v10
-; VI-NEXT: v_lshrrev_b64 v[52:53], 24, v[13:14]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v8
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[51:52], 24, v[13:14]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v8
-; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v6
; VI-NEXT: v_lshrrev_b64 v[52:53], 24, v[11:12]
-; VI-NEXT: v_lshrrev_b64 v[39:40], 24, v[5:6]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v6
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v6
; VI-NEXT: v_lshrrev_b64 v[53:54], 24, v[9:10]
-; VI-NEXT: v_lshrrev_b64 v[40:41], 24, v[3:4]
-; VI-NEXT: v_lshrrev_b32_e32 v35, 8, v20
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v4
+; VI-NEXT: v_lshrrev_b32_e32 v39, 8, v19
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v6
; VI-NEXT: v_lshrrev_b64 v[54:55], 24, v[7:8]
-; VI-NEXT: v_lshrrev_b64 v[41:42], 24, v[1:2]
-; VI-NEXT: v_lshrrev_b32_e32 v36, 8, v13
-; VI-NEXT: v_lshrrev_b32_e32 v34, 8, v12
-; VI-NEXT: v_lshrrev_b32_e32 v43, 16, v11
-; VI-NEXT: v_lshrrev_b32_e32 v37, 8, v11
-; VI-NEXT: v_lshrrev_b32_e32 v49, 8, v10
-; VI-NEXT: v_lshrrev_b32_e32 v46, 16, v9
-; VI-NEXT: v_lshrrev_b32_e32 v38, 8, v9
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v4
+; VI-NEXT: v_mov_b32_e32 v55, v39
+; VI-NEXT: v_lshrrev_b64 v[39:40], 24, v[5:6]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v4
+; VI-NEXT: v_lshrrev_b64 v[40:41], 24, v[3:4]
+; VI-NEXT: v_lshrrev_b32_e32 v35, 24, v18
+; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v18
+; VI-NEXT: v_lshrrev_b32_e32 v38, 24, v16
+; VI-NEXT: v_lshrrev_b32_e32 v57, 16, v11
+; VI-NEXT: v_lshrrev_b32_e32 v48, 8, v11
+; VI-NEXT: v_lshrrev_b32_e32 v45, 8, v10
+; VI-NEXT: v_lshrrev_b32_e32 v49, 16, v9
+; VI-NEXT: v_lshrrev_b32_e32 v46, 8, v9
; VI-NEXT: v_lshrrev_b32_e32 v47, 8, v8
-; VI-NEXT: v_lshrrev_b32_e32 v50, 16, v7
+; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v7
; VI-NEXT: v_lshrrev_b32_e32 v56, 8, v7
-; VI-NEXT: v_lshrrev_b32_e32 v57, 8, v6
-; VI-NEXT: v_lshrrev_b32_e32 v58, 16, v5
-; VI-NEXT: v_lshrrev_b32_e32 v59, 8, v5
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v48, 16, v4
-; VI-NEXT: v_lshrrev_b32_e32 v60, 8, v4
-; VI-NEXT: v_lshrrev_b32_e32 v51, 16, v3
-; VI-NEXT: v_lshrrev_b32_e32 v61, 8, v3
+; VI-NEXT: v_lshrrev_b32_e32 v62, 8, v6
+; VI-NEXT: v_lshrrev_b32_e32 v50, 16, v5
+; VI-NEXT: v_lshrrev_b32_e32 v43, 8, v5
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v58, 8, v4
+; VI-NEXT: v_lshrrev_b32_e32 v59, 16, v3
+; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v3
; VI-NEXT: v_lshrrev_b32_e32 v44, 24, v2
-; VI-NEXT: v_lshrrev_b32_e32 v45, 16, v2
-; VI-NEXT: v_lshrrev_b32_e32 v62, 8, v2
-; VI-NEXT: v_lshrrev_b32_e32 v63, 16, v1
-; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v1
-; VI-NEXT: v_lshrrev_b32_e32 v55, 8, v19
-; VI-NEXT: v_mov_b32_e32 v42, v35
+; VI-NEXT: v_lshrrev_b32_e32 v60, 16, v2
+; VI-NEXT: v_lshrrev_b32_e32 v61, 8, v2
+; VI-NEXT: v_lshrrev_b32_e32 v34, 16, v1
+; VI-NEXT: v_lshrrev_b32_e32 v63, 8, v1
+; VI-NEXT: v_lshrrev_b64 v[41:42], 24, v[1:2]
; VI-NEXT: .LBB36_2: ; %Flow
-; VI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]
+; VI-NEXT: s_or_saveexec_b64 s[4:5], s[4:5]
+; VI-NEXT: v_mov_b32_e32 v42, v38
+; VI-NEXT: s_xor_b64 exec, exec, s[4:5]
; VI-NEXT: s_cbranch_execz .LBB36_4
; VI-NEXT: ; %bb.3: ; %cmp.true
; VI-NEXT: v_add_f32_e32 v32, 1.0, v32
@@ -41133,326 +41163,326 @@ define <128 x i8> @bitcast_v32f32_to_v128i8(<32 x float> %a, i32 %b) #0 {
; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b64 v[33:34], 24, v[15:16]
-; VI-NEXT: v_add_f32_e32 v14, 1.0, v14
-; VI-NEXT: v_add_f32_e32 v13, 1.0, v13
; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[33:34], 24, v[13:14]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v32
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v32
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v32
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v31
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v31
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v30
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v30
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v30
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v29
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v29
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v28
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v28
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v28
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v27
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v27
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v26
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v26
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v26
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v25
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v25
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v24
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v24
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v24
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v23
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v23
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v22
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v22
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v22
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v21
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v21
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v20
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v20
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v20
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v19
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v18
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v18
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v18
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v17
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v17
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v16
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v16
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v16
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v15
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
+; VI-NEXT: v_add_f32_e32 v14, 1.0, v14
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v15
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v14
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v14
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
+; VI-NEXT: v_add_f32_e32 v13, 1.0, v13
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v14
-; VI-NEXT: v_add_f32_e32 v12, 1.0, v12
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v13
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
+; VI-NEXT: v_add_f32_e32 v12, 1.0, v12
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v13
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v12
-; VI-NEXT: v_add_f32_e32 v10, 1.0, v10
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v12
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
+; VI-NEXT: v_add_f32_e32 v10, 1.0, v10
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v12
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v10
; VI-NEXT: v_add_f32_e32 v8, 1.0, v8
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v10
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v8
; VI-NEXT: v_add_f32_e32 v6, 1.0, v6
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v8
; VI-NEXT: v_add_f32_e32 v5, 1.0, v5
; VI-NEXT: v_add_f32_e32 v11, 1.0, v11
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v8
+; VI-NEXT: v_lshrrev_b64 v[51:52], 24, v[13:14]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v6
; VI-NEXT: v_add_f32_e32 v4, 1.0, v4
; VI-NEXT: v_add_f32_e32 v3, 1.0, v3
; VI-NEXT: v_add_f32_e32 v9, 1.0, v9
; VI-NEXT: v_lshrrev_b64 v[52:53], 24, v[11:12]
; VI-NEXT: v_lshrrev_b64 v[39:40], 24, v[5:6]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v6
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v6
; VI-NEXT: v_add_f32_e32 v2, 1.0, v2
; VI-NEXT: v_add_f32_e32 v1, 1.0, v1
; VI-NEXT: v_add_f32_e32 v7, 1.0, v7
; VI-NEXT: v_lshrrev_b64 v[53:54], 24, v[9:10]
; VI-NEXT: v_lshrrev_b64 v[40:41], 24, v[3:4]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v6
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v4
; VI-NEXT: v_lshrrev_b64 v[54:55], 24, v[7:8]
; VI-NEXT: v_lshrrev_b64 v[41:42], 24, v[1:2]
; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v4
-; VI-NEXT: v_lshrrev_b32_e32 v42, 8, v20
+; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v4
; VI-NEXT: v_lshrrev_b32_e32 v55, 8, v19
-; VI-NEXT: v_lshrrev_b32_e32 v36, 8, v13
-; VI-NEXT: v_lshrrev_b32_e32 v34, 8, v12
-; VI-NEXT: v_lshrrev_b32_e32 v43, 16, v11
-; VI-NEXT: v_lshrrev_b32_e32 v37, 8, v11
-; VI-NEXT: v_lshrrev_b32_e32 v49, 8, v10
-; VI-NEXT: v_lshrrev_b32_e32 v46, 16, v9
-; VI-NEXT: v_lshrrev_b32_e32 v38, 8, v9
+; VI-NEXT: v_lshrrev_b32_e32 v35, 24, v18
+; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v18
+; VI-NEXT: v_lshrrev_b32_e32 v42, 24, v16
+; VI-NEXT: v_lshrrev_b32_e32 v57, 16, v11
+; VI-NEXT: v_lshrrev_b32_e32 v48, 8, v11
+; VI-NEXT: v_lshrrev_b32_e32 v45, 8, v10
+; VI-NEXT: v_lshrrev_b32_e32 v49, 16, v9
+; VI-NEXT: v_lshrrev_b32_e32 v46, 8, v9
; VI-NEXT: v_lshrrev_b32_e32 v47, 8, v8
-; VI-NEXT: v_lshrrev_b32_e32 v50, 16, v7
+; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v7
; VI-NEXT: v_lshrrev_b32_e32 v56, 8, v7
-; VI-NEXT: v_lshrrev_b32_e32 v57, 8, v6
-; VI-NEXT: v_lshrrev_b32_e32 v58, 16, v5
-; VI-NEXT: v_lshrrev_b32_e32 v59, 8, v5
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v48, 16, v4
-; VI-NEXT: v_lshrrev_b32_e32 v60, 8, v4
-; VI-NEXT: v_lshrrev_b32_e32 v51, 16, v3
-; VI-NEXT: v_lshrrev_b32_e32 v61, 8, v3
+; VI-NEXT: v_lshrrev_b32_e32 v62, 8, v6
+; VI-NEXT: v_lshrrev_b32_e32 v50, 16, v5
+; VI-NEXT: v_lshrrev_b32_e32 v43, 8, v5
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v58, 8, v4
+; VI-NEXT: v_lshrrev_b32_e32 v59, 16, v3
+; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v3
; VI-NEXT: v_lshrrev_b32_e32 v44, 24, v2
-; VI-NEXT: v_lshrrev_b32_e32 v45, 16, v2
-; VI-NEXT: v_lshrrev_b32_e32 v62, 8, v2
-; VI-NEXT: v_lshrrev_b32_e32 v63, 16, v1
-; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v1
+; VI-NEXT: v_lshrrev_b32_e32 v60, 16, v2
+; VI-NEXT: v_lshrrev_b32_e32 v61, 8, v2
+; VI-NEXT: v_lshrrev_b32_e32 v34, 16, v1
+; VI-NEXT: v_lshrrev_b32_e32 v63, 8, v1
; VI-NEXT: .LBB36_4: ; %end
; VI-NEXT: s_or_b64 exec, exec, s[4:5]
+; VI-NEXT: buffer_load_dword v38, off, s[0:3], s32 offset:372 ; 4-byte Folded Reload
; VI-NEXT: s_mov_b32 s4, 0xc0c0004
-; VI-NEXT: v_perm_b32 v12, v12, v34, s4
-; VI-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:372 ; 4-byte Folded Reload
-; VI-NEXT: v_perm_b32 v13, v13, v36, s4
-; VI-NEXT: v_perm_b32 v1, v1, v33, s4
-; VI-NEXT: v_perm_b32 v33, v51, v40, s4
-; VI-NEXT: v_perm_b32 v51, v46, v53, s4
-; VI-NEXT: v_perm_b32 v9, v9, v38, s4
-; VI-NEXT: v_perm_b32 v38, v43, v52, s4
-; VI-NEXT: v_perm_b32 v11, v11, v37, s4
-; VI-NEXT: v_perm_b32 v41, v63, v41, s4
-; VI-NEXT: v_perm_b32 v10, v10, v49, s4
-; VI-NEXT: v_perm_b32 v2, v2, v62, s4
-; VI-NEXT: v_perm_b32 v3, v3, v61, s4
-; VI-NEXT: v_perm_b32 v4, v4, v60, s4
-; VI-NEXT: v_perm_b32 v39, v58, v39, s4
-; VI-NEXT: v_perm_b32 v5, v5, v59, s4
-; VI-NEXT: v_perm_b32 v6, v6, v57, s4
-; VI-NEXT: v_perm_b32 v50, v50, v54, s4
+; VI-NEXT: v_perm_b32 v11, v11, v48, s4
+; VI-NEXT: v_perm_b32 v3, v3, v33, s4
+; VI-NEXT: v_perm_b32 v33, v50, v39, s4
+; VI-NEXT: v_perm_b32 v39, v49, v53, s4
+; VI-NEXT: v_perm_b32 v49, v57, v52, s4
+; VI-NEXT: v_perm_b32 v34, v34, v41, s4
+; VI-NEXT: v_perm_b32 v1, v1, v63, s4
+; VI-NEXT: v_lshlrev_b32_e32 v34, 16, v34
+; VI-NEXT: v_or_b32_e32 v1, v1, v34
+; VI-NEXT: v_perm_b32 v2, v2, v61, s4
+; VI-NEXT: v_perm_b32 v40, v59, v40, s4
+; VI-NEXT: v_perm_b32 v4, v4, v58, s4
+; VI-NEXT: v_perm_b32 v5, v5, v43, s4
+; VI-NEXT: v_perm_b32 v6, v6, v62, s4
+; VI-NEXT: v_perm_b32 v37, v37, v54, s4
; VI-NEXT: v_perm_b32 v7, v7, v56, s4
; VI-NEXT: v_perm_b32 v8, v8, v47, s4
+; VI-NEXT: v_perm_b32 v9, v9, v46, s4
+; VI-NEXT: v_perm_b32 v10, v10, v45, s4
+; VI-NEXT: buffer_load_dword v48, off, s[0:3], s32 offset:360 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(1)
+; VI-NEXT: v_perm_b32 v12, v12, v38, s4
+; VI-NEXT: buffer_load_dword v38, off, s[0:3], s32 offset:356 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(1)
+; VI-NEXT: v_perm_b32 v13, v13, v48, s4
+; VI-NEXT: buffer_load_dword v48, off, s[0:3], s32 offset:352 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(1)
+; VI-NEXT: v_perm_b32 v38, v38, v51, s4
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v34, v35, v34, s4
-; VI-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:368 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v14, v14, v35, s4
-; VI-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v36, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v36, off, s[0:3], s32 offset:352 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v35, v36, v35, s4
-; VI-NEXT: buffer_load_dword v36, off, s[0:3], s32 offset:356 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v14, v14, v48, s4
+; VI-NEXT: buffer_load_dword v48, off, s[0:3], s32 offset:336 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(1)
+; VI-NEXT: v_perm_b32 v48, v48, v50, s4
+; VI-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:340 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v15, v15, v36, s4
-; VI-NEXT: buffer_load_dword v36, off, s[0:3], s32 offset:344 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v15, v15, v50, s4
+; VI-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:328 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v16, v16, v36, s4
-; VI-NEXT: buffer_load_dword v36, off, s[0:3], s32 offset:328 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v16, v16, v50, s4
+; VI-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:312 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_perm_b32 v37, v36, v52, s4
-; VI-NEXT: buffer_load_dword v36, off, s[0:3], s32 offset:336 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v50, v50, v51, s4
+; VI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:320 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v17, v17, v36, s4
-; VI-NEXT: buffer_load_dword v36, off, s[0:3], s32 offset:320 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v17, v17, v51, s4
+; VI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:304 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v18, v18, v36, s4
-; VI-NEXT: buffer_load_dword v36, off, s[0:3], s32 offset:308 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v18, v18, v51, s4
+; VI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_perm_b32 v49, v36, v52, s4
-; VI-NEXT: v_lshlrev_b32_e32 v52, 16, v41
-; VI-NEXT: v_or_b32_e32 v1, v1, v52
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen
-; VI-NEXT: v_perm_b32 v1, v45, v44, s4
+; VI-NEXT: v_perm_b32 v1, v60, v44, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v2, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:4
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v33
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v40
; VI-NEXT: v_or_b32_e32 v1, v3, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:8
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:376 ; 4-byte Folded Reload
-; VI-NEXT: v_perm_b32 v3, v20, v42, s4
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:364 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:368 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(6)
+; VI-NEXT: v_perm_b32 v51, v51, v52, s4
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v48, v1, s4
+; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v4, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:12
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v39
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v33
; VI-NEXT: v_or_b32_e32 v1, v5, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:16
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:360 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:364 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:344 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:348 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v6, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:20
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v50
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v37
; VI-NEXT: v_or_b32_e32 v1, v7, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:24
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:340 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:348 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:324 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:332 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v8, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:28
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v51
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v39
; VI-NEXT: v_or_b32_e32 v1, v9, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:32
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:324 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:332 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:308 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:316 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v10, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:36
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v38
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v49
; VI-NEXT: v_or_b32_e32 v1, v11, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:40
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:312 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:316 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:300 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v12, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:44
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v34
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v38
; VI-NEXT: v_or_b32_e32 v1, v13, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:48
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:300 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:304 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
+; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v51
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v14, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:52
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v35
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v48
; VI-NEXT: v_or_b32_e32 v1, v15, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:56
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:280 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v2, v1, s4
+; VI-NEXT: v_perm_b32 v1, v1, v42, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v16, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:60
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v37
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v50
; VI-NEXT: v_or_b32_e32 v1, v17, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:64
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v2, v1, s4
+; VI-NEXT: v_perm_b32 v1, v36, v35, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v18, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:68
; VI-NEXT: v_perm_b32 v1, v19, v55, s4
-; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v49
; VI-NEXT: v_or_b32_e32 v1, v1, v2
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:72
; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:276 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:280 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_perm_b32 v3, v20, v1, s4
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:268 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:272 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v3, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:76
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:272 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v2, v21, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:268 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
@@ -41460,20 +41490,20 @@ define <128 x i8> @bitcast_v32f32_to_v128i8(<32 x float> %a, i32 %b) #0 {
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v2, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:80
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v3, v22, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v3, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:84
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v2, v23, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
@@ -41481,20 +41511,20 @@ define <128 x i8> @bitcast_v32f32_to_v128i8(<32 x float> %a, i32 %b) #0 {
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v2, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:88
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v3, v24, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v3, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:92
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v2, v25, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
@@ -41502,20 +41532,20 @@ define <128 x i8> @bitcast_v32f32_to_v128i8(<32 x float> %a, i32 %b) #0 {
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v2, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:96
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v3, v26, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v3, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:100
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v2, v27, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
@@ -41523,20 +41553,20 @@ define <128 x i8> @bitcast_v32f32_to_v128i8(<32 x float> %a, i32 %b) #0 {
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v2, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:104
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v3, v28, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v3, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:108
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v2, v29, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
@@ -41544,20 +41574,20 @@ define <128 x i8> @bitcast_v32f32_to_v128i8(<32 x float> %a, i32 %b) #0 {
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v2, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:112
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v3, v30, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v3, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:116
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v2, v31, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
@@ -41565,11 +41595,11 @@ define <128 x i8> @bitcast_v32f32_to_v128i8(<32 x float> %a, i32 %b) #0 {
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v2, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:120
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v3, v32, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
@@ -41673,90 +41703,40 @@ define <128 x i8> @bitcast_v32f32_to_v128i8(<32 x float> %a, i32 %b) #0 {
; GFX9-NEXT: ; implicit-def: $vgpr39
; GFX9-NEXT: ; kill: killed $vgpr39
; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr34
; GFX9-NEXT: ; kill: killed $vgpr39
; GFX9-NEXT: ; implicit-def: $vgpr39
-; GFX9-NEXT: ; kill: killed $vgpr39
-; GFX9-NEXT: ; implicit-def: $vgpr39
-; GFX9-NEXT: ; kill: killed $vgpr39
-; GFX9-NEXT: ; implicit-def: $vgpr39
-; GFX9-NEXT: ; implicit-def: $vgpr43
-; GFX9-NEXT: ; kill: killed $vgpr39
-; GFX9-NEXT: ; implicit-def: $vgpr39
-; GFX9-NEXT: ; implicit-def: $vgpr42
-; GFX9-NEXT: ; implicit-def: $vgpr63
-; GFX9-NEXT: ; implicit-def: $vgpr59
-; GFX9-NEXT: ; implicit-def: $vgpr48
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr62
-; GFX9-NEXT: ; implicit-def: $vgpr58
-; GFX9-NEXT: ; implicit-def: $vgpr57
-; GFX9-NEXT: ; implicit-def: $vgpr49
-; GFX9-NEXT: ; implicit-def: $vgpr37
; GFX9-NEXT: ; implicit-def: $vgpr52
+; GFX9-NEXT: ; implicit-def: $vgpr63
+; GFX9-NEXT: ; implicit-def: $vgpr47
; GFX9-NEXT: ; implicit-def: $vgpr46
-; GFX9-NEXT: ; implicit-def: $vgpr36
-; GFX9-NEXT: ; implicit-def: $vgpr60
-; GFX9-NEXT: ; implicit-def: $vgpr51
-; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr38
; GFX9-NEXT: ; implicit-def: $vgpr45
-; GFX9-NEXT: ; implicit-def: $vgpr44
+; GFX9-NEXT: ; implicit-def: $vgpr51
+; GFX9-NEXT: ; implicit-def: $vgpr58
+; GFX9-NEXT: ; implicit-def: $vgpr36
; GFX9-NEXT: ; implicit-def: $vgpr50
-; GFX9-NEXT: ; implicit-def: $vgpr38
-; GFX9-NEXT: ; implicit-def: $vgpr47
+; GFX9-NEXT: ; implicit-def: $vgpr56
; GFX9-NEXT: ; implicit-def: $vgpr35
+; GFX9-NEXT: ; implicit-def: $vgpr49
+; GFX9-NEXT: ; implicit-def: $vgpr44
; GFX9-NEXT: ; implicit-def: $vgpr61
; GFX9-NEXT: ; implicit-def: $vgpr55
+; GFX9-NEXT: ; implicit-def: $vgpr42
+; GFX9-NEXT: ; implicit-def: $vgpr48
+; GFX9-NEXT: ; implicit-def: $vgpr37
+; GFX9-NEXT: ; implicit-def: $vgpr62
+; GFX9-NEXT: ; implicit-def: $vgpr57
+; GFX9-NEXT: ; implicit-def: $vgpr60
+; GFX9-NEXT: ; implicit-def: $vgpr43
+; GFX9-NEXT: ; implicit-def: $vgpr59
; GFX9-NEXT: ; kill: killed $vgpr39
; GFX9-NEXT: ; implicit-def: $vgpr41
; GFX9-NEXT: ; implicit-def: $vgpr40
; GFX9-NEXT: ; implicit-def: $vgpr39
; GFX9-NEXT: ; implicit-def: $vgpr54
; GFX9-NEXT: ; implicit-def: $vgpr53
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr42
-; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr42
-; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr42
-; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr42
-; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr42
-; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr42
-; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr42
-; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr42
-; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr42
-; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr42
-; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
-; GFX9-NEXT: s_waitcnt vmcnt(23)
+; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v33
; GFX9-NEXT: ; implicit-def: $vgpr33
; GFX9-NEXT: ; kill: killed $vgpr33
@@ -41803,200 +41783,246 @@ define <128 x i8> @bitcast_v32f32_to_v128i8(<32 x float> %a, i32 %b) #0 {
; GFX9-NEXT: ; implicit-def: $vgpr33
; GFX9-NEXT: ; kill: killed $vgpr33
; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: ; kill: killed $vgpr33
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: ; kill: killed $vgpr33
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: ; kill: killed $vgpr33
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
; GFX9-NEXT: s_and_saveexec_b64 s[4:5], vcc
; GFX9-NEXT: s_xor_b64 s[4:5], exec, s[4:5]
; GFX9-NEXT: s_cbranch_execz .LBB36_2
; GFX9-NEXT: ; %bb.1: ; %cmp.false
-; GFX9-NEXT: s_waitcnt vmcnt(22)
-; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[31:32]
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v32
-; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[29:30]
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v32
-; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v32
-; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[27:28]
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; GFX9-NEXT: s_waitcnt vmcnt(25)
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v31
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v31
-; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v30
-; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[25:26]
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v30
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v30
-; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v29
-; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[23:24]
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v29
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v28
-; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v28
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v18
-; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[21:22]
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v28
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v17
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v27
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v17
-; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v27
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v16
-; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[19:20]
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v26
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v16
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v26
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v16
-; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v26
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v15
-; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[17:18]
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v25
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v15
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v25
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v14
-; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v24
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v14
-; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[15:16]
+; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[31:32]
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v24
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v14
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v24
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v13
-; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v23
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v13
-; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[13:14]
+; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[29:30]
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v23
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v12
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v22
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v12
-; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v22
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v12
-; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[11:12]
+; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[27:28]
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v22
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v10
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v21
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v10
-; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v21
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v8
-; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[9:10]
+; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[25:26]
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v20
-; GFX9-NEXT: v_lshrrev_b32_e32 v39, 8, v20
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v8
-; GFX9-NEXT: v_lshrrev_b64 v[54:55], 24, v[7:8]
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v18
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v17
+; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v17
+; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[23:24]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v16
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v15
+; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v15
+; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[21:22]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v14
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v13
+; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v13
+; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[19:20]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v12
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v20
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v6
-; GFX9-NEXT: v_mov_b32_e32 v55, v39
-; GFX9-NEXT: v_lshrrev_b64 v[39:40], 24, v[5:6]
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v12
+; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v19
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v6
-; GFX9-NEXT: v_lshrrev_b64 v[40:41], 24, v[3:4]
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v12
+; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[17:18]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v11
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v11
+; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v10
+; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[15:16]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v10
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v61, 8, v19
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v18
-; GFX9-NEXT: v_lshrrev_b32_e32 v35, 16, v18
-; GFX9-NEXT: v_lshrrev_b32_e32 v47, 16, v11
-; GFX9-NEXT: v_lshrrev_b32_e32 v38, 8, v11
-; GFX9-NEXT: v_lshrrev_b32_e32 v50, 8, v10
-; GFX9-NEXT: v_lshrrev_b32_e32 v44, 16, v9
-; GFX9-NEXT: v_lshrrev_b32_e32 v45, 8, v9
-; GFX9-NEXT: v_lshrrev_b32_e32 v56, 8, v8
-; GFX9-NEXT: v_lshrrev_b32_e32 v51, 16, v7
-; GFX9-NEXT: v_lshrrev_b32_e32 v60, 8, v7
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v36, 8, v6
-; GFX9-NEXT: v_lshrrev_b32_e32 v46, 16, v5
-; GFX9-NEXT: v_lshrrev_b32_e32 v52, 8, v5
-; GFX9-NEXT: v_lshrrev_b32_e32 v37, 24, v4
-; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v4
-; GFX9-NEXT: v_lshrrev_b32_e32 v57, 8, v4
-; GFX9-NEXT: v_lshrrev_b32_e32 v58, 16, v3
-; GFX9-NEXT: v_lshrrev_b32_e32 v62, 8, v3
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v2
-; GFX9-NEXT: v_lshrrev_b32_e32 v43, 16, v2
-; GFX9-NEXT: v_lshrrev_b32_e32 v48, 8, v2
-; GFX9-NEXT: v_lshrrev_b32_e32 v59, 16, v1
-; GFX9-NEXT: v_lshrrev_b32_e32 v63, 8, v1
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v10
+; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v8
+; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[13:14]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v8
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v6
+; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v6
+; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[11:12]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v4
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v4
+; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[39:40], 24, v[5:6]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v2
+; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[9:10]
+; GFX9-NEXT: v_lshrrev_b64 v[40:41], 24, v[3:4]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v2
+; GFX9-NEXT: v_lshrrev_b64 v[54:55], 24, v[7:8]
; GFX9-NEXT: v_lshrrev_b64 v[41:42], 24, v[1:2]
+; GFX9-NEXT: v_lshrrev_b32_e32 v59, 24, v20
+; GFX9-NEXT: v_lshrrev_b32_e32 v43, 16, v20
+; GFX9-NEXT: v_lshrrev_b32_e32 v60, 8, v20
+; GFX9-NEXT: v_lshrrev_b32_e32 v57, 16, v19
+; GFX9-NEXT: v_lshrrev_b32_e32 v62, 8, v19
+; GFX9-NEXT: v_lshrrev_b32_e32 v37, 24, v18
+; GFX9-NEXT: v_lshrrev_b32_e32 v48, 16, v18
+; GFX9-NEXT: v_lshrrev_b32_e32 v61, 24, v14
+; GFX9-NEXT: v_lshrrev_b32_e32 v44, 16, v14
+; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v9
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 8, v9
+; GFX9-NEXT: v_lshrrev_b32_e32 v35, 8, v8
+; GFX9-NEXT: v_lshrrev_b32_e32 v56, 16, v7
+; GFX9-NEXT: v_lshrrev_b32_e32 v50, 8, v7
+; GFX9-NEXT: v_lshrrev_b32_e32 v36, 8, v6
+; GFX9-NEXT: v_lshrrev_b32_e32 v58, 16, v5
+; GFX9-NEXT: v_lshrrev_b32_e32 v51, 8, v5
+; GFX9-NEXT: v_lshrrev_b32_e32 v45, 8, v4
+; GFX9-NEXT: v_lshrrev_b32_e32 v38, 16, v3
+; GFX9-NEXT: v_lshrrev_b32_e32 v46, 8, v3
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v47, 8, v2
+; GFX9-NEXT: v_lshrrev_b32_e32 v63, 16, v1
+; GFX9-NEXT: v_lshrrev_b32_e32 v52, 8, v1
+; GFX9-NEXT: v_lshrrev_b32_e32 v55, 16, v16
+; GFX9-NEXT: v_lshrrev_b32_e32 v42, 24, v16
; GFX9-NEXT: .LBB36_2: ; %Flow
-; GFX9-NEXT: s_or_saveexec_b64 s[4:5], s[4:5]
-; GFX9-NEXT: v_mov_b32_e32 v42, v35
-; GFX9-NEXT: s_xor_b64 exec, exec, s[4:5]
+; GFX9-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]
; GFX9-NEXT: s_cbranch_execz .LBB36_4
; GFX9-NEXT: ; %bb.3: ; %cmp.true
; GFX9-NEXT: v_add_f32_e32 v32, 1.0, v32
@@ -42089,275 +42115,276 @@ define <128 x i8> @bitcast_v32f32_to_v128i8(<32 x float> %a, i32 %b) #0 {
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v28
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v28
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v18
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v28
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v17
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v27
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v17
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v27
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v16
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v26
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v16
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v26
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v16
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v26
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v15
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v25
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v15
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v25
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v14
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v24
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v14
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v24
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v14
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v24
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v13
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v23
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v13
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v23
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v12
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v22
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v12
-; GFX9-NEXT: v_add_f32_e32 v10, 1.0, v10
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v22
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v12
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v22
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v10
-; GFX9-NEXT: v_add_f32_e32 v8, 1.0, v8
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v21
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v10
-; GFX9-NEXT: v_add_f32_e32 v6, 1.0, v6
-; GFX9-NEXT: v_add_f32_e32 v5, 1.0, v5
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v21
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v8
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v18
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v17
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v17
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v16
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v15
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v15
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v14
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v13
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v13
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v12
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v12
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v12
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v11
+; GFX9-NEXT: v_add_f32_e32 v10, 1.0, v10
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v11
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v10
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v10
+; GFX9-NEXT: v_add_f32_e32 v8, 1.0, v8
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v10
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v8
+; GFX9-NEXT: v_add_f32_e32 v6, 1.0, v6
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v8
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v6
; GFX9-NEXT: v_add_f32_e32 v4, 1.0, v4
+; GFX9-NEXT: v_add_f32_e32 v5, 1.0, v5
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v6
; GFX9-NEXT: v_add_f32_e32 v3, 1.0, v3
; GFX9-NEXT: v_add_f32_e32 v9, 1.0, v9
; GFX9-NEXT: v_lshrrev_b64 v[39:40], 24, v[5:6]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v20
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v8
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v4
; GFX9-NEXT: v_add_f32_e32 v2, 1.0, v2
; GFX9-NEXT: v_add_f32_e32 v1, 1.0, v1
; GFX9-NEXT: v_add_f32_e32 v7, 1.0, v7
; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[9:10]
; GFX9-NEXT: v_lshrrev_b64 v[40:41], 24, v[3:4]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v20
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v6
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v4
; GFX9-NEXT: v_lshrrev_b64 v[54:55], 24, v[7:8]
; GFX9-NEXT: v_lshrrev_b64 v[41:42], 24, v[1:2]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v19
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v6
-; GFX9-NEXT: v_lshrrev_b32_e32 v55, 8, v20
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v61, 8, v19
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v18
-; GFX9-NEXT: v_lshrrev_b32_e32 v42, 16, v18
-; GFX9-NEXT: v_lshrrev_b32_e32 v47, 16, v11
-; GFX9-NEXT: v_lshrrev_b32_e32 v38, 8, v11
-; GFX9-NEXT: v_lshrrev_b32_e32 v50, 8, v10
-; GFX9-NEXT: v_lshrrev_b32_e32 v44, 16, v9
-; GFX9-NEXT: v_lshrrev_b32_e32 v45, 8, v9
-; GFX9-NEXT: v_lshrrev_b32_e32 v56, 8, v8
-; GFX9-NEXT: v_lshrrev_b32_e32 v51, 16, v7
-; GFX9-NEXT: v_lshrrev_b32_e32 v60, 8, v7
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v2
+; GFX9-NEXT: v_lshrrev_b32_e32 v59, 24, v20
+; GFX9-NEXT: v_lshrrev_b32_e32 v43, 16, v20
+; GFX9-NEXT: v_lshrrev_b32_e32 v60, 8, v20
+; GFX9-NEXT: v_lshrrev_b32_e32 v57, 16, v19
+; GFX9-NEXT: v_lshrrev_b32_e32 v62, 8, v19
+; GFX9-NEXT: v_lshrrev_b32_e32 v37, 24, v18
+; GFX9-NEXT: v_lshrrev_b32_e32 v48, 16, v18
+; GFX9-NEXT: v_lshrrev_b32_e32 v42, 24, v16
+; GFX9-NEXT: v_lshrrev_b32_e32 v55, 16, v16
+; GFX9-NEXT: v_lshrrev_b32_e32 v61, 24, v14
+; GFX9-NEXT: v_lshrrev_b32_e32 v44, 16, v14
+; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v9
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 8, v9
+; GFX9-NEXT: v_lshrrev_b32_e32 v35, 8, v8
+; GFX9-NEXT: v_lshrrev_b32_e32 v56, 16, v7
+; GFX9-NEXT: v_lshrrev_b32_e32 v50, 8, v7
; GFX9-NEXT: v_lshrrev_b32_e32 v36, 8, v6
-; GFX9-NEXT: v_lshrrev_b32_e32 v46, 16, v5
-; GFX9-NEXT: v_lshrrev_b32_e32 v52, 8, v5
-; GFX9-NEXT: v_lshrrev_b32_e32 v37, 24, v4
-; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v4
-; GFX9-NEXT: v_lshrrev_b32_e32 v57, 8, v4
-; GFX9-NEXT: v_lshrrev_b32_e32 v58, 16, v3
-; GFX9-NEXT: v_lshrrev_b32_e32 v62, 8, v3
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v2
-; GFX9-NEXT: v_lshrrev_b32_e32 v43, 16, v2
-; GFX9-NEXT: v_lshrrev_b32_e32 v48, 8, v2
-; GFX9-NEXT: v_lshrrev_b32_e32 v59, 16, v1
-; GFX9-NEXT: v_lshrrev_b32_e32 v63, 8, v1
+; GFX9-NEXT: v_lshrrev_b32_e32 v58, 16, v5
+; GFX9-NEXT: v_lshrrev_b32_e32 v51, 8, v5
+; GFX9-NEXT: v_lshrrev_b32_e32 v45, 8, v4
+; GFX9-NEXT: v_lshrrev_b32_e32 v38, 16, v3
+; GFX9-NEXT: v_lshrrev_b32_e32 v46, 8, v3
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v2
+; GFX9-NEXT: v_lshrrev_b32_e32 v47, 8, v2
+; GFX9-NEXT: v_lshrrev_b32_e32 v63, 16, v1
+; GFX9-NEXT: v_lshrrev_b32_e32 v52, 8, v1
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
; GFX9-NEXT: .LBB36_4: ; %end
; GFX9-NEXT: s_or_b64 exec, exec, s[4:5]
; GFX9-NEXT: s_mov_b32 s4, 0xc0c0004
-; GFX9-NEXT: v_perm_b32 v11, v11, v38, s4
-; GFX9-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:380 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v38, off, s[0:3], s32 offset:372 ; 4-byte Folded Reload
-; GFX9-NEXT: v_perm_b32 v5, v5, v52, s4
-; GFX9-NEXT: v_perm_b32 v6, v6, v36, s4
-; GFX9-NEXT: v_perm_b32 v36, v51, v54, s4
-; GFX9-NEXT: v_perm_b32 v51, v44, v53, s4
-; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
-; GFX9-NEXT: v_perm_b32 v10, v10, v50, s4
-; GFX9-NEXT: v_perm_b32 v41, v59, v41, s4
-; GFX9-NEXT: v_perm_b32 v1, v1, v63, s4
+; GFX9-NEXT: v_perm_b32 v8, v8, v35, s4
+; GFX9-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:368 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v33, v34, v53, s4
+; GFX9-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:376 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v7, v7, v50, s4
+; GFX9-NEXT: v_perm_b32 v9, v9, v49, s4
+; GFX9-NEXT: v_perm_b32 v5, v5, v51, s4
+; GFX9-NEXT: v_perm_b32 v1, v1, v52, s4
+; GFX9-NEXT: v_perm_b32 v41, v63, v41, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v41, 16, v1
-; GFX9-NEXT: v_perm_b32 v2, v2, v48, s4
-; GFX9-NEXT: v_perm_b32 v9, v9, v45, s4
-; GFX9-NEXT: v_perm_b32 v48, v58, v40, s4
-; GFX9-NEXT: v_perm_b32 v3, v3, v62, s4
-; GFX9-NEXT: v_perm_b32 v4, v4, v57, s4
-; GFX9-NEXT: v_perm_b32 v39, v46, v39, s4
-; GFX9-NEXT: v_perm_b32 v7, v7, v60, s4
-; GFX9-NEXT: v_perm_b32 v8, v8, v56, s4
-; GFX9-NEXT: s_waitcnt vmcnt(2)
-; GFX9-NEXT: v_perm_b32 v13, v13, v38, s4
-; GFX9-NEXT: buffer_load_dword v38, off, s[0:3], s32 offset:360 ; 4-byte Folded Reload
-; GFX9-NEXT: v_perm_b32 v12, v12, v35, s4
-; GFX9-NEXT: s_waitcnt vmcnt(2)
-; GFX9-NEXT: v_perm_b32 v50, v47, v52, s4
-; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:364 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v2, v2, v47, s4
+; GFX9-NEXT: v_perm_b32 v38, v38, v40, s4
+; GFX9-NEXT: v_perm_b32 v3, v3, v46, s4
+; GFX9-NEXT: v_perm_b32 v4, v4, v45, s4
+; GFX9-NEXT: v_perm_b32 v39, v58, v39, s4
+; GFX9-NEXT: v_perm_b32 v6, v6, v36, s4
+; GFX9-NEXT: v_perm_b32 v36, v56, v54, s4
+; GFX9-NEXT: s_waitcnt vmcnt(1)
+; GFX9-NEXT: v_perm_b32 v11, v11, v35, s4
+; GFX9-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:352 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(1)
+; GFX9-NEXT: v_perm_b32 v10, v10, v34, s4
+; GFX9-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:364 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(3)
-; GFX9-NEXT: v_perm_b32 v14, v14, v38, s4
+; GFX9-NEXT: v_perm_b32 v12, v12, v35, s4
+; GFX9-NEXT: s_waitcnt vmcnt(1)
+; GFX9-NEXT: v_perm_b32 v34, v34, v49, s4
+; GFX9-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:336 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(1)
+; GFX9-NEXT: v_perm_b32 v35, v35, v49, s4
+; GFX9-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:344 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v35, v35, v52, s4
-; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v38, off, s[0:3], s32 offset:344 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v13, v13, v49, s4
+; GFX9-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:332 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v38, v38, v52, s4
-; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:348 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v14, v14, v49, s4
+; GFX9-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:316 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(1)
+; GFX9-NEXT: v_perm_b32 v50, v49, v50, s4
+; GFX9-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:320 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v15, v15, v52, s4
-; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:340 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v15, v15, v49, s4
+; GFX9-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:312 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v16, v16, v52, s4
-; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:324 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v54, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_perm_b32 v52, v52, v53, s4
-; GFX9-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:328 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v16, v16, v49, s4
+; GFX9-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(3)
+; GFX9-NEXT: v_perm_b32 v51, v49, v51, s4
+; GFX9-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:300 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(2)
+; GFX9-NEXT: v_perm_b32 v52, v57, v52, s4
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v17, v17, v53, s4
-; GFX9-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:320 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v17, v17, v49, s4
+; GFX9-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v18, v18, v53, s4
-; GFX9-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:308 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_perm_b32 v53, v53, v44, s4
+; GFX9-NEXT: v_perm_b32 v18, v18, v49, s4
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen
-; GFX9-NEXT: v_perm_b32 v1, v43, v34, s4
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:372 ; 4-byte Folded Reload
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:380 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_perm_b32 v1, v49, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v2
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:4
-; GFX9-NEXT: v_lshl_or_b32 v1, v48, 16, v3
+; GFX9-NEXT: v_lshl_or_b32 v1, v38, 16, v3
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:8
-; GFX9-NEXT: v_perm_b32 v1, v49, v37, s4
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:356 ; 4-byte Folded Reload
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:360 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v4
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:12
; GFX9-NEXT: v_lshl_or_b32 v1, v39, 16, v5
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:16
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:368 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:340 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:376 ; 4-byte Folded Reload
-; GFX9-NEXT: v_perm_b32 v3, v20, v55, s4
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:348 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v6
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:20
; GFX9-NEXT: v_lshl_or_b32 v1, v36, 16, v7
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:24
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:352 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:324 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:356 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:328 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v8
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:28
-; GFX9-NEXT: v_lshl_or_b32 v1, v51, 16, v9
+; GFX9-NEXT: v_lshl_or_b32 v1, v33, 16, v9
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:32
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:332 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:304 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:336 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:308 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v10
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:36
-; GFX9-NEXT: v_lshl_or_b32 v1, v50, 16, v11
+; GFX9-NEXT: v_lshl_or_b32 v1, v34, 16, v11
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:40
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:312 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:316 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v12
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:44
; GFX9-NEXT: v_lshl_or_b32 v1, v35, 16, v13
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:48
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:300 ; 4-byte Folded Reload
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:304 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
+; GFX9-NEXT: v_perm_b32 v1, v44, v61, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v14
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:52
-; GFX9-NEXT: v_lshl_or_b32 v1, v38, 16, v15
+; GFX9-NEXT: v_lshl_or_b32 v1, v50, 16, v15
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:56
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
+; GFX9-NEXT: v_perm_b32 v1, v55, v42, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v16
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:60
-; GFX9-NEXT: v_lshl_or_b32 v1, v52, 16, v17
+; GFX9-NEXT: v_lshl_or_b32 v1, v51, 16, v17
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:64
-; GFX9-NEXT: v_perm_b32 v1, v42, v33, s4
+; GFX9-NEXT: v_perm_b32 v1, v48, v37, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v18
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:68
-; GFX9-NEXT: v_perm_b32 v1, v19, v61, s4
-; GFX9-NEXT: v_lshl_or_b32 v1, v53, 16, v1
+; GFX9-NEXT: v_perm_b32 v1, v19, v62, s4
+; GFX9-NEXT: v_lshl_or_b32 v1, v52, 16, v1
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:72
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
-; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v3
+; GFX9-NEXT: v_perm_b32 v1, v20, v60, s4
+; GFX9-NEXT: v_perm_b32 v2, v43, v59, s4
+; GFX9-NEXT: v_lshl_or_b32 v1, v2, 16, v1
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:76
; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:280 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
@@ -42867,50 +42894,52 @@ define <128 x i8> @bitcast_v32f32_to_v128i8(<32 x float> %a, i32 %b) #0 {
; GFX11-FAKE16-LABEL: bitcast_v32f32_to_v128i8:
; GFX11-FAKE16: ; %bb.0:
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX11-FAKE16-NEXT: s_clause 0x11 ; 72-byte Folded Spill
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v40, s32 offset:80
+; GFX11-FAKE16-NEXT: s_clause 0x12 ; 76-byte Folded Spill
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v40, s32 offset:84
+; GFX11-FAKE16-NEXT: ; meta instruction
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v41, s32 offset:80
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v41, s32 offset:76
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v42, s32 offset:76
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v42, s32 offset:72
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v43, s32 offset:72
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v43, s32 offset:68
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v44, s32 offset:68
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v44, s32 offset:64
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v45, s32 offset:64
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v45, s32 offset:60
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v46, s32 offset:60
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v46, s32 offset:56
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v47, s32 offset:56
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v47, s32 offset:52
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v56, s32 offset:52
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v56, s32 offset:48
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v57, s32 offset:48
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v57, s32 offset:44
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v58, s32 offset:44
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v58, s32 offset:40
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v59, s32 offset:40
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v59, s32 offset:36
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v60, s32 offset:36
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v60, s32 offset:32
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v61, s32 offset:32
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v61, s32 offset:28
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v62, s32 offset:28
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v62, s32 offset:24
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v63, s32 offset:24
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v63, s32 offset:20
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v72, s32 offset:20
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v72, s32 offset:16
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v73, s32 offset:16
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v73, s32 offset:12
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v74, s32 offset:12
; GFX11-FAKE16-NEXT: s_clause 0x2
; GFX11-FAKE16-NEXT: scratch_load_b32 v33, off, s32 offset:8
; GFX11-FAKE16-NEXT: scratch_load_b32 v32, off, s32 offset:4
; GFX11-FAKE16-NEXT: scratch_load_b32 v31, off, s32
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr73
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr72
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr74
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr66
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr55
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr72
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr63
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr62
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr61
@@ -43021,14 +43050,11 @@ define <128 x i8> @bitcast_v32f32_to_v128i8(<32 x float> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: v_mov_b32_e32 v39, v48
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[48:49], 24, v[19:20]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[49:50], 24, v[17:18]
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v64, 8, v2
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[50:51], 24, v[15:16]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[51:52], 24, v[13:14]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[52:53], 24, v[11:12]
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[53:54], 24, v[9:10]
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[54:55], 24, v[7:8]
-; GFX11-FAKE16-NEXT: v_mov_b32_e32 v55, v64
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[64:65], 24, v[5:6]
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[53:54], 24, v[9:10]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[65:66], 24, v[3:4]
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v68, 24, v32
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v69, 16, v32
@@ -43106,8 +43132,10 @@ define <128 x i8> @bitcast_v32f32_to_v128i8(<32 x float> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v61, 8, v3
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v62, 24, v2
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v63, 16, v2
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v72, 16, v1
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v72, 8, v2
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v74, 16, v1
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v73, 8, v1
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[54:55], 24, v[7:8]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[66:67], 24, v[1:2]
; GFX11-FAKE16-NEXT: .LBB36_2: ; %Flow
; GFX11-FAKE16-NEXT: s_and_not1_saveexec_b32 s0, s0
@@ -43223,19 +43251,19 @@ define <128 x i8> @bitcast_v32f32_to_v128i8(<32 x float> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v61, 8, v3
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v62, 24, v2
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v63, 16, v2
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v55, 8, v2
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v72, 16, v1
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v72, 8, v2
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v74, 16, v1
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v73, 8, v1
; GFX11-FAKE16-NEXT: .LBB36_4: ; %end
; GFX11-FAKE16-NEXT: s_or_b32 exec_lo, exec_lo, s0
-; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_3)
-; GFX11-FAKE16-NEXT: v_perm_b32 v2, v2, v55, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v55, v63, v62, 0xc0c0004
+; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_2)
+; GFX11-FAKE16-NEXT: v_perm_b32 v55, v74, v66, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v1, v1, v73, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v3, v3, v61, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v65, v60, v65, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v66, v72, v66, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v1, v1, v73, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v2, v55, 16, v2
+; GFX11-FAKE16-NEXT: v_perm_b32 v2, v2, v72, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v66, v63, v62, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v1, v55, 16, v1
; GFX11-FAKE16-NEXT: v_perm_b32 v4, v4, v59, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v55, v58, v57, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v7, v7, v43, 0xc0c0004
@@ -43247,7 +43275,7 @@ define <128 x i8> @bitcast_v32f32_to_v128i8(<32 x float> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: v_perm_b32 v64, v47, v64, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v6, v6, v46, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v65, v45, v44, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v1, v66, 16, v1
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v2, v66, 16, v2
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v4, v55, 16, v4
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v7, v54, 16, v7
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v8, v39, 16, v8
@@ -43336,25 +43364,26 @@ define <128 x i8> @bitcast_v32f32_to_v128i8(<32 x float> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: scratch_store_b128 v0, v[13:16], off offset:80
; GFX11-FAKE16-NEXT: scratch_store_b128 v0, v[17:20], off offset:96
; GFX11-FAKE16-NEXT: scratch_store_b128 v0, v[21:24], off offset:112
-; GFX11-FAKE16-NEXT: s_clause 0x11 ; 72-byte Folded Reload
-; GFX11-FAKE16-NEXT: scratch_load_b32 v73, off, s32 offset:12
-; GFX11-FAKE16-NEXT: scratch_load_b32 v72, off, s32 offset:16
-; GFX11-FAKE16-NEXT: scratch_load_b32 v63, off, s32 offset:20
-; GFX11-FAKE16-NEXT: scratch_load_b32 v62, off, s32 offset:24
-; GFX11-FAKE16-NEXT: scratch_load_b32 v61, off, s32 offset:28
-; GFX11-FAKE16-NEXT: scratch_load_b32 v60, off, s32 offset:32
-; GFX11-FAKE16-NEXT: scratch_load_b32 v59, off, s32 offset:36
-; GFX11-FAKE16-NEXT: scratch_load_b32 v58, off, s32 offset:40
-; GFX11-FAKE16-NEXT: scratch_load_b32 v57, off, s32 offset:44
-; GFX11-FAKE16-NEXT: scratch_load_b32 v56, off, s32 offset:48
-; GFX11-FAKE16-NEXT: scratch_load_b32 v47, off, s32 offset:52
-; GFX11-FAKE16-NEXT: scratch_load_b32 v46, off, s32 offset:56
-; GFX11-FAKE16-NEXT: scratch_load_b32 v45, off, s32 offset:60
-; GFX11-FAKE16-NEXT: scratch_load_b32 v44, off, s32 offset:64
-; GFX11-FAKE16-NEXT: scratch_load_b32 v43, off, s32 offset:68
-; GFX11-FAKE16-NEXT: scratch_load_b32 v42, off, s32 offset:72
-; GFX11-FAKE16-NEXT: scratch_load_b32 v41, off, s32 offset:76
-; GFX11-FAKE16-NEXT: scratch_load_b32 v40, off, s32 offset:80
+; GFX11-FAKE16-NEXT: s_clause 0x12 ; 76-byte Folded Reload
+; GFX11-FAKE16-NEXT: scratch_load_b32 v74, off, s32 offset:12
+; GFX11-FAKE16-NEXT: scratch_load_b32 v73, off, s32 offset:16
+; GFX11-FAKE16-NEXT: scratch_load_b32 v72, off, s32 offset:20
+; GFX11-FAKE16-NEXT: scratch_load_b32 v63, off, s32 offset:24
+; GFX11-FAKE16-NEXT: scratch_load_b32 v62, off, s32 offset:28
+; GFX11-FAKE16-NEXT: scratch_load_b32 v61, off, s32 offset:32
+; GFX11-FAKE16-NEXT: scratch_load_b32 v60, off, s32 offset:36
+; GFX11-FAKE16-NEXT: scratch_load_b32 v59, off, s32 offset:40
+; GFX11-FAKE16-NEXT: scratch_load_b32 v58, off, s32 offset:44
+; GFX11-FAKE16-NEXT: scratch_load_b32 v57, off, s32 offset:48
+; GFX11-FAKE16-NEXT: scratch_load_b32 v56, off, s32 offset:52
+; GFX11-FAKE16-NEXT: scratch_load_b32 v47, off, s32 offset:56
+; GFX11-FAKE16-NEXT: scratch_load_b32 v46, off, s32 offset:60
+; GFX11-FAKE16-NEXT: scratch_load_b32 v45, off, s32 offset:64
+; GFX11-FAKE16-NEXT: scratch_load_b32 v44, off, s32 offset:68
+; GFX11-FAKE16-NEXT: scratch_load_b32 v43, off, s32 offset:72
+; GFX11-FAKE16-NEXT: scratch_load_b32 v42, off, s32 offset:76
+; GFX11-FAKE16-NEXT: scratch_load_b32 v41, off, s32 offset:80
+; GFX11-FAKE16-NEXT: scratch_load_b32 v40, off, s32 offset:84
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0)
; GFX11-FAKE16-NEXT: s_setpc_b64 s[30:31]
%cmp = icmp eq i32 %b, 0
@@ -43527,115 +43556,115 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; SI-NEXT: s_lshr_b64 s[40:41], s[34:35], 8
; SI-NEXT: v_writelane_b32 v61, s40, 44
; SI-NEXT: v_writelane_b32 v61, s41, 45
-; SI-NEXT: s_lshr_b64 s[40:41], s[36:37], 24
+; SI-NEXT: s_lshr_b64 s[40:41], s[38:39], 24
; SI-NEXT: v_writelane_b32 v61, s40, 42
; SI-NEXT: v_writelane_b32 v61, s41, 43
-; SI-NEXT: s_lshr_b64 s[40:41], s[36:37], 16
+; SI-NEXT: s_lshr_b64 s[40:41], s[48:49], 24
; SI-NEXT: v_writelane_b32 v61, s40, 40
; SI-NEXT: v_writelane_b32 v61, s41, 41
-; SI-NEXT: s_lshr_b64 s[40:41], s[36:37], 8
+; SI-NEXT: s_lshr_b64 s[40:41], s[48:49], 16
; SI-NEXT: v_writelane_b32 v61, s40, 38
; SI-NEXT: v_writelane_b32 v61, s41, 39
-; SI-NEXT: s_lshr_b64 s[40:41], s[38:39], 24
+; SI-NEXT: s_lshr_b64 s[40:41], s[48:49], 8
; SI-NEXT: v_writelane_b32 v61, s40, 36
; SI-NEXT: v_writelane_b32 v61, s41, 37
-; SI-NEXT: s_lshr_b64 s[42:43], s[50:51], 24
-; SI-NEXT: v_writelane_b32 v61, s42, 34
-; SI-NEXT: v_writelane_b32 v61, s43, 35
-; SI-NEXT: s_lshr_b64 s[42:43], s[50:51], 16
-; SI-NEXT: v_writelane_b32 v61, s42, 32
-; SI-NEXT: v_writelane_b32 v61, s43, 33
-; SI-NEXT: s_lshr_b64 s[42:43], s[50:51], 8
-; SI-NEXT: v_writelane_b32 v61, s42, 30
-; SI-NEXT: v_writelane_b32 v61, s43, 31
-; SI-NEXT: s_lshr_b64 s[42:43], s[52:53], 24
-; SI-NEXT: v_writelane_b32 v61, s42, 28
-; SI-NEXT: v_writelane_b32 v61, s43, 29
-; SI-NEXT: s_lshr_b64 s[42:43], s[52:53], 16
-; SI-NEXT: v_writelane_b32 v61, s42, 26
-; SI-NEXT: v_writelane_b32 v61, s43, 27
-; SI-NEXT: s_lshr_b64 s[42:43], s[52:53], 8
-; SI-NEXT: v_writelane_b32 v61, s42, 24
-; SI-NEXT: v_writelane_b32 v61, s43, 25
-; SI-NEXT: s_lshr_b64 s[42:43], s[54:55], 24
-; SI-NEXT: v_writelane_b32 v61, s42, 22
-; SI-NEXT: v_writelane_b32 v61, s43, 23
-; SI-NEXT: s_lshr_b64 s[42:43], s[54:55], 16
-; SI-NEXT: v_writelane_b32 v61, s42, 20
-; SI-NEXT: v_writelane_b32 v61, s43, 21
-; SI-NEXT: s_lshr_b64 s[42:43], s[54:55], 8
-; SI-NEXT: v_writelane_b32 v61, s42, 18
-; SI-NEXT: v_writelane_b32 v61, s43, 19
-; SI-NEXT: s_lshr_b64 s[42:43], s[28:29], 24
-; SI-NEXT: v_writelane_b32 v61, s42, 16
-; SI-NEXT: v_writelane_b32 v61, s43, 17
-; SI-NEXT: s_lshr_b64 s[42:43], s[28:29], 16
-; SI-NEXT: v_writelane_b32 v61, s42, 14
-; SI-NEXT: v_writelane_b32 v61, s43, 15
-; SI-NEXT: s_lshr_b64 s[42:43], s[28:29], 8
-; SI-NEXT: v_writelane_b32 v61, s42, 12
-; SI-NEXT: v_writelane_b32 v61, s43, 13
-; SI-NEXT: s_lshr_b64 s[42:43], s[26:27], 24
-; SI-NEXT: v_writelane_b32 v61, s42, 10
-; SI-NEXT: v_writelane_b32 v61, s43, 11
-; SI-NEXT: s_lshr_b64 s[42:43], s[26:27], 16
-; SI-NEXT: v_writelane_b32 v61, s42, 8
-; SI-NEXT: v_writelane_b32 v61, s43, 9
-; SI-NEXT: s_lshr_b64 s[42:43], s[26:27], 8
-; SI-NEXT: v_writelane_b32 v61, s42, 6
-; SI-NEXT: v_writelane_b32 v61, s43, 7
-; SI-NEXT: s_lshr_b64 s[42:43], s[24:25], 24
-; SI-NEXT: v_writelane_b32 v61, s42, 4
-; SI-NEXT: v_writelane_b32 v61, s43, 5
-; SI-NEXT: s_lshr_b64 s[42:43], s[24:25], 16
-; SI-NEXT: v_writelane_b32 v61, s42, 2
-; SI-NEXT: v_writelane_b32 v61, s43, 3
-; SI-NEXT: s_lshr_b64 s[42:43], s[24:25], 8
-; SI-NEXT: v_writelane_b32 v61, s42, 0
-; SI-NEXT: s_lshr_b32 s15, s9, 24
-; SI-NEXT: s_lshr_b32 s69, s9, 16
-; SI-NEXT: s_lshr_b32 s70, s9, 8
-; SI-NEXT: s_lshr_b32 s10, s31, 24
-; SI-NEXT: s_lshr_b32 s14, s31, 16
-; SI-NEXT: s_lshr_b32 s68, s31, 8
+; SI-NEXT: s_lshr_b64 s[40:41], s[50:51], 24
+; SI-NEXT: v_writelane_b32 v61, s40, 34
+; SI-NEXT: v_writelane_b32 v61, s41, 35
+; SI-NEXT: s_lshr_b64 s[40:41], s[50:51], 16
+; SI-NEXT: v_writelane_b32 v61, s40, 32
+; SI-NEXT: v_writelane_b32 v61, s41, 33
+; SI-NEXT: s_lshr_b64 s[40:41], s[50:51], 8
+; SI-NEXT: v_writelane_b32 v61, s40, 30
+; SI-NEXT: v_writelane_b32 v61, s41, 31
+; SI-NEXT: s_lshr_b64 s[40:41], s[52:53], 24
+; SI-NEXT: v_writelane_b32 v61, s40, 28
+; SI-NEXT: v_writelane_b32 v61, s41, 29
+; SI-NEXT: s_lshr_b64 s[40:41], s[52:53], 16
+; SI-NEXT: v_writelane_b32 v61, s40, 26
+; SI-NEXT: v_writelane_b32 v61, s41, 27
+; SI-NEXT: s_lshr_b64 s[40:41], s[52:53], 8
+; SI-NEXT: v_writelane_b32 v61, s40, 24
+; SI-NEXT: v_writelane_b32 v61, s41, 25
+; SI-NEXT: s_lshr_b64 s[40:41], s[54:55], 24
+; SI-NEXT: v_writelane_b32 v61, s40, 22
+; SI-NEXT: v_writelane_b32 v61, s41, 23
+; SI-NEXT: s_lshr_b64 s[40:41], s[54:55], 16
+; SI-NEXT: v_writelane_b32 v61, s40, 20
+; SI-NEXT: v_writelane_b32 v61, s41, 21
+; SI-NEXT: s_lshr_b64 s[40:41], s[54:55], 8
+; SI-NEXT: v_writelane_b32 v61, s40, 18
+; SI-NEXT: v_writelane_b32 v61, s41, 19
+; SI-NEXT: s_lshr_b64 s[40:41], s[28:29], 24
+; SI-NEXT: v_writelane_b32 v61, s40, 16
+; SI-NEXT: v_writelane_b32 v61, s41, 17
+; SI-NEXT: s_lshr_b64 s[40:41], s[28:29], 16
+; SI-NEXT: v_writelane_b32 v61, s40, 14
+; SI-NEXT: v_writelane_b32 v61, s41, 15
+; SI-NEXT: s_lshr_b64 s[40:41], s[28:29], 8
+; SI-NEXT: v_writelane_b32 v61, s40, 12
+; SI-NEXT: v_writelane_b32 v61, s41, 13
+; SI-NEXT: s_lshr_b64 s[40:41], s[26:27], 24
+; SI-NEXT: v_writelane_b32 v61, s40, 10
+; SI-NEXT: v_writelane_b32 v61, s41, 11
+; SI-NEXT: s_lshr_b64 s[40:41], s[26:27], 16
+; SI-NEXT: v_writelane_b32 v61, s40, 8
+; SI-NEXT: v_writelane_b32 v61, s41, 9
+; SI-NEXT: s_lshr_b64 s[40:41], s[26:27], 8
+; SI-NEXT: v_writelane_b32 v61, s40, 6
+; SI-NEXT: v_writelane_b32 v61, s41, 7
+; SI-NEXT: s_lshr_b64 s[40:41], s[24:25], 24
+; SI-NEXT: v_writelane_b32 v61, s40, 4
+; SI-NEXT: v_writelane_b32 v61, s41, 5
+; SI-NEXT: s_lshr_b64 s[40:41], s[24:25], 16
+; SI-NEXT: v_writelane_b32 v61, s40, 2
+; SI-NEXT: v_writelane_b32 v61, s41, 3
+; SI-NEXT: s_lshr_b64 s[40:41], s[24:25], 8
+; SI-NEXT: v_writelane_b32 v61, s40, 0
+; SI-NEXT: s_lshr_b32 s71, s9, 24
+; SI-NEXT: s_lshr_b32 s81, s9, 16
+; SI-NEXT: s_lshr_b32 s82, s9, 8
+; SI-NEXT: s_lshr_b32 s68, s31, 24
+; SI-NEXT: s_lshr_b32 s70, s31, 16
+; SI-NEXT: s_lshr_b32 s80, s31, 8
; SI-NEXT: s_lshr_b32 s98, s35, 24
; SI-NEXT: s_lshr_b32 s7, s35, 16
-; SI-NEXT: s_lshr_b32 s11, s35, 8
+; SI-NEXT: s_lshr_b32 s69, s35, 8
; SI-NEXT: s_lshr_b32 s96, s37, 24
; SI-NEXT: s_lshr_b32 s67, s37, 16
; SI-NEXT: s_lshr_b32 s99, s37, 8
-; SI-NEXT: s_lshr_b32 s85, s39, 24
-; SI-NEXT: s_lshr_b32 s87, s39, 16
+; SI-NEXT: s_lshr_b32 s87, s39, 24
+; SI-NEXT: s_lshr_b32 s14, s39, 16
; SI-NEXT: s_lshr_b32 s97, s39, 8
-; SI-NEXT: s_lshr_b32 s82, s49, 24
-; SI-NEXT: s_lshr_b32 s84, s49, 16
-; SI-NEXT: s_lshr_b32 s86, s49, 8
-; SI-NEXT: s_lshr_b32 s71, s51, 24
-; SI-NEXT: s_lshr_b32 s81, s51, 16
-; SI-NEXT: s_lshr_b32 s83, s51, 8
-; SI-NEXT: s_lshr_b32 s80, s53, 8
+; SI-NEXT: s_lshr_b32 s10, s49, 24
+; SI-NEXT: s_lshr_b32 s86, s49, 16
+; SI-NEXT: s_lshr_b32 s15, s49, 8
+; SI-NEXT: s_lshr_b32 s83, s51, 24
+; SI-NEXT: s_lshr_b32 s11, s51, 16
+; SI-NEXT: s_lshr_b32 s85, s51, 8
+; SI-NEXT: s_lshr_b32 s84, s53, 8
; SI-NEXT: s_lshr_b32 s66, s17, 24
; SI-NEXT: s_mov_b64 s[4:5], s[8:9]
; SI-NEXT: s_lshr_b64 s[8:9], s[8:9], 8
; SI-NEXT: s_lshr_b64 s[12:13], s[30:31], 16
-; SI-NEXT: s_lshr_b64 s[40:41], s[38:39], 16
-; SI-NEXT: s_lshr_b64 s[72:73], s[38:39], 8
-; SI-NEXT: s_lshr_b64 s[44:45], s[48:49], 24
-; SI-NEXT: s_lshr_b64 s[56:57], s[48:49], 16
-; SI-NEXT: s_lshr_b64 s[62:63], s[48:49], 8
-; SI-NEXT: v_writelane_b32 v61, s43, 1
-; SI-NEXT: s_lshr_b64 s[74:75], s[22:23], 24
-; SI-NEXT: s_lshr_b64 s[46:47], s[22:23], 16
-; SI-NEXT: s_lshr_b64 s[76:77], s[22:23], 8
-; SI-NEXT: s_lshr_b64 s[58:59], s[20:21], 24
-; SI-NEXT: s_lshr_b64 s[60:61], s[20:21], 16
+; SI-NEXT: s_lshr_b64 s[56:57], s[36:37], 24
+; SI-NEXT: s_lshr_b64 s[58:59], s[36:37], 16
+; SI-NEXT: s_lshr_b64 s[42:43], s[36:37], 8
+; SI-NEXT: s_lshr_b64 s[72:73], s[38:39], 16
+; SI-NEXT: s_lshr_b64 s[62:63], s[38:39], 8
+; SI-NEXT: v_writelane_b32 v61, s41, 1
+; SI-NEXT: s_lshr_b64 s[44:45], s[22:23], 24
+; SI-NEXT: s_lshr_b64 s[40:41], s[22:23], 16
+; SI-NEXT: s_lshr_b64 s[60:61], s[22:23], 8
+; SI-NEXT: s_lshr_b64 s[74:75], s[20:21], 24
+; SI-NEXT: s_lshr_b64 s[76:77], s[20:21], 16
; SI-NEXT: s_lshr_b64 s[78:79], s[20:21], 8
; SI-NEXT: s_lshr_b64 s[88:89], s[18:19], 24
; SI-NEXT: s_lshr_b64 s[90:91], s[18:19], 16
; SI-NEXT: s_lshr_b64 s[92:93], s[18:19], 8
-; SI-NEXT: s_lshr_b64 s[94:95], s[16:17], 24
-; SI-NEXT: s_lshr_b64 vcc, s[16:17], 16
-; SI-NEXT: s_lshr_b64 s[42:43], s[16:17], 8
+; SI-NEXT: s_lshr_b64 s[46:47], s[16:17], 24
+; SI-NEXT: s_lshr_b64 s[94:95], s[16:17], 16
+; SI-NEXT: s_lshr_b64 vcc, s[16:17], 8
; SI-NEXT: s_mov_b64 s[64:65], 0
; SI-NEXT: s_branch .LBB37_3
; SI-NEXT: .LBB37_2:
@@ -43650,43 +43679,43 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; SI-NEXT: s_mov_b64 s[64:65], -1
; SI-NEXT: ; implicit-def: $sgpr6
; SI-NEXT: ; kill: killed $sgpr6
-; SI-NEXT: ; implicit-def: $sgpr80
+; SI-NEXT: ; implicit-def: $sgpr84
+; SI-NEXT: ; implicit-def: $sgpr85
+; SI-NEXT: ; implicit-def: $sgpr11
; SI-NEXT: ; implicit-def: $sgpr83
-; SI-NEXT: ; implicit-def: $sgpr81
-; SI-NEXT: ; implicit-def: $sgpr71
+; SI-NEXT: ; implicit-def: $sgpr15
; SI-NEXT: ; implicit-def: $sgpr86
-; SI-NEXT: ; implicit-def: $sgpr84
-; SI-NEXT: ; implicit-def: $sgpr82
+; SI-NEXT: ; implicit-def: $sgpr10
; SI-NEXT: ; implicit-def: $sgpr97
+; SI-NEXT: ; implicit-def: $sgpr14
; SI-NEXT: ; implicit-def: $sgpr87
-; SI-NEXT: ; implicit-def: $sgpr85
; SI-NEXT: ; implicit-def: $sgpr99
; SI-NEXT: ; implicit-def: $sgpr96
-; SI-NEXT: ; implicit-def: $sgpr11
+; SI-NEXT: ; implicit-def: $sgpr69
; SI-NEXT: ; implicit-def: $sgpr98
-; SI-NEXT: ; implicit-def: $sgpr68
-; SI-NEXT: ; implicit-def: $sgpr14
-; SI-NEXT: ; implicit-def: $sgpr10
+; SI-NEXT: ; implicit-def: $sgpr80
; SI-NEXT: ; implicit-def: $sgpr70
-; SI-NEXT: ; implicit-def: $sgpr69
-; SI-NEXT: ; implicit-def: $sgpr15
-; SI-NEXT: ; implicit-def: $sgpr42
+; SI-NEXT: ; implicit-def: $sgpr68
+; SI-NEXT: ; implicit-def: $sgpr82
+; SI-NEXT: ; implicit-def: $sgpr81
+; SI-NEXT: ; implicit-def: $sgpr71
; SI-NEXT: ; implicit-def: $vcc_lo
; SI-NEXT: ; implicit-def: $sgpr94
+; SI-NEXT: ; implicit-def: $sgpr46
; SI-NEXT: ; implicit-def: $sgpr92
; SI-NEXT: ; implicit-def: $sgpr90
; SI-NEXT: ; implicit-def: $sgpr88
; SI-NEXT: ; implicit-def: $sgpr78
-; SI-NEXT: ; implicit-def: $sgpr60
-; SI-NEXT: ; implicit-def: $sgpr58
; SI-NEXT: ; implicit-def: $sgpr76
-; SI-NEXT: ; implicit-def: $sgpr46
; SI-NEXT: ; implicit-def: $sgpr74
-; SI-NEXT: ; implicit-def: $sgpr62
-; SI-NEXT: ; implicit-def: $sgpr56
+; SI-NEXT: ; implicit-def: $sgpr60
+; SI-NEXT: ; implicit-def: $sgpr40
; SI-NEXT: ; implicit-def: $sgpr44
+; SI-NEXT: ; implicit-def: $sgpr62
; SI-NEXT: ; implicit-def: $sgpr72
-; SI-NEXT: ; implicit-def: $sgpr40
+; SI-NEXT: ; implicit-def: $sgpr42
+; SI-NEXT: ; implicit-def: $sgpr58
+; SI-NEXT: ; implicit-def: $sgpr56
; SI-NEXT: ; implicit-def: $sgpr12
; SI-NEXT: ; implicit-def: $sgpr8
; SI-NEXT: ; implicit-def: $sgpr6
@@ -43826,14 +43855,20 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; SI-NEXT: s_cmp_lg_u32 s6, 1
; SI-NEXT: s_cbranch_scc1 .LBB37_5
; SI-NEXT: ; %bb.4: ; %cmp.true
+; SI-NEXT: v_add_f32_e64 v1, s48, 1.0
+; SI-NEXT: v_add_f32_e64 v20, s28, 1.0
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
+; SI-NEXT: v_readfirstlane_b32 s28, v1
+; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_add_f32_e64 v1, s38, 1.0
+; SI-NEXT: v_add_f32_e64 v25, s24, 1.0
; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
-; SI-NEXT: v_readfirstlane_b32 s44, v1
+; SI-NEXT: v_readfirstlane_b32 s24, v1
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_add_f32_e64 v1, s36, 1.0
-; SI-NEXT: v_add_f32_e64 v22, s26, 1.0
+; SI-NEXT: v_add_f32_e64 v27, s22, 1.0
; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
-; SI-NEXT: v_readfirstlane_b32 s26, v1
+; SI-NEXT: v_readfirstlane_b32 s22, v1
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_add_f32_e64 v1, s34, 1.0
; SI-NEXT: v_add_f32_e64 v29, s20, 1.0
@@ -43846,35 +43881,31 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_add_f32_e64 v1, s5, 1.0
; SI-NEXT: v_add_f32_e64 v3, s4, 1.0
-; SI-NEXT: v_add_f32_e64 v15, s53, 1.0
+; SI-NEXT: v_add_f32_e64 v16, s55, 1.0
; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:52 ; 4-byte Folded Spill
; SI-NEXT: v_readfirstlane_b32 s8, v3
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_lshrrev_b32_e32 v3, 24, v1
-; SI-NEXT: v_add_f32_e64 v17, s55, 1.0
-; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v3, 8, v15
; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v3, 24, v17
+; SI-NEXT: v_lshrrev_b32_e32 v3, 24, v16
; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v3, 16, v17
-; SI-NEXT: v_add_f32_e64 v19, s29, 1.0
+; SI-NEXT: v_lshrrev_b32_e32 v3, 16, v16
+; SI-NEXT: v_add_f32_e64 v18, s29, 1.0
; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v3, 8, v17
+; SI-NEXT: v_lshrrev_b32_e32 v3, 8, v16
; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v3, 24, v19
+; SI-NEXT: v_lshrrev_b32_e32 v3, 24, v18
; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v3, 16, v19
+; SI-NEXT: v_lshrrev_b32_e32 v3, 16, v18
; SI-NEXT: v_add_f32_e64 v21, s27, 1.0
; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v3, 8, v19
+; SI-NEXT: v_lshrrev_b32_e32 v3, 8, v18
; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_lshrrev_b32_e32 v3, 24, v21
@@ -43891,58 +43922,55 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_lshrrev_b32_e32 v3, 16, v23
-; SI-NEXT: v_add_f32_e64 v34, s17, 1.0
-; SI-NEXT: v_add_f32_e64 v38, s16, 1.0
-; SI-NEXT: v_add_f32_e64 v31, s19, 1.0
-; SI-NEXT: v_add_f32_e64 v33, s18, 1.0
-; SI-NEXT: v_add_f32_e64 v27, s21, 1.0
-; SI-NEXT: v_add_f32_e64 v25, s23, 1.0
-; SI-NEXT: v_add_f32_e64 v26, s22, 1.0
-; SI-NEXT: v_add_f32_e64 v24, s24, 1.0
-; SI-NEXT: v_add_f32_e64 v20, s28, 1.0
-; SI-NEXT: v_add_f32_e64 v18, s54, 1.0
-; SI-NEXT: v_add_f32_e64 v16, s52, 1.0
-; SI-NEXT: v_add_f32_e64 v13, s51, 1.0
-; SI-NEXT: v_add_f32_e64 v14, s50, 1.0
-; SI-NEXT: v_add_f32_e64 v11, s49, 1.0
-; SI-NEXT: v_add_f32_e64 v12, s48, 1.0
-; SI-NEXT: v_add_f32_e64 v9, s39, 1.0
-; SI-NEXT: v_add_f32_e64 v7, s37, 1.0
-; SI-NEXT: v_add_f32_e64 v5, s35, 1.0
+; SI-NEXT: v_add_f32_e64 v30, s17, 1.0
+; SI-NEXT: v_add_f32_e64 v32, s16, 1.0
+; SI-NEXT: v_add_f32_e64 v28, s19, 1.0
+; SI-NEXT: v_add_f32_e64 v31, s18, 1.0
+; SI-NEXT: v_add_f32_e64 v26, s21, 1.0
+; SI-NEXT: v_add_f32_e64 v24, s23, 1.0
+; SI-NEXT: v_add_f32_e64 v22, s26, 1.0
+; SI-NEXT: v_add_f32_e64 v19, s54, 1.0
+; SI-NEXT: v_add_f32_e64 v14, s53, 1.0
+; SI-NEXT: v_add_f32_e64 v17, s52, 1.0
+; SI-NEXT: v_add_f32_e64 v12, s51, 1.0
+; SI-NEXT: v_add_f32_e64 v15, s50, 1.0
+; SI-NEXT: v_add_f32_e64 v10, s49, 1.0
+; SI-NEXT: v_add_f32_e64 v8, s39, 1.0
+; SI-NEXT: v_add_f32_e64 v6, s37, 1.0
+; SI-NEXT: v_add_f32_e64 v4, s35, 1.0
; SI-NEXT: v_add_f32_e64 v2, s31, 1.0
; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_lshrrev_b32_e32 v3, 8, v23
-; SI-NEXT: v_readfirstlane_b32 s98, v38
-; SI-NEXT: v_readfirstlane_b32 s99, v34
-; SI-NEXT: v_readfirstlane_b32 s84, v33
-; SI-NEXT: v_readfirstlane_b32 s85, v31
+; SI-NEXT: v_readfirstlane_b32 s98, v32
+; SI-NEXT: v_readfirstlane_b32 s99, v30
+; SI-NEXT: v_readfirstlane_b32 s84, v31
+; SI-NEXT: v_readfirstlane_b32 s85, v28
; SI-NEXT: v_readfirstlane_b32 s70, v29
-; SI-NEXT: v_readfirstlane_b32 s71, v27
-; SI-NEXT: v_readfirstlane_b32 s64, v26
-; SI-NEXT: v_readfirstlane_b32 s65, v25
-; SI-NEXT: v_readfirstlane_b32 s92, v24
+; SI-NEXT: v_readfirstlane_b32 s71, v26
+; SI-NEXT: v_readfirstlane_b32 s64, v27
+; SI-NEXT: v_readfirstlane_b32 s65, v24
+; SI-NEXT: v_readfirstlane_b32 s92, v25
; SI-NEXT: v_readfirstlane_b32 s93, v23
; SI-NEXT: v_readfirstlane_b32 s78, v22
; SI-NEXT: v_readfirstlane_b32 s79, v21
; SI-NEXT: v_readfirstlane_b32 s76, v20
-; SI-NEXT: v_readfirstlane_b32 s77, v19
-; SI-NEXT: v_readfirstlane_b32 s88, v18
-; SI-NEXT: v_readfirstlane_b32 s89, v17
-; SI-NEXT: v_readfirstlane_b32 s90, v16
-; SI-NEXT: v_readfirstlane_b32 s91, v15
-; SI-NEXT: v_readfirstlane_b32 s58, v14
-; SI-NEXT: v_readfirstlane_b32 s59, v13
-; SI-NEXT: v_readfirstlane_b32 s42, v12
-; SI-NEXT: v_readfirstlane_b32 s43, v11
-; SI-NEXT: v_readfirstlane_b32 s45, v9
-; SI-NEXT: v_readfirstlane_b32 s27, v7
-; SI-NEXT: v_readfirstlane_b32 s21, v5
+; SI-NEXT: v_readfirstlane_b32 s77, v18
+; SI-NEXT: v_readfirstlane_b32 s88, v19
+; SI-NEXT: v_readfirstlane_b32 s89, v16
+; SI-NEXT: v_readfirstlane_b32 s90, v17
+; SI-NEXT: v_readfirstlane_b32 s91, v14
+; SI-NEXT: v_readfirstlane_b32 s46, v15
+; SI-NEXT: v_readfirstlane_b32 s47, v12
+; SI-NEXT: v_readfirstlane_b32 s29, v10
+; SI-NEXT: v_readfirstlane_b32 s25, v8
+; SI-NEXT: v_readfirstlane_b32 s23, v6
+; SI-NEXT: v_readfirstlane_b32 s21, v4
; SI-NEXT: v_readfirstlane_b32 s15, v2
; SI-NEXT: v_readfirstlane_b32 s9, v1
; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v3, 24, v25
+; SI-NEXT: v_lshrrev_b32_e32 v3, 24, v24
; SI-NEXT: s_lshr_b64 s[4:5], s[8:9], 24
; SI-NEXT: s_lshr_b64 s[6:7], s[8:9], 16
; SI-NEXT: s_lshr_b64 s[8:9], s[8:9], 8
@@ -43952,18 +43980,18 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; SI-NEXT: s_lshr_b64 s[16:17], s[20:21], 24
; SI-NEXT: s_lshr_b64 s[18:19], s[20:21], 16
; SI-NEXT: s_lshr_b64 s[20:21], s[20:21], 8
-; SI-NEXT: s_lshr_b64 s[22:23], s[26:27], 24
-; SI-NEXT: s_lshr_b64 s[24:25], s[26:27], 16
-; SI-NEXT: s_lshr_b64 s[26:27], s[26:27], 8
-; SI-NEXT: s_lshr_b64 s[28:29], s[44:45], 24
-; SI-NEXT: s_lshr_b64 s[40:41], s[44:45], 16
-; SI-NEXT: s_lshr_b64 s[72:73], s[44:45], 8
-; SI-NEXT: s_lshr_b64 s[44:45], s[42:43], 24
-; SI-NEXT: s_lshr_b64 s[56:57], s[42:43], 16
-; SI-NEXT: s_lshr_b64 s[62:63], s[42:43], 8
-; SI-NEXT: s_lshr_b64 s[42:43], s[58:59], 24
-; SI-NEXT: s_lshr_b64 s[46:47], s[58:59], 16
-; SI-NEXT: s_lshr_b64 s[58:59], s[58:59], 8
+; SI-NEXT: s_lshr_b64 s[56:57], s[22:23], 24
+; SI-NEXT: s_lshr_b64 s[58:59], s[22:23], 16
+; SI-NEXT: s_lshr_b64 s[42:43], s[22:23], 8
+; SI-NEXT: s_lshr_b64 s[22:23], s[24:25], 24
+; SI-NEXT: s_lshr_b64 s[72:73], s[24:25], 16
+; SI-NEXT: s_lshr_b64 s[62:63], s[24:25], 8
+; SI-NEXT: s_lshr_b64 s[24:25], s[28:29], 24
+; SI-NEXT: s_lshr_b64 s[26:27], s[28:29], 16
+; SI-NEXT: s_lshr_b64 s[28:29], s[28:29], 8
+; SI-NEXT: s_lshr_b64 s[40:41], s[46:47], 24
+; SI-NEXT: s_lshr_b64 s[44:45], s[46:47], 16
+; SI-NEXT: s_lshr_b64 s[46:47], s[46:47], 8
; SI-NEXT: s_lshr_b64 s[60:61], s[90:91], 24
; SI-NEXT: s_lshr_b64 s[74:75], s[90:91], 16
; SI-NEXT: s_lshr_b64 s[30:31], s[90:91], 8
@@ -43991,46 +44019,50 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; SI-NEXT: s_lshr_b64 s[86:87], s[98:99], 24
; SI-NEXT: s_lshr_b64 s[96:97], s[98:99], 16
; SI-NEXT: s_lshr_b64 s[98:99], s[98:99], 8
-; SI-NEXT: v_lshrrev_b32_e32 v40, 16, v1
-; SI-NEXT: v_lshrrev_b32_e32 v41, 8, v1
-; SI-NEXT: v_lshrrev_b32_e32 v42, 24, v2
-; SI-NEXT: v_lshrrev_b32_e32 v43, 16, v2
-; SI-NEXT: v_lshrrev_b32_e32 v44, 8, v2
-; SI-NEXT: v_lshrrev_b32_e32 v45, 24, v5
-; SI-NEXT: v_lshrrev_b32_e32 v46, 16, v5
-; SI-NEXT: v_lshrrev_b32_e32 v47, 8, v5
-; SI-NEXT: v_lshrrev_b32_e32 v56, 24, v7
-; SI-NEXT: v_lshrrev_b32_e32 v57, 16, v7
-; SI-NEXT: v_lshrrev_b32_e32 v58, 8, v7
-; SI-NEXT: v_lshrrev_b32_e32 v59, 24, v9
-; SI-NEXT: v_lshrrev_b32_e32 v60, 16, v9
-; SI-NEXT: v_lshrrev_b32_e32 v28, 8, v9
-; SI-NEXT: v_lshrrev_b32_e32 v30, 24, v11
-; SI-NEXT: v_lshrrev_b32_e32 v32, 16, v11
-; SI-NEXT: v_lshrrev_b32_e32 v35, 8, v11
-; SI-NEXT: v_lshrrev_b32_e32 v36, 24, v13
-; SI-NEXT: v_lshrrev_b32_e32 v37, 16, v13
-; SI-NEXT: v_lshrrev_b32_e32 v39, 8, v13
-; SI-NEXT: v_lshrrev_b32_e32 v48, 24, v15
-; SI-NEXT: v_lshrrev_b32_e32 v49, 16, v15
+; SI-NEXT: v_lshrrev_b32_e32 v55, 16, v1
+; SI-NEXT: v_lshrrev_b32_e32 v40, 8, v1
+; SI-NEXT: v_lshrrev_b32_e32 v41, 24, v2
+; SI-NEXT: v_lshrrev_b32_e32 v42, 16, v2
+; SI-NEXT: v_lshrrev_b32_e32 v43, 8, v2
+; SI-NEXT: v_lshrrev_b32_e32 v44, 24, v4
+; SI-NEXT: v_lshrrev_b32_e32 v45, 16, v4
+; SI-NEXT: v_lshrrev_b32_e32 v46, 8, v4
+; SI-NEXT: v_lshrrev_b32_e32 v47, 24, v6
+; SI-NEXT: v_lshrrev_b32_e32 v56, 16, v6
+; SI-NEXT: v_lshrrev_b32_e32 v57, 8, v6
+; SI-NEXT: v_lshrrev_b32_e32 v58, 24, v8
+; SI-NEXT: v_lshrrev_b32_e32 v59, 16, v8
+; SI-NEXT: v_lshrrev_b32_e32 v60, 8, v8
+; SI-NEXT: v_lshrrev_b32_e32 v33, 24, v10
+; SI-NEXT: v_lshrrev_b32_e32 v34, 16, v10
+; SI-NEXT: v_lshrrev_b32_e32 v35, 8, v10
+; SI-NEXT: v_lshrrev_b32_e32 v36, 24, v12
+; SI-NEXT: v_lshrrev_b32_e32 v37, 16, v12
+; SI-NEXT: v_lshrrev_b32_e32 v38, 8, v12
+; SI-NEXT: v_lshrrev_b32_e32 v39, 24, v14
+; SI-NEXT: v_lshrrev_b32_e32 v48, 16, v14
+; SI-NEXT: v_lshrrev_b32_e32 v49, 8, v14
; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v3, 16, v25
-; SI-NEXT: v_lshrrev_b32_e32 v50, 8, v25
-; SI-NEXT: v_lshrrev_b32_e32 v4, 24, v27
-; SI-NEXT: v_lshrrev_b32_e32 v51, 16, v27
-; SI-NEXT: v_lshrrev_b32_e32 v52, 8, v27
-; SI-NEXT: v_lshrrev_b32_e32 v6, 24, v31
-; SI-NEXT: v_lshrrev_b32_e32 v8, 16, v31
-; SI-NEXT: v_lshrrev_b32_e32 v53, 8, v31
-; SI-NEXT: v_lshrrev_b32_e32 v54, 24, v34
-; SI-NEXT: v_lshrrev_b32_e32 v55, 16, v34
-; SI-NEXT: v_lshrrev_b32_e32 v10, 8, v34
+; SI-NEXT: v_lshrrev_b32_e32 v3, 16, v24
+; SI-NEXT: v_lshrrev_b32_e32 v5, 8, v24
+; SI-NEXT: v_lshrrev_b32_e32 v50, 24, v26
+; SI-NEXT: v_lshrrev_b32_e32 v51, 16, v26
+; SI-NEXT: v_lshrrev_b32_e32 v7, 8, v26
+; SI-NEXT: v_lshrrev_b32_e32 v52, 24, v28
+; SI-NEXT: v_lshrrev_b32_e32 v9, 16, v28
+; SI-NEXT: v_lshrrev_b32_e32 v11, 8, v28
+; SI-NEXT: v_lshrrev_b32_e32 v53, 24, v30
+; SI-NEXT: v_lshrrev_b32_e32 v54, 16, v30
+; SI-NEXT: v_lshrrev_b32_e32 v13, 8, v30
; SI-NEXT: s_branch .LBB37_6
; SI-NEXT: .LBB37_5:
; SI-NEXT: v_mov_b32_e32 v1, s16
; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
-; SI-NEXT: buffer_load_dword v38, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_mov_b32_e32 v1, s48
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s38
; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
@@ -44046,141 +44078,137 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s4
; SI-NEXT: v_readlane_b32 s4, v61, 58
-; SI-NEXT: v_mov_b32_e32 v10, s4
+; SI-NEXT: v_mov_b32_e32 v13, s4
; SI-NEXT: v_readlane_b32 s4, v61, 59
-; SI-NEXT: v_mov_b32_e32 v55, s4
+; SI-NEXT: v_mov_b32_e32 v54, s4
; SI-NEXT: v_readlane_b32 s4, v61, 60
-; SI-NEXT: v_mov_b32_e32 v53, s4
+; SI-NEXT: v_mov_b32_e32 v11, s4
; SI-NEXT: v_readlane_b32 s4, v61, 61
-; SI-NEXT: v_mov_b32_e32 v8, s4
+; SI-NEXT: v_mov_b32_e32 v9, s4
; SI-NEXT: v_readlane_b32 s4, v61, 62
-; SI-NEXT: v_mov_b32_e32 v6, s4
-; SI-NEXT: v_readlane_b32 s4, v61, 63
; SI-NEXT: v_mov_b32_e32 v52, s4
+; SI-NEXT: v_readlane_b32 s4, v61, 63
+; SI-NEXT: v_mov_b32_e32 v7, s4
; SI-NEXT: v_readlane_b32 s4, v62, 0
; SI-NEXT: v_mov_b32_e32 v51, s4
; SI-NEXT: v_readlane_b32 s4, v62, 1
-; SI-NEXT: v_mov_b32_e32 v4, s4
-; SI-NEXT: v_readlane_b32 s4, v62, 2
; SI-NEXT: v_mov_b32_e32 v50, s4
+; SI-NEXT: v_readlane_b32 s4, v62, 2
+; SI-NEXT: v_mov_b32_e32 v5, s4
; SI-NEXT: v_readlane_b32 s4, v62, 3
; SI-NEXT: v_mov_b32_e32 v3, s4
; SI-NEXT: v_readlane_b32 s4, v62, 4
-; SI-NEXT: v_mov_b32_e32 v12, s4
+; SI-NEXT: v_mov_b32_e32 v15, s4
; SI-NEXT: v_readlane_b32 s4, v62, 5
-; SI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mov_b32_e32 v12, s4
+; SI-NEXT: v_mov_b32_e32 v15, s4
; SI-NEXT: v_readlane_b32 s4, v62, 6
-; SI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mov_b32_e32 v12, s4
+; SI-NEXT: v_mov_b32_e32 v15, s4
; SI-NEXT: v_readlane_b32 s4, v62, 7
-; SI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mov_b32_e32 v12, s4
+; SI-NEXT: v_mov_b32_e32 v15, s4
; SI-NEXT: v_readlane_b32 s4, v62, 8
-; SI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mov_b32_e32 v12, s4
+; SI-NEXT: v_mov_b32_e32 v15, s4
; SI-NEXT: v_readlane_b32 s4, v62, 9
-; SI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mov_b32_e32 v12, s4
+; SI-NEXT: v_mov_b32_e32 v15, s4
; SI-NEXT: v_readlane_b32 s4, v62, 10
-; SI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mov_b32_e32 v12, s4
+; SI-NEXT: v_mov_b32_e32 v15, s4
; SI-NEXT: v_readlane_b32 s4, v62, 11
-; SI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mov_b32_e32 v12, s4
+; SI-NEXT: v_mov_b32_e32 v15, s4
; SI-NEXT: v_readlane_b32 s4, v62, 12
-; SI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mov_b32_e32 v12, s4
+; SI-NEXT: v_mov_b32_e32 v15, s4
; SI-NEXT: v_readlane_b32 s4, v62, 13
-; SI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mov_b32_e32 v12, s4
+; SI-NEXT: v_mov_b32_e32 v15, s4
; SI-NEXT: v_readlane_b32 s4, v62, 14
-; SI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mov_b32_e32 v12, s4
+; SI-NEXT: v_mov_b32_e32 v15, s4
; SI-NEXT: v_readlane_b32 s4, v62, 15
-; SI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mov_b32_e32 v12, s4
+; SI-NEXT: v_mov_b32_e32 v15, s4
; SI-NEXT: v_readlane_b32 s4, v62, 16
-; SI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mov_b32_e32 v12, s4
+; SI-NEXT: v_mov_b32_e32 v15, s4
; SI-NEXT: v_readlane_b32 s4, v62, 17
-; SI-NEXT: v_mov_b32_e32 v49, s4
+; SI-NEXT: v_mov_b32_e32 v48, s4
; SI-NEXT: v_readlane_b32 s4, v62, 18
; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:52 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s5
-; SI-NEXT: v_mov_b32_e32 v48, s4
+; SI-NEXT: v_mov_b32_e32 v39, s4
; SI-NEXT: v_readlane_b32 s4, v61, 8
; SI-NEXT: v_readlane_b32 s5, v61, 9
; SI-NEXT: s_mov_b32 s6, s4
; SI-NEXT: v_readlane_b32 s4, v61, 6
; SI-NEXT: v_readlane_b32 s5, v61, 7
-; SI-NEXT: v_mov_b32_e32 v42, s10
+; SI-NEXT: v_mov_b32_e32 v33, s10
; SI-NEXT: s_mov_b32 s10, s4
; SI-NEXT: v_readlane_b32 s4, v61, 4
; SI-NEXT: v_readlane_b32 s5, v61, 5
-; SI-NEXT: v_mov_b32_e32 v43, s14
+; SI-NEXT: v_mov_b32_e32 v59, s14
; SI-NEXT: s_mov_b32 s14, s4
; SI-NEXT: v_readlane_b32 s4, v61, 2
; SI-NEXT: v_readlane_b32 s5, v61, 3
-; SI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mov_b32_e32 v12, s80
; SI-NEXT: s_mov_b32 s16, s4
; SI-NEXT: v_readlane_b32 s4, v61, 0
-; SI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mov_b32_e32 v12, s15
; SI-NEXT: v_readlane_b32 s5, v61, 1
-; SI-NEXT: v_mov_b32_e32 v34, s17
-; SI-NEXT: v_mov_b32_e32 v31, s19
-; SI-NEXT: v_mov_b32_e32 v27, s21
-; SI-NEXT: v_mov_b32_e32 v25, s23
+; SI-NEXT: v_mov_b32_e32 v30, s17
+; SI-NEXT: v_mov_b32_e32 v28, s19
+; SI-NEXT: v_mov_b32_e32 v26, s21
+; SI-NEXT: v_mov_b32_e32 v24, s23
; SI-NEXT: v_mov_b32_e32 v23, s25
; SI-NEXT: v_mov_b32_e32 v21, s27
-; SI-NEXT: v_mov_b32_e32 v19, s29
-; SI-NEXT: v_mov_b32_e32 v17, s55
-; SI-NEXT: v_mov_b32_e32 v15, s53
-; SI-NEXT: v_mov_b32_e32 v13, s51
-; SI-NEXT: v_mov_b32_e32 v11, s49
-; SI-NEXT: v_mov_b32_e32 v9, s39
-; SI-NEXT: v_mov_b32_e32 v7, s37
-; SI-NEXT: v_mov_b32_e32 v5, s35
+; SI-NEXT: v_mov_b32_e32 v18, s29
+; SI-NEXT: v_mov_b32_e32 v16, s55
+; SI-NEXT: v_mov_b32_e32 v14, s53
+; SI-NEXT: v_mov_b32_e32 v12, s51
+; SI-NEXT: v_mov_b32_e32 v10, s49
+; SI-NEXT: v_mov_b32_e32 v8, s39
+; SI-NEXT: v_mov_b32_e32 v6, s37
+; SI-NEXT: v_mov_b32_e32 v4, s35
; SI-NEXT: v_mov_b32_e32 v2, s31
-; SI-NEXT: v_mov_b32_e32 v54, s66
-; SI-NEXT: v_mov_b32_e32 v35, s86
-; SI-NEXT: v_mov_b32_e32 v32, s84
-; SI-NEXT: v_mov_b32_e32 v30, s82
-; SI-NEXT: v_mov_b32_e32 v56, s96
-; SI-NEXT: v_mov_b32_e32 v47, s11
-; SI-NEXT: v_mov_b32_e32 v46, s7
-; SI-NEXT: v_mov_b32_e32 v45, s98
-; SI-NEXT: v_mov_b32_e32 v44, s68
-; SI-NEXT: v_mov_b32_e32 v41, s70
-; SI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
+; SI-NEXT: v_mov_b32_e32 v53, s66
+; SI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
+; SI-NEXT: v_mov_b32_e32 v49, s84
+; SI-NEXT: v_mov_b32_e32 v37, s11
+; SI-NEXT: v_mov_b32_e32 v35, s15
+; SI-NEXT: v_mov_b32_e32 v34, s86
+; SI-NEXT: v_mov_b32_e32 v47, s96
+; SI-NEXT: v_mov_b32_e32 v45, s7
+; SI-NEXT: v_mov_b32_e32 v44, s98
+; SI-NEXT: v_mov_b32_e32 v43, s80
+; SI-NEXT: v_mov_b32_e32 v42, s70
+; SI-NEXT: v_mov_b32_e32 v41, s68
+; SI-NEXT: v_mov_b32_e32 v40, s82
+; SI-NEXT: v_mov_b32_e32 v55, s71
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mov_b32_e32 v12, s48
-; SI-NEXT: v_mov_b32_e32 v14, s50
-; SI-NEXT: v_mov_b32_e32 v16, s52
-; SI-NEXT: v_mov_b32_e32 v18, s54
+; SI-NEXT: v_mov_b32_e32 v15, s50
+; SI-NEXT: v_mov_b32_e32 v17, s52
+; SI-NEXT: v_mov_b32_e32 v19, s54
; SI-NEXT: v_mov_b32_e32 v20, s28
; SI-NEXT: v_mov_b32_e32 v22, s26
-; SI-NEXT: v_mov_b32_e32 v24, s24
-; SI-NEXT: v_mov_b32_e32 v26, s22
+; SI-NEXT: v_mov_b32_e32 v25, s24
+; SI-NEXT: v_mov_b32_e32 v27, s22
; SI-NEXT: v_mov_b32_e32 v29, s20
-; SI-NEXT: v_mov_b32_e32 v33, s18
+; SI-NEXT: v_mov_b32_e32 v31, s18
; SI-NEXT: v_readlane_b32 s30, v61, 24
; SI-NEXT: v_readlane_b32 s34, v61, 22
; SI-NEXT: v_readlane_b32 s36, v61, 20
@@ -44189,10 +44217,10 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; SI-NEXT: v_readlane_b32 s50, v61, 14
; SI-NEXT: v_readlane_b32 s52, v61, 12
; SI-NEXT: v_readlane_b32 s54, v61, 10
-; SI-NEXT: s_mov_b32 s64, s76
+; SI-NEXT: s_mov_b32 s64, s60
+; SI-NEXT: s_mov_b32 s66, s74
+; SI-NEXT: s_mov_b32 s68, s76
; SI-NEXT: s_mov_b32 s76, s6
-; SI-NEXT: s_mov_b32 s66, s58
-; SI-NEXT: s_mov_b32 s68, s60
; SI-NEXT: s_mov_b32 s70, s78
; SI-NEXT: s_mov_b32 s78, s10
; SI-NEXT: s_mov_b32 s80, s88
@@ -44201,11 +44229,11 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; SI-NEXT: s_mov_b32 s90, s16
; SI-NEXT: s_mov_b32 s84, s92
; SI-NEXT: s_mov_b32 s92, s4
-; SI-NEXT: s_mov_b32 s86, s94
-; SI-NEXT: s_mov_b32 s94, s74
-; SI-NEXT: s_mov_b32 s96, vcc_lo
-; SI-NEXT: s_mov_b32 vcc_lo, s46
-; SI-NEXT: s_mov_b32 s98, s42
+; SI-NEXT: s_mov_b32 s86, s46
+; SI-NEXT: s_mov_b32 s96, s94
+; SI-NEXT: s_mov_b32 s94, s44
+; SI-NEXT: s_mov_b32 s98, vcc_lo
+; SI-NEXT: s_mov_b32 vcc_lo, s40
; SI-NEXT: v_readlane_b32 s4, v61, 56
; SI-NEXT: v_readlane_b32 s6, v61, 54
; SI-NEXT: v_readlane_b32 s10, v61, 52
@@ -44217,20 +44245,21 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; SI-NEXT: v_readlane_b32 s24, v61, 40
; SI-NEXT: v_readlane_b32 s26, v61, 38
; SI-NEXT: v_readlane_b32 s28, v61, 36
-; SI-NEXT: v_readlane_b32 s42, v61, 34
-; SI-NEXT: v_readlane_b32 s46, v61, 32
-; SI-NEXT: v_readlane_b32 s58, v61, 30
+; SI-NEXT: v_readlane_b32 s40, v61, 34
+; SI-NEXT: v_readlane_b32 s44, v61, 32
+; SI-NEXT: v_readlane_b32 s46, v61, 30
; SI-NEXT: v_readlane_b32 s60, v61, 28
; SI-NEXT: v_readlane_b32 s74, v61, 26
-; SI-NEXT: v_mov_b32_e32 v39, s83
-; SI-NEXT: v_mov_b32_e32 v37, s81
-; SI-NEXT: v_mov_b32_e32 v36, s71
-; SI-NEXT: v_mov_b32_e32 v28, s97
-; SI-NEXT: v_mov_b32_e32 v60, s87
-; SI-NEXT: v_mov_b32_e32 v59, s85
-; SI-NEXT: v_mov_b32_e32 v58, s99
-; SI-NEXT: v_mov_b32_e32 v57, s67
-; SI-NEXT: v_mov_b32_e32 v40, s69
+; SI-NEXT: v_mov_b32_e32 v38, s85
+; SI-NEXT: v_mov_b32_e32 v36, s83
+; SI-NEXT: v_mov_b32_e32 v60, s97
+; SI-NEXT: v_mov_b32_e32 v58, s87
+; SI-NEXT: v_mov_b32_e32 v57, s99
+; SI-NEXT: v_mov_b32_e32 v56, s67
+; SI-NEXT: v_mov_b32_e32 v46, s69
+; SI-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_mov_b32_e32 v55, s81
; SI-NEXT: v_readlane_b32 s31, v61, 25
; SI-NEXT: v_readlane_b32 s35, v61, 23
; SI-NEXT: v_readlane_b32 s37, v61, 21
@@ -44250,97 +44279,97 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; SI-NEXT: v_readlane_b32 s25, v61, 41
; SI-NEXT: v_readlane_b32 s27, v61, 39
; SI-NEXT: v_readlane_b32 s29, v61, 37
-; SI-NEXT: v_readlane_b32 s43, v61, 35
-; SI-NEXT: v_readlane_b32 s47, v61, 33
-; SI-NEXT: v_readlane_b32 s59, v61, 31
+; SI-NEXT: v_readlane_b32 s41, v61, 35
+; SI-NEXT: v_readlane_b32 s45, v61, 33
+; SI-NEXT: v_readlane_b32 s47, v61, 31
; SI-NEXT: v_readlane_b32 s61, v61, 29
; SI-NEXT: v_readlane_b32 s75, v61, 27
; SI-NEXT: .LBB37_6: ; %end
; SI-NEXT: s_waitcnt vmcnt(14)
-; SI-NEXT: v_and_b32_e32 v38, 0xff, v38
+; SI-NEXT: v_and_b32_e32 v32, 0xff, v32
; SI-NEXT: s_lshl_b32 s5, s98, 8
-; SI-NEXT: v_or_b32_e32 v38, s5, v38
+; SI-NEXT: v_or_b32_e32 v32, s5, v32
; SI-NEXT: s_and_b32 s5, s96, 0xff
; SI-NEXT: s_lshl_b32 s5, s5, 16
; SI-NEXT: s_lshl_b32 s7, s86, 24
-; SI-NEXT: v_and_b32_e32 v38, 0xffff, v38
+; SI-NEXT: v_and_b32_e32 v32, 0xffff, v32
; SI-NEXT: s_or_b32 s5, s7, s5
-; SI-NEXT: v_and_b32_e32 v34, 0xff, v34
-; SI-NEXT: v_lshlrev_b32_e32 v10, 8, v10
-; SI-NEXT: v_or_b32_e32 v38, s5, v38
-; SI-NEXT: v_or_b32_e32 v10, v34, v10
-; SI-NEXT: v_and_b32_e32 v34, 0xff, v55
-; SI-NEXT: buffer_store_dword v38, v0, s[0:3], 0 offen
-; SI-NEXT: v_lshlrev_b32_e32 v34, 16, v34
+; SI-NEXT: v_and_b32_e32 v30, 0xff, v30
+; SI-NEXT: v_lshlrev_b32_e32 v13, 8, v13
+; SI-NEXT: v_or_b32_e32 v32, s5, v32
+; SI-NEXT: v_or_b32_e32 v13, v30, v13
+; SI-NEXT: v_and_b32_e32 v30, 0xff, v54
+; SI-NEXT: buffer_store_dword v32, v0, s[0:3], 0 offen
+; SI-NEXT: v_lshlrev_b32_e32 v30, 16, v30
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshlrev_b32_e32 v38, 24, v54
-; SI-NEXT: v_or_b32_e32 v34, v38, v34
-; SI-NEXT: v_and_b32_e32 v10, 0xffff, v10
-; SI-NEXT: v_or_b32_e32 v10, v10, v34
-; SI-NEXT: buffer_store_dword v10, v0, s[0:3], 0 offen offset:4
+; SI-NEXT: v_lshlrev_b32_e32 v32, 24, v53
+; SI-NEXT: v_or_b32_e32 v30, v32, v30
+; SI-NEXT: v_and_b32_e32 v13, 0xffff, v13
+; SI-NEXT: v_or_b32_e32 v13, v13, v30
+; SI-NEXT: buffer_store_dword v13, v0, s[0:3], 0 offen offset:4
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_and_b32_e32 v10, 0xff, v33
+; SI-NEXT: v_and_b32_e32 v13, 0xff, v31
; SI-NEXT: s_lshl_b32 s5, s84, 8
-; SI-NEXT: v_or_b32_e32 v10, s5, v10
+; SI-NEXT: v_or_b32_e32 v13, s5, v13
; SI-NEXT: s_and_b32 s5, s82, 0xff
; SI-NEXT: s_lshl_b32 s5, s5, 16
; SI-NEXT: s_lshl_b32 s7, s80, 24
-; SI-NEXT: v_and_b32_e32 v10, 0xffff, v10
+; SI-NEXT: v_and_b32_e32 v13, 0xffff, v13
; SI-NEXT: s_or_b32 s5, s7, s5
-; SI-NEXT: v_or_b32_e32 v10, s5, v10
-; SI-NEXT: buffer_store_dword v10, v0, s[0:3], 0 offen offset:8
+; SI-NEXT: v_or_b32_e32 v13, s5, v13
+; SI-NEXT: buffer_store_dword v13, v0, s[0:3], 0 offen offset:8
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_and_b32_e32 v10, 0xff, v31
-; SI-NEXT: v_lshlrev_b32_e32 v31, 8, v53
-; SI-NEXT: v_and_b32_e32 v8, 0xff, v8
-; SI-NEXT: v_or_b32_e32 v10, v10, v31
-; SI-NEXT: v_lshlrev_b32_e32 v8, 16, v8
-; SI-NEXT: v_lshlrev_b32_e32 v6, 24, v6
-; SI-NEXT: v_or_b32_e32 v6, v6, v8
-; SI-NEXT: v_and_b32_e32 v8, 0xffff, v10
-; SI-NEXT: v_or_b32_e32 v6, v8, v6
-; SI-NEXT: buffer_store_dword v6, v0, s[0:3], 0 offen offset:12
+; SI-NEXT: v_and_b32_e32 v13, 0xff, v28
+; SI-NEXT: v_lshlrev_b32_e32 v11, 8, v11
+; SI-NEXT: v_and_b32_e32 v9, 0xff, v9
+; SI-NEXT: v_or_b32_e32 v11, v13, v11
+; SI-NEXT: v_lshlrev_b32_e32 v9, 16, v9
+; SI-NEXT: v_lshlrev_b32_e32 v13, 24, v52
+; SI-NEXT: v_or_b32_e32 v9, v13, v9
+; SI-NEXT: v_and_b32_e32 v11, 0xffff, v11
+; SI-NEXT: v_or_b32_e32 v9, v11, v9
+; SI-NEXT: buffer_store_dword v9, v0, s[0:3], 0 offen offset:12
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_and_b32_e32 v6, 0xff, v29
+; SI-NEXT: v_and_b32_e32 v9, 0xff, v29
; SI-NEXT: s_lshl_b32 s5, s70, 8
-; SI-NEXT: v_or_b32_e32 v6, s5, v6
+; SI-NEXT: v_or_b32_e32 v9, s5, v9
; SI-NEXT: s_and_b32 s5, s68, 0xff
; SI-NEXT: s_lshl_b32 s5, s5, 16
; SI-NEXT: s_lshl_b32 s7, s66, 24
-; SI-NEXT: v_and_b32_e32 v6, 0xffff, v6
+; SI-NEXT: v_and_b32_e32 v9, 0xffff, v9
; SI-NEXT: s_or_b32 s5, s7, s5
-; SI-NEXT: v_or_b32_e32 v6, s5, v6
-; SI-NEXT: buffer_store_dword v6, v0, s[0:3], 0 offen offset:16
+; SI-NEXT: v_or_b32_e32 v9, s5, v9
+; SI-NEXT: buffer_store_dword v9, v0, s[0:3], 0 offen offset:16
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_and_b32_e32 v6, 0xff, v27
-; SI-NEXT: v_lshlrev_b32_e32 v8, 8, v52
-; SI-NEXT: v_or_b32_e32 v6, v6, v8
-; SI-NEXT: v_and_b32_e32 v8, 0xff, v51
-; SI-NEXT: v_lshlrev_b32_e32 v8, 16, v8
-; SI-NEXT: v_lshlrev_b32_e32 v4, 24, v4
-; SI-NEXT: v_or_b32_e32 v4, v4, v8
-; SI-NEXT: v_and_b32_e32 v6, 0xffff, v6
-; SI-NEXT: v_or_b32_e32 v4, v6, v4
-; SI-NEXT: buffer_store_dword v4, v0, s[0:3], 0 offen offset:20
+; SI-NEXT: v_and_b32_e32 v9, 0xff, v26
+; SI-NEXT: v_lshlrev_b32_e32 v7, 8, v7
+; SI-NEXT: v_or_b32_e32 v7, v9, v7
+; SI-NEXT: v_and_b32_e32 v9, 0xff, v51
+; SI-NEXT: v_lshlrev_b32_e32 v9, 16, v9
+; SI-NEXT: v_lshlrev_b32_e32 v11, 24, v50
+; SI-NEXT: v_or_b32_e32 v9, v11, v9
+; SI-NEXT: v_and_b32_e32 v7, 0xffff, v7
+; SI-NEXT: v_or_b32_e32 v7, v7, v9
+; SI-NEXT: buffer_store_dword v7, v0, s[0:3], 0 offen offset:20
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_and_b32_e32 v4, 0xff, v26
+; SI-NEXT: v_and_b32_e32 v7, 0xff, v27
; SI-NEXT: s_lshl_b32 s5, s64, 8
-; SI-NEXT: v_or_b32_e32 v4, s5, v4
+; SI-NEXT: v_or_b32_e32 v7, s5, v7
; SI-NEXT: s_and_b32 s5, vcc_lo, 0xff
; SI-NEXT: s_lshl_b32 s5, s5, 16
; SI-NEXT: s_lshl_b32 s7, s94, 24
-; SI-NEXT: v_and_b32_e32 v4, 0xffff, v4
+; SI-NEXT: v_and_b32_e32 v7, 0xffff, v7
; SI-NEXT: s_or_b32 s5, s7, s5
-; SI-NEXT: v_or_b32_e32 v4, s5, v4
-; SI-NEXT: buffer_store_dword v4, v0, s[0:3], 0 offen offset:24
+; SI-NEXT: v_or_b32_e32 v7, s5, v7
+; SI-NEXT: buffer_store_dword v7, v0, s[0:3], 0 offen offset:24
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_and_b32_e32 v4, 0xff, v25
-; SI-NEXT: v_lshlrev_b32_e32 v6, 8, v50
-; SI-NEXT: v_or_b32_e32 v4, v4, v6
-; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
+; SI-NEXT: v_and_b32_e32 v7, 0xff, v24
+; SI-NEXT: v_lshlrev_b32_e32 v5, 8, v5
+; SI-NEXT: v_or_b32_e32 v5, v7, v5
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
; SI-NEXT: v_and_b32_e32 v3, 0xff, v3
; SI-NEXT: v_lshlrev_b32_e32 v3, 16, v3
-; SI-NEXT: v_and_b32_e32 v4, 0xffff, v4
+; SI-NEXT: v_and_b32_e32 v5, 0xffff, v5
; SI-NEXT: s_lshl_b32 s5, s92, 8
; SI-NEXT: s_lshl_b32 s7, s88, 24
; SI-NEXT: v_and_b32_e32 v2, 0xff, v2
@@ -44374,12 +44403,12 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; SI-NEXT: v_readlane_b32 s37, v63, 3
; SI-NEXT: v_readlane_b32 s35, v63, 1
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshlrev_b32_e32 v6, 24, v6
-; SI-NEXT: v_or_b32_e32 v3, v6, v3
-; SI-NEXT: v_or_b32_e32 v3, v4, v3
+; SI-NEXT: v_lshlrev_b32_e32 v7, 24, v7
+; SI-NEXT: v_or_b32_e32 v3, v7, v3
+; SI-NEXT: v_or_b32_e32 v3, v5, v3
; SI-NEXT: buffer_store_dword v3, v0, s[0:3], 0 offen offset:28
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_and_b32_e32 v3, 0xff, v24
+; SI-NEXT: v_and_b32_e32 v3, 0xff, v25
; SI-NEXT: v_or_b32_e32 v3, s5, v3
; SI-NEXT: s_and_b32 s5, s90, 0xff
; SI-NEXT: s_lshl_b32 s5, s5, 16
@@ -44387,25 +44416,25 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; SI-NEXT: s_or_b32 s5, s7, s5
; SI-NEXT: v_or_b32_e32 v3, s5, v3
; SI-NEXT: buffer_store_dword v3, v0, s[0:3], 0 offen offset:32
-; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_and_b32_e32 v3, 0xff, v23
; SI-NEXT: s_lshl_b32 s5, s78, 8
; SI-NEXT: s_lshl_b32 s7, s54, 24
; SI-NEXT: v_readlane_b32 s54, v63, 12
-; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_lshlrev_b32_e32 v4, 8, v4
-; SI-NEXT: v_or_b32_e32 v3, v3, v4
-; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload
+; SI-NEXT: v_lshlrev_b32_e32 v5, 8, v5
+; SI-NEXT: v_or_b32_e32 v3, v3, v5
+; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload
; SI-NEXT: v_and_b32_e32 v3, 0xffff, v3
; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_lshlrev_b32_e32 v6, 24, v6
+; SI-NEXT: v_lshlrev_b32_e32 v7, 24, v7
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v4, 0xff, v4
-; SI-NEXT: v_lshlrev_b32_e32 v4, 16, v4
-; SI-NEXT: v_or_b32_e32 v4, v6, v4
-; SI-NEXT: v_or_b32_e32 v3, v3, v4
+; SI-NEXT: v_and_b32_e32 v5, 0xff, v5
+; SI-NEXT: v_lshlrev_b32_e32 v5, 16, v5
+; SI-NEXT: v_or_b32_e32 v5, v7, v5
+; SI-NEXT: v_or_b32_e32 v3, v3, v5
; SI-NEXT: buffer_store_dword v3, v0, s[0:3], 0 offen offset:36
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_and_b32_e32 v3, 0xff, v22
@@ -44416,26 +44445,26 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; SI-NEXT: s_or_b32 s5, s7, s5
; SI-NEXT: v_or_b32_e32 v3, s5, v3
; SI-NEXT: buffer_store_dword v3, v0, s[0:3], 0 offen offset:40
-; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_and_b32_e32 v3, 0xff, v21
; SI-NEXT: s_lshl_b32 s5, s52, 8
; SI-NEXT: s_lshl_b32 s7, s48, 24
; SI-NEXT: v_readlane_b32 s52, v63, 10
; SI-NEXT: v_readlane_b32 s48, v63, 6
-; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_lshlrev_b32_e32 v4, 8, v4
-; SI-NEXT: v_or_b32_e32 v3, v3, v4
-; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
+; SI-NEXT: v_lshlrev_b32_e32 v5, 8, v5
+; SI-NEXT: v_or_b32_e32 v3, v3, v5
+; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
; SI-NEXT: v_and_b32_e32 v3, 0xffff, v3
; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_lshlrev_b32_e32 v6, 24, v6
+; SI-NEXT: v_lshlrev_b32_e32 v7, 24, v7
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v4, 0xff, v4
-; SI-NEXT: v_lshlrev_b32_e32 v4, 16, v4
-; SI-NEXT: v_or_b32_e32 v4, v6, v4
-; SI-NEXT: v_or_b32_e32 v3, v3, v4
+; SI-NEXT: v_and_b32_e32 v5, 0xff, v5
+; SI-NEXT: v_lshlrev_b32_e32 v5, 16, v5
+; SI-NEXT: v_or_b32_e32 v5, v7, v5
+; SI-NEXT: v_or_b32_e32 v3, v3, v5
; SI-NEXT: buffer_store_dword v3, v0, s[0:3], 0 offen offset:44
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_and_b32_e32 v3, 0xff, v20
@@ -44446,30 +44475,30 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; SI-NEXT: s_or_b32 s5, s7, s5
; SI-NEXT: v_or_b32_e32 v3, s5, v3
; SI-NEXT: buffer_store_dword v3, v0, s[0:3], 0 offen offset:48
-; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_and_b32_e32 v3, 0xff, v19
+; SI-NEXT: v_and_b32_e32 v3, 0xff, v18
; SI-NEXT: s_lshl_b32 s5, s38, 8
; SI-NEXT: s_lshl_b32 s7, s34, 24
; SI-NEXT: v_readlane_b32 s50, v63, 8
; SI-NEXT: v_readlane_b32 s38, v63, 4
; SI-NEXT: v_readlane_b32 s34, v63, 0
-; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_lshlrev_b32_e32 v4, 8, v4
-; SI-NEXT: v_or_b32_e32 v3, v3, v4
-; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
+; SI-NEXT: v_lshlrev_b32_e32 v5, 8, v5
+; SI-NEXT: v_or_b32_e32 v3, v3, v5
+; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
; SI-NEXT: v_and_b32_e32 v3, 0xffff, v3
; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_lshlrev_b32_e32 v6, 24, v6
+; SI-NEXT: v_lshlrev_b32_e32 v7, 24, v7
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v4, 0xff, v4
-; SI-NEXT: v_lshlrev_b32_e32 v4, 16, v4
-; SI-NEXT: v_or_b32_e32 v4, v6, v4
-; SI-NEXT: v_or_b32_e32 v3, v3, v4
+; SI-NEXT: v_and_b32_e32 v5, 0xff, v5
+; SI-NEXT: v_lshlrev_b32_e32 v5, 16, v5
+; SI-NEXT: v_or_b32_e32 v5, v7, v5
+; SI-NEXT: v_or_b32_e32 v3, v3, v5
; SI-NEXT: buffer_store_dword v3, v0, s[0:3], 0 offen offset:52
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_and_b32_e32 v3, 0xff, v18
+; SI-NEXT: v_and_b32_e32 v3, 0xff, v19
; SI-NEXT: v_or_b32_e32 v3, s5, v3
; SI-NEXT: s_and_b32 s5, s36, 0xff
; SI-NEXT: s_lshl_b32 s5, s5, 16
@@ -44477,30 +44506,30 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; SI-NEXT: s_or_b32 s5, s7, s5
; SI-NEXT: v_or_b32_e32 v3, s5, v3
; SI-NEXT: buffer_store_dword v3, v0, s[0:3], 0 offen offset:56
-; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_and_b32_e32 v3, 0xff, v17
+; SI-NEXT: v_and_b32_e32 v3, 0xff, v16
; SI-NEXT: s_lshl_b32 s5, s30, 8
; SI-NEXT: s_lshl_b32 s7, s60, 24
; SI-NEXT: v_readlane_b32 s30, v63, 34
; SI-NEXT: v_readlane_b32 s31, v63, 35
; SI-NEXT: v_readlane_b32 s36, v63, 2
-; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_lshlrev_b32_e32 v4, 8, v4
-; SI-NEXT: v_or_b32_e32 v3, v3, v4
-; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
+; SI-NEXT: v_lshlrev_b32_e32 v5, 8, v5
+; SI-NEXT: v_or_b32_e32 v3, v3, v5
+; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
; SI-NEXT: v_and_b32_e32 v3, 0xffff, v3
; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_lshlrev_b32_e32 v6, 24, v6
+; SI-NEXT: v_lshlrev_b32_e32 v7, 24, v7
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v4, 0xff, v4
-; SI-NEXT: v_lshlrev_b32_e32 v4, 16, v4
-; SI-NEXT: v_or_b32_e32 v4, v6, v4
-; SI-NEXT: v_or_b32_e32 v3, v3, v4
+; SI-NEXT: v_and_b32_e32 v5, 0xff, v5
+; SI-NEXT: v_lshlrev_b32_e32 v5, 16, v5
+; SI-NEXT: v_or_b32_e32 v5, v7, v5
+; SI-NEXT: v_or_b32_e32 v3, v3, v5
; SI-NEXT: buffer_store_dword v3, v0, s[0:3], 0 offen offset:60
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_and_b32_e32 v3, 0xff, v16
+; SI-NEXT: v_and_b32_e32 v3, 0xff, v17
; SI-NEXT: v_or_b32_e32 v3, s5, v3
; SI-NEXT: s_and_b32 s5, s74, 0xff
; SI-NEXT: s_lshl_b32 s5, s5, 16
@@ -44508,116 +44537,116 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; SI-NEXT: s_or_b32 s5, s7, s5
; SI-NEXT: v_or_b32_e32 v3, s5, v3
; SI-NEXT: buffer_store_dword v3, v0, s[0:3], 0 offen offset:64
-; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_and_b32_e32 v3, 0xff, v15
-; SI-NEXT: v_lshlrev_b32_e32 v6, 24, v48
-; SI-NEXT: s_lshl_b32 s5, s58, 8
-; SI-NEXT: s_lshl_b32 s7, s42, 24
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshlrev_b32_e32 v4, 8, v4
-; SI-NEXT: v_or_b32_e32 v3, v3, v4
-; SI-NEXT: v_and_b32_e32 v4, 0xff, v49
-; SI-NEXT: v_lshlrev_b32_e32 v4, 16, v4
+; SI-NEXT: v_and_b32_e32 v3, 0xff, v14
+; SI-NEXT: v_lshlrev_b32_e32 v5, 8, v49
+; SI-NEXT: v_or_b32_e32 v3, v3, v5
+; SI-NEXT: v_and_b32_e32 v5, 0xff, v48
+; SI-NEXT: v_lshlrev_b32_e32 v5, 16, v5
+; SI-NEXT: v_lshlrev_b32_e32 v7, 24, v39
; SI-NEXT: v_and_b32_e32 v3, 0xffff, v3
-; SI-NEXT: v_or_b32_e32 v4, v6, v4
-; SI-NEXT: v_or_b32_e32 v3, v3, v4
+; SI-NEXT: v_or_b32_e32 v5, v7, v5
+; SI-NEXT: v_or_b32_e32 v3, v3, v5
; SI-NEXT: buffer_store_dword v3, v0, s[0:3], 0 offen offset:68
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_and_b32_e32 v3, 0xff, v14
+; SI-NEXT: v_and_b32_e32 v3, 0xff, v15
+; SI-NEXT: s_lshl_b32 s5, s46, 8
; SI-NEXT: v_or_b32_e32 v3, s5, v3
-; SI-NEXT: s_and_b32 s5, s46, 0xff
+; SI-NEXT: s_and_b32 s5, s44, 0xff
; SI-NEXT: s_lshl_b32 s5, s5, 16
+; SI-NEXT: s_lshl_b32 s7, s40, 24
; SI-NEXT: v_and_b32_e32 v3, 0xffff, v3
; SI-NEXT: s_or_b32 s5, s7, s5
; SI-NEXT: v_or_b32_e32 v3, s5, v3
; SI-NEXT: buffer_store_dword v3, v0, s[0:3], 0 offen offset:72
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_and_b32_e32 v3, 0xff, v13
-; SI-NEXT: v_lshlrev_b32_e32 v4, 8, v39
-; SI-NEXT: v_or_b32_e32 v3, v3, v4
-; SI-NEXT: v_and_b32_e32 v4, 0xff, v37
-; SI-NEXT: v_lshlrev_b32_e32 v4, 16, v4
-; SI-NEXT: v_lshlrev_b32_e32 v6, 24, v36
+; SI-NEXT: v_and_b32_e32 v3, 0xff, v12
+; SI-NEXT: v_lshlrev_b32_e32 v5, 8, v38
+; SI-NEXT: v_or_b32_e32 v3, v3, v5
+; SI-NEXT: v_and_b32_e32 v5, 0xff, v37
+; SI-NEXT: v_lshlrev_b32_e32 v5, 16, v5
+; SI-NEXT: v_lshlrev_b32_e32 v7, 24, v36
; SI-NEXT: v_and_b32_e32 v3, 0xffff, v3
-; SI-NEXT: v_or_b32_e32 v4, v6, v4
-; SI-NEXT: v_or_b32_e32 v3, v3, v4
+; SI-NEXT: v_or_b32_e32 v5, v7, v5
+; SI-NEXT: v_or_b32_e32 v3, v3, v5
; SI-NEXT: buffer_store_dword v3, v0, s[0:3], 0 offen offset:76
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_and_b32_e32 v3, 0xff, v12
-; SI-NEXT: s_lshl_b32 s5, s62, 8
+; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload
+; SI-NEXT: s_lshl_b32 s5, s28, 8
+; SI-NEXT: s_lshl_b32 s7, s24, 24
+; SI-NEXT: v_lshlrev_b32_e32 v5, 8, v35
+; SI-NEXT: v_lshlrev_b32_e32 v7, 24, v33
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_and_b32_e32 v3, 0xff, v3
; SI-NEXT: v_or_b32_e32 v3, s5, v3
-; SI-NEXT: s_and_b32 s5, s56, 0xff
+; SI-NEXT: s_and_b32 s5, s26, 0xff
; SI-NEXT: s_lshl_b32 s5, s5, 16
-; SI-NEXT: s_lshl_b32 s7, s44, 24
; SI-NEXT: v_and_b32_e32 v3, 0xffff, v3
; SI-NEXT: s_or_b32 s5, s7, s5
; SI-NEXT: v_or_b32_e32 v3, s5, v3
; SI-NEXT: buffer_store_dword v3, v0, s[0:3], 0 offen offset:80
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_and_b32_e32 v3, 0xff, v11
-; SI-NEXT: v_lshlrev_b32_e32 v4, 8, v35
-; SI-NEXT: v_or_b32_e32 v3, v3, v4
-; SI-NEXT: v_and_b32_e32 v4, 0xff, v32
-; SI-NEXT: v_lshlrev_b32_e32 v4, 16, v4
-; SI-NEXT: v_lshlrev_b32_e32 v6, 24, v30
+; SI-NEXT: v_and_b32_e32 v3, 0xff, v10
+; SI-NEXT: v_or_b32_e32 v3, v3, v5
+; SI-NEXT: v_and_b32_e32 v5, 0xff, v34
+; SI-NEXT: v_lshlrev_b32_e32 v5, 16, v5
; SI-NEXT: v_and_b32_e32 v3, 0xffff, v3
-; SI-NEXT: v_or_b32_e32 v4, v6, v4
-; SI-NEXT: v_or_b32_e32 v3, v3, v4
+; SI-NEXT: v_or_b32_e32 v5, v7, v5
+; SI-NEXT: v_or_b32_e32 v3, v3, v5
; SI-NEXT: buffer_store_dword v3, v0, s[0:3], 0 offen offset:84
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload
-; SI-NEXT: s_lshl_b32 s5, s72, 8
-; SI-NEXT: s_lshl_b32 s7, s28, 24
-; SI-NEXT: v_lshlrev_b32_e32 v4, 8, v28
-; SI-NEXT: v_lshlrev_b32_e32 v6, 24, v59
+; SI-NEXT: s_lshl_b32 s5, s62, 8
+; SI-NEXT: s_lshl_b32 s7, s22, 24
+; SI-NEXT: v_lshlrev_b32_e32 v5, 8, v60
+; SI-NEXT: v_lshlrev_b32_e32 v7, 24, v58
; SI-NEXT: s_waitcnt vmcnt(0)
; SI-NEXT: v_and_b32_e32 v3, 0xff, v3
; SI-NEXT: v_or_b32_e32 v3, s5, v3
-; SI-NEXT: s_and_b32 s5, s40, 0xff
+; SI-NEXT: s_and_b32 s5, s72, 0xff
; SI-NEXT: s_lshl_b32 s5, s5, 16
; SI-NEXT: v_and_b32_e32 v3, 0xffff, v3
; SI-NEXT: s_or_b32 s5, s7, s5
; SI-NEXT: v_or_b32_e32 v3, s5, v3
; SI-NEXT: buffer_store_dword v3, v0, s[0:3], 0 offen offset:88
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_and_b32_e32 v3, 0xff, v9
-; SI-NEXT: v_or_b32_e32 v3, v3, v4
-; SI-NEXT: v_and_b32_e32 v4, 0xff, v60
-; SI-NEXT: v_lshlrev_b32_e32 v4, 16, v4
+; SI-NEXT: v_and_b32_e32 v3, 0xff, v8
+; SI-NEXT: v_or_b32_e32 v3, v3, v5
+; SI-NEXT: v_and_b32_e32 v5, 0xff, v59
+; SI-NEXT: v_lshlrev_b32_e32 v5, 16, v5
; SI-NEXT: v_and_b32_e32 v3, 0xffff, v3
-; SI-NEXT: v_or_b32_e32 v4, v6, v4
-; SI-NEXT: v_or_b32_e32 v3, v3, v4
+; SI-NEXT: v_or_b32_e32 v5, v7, v5
+; SI-NEXT: v_or_b32_e32 v3, v3, v5
; SI-NEXT: buffer_store_dword v3, v0, s[0:3], 0 offen offset:92
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload
-; SI-NEXT: s_lshl_b32 s5, s26, 8
-; SI-NEXT: s_lshl_b32 s7, s22, 24
-; SI-NEXT: v_lshlrev_b32_e32 v4, 8, v58
-; SI-NEXT: v_lshlrev_b32_e32 v6, 24, v56
+; SI-NEXT: s_lshl_b32 s5, s42, 8
+; SI-NEXT: s_lshl_b32 s7, s56, 24
+; SI-NEXT: v_lshlrev_b32_e32 v5, 8, v57
; SI-NEXT: s_waitcnt vmcnt(0)
; SI-NEXT: v_and_b32_e32 v3, 0xff, v3
; SI-NEXT: v_or_b32_e32 v3, s5, v3
-; SI-NEXT: s_and_b32 s5, s24, 0xff
+; SI-NEXT: s_and_b32 s5, s58, 0xff
; SI-NEXT: s_lshl_b32 s5, s5, 16
; SI-NEXT: v_and_b32_e32 v3, 0xffff, v3
; SI-NEXT: s_or_b32 s5, s7, s5
; SI-NEXT: v_or_b32_e32 v3, s5, v3
; SI-NEXT: buffer_store_dword v3, v0, s[0:3], 0 offen offset:96
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_and_b32_e32 v3, 0xff, v7
-; SI-NEXT: v_or_b32_e32 v3, v3, v4
-; SI-NEXT: v_and_b32_e32 v4, 0xff, v57
-; SI-NEXT: v_lshlrev_b32_e32 v4, 16, v4
+; SI-NEXT: v_and_b32_e32 v3, 0xff, v6
+; SI-NEXT: v_or_b32_e32 v3, v3, v5
+; SI-NEXT: v_and_b32_e32 v5, 0xff, v56
+; SI-NEXT: v_lshlrev_b32_e32 v5, 16, v5
+; SI-NEXT: v_lshlrev_b32_e32 v6, 24, v47
; SI-NEXT: v_and_b32_e32 v3, 0xffff, v3
-; SI-NEXT: v_or_b32_e32 v4, v6, v4
-; SI-NEXT: v_or_b32_e32 v3, v3, v4
+; SI-NEXT: v_or_b32_e32 v5, v6, v5
+; SI-NEXT: v_or_b32_e32 v3, v3, v5
; SI-NEXT: buffer_store_dword v3, v0, s[0:3], 0 offen offset:100
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload
; SI-NEXT: s_lshl_b32 s5, s20, 8
; SI-NEXT: s_lshl_b32 s7, s16, 24
-; SI-NEXT: v_lshlrev_b32_e32 v4, 8, v47
+; SI-NEXT: v_lshlrev_b32_e32 v5, 24, v44
; SI-NEXT: s_waitcnt vmcnt(0)
; SI-NEXT: v_and_b32_e32 v3, 0xff, v3
; SI-NEXT: v_or_b32_e32 v3, s5, v3
@@ -44628,11 +44657,11 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; SI-NEXT: v_or_b32_e32 v3, s5, v3
; SI-NEXT: buffer_store_dword v3, v0, s[0:3], 0 offen offset:104
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_and_b32_e32 v3, 0xff, v5
+; SI-NEXT: v_and_b32_e32 v3, 0xff, v4
+; SI-NEXT: v_lshlrev_b32_e32 v4, 8, v46
; SI-NEXT: v_or_b32_e32 v3, v3, v4
-; SI-NEXT: v_and_b32_e32 v4, 0xff, v46
+; SI-NEXT: v_and_b32_e32 v4, 0xff, v45
; SI-NEXT: v_lshlrev_b32_e32 v4, 16, v4
-; SI-NEXT: v_lshlrev_b32_e32 v5, 24, v45
; SI-NEXT: v_and_b32_e32 v3, 0xffff, v3
; SI-NEXT: v_or_b32_e32 v4, v5, v4
; SI-NEXT: v_or_b32_e32 v3, v3, v4
@@ -44641,7 +44670,7 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:56 ; 4-byte Folded Reload
; SI-NEXT: s_lshl_b32 s5, s14, 8
; SI-NEXT: s_lshl_b32 s7, s10, 24
-; SI-NEXT: v_lshlrev_b32_e32 v4, 24, v42
+; SI-NEXT: v_lshlrev_b32_e32 v4, 24, v41
; SI-NEXT: s_waitcnt vmcnt(0)
; SI-NEXT: v_and_b32_e32 v3, 0xff, v3
; SI-NEXT: v_or_b32_e32 v3, s5, v3
@@ -44652,9 +44681,9 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; SI-NEXT: v_or_b32_e32 v3, s5, v3
; SI-NEXT: buffer_store_dword v3, v0, s[0:3], 0 offen offset:112
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshlrev_b32_e32 v3, 8, v44
+; SI-NEXT: v_lshlrev_b32_e32 v3, 8, v43
; SI-NEXT: v_or_b32_e32 v2, v2, v3
-; SI-NEXT: v_and_b32_e32 v3, 0xff, v43
+; SI-NEXT: v_and_b32_e32 v3, 0xff, v42
; SI-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; SI-NEXT: v_and_b32_e32 v2, 0xffff, v2
; SI-NEXT: v_or_b32_e32 v3, v4, v3
@@ -44672,11 +44701,11 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; SI-NEXT: s_or_b32 s4, s4, s5
; SI-NEXT: v_or_b32_e32 v2, s4, v2
; SI-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:120
-; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshlrev_b32_e32 v2, 8, v41
+; SI-NEXT: v_lshlrev_b32_e32 v2, 8, v40
; SI-NEXT: v_or_b32_e32 v1, v1, v2
-; SI-NEXT: v_and_b32_e32 v2, 0xff, v40
+; SI-NEXT: v_and_b32_e32 v2, 0xff, v55
; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
; SI-NEXT: v_and_b32_e32 v1, 0xffff, v1
; SI-NEXT: s_waitcnt vmcnt(0)
@@ -44709,8 +44738,8 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; VI: ; %bb.0:
; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
; VI-NEXT: s_or_saveexec_b64 s[4:5], -1
-; VI-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
; VI-NEXT: s_mov_b64 exec, s[4:5]
; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:52 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:48 ; 4-byte Folded Spill
@@ -45133,13 +45162,13 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; VI-NEXT: v_lshrrev_b64 v[15:16], 24, v[13:14]
; VI-NEXT: v_add_f32_e64 v22, s43, 1.0
; VI-NEXT: v_add_f32_e64 v21, s42, 1.0
-; VI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b64 v[15:16], 24, v[21:22]
; VI-NEXT: v_add_f32_e64 v24, s45, 1.0
; VI-NEXT: v_add_f32_e64 v23, s44, 1.0
-; VI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b64 v[15:16], 24, v[23:24]
; VI-NEXT: v_add_f32_e64 v26, s29, 1.0
; VI-NEXT: v_add_f32_e64 v25, s28, 1.0
@@ -45151,8 +45180,13 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; VI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b64 v[15:16], 24, v[27:28]
+; VI-NEXT: v_add_f32_e64 v30, s25, 1.0
+; VI-NEXT: v_add_f32_e64 v29, s24, 1.0
; VI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[15:16], 24, v[29:30]
+; VI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v15, 24, v2
; VI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v15, 16, v2
@@ -45224,19 +45258,17 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; VI-NEXT: v_lshrrev_b32_e32 v15, 8, v13
; VI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v15, 24, v22
-; VI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v15, 16, v22
; VI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v15, 8, v22
; VI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v15, 16, v21
-; VI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v15, 8, v21
-; VI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v15, 24, v24
-; VI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v15, 16, v24
-; VI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v15, 24, v26
; VI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v15, 16, v26
@@ -45244,7 +45276,6 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; VI-NEXT: v_lshrrev_b32_e32 v15, 24, v28
; VI-NEXT: v_add_f32_e64 v32, s23, 1.0
; VI-NEXT: v_add_f32_e64 v31, s22, 1.0
-; VI-NEXT: v_add_f32_e64 v30, s25, 1.0
; VI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v15, 16, v28
; VI-NEXT: v_add_f32_e64 v34, s21, 1.0
@@ -45259,26 +45290,25 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; VI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v15, 16, v30
; VI-NEXT: v_add_f32_e64 v37, s16, 1.0
-; VI-NEXT: v_add_f32_e64 v29, s24, 1.0
; VI-NEXT: v_lshrrev_b64 v[41:42], 24, v[35:36]
; VI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v15, 24, v32
; VI-NEXT: v_lshrrev_b32_e32 v16, 24, v34
; VI-NEXT: v_lshrrev_b32_e32 v17, 24, v36
; VI-NEXT: v_lshrrev_b32_e32 v18, 24, v38
-; VI-NEXT: v_lshrrev_b64 v[54:55], 24, v[29:30]
; VI-NEXT: v_lshrrev_b64 v[42:43], 24, v[37:38]
; VI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v15, 16, v32
; VI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v16, 16, v34
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v17, 16, v36
; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v18, 16, v38
-; VI-NEXT: v_lshrrev_b32_e32 v55, 8, v24
+; VI-NEXT: v_lshrrev_b32_e32 v49, 16, v21
+; VI-NEXT: v_lshrrev_b32_e32 v20, 8, v24
; VI-NEXT: v_lshrrev_b32_e32 v43, 16, v23
-; VI-NEXT: v_lshrrev_b32_e32 v49, 8, v23
+; VI-NEXT: v_lshrrev_b32_e32 v55, 8, v23
; VI-NEXT: v_lshrrev_b32_e32 v44, 8, v26
; VI-NEXT: v_lshrrev_b32_e32 v46, 16, v25
; VI-NEXT: v_lshrrev_b32_e32 v45, 8, v25
@@ -45289,34 +45319,34 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; VI-NEXT: v_lshrrev_b32_e32 v59, 16, v29
; VI-NEXT: v_lshrrev_b32_e32 v48, 8, v29
; VI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v60, 8, v32
-; VI-NEXT: v_lshrrev_b32_e32 v61, 16, v31
-; VI-NEXT: v_lshrrev_b32_e32 v15, 8, v31
+; VI-NEXT: v_lshrrev_b32_e32 v50, 8, v32
+; VI-NEXT: v_lshrrev_b32_e32 v15, 16, v31
+; VI-NEXT: v_lshrrev_b32_e32 v60, 8, v31
; VI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v16, 8, v34
+; VI-NEXT: v_lshrrev_b32_e32 v61, 8, v34
; VI-NEXT: v_lshrrev_b32_e32 v51, 16, v33
-; VI-NEXT: v_lshrrev_b32_e32 v50, 8, v33
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v16, 8, v33
+; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v52, 8, v36
; VI-NEXT: v_lshrrev_b32_e32 v17, 16, v35
; VI-NEXT: v_lshrrev_b32_e32 v53, 8, v35
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v18, 8, v38
-; VI-NEXT: v_lshrrev_b32_e32 v20, 16, v37
-; VI-NEXT: v_lshrrev_b32_e32 v19, 8, v37
+; VI-NEXT: v_lshrrev_b32_e32 v19, 16, v37
+; VI-NEXT: v_lshrrev_b32_e32 v54, 8, v37
; VI-NEXT: s_branch .LBB37_6
; VI-NEXT: .LBB37_5:
; VI-NEXT: v_mov_b32_e32 v1, s4
; VI-NEXT: v_readlane_b32 s4, v62, 0
-; VI-NEXT: v_mov_b32_e32 v19, s4
+; VI-NEXT: v_mov_b32_e32 v54, s4
; VI-NEXT: v_readlane_b32 s4, v62, 1
-; VI-NEXT: v_mov_b32_e32 v20, s4
+; VI-NEXT: v_mov_b32_e32 v19, s4
; VI-NEXT: v_readlane_b32 s4, v62, 2
; VI-NEXT: v_mov_b32_e32 v18, s4
; VI-NEXT: v_readlane_b32 s4, v62, 3
; VI-NEXT: v_mov_b32_e32 v15, s4
; VI-NEXT: v_readlane_b32 s4, v62, 4
-; VI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v15, s4
; VI-NEXT: v_readlane_b32 s4, v62, 5
; VI-NEXT: v_mov_b32_e32 v53, s4
@@ -45328,32 +45358,32 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; VI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v15, s4
; VI-NEXT: v_readlane_b32 s4, v62, 9
-; VI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v15, s4
; VI-NEXT: v_readlane_b32 s4, v62, 10
-; VI-NEXT: v_mov_b32_e32 v50, s4
+; VI-NEXT: v_mov_b32_e32 v16, s4
; VI-NEXT: v_readlane_b32 s4, v62, 11
; VI-NEXT: v_mov_b32_e32 v51, s4
; VI-NEXT: v_readlane_b32 s4, v62, 12
-; VI-NEXT: v_mov_b32_e32 v16, s4
+; VI-NEXT: v_mov_b32_e32 v61, s4
; VI-NEXT: v_readlane_b32 s4, v62, 13
-; VI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v15, s4
; VI-NEXT: v_readlane_b32 s4, v62, 14
; VI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v15, s4
; VI-NEXT: v_readlane_b32 s4, v62, 15
+; VI-NEXT: v_mov_b32_e32 v60, s4
+; VI-NEXT: v_readlane_b32 s4, v62, 16
; VI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v15, s4
-; VI-NEXT: v_readlane_b32 s4, v62, 16
-; VI-NEXT: v_mov_b32_e32 v61, s4
; VI-NEXT: v_readlane_b32 s4, v62, 17
-; VI-NEXT: v_mov_b32_e32 v60, s4
+; VI-NEXT: v_mov_b32_e32 v50, s4
; VI-NEXT: v_readlane_b32 s4, v62, 18
-; VI-NEXT: v_mov_b32_e32 v39, s4
+; VI-NEXT: v_mov_b32_e32 v20, s4
; VI-NEXT: v_readlane_b32 s4, v62, 19
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v39, s4
+; VI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v20, s4
; VI-NEXT: v_readlane_b32 s4, v62, 20
; VI-NEXT: v_mov_b32_e32 v48, s4
; VI-NEXT: v_readlane_b32 s4, v62, 21
@@ -45361,11 +45391,11 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; VI-NEXT: v_readlane_b32 s4, v62, 22
; VI-NEXT: v_mov_b32_e32 v58, s4
; VI-NEXT: v_readlane_b32 s4, v62, 23
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v39, s4
+; VI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v20, s4
; VI-NEXT: v_readlane_b32 s4, v62, 24
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v39, s4
+; VI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v20, s4
; VI-NEXT: v_readlane_b32 s4, v62, 25
; VI-NEXT: v_mov_b32_e32 v56, s4
; VI-NEXT: v_readlane_b32 s4, v62, 26
@@ -45373,11 +45403,11 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; VI-NEXT: v_readlane_b32 s4, v62, 27
; VI-NEXT: v_mov_b32_e32 v47, s4
; VI-NEXT: v_readlane_b32 s4, v62, 28
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v39, s4
+; VI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v20, s4
; VI-NEXT: v_readlane_b32 s4, v62, 29
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v39, s4
+; VI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v20, s4
; VI-NEXT: v_readlane_b32 s4, v62, 30
; VI-NEXT: v_mov_b32_e32 v45, s4
; VI-NEXT: v_readlane_b32 s4, v62, 31
@@ -45385,35 +45415,30 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; VI-NEXT: v_readlane_b32 s4, v62, 32
; VI-NEXT: v_mov_b32_e32 v44, s4
; VI-NEXT: v_readlane_b32 s4, v62, 33
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v39, s4
+; VI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v20, s4
; VI-NEXT: v_readlane_b32 s4, v62, 34
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v39, s4
+; VI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v20, s4
; VI-NEXT: v_readlane_b32 s4, v62, 35
-; VI-NEXT: v_mov_b32_e32 v49, s4
+; VI-NEXT: v_mov_b32_e32 v55, s4
; VI-NEXT: v_readlane_b32 s4, v62, 36
; VI-NEXT: v_mov_b32_e32 v43, s4
; VI-NEXT: v_readlane_b32 s4, v62, 37
-; VI-NEXT: v_mov_b32_e32 v55, s4
-; VI-NEXT: v_mov_b32_e32 v54, s46
-; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v54, s56
+; VI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v20, s4
; VI-NEXT: v_readlane_b32 s4, v62, 38
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v39, s4
; VI-NEXT: v_readlane_b32 s4, v62, 39
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v39, s4
; VI-NEXT: v_readlane_b32 s4, v62, 40
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v39, s4
; VI-NEXT: v_readlane_b32 s4, v62, 41
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v39, s4
+; VI-NEXT: v_mov_b32_e32 v49, s4
; VI-NEXT: v_readlane_b32 s4, v62, 42
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v39, s4
; VI-NEXT: v_readlane_b32 s4, v62, 43
; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
@@ -45422,12 +45447,9 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v39, s4
; VI-NEXT: v_readlane_b32 s4, v62, 45
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v39, s4
; VI-NEXT: v_readlane_b32 s4, v62, 46
-; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v54, s58
; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v39, s4
; VI-NEXT: v_readlane_b32 s4, v62, 47
@@ -45453,9 +45475,6 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; VI-NEXT: v_mov_b32_e32 v39, s4
; VI-NEXT: v_readlane_b32 s4, v62, 54
; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v54, s60
; VI-NEXT: v_mov_b32_e32 v39, s4
; VI-NEXT: v_readlane_b32 s4, v62, 55
; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
@@ -45481,9 +45500,6 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; VI-NEXT: v_mov_b32_e32 v39, s81
; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v39, s85
-; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v54, s62
; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v39, s84
; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
@@ -45509,12 +45525,46 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v39, s66
; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v54, s72
; VI-NEXT: v_mov_b32_e32 v39, s65
; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v39, s67
+; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v39, s46
+; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v39, s56
+; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v39, s58
+; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v39, s60
+; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v39, s62
+; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v39, s72
+; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v39, s74
+; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v39, s76
+; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v39, s78
+; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v39, s88
+; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v39, s90
+; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v39, vcc_lo
+; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v37, s16
; VI-NEXT: v_mov_b32_e32 v38, s17
; VI-NEXT: v_mov_b32_e32 v35, s18
@@ -45537,9 +45587,6 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; VI-NEXT: v_mov_b32_e32 v14, s41
; VI-NEXT: v_mov_b32_e32 v11, s14
; VI-NEXT: v_mov_b32_e32 v12, s15
-; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v54, s74
; VI-NEXT: v_mov_b32_e32 v9, s12
; VI-NEXT: v_mov_b32_e32 v10, s13
; VI-NEXT: v_mov_b32_e32 v7, s10
@@ -45549,55 +45596,39 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; VI-NEXT: v_mov_b32_e32 v3, s6
; VI-NEXT: v_mov_b32_e32 v4, s7
; VI-NEXT: v_mov_b32_e32 v2, s5
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v39, s30
; VI-NEXT: v_mov_b32_e32 v40, s34
; VI-NEXT: v_mov_b32_e32 v41, s36
; VI-NEXT: v_mov_b32_e32 v42, s38
-; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v54, s76
-; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v54, s78
-; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v54, s88
-; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v54, s90
-; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v54, vcc_lo
; VI-NEXT: .LBB37_6: ; %end
; VI-NEXT: s_mov_b32 s4, 0xc0c0004
-; VI-NEXT: v_perm_b32 v19, v37, v19, s4
-; VI-NEXT: v_perm_b32 v37, v51, v40, s4
-; VI-NEXT: v_perm_b32 v33, v33, v50, s4
-; VI-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:344 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:348 ; 4-byte Folded Reload
-; VI-NEXT: v_perm_b32 v16, v34, v16, s4
-; VI-NEXT: v_perm_b32 v34, v61, v39, s4
+; VI-NEXT: v_perm_b32 v18, v38, v18, s4
+; VI-NEXT: v_perm_b32 v38, v51, v40, s4
+; VI-NEXT: v_perm_b32 v32, v32, v50, s4
+; VI-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:360 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:364 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v16, v33, v16, s4
+; VI-NEXT: v_perm_b32 v33, v34, v61, s4
+; VI-NEXT: v_perm_b32 v34, v15, v39, s4
+; VI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:368 ; 4-byte Folded Reload
; VI-NEXT: v_perm_b32 v29, v29, v48, s4
; VI-NEXT: v_perm_b32 v36, v36, v52, s4
-; VI-NEXT: v_perm_b32 v31, v31, v15, s4
-; VI-NEXT: v_perm_b32 v23, v23, v49, s4
-; VI-NEXT: v_perm_b32 v20, v20, v42, s4
-; VI-NEXT: v_lshlrev_b32_e32 v20, 16, v20
-; VI-NEXT: v_or_b32_e32 v19, v19, v20
-; VI-NEXT: v_perm_b32 v17, v17, v41, s4
-; VI-NEXT: v_perm_b32 v18, v38, v18, s4
; VI-NEXT: v_perm_b32 v35, v35, v53, s4
+; VI-NEXT: v_perm_b32 v19, v19, v42, s4
+; VI-NEXT: v_perm_b32 v37, v37, v54, s4
+; VI-NEXT: v_lshlrev_b32_e32 v19, 16, v19
+; VI-NEXT: v_or_b32_e32 v19, v37, v19
+; VI-NEXT: v_perm_b32 v20, v24, v20, s4
+; VI-NEXT: v_perm_b32 v17, v17, v41, s4
; VI-NEXT: v_lshlrev_b32_e32 v17, 16, v17
; VI-NEXT: v_or_b32_e32 v17, v35, v17
-; VI-NEXT: v_perm_b32 v32, v32, v60, s4
-; VI-NEXT: v_perm_b32 v38, v59, v54, s4
+; VI-NEXT: v_perm_b32 v31, v31, v60, s4
; VI-NEXT: v_perm_b32 v30, v30, v58, s4
; VI-NEXT: v_perm_b32 v27, v27, v56, s4
; VI-NEXT: v_perm_b32 v28, v28, v47, s4
; VI-NEXT: v_perm_b32 v25, v25, v45, s4
; VI-NEXT: v_perm_b32 v26, v26, v44, s4
-; VI-NEXT: v_perm_b32 v24, v24, v55, s4
+; VI-NEXT: v_perm_b32 v23, v23, v55, s4
; VI-NEXT: v_readlane_b32 s30, v63, 30
; VI-NEXT: v_readlane_b32 s31, v63, 31
; VI-NEXT: v_readlane_b32 s87, v63, 29
@@ -45630,58 +45661,60 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; VI-NEXT: v_readlane_b32 s36, v63, 2
; VI-NEXT: v_readlane_b32 s35, v63, 1
; VI-NEXT: v_readlane_b32 s34, v63, 0
-; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_perm_b32 v39, v57, v50, s4
-; VI-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:336 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:340 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_perm_b32 v48, v46, v50, s4
-; VI-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:328 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:332 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:316 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:320 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:364 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(4)
-; VI-NEXT: v_perm_b32 v50, v43, v50, s4
-; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v49, v15, v51, s4
-; VI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:360 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: s_waitcnt vmcnt(2)
+; VI-NEXT: v_perm_b32 v39, v59, v50, s4
+; VI-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:344 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:348 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(2)
; VI-NEXT: v_perm_b32 v21, v21, v15, s4
; VI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:356 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: s_waitcnt vmcnt(2)
+; VI-NEXT: v_perm_b32 v48, v57, v50, s4
+; VI-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:336 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:340 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:328 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:332 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:304 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:308 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(6)
; VI-NEXT: v_perm_b32 v22, v22, v15, s4
-; VI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(5)
+; VI-NEXT: v_perm_b32 v50, v46, v50, s4
+; VI-NEXT: s_waitcnt vmcnt(3)
+; VI-NEXT: v_perm_b32 v51, v43, v51, s4
+; VI-NEXT: s_waitcnt vmcnt(1)
+; VI-NEXT: v_perm_b32 v24, v49, v52, s4
+; VI-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:352 ; 4-byte Folded Reload
; VI-NEXT: buffer_store_dword v19, v0, s[0:3], 0 offen
-; VI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:312 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:324 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:320 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v37, off, s[0:3], s32 offset:324 ; 4-byte Folded Reload
; VI-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:8
; VI-NEXT: s_waitcnt vmcnt(4)
-; VI-NEXT: v_perm_b32 v15, v15, v51, s4
+; VI-NEXT: v_perm_b32 v15, v15, v52, s4
; VI-NEXT: v_lshlrev_b32_e32 v15, 16, v15
; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_perm_b32 v19, v19, v20, s4
+; VI-NEXT: v_perm_b32 v19, v19, v37, s4
; VI-NEXT: v_lshlrev_b32_e32 v19, 16, v19
; VI-NEXT: v_or_b32_e32 v18, v18, v19
; VI-NEXT: buffer_store_dword v18, v0, s[0:3], 0 offen offset:4
-; VI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:304 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:308 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:312 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:316 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v17, v17, v18, s4
; VI-NEXT: v_lshlrev_b32_e32 v17, 16, v17
; VI-NEXT: v_or_b32_e32 v17, v36, v17
; VI-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:12
-; VI-NEXT: v_lshlrev_b32_e32 v17, 16, v37
-; VI-NEXT: v_or_b32_e32 v17, v33, v17
-; VI-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:16
-; VI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:300 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v17, v17, v18, s4
-; VI-NEXT: v_lshlrev_b32_e32 v17, 16, v17
+; VI-NEXT: v_lshlrev_b32_e32 v17, 16, v38
; VI-NEXT: v_or_b32_e32 v16, v16, v17
+; VI-NEXT: buffer_store_dword v16, v0, s[0:3], 0 offen offset:16
+; VI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:300 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_perm_b32 v16, v16, v17, s4
+; VI-NEXT: v_lshlrev_b32_e32 v16, 16, v16
+; VI-NEXT: v_or_b32_e32 v16, v33, v16
; VI-NEXT: buffer_store_dword v16, v0, s[0:3], 0 offen offset:20
; VI-NEXT: v_lshlrev_b32_e32 v16, 16, v34
; VI-NEXT: v_or_b32_e32 v16, v31, v16
@@ -45693,7 +45726,7 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; VI-NEXT: v_lshlrev_b32_e32 v16, 16, v16
; VI-NEXT: v_or_b32_e32 v16, v32, v16
; VI-NEXT: buffer_store_dword v16, v0, s[0:3], 0 offen offset:28
-; VI-NEXT: v_lshlrev_b32_e32 v16, 16, v38
+; VI-NEXT: v_lshlrev_b32_e32 v16, 16, v39
; VI-NEXT: v_or_b32_e32 v16, v29, v16
; VI-NEXT: buffer_store_dword v16, v0, s[0:3], 0 offen offset:32
; VI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:280 ; 4-byte Folded Reload
@@ -45703,7 +45736,7 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; VI-NEXT: v_lshlrev_b32_e32 v16, 16, v16
; VI-NEXT: v_or_b32_e32 v16, v30, v16
; VI-NEXT: buffer_store_dword v16, v0, s[0:3], 0 offen offset:36
-; VI-NEXT: v_lshlrev_b32_e32 v16, 16, v39
+; VI-NEXT: v_lshlrev_b32_e32 v16, 16, v48
; VI-NEXT: v_or_b32_e32 v16, v27, v16
; VI-NEXT: buffer_store_dword v16, v0, s[0:3], 0 offen offset:40
; VI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:272 ; 4-byte Folded Reload
@@ -45713,7 +45746,7 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; VI-NEXT: v_lshlrev_b32_e32 v16, 16, v16
; VI-NEXT: v_or_b32_e32 v16, v28, v16
; VI-NEXT: buffer_store_dword v16, v0, s[0:3], 0 offen offset:44
-; VI-NEXT: v_lshlrev_b32_e32 v16, 16, v48
+; VI-NEXT: v_lshlrev_b32_e32 v16, 16, v50
; VI-NEXT: v_or_b32_e32 v16, v25, v16
; VI-NEXT: buffer_store_dword v16, v0, s[0:3], 0 offen offset:48
; VI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload
@@ -45723,21 +45756,21 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; VI-NEXT: v_lshlrev_b32_e32 v16, 16, v16
; VI-NEXT: v_or_b32_e32 v16, v26, v16
; VI-NEXT: buffer_store_dword v16, v0, s[0:3], 0 offen offset:52
-; VI-NEXT: v_lshlrev_b32_e32 v16, 16, v50
+; VI-NEXT: v_lshlrev_b32_e32 v16, 16, v51
; VI-NEXT: v_or_b32_e32 v16, v23, v16
; VI-NEXT: buffer_store_dword v16, v0, s[0:3], 0 offen offset:56
-; VI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v16, v16, v17, s4
; VI-NEXT: v_lshlrev_b32_e32 v16, 16, v16
-; VI-NEXT: v_or_b32_e32 v16, v24, v16
+; VI-NEXT: v_or_b32_e32 v16, v20, v16
; VI-NEXT: buffer_store_dword v16, v0, s[0:3], 0 offen offset:60
-; VI-NEXT: v_lshlrev_b32_e32 v16, 16, v49
+; VI-NEXT: v_lshlrev_b32_e32 v16, 16, v24
; VI-NEXT: v_or_b32_e32 v16, v21, v16
; VI-NEXT: buffer_store_dword v16, v0, s[0:3], 0 offen offset:64
; VI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v16, v16, v17, s4
; VI-NEXT: v_lshlrev_b32_e32 v16, 16, v16
@@ -45899,8 +45932,8 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; VI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:48 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:52 ; 4-byte Folded Reload
; VI-NEXT: s_or_saveexec_b64 s[4:5], -1
-; VI-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:368 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:372 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:372 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:376 ; 4-byte Folded Reload
; VI-NEXT: s_mov_b64 exec, s[4:5]
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: s_setpc_b64 s[30:31]
@@ -46291,225 +46324,225 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; GFX9-NEXT: v_lshrrev_b64 v[15:16], 24, v[1:2]
; GFX9-NEXT: v_add_f32_e64 v4, s7, 1.0
; GFX9-NEXT: v_add_f32_e64 v3, s6, 1.0
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b64 v[15:16], 24, v[3:4]
; GFX9-NEXT: v_add_f32_e64 v6, s9, 1.0
; GFX9-NEXT: v_add_f32_e64 v5, s8, 1.0
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b64 v[15:16], 24, v[5:6]
; GFX9-NEXT: v_add_f32_e64 v8, s11, 1.0
; GFX9-NEXT: v_add_f32_e64 v7, s10, 1.0
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b64 v[15:16], 24, v[7:8]
; GFX9-NEXT: v_add_f32_e64 v10, s13, 1.0
; GFX9-NEXT: v_add_f32_e64 v9, s12, 1.0
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b64 v[15:16], 24, v[9:10]
; GFX9-NEXT: v_add_f32_e64 v12, s15, 1.0
; GFX9-NEXT: v_add_f32_e64 v11, s14, 1.0
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b64 v[15:16], 24, v[11:12]
; GFX9-NEXT: v_add_f32_e64 v14, s41, 1.0
; GFX9-NEXT: v_add_f32_e64 v13, s40, 1.0
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b64 v[15:16], 24, v[13:14]
; GFX9-NEXT: v_add_f32_e64 v22, s43, 1.0
; GFX9-NEXT: v_add_f32_e64 v21, s42, 1.0
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b64 v[15:16], 24, v[21:22]
; GFX9-NEXT: v_add_f32_e64 v24, s45, 1.0
; GFX9-NEXT: v_add_f32_e64 v23, s44, 1.0
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b64 v[15:16], 24, v[23:24]
; GFX9-NEXT: v_add_f32_e64 v26, s29, 1.0
; GFX9-NEXT: v_add_f32_e64 v25, s28, 1.0
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b64 v[15:16], 24, v[25:26]
; GFX9-NEXT: v_add_f32_e64 v28, s27, 1.0
; GFX9-NEXT: v_add_f32_e64 v27, s26, 1.0
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b64 v[15:16], 24, v[27:28]
; GFX9-NEXT: v_add_f32_e64 v30, s25, 1.0
; GFX9-NEXT: v_add_f32_e64 v29, s24, 1.0
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b64 v[15:16], 24, v[29:30]
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v15, 24, v2
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v15, 16, v2
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v15, 8, v2
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v15, 16, v1
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v15, 8, v1
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v15, 24, v4
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v15, 16, v4
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v15, 8, v4
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v15, 16, v3
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v15, 8, v3
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v15, 24, v6
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v15, 16, v6
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v15, 8, v6
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v15, 16, v5
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v15, 8, v5
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v15, 24, v8
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v15, 16, v8
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v15, 8, v8
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v15, 16, v7
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v15, 8, v7
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v15, 24, v10
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v15, 16, v10
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v15, 8, v10
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v15, 16, v9
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v15, 8, v9
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v15, 24, v12
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v15, 16, v12
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v15, 8, v12
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v15, 16, v11
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v15, 8, v11
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v15, 24, v14
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v15, 16, v14
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v15, 8, v14
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v15, 16, v13
; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v15, 8, v13
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v15, 24, v22
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v15, 16, v22
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v15, 8, v22
; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v15, 8, v21
; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v15, 24, v24
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v15, 16, v24
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v15, 24, v26
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v15, 16, v26
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v15, 24, v28
-; GFX9-NEXT: v_add_f32_e64 v38, s19, 1.0
+; GFX9-NEXT: v_add_f32_e64 v36, s19, 1.0
; GFX9-NEXT: v_add_f32_e64 v32, s23, 1.0
; GFX9-NEXT: v_add_f32_e64 v31, s22, 1.0
; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v15, 16, v28
; GFX9-NEXT: v_add_f32_e64 v34, s21, 1.0
; GFX9-NEXT: v_add_f32_e64 v33, s20, 1.0
-; GFX9-NEXT: v_lshrrev_b64 v[40:41], 24, v[31:32]
+; GFX9-NEXT: v_lshrrev_b64 v[39:40], 24, v[31:32]
; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v15, 24, v30
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 24, v38
-; GFX9-NEXT: v_add_f32_e64 v49, s17, 1.0
-; GFX9-NEXT: v_add_f32_e64 v37, s18, 1.0
-; GFX9-NEXT: v_lshrrev_b64 v[41:42], 24, v[33:34]
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v17, 24, v36
+; GFX9-NEXT: v_add_f32_e64 v38, s17, 1.0
+; GFX9-NEXT: v_add_f32_e64 v35, s18, 1.0
+; GFX9-NEXT: v_lshrrev_b64 v[40:41], 24, v[33:34]
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v15, 16, v30
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v38
-; GFX9-NEXT: v_add_f32_e64 v48, s16, 1.0
-; GFX9-NEXT: v_lshrrev_b64 v[42:43], 24, v[37:38]
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v36
+; GFX9-NEXT: v_add_f32_e64 v37, s16, 1.0
+; GFX9-NEXT: v_lshrrev_b64 v[41:42], 24, v[35:36]
; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v15, 24, v32
; GFX9-NEXT: v_lshrrev_b32_e32 v16, 24, v34
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 24, v49
-; GFX9-NEXT: v_lshrrev_b64 v[43:44], 24, v[48:49]
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v17, 24, v38
+; GFX9-NEXT: v_lshrrev_b64 v[42:43], 24, v[37:38]
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v15, 16, v32
-; GFX9-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v16, 16, v34
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v49
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v38
; GFX9-NEXT: v_lshrrev_b32_e32 v19, 16, v21
; GFX9-NEXT: v_lshrrev_b32_e32 v20, 8, v24
-; GFX9-NEXT: v_lshrrev_b32_e32 v55, 16, v23
-; GFX9-NEXT: v_lshrrev_b32_e32 v36, 8, v23
+; GFX9-NEXT: v_lshrrev_b32_e32 v43, 16, v23
+; GFX9-NEXT: v_lshrrev_b32_e32 v55, 8, v23
; GFX9-NEXT: v_lshrrev_b32_e32 v44, 8, v26
-; GFX9-NEXT: v_lshrrev_b32_e32 v46, 16, v25
-; GFX9-NEXT: v_lshrrev_b32_e32 v45, 8, v25
-; GFX9-NEXT: v_lshrrev_b32_e32 v47, 8, v28
+; GFX9-NEXT: v_lshrrev_b32_e32 v45, 16, v25
+; GFX9-NEXT: v_lshrrev_b32_e32 v50, 8, v25
+; GFX9-NEXT: v_lshrrev_b32_e32 v46, 8, v28
; GFX9-NEXT: v_lshrrev_b32_e32 v56, 16, v27
-; GFX9-NEXT: v_lshrrev_b32_e32 v51, 8, v27
+; GFX9-NEXT: v_lshrrev_b32_e32 v47, 8, v27
; GFX9-NEXT: v_lshrrev_b32_e32 v57, 8, v30
-; GFX9-NEXT: v_lshrrev_b32_e32 v35, 16, v29
+; GFX9-NEXT: v_lshrrev_b32_e32 v48, 16, v29
; GFX9-NEXT: v_lshrrev_b32_e32 v58, 8, v29
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v59, 8, v32
; GFX9-NEXT: v_lshrrev_b32_e32 v15, 16, v31
; GFX9-NEXT: v_lshrrev_b32_e32 v60, 8, v31
-; GFX9-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v16, 8, v34
-; GFX9-NEXT: v_lshrrev_b32_e32 v52, 16, v33
+; GFX9-NEXT: v_lshrrev_b32_e32 v51, 16, v33
; GFX9-NEXT: v_lshrrev_b32_e32 v61, 8, v33
-; GFX9-NEXT: v_lshrrev_b32_e32 v53, 8, v38
-; GFX9-NEXT: v_lshrrev_b32_e32 v39, 16, v37
-; GFX9-NEXT: v_lshrrev_b32_e32 v54, 8, v37
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v49
-; GFX9-NEXT: v_lshrrev_b32_e32 v18, 16, v48
-; GFX9-NEXT: v_lshrrev_b32_e32 v50, 8, v48
+; GFX9-NEXT: v_lshrrev_b32_e32 v52, 8, v36
+; GFX9-NEXT: v_lshrrev_b32_e32 v54, 16, v35
+; GFX9-NEXT: v_lshrrev_b32_e32 v53, 8, v35
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v38
+; GFX9-NEXT: v_lshrrev_b32_e32 v18, 16, v37
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 8, v37
; GFX9-NEXT: s_branch .LBB37_6
; GFX9-NEXT: .LBB37_5:
; GFX9-NEXT: v_mov_b32_e32 v1, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 0
-; GFX9-NEXT: v_mov_b32_e32 v50, s4
+; GFX9-NEXT: v_mov_b32_e32 v49, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 1
; GFX9-NEXT: v_mov_b32_e32 v18, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 2
@@ -46517,233 +46550,233 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; GFX9-NEXT: v_readlane_b32 s4, v62, 3
; GFX9-NEXT: v_mov_b32_e32 v15, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 4
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
; GFX9-NEXT: v_mov_b32_e32 v15, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 5
-; GFX9-NEXT: v_mov_b32_e32 v54, s4
+; GFX9-NEXT: v_mov_b32_e32 v53, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 6
-; GFX9-NEXT: v_mov_b32_e32 v39, s4
+; GFX9-NEXT: v_mov_b32_e32 v54, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 7
-; GFX9-NEXT: v_mov_b32_e32 v53, s4
+; GFX9-NEXT: v_mov_b32_e32 v52, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 8
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
; GFX9-NEXT: v_mov_b32_e32 v15, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 9
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
; GFX9-NEXT: v_mov_b32_e32 v15, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 10
; GFX9-NEXT: v_mov_b32_e32 v61, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 11
-; GFX9-NEXT: v_mov_b32_e32 v52, s4
+; GFX9-NEXT: v_mov_b32_e32 v51, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 12
; GFX9-NEXT: v_mov_b32_e32 v16, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 13
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
; GFX9-NEXT: v_mov_b32_e32 v15, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 14
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
; GFX9-NEXT: v_mov_b32_e32 v15, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 15
; GFX9-NEXT: v_mov_b32_e32 v60, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 16
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
; GFX9-NEXT: v_mov_b32_e32 v15, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 17
; GFX9-NEXT: v_mov_b32_e32 v59, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 18
; GFX9-NEXT: v_mov_b32_e32 v19, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 19
-; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
; GFX9-NEXT: v_mov_b32_e32 v19, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 20
; GFX9-NEXT: v_mov_b32_e32 v58, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 21
-; GFX9-NEXT: v_mov_b32_e32 v35, s4
+; GFX9-NEXT: v_mov_b32_e32 v48, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 22
; GFX9-NEXT: v_mov_b32_e32 v57, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 23
-; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
; GFX9-NEXT: v_mov_b32_e32 v19, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 24
; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
; GFX9-NEXT: v_mov_b32_e32 v19, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 25
-; GFX9-NEXT: v_mov_b32_e32 v51, s4
+; GFX9-NEXT: v_mov_b32_e32 v47, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 26
; GFX9-NEXT: v_mov_b32_e32 v56, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 27
-; GFX9-NEXT: v_mov_b32_e32 v47, s4
+; GFX9-NEXT: v_mov_b32_e32 v46, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 28
-; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
; GFX9-NEXT: v_mov_b32_e32 v19, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 29
; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
; GFX9-NEXT: v_mov_b32_e32 v19, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 30
-; GFX9-NEXT: v_mov_b32_e32 v45, s4
+; GFX9-NEXT: v_mov_b32_e32 v50, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 31
-; GFX9-NEXT: v_mov_b32_e32 v46, s4
+; GFX9-NEXT: v_mov_b32_e32 v45, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 32
; GFX9-NEXT: v_mov_b32_e32 v44, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 33
; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
; GFX9-NEXT: v_mov_b32_e32 v19, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 34
-; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
; GFX9-NEXT: v_mov_b32_e32 v19, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 35
-; GFX9-NEXT: v_mov_b32_e32 v36, s4
-; GFX9-NEXT: v_readlane_b32 s4, v62, 36
; GFX9-NEXT: v_mov_b32_e32 v55, s4
+; GFX9-NEXT: v_readlane_b32 s4, v62, 36
+; GFX9-NEXT: v_mov_b32_e32 v43, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 37
; GFX9-NEXT: v_mov_b32_e32 v20, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 38
-; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
; GFX9-NEXT: v_mov_b32_e32 v19, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 39
-; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
; GFX9-NEXT: v_mov_b32_e32 v19, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 40
-; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
; GFX9-NEXT: v_mov_b32_e32 v19, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 41
; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
; GFX9-NEXT: v_mov_b32_e32 v19, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 42
-; GFX9-NEXT: v_mov_b32_e32 v40, s4
+; GFX9-NEXT: v_mov_b32_e32 v39, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 43
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v40, s4
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v39, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 44
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v40, s4
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v39, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 45
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v40, s4
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v39, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 46
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v40, s4
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v39, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 47
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v40, s4
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v39, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 48
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v40, s4
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v40, s71
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v40, s81
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v40, s80
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v40, s84
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v40, s83
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v40, s82
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v40, s86
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v40, s85
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v40, s96
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v40, s87
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v40, s97
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v40, s47
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v40, s98
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v40, s39
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v40, s38
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v40, s99
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v40, s49
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v40, s48
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v40, s51
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v40, s50
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v40, s52
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v40, s54
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v40, s53
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v40, s65
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v40, s64
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v40, s55
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v40, s67
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v40, s66
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v40, s69
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v40, s68
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v40, s70
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v40, s46
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v40, s56
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v40, s58
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v40, s60
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v40, s62
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v40, s72
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v40, s74
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v39, s4
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v39, s71
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v39, s81
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v39, s80
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v39, s84
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v39, s83
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v39, s82
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v39, s86
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v39, s85
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v39, s96
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v39, s87
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v39, s97
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v39, s47
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v39, s98
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v39, s39
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v39, s38
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v39, s99
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v39, s49
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v39, s48
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v39, s51
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v39, s50
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v39, s52
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v39, s54
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v39, s53
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v39, s65
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v39, s64
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v39, s55
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v39, s67
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v39, s66
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v39, s69
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v39, s68
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v39, s70
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v39, s46
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v39, s56
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v40, s76
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v39, s58
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v40, s78
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v39, s60
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v40, s88
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v39, s62
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v40, s90
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v39, s72
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v40, s92
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v39, s74
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v48, s16
-; GFX9-NEXT: v_mov_b32_e32 v49, s17
-; GFX9-NEXT: v_mov_b32_e32 v37, s18
-; GFX9-NEXT: v_mov_b32_e32 v38, s19
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v39, s76
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v39, s78
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v39, s88
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v39, s90
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v39, s92
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v37, s16
+; GFX9-NEXT: v_mov_b32_e32 v38, s17
+; GFX9-NEXT: v_mov_b32_e32 v35, s18
+; GFX9-NEXT: v_mov_b32_e32 v36, s19
; GFX9-NEXT: v_mov_b32_e32 v33, s20
; GFX9-NEXT: v_mov_b32_e32 v34, s21
; GFX9-NEXT: v_mov_b32_e32 v31, s22
@@ -46771,38 +46804,37 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; GFX9-NEXT: v_mov_b32_e32 v3, s6
; GFX9-NEXT: v_mov_b32_e32 v4, s7
; GFX9-NEXT: v_mov_b32_e32 v2, s5
-; GFX9-NEXT: v_mov_b32_e32 v40, s94
-; GFX9-NEXT: v_mov_b32_e32 v41, vcc_lo
-; GFX9-NEXT: v_mov_b32_e32 v42, s30
-; GFX9-NEXT: v_mov_b32_e32 v43, s34
+; GFX9-NEXT: v_mov_b32_e32 v39, s94
+; GFX9-NEXT: v_mov_b32_e32 v40, vcc_lo
+; GFX9-NEXT: v_mov_b32_e32 v41, s30
+; GFX9-NEXT: v_mov_b32_e32 v42, s34
; GFX9-NEXT: .LBB37_6: ; %end
; GFX9-NEXT: s_mov_b32 s4, 0xc0c0004
-; GFX9-NEXT: v_perm_b32 v48, v48, v50, s4
-; GFX9-NEXT: v_perm_b32 v34, v34, v16, s4
-; GFX9-NEXT: v_perm_b32 v50, v15, v40, s4
-; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:56 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload
-; GFX9-NEXT: v_perm_b32 v17, v49, v17, s4
-; GFX9-NEXT: v_perm_b32 v38, v38, v53, s4
-; GFX9-NEXT: v_perm_b32 v49, v52, v41, s4
-; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:352 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:356 ; 4-byte Folded Reload
-; GFX9-NEXT: v_perm_b32 v27, v27, v51, s4
-; GFX9-NEXT: v_perm_b32 v37, v37, v54, s4
-; GFX9-NEXT: v_perm_b32 v18, v18, v43, s4
+; GFX9-NEXT: v_perm_b32 v37, v37, v49, s4
+; GFX9-NEXT: v_perm_b32 v36, v36, v52, s4
+; GFX9-NEXT: v_perm_b32 v49, v51, v40, s4
+; GFX9-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:352 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:356 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v16, v34, v16, s4
+; GFX9-NEXT: v_perm_b32 v34, v15, v39, s4
+; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:368 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v35, v35, v53, s4
+; GFX9-NEXT: v_perm_b32 v25, v25, v50, s4
+; GFX9-NEXT: v_perm_b32 v18, v18, v42, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v18, 16, v18
-; GFX9-NEXT: v_or_b32_e32 v18, v48, v18
+; GFX9-NEXT: v_or_b32_e32 v18, v37, v18
; GFX9-NEXT: v_perm_b32 v20, v24, v20, s4
-; GFX9-NEXT: v_perm_b32 v39, v39, v42, s4
+; GFX9-NEXT: v_perm_b32 v17, v38, v17, s4
+; GFX9-NEXT: v_perm_b32 v38, v54, v41, s4
; GFX9-NEXT: v_perm_b32 v33, v33, v61, s4
; GFX9-NEXT: v_perm_b32 v31, v31, v60, s4
; GFX9-NEXT: v_perm_b32 v32, v32, v59, s4
; GFX9-NEXT: v_perm_b32 v29, v29, v58, s4
; GFX9-NEXT: v_perm_b32 v30, v30, v57, s4
-; GFX9-NEXT: v_perm_b32 v28, v28, v47, s4
-; GFX9-NEXT: v_perm_b32 v25, v25, v45, s4
+; GFX9-NEXT: v_perm_b32 v27, v27, v47, s4
+; GFX9-NEXT: v_perm_b32 v28, v28, v46, s4
; GFX9-NEXT: v_perm_b32 v26, v26, v44, s4
-; GFX9-NEXT: v_perm_b32 v23, v23, v36, s4
+; GFX9-NEXT: v_perm_b32 v23, v23, v55, s4
; GFX9-NEXT: v_readlane_b32 s30, v63, 34
; GFX9-NEXT: v_readlane_b32 s31, v63, 35
; GFX9-NEXT: v_readlane_b32 s99, v63, 33
@@ -46840,87 +46872,88 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; GFX9-NEXT: v_readlane_b32 s35, v63, 1
; GFX9-NEXT: v_readlane_b32 s34, v63, 0
; GFX9-NEXT: s_waitcnt vmcnt(2)
-; GFX9-NEXT: v_perm_b32 v16, v35, v15, s4
-; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:368 ; 4-byte Folded Reload
-; GFX9-NEXT: v_lshlrev_b32_e32 v16, 16, v16
-; GFX9-NEXT: v_or_b32_e32 v16, v29, v16
-; GFX9-NEXT: s_waitcnt vmcnt(2)
-; GFX9-NEXT: v_perm_b32 v35, v56, v52, s4
+; GFX9-NEXT: v_perm_b32 v39, v48, v51, s4
; GFX9-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:344 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:348 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:336 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:340 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v54, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(6)
+; GFX9-NEXT: s_waitcnt vmcnt(2)
; GFX9-NEXT: v_perm_b32 v21, v21, v15, s4
; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:364 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(6)
-; GFX9-NEXT: v_perm_b32 v51, v46, v51, s4
-; GFX9-NEXT: s_waitcnt vmcnt(4)
-; GFX9-NEXT: v_perm_b32 v52, v55, v52, s4
; GFX9-NEXT: s_waitcnt vmcnt(2)
-; GFX9-NEXT: v_perm_b32 v19, v19, v53, s4
-; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_perm_b32 v48, v56, v51, s4
+; GFX9-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:336 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:340 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:328 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:332 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(4)
; GFX9-NEXT: v_perm_b32 v22, v22, v15, s4
-; GFX9-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v54, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(3)
+; GFX9-NEXT: v_perm_b32 v51, v45, v51, s4
+; GFX9-NEXT: s_waitcnt vmcnt(1)
+; GFX9-NEXT: v_perm_b32 v50, v43, v52, s4
+; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:272 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:276 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(1)
+; GFX9-NEXT: v_perm_b32 v19, v19, v52, s4
+; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:360 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v15, v15, v53, s4
+; GFX9-NEXT: v_perm_b32 v15, v15, v52, s4
; GFX9-NEXT: buffer_store_dword v18, v0, s[0:3], 0 offen
-; GFX9-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:328 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:320 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:332 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:324 ; 4-byte Folded Reload
; GFX9-NEXT: v_lshlrev_b32_e32 v15, 16, v15
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v18, v18, v24, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v18, 16, v18
; GFX9-NEXT: v_or_b32_e32 v17, v17, v18
; GFX9-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:4
-; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v39
-; GFX9-NEXT: v_or_b32_e32 v17, v37, v17
+; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v38
+; GFX9-NEXT: v_or_b32_e32 v17, v35, v17
; GFX9-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:8
-; GFX9-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:320 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:312 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:324 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:316 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v17, v17, v18, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v17
-; GFX9-NEXT: v_or_b32_e32 v17, v38, v17
+; GFX9-NEXT: v_or_b32_e32 v17, v36, v17
; GFX9-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:12
; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v49
; GFX9-NEXT: v_or_b32_e32 v17, v33, v17
; GFX9-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:16
-; GFX9-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:312 ; 4-byte Folded Reload
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:316 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v17, v17, v18, s4
-; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v17
-; GFX9-NEXT: v_or_b32_e32 v17, v34, v17
-; GFX9-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:20
-; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v50
-; GFX9-NEXT: v_or_b32_e32 v17, v31, v17
-; GFX9-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:24
; GFX9-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:304 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:308 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v17, v17, v18, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v17
-; GFX9-NEXT: v_or_b32_e32 v17, v32, v17
-; GFX9-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:28
+; GFX9-NEXT: v_or_b32_e32 v16, v16, v17
+; GFX9-NEXT: buffer_store_dword v16, v0, s[0:3], 0 offen offset:20
+; GFX9-NEXT: v_lshlrev_b32_e32 v16, 16, v34
+; GFX9-NEXT: v_or_b32_e32 v16, v31, v16
+; GFX9-NEXT: buffer_store_dword v16, v0, s[0:3], 0 offen offset:24
+; GFX9-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:300 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_perm_b32 v16, v16, v17, s4
+; GFX9-NEXT: v_lshlrev_b32_e32 v16, 16, v16
+; GFX9-NEXT: v_or_b32_e32 v16, v32, v16
+; GFX9-NEXT: buffer_store_dword v16, v0, s[0:3], 0 offen offset:28
+; GFX9-NEXT: v_lshlrev_b32_e32 v16, 16, v39
+; GFX9-NEXT: v_or_b32_e32 v16, v29, v16
; GFX9-NEXT: buffer_store_dword v16, v0, s[0:3], 0 offen offset:32
; GFX9-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:300 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v16, v16, v17, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v16, 16, v16
; GFX9-NEXT: v_or_b32_e32 v16, v30, v16
; GFX9-NEXT: buffer_store_dword v16, v0, s[0:3], 0 offen offset:36
-; GFX9-NEXT: v_lshlrev_b32_e32 v16, 16, v35
+; GFX9-NEXT: v_lshlrev_b32_e32 v16, 16, v48
; GFX9-NEXT: v_or_b32_e32 v16, v27, v16
; GFX9-NEXT: buffer_store_dword v16, v0, s[0:3], 0 offen offset:40
; GFX9-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:280 ; 4-byte Folded Reload
@@ -46934,20 +46967,20 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; GFX9-NEXT: v_lshlrev_b32_e32 v16, 16, v51
; GFX9-NEXT: v_or_b32_e32 v16, v25, v16
; GFX9-NEXT: buffer_store_dword v16, v0, s[0:3], 0 offen offset:48
-; GFX9-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:272 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:276 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:268 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v16, v16, v17, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v16, 16, v16
; GFX9-NEXT: v_or_b32_e32 v16, v26, v16
; GFX9-NEXT: buffer_store_dword v16, v0, s[0:3], 0 offen offset:52
-; GFX9-NEXT: v_lshlrev_b32_e32 v16, 16, v52
+; GFX9-NEXT: v_lshlrev_b32_e32 v16, 16, v50
; GFX9-NEXT: v_or_b32_e32 v16, v23, v16
; GFX9-NEXT: buffer_store_dword v16, v0, s[0:3], 0 offen offset:56
-; GFX9-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:268 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v16, v16, v17, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v16, 16, v16
@@ -46956,150 +46989,150 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; GFX9-NEXT: v_lshlrev_b32_e32 v16, 16, v19
; GFX9-NEXT: v_or_b32_e32 v16, v21, v16
; GFX9-NEXT: buffer_store_dword v16, v0, s[0:3], 0 offen offset:64
-; GFX9-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v16, v16, v17, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v16, 16, v16
; GFX9-NEXT: v_or_b32_e32 v16, v22, v16
; GFX9-NEXT: buffer_store_dword v16, v0, s[0:3], 0 offen offset:68
-; GFX9-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v13, v13, v16, s4
; GFX9-NEXT: v_or_b32_e32 v13, v13, v15
; GFX9-NEXT: buffer_store_dword v13, v0, s[0:3], 0 offen offset:72
-; GFX9-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v13, v14, v13, s4
-; GFX9-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v14, v14, v15, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v14, 16, v14
; GFX9-NEXT: v_or_b32_e32 v13, v13, v14
; GFX9-NEXT: buffer_store_dword v13, v0, s[0:3], 0 offen offset:76
-; GFX9-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v11, v11, v13, s4
-; GFX9-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v13, v14, v13, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v13, 16, v13
; GFX9-NEXT: v_or_b32_e32 v11, v11, v13
; GFX9-NEXT: buffer_store_dword v11, v0, s[0:3], 0 offen offset:80
-; GFX9-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v11, v12, v11, s4
-; GFX9-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v12, v12, v13, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v12, 16, v12
; GFX9-NEXT: v_or_b32_e32 v11, v11, v12
; GFX9-NEXT: buffer_store_dword v11, v0, s[0:3], 0 offen offset:84
-; GFX9-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v9, v9, v11, s4
-; GFX9-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v11, v12, v11, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v11, 16, v11
; GFX9-NEXT: v_or_b32_e32 v9, v9, v11
; GFX9-NEXT: buffer_store_dword v9, v0, s[0:3], 0 offen offset:88
-; GFX9-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v9, v10, v9, s4
-; GFX9-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v10, v10, v11, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v10, 16, v10
; GFX9-NEXT: v_or_b32_e32 v9, v9, v10
; GFX9-NEXT: buffer_store_dword v9, v0, s[0:3], 0 offen offset:92
-; GFX9-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v7, v7, v9, s4
-; GFX9-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v9, v10, v9, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v9, 16, v9
; GFX9-NEXT: v_or_b32_e32 v7, v7, v9
; GFX9-NEXT: buffer_store_dword v7, v0, s[0:3], 0 offen offset:96
-; GFX9-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v7, v8, v7, s4
-; GFX9-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v8, v8, v9, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v8, 16, v8
; GFX9-NEXT: v_or_b32_e32 v7, v7, v8
; GFX9-NEXT: buffer_store_dword v7, v0, s[0:3], 0 offen offset:100
-; GFX9-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v5, v5, v7, s4
-; GFX9-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v7, v8, v7, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v7, 16, v7
; GFX9-NEXT: v_or_b32_e32 v5, v5, v7
; GFX9-NEXT: buffer_store_dword v5, v0, s[0:3], 0 offen offset:104
-; GFX9-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v5, v6, v5, s4
-; GFX9-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v6, v6, v7, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v6, 16, v6
; GFX9-NEXT: v_or_b32_e32 v5, v5, v6
; GFX9-NEXT: buffer_store_dword v5, v0, s[0:3], 0 offen offset:108
-; GFX9-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v3, v3, v5, s4
-; GFX9-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v5, v6, v5, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v5, 16, v5
; GFX9-NEXT: v_or_b32_e32 v3, v3, v5
; GFX9-NEXT: buffer_store_dword v3, v0, s[0:3], 0 offen offset:112
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v3, v4, v3, s4
-; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v4, v4, v5, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v4, 16, v4
; GFX9-NEXT: v_or_b32_e32 v3, v3, v4
; GFX9-NEXT: buffer_store_dword v3, v0, s[0:3], 0 offen offset:116
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v1, v3, s4
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:56 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v3, v4, v3, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; GFX9-NEXT: v_or_b32_e32 v1, v1, v3
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:120
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v2, v2, v3, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v2, 16, v2
@@ -47214,8 +47247,8 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; GFX11-NEXT: v_writelane_b32 v75, s30, 7
; GFX11-NEXT: v_writelane_b32 v75, s31, 8
; GFX11-NEXT: v_readfirstlane_b32 s42, v15
-; GFX11-NEXT: v_readfirstlane_b32 s63, v14
-; GFX11-NEXT: v_readfirstlane_b32 s62, v13
+; GFX11-NEXT: v_readfirstlane_b32 s75, v14
+; GFX11-NEXT: v_readfirstlane_b32 s74, v13
; GFX11-NEXT: v_readfirstlane_b32 s7, v12
; GFX11-NEXT: v_readfirstlane_b32 s6, v11
; GFX11-NEXT: v_readfirstlane_b32 s9, v10
@@ -47233,59 +47266,59 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; GFX11-NEXT: ; implicit-def: $vgpr76 : SGPR spill to VGPR lane
; GFX11-NEXT: s_cbranch_scc0 .LBB37_2
; GFX11-NEXT: ; %bb.1: ; %cmp.false
-; GFX11-NEXT: s_lshr_b32 s4, s63, 24
-; GFX11-NEXT: s_lshr_b32 s61, s3, 8
+; GFX11-NEXT: s_lshr_b32 s4, s74, 8
+; GFX11-NEXT: s_lshr_b32 s47, s3, 8
; GFX11-NEXT: v_writelane_b32 v76, s4, 9
-; GFX11-NEXT: s_lshr_b32 s4, s63, 16
-; GFX11-NEXT: s_lshr_b32 s73, s29, 24
-; GFX11-NEXT: s_lshr_b32 s75, s63, 8
-; GFX11-NEXT: s_lshr_b32 s35, s62, 16
+; GFX11-NEXT: s_lshr_b32 s4, s7, 24
+; GFX11-NEXT: s_lshr_b32 s57, s23, 24
+; GFX11-NEXT: s_lshr_b32 s73, s75, 24
+; GFX11-NEXT: s_lshr_b32 s63, s75, 16
; GFX11-NEXT: v_writelane_b32 v76, s4, 10
; GFX11-NEXT: s_lshr_b32 s4, s3, 16
-; GFX11-NEXT: s_lshr_b32 s36, s62, 8
-; GFX11-NEXT: s_lshr_b32 s37, s7, 24
-; GFX11-NEXT: s_lshr_b32 s38, s7, 16
+; GFX11-NEXT: s_lshr_b32 s61, s75, 8
+; GFX11-NEXT: s_lshr_b32 s59, s74, 16
+; GFX11-NEXT: s_lshr_b32 s37, s7, 16
; GFX11-NEXT: v_writelane_b32 v76, s4, 8
-; GFX11-NEXT: s_lshr_b64 s[4:5], s[62:63], 24
-; GFX11-NEXT: s_lshr_b32 s39, s7, 8
+; GFX11-NEXT: s_lshr_b64 s[4:5], s[74:75], 24
+; GFX11-NEXT: s_lshr_b32 s77, s7, 8
; GFX11-NEXT: v_writelane_b32 v77, s4, 30
; GFX11-NEXT: s_lshr_b32 s48, s6, 16
-; GFX11-NEXT: v_writelane_b32 v76, s61, 7
-; GFX11-NEXT: s_lshr_b32 s61, s2, 16
+; GFX11-NEXT: v_writelane_b32 v76, s47, 7
+; GFX11-NEXT: s_lshr_b32 s47, s2, 16
; GFX11-NEXT: s_lshr_b32 s49, s6, 8
; GFX11-NEXT: v_writelane_b32 v77, s5, 31
; GFX11-NEXT: s_lshr_b64 s[4:5], s[6:7], 24
-; GFX11-NEXT: v_writelane_b32 v76, s61, 6
-; GFX11-NEXT: s_lshr_b32 s61, s2, 8
+; GFX11-NEXT: v_writelane_b32 v76, s47, 6
+; GFX11-NEXT: s_lshr_b32 s47, s2, 8
; GFX11-NEXT: s_lshr_b32 s50, s9, 24
; GFX11-NEXT: v_writelane_b32 v77, s4, 28
; GFX11-NEXT: s_lshr_b32 s51, s9, 16
-; GFX11-NEXT: v_writelane_b32 v76, s61, 5
-; GFX11-NEXT: s_lshr_b32 s61, s1, 24
+; GFX11-NEXT: v_writelane_b32 v76, s47, 5
+; GFX11-NEXT: s_lshr_b32 s47, s1, 24
; GFX11-NEXT: s_lshr_b32 s52, s9, 8
; GFX11-NEXT: v_writelane_b32 v77, s5, 29
; GFX11-NEXT: s_lshr_b64 s[4:5], s[8:9], 24
-; GFX11-NEXT: v_writelane_b32 v76, s61, 4
-; GFX11-NEXT: s_lshr_b32 s61, s1, 16
+; GFX11-NEXT: v_writelane_b32 v76, s47, 4
+; GFX11-NEXT: s_lshr_b32 s47, s1, 16
; GFX11-NEXT: s_lshr_b32 s53, s8, 16
; GFX11-NEXT: v_writelane_b32 v77, s4, 26
; GFX11-NEXT: s_lshr_b32 s54, s8, 8
-; GFX11-NEXT: v_writelane_b32 v76, s61, 3
-; GFX11-NEXT: s_lshr_b32 s61, s1, 8
+; GFX11-NEXT: v_writelane_b32 v76, s47, 3
+; GFX11-NEXT: s_lshr_b32 s47, s1, 8
; GFX11-NEXT: s_lshr_b32 s55, s11, 24
; GFX11-NEXT: v_writelane_b32 v77, s5, 27
; GFX11-NEXT: s_lshr_b64 s[4:5], s[10:11], 24
-; GFX11-NEXT: v_writelane_b32 v76, s61, 2
-; GFX11-NEXT: s_lshr_b32 s61, s0, 16
+; GFX11-NEXT: v_writelane_b32 v76, s47, 2
+; GFX11-NEXT: s_lshr_b32 s47, s0, 16
; GFX11-NEXT: s_lshr_b32 s64, s11, 16
; GFX11-NEXT: v_writelane_b32 v77, s4, 24
; GFX11-NEXT: s_lshr_b32 s65, s11, 8
-; GFX11-NEXT: v_writelane_b32 v76, s61, 1
-; GFX11-NEXT: s_lshr_b32 s61, s0, 8
+; GFX11-NEXT: v_writelane_b32 v76, s47, 1
+; GFX11-NEXT: s_lshr_b32 s47, s0, 8
; GFX11-NEXT: s_lshr_b32 s66, s10, 16
; GFX11-NEXT: v_writelane_b32 v77, s5, 25
; GFX11-NEXT: s_lshr_b64 s[4:5], s[12:13], 24
-; GFX11-NEXT: v_writelane_b32 v76, s61, 0
+; GFX11-NEXT: v_writelane_b32 v76, s47, 0
; GFX11-NEXT: s_lshr_b32 s67, s10, 8
; GFX11-NEXT: s_lshr_b32 s68, s13, 24
; GFX11-NEXT: v_writelane_b32 v77, s4, 22
@@ -47300,67 +47333,67 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; GFX11-NEXT: s_lshr_b32 s83, s15, 8
; GFX11-NEXT: v_writelane_b32 v77, s4, 20
; GFX11-NEXT: s_lshr_b32 s84, s14, 16
-; GFX11-NEXT: s_lshr_b32 s86, s14, 8
-; GFX11-NEXT: s_lshr_b32 s97, s41, 24
-; GFX11-NEXT: s_lshr_b32 s100, s41, 16
+; GFX11-NEXT: s_lshr_b32 s85, s14, 8
+; GFX11-NEXT: s_lshr_b32 s86, s41, 24
+; GFX11-NEXT: s_lshr_b32 s87, s41, 16
; GFX11-NEXT: v_writelane_b32 v77, s5, 21
; GFX11-NEXT: s_lshr_b64 s[4:5], s[40:41], 24
-; GFX11-NEXT: s_lshr_b32 s102, s41, 8
-; GFX11-NEXT: s_lshr_b32 s44, s40, 16
-; GFX11-NEXT: s_lshr_b32 s56, s40, 8
+; GFX11-NEXT: s_lshr_b32 s96, s41, 8
+; GFX11-NEXT: s_lshr_b32 s97, s40, 16
+; GFX11-NEXT: s_lshr_b32 s98, s40, 8
; GFX11-NEXT: v_writelane_b32 v77, s4, 18
-; GFX11-NEXT: s_lshr_b32 s76, s29, 16
-; GFX11-NEXT: s_lshr_b32 s90, s29, 8
-; GFX11-NEXT: s_lshr_b32 s94, s28, 16
-; GFX11-NEXT: s_lshr_b32 s45, s28, 8
+; GFX11-NEXT: s_lshr_b32 s99, s29, 24
+; GFX11-NEXT: s_lshr_b32 s100, s29, 16
+; GFX11-NEXT: s_lshr_b32 s101, s29, 8
+; GFX11-NEXT: s_lshr_b32 s102, s28, 16
; GFX11-NEXT: v_writelane_b32 v77, s5, 19
; GFX11-NEXT: s_lshr_b64 s[4:5], s[28:29], 24
-; GFX11-NEXT: s_lshr_b32 s57, s27, 24
-; GFX11-NEXT: s_lshr_b32 s59, s27, 16
-; GFX11-NEXT: s_lshr_b32 s31, s27, 8
+; GFX11-NEXT: s_lshr_b32 s103, s28, 8
+; GFX11-NEXT: s_lshr_b32 s104, s27, 24
+; GFX11-NEXT: s_lshr_b32 s42, s27, 16
; GFX11-NEXT: v_writelane_b32 v77, s4, 16
-; GFX11-NEXT: s_lshr_b32 s47, s26, 16
-; GFX11-NEXT: s_lshr_b32 s30, s26, 8
-; GFX11-NEXT: s_lshr_b32 s43, s25, 24
-; GFX11-NEXT: s_lshr_b32 vcc_lo, s25, 16
+; GFX11-NEXT: s_lshr_b32 s43, s27, 8
+; GFX11-NEXT: s_lshr_b32 s44, s26, 16
+; GFX11-NEXT: s_lshr_b32 s46, s26, 8
+; GFX11-NEXT: s_lshr_b32 s56, s25, 24
; GFX11-NEXT: v_writelane_b32 v77, s5, 17
; GFX11-NEXT: s_lshr_b64 s[4:5], s[26:27], 24
-; GFX11-NEXT: s_lshr_b32 s92, s25, 8
-; GFX11-NEXT: s_lshr_b32 s88, s24, 16
-; GFX11-NEXT: s_lshr_b32 s78, s24, 8
+; GFX11-NEXT: s_lshr_b32 s58, s25, 16
+; GFX11-NEXT: s_lshr_b32 s60, s25, 8
+; GFX11-NEXT: s_lshr_b32 s62, s24, 16
; GFX11-NEXT: v_writelane_b32 v77, s4, 14
-; GFX11-NEXT: s_lshr_b32 s74, s23, 24
-; GFX11-NEXT: s_lshr_b32 s72, s23, 16
-; GFX11-NEXT: s_lshr_b32 s60, s23, 8
-; GFX11-NEXT: s_lshr_b32 s58, s22, 16
+; GFX11-NEXT: s_lshr_b32 s72, s24, 8
+; GFX11-NEXT: s_lshr_b32 s76, s23, 16
+; GFX11-NEXT: s_lshr_b32 s78, s23, 8
+; GFX11-NEXT: s_lshr_b32 s92, s22, 16
; GFX11-NEXT: v_writelane_b32 v77, s5, 15
; GFX11-NEXT: s_lshr_b64 s[4:5], s[24:25], 24
-; GFX11-NEXT: s_lshr_b32 s46, s22, 8
-; GFX11-NEXT: s_lshr_b32 s42, s21, 24
-; GFX11-NEXT: s_lshr_b32 s104, s21, 16
+; GFX11-NEXT: s_lshr_b32 s45, s22, 8
+; GFX11-NEXT: s_lshr_b32 s30, s21, 24
+; GFX11-NEXT: s_lshr_b32 s35, s21, 16
; GFX11-NEXT: v_writelane_b32 v77, s4, 12
-; GFX11-NEXT: s_lshr_b32 s103, s21, 8
-; GFX11-NEXT: s_lshr_b32 s101, s20, 16
-; GFX11-NEXT: s_lshr_b32 s99, s20, 8
-; GFX11-NEXT: s_lshr_b32 s98, s19, 24
+; GFX11-NEXT: s_lshr_b32 s38, s21, 8
+; GFX11-NEXT: s_lshr_b32 s36, s20, 16
+; GFX11-NEXT: s_lshr_b32 s34, s20, 8
+; GFX11-NEXT: s_lshr_b32 s31, s19, 24
; GFX11-NEXT: v_writelane_b32 v77, s5, 13
; GFX11-NEXT: s_lshr_b64 s[4:5], s[22:23], 24
-; GFX11-NEXT: s_lshr_b32 s96, s19, 16
-; GFX11-NEXT: s_lshr_b32 s87, s19, 8
-; GFX11-NEXT: s_lshr_b32 s85, s18, 16
+; GFX11-NEXT: s_lshr_b32 vcc_lo, s19, 16
+; GFX11-NEXT: s_lshr_b32 s94, s19, 8
+; GFX11-NEXT: s_lshr_b32 s90, s18, 16
; GFX11-NEXT: v_writelane_b32 v77, s4, 10
-; GFX11-NEXT: s_lshr_b32 vcc_hi, s18, 8
-; GFX11-NEXT: s_lshr_b32 s95, s17, 24
-; GFX11-NEXT: s_lshr_b32 s93, s17, 16
-; GFX11-NEXT: s_lshr_b32 s91, s17, 8
+; GFX11-NEXT: s_lshr_b32 s88, s18, 8
+; GFX11-NEXT: s_lshr_b32 vcc_hi, s17, 24
+; GFX11-NEXT: s_lshr_b32 s95, s17, 16
+; GFX11-NEXT: s_lshr_b32 s93, s17, 8
; GFX11-NEXT: v_writelane_b32 v77, s5, 11
; GFX11-NEXT: s_lshr_b64 s[4:5], s[20:21], 24
-; GFX11-NEXT: s_lshr_b32 s89, s16, 16
-; GFX11-NEXT: s_lshr_b32 s79, s16, 8
-; GFX11-NEXT: s_lshr_b32 s77, s3, 24
+; GFX11-NEXT: s_lshr_b32 s91, s16, 16
+; GFX11-NEXT: s_lshr_b32 s89, s16, 8
+; GFX11-NEXT: s_lshr_b32 s79, s3, 24
; GFX11-NEXT: v_writelane_b32 v77, s4, 8
-; GFX11-NEXT: v_readlane_b32 s61, v76, 10
-; GFX11-NEXT: s_mov_b32 s34, 0
+; GFX11-NEXT: v_readlane_b32 s47, v76, 10
+; GFX11-NEXT: s_mov_b32 s39, 0
; GFX11-NEXT: v_writelane_b32 v77, s5, 9
; GFX11-NEXT: s_lshr_b64 s[4:5], s[18:19], 24
; GFX11-NEXT: s_delay_alu instid0(SALU_CYCLE_1) | instskip(SKIP_2) | instid1(SALU_CYCLE_1)
@@ -47376,55 +47409,55 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; GFX11-NEXT: s_lshr_b64 s[4:5], s[0:1], 24
; GFX11-NEXT: v_writelane_b32 v77, s4, 0
; GFX11-NEXT: v_writelane_b32 v77, s5, 1
-; GFX11-NEXT: s_mov_b32 s5, s73
-; GFX11-NEXT: v_readlane_b32 s73, v76, 9
+; GFX11-NEXT: s_mov_b32 s5, s57
+; GFX11-NEXT: v_readlane_b32 s57, v76, 9
; GFX11-NEXT: s_branch .LBB37_3
; GFX11-NEXT: .LBB37_2:
; GFX11-NEXT: ; implicit-def: $sgpr42
; GFX11-NEXT: ; kill: killed $sgpr42
; GFX11-NEXT: ; implicit-def: $sgpr4
-; GFX11-NEXT: s_mov_b32 s34, -1
+; GFX11-NEXT: s_mov_b32 s39, -1
; GFX11-NEXT: ; implicit-def: $sgpr42
; GFX11-NEXT: ; kill: killed $sgpr42
-; GFX11-NEXT: ; implicit-def: $sgpr77
; GFX11-NEXT: ; implicit-def: $sgpr79
; GFX11-NEXT: ; implicit-def: $sgpr89
; GFX11-NEXT: ; implicit-def: $sgpr91
; GFX11-NEXT: ; implicit-def: $sgpr93
; GFX11-NEXT: ; implicit-def: $sgpr95
; GFX11-NEXT: ; implicit-def: $vcc_hi
-; GFX11-NEXT: ; implicit-def: $sgpr85
-; GFX11-NEXT: ; implicit-def: $sgpr87
-; GFX11-NEXT: ; implicit-def: $sgpr96
-; GFX11-NEXT: ; implicit-def: $sgpr98
-; GFX11-NEXT: ; implicit-def: $sgpr99
-; GFX11-NEXT: ; implicit-def: $sgpr101
-; GFX11-NEXT: ; implicit-def: $sgpr103
-; GFX11-NEXT: ; implicit-def: $sgpr104
-; GFX11-NEXT: ; implicit-def: $sgpr46
-; GFX11-NEXT: ; implicit-def: $sgpr58
-; GFX11-NEXT: ; implicit-def: $sgpr60
-; GFX11-NEXT: ; implicit-def: $sgpr72
-; GFX11-NEXT: ; implicit-def: $sgpr74
-; GFX11-NEXT: ; implicit-def: $sgpr78
; GFX11-NEXT: ; implicit-def: $sgpr88
-; GFX11-NEXT: ; implicit-def: $sgpr92
+; GFX11-NEXT: ; implicit-def: $sgpr90
+; GFX11-NEXT: ; implicit-def: $sgpr94
; GFX11-NEXT: ; implicit-def: $vcc_lo
-; GFX11-NEXT: ; implicit-def: $sgpr30
-; GFX11-NEXT: ; implicit-def: $sgpr47
; GFX11-NEXT: ; implicit-def: $sgpr31
-; GFX11-NEXT: ; implicit-def: $sgpr59
-; GFX11-NEXT: ; implicit-def: $sgpr57
+; GFX11-NEXT: ; implicit-def: $sgpr34
+; GFX11-NEXT: ; implicit-def: $sgpr36
+; GFX11-NEXT: ; implicit-def: $sgpr38
+; GFX11-NEXT: ; implicit-def: $sgpr35
+; GFX11-NEXT: ; implicit-def: $sgpr30
; GFX11-NEXT: ; implicit-def: $sgpr45
-; GFX11-NEXT: ; implicit-def: $sgpr94
-; GFX11-NEXT: ; implicit-def: $sgpr90
+; GFX11-NEXT: ; implicit-def: $sgpr92
+; GFX11-NEXT: ; implicit-def: $sgpr78
; GFX11-NEXT: ; implicit-def: $sgpr76
+; GFX11-NEXT: ; implicit-def: $sgpr72
+; GFX11-NEXT: ; implicit-def: $sgpr62
+; GFX11-NEXT: ; implicit-def: $sgpr60
+; GFX11-NEXT: ; implicit-def: $sgpr58
; GFX11-NEXT: ; implicit-def: $sgpr56
+; GFX11-NEXT: ; implicit-def: $sgpr46
; GFX11-NEXT: ; implicit-def: $sgpr44
+; GFX11-NEXT: ; implicit-def: $sgpr104
+; GFX11-NEXT: ; implicit-def: $sgpr103
; GFX11-NEXT: ; implicit-def: $sgpr102
+; GFX11-NEXT: ; implicit-def: $sgpr101
; GFX11-NEXT: ; implicit-def: $sgpr100
+; GFX11-NEXT: ; implicit-def: $sgpr99
+; GFX11-NEXT: ; implicit-def: $sgpr98
; GFX11-NEXT: ; implicit-def: $sgpr97
+; GFX11-NEXT: ; implicit-def: $sgpr96
+; GFX11-NEXT: ; implicit-def: $sgpr87
; GFX11-NEXT: ; implicit-def: $sgpr86
+; GFX11-NEXT: ; implicit-def: $sgpr85
; GFX11-NEXT: ; implicit-def: $sgpr84
; GFX11-NEXT: ; implicit-def: $sgpr83
; GFX11-NEXT: ; implicit-def: $sgpr82
@@ -47446,13 +47479,13 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; GFX11-NEXT: ; implicit-def: $sgpr50
; GFX11-NEXT: ; implicit-def: $sgpr49
; GFX11-NEXT: ; implicit-def: $sgpr48
-; GFX11-NEXT: ; implicit-def: $sgpr39
-; GFX11-NEXT: ; implicit-def: $sgpr38
+; GFX11-NEXT: ; implicit-def: $sgpr77
; GFX11-NEXT: ; implicit-def: $sgpr37
-; GFX11-NEXT: ; implicit-def: $sgpr36
-; GFX11-NEXT: ; implicit-def: $sgpr35
-; GFX11-NEXT: ; implicit-def: $sgpr75
+; GFX11-NEXT: ; implicit-def: $sgpr47
+; GFX11-NEXT: ; implicit-def: $sgpr57
+; GFX11-NEXT: ; implicit-def: $sgpr59
; GFX11-NEXT: ; implicit-def: $sgpr61
+; GFX11-NEXT: ; implicit-def: $sgpr63
; GFX11-NEXT: ; implicit-def: $sgpr73
; GFX11-NEXT: ; implicit-def: $sgpr42
; GFX11-NEXT: v_writelane_b32 v77, s42, 0
@@ -47470,8 +47503,8 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; GFX11-NEXT: ; kill: killed $sgpr42
; GFX11-NEXT: ; implicit-def: $sgpr42
; GFX11-NEXT: ; kill: killed $sgpr42
-; GFX11-NEXT: ; implicit-def: $sgpr42
; GFX11-NEXT: ; implicit-def: $sgpr43
+; GFX11-NEXT: ; implicit-def: $sgpr42
; GFX11-NEXT: v_writelane_b32 v77, s5, 3
; GFX11-NEXT: ; implicit-def: $sgpr4
; GFX11-NEXT: ; kill: killed $sgpr4
@@ -47487,10 +47520,10 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; GFX11-NEXT: ; implicit-def: $sgpr4
; GFX11-NEXT: v_writelane_b32 v77, s4, 10
; GFX11-NEXT: v_writelane_b32 v77, s5, 11
+; GFX11-NEXT: ; implicit-def: $sgpr5
; GFX11-NEXT: ; implicit-def: $sgpr4
; GFX11-NEXT: v_writelane_b32 v77, s4, 12
; GFX11-NEXT: v_writelane_b32 v77, s5, 13
-; GFX11-NEXT: ; implicit-def: $sgpr5
; GFX11-NEXT: ; implicit-def: $sgpr4
; GFX11-NEXT: v_writelane_b32 v77, s4, 14
; GFX11-NEXT: v_writelane_b32 v77, s5, 15
@@ -47519,26 +47552,26 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; GFX11-NEXT: v_writelane_b32 v77, s4, 30
; GFX11-NEXT: v_writelane_b32 v77, s5, 31
; GFX11-NEXT: .LBB37_3: ; %Flow
-; GFX11-NEXT: s_and_b32 s34, s34, exec_lo
-; GFX11-NEXT: s_cselect_b32 s34, 1, 0
+; GFX11-NEXT: s_and_b32 s39, s39, exec_lo
+; GFX11-NEXT: s_cselect_b32 s39, 1, 0
; GFX11-NEXT: s_delay_alu instid0(SALU_CYCLE_1)
-; GFX11-NEXT: s_cmp_lg_u32 s34, 1
+; GFX11-NEXT: s_cmp_lg_u32 s39, 1
; GFX11-NEXT: s_cbranch_scc1 .LBB37_5
; GFX11-NEXT: ; %bb.4: ; %cmp.true
; GFX11-NEXT: v_add_f32_e64 v10, s13, 1.0
; GFX11-NEXT: v_add_f32_e64 v9, s12, 1.0
; GFX11-NEXT: v_add_f32_e64 v12, s15, 1.0
; GFX11-NEXT: v_add_f32_e64 v11, s14, 1.0
-; GFX11-NEXT: v_add_f32_e64 v30, s17, 1.0
+; GFX11-NEXT: v_add_f32_e64 v28, s17, 1.0
; GFX11-NEXT: v_add_f32_e64 v24, s21, 1.0
; GFX11-NEXT: v_add_f32_e64 v23, s20, 1.0
; GFX11-NEXT: v_add_f32_e64 v14, s41, 1.0
; GFX11-NEXT: v_add_f32_e64 v13, s40, 1.0
-; GFX11-NEXT: v_add_f32_e64 v28, s19, 1.0
-; GFX11-NEXT: v_add_f32_e64 v27, s18, 1.0
+; GFX11-NEXT: v_add_f32_e64 v30, s19, 1.0
+; GFX11-NEXT: v_add_f32_e64 v29, s18, 1.0
; GFX11-NEXT: v_add_f32_e64 v16, s29, 1.0
; GFX11-NEXT: v_add_f32_e64 v15, s28, 1.0
-; GFX11-NEXT: v_add_f32_e64 v29, s16, 1.0
+; GFX11-NEXT: v_add_f32_e64 v27, s16, 1.0
; GFX11-NEXT: v_add_f32_e64 v18, s27, 1.0
; GFX11-NEXT: v_add_f32_e64 v17, s26, 1.0
; GFX11-NEXT: v_add_f32_e64 v34, s3, 1.0
@@ -47554,18 +47587,18 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; GFX11-NEXT: v_add_f32_e64 v21, s22, 1.0
; GFX11-NEXT: v_add_f32_e64 v8, s11, 1.0
; GFX11-NEXT: v_add_f32_e64 v4, s7, 1.0
-; GFX11-NEXT: v_add_f32_e64 v2, s63, 1.0
-; GFX11-NEXT: v_add_f32_e64 v1, s62, 1.0
+; GFX11-NEXT: v_add_f32_e64 v2, s75, 1.0
+; GFX11-NEXT: v_add_f32_e64 v1, s74, 1.0
; GFX11-NEXT: v_add_f32_e64 v3, s6, 1.0
; GFX11-NEXT: v_add_f32_e64 v7, s10, 1.0
; GFX11-NEXT: v_lshrrev_b64 v[49:50], 24, v[11:12]
; GFX11-NEXT: v_lshrrev_b64 v[50:51], 24, v[13:14]
; GFX11-NEXT: v_lshrrev_b64 v[64:65], 24, v[23:24]
-; GFX11-NEXT: v_lshrrev_b32_e32 v73, 8, v30
+; GFX11-NEXT: v_lshrrev_b32_e32 v73, 8, v28
; GFX11-NEXT: v_lshrrev_b64 v[51:52], 24, v[15:16]
-; GFX11-NEXT: v_lshrrev_b64 v[65:66], 24, v[27:28]
+; GFX11-NEXT: v_lshrrev_b64 v[65:66], 24, v[29:30]
; GFX11-NEXT: v_lshrrev_b64 v[52:53], 24, v[17:18]
-; GFX11-NEXT: v_lshrrev_b64 v[66:67], 24, v[29:30]
+; GFX11-NEXT: v_lshrrev_b64 v[66:67], 24, v[27:28]
; GFX11-NEXT: v_lshrrev_b64 v[37:38], 24, v[5:6]
; GFX11-NEXT: v_lshrrev_b64 v[53:54], 24, v[19:20]
; GFX11-NEXT: v_lshrrev_b64 v[67:68], 24, v[33:34]
@@ -47634,15 +47667,15 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; GFX11-NEXT: v_lshrrev_b32_e32 v176, 8, v24
; GFX11-NEXT: v_lshrrev_b32_e32 v181, 16, v23
; GFX11-NEXT: v_lshrrev_b32_e32 v178, 8, v23
-; GFX11-NEXT: v_lshrrev_b32_e32 v41, 24, v28
-; GFX11-NEXT: v_lshrrev_b32_e32 v40, 16, v28
-; GFX11-NEXT: v_lshrrev_b32_e32 v182, 8, v28
-; GFX11-NEXT: v_lshrrev_b32_e32 v42, 16, v27
-; GFX11-NEXT: v_lshrrev_b32_e32 v183, 8, v27
-; GFX11-NEXT: v_lshrrev_b32_e32 v45, 24, v30
-; GFX11-NEXT: v_lshrrev_b32_e32 v43, 16, v30
-; GFX11-NEXT: v_lshrrev_b32_e32 v46, 16, v29
-; GFX11-NEXT: v_lshrrev_b32_e32 v44, 8, v29
+; GFX11-NEXT: v_lshrrev_b32_e32 v41, 24, v30
+; GFX11-NEXT: v_lshrrev_b32_e32 v40, 16, v30
+; GFX11-NEXT: v_lshrrev_b32_e32 v182, 8, v30
+; GFX11-NEXT: v_lshrrev_b32_e32 v42, 16, v29
+; GFX11-NEXT: v_lshrrev_b32_e32 v183, 8, v29
+; GFX11-NEXT: v_lshrrev_b32_e32 v45, 24, v28
+; GFX11-NEXT: v_lshrrev_b32_e32 v43, 16, v28
+; GFX11-NEXT: v_lshrrev_b32_e32 v46, 16, v27
+; GFX11-NEXT: v_lshrrev_b32_e32 v44, 8, v27
; GFX11-NEXT: v_lshrrev_b32_e32 v72, 24, v34
; GFX11-NEXT: v_lshrrev_b32_e32 v62, 16, v34
; GFX11-NEXT: v_lshrrev_b32_e32 v56, 8, v34
@@ -47659,11 +47692,11 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; GFX11-NEXT: v_dual_mov_b32 v35, s0 :: v_dual_mov_b32 v36, s1
; GFX11-NEXT: v_readlane_b32 s0, v76, 0
; GFX11-NEXT: v_dual_mov_b32 v33, s2 :: v_dual_mov_b32 v34, s3
-; GFX11-NEXT: v_dual_mov_b32 v29, s16 :: v_dual_mov_b32 v30, s17
+; GFX11-NEXT: v_dual_mov_b32 v27, s16 :: v_dual_mov_b32 v28, s17
; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_3) | instid1(VALU_DEP_3)
; GFX11-NEXT: v_mov_b32_e32 v57, s0
; GFX11-NEXT: v_readlane_b32 s0, v76, 1
-; GFX11-NEXT: v_dual_mov_b32 v27, s18 :: v_dual_mov_b32 v28, s19
+; GFX11-NEXT: v_dual_mov_b32 v29, s18 :: v_dual_mov_b32 v30, s19
; GFX11-NEXT: v_dual_mov_b32 v23, s20 :: v_dual_mov_b32 v24, s21
; GFX11-NEXT: v_mov_b32_e32 v59, s0
; GFX11-NEXT: v_readlane_b32 s0, v76, 2
@@ -47688,64 +47721,64 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; GFX11-NEXT: v_dual_mov_b32 v5, s8 :: v_dual_mov_b32 v6, s9
; GFX11-NEXT: v_dual_mov_b32 v3, s6 :: v_dual_mov_b32 v4, s7
; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_3) | instid1(VALU_DEP_3)
-; GFX11-NEXT: v_dual_mov_b32 v63, s0 :: v_dual_mov_b32 v72, s77
+; GFX11-NEXT: v_dual_mov_b32 v63, s0 :: v_dual_mov_b32 v72, s79
; GFX11-NEXT: v_readlane_b32 s0, v76, 7
-; GFX11-NEXT: v_dual_mov_b32 v1, s62 :: v_dual_mov_b32 v2, s63
-; GFX11-NEXT: v_dual_mov_b32 v44, s79 :: v_dual_mov_b32 v69, s91
+; GFX11-NEXT: v_dual_mov_b32 v1, s74 :: v_dual_mov_b32 v2, s75
+; GFX11-NEXT: v_dual_mov_b32 v44, s89 :: v_dual_mov_b32 v69, s93
; GFX11-NEXT: v_mov_b32_e32 v56, s0
; GFX11-NEXT: v_readlane_b32 s0, v76, 8
-; GFX11-NEXT: v_dual_mov_b32 v46, s89 :: v_dual_mov_b32 v43, s93
-; GFX11-NEXT: v_dual_mov_b32 v45, s95 :: v_dual_mov_b32 v42, s85
+; GFX11-NEXT: v_dual_mov_b32 v46, s91 :: v_dual_mov_b32 v43, s95
+; GFX11-NEXT: v_dual_mov_b32 v45, vcc_hi :: v_dual_mov_b32 v42, s90
; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_4) | instid1(VALU_DEP_4)
; GFX11-NEXT: v_mov_b32_e32 v62, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 30
; GFX11-NEXT: v_readlane_b32 s1, v77, 31
-; GFX11-NEXT: v_dual_mov_b32 v183, vcc_hi :: v_dual_mov_b32 v182, s87
-; GFX11-NEXT: v_dual_mov_b32 v40, s96 :: v_dual_mov_b32 v41, s98
+; GFX11-NEXT: v_dual_mov_b32 v183, s88 :: v_dual_mov_b32 v182, s94
+; GFX11-NEXT: v_dual_mov_b32 v40, vcc_lo :: v_dual_mov_b32 v41, s31
; GFX11-NEXT: v_mov_b32_e32 v25, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 28
; GFX11-NEXT: v_readlane_b32 s1, v77, 29
-; GFX11-NEXT: v_dual_mov_b32 v178, s99 :: v_dual_mov_b32 v181, s101
-; GFX11-NEXT: v_dual_mov_b32 v176, s103 :: v_dual_mov_b32 v179, s104
+; GFX11-NEXT: v_dual_mov_b32 v178, s34 :: v_dual_mov_b32 v181, s36
+; GFX11-NEXT: v_dual_mov_b32 v176, s38 :: v_dual_mov_b32 v179, s35
; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_4) | instid1(VALU_DEP_4)
; GFX11-NEXT: v_mov_b32_e32 v31, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 26
; GFX11-NEXT: v_readlane_b32 s1, v77, 27
-; GFX11-NEXT: v_dual_mov_b32 v180, s42 :: v_dual_mov_b32 v167, s46
-; GFX11-NEXT: v_dual_mov_b32 v177, s58 :: v_dual_mov_b32 v164, s60
+; GFX11-NEXT: v_dual_mov_b32 v180, s30 :: v_dual_mov_b32 v167, s45
+; GFX11-NEXT: v_dual_mov_b32 v177, s92 :: v_dual_mov_b32 v164, s78
; GFX11-NEXT: v_mov_b32_e32 v37, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 24
; GFX11-NEXT: v_readlane_b32 s1, v77, 25
-; GFX11-NEXT: v_dual_mov_b32 v165, s72 :: v_dual_mov_b32 v166, s74
-; GFX11-NEXT: v_dual_mov_b32 v160, s78 :: v_dual_mov_b32 v163, s88
+; GFX11-NEXT: v_dual_mov_b32 v165, s76 :: v_dual_mov_b32 v166, s5
+; GFX11-NEXT: v_dual_mov_b32 v160, s72 :: v_dual_mov_b32 v163, s62
; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_4) | instid1(VALU_DEP_4)
; GFX11-NEXT: v_mov_b32_e32 v38, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 22
; GFX11-NEXT: v_readlane_b32 s1, v77, 23
-; GFX11-NEXT: v_dual_mov_b32 v150, s92 :: v_dual_mov_b32 v161, vcc_lo
-; GFX11-NEXT: v_dual_mov_b32 v162, s43 :: v_dual_mov_b32 v149, s30
+; GFX11-NEXT: v_dual_mov_b32 v150, s60 :: v_dual_mov_b32 v161, s58
+; GFX11-NEXT: v_dual_mov_b32 v162, s56 :: v_dual_mov_b32 v149, s46
; GFX11-NEXT: v_mov_b32_e32 v48, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 20
; GFX11-NEXT: v_readlane_b32 s1, v77, 21
-; GFX11-NEXT: v_dual_mov_b32 v151, s47 :: v_dual_mov_b32 v146, s31
-; GFX11-NEXT: v_dual_mov_b32 v147, s59 :: v_dual_mov_b32 v148, s57
+; GFX11-NEXT: v_dual_mov_b32 v151, s44 :: v_dual_mov_b32 v146, s43
+; GFX11-NEXT: v_dual_mov_b32 v147, s42 :: v_dual_mov_b32 v148, s104
; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_4) | instid1(VALU_DEP_4)
; GFX11-NEXT: v_mov_b32_e32 v49, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 18
; GFX11-NEXT: v_readlane_b32 s1, v77, 19
-; GFX11-NEXT: v_dual_mov_b32 v134, s45 :: v_dual_mov_b32 v145, s94
-; GFX11-NEXT: v_dual_mov_b32 v132, s90 :: v_dual_mov_b32 v135, s76
+; GFX11-NEXT: v_dual_mov_b32 v134, s103 :: v_dual_mov_b32 v145, s102
+; GFX11-NEXT: v_dual_mov_b32 v132, s101 :: v_dual_mov_b32 v135, s100
; GFX11-NEXT: v_mov_b32_e32 v50, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 16
; GFX11-NEXT: v_readlane_b32 s1, v77, 17
-; GFX11-NEXT: v_dual_mov_b32 v144, s5 :: v_dual_mov_b32 v131, s56
-; GFX11-NEXT: v_dual_mov_b32 v133, s44 :: v_dual_mov_b32 v128, s102
+; GFX11-NEXT: v_dual_mov_b32 v144, s99 :: v_dual_mov_b32 v131, s98
+; GFX11-NEXT: v_dual_mov_b32 v133, s97 :: v_dual_mov_b32 v128, s96
; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_4) | instid1(VALU_DEP_4)
; GFX11-NEXT: v_mov_b32_e32 v51, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 14
; GFX11-NEXT: v_readlane_b32 s1, v77, 15
-; GFX11-NEXT: v_dual_mov_b32 v129, s100 :: v_dual_mov_b32 v130, s97
-; GFX11-NEXT: v_dual_mov_b32 v116, s86 :: v_dual_mov_b32 v119, s84
+; GFX11-NEXT: v_dual_mov_b32 v129, s87 :: v_dual_mov_b32 v130, s86
+; GFX11-NEXT: v_dual_mov_b32 v116, s85 :: v_dual_mov_b32 v119, s84
; GFX11-NEXT: v_mov_b32_e32 v52, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 12
; GFX11-NEXT: v_readlane_b32 s1, v77, 13
@@ -47777,12 +47810,12 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; GFX11-NEXT: v_mov_b32_e32 v66, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 2
; GFX11-NEXT: v_readlane_b32 s1, v77, 3
-; GFX11-NEXT: v_dual_mov_b32 v70, s39 :: v_dual_mov_b32 v81, s37
-; GFX11-NEXT: v_dual_mov_b32 v80, s38 :: v_dual_mov_b32 v71, s35
+; GFX11-NEXT: v_dual_mov_b32 v70, s77 :: v_dual_mov_b32 v81, s47
+; GFX11-NEXT: v_dual_mov_b32 v80, s37 :: v_dual_mov_b32 v71, s59
; GFX11-NEXT: v_mov_b32_e32 v67, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 0
-; GFX11-NEXT: v_dual_mov_b32 v32, s36 :: v_dual_mov_b32 v39, s61
-; GFX11-NEXT: v_dual_mov_b32 v26, s75 :: v_dual_mov_b32 v55, s73
+; GFX11-NEXT: v_dual_mov_b32 v32, s57 :: v_dual_mov_b32 v39, s63
+; GFX11-NEXT: v_dual_mov_b32 v26, s61 :: v_dual_mov_b32 v55, s73
; GFX11-NEXT: v_readlane_b32 s1, v77, 1
; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_4)
; GFX11-NEXT: v_mov_b32_e32 v68, s0
@@ -47790,34 +47823,33 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1)
; GFX11-NEXT: v_perm_b32 v68, v59, v68, 0xc0c0004
; GFX11-NEXT: v_perm_b32 v67, v63, v67, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v66, v46, v66, 0xc0c0004
; GFX11-NEXT: v_perm_b32 v65, v42, v65, 0xc0c0004
; GFX11-NEXT: v_perm_b32 v35, v35, v57, 0xc0c0004
-; GFX11-NEXT: v_lshlrev_b32_e32 v68, 16, v68
; GFX11-NEXT: v_perm_b32 v47, v33, v47, 0xc0c0004
+; GFX11-NEXT: v_lshlrev_b32_e32 v68, 16, v68
; GFX11-NEXT: v_lshlrev_b32_e32 v67, 16, v67
; GFX11-NEXT: v_perm_b32 v36, v36, v58, 0xc0c0004
; GFX11-NEXT: v_perm_b32 v57, v60, v61, 0xc0c0004
; GFX11-NEXT: v_perm_b32 v58, v62, v72, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v29, v29, v44, 0xc0c0004
-; GFX11-NEXT: v_lshlrev_b32_e32 v66, 16, v66
-; GFX11-NEXT: v_perm_b32 v30, v30, v69, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v69, v27, v183, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v29, v29, v183, 0xc0c0004
; GFX11-NEXT: v_lshlrev_b32_e32 v65, 16, v65
; GFX11-NEXT: v_or_b32_e32 v33, v35, v68
+; GFX11-NEXT: v_perm_b32 v66, v46, v66, 0xc0c0004
; GFX11-NEXT: v_or_b32_e32 v35, v47, v67
; GFX11-NEXT: v_perm_b32 v67, v43, v45, 0xc0c0004
; GFX11-NEXT: v_perm_b32 v68, v40, v41, 0xc0c0004
; GFX11-NEXT: v_lshlrev_b32_e32 v57, 16, v57
; GFX11-NEXT: v_perm_b32 v56, v34, v56, 0xc0c0004
; GFX11-NEXT: v_lshlrev_b32_e32 v58, 16, v58
-; GFX11-NEXT: v_or_b32_e32 v27, v29, v66
-; GFX11-NEXT: v_or_b32_e32 v29, v69, v65
+; GFX11-NEXT: v_or_b32_e32 v29, v29, v65
; GFX11-NEXT: v_perm_b32 v64, v181, v64, 0xc0c0004
; GFX11-NEXT: v_perm_b32 v65, v179, v180, 0xc0c0004
; GFX11-NEXT: v_perm_b32 v54, v177, v54, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v27, v27, v44, 0xc0c0004
+; GFX11-NEXT: v_lshlrev_b32_e32 v66, 16, v66
+; GFX11-NEXT: v_perm_b32 v28, v28, v69, 0xc0c0004
; GFX11-NEXT: v_lshlrev_b32_e32 v67, 16, v67
-; GFX11-NEXT: v_perm_b32 v182, v28, v182, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v30, v30, v182, 0xc0c0004
; GFX11-NEXT: v_lshlrev_b32_e32 v68, 16, v68
; GFX11-NEXT: v_or_b32_e32 v34, v36, v57
; GFX11-NEXT: v_or_b32_e32 v36, v56, v58
@@ -47827,8 +47859,9 @@ define inreg <128 x i8> @bitcast_v32f32_to_v128i8_scalar(<32 x float> inreg %a,
; GFX11-NEXT: v_lshlrev_b32_e32 v65, 16, v65
; GFX11-NEXT: v_perm_b32 v21, v21, v167, 0xc0c0004
; GFX11-NEXT: v_lshlrev_b32_e32 v54, 16, v54
-; GFX11-NEXT: v_or_b32_e32 v28, v30, v67
-; GFX11-NEXT: v_or_b32_e32 v30, v182, v68
+; GFX11-NEXT: v_or_b32_e32 v27, v27, v66
+; GFX11-NEXT: v_or_b32_e32 v28, v28, v67
+; GFX11-NEXT: v_or_b32_e32 v30, v30, v68
; GFX11-NEXT: s_clause 0x1
; GFX11-NEXT: scratch_store_b128 v0, v[33:36], off
; GFX11-NEXT: scratch_store_b128 v0, v[27:30], off offset:16
@@ -52189,8 +52222,8 @@ define <32 x float> @bitcast_v128i8_to_v32f32(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: scratch_store_b32 off, v127, s32 offset:392
; GFX11-TRUE16-NEXT: s_clause 0x1f
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v32, off, s32 offset:384
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v34, off, s32 offset:380
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v33, off, s32 offset:376
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v33, off, s32 offset:380
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v34, off, s32 offset:376
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v36, off, s32 offset:372
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v35, off, s32 offset:368
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v38, off, s32 offset:364
@@ -52199,118 +52232,118 @@ define <32 x float> @bitcast_v128i8_to_v32f32(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v48, off, s32 offset:352
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v49, off, s32 offset:348
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v50, off, s32 offset:344
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v52, off, s32 offset:340
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v51, off, s32 offset:336
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v51, off, s32 offset:340
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v52, off, s32 offset:336
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v54, off, s32 offset:332
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v53, off, s32 offset:328
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v55, off, s32 offset:324
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v64, off, s32 offset:320
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v66, off, s32 offset:316
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v65, off, s32 offset:312
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v65, off, s32 offset:316
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v66, off, s32 offset:312
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v67, off, s32 offset:308
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v68, off, s32 offset:304
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v69, off, s32 offset:300
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v70, off, s32 offset:296
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v80, off, s32 offset:292
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v71, off, s32 offset:288
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v71, off, s32 offset:292
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v80, off, s32 offset:288
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v81, off, s32 offset:284
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v82, off, s32 offset:280
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v84, off, s32 offset:276
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v83, off, s32 offset:272
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v83, off, s32 offset:276
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v84, off, s32 offset:272
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v85, off, s32 offset:268
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v86, off, s32 offset:264
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v87, off, s32 offset:260
; GFX11-TRUE16-NEXT: s_clause 0x1f
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v96, off, s32 offset:256
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v98, off, s32 offset:252
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v97, off, s32 offset:248
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v97, off, s32 offset:252
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v98, off, s32 offset:248
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v99, off, s32 offset:244
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v100, off, s32 offset:240
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v102, off, s32 offset:236
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v101, off, s32 offset:232
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v101, off, s32 offset:236
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v102, off, s32 offset:232
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v103, off, s32 offset:228
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v112, off, s32 offset:224
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v113, off, s32 offset:220
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v114, off, s32 offset:216
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v116, off, s32 offset:212
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v115, off, s32 offset:208
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v115, off, s32 offset:212
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v116, off, s32 offset:208
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v117, off, s32 offset:204
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v118, off, s32 offset:200
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v128, off, s32 offset:196
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v119, off, s32 offset:192
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v119, off, s32 offset:196
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v128, off, s32 offset:192
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v129, off, s32 offset:188
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v130, off, s32 offset:184
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v131, off, s32 offset:180
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v132, off, s32 offset:176
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v134, off, s32 offset:172
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v133, off, s32 offset:168
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v133, off, s32 offset:172
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v134, off, s32 offset:168
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v135, off, s32 offset:164
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v144, off, s32 offset:160
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v146, off, s32 offset:156
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v145, off, s32 offset:152
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v145, off, s32 offset:156
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v146, off, s32 offset:152
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v147, off, s32 offset:148
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v148, off, s32 offset:144
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v149, off, s32 offset:140
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v150, off, s32 offset:136
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v160, off, s32 offset:132
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v151, off, s32 offset:132
; GFX11-TRUE16-NEXT: s_clause 0x1f
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v151, off, s32 offset:128
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v160, off, s32 offset:128
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v161, off, s32 offset:124
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v162, off, s32 offset:120
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v164, off, s32 offset:116
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v163, off, s32 offset:112
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v163, off, s32 offset:116
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v164, off, s32 offset:112
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v165, off, s32 offset:108
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v166, off, s32 offset:104
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v167, off, s32 offset:100
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v176, off, s32 offset:96
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v178, off, s32 offset:92
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v177, off, s32 offset:88
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v177, off, s32 offset:92
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v178, off, s32 offset:88
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v179, off, s32 offset:84
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v180, off, s32 offset:80
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v182, off, s32 offset:76
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v181, off, s32 offset:72
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v181, off, s32 offset:76
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v182, off, s32 offset:72
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v183, off, s32 offset:68
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v40, off, s32 offset:64
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v41, off, s32 offset:60
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v42, off, s32 offset:56
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v44, off, s32 offset:52
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v43, off, s32 offset:48
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v43, off, s32 offset:52
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v44, off, s32 offset:48
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v45, off, s32 offset:44
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v46, off, s32 offset:40
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v56, off, s32 offset:36
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v47, off, s32 offset:32
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v47, off, s32 offset:36
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v56, off, s32 offset:32
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v57, off, s32 offset:28
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v58, off, s32 offset:24
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v59, off, s32 offset:20
; GFX11-TRUE16-NEXT: scratch_load_b32 v31, off, s32 offset:388
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v60, off, s32 offset:16
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v62, off, s32 offset:12
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v61, off, s32 offset:8
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v61, off, s32 offset:12
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v62, off, s32 offset:8
; GFX11-TRUE16-NEXT: s_clause 0x1
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v63, off, s32 offset:4
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v72, off, s32
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v74.l, v30.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v73.l, v29.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v73.l, v30.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v74.l, v29.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v75.l, v28.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v76.l, v27.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v77.l, v26.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v78.l, v25.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v88.l, v24.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v79.l, v23.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v79.l, v24.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v88.l, v23.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v89.l, v22.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v90.l, v21.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v92.l, v20.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v91.l, v19.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v91.l, v20.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v92.l, v19.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v93.l, v18.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v94.l, v17.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v95.l, v16.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v104.l, v15.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v106.l, v14.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v105.l, v13.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v105.l, v14.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v106.l, v13.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v107.l, v12.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v108.l, v11.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v110.l, v10.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v109.l, v9.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v109.l, v10.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v110.l, v9.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v111.l, v8.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v120.l, v7.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v121.l, v6.l
@@ -52332,99 +52365,99 @@ define <32 x float> @bitcast_v128i8_to_v32f32(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_perm_b32 v1, v125, v124, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v2, v123, v122, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v3, v121, v120, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v4, v107, v105, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v5, v106, v104, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v4, v107, v106, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v5, v105, v104, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v0, v1, 16, v0
; GFX11-TRUE16-NEXT: v_perm_b32 v6, v95, v94, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v1, v3, 16, v2
-; GFX11-TRUE16-NEXT: v_perm_b32 v2, v111, v109, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v3, v110, v108, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v7, v93, v91, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v8, v92, v90, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v9, v89, v79, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v10, v88, v78, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v2, v111, v110, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v3, v109, v108, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v7, v93, v92, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v8, v91, v90, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v9, v89, v88, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v10, v79, v78, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v11, v77, v76, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v2, v3, 16, v2
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v3, v5, 16, v4
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v4, v7, 16, v6
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v5, v9, 16, v8
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v6, v11, 16, v10
-; GFX11-TRUE16-NEXT: v_perm_b32 v7, v75, v73, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v7, v75, v74, 0xc0c0004
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0)
-; GFX11-TRUE16-NEXT: v_perm_b32 v8, v74, v72, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v9, v63, v61, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v10, v62, v60, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v8, v73, v72, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v9, v63, v62, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v10, v61, v60, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v11, v59, v58, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v12, v57, v47, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v13, v56, v46, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v14, v45, v43, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v15, v44, v42, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v12, v57, v56, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v13, v47, v46, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v14, v45, v44, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v15, v43, v42, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v16, v41, v40, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v7, v8, 16, v7
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v8, v10, 16, v9
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v9, v12, 16, v11
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v10, v14, 16, v13
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v11, v16, 16, v15
-; GFX11-TRUE16-NEXT: v_perm_b32 v12, v183, v181, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v13, v182, v180, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v14, v179, v177, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v15, v178, v176, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v12, v183, v182, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v13, v181, v180, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v14, v179, v178, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v15, v177, v176, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v16, v167, v166, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v17, v165, v163, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v18, v164, v162, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v19, v161, v151, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v20, v160, v150, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v17, v165, v164, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v18, v163, v162, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v19, v161, v160, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v20, v151, v150, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v21, v149, v148, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v12, v13, 16, v12
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v13, v15, 16, v14
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v14, v17, 16, v16
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v15, v19, 16, v18
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v16, v21, 16, v20
-; GFX11-TRUE16-NEXT: v_perm_b32 v17, v147, v145, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v18, v146, v144, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v19, v135, v133, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v20, v134, v132, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v17, v147, v146, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v18, v145, v144, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v19, v135, v134, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v20, v133, v132, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v21, v131, v130, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v22, v129, v119, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v23, v128, v118, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v24, v117, v115, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v25, v116, v114, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v22, v129, v128, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v23, v119, v118, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v24, v117, v116, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v25, v115, v114, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v26, v113, v112, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v17, v18, 16, v17
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v18, v20, 16, v19
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v19, v22, 16, v21
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v20, v24, 16, v23
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v21, v26, 16, v25
-; GFX11-TRUE16-NEXT: v_perm_b32 v22, v103, v101, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v23, v102, v100, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v24, v99, v97, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v25, v98, v96, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v22, v103, v102, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v23, v101, v100, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v24, v99, v98, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v25, v97, v96, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v26, v87, v86, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v27, v85, v83, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v28, v84, v82, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v29, v81, v71, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v30, v80, v70, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v27, v85, v84, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v28, v83, v82, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v29, v81, v80, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v30, v71, v70, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v31, v69, v68, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v22, v23, 16, v22
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v23, v25, 16, v24
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v24, v27, 16, v26
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v25, v29, 16, v28
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v26, v31, 16, v30
-; GFX11-TRUE16-NEXT: v_perm_b32 v27, v67, v65, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v28, v66, v64, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v27, v67, v66, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v28, v65, v64, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v29, v55, v53, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v30, v54, v51, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v31, v52, v50, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v30, v54, v52, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v31, v51, v50, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v48, v49, v48, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v37, v39, v37, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v35, v38, v35, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v33, v36, v33, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v32, v34, v32, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v34, v36, v34, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v32, v33, v32, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v27, v28, 16, v27
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v28, v30, 16, v29
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v29, v48, 16, v31
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v30, v35, 16, v37
-; GFX11-TRUE16-NEXT: v_lshl_or_b32 v31, v32, 16, v33
+; GFX11-TRUE16-NEXT: v_lshl_or_b32 v31, v32, 16, v34
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr127_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr126_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr125_lo16
@@ -52434,114 +52467,114 @@ define <32 x float> @bitcast_v128i8_to_v32f32(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr121_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr120_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr111_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr109_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr110_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr109_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr108_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr107_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr105_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr106_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr105_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr104_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr95_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr94_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr93_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr91_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr92_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr91_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr90_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr89_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr79_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr88_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr79_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr78_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr77_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr76_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr75_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr73_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr74_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr73_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr72_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr63_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr61_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr62_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr61_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr60_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr59_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr58_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr57_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr47_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr56_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr47_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr46_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr45_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr43_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr44_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr43_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr42_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr41_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr40_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr183_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr181_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr182_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr181_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr180_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr179_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr177_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr178_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr177_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr176_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr167_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr166_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr165_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr163_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr164_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr163_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr162_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr161_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr151_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr160_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr151_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr150_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr149_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr148_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr147_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr145_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr146_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr145_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr144_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr135_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr133_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr134_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr133_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr132_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr131_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr130_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr129_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr119_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr128_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr119_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr118_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr117_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr115_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr116_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr115_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr114_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr113_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr112_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr103_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr101_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr102_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr101_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr100_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr99_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr97_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr98_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr97_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr96_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr87_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr86_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr85_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr83_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr84_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr83_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr82_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr81_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr71_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr80_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr71_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr70_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr69_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr68_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr67_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr65_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr66_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr65_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr64_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr55_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr53_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr54_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr51_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr52_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr51_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr50_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr49_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr48_lo16
@@ -52550,8 +52583,8 @@ define <32 x float> @bitcast_v128i8_to_v32f32(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr38_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr35_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr36_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr33_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr34_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr33_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr32_lo16
; GFX11-TRUE16-NEXT: .LBB38_2: ; %Flow
; GFX11-TRUE16-NEXT: s_and_not1_saveexec_b32 s0, s0
@@ -52573,22 +52606,22 @@ define <32 x float> @bitcast_v128i8_to_v32f32(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_and_b16 v1.h, 0xff, v3.l
; GFX11-TRUE16-NEXT: v_or_b16 v1.l, v2.h, v2.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v111.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v110.l, 3
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v3.l, 8, v109.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v109.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v3.l, 8, v110.l
; GFX11-TRUE16-NEXT: v_or_b16 v1.h, v3.h, v1.h
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v3.h, 8, v108.l
; GFX11-TRUE16-NEXT: v_and_b16 v2.l, 0xff, v2.l
; GFX11-TRUE16-NEXT: v_and_b16 v2.h, 0xff, v2.h
; GFX11-TRUE16-NEXT: v_add_nc_u16 v4.l, v107.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v4.h, v106.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v4.h, v105.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v5.l, v95.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v2.l, v3.l, v2.l
; GFX11-TRUE16-NEXT: v_or_b16 v2.h, v3.h, v2.h
; GFX11-TRUE16-NEXT: v_and_b16 v3.l, 0xff, v4.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v3.h, 8, v105.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v3.h, 8, v106.l
; GFX11-TRUE16-NEXT: v_and_b16 v4.l, 0xff, v4.h
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v4.h, 8, v104.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v5.h, v92.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v5.h, v91.l, 3
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v6.l, 8, v90.l
; GFX11-TRUE16-NEXT: v_or_b16 v3.l, v3.h, v3.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v6.h, v89.l, 3
@@ -52597,26 +52630,26 @@ define <32 x float> @bitcast_v128i8_to_v32f32(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v4.h, 8, v94.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v5.l, v93.l, 3
; GFX11-TRUE16-NEXT: v_and_b16 v5.h, 0xff, v5.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v7.l, v88.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v7.l, v79.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v7.h, v77.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v4.l, v4.h, v4.l
; GFX11-TRUE16-NEXT: v_and_b16 v4.h, 0xff, v5.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v5.l, 8, v91.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v8.l, v74.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v5.l, 8, v92.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v8.l, v73.l, 3
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0)
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v8.h, 8, v72.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v9.l, v63.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v9.h, v62.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v9.h, v61.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v4.h, v5.l, v4.h
; GFX11-TRUE16-NEXT: v_or_b16 v5.l, v6.l, v5.h
; GFX11-TRUE16-NEXT: v_and_b16 v5.h, 0xff, v6.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v6.l, 8, v79.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v6.l, 8, v88.l
; GFX11-TRUE16-NEXT: v_and_b16 v6.h, 0xff, v7.l
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v7.l, 8, v78.l
; GFX11-TRUE16-NEXT: v_and_b16 v8.l, 0xff, v8.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v10.l, v59.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v5.h, v6.l, v5.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v10.h, v56.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v10.h, v47.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v6.l, v7.l, v6.h
; GFX11-TRUE16-NEXT: v_and_b16 v6.h, 0xff, v7.h
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v7.l, 8, v76.l
@@ -52626,42 +52659,42 @@ define <32 x float> @bitcast_v128i8_to_v32f32(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_add_nc_u16 v11.h, v45.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v6.h, v7.l, v6.h
; GFX11-TRUE16-NEXT: v_and_b16 v7.l, 0xff, v7.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v7.h, 8, v73.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v12.l, v44.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v7.h, 8, v74.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v12.l, v43.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v12.h, v41.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v13.l, v182.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v13.l, v181.l, 3
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v13.h, 8, v180.l
; GFX11-TRUE16-NEXT: v_or_b16 v7.l, v7.h, v7.l
; GFX11-TRUE16-NEXT: v_or_b16 v7.h, v8.h, v8.l
; GFX11-TRUE16-NEXT: v_and_b16 v8.l, 0xff, v9.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v8.h, 8, v61.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v8.h, 8, v62.l
; GFX11-TRUE16-NEXT: v_and_b16 v9.l, 0xff, v9.h
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v9.h, 8, v60.l
; GFX11-TRUE16-NEXT: v_and_b16 v13.l, 0xff, v13.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v14.l, v179.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v8.l, v8.h, v8.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v14.h, v178.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v14.h, v177.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v8.h, v9.h, v9.l
; GFX11-TRUE16-NEXT: v_and_b16 v9.l, 0xff, v10.l
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v9.h, 8, v58.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v10.l, v57.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v15.l, v167.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v15.h, v164.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v15.h, v163.l, 3
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v16.l, 8, v162.l
; GFX11-TRUE16-NEXT: v_or_b16 v9.l, v9.h, v9.l
; GFX11-TRUE16-NEXT: v_and_b16 v9.h, 0xff, v10.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v10.l, 8, v47.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v10.l, 8, v56.l
; GFX11-TRUE16-NEXT: v_and_b16 v15.h, 0xff, v15.h
; GFX11-TRUE16-NEXT: v_add_nc_u16 v16.h, v161.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v17.l, v160.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v17.l, v151.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v17.h, v149.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v9.h, v10.l, v9.h
; GFX11-TRUE16-NEXT: v_or_b16 v10.l, v11.l, v10.h
; GFX11-TRUE16-NEXT: v_and_b16 v10.h, 0xff, v11.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v11.l, 8, v43.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v11.l, 8, v44.l
; GFX11-TRUE16-NEXT: v_and_b16 v11.h, 0xff, v12.l
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v12.l, 8, v42.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v18.l, v146.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v18.l, v145.l, 3
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v18.h, 8, v144.l
; GFX11-TRUE16-NEXT: v_or_b16 v10.h, v11.l, v10.h
; GFX11-TRUE16-NEXT: v_add_nc_u16 v19.l, v135.l, 3
@@ -52670,25 +52703,25 @@ define <32 x float> @bitcast_v128i8_to_v32f32(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v12.l, 8, v40.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v12.h, v183.l, 3
; GFX11-TRUE16-NEXT: v_and_b16 v18.l, 0xff, v18.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v19.h, v134.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v19.h, v133.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v20.l, v131.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v11.h, v12.l, v11.h
; GFX11-TRUE16-NEXT: v_and_b16 v12.l, 0xff, v12.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v12.h, 8, v181.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v20.h, v128.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v12.h, 8, v182.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v20.h, v119.l, 3
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v21.l, 8, v118.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v21.h, v117.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v22.l, v116.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v22.l, v115.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v12.l, v12.h, v12.l
; GFX11-TRUE16-NEXT: v_or_b16 v12.h, v13.h, v13.l
; GFX11-TRUE16-NEXT: v_and_b16 v13.l, 0xff, v14.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v13.h, 8, v177.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v13.h, 8, v178.l
; GFX11-TRUE16-NEXT: v_and_b16 v14.l, 0xff, v14.h
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v14.h, 8, v176.l
; GFX11-TRUE16-NEXT: v_and_b16 v20.h, 0xff, v20.h
; GFX11-TRUE16-NEXT: v_add_nc_u16 v22.h, v113.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v13.l, v13.h, v13.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v23.l, v102.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v23.l, v101.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v13.h, v14.h, v14.l
; GFX11-TRUE16-NEXT: v_and_b16 v14.l, 0xff, v15.l
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v14.h, 8, v166.l
@@ -52698,43 +52731,43 @@ define <32 x float> @bitcast_v128i8_to_v32f32(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_add_nc_u16 v24.l, v99.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v14.l, v14.h, v14.l
; GFX11-TRUE16-NEXT: v_and_b16 v14.h, 0xff, v15.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v15.l, 8, v163.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v24.h, v98.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v15.l, 8, v164.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v24.h, v97.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v25.l, v87.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v25.h, v84.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v25.h, v83.l, 3
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v26.l, 8, v82.l
; GFX11-TRUE16-NEXT: v_or_b16 v14.h, v15.l, v14.h
; GFX11-TRUE16-NEXT: v_or_b16 v15.l, v16.l, v15.h
; GFX11-TRUE16-NEXT: v_and_b16 v15.h, 0xff, v16.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v16.l, 8, v151.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v16.l, 8, v160.l
; GFX11-TRUE16-NEXT: v_and_b16 v16.h, 0xff, v17.l
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v17.l, 8, v150.l
; GFX11-TRUE16-NEXT: v_and_b16 v25.h, 0xff, v25.h
; GFX11-TRUE16-NEXT: v_add_nc_u16 v26.h, v81.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v15.h, v16.l, v15.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v27.l, v80.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v27.l, v71.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v16.l, v17.l, v16.h
; GFX11-TRUE16-NEXT: v_and_b16 v16.h, 0xff, v17.h
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v17.l, 8, v148.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v17.h, v147.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v27.h, v69.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v28.l, v66.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v28.l, v65.l, 3
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v28.h, 8, v64.l
; GFX11-TRUE16-NEXT: v_or_b16 v16.h, v17.l, v16.h
; GFX11-TRUE16-NEXT: v_and_b16 v17.l, 0xff, v17.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v17.h, 8, v145.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v17.h, 8, v146.l
; GFX11-TRUE16-NEXT: v_and_b16 v28.l, 0xff, v28.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v29.l, v55.l, 3
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v29.h, 8, v53.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v30.l, 8, v51.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v30.l, 8, v52.l
; GFX11-TRUE16-NEXT: v_or_b16 v17.l, v17.h, v17.l
; GFX11-TRUE16-NEXT: v_or_b16 v17.h, v18.h, v18.l
; GFX11-TRUE16-NEXT: v_and_b16 v18.l, 0xff, v19.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v18.h, 8, v133.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v18.h, 8, v134.l
; GFX11-TRUE16-NEXT: v_and_b16 v19.l, 0xff, v19.h
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v19.h, 8, v132.l
; GFX11-TRUE16-NEXT: v_or_b16 v28.l, v28.h, v28.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v28.h, v52.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v28.h, v51.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v18.l, v18.h, v18.l
; GFX11-TRUE16-NEXT: v_and_b16 v29.l, 0xff, v29.l
; GFX11-TRUE16-NEXT: v_or_b16 v18.h, v19.h, v19.l
@@ -52746,39 +52779,39 @@ define <32 x float> @bitcast_v128i8_to_v32f32(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_or_b16 v29.l, v29.h, v29.l
; GFX11-TRUE16-NEXT: v_or_b16 v19.l, v19.h, v19.l
; GFX11-TRUE16-NEXT: v_and_b16 v19.h, 0xff, v20.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v20.l, 8, v119.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v20.l, 8, v128.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v31.l, v38.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v31.h, v36.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v33.h, v34.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v33.l, v33.l, 3
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v32.h, 8, v37.l
; GFX11-TRUE16-NEXT: v_or_b16 v19.h, v20.l, v19.h
; GFX11-TRUE16-NEXT: v_or_b16 v20.l, v21.l, v20.h
; GFX11-TRUE16-NEXT: v_and_b16 v20.h, 0xff, v21.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v21.l, 8, v115.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v21.l, 8, v116.l
; GFX11-TRUE16-NEXT: v_and_b16 v21.h, 0xff, v22.l
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v22.l, 8, v114.l
; GFX11-TRUE16-NEXT: v_and_b16 v31.l, 0xff, v31.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v34.l, 8, v35.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v33.h, 8, v35.l
; GFX11-TRUE16-NEXT: v_or_b16 v20.h, v21.l, v20.h
; GFX11-TRUE16-NEXT: v_and_b16 v31.h, 0xff, v31.h
; GFX11-TRUE16-NEXT: v_or_b16 v21.l, v22.l, v21.h
; GFX11-TRUE16-NEXT: v_and_b16 v21.h, 0xff, v22.h
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v22.l, 8, v112.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v22.h, v103.l, 3
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v33.l, 8, v33.l
-; GFX11-TRUE16-NEXT: v_and_b16 v33.h, 0xff, v33.h
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v34.l, 8, v34.l
+; GFX11-TRUE16-NEXT: v_and_b16 v33.l, 0xff, v33.l
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v32.l, 8, v32.l
; GFX11-TRUE16-NEXT: v_or_b16 v21.h, v22.l, v21.h
; GFX11-TRUE16-NEXT: v_and_b16 v22.l, 0xff, v22.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v22.h, 8, v101.l
-; GFX11-TRUE16-NEXT: v_or_b16 v31.l, v34.l, v31.l
-; GFX11-TRUE16-NEXT: v_or_b16 v31.h, v33.l, v31.h
-; GFX11-TRUE16-NEXT: v_or_b16 v32.l, v32.l, v33.h
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v22.h, 8, v102.l
+; GFX11-TRUE16-NEXT: v_or_b16 v31.l, v33.h, v31.l
+; GFX11-TRUE16-NEXT: v_or_b16 v31.h, v34.l, v31.h
+; GFX11-TRUE16-NEXT: v_or_b16 v32.l, v32.l, v33.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.l, 0x300, v0.l
; GFX11-TRUE16-NEXT: v_or_b16 v22.l, v22.h, v22.l
; GFX11-TRUE16-NEXT: v_or_b16 v22.h, v23.h, v23.l
; GFX11-TRUE16-NEXT: v_and_b16 v23.l, 0xff, v24.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v23.h, 8, v97.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v23.h, 8, v98.l
; GFX11-TRUE16-NEXT: v_and_b16 v24.l, 0xff, v24.h
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v24.h, 8, v96.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.h, 0x300, v0.h
@@ -52794,7 +52827,7 @@ define <32 x float> @bitcast_v128i8_to_v32f32(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_add_nc_u16 v3.l, 0x300, v3.l
; GFX11-TRUE16-NEXT: v_or_b16 v24.l, v24.h, v24.l
; GFX11-TRUE16-NEXT: v_and_b16 v24.h, 0xff, v25.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v25.l, 8, v83.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v25.l, 8, v84.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v3.h, 0x300, v3.h
; GFX11-TRUE16-NEXT: v_add_nc_u16 v4.l, 0x300, v4.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v4.h, 0x300, v4.h
@@ -52802,7 +52835,7 @@ define <32 x float> @bitcast_v128i8_to_v32f32(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_or_b16 v24.h, v25.l, v24.h
; GFX11-TRUE16-NEXT: v_or_b16 v25.l, v26.l, v25.h
; GFX11-TRUE16-NEXT: v_and_b16 v25.h, 0xff, v26.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v26.l, 8, v71.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v26.l, 8, v80.l
; GFX11-TRUE16-NEXT: v_and_b16 v26.h, 0xff, v27.l
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v27.l, 8, v70.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v5.h, 0x300, v5.h
@@ -52818,7 +52851,7 @@ define <32 x float> @bitcast_v128i8_to_v32f32(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_add_nc_u16 v8.l, 0x300, v8.l
; GFX11-TRUE16-NEXT: v_or_b16 v26.h, v27.l, v26.h
; GFX11-TRUE16-NEXT: v_and_b16 v27.l, 0xff, v27.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v27.h, 8, v65.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v27.h, 8, v66.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v8.h, 0x300, v8.h
; GFX11-TRUE16-NEXT: v_add_nc_u16 v9.l, 0x300, v9.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v9.h, 0x300, v9.h
@@ -53892,8 +53925,8 @@ define inreg <32 x float> @bitcast_v128i8_to_v32f32_scalar(<128 x i8> inreg %a,
; SI-NEXT: v_readfirstlane_b32 s42, v17
; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32
; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:8
-; SI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:16
-; SI-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:24
+; SI-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:16
+; SI-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:24
; SI-NEXT: buffer_load_dword v36, off, s[0:3], s32 offset:32
; SI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:40
; SI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:48
@@ -53936,7 +53969,7 @@ define inreg <32 x float> @bitcast_v128i8_to_v32f32_scalar(<128 x i8> inreg %a,
; SI-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:296
; SI-NEXT: buffer_load_dword v39, off, s[0:3], s32 offset:304
; SI-NEXT: buffer_load_dword v37, off, s[0:3], s32 offset:312
-; SI-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:320
+; SI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:320
; SI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:328
; SI-NEXT: v_readfirstlane_b32 s43, v16
; SI-NEXT: v_readfirstlane_b32 s44, v15
@@ -53952,13 +53985,13 @@ define inreg <32 x float> @bitcast_v128i8_to_v32f32_scalar(<128 x i8> inreg %a,
; SI-NEXT: v_readfirstlane_b32 s75, v1
; SI-NEXT: s_waitcnt vmcnt(14)
; SI-NEXT: v_lshlrev_b32_e32 v15, 24, v19
-; SI-NEXT: v_lshlrev_b32_e32 v16, 8, v33
-; SI-NEXT: v_lshlrev_b32_e32 v38, 24, v34
+; SI-NEXT: v_lshlrev_b32_e32 v16, 8, v34
+; SI-NEXT: v_lshlrev_b32_e32 v38, 24, v35
; SI-NEXT: v_lshlrev_b32_e32 v19, 8, v42
; SI-NEXT: v_lshlrev_b32_e32 v14, 24, v43
; SI-NEXT: v_lshlrev_b32_e32 v51, 24, v45
; SI-NEXT: v_lshlrev_b32_e32 v48, 24, v47
-; SI-NEXT: v_lshlrev_b32_e32 v33, 24, v59
+; SI-NEXT: v_lshlrev_b32_e32 v35, 24, v59
; SI-NEXT: v_lshlrev_b32_e32 v42, 24, v61
; SI-NEXT: v_lshlrev_b32_e32 v20, 24, v20
; SI-NEXT: v_lshlrev_b32_e32 v21, 24, v21
@@ -54029,14 +54062,14 @@ define inreg <32 x float> @bitcast_v128i8_to_v32f32_scalar(<128 x i8> inreg %a,
; SI-NEXT: v_lshlrev_b32_e32 v56, 24, v26
; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:404 ; 4-byte Folded Spill
; SI-NEXT: v_lshlrev_b32_e32 v46, 8, v39
-; SI-NEXT: v_lshlrev_b32_e32 v36, 24, v37
-; SI-NEXT: v_lshlrev_b32_e32 v34, 8, v35
+; SI-NEXT: v_lshlrev_b32_e32 v34, 24, v37
+; SI-NEXT: v_lshlrev_b32_e32 v36, 8, v33
; SI-NEXT: s_waitcnt vmcnt(14)
; SI-NEXT: v_lshlrev_b32_e32 v37, 24, v32
; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:284
; SI-NEXT: buffer_load_dword v58, off, s[0:3], s32 offset:276
; SI-NEXT: buffer_load_dword v61, off, s[0:3], s32 offset:268
-; SI-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:260
+; SI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:260
; SI-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:252
; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:244
; SI-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:236
@@ -54079,11 +54112,11 @@ define inreg <32 x float> @bitcast_v128i8_to_v32f32_scalar(<128 x i8> inreg %a,
; SI-NEXT: s_waitcnt vmcnt(14)
; SI-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:496 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v61, off, s[0:3], s32 offset:500 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:504 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:504 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v30, off, s[0:3], s32 offset:508 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:512 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:516 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:520 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:516 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:520 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:524 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:528 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:532 ; 4-byte Folded Spill
@@ -54110,7 +54143,7 @@ define inreg <32 x float> @bitcast_v128i8_to_v32f32_scalar(<128 x i8> inreg %a,
; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:616 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:620 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:624 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:628 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:628 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:632 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:636 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:640 ; 4-byte Folded Spill
@@ -54156,7 +54189,7 @@ define inreg <32 x float> @bitcast_v128i8_to_v32f32_scalar(<128 x i8> inreg %a,
; SI-NEXT: v_mov_b32_e32 v38, v17
; SI-NEXT: v_and_b32_e32 v4, 0xff, v4
; SI-NEXT: v_lshlrev_b32_e32 v4, 16, v4
-; SI-NEXT: v_or_b32_e32 v4, v33, v4
+; SI-NEXT: v_or_b32_e32 v4, v35, v4
; SI-NEXT: v_and_b32_e32 v2, 0xff, v2
; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
; SI-NEXT: v_or_b32_e32 v2, v42, v2
@@ -54389,7 +54422,7 @@ define inreg <32 x float> @bitcast_v128i8_to_v32f32_scalar(<128 x i8> inreg %a,
; SI-NEXT: v_and_b32_e32 v0, 0xff, v30
; SI-NEXT: s_waitcnt vmcnt(0)
; SI-NEXT: v_or_b32_e32 v0, v0, v1
-; SI-NEXT: v_and_b32_e32 v1, 0xff, v35
+; SI-NEXT: v_and_b32_e32 v1, 0xff, v33
; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; SI-NEXT: v_and_b32_e32 v0, 0xffff, v0
; SI-NEXT: v_or_b32_e32 v1, v2, v1
@@ -54423,11 +54456,11 @@ define inreg <32 x float> @bitcast_v128i8_to_v32f32_scalar(<128 x i8> inreg %a,
; SI-NEXT: v_or_b32_e32 v0, v0, v46
; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; SI-NEXT: v_and_b32_e32 v0, 0xffff, v0
-; SI-NEXT: v_or_b32_e32 v1, v36, v1
+; SI-NEXT: v_or_b32_e32 v1, v34, v1
; SI-NEXT: v_or_b32_e32 v30, v0, v1
; SI-NEXT: v_and_b32_e32 v0, 0xff, v8
; SI-NEXT: v_and_b32_e32 v1, 0xff, v40
-; SI-NEXT: v_or_b32_e32 v0, v0, v34
+; SI-NEXT: v_or_b32_e32 v0, v0, v36
; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; SI-NEXT: v_and_b32_e32 v0, 0xffff, v0
; SI-NEXT: v_or_b32_e32 v1, v37, v1
@@ -55087,7 +55120,7 @@ define inreg <32 x float> @bitcast_v128i8_to_v32f32_scalar(<128 x i8> inreg %a,
; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:524 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v0, off, s[0:3], s32
; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v31
-; VI-NEXT: s_and_b64 s[4:5], vcc, exec
+; VI-NEXT: s_cmp_lg_u64 vcc, 0
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:528 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:280
@@ -56021,7 +56054,7 @@ define inreg <32 x float> @bitcast_v128i8_to_v32f32_scalar(<128 x i8> inreg %a,
; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:524 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32
; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v31
-; GFX9-NEXT: s_and_b64 s[4:5], vcc, exec
+; GFX9-NEXT: s_cmp_lg_u64 vcc, 0
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:528 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:280
@@ -56100,6 +56133,7 @@ define inreg <32 x float> @bitcast_v128i8_to_v32f32_scalar(<128 x i8> inreg %a,
; GFX9-NEXT: buffer_load_ushort v25, off, s[0:3], s32 offset:140
; GFX9-NEXT: buffer_load_ushort v24, off, s[0:3], s32 offset:136
; GFX9-NEXT: buffer_load_ushort v23, off, s[0:3], s32 offset:132
+; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:128
; GFX9-NEXT: buffer_load_ushort v62, off, s[0:3], s32 offset:124
; GFX9-NEXT: buffer_load_ushort v18, off, s[0:3], s32 offset:120
@@ -56887,81 +56921,81 @@ define inreg <32 x float> @bitcast_v128i8_to_v32f32_scalar(<128 x i8> inreg %a,
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v32, off, s32 offset:312
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v34, off, s32 offset:308
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v33, off, s32 offset:304
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v37, off, s32 offset:300
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v36, off, s32 offset:300
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v35, off, s32 offset:296
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v39, off, s32 offset:292
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v36, off, s32 offset:288
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v38, off, s32 offset:292
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v37, off, s32 offset:288
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v48, off, s32 offset:284
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v38, off, s32 offset:280
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v39, off, s32 offset:280
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v49, off, s32 offset:276
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v50, off, s32 offset:272
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v52, off, s32 offset:268
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v51, off, s32 offset:264
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v55, off, s32 offset:260
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v54, off, s32 offset:260
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v53, off, s32 offset:256
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v65, off, s32 offset:252
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v54, off, s32 offset:248
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v64, off, s32 offset:252
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v55, off, s32 offset:248
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v66, off, s32 offset:244
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v64, off, s32 offset:240
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v65, off, s32 offset:240
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v67, off, s32 offset:236
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v68, off, s32 offset:232
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v70, off, s32 offset:228
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v69, off, s32 offset:224
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v81, off, s32 offset:220
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v80, off, s32 offset:220
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v71, off, s32 offset:216
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v83, off, s32 offset:212
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v80, off, s32 offset:208
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v82, off, s32 offset:212
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v81, off, s32 offset:208
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v84, off, s32 offset:204
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v82, off, s32 offset:200
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v83, off, s32 offset:200
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v85, off, s32 offset:196
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v86, off, s32 offset:192
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v96, off, s32 offset:188
; GFX11-TRUE16-NEXT: s_clause 0x1f
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v87, off, s32 offset:184
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v99, off, s32 offset:180
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v98, off, s32 offset:180
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v97, off, s32 offset:176
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v101, off, s32 offset:172
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v98, off, s32 offset:168
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v100, off, s32 offset:172
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v99, off, s32 offset:168
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v102, off, s32 offset:164
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v100, off, s32 offset:160
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v101, off, s32 offset:160
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v103, off, s32 offset:156
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v112, off, s32 offset:152
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v114, off, s32 offset:148
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v113, off, s32 offset:144
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v117, off, s32 offset:140
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v116, off, s32 offset:140
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v115, off, s32 offset:136
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v119, off, s32 offset:132
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v116, off, s32 offset:128
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v118, off, s32 offset:132
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v117, off, s32 offset:128
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v128, off, s32 offset:124
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v118, off, s32 offset:120
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v119, off, s32 offset:120
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v129, off, s32 offset:116
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v130, off, s32 offset:112
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v132, off, s32 offset:108
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v131, off, s32 offset:104
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v135, off, s32 offset:100
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v134, off, s32 offset:100
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v133, off, s32 offset:96
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v145, off, s32 offset:92
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v134, off, s32 offset:88
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v144, off, s32 offset:92
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v135, off, s32 offset:88
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v146, off, s32 offset:84
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v144, off, s32 offset:80
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v145, off, s32 offset:80
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v147, off, s32 offset:76
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v148, off, s32 offset:72
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v150, off, s32 offset:68
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v149, off, s32 offset:64
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v161, off, s32 offset:60
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v160, off, s32 offset:60
; GFX11-TRUE16-NEXT: s_clause 0xf
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v151, off, s32 offset:56
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v163, off, s32 offset:52
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v160, off, s32 offset:48
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v162, off, s32 offset:52
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v161, off, s32 offset:48
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v164, off, s32 offset:44
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v162, off, s32 offset:40
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v163, off, s32 offset:40
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v165, off, s32 offset:36
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v166, off, s32 offset:32
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v167, off, s32 offset:28
; GFX11-TRUE16-NEXT: scratch_load_b32 v31, off, s32 offset:316
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v176, off, s32 offset:24
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v177, off, s32 offset:28
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v167, off, s32 offset:24
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v180, off, s32 offset:20
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v177, off, s32 offset:16
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v176, off, s32 offset:16
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v181, off, s32 offset:12
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v178, off, s32 offset:8
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v182, off, s32 offset:4
@@ -56998,21 +57032,21 @@ define inreg <32 x float> @bitcast_v128i8_to_v32f32_scalar(<128 x i8> inreg %a,
; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s73, v1
; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s74, v0
; GFX11-TRUE16-NEXT: s_mov_b32 s75, 0
-; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(7)
+; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(8)
; GFX11-TRUE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v31
-; GFX11-TRUE16-NEXT: s_and_b32 s76, vcc_lo, exec_lo
+; GFX11-TRUE16-NEXT: s_cmp_lg_u32 vcc_lo, 0
; GFX11-TRUE16-NEXT: s_cbranch_scc0 .LBB39_2
; GFX11-TRUE16-NEXT: ; %bb.1: ; %cmp.false
; GFX11-TRUE16-NEXT: v_mov_b32_e32 v10, 0xc0c0004
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(1)
; GFX11-TRUE16-NEXT: v_perm_b32 v15, v182, v178, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v17, v165, v162, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v17, v165, v163, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v19, v150, v148, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v21, v135, v131, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v21, v134, v131, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v1, s18, s19, v10
-; GFX11-TRUE16-NEXT: v_perm_b32 v23, v119, v115, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v25, v102, v98, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v27, v85, v82, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v23, v118, v115, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v25, v102, v99, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v27, v85, v83, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v29, v70, v68, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; GFX11-TRUE16-NEXT: v_perm_b32 v0, s2, s3, v10
@@ -57048,9 +57082,9 @@ define inreg <32 x float> @bitcast_v128i8_to_v32f32_scalar(<128 x i8> inreg %a,
; GFX11-TRUE16-NEXT: v_perm_b32 v8, s60, s59, v10
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v6, 16, v6
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v14, 16, v14
-; GFX11-TRUE16-NEXT: v_perm_b32 v31, v55, v51, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v31, v54, v51, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v7, 16, v7
-; GFX11-TRUE16-NEXT: v_perm_b32 v40, v39, v35, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v40, v38, v35, 0xc0c0004
; GFX11-TRUE16-NEXT: v_or_b32_e32 v6, v8, v6
; GFX11-TRUE16-NEXT: v_perm_b32 v8, s42, s41, v10
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_1) | instid1(VALU_DEP_3)
@@ -57064,35 +57098,35 @@ define inreg <32 x float> @bitcast_v128i8_to_v32f32_scalar(<128 x i8> inreg %a,
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v12, 16, v13
; GFX11-TRUE16-NEXT: v_perm_b32 v13, s8, s7, v10
; GFX11-TRUE16-NEXT: v_or_b32_e32 v10, v11, v12
-; GFX11-TRUE16-NEXT: v_perm_b32 v12, v180, v176, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v12, v180, v167, 0xc0c0004
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3)
; GFX11-TRUE16-NEXT: v_or_b32_e32 v11, v13, v14
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0)
; GFX11-TRUE16-NEXT: v_perm_b32 v13, s4, v179, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v14, 16, v15
-; GFX11-TRUE16-NEXT: v_perm_b32 v15, v181, v177, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v15, v181, v176, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v16, 16, v12
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_1) | instid1(VALU_DEP_3)
; GFX11-TRUE16-NEXT: v_or_b32_e32 v12, v13, v14
-; GFX11-TRUE16-NEXT: v_perm_b32 v14, v163, v151, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v14, v162, v151, 0xc0c0004
; GFX11-TRUE16-NEXT: v_or_b32_e32 v13, v15, v16
-; GFX11-TRUE16-NEXT: v_perm_b32 v15, v167, v166, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v15, v177, v166, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v16, 16, v17
-; GFX11-TRUE16-NEXT: v_perm_b32 v17, v164, v160, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v17, v164, v161, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v18, 16, v14
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_1) | instid1(VALU_DEP_3)
; GFX11-TRUE16-NEXT: v_or_b32_e32 v14, v15, v16
-; GFX11-TRUE16-NEXT: v_perm_b32 v16, v146, v134, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v16, v146, v135, 0xc0c0004
; GFX11-TRUE16-NEXT: v_or_b32_e32 v15, v17, v18
-; GFX11-TRUE16-NEXT: v_perm_b32 v17, v161, v149, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v17, v160, v149, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v18, 16, v19
-; GFX11-TRUE16-NEXT: v_perm_b32 v19, v147, v144, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v19, v147, v145, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v20, 16, v16
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_1) | instid1(VALU_DEP_3)
; GFX11-TRUE16-NEXT: v_or_b32_e32 v16, v17, v18
-; GFX11-TRUE16-NEXT: v_perm_b32 v18, v129, v118, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v18, v129, v119, 0xc0c0004
; GFX11-TRUE16-NEXT: v_or_b32_e32 v17, v19, v20
-; GFX11-TRUE16-NEXT: v_perm_b32 v19, v145, v133, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v19, v144, v133, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v20, 16, v21
; GFX11-TRUE16-NEXT: v_perm_b32 v21, v132, v130, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v22, 16, v18
@@ -57100,39 +57134,39 @@ define inreg <32 x float> @bitcast_v128i8_to_v32f32_scalar(<128 x i8> inreg %a,
; GFX11-TRUE16-NEXT: v_or_b32_e32 v18, v19, v20
; GFX11-TRUE16-NEXT: v_perm_b32 v20, v114, v112, 0xc0c0004
; GFX11-TRUE16-NEXT: v_or_b32_e32 v19, v21, v22
-; GFX11-TRUE16-NEXT: v_perm_b32 v21, v128, v116, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v21, v128, v117, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v22, 16, v23
-; GFX11-TRUE16-NEXT: v_perm_b32 v23, v117, v113, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v23, v116, v113, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v24, 16, v20
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_1) | instid1(VALU_DEP_3)
; GFX11-TRUE16-NEXT: v_or_b32_e32 v20, v21, v22
-; GFX11-TRUE16-NEXT: v_perm_b32 v22, v99, v87, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v22, v98, v87, 0xc0c0004
; GFX11-TRUE16-NEXT: v_or_b32_e32 v21, v23, v24
-; GFX11-TRUE16-NEXT: v_perm_b32 v23, v103, v100, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v23, v103, v101, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v24, 16, v25
-; GFX11-TRUE16-NEXT: v_perm_b32 v25, v101, v97, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v25, v100, v97, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v26, 16, v22
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_1) | instid1(VALU_DEP_3)
; GFX11-TRUE16-NEXT: v_or_b32_e32 v22, v23, v24
-; GFX11-TRUE16-NEXT: v_perm_b32 v24, v83, v71, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v24, v82, v71, 0xc0c0004
; GFX11-TRUE16-NEXT: v_or_b32_e32 v23, v25, v26
; GFX11-TRUE16-NEXT: v_perm_b32 v25, v96, v86, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v26, 16, v27
-; GFX11-TRUE16-NEXT: v_perm_b32 v27, v84, v80, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v27, v84, v81, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v28, 16, v24
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_1) | instid1(VALU_DEP_3)
; GFX11-TRUE16-NEXT: v_or_b32_e32 v24, v25, v26
-; GFX11-TRUE16-NEXT: v_perm_b32 v26, v66, v54, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v26, v66, v55, 0xc0c0004
; GFX11-TRUE16-NEXT: v_or_b32_e32 v25, v27, v28
-; GFX11-TRUE16-NEXT: v_perm_b32 v27, v81, v69, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v27, v80, v69, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v28, 16, v29
-; GFX11-TRUE16-NEXT: v_perm_b32 v29, v67, v64, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v29, v67, v65, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v30, 16, v26
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_1) | instid1(VALU_DEP_3)
; GFX11-TRUE16-NEXT: v_or_b32_e32 v26, v27, v28
-; GFX11-TRUE16-NEXT: v_perm_b32 v28, v49, v38, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v28, v49, v39, 0xc0c0004
; GFX11-TRUE16-NEXT: v_or_b32_e32 v27, v29, v30
-; GFX11-TRUE16-NEXT: v_perm_b32 v29, v65, v53, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v29, v64, v53, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v30, 16, v31
; GFX11-TRUE16-NEXT: v_perm_b32 v31, v52, v50, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v183, 16, v28
@@ -57140,9 +57174,9 @@ define inreg <32 x float> @bitcast_v128i8_to_v32f32_scalar(<128 x i8> inreg %a,
; GFX11-TRUE16-NEXT: v_or_b32_e32 v28, v29, v30
; GFX11-TRUE16-NEXT: v_perm_b32 v30, v34, v32, 0xc0c0004
; GFX11-TRUE16-NEXT: v_or_b32_e32 v29, v31, v183
-; GFX11-TRUE16-NEXT: v_perm_b32 v31, v48, v36, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v31, v48, v37, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v183, 16, v40
-; GFX11-TRUE16-NEXT: v_perm_b32 v40, v37, v33, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v40, v36, v33, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v41, 16, v30
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_2)
; GFX11-TRUE16-NEXT: v_or_b32_e32 v30, v31, v183
@@ -57249,16 +57283,17 @@ define inreg <32 x float> @bitcast_v128i8_to_v32f32_scalar(<128 x i8> inreg %a,
; GFX11-TRUE16-NEXT: v_perm_b32 v8, s44, s43, v10
; GFX11-TRUE16-NEXT: v_perm_b32 v9, s42, s41, v10
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v13, 0x300, v13
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v15, 3, v167
+; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(7)
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v15, 3, v177
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v17, 3, v165
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v8, 0x300, v8
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v9, 0x300, v9
; GFX11-TRUE16-NEXT: v_and_b32_e32 v13, 0xffff, v13
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v18, 3, v164
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v19, 3, v163
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v19, 3, v162
; GFX11-TRUE16-NEXT: v_and_b32_e32 v8, 0xffff, v8
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v9, 16, v9
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v20, 3, v161
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v20, 3, v160
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v21, 3, v150
; GFX11-TRUE16-NEXT: s_add_i32 s4, s4, 3
; GFX11-TRUE16-NEXT: v_perm_b32 v15, v15, v166, 0xc0c0004
@@ -57269,11 +57304,11 @@ define inreg <32 x float> @bitcast_v128i8_to_v32f32_scalar(<128 x i8> inreg %a,
; GFX11-TRUE16-NEXT: v_perm_b32 v10, s6, s5, v10
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0)
; GFX11-TRUE16-NEXT: v_perm_b32 v16, s4, v179, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v17, v17, v162, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v17, v17, v163, 0xc0c0004
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v11, 0x300, v11
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v12, 0x300, v12
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v10, 0x300, v10
-; GFX11-TRUE16-NEXT: v_perm_b32 v18, v18, v160, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v18, v18, v161, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v19, v19, v151, 0xc0c0004
; GFX11-TRUE16-NEXT: v_and_b32_e32 v11, 0xffff, v11
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v12, 16, v12
@@ -57289,8 +57324,8 @@ define inreg <32 x float> @bitcast_v128i8_to_v32f32_scalar(<128 x i8> inreg %a,
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v15, 0x300, v15
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v17, 0x300, v17
; GFX11-TRUE16-NEXT: v_perm_b32 v12, v12, v178, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v13, v13, v177, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v14, v14, v176, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v13, v13, v176, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v14, v14, v167, 0xc0c0004
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v18, 0x300, v18
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v19, 0x300, v19
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v12, 0x300, v12
@@ -57315,21 +57350,21 @@ define inreg <32 x float> @bitcast_v128i8_to_v32f32_scalar(<128 x i8> inreg %a,
; GFX11-TRUE16-NEXT: v_or_b32_e32 v16, v20, v21
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v17, 3, v147
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v18, 3, v146
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v19, 3, v145
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v20, 3, v135
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v19, 3, v144
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v20, 3, v134
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v21, 3, v132
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v22, 3, v129
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v23, 3, v128
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v24, 3, v119
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v25, 3, v117
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v24, 3, v118
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v25, 3, v116
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v26, 3, v114
-; GFX11-TRUE16-NEXT: v_perm_b32 v17, v17, v144, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v18, v18, v134, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v17, v17, v145, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v18, v18, v135, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v19, v19, v133, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v20, v20, v131, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v21, v21, v130, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v22, v22, v118, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v23, v23, v116, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v22, v22, v119, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v23, v23, v117, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v24, v24, v115, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v25, v25, v113, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v26, v26, v112, 0xc0c0004
@@ -57360,21 +57395,21 @@ define inreg <32 x float> @bitcast_v128i8_to_v32f32_scalar(<128 x i8> inreg %a,
; GFX11-TRUE16-NEXT: v_or_b32_e32 v21, v25, v26
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v22, 3, v103
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v23, 3, v102
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v24, 3, v101
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v25, 3, v99
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v24, 3, v100
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v25, 3, v98
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v26, 3, v96
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v27, 3, v85
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v28, 3, v84
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v29, 3, v83
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v30, 3, v81
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v29, 3, v82
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v30, 3, v80
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v31, 3, v70
-; GFX11-TRUE16-NEXT: v_perm_b32 v22, v22, v100, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v23, v23, v98, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v22, v22, v101, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v23, v23, v99, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v24, v24, v97, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v25, v25, v87, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v26, v26, v86, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v27, v27, v82, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v28, v28, v80, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v27, v27, v83, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v28, v28, v81, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v29, v29, v71, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v30, v30, v69, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v31, v31, v68, 0xc0c0004
@@ -57405,31 +57440,31 @@ define inreg <32 x float> @bitcast_v128i8_to_v32f32_scalar(<128 x i8> inreg %a,
; GFX11-TRUE16-NEXT: v_or_b32_e32 v26, v30, v31
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v27, 3, v67
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v28, 3, v66
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v29, 3, v65
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v30, 3, v55
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v29, 3, v64
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v30, 3, v54
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v31, 3, v52
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v49, 3, v49
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v48, 3, v48
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v39, 3, v39
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v37, 3, v37
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v38, 3, v38
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v36, 3, v36
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v34, 3, v34
-; GFX11-TRUE16-NEXT: v_perm_b32 v27, v27, v64, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v28, v28, v54, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v27, v27, v65, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v28, v28, v55, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v29, v29, v53, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v30, v30, v51, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v31, v31, v50, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v38, v49, v38, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v36, v48, v36, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v35, v39, v35, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v33, v37, v33, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v39, v49, v39, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v37, v48, v37, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v35, v38, v35, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v33, v36, v33, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v32, v34, v32, 0xc0c0004
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v27, 0x300, v27
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v28, 0x300, v28
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v29, 0x300, v29
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v30, 0x300, v30
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v31, 0x300, v31
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v34, 0x300, v38
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v36, 0x300, v36
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v34, 0x300, v39
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v36, 0x300, v37
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v35, 0x300, v35
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v33, 0x300, v33
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v32, 0x300, v32
@@ -57536,9 +57571,9 @@ define inreg <32 x float> @bitcast_v128i8_to_v32f32_scalar(<128 x i8> inreg %a,
; GFX11-FAKE16-NEXT: scratch_load_u16 v162, off, s32 offset:40
; GFX11-FAKE16-NEXT: scratch_load_u16 v165, off, s32 offset:36
; GFX11-FAKE16-NEXT: scratch_load_u16 v166, off, s32 offset:32
-; GFX11-FAKE16-NEXT: scratch_load_u16 v167, off, s32 offset:28
; GFX11-FAKE16-NEXT: scratch_load_b32 v31, off, s32 offset:316
-; GFX11-FAKE16-NEXT: scratch_load_u16 v176, off, s32 offset:24
+; GFX11-FAKE16-NEXT: scratch_load_u16 v176, off, s32 offset:28
+; GFX11-FAKE16-NEXT: scratch_load_u16 v167, off, s32 offset:24
; GFX11-FAKE16-NEXT: scratch_load_u16 v180, off, s32 offset:20
; GFX11-FAKE16-NEXT: scratch_load_u16 v177, off, s32 offset:16
; GFX11-FAKE16-NEXT: scratch_load_u16 v181, off, s32 offset:12
@@ -57577,9 +57612,9 @@ define inreg <32 x float> @bitcast_v128i8_to_v32f32_scalar(<128 x i8> inreg %a,
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s73, v1
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s74, v0
; GFX11-FAKE16-NEXT: s_mov_b32 s75, 0
-; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(7)
+; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(8)
; GFX11-FAKE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v31
-; GFX11-FAKE16-NEXT: s_and_b32 s76, vcc_lo, exec_lo
+; GFX11-FAKE16-NEXT: s_cmp_lg_u32 vcc_lo, 0
; GFX11-FAKE16-NEXT: s_cbranch_scc0 .LBB39_2
; GFX11-FAKE16-NEXT: ; %bb.1: ; %cmp.false
; GFX11-FAKE16-NEXT: v_mov_b32_e32 v10, 0xc0c0004
@@ -57643,7 +57678,7 @@ define inreg <32 x float> @bitcast_v128i8_to_v32f32_scalar(<128 x i8> inreg %a,
; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v12, 16, v13
; GFX11-FAKE16-NEXT: v_perm_b32 v13, s8, s7, v10
; GFX11-FAKE16-NEXT: v_or_b32_e32 v10, v11, v12
-; GFX11-FAKE16-NEXT: v_perm_b32 v12, v180, v176, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v12, v180, v167, 0xc0c0004
; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_3)
; GFX11-FAKE16-NEXT: v_or_b32_e32 v11, v13, v14
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0)
@@ -57655,7 +57690,7 @@ define inreg <32 x float> @bitcast_v128i8_to_v32f32_scalar(<128 x i8> inreg %a,
; GFX11-FAKE16-NEXT: v_or_b32_e32 v12, v13, v14
; GFX11-FAKE16-NEXT: v_perm_b32 v14, v163, v151, 0xc0c0004
; GFX11-FAKE16-NEXT: v_or_b32_e32 v13, v15, v16
-; GFX11-FAKE16-NEXT: v_perm_b32 v15, v167, v166, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v15, v176, v166, 0xc0c0004
; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v16, 16, v17
; GFX11-FAKE16-NEXT: v_perm_b32 v17, v164, v160, 0xc0c0004
; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v18, 16, v14
@@ -57828,7 +57863,8 @@ define inreg <32 x float> @bitcast_v128i8_to_v32f32_scalar(<128 x i8> inreg %a,
; GFX11-FAKE16-NEXT: v_perm_b32 v8, s44, s43, v10
; GFX11-FAKE16-NEXT: v_perm_b32 v9, s42, s41, v10
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v13, 0x300, v13
-; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v15, 3, v167
+; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(7)
+; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v15, 3, v176
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v17, 3, v165
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v8, 0x300, v8
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v9, 0x300, v9
@@ -57869,7 +57905,7 @@ define inreg <32 x float> @bitcast_v128i8_to_v32f32_scalar(<128 x i8> inreg %a,
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v17, 0x300, v17
; GFX11-FAKE16-NEXT: v_perm_b32 v12, v12, v178, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v13, v13, v177, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v14, v14, v176, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v14, v14, v167, 0xc0c0004
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v18, 0x300, v18
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v19, 0x300, v19
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v12, 0x300, v12
@@ -58838,8 +58874,8 @@ define inreg <64 x bfloat> @bitcast_v32f32_to_v64bf16_scalar(<32 x float> inreg
; SI: ; %bb.0:
; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
; SI-NEXT: s_or_saveexec_b64 s[4:5], -1
-; SI-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
; SI-NEXT: s_mov_b64 exec, s[4:5]
; SI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:52 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:48 ; 4-byte Folded Spill
@@ -59072,7 +59108,6 @@ define inreg <64 x bfloat> @bitcast_v32f32_to_v64bf16_scalar(<32 x float> inreg
; SI-NEXT: v_add_f32_e64 v13, s46, 1.0
; SI-NEXT: v_add_f32_e64 v14, s45, 1.0
; SI-NEXT: v_add_f32_e64 v15, s44, 1.0
-; SI-NEXT: v_add_f32_e64 v26, s9, 1.0
; SI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_and_b32_e32 v28, 0xffff0000, v27
@@ -59081,18 +59116,18 @@ define inreg <64 x bfloat> @bitcast_v32f32_to_v64bf16_scalar(<32 x float> inreg
; SI-NEXT: v_add_f32_e64 v9, s27, 1.0
; SI-NEXT: v_add_f32_e64 v10, s28, 1.0
; SI-NEXT: v_add_f32_e64 v11, s29, 1.0
+; SI-NEXT: v_add_f32_e64 v16, s43, 1.0
; SI-NEXT: v_add_f32_e64 v22, s13, 1.0
; SI-NEXT: v_add_f32_e64 v23, s12, 1.0
; SI-NEXT: v_add_f32_e64 v24, s11, 1.0
; SI-NEXT: v_add_f32_e64 v25, s10, 1.0
+; SI-NEXT: v_add_f32_e64 v26, s9, 1.0
; SI-NEXT: buffer_store_dword v30, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
; SI-NEXT: v_lshlrev_b32_e32 v27, 16, v27
-; SI-NEXT: v_and_b32_e32 v49, 0xffff0000, v26
-; SI-NEXT: v_lshlrev_b32_e32 v26, 16, v26
-; SI-NEXT: v_and_b32_e32 v37, 0xffff0000, v15
-; SI-NEXT: v_lshlrev_b32_e32 v36, 16, v15
+; SI-NEXT: v_and_b32_e32 v55, 0xffff0000, v15
+; SI-NEXT: v_lshlrev_b32_e32 v54, 16, v15
; SI-NEXT: v_and_b32_e32 v33, 0xffff0000, v14
; SI-NEXT: v_lshlrev_b32_e32 v32, 16, v14
; SI-NEXT: v_and_b32_e32 v31, 0xffff0000, v13
@@ -59113,25 +59148,26 @@ define inreg <64 x bfloat> @bitcast_v32f32_to_v64bf16_scalar(<32 x float> inreg
; SI-NEXT: v_add_f32_e64 v6, s24, 1.0
; SI-NEXT: v_add_f32_e64 v7, s25, 1.0
; SI-NEXT: v_add_f32_e64 v8, s26, 1.0
-; SI-NEXT: v_add_f32_e64 v16, s43, 1.0
; SI-NEXT: v_add_f32_e64 v17, s42, 1.0
; SI-NEXT: v_add_f32_e64 v18, s41, 1.0
; SI-NEXT: v_add_f32_e64 v19, s40, 1.0
; SI-NEXT: v_add_f32_e64 v20, s15, 1.0
; SI-NEXT: v_add_f32_e64 v21, s14, 1.0
; SI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
-; SI-NEXT: v_and_b32_e32 v51, 0xffff0000, v25
-; SI-NEXT: v_lshlrev_b32_e32 v50, 16, v25
-; SI-NEXT: v_and_b32_e32 v53, 0xffff0000, v24
-; SI-NEXT: v_lshlrev_b32_e32 v52, 16, v24
-; SI-NEXT: v_and_b32_e32 v55, 0xffff0000, v23
-; SI-NEXT: v_lshlrev_b32_e32 v54, 16, v23
-; SI-NEXT: v_and_b32_e32 v41, 0xffff0000, v22
-; SI-NEXT: v_lshlrev_b32_e32 v40, 16, v22
-; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_and_b32_e32 v27, 0xffff0000, v11
+; SI-NEXT: v_and_b32_e32 v43, 0xffff0000, v26
+; SI-NEXT: v_lshlrev_b32_e32 v42, 16, v26
+; SI-NEXT: v_and_b32_e32 v45, 0xffff0000, v25
+; SI-NEXT: v_lshlrev_b32_e32 v44, 16, v25
+; SI-NEXT: v_and_b32_e32 v47, 0xffff0000, v24
+; SI-NEXT: v_lshlrev_b32_e32 v46, 16, v24
+; SI-NEXT: v_and_b32_e32 v57, 0xffff0000, v23
+; SI-NEXT: v_lshlrev_b32_e32 v56, 16, v23
+; SI-NEXT: v_and_b32_e32 v59, 0xffff0000, v22
+; SI-NEXT: v_lshlrev_b32_e32 v58, 16, v22
+; SI-NEXT: v_and_b32_e32 v37, 0xffff0000, v16
+; SI-NEXT: v_lshlrev_b32_e32 v36, 16, v16
; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_and_b32_e32 v27, 0xffff0000, v11
; SI-NEXT: v_lshlrev_b32_e32 v26, 16, v11
; SI-NEXT: v_and_b32_e32 v25, 0xffff0000, v10
; SI-NEXT: v_lshlrev_b32_e32 v24, 16, v10
@@ -59140,37 +59176,32 @@ define inreg <64 x bfloat> @bitcast_v32f32_to_v64bf16_scalar(<32 x float> inreg
; SI-NEXT: v_and_b32_e32 v11, 0xffff0000, v3
; SI-NEXT: v_lshlrev_b32_e32 v10, 16, v3
; SI-NEXT: v_and_b32_e32 v9, 0xffff0000, v2
-; SI-NEXT: v_lshlrev_b32_e32 v38, 16, v2
+; SI-NEXT: v_lshlrev_b32_e32 v16, 16, v2
; SI-NEXT: v_and_b32_e32 v3, 0xffff0000, v0
; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v0
; SI-NEXT: v_add_f32_e64 v0, s16, 1.0
-; SI-NEXT: v_and_b32_e32 v43, 0xffff0000, v21
-; SI-NEXT: v_lshlrev_b32_e32 v42, 16, v21
-; SI-NEXT: v_and_b32_e32 v45, 0xffff0000, v20
-; SI-NEXT: v_lshlrev_b32_e32 v44, 16, v20
-; SI-NEXT: v_and_b32_e32 v47, 0xffff0000, v19
-; SI-NEXT: v_lshlrev_b32_e32 v46, 16, v19
-; SI-NEXT: v_and_b32_e32 v57, 0xffff0000, v18
-; SI-NEXT: v_lshlrev_b32_e32 v56, 16, v18
-; SI-NEXT: v_and_b32_e32 v59, 0xffff0000, v17
-; SI-NEXT: v_lshlrev_b32_e32 v58, 16, v17
-; SI-NEXT: v_and_b32_e32 v61, 0xffff0000, v16
-; SI-NEXT: v_lshlrev_b32_e32 v60, 16, v16
+; SI-NEXT: v_and_b32_e32 v61, 0xffff0000, v21
+; SI-NEXT: v_lshlrev_b32_e32 v60, 16, v21
+; SI-NEXT: v_and_b32_e32 v53, 0xffff0000, v20
+; SI-NEXT: v_lshlrev_b32_e32 v52, 16, v20
+; SI-NEXT: v_and_b32_e32 v51, 0xffff0000, v19
+; SI-NEXT: v_lshlrev_b32_e32 v50, 16, v19
+; SI-NEXT: v_and_b32_e32 v49, 0xffff0000, v18
+; SI-NEXT: v_lshlrev_b32_e32 v48, 16, v18
+; SI-NEXT: v_and_b32_e32 v39, 0xffff0000, v17
+; SI-NEXT: v_lshlrev_b32_e32 v38, 16, v17
; SI-NEXT: v_and_b32_e32 v21, 0xffff0000, v8
; SI-NEXT: v_lshlrev_b32_e32 v20, 16, v8
; SI-NEXT: v_and_b32_e32 v19, 0xffff0000, v7
; SI-NEXT: v_lshlrev_b32_e32 v18, 16, v7
; SI-NEXT: v_and_b32_e32 v17, 0xffff0000, v6
-; SI-NEXT: v_lshlrev_b32_e32 v48, 16, v6
-; SI-NEXT: v_and_b32_e32 v39, 0xffff0000, v1
+; SI-NEXT: v_lshlrev_b32_e32 v40, 16, v6
+; SI-NEXT: v_and_b32_e32 v41, 0xffff0000, v1
; SI-NEXT: v_lshlrev_b32_e32 v6, 16, v1
; SI-NEXT: v_and_b32_e32 v1, 0xffff0000, v0
; SI-NEXT: v_lshlrev_b32_e32 v0, 16, v0
; SI-NEXT: s_branch .LBB41_6
; SI-NEXT: .LBB41_5:
-; SI-NEXT: v_mov_b32_e32 v7, s63
-; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v7, s61
; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
@@ -59196,8 +59227,8 @@ define inreg <64 x bfloat> @bitcast_v32f32_to_v64bf16_scalar(<32 x float> inreg
; SI-NEXT: v_mov_b32_e32 v4, s97
; SI-NEXT: v_mov_b32_e32 v5, s96
; SI-NEXT: v_mov_b32_e32 v6, s87
-; SI-NEXT: v_mov_b32_e32 v39, s86
-; SI-NEXT: v_mov_b32_e32 v38, s85
+; SI-NEXT: v_mov_b32_e32 v41, s86
+; SI-NEXT: v_mov_b32_e32 v16, s85
; SI-NEXT: v_mov_b32_e32 v9, s84
; SI-NEXT: v_mov_b32_e32 v10, s83
; SI-NEXT: v_mov_b32_e32 v11, s82
@@ -59205,7 +59236,7 @@ define inreg <64 x bfloat> @bitcast_v32f32_to_v64bf16_scalar(<32 x float> inreg
; SI-NEXT: v_mov_b32_e32 v13, s80
; SI-NEXT: v_mov_b32_e32 v14, s71
; SI-NEXT: v_mov_b32_e32 v15, s70
-; SI-NEXT: v_mov_b32_e32 v48, s69
+; SI-NEXT: v_mov_b32_e32 v40, s69
; SI-NEXT: v_mov_b32_e32 v17, s68
; SI-NEXT: v_mov_b32_e32 v18, s67
; SI-NEXT: v_mov_b32_e32 v19, s66
@@ -59223,29 +59254,30 @@ define inreg <64 x bfloat> @bitcast_v32f32_to_v64bf16_scalar(<32 x float> inreg
; SI-NEXT: v_mov_b32_e32 v31, s38
; SI-NEXT: v_mov_b32_e32 v32, s37
; SI-NEXT: v_mov_b32_e32 v33, s36
-; SI-NEXT: v_mov_b32_e32 v36, s35
-; SI-NEXT: v_mov_b32_e32 v37, s34
-; SI-NEXT: v_mov_b32_e32 v60, s31
-; SI-NEXT: v_mov_b32_e32 v61, s30
-; SI-NEXT: v_mov_b32_e32 v58, vcc_hi
-; SI-NEXT: v_mov_b32_e32 v59, vcc_lo
-; SI-NEXT: v_mov_b32_e32 v56, s95
-; SI-NEXT: v_mov_b32_e32 v57, s94
-; SI-NEXT: v_mov_b32_e32 v46, s93
-; SI-NEXT: v_mov_b32_e32 v47, s92
-; SI-NEXT: v_mov_b32_e32 v44, s91
-; SI-NEXT: v_mov_b32_e32 v45, s90
-; SI-NEXT: v_mov_b32_e32 v42, s89
-; SI-NEXT: v_mov_b32_e32 v43, s88
-; SI-NEXT: v_mov_b32_e32 v40, s79
-; SI-NEXT: v_mov_b32_e32 v41, s78
-; SI-NEXT: v_mov_b32_e32 v54, s77
-; SI-NEXT: v_mov_b32_e32 v55, s76
-; SI-NEXT: v_mov_b32_e32 v52, s75
-; SI-NEXT: v_mov_b32_e32 v53, s74
-; SI-NEXT: v_mov_b32_e32 v50, s73
-; SI-NEXT: v_mov_b32_e32 v51, s72
-; SI-NEXT: v_mov_b32_e32 v49, s62
+; SI-NEXT: v_mov_b32_e32 v54, s35
+; SI-NEXT: v_mov_b32_e32 v55, s34
+; SI-NEXT: v_mov_b32_e32 v36, s31
+; SI-NEXT: v_mov_b32_e32 v37, s30
+; SI-NEXT: v_mov_b32_e32 v38, vcc_hi
+; SI-NEXT: v_mov_b32_e32 v39, vcc_lo
+; SI-NEXT: v_mov_b32_e32 v48, s95
+; SI-NEXT: v_mov_b32_e32 v49, s94
+; SI-NEXT: v_mov_b32_e32 v50, s93
+; SI-NEXT: v_mov_b32_e32 v51, s92
+; SI-NEXT: v_mov_b32_e32 v52, s91
+; SI-NEXT: v_mov_b32_e32 v53, s90
+; SI-NEXT: v_mov_b32_e32 v60, s89
+; SI-NEXT: v_mov_b32_e32 v61, s88
+; SI-NEXT: v_mov_b32_e32 v58, s79
+; SI-NEXT: v_mov_b32_e32 v59, s78
+; SI-NEXT: v_mov_b32_e32 v56, s77
+; SI-NEXT: v_mov_b32_e32 v57, s76
+; SI-NEXT: v_mov_b32_e32 v46, s75
+; SI-NEXT: v_mov_b32_e32 v47, s74
+; SI-NEXT: v_mov_b32_e32 v44, s73
+; SI-NEXT: v_mov_b32_e32 v45, s72
+; SI-NEXT: v_mov_b32_e32 v42, s63
+; SI-NEXT: v_mov_b32_e32 v43, s62
; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
; SI-NEXT: .LBB41_6: ; %end
; SI-NEXT: v_mul_f32_e32 v34, 1.0, v0
@@ -59254,12 +59286,12 @@ define inreg <64 x bfloat> @bitcast_v32f32_to_v64bf16_scalar(<32 x float> inreg
; SI-NEXT: v_mul_f32_e32 v0, 1.0, v5
; SI-NEXT: v_mul_f32_e32 v1, 1.0, v1
; SI-NEXT: v_lshrrev_b32_e32 v8, 16, v0
-; SI-NEXT: v_mul_f32_e32 v0, 1.0, v39
+; SI-NEXT: v_mul_f32_e32 v0, 1.0, v41
; SI-NEXT: v_lshrrev_b32_e32 v35, 16, v1
; SI-NEXT: v_lshrrev_b32_e32 v1, 16, v0
; SI-NEXT: v_mul_f32_e32 v0, 1.0, v6
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
; SI-NEXT: v_mul_f32_e32 v0, 1.0, v9
; SI-NEXT: v_lshrrev_b32_e32 v6, 16, v0
@@ -59267,17 +59299,18 @@ define inreg <64 x bfloat> @bitcast_v32f32_to_v64bf16_scalar(<32 x float> inreg
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_lshrrev_b32_e32 v1, 16, v0
; SI-NEXT: v_mul_f32_e32 v0, 1.0, v10
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
; SI-NEXT: v_mul_f32_e32 v0, 1.0, v13
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_lshrrev_b32_e32 v1, 16, v0
; SI-NEXT: v_mul_f32_e32 v0, 1.0, v12
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
; SI-NEXT: v_mul_f32_e32 v0, 1.0, v15
+; SI-NEXT: v_mul_f32_e32 v5, 1.0, v16
; SI-NEXT: v_lshrrev_b32_e32 v16, 16, v0
; SI-NEXT: v_mul_f32_e32 v0, 1.0, v17
; SI-NEXT: v_lshrrev_b32_e32 v10, 16, v0
@@ -59299,9 +59332,19 @@ define inreg <64 x bfloat> @bitcast_v32f32_to_v64bf16_scalar(<32 x float> inreg
; SI-NEXT: v_mul_f32_e32 v0, 1.0, v33
; SI-NEXT: v_mul_f32_e32 v11, 1.0, v18
; SI-NEXT: v_lshrrev_b32_e32 v18, 16, v0
-; SI-NEXT: v_mul_f32_e32 v0, 1.0, v37
+; SI-NEXT: v_mul_f32_e32 v0, 1.0, v55
; SI-NEXT: v_mul_f32_e32 v13, 1.0, v20
; SI-NEXT: v_lshrrev_b32_e32 v20, 16, v0
+; SI-NEXT: v_mul_f32_e32 v0, 1.0, v37
+; SI-NEXT: v_lshrrev_b32_e32 v37, 16, v0
+; SI-NEXT: v_mul_f32_e32 v0, 1.0, v39
+; SI-NEXT: v_lshrrev_b32_e32 v39, 16, v0
+; SI-NEXT: v_mul_f32_e32 v0, 1.0, v49
+; SI-NEXT: v_lshrrev_b32_e32 v49, 16, v0
+; SI-NEXT: v_mul_f32_e32 v0, 1.0, v51
+; SI-NEXT: v_lshrrev_b32_e32 v51, 16, v0
+; SI-NEXT: v_mul_f32_e32 v0, 1.0, v53
+; SI-NEXT: v_lshrrev_b32_e32 v53, 16, v0
; SI-NEXT: v_mul_f32_e32 v0, 1.0, v61
; SI-NEXT: v_lshrrev_b32_e32 v61, 16, v0
; SI-NEXT: v_mul_f32_e32 v0, 1.0, v59
@@ -59314,43 +59357,33 @@ define inreg <64 x bfloat> @bitcast_v32f32_to_v64bf16_scalar(<32 x float> inreg
; SI-NEXT: v_lshrrev_b32_e32 v45, 16, v0
; SI-NEXT: v_mul_f32_e32 v0, 1.0, v43
; SI-NEXT: v_lshrrev_b32_e32 v43, 16, v0
-; SI-NEXT: v_mul_f32_e32 v0, 1.0, v41
-; SI-NEXT: v_lshrrev_b32_e32 v41, 16, v0
-; SI-NEXT: v_mul_f32_e32 v0, 1.0, v55
-; SI-NEXT: v_lshrrev_b32_e32 v55, 16, v0
-; SI-NEXT: v_mul_f32_e32 v0, 1.0, v53
-; SI-NEXT: v_lshrrev_b32_e32 v53, 16, v0
-; SI-NEXT: v_mul_f32_e32 v0, 1.0, v51
-; SI-NEXT: v_lshrrev_b32_e32 v51, 16, v0
-; SI-NEXT: v_mul_f32_e32 v0, 1.0, v49
-; SI-NEXT: v_lshrrev_b32_e32 v49, 16, v0
-; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
-; SI-NEXT: v_mul_f32_e32 v9, 1.0, v48
+; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
; SI-NEXT: v_mul_f32_e32 v2, 1.0, v2
; SI-NEXT: v_mul_f32_e32 v7, 1.0, v4
; SI-NEXT: v_lshr_b64 v[33:34], v[34:35], 16
; SI-NEXT: v_lshr_b64 v[34:35], v[2:3], 16
; SI-NEXT: v_lshr_b64 v[2:3], v[7:8], 16
-; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
-; SI-NEXT: v_mul_f32_e32 v5, 1.0, v38
-; SI-NEXT: v_mul_f32_e32 v19, 1.0, v36
+; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
+; SI-NEXT: v_mul_f32_e32 v9, 1.0, v40
+; SI-NEXT: v_mul_f32_e32 v19, 1.0, v54
; SI-NEXT: v_mul_f32_e32 v22, 1.0, v22
; SI-NEXT: v_mul_f32_e32 v24, 1.0, v24
; SI-NEXT: v_mul_f32_e32 v26, 1.0, v26
; SI-NEXT: v_mul_f32_e32 v28, 1.0, v28
; SI-NEXT: v_mul_f32_e32 v30, 1.0, v30
; SI-NEXT: v_mul_f32_e32 v17, 1.0, v32
+; SI-NEXT: v_mul_f32_e32 v36, 1.0, v36
+; SI-NEXT: v_mul_f32_e32 v38, 1.0, v38
+; SI-NEXT: v_mul_f32_e32 v48, 1.0, v48
+; SI-NEXT: v_mul_f32_e32 v50, 1.0, v50
+; SI-NEXT: v_mul_f32_e32 v52, 1.0, v52
; SI-NEXT: v_mul_f32_e32 v60, 1.0, v60
; SI-NEXT: v_mul_f32_e32 v58, 1.0, v58
; SI-NEXT: v_mul_f32_e32 v56, 1.0, v56
; SI-NEXT: v_mul_f32_e32 v46, 1.0, v46
; SI-NEXT: v_mul_f32_e32 v44, 1.0, v44
; SI-NEXT: v_mul_f32_e32 v42, 1.0, v42
-; SI-NEXT: v_mul_f32_e32 v40, 1.0, v40
-; SI-NEXT: v_mul_f32_e32 v54, 1.0, v54
-; SI-NEXT: v_mul_f32_e32 v52, 1.0, v52
-; SI-NEXT: v_mul_f32_e32 v50, 1.0, v50
; SI-NEXT: v_readlane_b32 s30, v63, 34
; SI-NEXT: v_readlane_b32 s31, v63, 35
; SI-NEXT: v_readlane_b32 s99, v63, 33
@@ -59388,24 +59421,25 @@ define inreg <64 x bfloat> @bitcast_v32f32_to_v64bf16_scalar(<32 x float> inreg
; SI-NEXT: v_readlane_b32 s35, v63, 1
; SI-NEXT: v_readlane_b32 s34, v63, 0
; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_mul_f32_e32 v48, 1.0, v0
-; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
+; SI-NEXT: v_mul_f32_e32 v0, 1.0, v0
+; SI-NEXT: v_lshrrev_b32_e32 v41, 16, v0
+; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(1)
; SI-NEXT: v_lshr_b64 v[3:4], v[3:4], 16
; SI-NEXT: v_lshr_b64 v[4:5], v[5:6], 16
-; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_mul_f32_e32 v0, 1.0, v0
-; SI-NEXT: v_lshrrev_b32_e32 v39, 16, v0
-; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload
+; SI-NEXT: v_mul_f32_e32 v40, 1.0, v0
+; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(1)
; SI-NEXT: v_lshr_b64 v[5:6], v[5:6], 16
-; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_mul_f32_e32 v38, 1.0, v0
-; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload
+; SI-NEXT: v_mul_f32_e32 v0, 1.0, v0
+; SI-NEXT: v_lshrrev_b32_e32 v55, 16, v0
+; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(1)
; SI-NEXT: v_lshr_b64 v[6:7], v[6:7], 16
; SI-NEXT: v_lshr_b64 v[7:8], v[15:16], 16
@@ -59419,13 +59453,18 @@ define inreg <64 x bfloat> @bitcast_v32f32_to_v64bf16_scalar(<32 x float> inreg
; SI-NEXT: v_lshr_b64 v[15:16], v[30:31], 16
; SI-NEXT: v_lshr_b64 v[16:17], v[17:18], 16
; SI-NEXT: v_lshr_b64 v[17:18], v[19:20], 16
-; SI-NEXT: v_lshr_b64 v[18:19], v[60:61], 16
-; SI-NEXT: v_lshr_b64 v[19:20], v[58:59], 16
-; SI-NEXT: v_lshr_b64 v[20:21], v[56:57], 16
-; SI-NEXT: v_lshr_b64 v[21:22], v[46:47], 16
-; SI-NEXT: v_lshr_b64 v[22:23], v[44:45], 16
-; SI-NEXT: v_lshr_b64 v[23:24], v[42:43], 16
-; SI-NEXT: v_lshr_b64 v[24:25], v[40:41], 16
+; SI-NEXT: v_lshr_b64 v[18:19], v[36:37], 16
+; SI-NEXT: v_lshr_b64 v[19:20], v[38:39], 16
+; SI-NEXT: v_lshr_b64 v[20:21], v[48:49], 16
+; SI-NEXT: v_lshr_b64 v[21:22], v[50:51], 16
+; SI-NEXT: v_lshr_b64 v[22:23], v[52:53], 16
+; SI-NEXT: v_lshr_b64 v[23:24], v[60:61], 16
+; SI-NEXT: v_lshr_b64 v[24:25], v[58:59], 16
+; SI-NEXT: v_lshr_b64 v[25:26], v[56:57], 16
+; SI-NEXT: v_lshr_b64 v[26:27], v[46:47], 16
+; SI-NEXT: v_lshr_b64 v[27:28], v[44:45], 16
+; SI-NEXT: v_lshr_b64 v[28:29], v[42:43], 16
+; SI-NEXT: v_lshr_b64 v[29:30], v[40:41], 16
; SI-NEXT: buffer_load_dword v61, off, s[0:3], s32 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v60, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v59, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload
@@ -59440,19 +59479,10 @@ define inreg <64 x bfloat> @bitcast_v32f32_to_v64bf16_scalar(<32 x float> inreg
; SI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:44 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:48 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:52 ; 4-byte Folded Reload
-; SI-NEXT: v_lshr_b64 v[25:26], v[54:55], 16
-; SI-NEXT: v_lshr_b64 v[26:27], v[52:53], 16
-; SI-NEXT: v_lshr_b64 v[27:28], v[50:51], 16
-; SI-NEXT: v_lshr_b64 v[28:29], v[48:49], 16
-; SI-NEXT: v_lshr_b64 v[29:30], v[38:39], 16
; SI-NEXT: s_waitcnt vmcnt(14)
-; SI-NEXT: v_mul_f32_e32 v0, 1.0, v0
-; SI-NEXT: v_lshrrev_b32_e32 v37, 16, v0
-; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_mul_f32_e32 v36, 1.0, v0
+; SI-NEXT: v_mul_f32_e32 v54, 1.0, v0
; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload
-; SI-NEXT: v_lshr_b64 v[30:31], v[36:37], 16
+; SI-NEXT: v_lshr_b64 v[30:31], v[54:55], 16
; SI-NEXT: s_waitcnt vmcnt(0)
; SI-NEXT: v_mul_f32_e32 v0, 1.0, v0
; SI-NEXT: s_waitcnt expcnt(0)
@@ -59464,8 +59494,8 @@ define inreg <64 x bfloat> @bitcast_v32f32_to_v64bf16_scalar(<32 x float> inreg
; SI-NEXT: v_mov_b32_e32 v0, v33
; SI-NEXT: v_mov_b32_e32 v1, v34
; SI-NEXT: s_or_saveexec_b64 s[4:5], -1
-; SI-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
; SI-NEXT: s_mov_b64 exec, s[4:5]
; SI-NEXT: s_waitcnt vmcnt(0)
; SI-NEXT: s_setpc_b64 s[30:31]
@@ -62920,7 +62950,7 @@ define inreg <32 x float> @bitcast_v64bf16_to_v32f32_scalar(<64 x bfloat> inreg
; SI: ; %bb.0:
; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
; SI-NEXT: s_or_saveexec_b64 s[4:5], -1
-; SI-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
; SI-NEXT: s_mov_b64 exec, s[4:5]
; SI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:52 ; 4-byte Folded Spill
@@ -62942,76 +62972,61 @@ define inreg <32 x float> @bitcast_v64bf16_to_v32f32_scalar(<64 x bfloat> inreg
; SI-NEXT: v_writelane_b32 v63, s36, 2
; SI-NEXT: v_writelane_b32 v63, s30, 3
; SI-NEXT: v_writelane_b32 v63, s31, 4
-; SI-NEXT: v_readfirstlane_b32 s78, v7
-; SI-NEXT: v_readfirstlane_b32 s74, v9
-; SI-NEXT: s_and_b32 s79, s78, 0xffff0000
; SI-NEXT: v_readfirstlane_b32 s72, v10
-; SI-NEXT: s_and_b32 s75, s74, 0xffff0000
-; SI-NEXT: v_readfirstlane_b32 s34, v0
-; SI-NEXT: v_mul_f32_e64 v0, 1.0, s79
-; SI-NEXT: v_readfirstlane_b32 s62, v11
-; SI-NEXT: s_and_b32 s73, s72, 0xffff0000
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mul_f32_e64 v0, 1.0, s75
-; SI-NEXT: v_readfirstlane_b32 s60, v12
-; SI-NEXT: s_and_b32 s63, s62, 0xffff0000
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mul_f32_e64 v0, 1.0, s73
-; SI-NEXT: v_readfirstlane_b32 s58, v13
-; SI-NEXT: s_and_b32 s61, s60, 0xffff0000
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mul_f32_e64 v0, 1.0, s63
-; SI-NEXT: v_readfirstlane_b32 s56, v14
-; SI-NEXT: s_and_b32 s59, s58, 0xffff0000
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mul_f32_e64 v0, 1.0, s61
; SI-NEXT: v_readfirstlane_b32 s44, v16
-; SI-NEXT: s_and_b32 s57, s56, 0xffff0000
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mul_f32_e64 v0, 1.0, s59
+; SI-NEXT: s_and_b32 s73, s72, 0xffff0000
; SI-NEXT: v_readfirstlane_b32 s42, v17
; SI-NEXT: s_and_b32 s45, s44, 0xffff0000
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mul_f32_e64 v0, 1.0, s57
+; SI-NEXT: v_readfirstlane_b32 s34, v0
+; SI-NEXT: v_mul_f32_e64 v0, 1.0, s73
; SI-NEXT: s_and_b32 s43, s42, 0xffff0000
-; SI-NEXT: v_readfirstlane_b32 s94, v3
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; SI-NEXT: v_readfirstlane_b32 vcc_lo, v2
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mul_f32_e64 v0, 1.0, s45
-; SI-NEXT: s_and_b32 s95, s94, 0xffff0000
-; SI-NEXT: s_lshl_b32 s94, s94, 16
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; SI-NEXT: s_and_b32 s40, s17, 0xffff0000
+; SI-NEXT: s_and_b32 vcc_hi, vcc_lo, 0xffff0000
+; SI-NEXT: s_lshl_b32 vcc_lo, vcc_lo, 16
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mul_f32_e64 v0, 1.0, s43
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; SI-NEXT: v_readfirstlane_b32 s30, v1
+; SI-NEXT: v_mul_f32_e64 v1, 1.0, s40
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_mul_f32_e64 v0, 1.0, vcc_lo
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; SI-NEXT: v_readfirstlane_b32 s94, v3
+; SI-NEXT: s_and_b32 s95, s94, 0xffff0000
+; SI-NEXT: s_lshl_b32 s94, s94, 16
+; SI-NEXT: s_waitcnt expcnt(1)
; SI-NEXT: v_mul_f32_e64 v0, 1.0, s94
-; SI-NEXT: v_readfirstlane_b32 s30, v1
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
; SI-NEXT: v_readfirstlane_b32 s92, v4
; SI-NEXT: s_and_b32 s93, s92, 0xffff0000
; SI-NEXT: s_lshl_b32 s92, s92, 16
-; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_mul_f32_e64 v0, 1.0, s92
; SI-NEXT: v_readfirstlane_b32 s90, v5
; SI-NEXT: s_and_b32 s91, s90, 0xffff0000
; SI-NEXT: s_lshl_b32 s90, s90, 16
; SI-NEXT: v_readfirstlane_b32 s88, v6
; SI-NEXT: s_and_b32 s89, s88, 0xffff0000
; SI-NEXT: s_lshl_b32 s88, s88, 16
+; SI-NEXT: v_readfirstlane_b32 s78, v7
+; SI-NEXT: s_and_b32 s79, s78, 0xffff0000
; SI-NEXT: s_lshl_b32 s78, s78, 16
; SI-NEXT: v_readfirstlane_b32 s76, v8
; SI-NEXT: s_and_b32 s77, s76, 0xffff0000
; SI-NEXT: s_lshl_b32 s76, s76, 16
+; SI-NEXT: v_readfirstlane_b32 s74, v9
+; SI-NEXT: s_and_b32 s75, s74, 0xffff0000
+; SI-NEXT: s_lshl_b32 s74, s74, 16
; SI-NEXT: v_readfirstlane_b32 s46, v15
-; SI-NEXT: v_readfirstlane_b32 vcc_lo, v2
+; SI-NEXT: s_and_b32 s47, s46, 0xffff0000
+; SI-NEXT: s_lshl_b32 s46, s46, 16
+; SI-NEXT: v_readfirstlane_b32 s56, v14
+; SI-NEXT: v_readfirstlane_b32 s58, v13
+; SI-NEXT: v_readfirstlane_b32 s60, v12
+; SI-NEXT: v_readfirstlane_b32 s62, v11
; SI-NEXT: s_and_b32 s4, s29, 0xffff0000
; SI-NEXT: s_lshl_b32 s5, s29, 16
; SI-NEXT: s_and_b32 s6, s28, 0xffff0000
@@ -63036,105 +63051,94 @@ define inreg <32 x float> @bitcast_v64bf16_to_v32f32_scalar(<64 x bfloat> inreg
; SI-NEXT: s_lshl_b32 s19, s19, 16
; SI-NEXT: s_and_b32 s29, s18, 0xffff0000
; SI-NEXT: s_lshl_b32 s18, s18, 16
-; SI-NEXT: s_and_b32 s40, s17, 0xffff0000
; SI-NEXT: s_lshl_b32 s17, s17, 16
; SI-NEXT: s_and_b32 s41, s16, 0xffff0000
; SI-NEXT: s_lshl_b32 s16, s16, 16
; SI-NEXT: s_lshl_b32 s42, s42, 16
; SI-NEXT: s_lshl_b32 s44, s44, 16
-; SI-NEXT: s_and_b32 s47, s46, 0xffff0000
-; SI-NEXT: s_lshl_b32 s46, s46, 16
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_mul_f32_e64 v0, 1.0, s90
+; SI-NEXT: s_and_b32 s57, s56, 0xffff0000
; SI-NEXT: s_lshl_b32 s56, s56, 16
+; SI-NEXT: s_and_b32 s59, s58, 0xffff0000
; SI-NEXT: s_lshl_b32 s58, s58, 16
+; SI-NEXT: s_and_b32 s61, s60, 0xffff0000
; SI-NEXT: s_lshl_b32 s60, s60, 16
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(1)
+; SI-NEXT: v_mul_f32_e64 v0, 1.0, s92
+; SI-NEXT: s_and_b32 s63, s62, 0xffff0000
; SI-NEXT: s_lshl_b32 s62, s62, 16
; SI-NEXT: s_lshl_b32 s72, s72, 16
-; SI-NEXT: s_lshl_b32 s74, s74, 16
-; SI-NEXT: s_and_b32 vcc_hi, vcc_lo, 0xffff0000
-; SI-NEXT: s_lshl_b32 vcc_lo, vcc_lo, 16
; SI-NEXT: s_and_b32 s31, s30, 0xffff0000
; SI-NEXT: s_lshl_b32 s30, s30, 16
; SI-NEXT: s_and_b32 s35, s34, 0xffff0000
; SI-NEXT: s_lshl_b32 s34, s34, 16
; SI-NEXT: v_readfirstlane_b32 s36, v18
; SI-NEXT: s_cmp_lg_u32 s36, 0
-; SI-NEXT: v_mul_f32_e64 v37, 1.0, s41
-; SI-NEXT: v_mul_f32_e64 v39, 1.0, s40
-; SI-NEXT: v_mul_f32_e64 v35, 1.0, s29
-; SI-NEXT: v_mul_f32_e64 v33, 1.0, s28
-; SI-NEXT: v_mul_f32_e64 v5, 1.0, s27
+; SI-NEXT: v_mul_f32_e64 v39, 1.0, s41
+; SI-NEXT: v_mul_f32_e64 v42, 1.0, s29
+; SI-NEXT: v_mul_f32_e64 v54, 1.0, s28
+; SI-NEXT: v_mul_f32_e64 v10, 1.0, s27
; SI-NEXT: v_mul_f32_e64 v6, 1.0, s26
; SI-NEXT: v_mul_f32_e64 v7, 1.0, s25
; SI-NEXT: v_mul_f32_e64 v8, 1.0, s24
; SI-NEXT: v_mul_f32_e64 v9, 1.0, s14
-; SI-NEXT: v_mul_f32_e64 v10, 1.0, s12
+; SI-NEXT: v_mul_f32_e64 v35, 1.0, s12
; SI-NEXT: v_mul_f32_e64 v61, 1.0, s10
; SI-NEXT: v_mul_f32_e64 v12, 1.0, s8
; SI-NEXT: v_mul_f32_e64 v15, 1.0, s6
; SI-NEXT: v_mul_f32_e64 v16, 1.0, s4
; SI-NEXT: v_mul_f32_e64 v17, 1.0, s35
-; SI-NEXT: v_mul_f32_e64 v19, 1.0, s31
-; SI-NEXT: v_mul_f32_e64 v18, 1.0, vcc_hi
-; SI-NEXT: v_mul_f32_e64 v20, 1.0, s95
-; SI-NEXT: v_mul_f32_e64 v54, 1.0, s93
+; SI-NEXT: v_mul_f32_e64 v20, 1.0, s31
+; SI-NEXT: v_mul_f32_e64 v19, 1.0, vcc_hi
+; SI-NEXT: v_mul_f32_e64 v18, 1.0, s95
+; SI-NEXT: v_mul_f32_e64 v25, 1.0, s93
; SI-NEXT: v_mul_f32_e64 v21, 1.0, s91
-; SI-NEXT: v_mul_f32_e64 v22, 1.0, s89
-; SI-NEXT: v_mul_f32_e64 v50, 1.0, s77
-; SI-NEXT: v_mul_f32_e64 v46, 1.0, s47
-; SI-NEXT: v_mul_f32_e64 v36, 1.0, s16
-; SI-NEXT: v_mul_f32_e64 v38, 1.0, s17
-; SI-NEXT: v_mul_f32_e64 v34, 1.0, s18
-; SI-NEXT: v_mul_f32_e64 v32, 1.0, s19
-; SI-NEXT: v_mul_f32_e64 v41, 1.0, s20
-; SI-NEXT: v_mul_f32_e64 v26, 1.0, s21
-; SI-NEXT: v_mul_f32_e64 v25, 1.0, s22
-; SI-NEXT: v_mul_f32_e64 v24, 1.0, s23
-; SI-NEXT: v_mul_f32_e64 v23, 1.0, s15
+; SI-NEXT: v_mul_f32_e64 v24, 1.0, s89
+; SI-NEXT: v_mul_f32_e64 v22, 1.0, s79
+; SI-NEXT: v_mul_f32_e64 v23, 1.0, s77
+; SI-NEXT: v_mul_f32_e64 v26, 1.0, s75
+; SI-NEXT: v_mul_f32_e64 v27, 1.0, s63
+; SI-NEXT: v_mul_f32_e64 v62, 1.0, s61
+; SI-NEXT: v_mul_f32_e64 v40, 1.0, s59
+; SI-NEXT: v_mul_f32_e64 v47, 1.0, s57
+; SI-NEXT: v_mul_f32_e64 v37, 1.0, s47
+; SI-NEXT: v_mul_f32_e64 v38, 1.0, s16
+; SI-NEXT: v_mul_f32_e64 v36, 1.0, s17
+; SI-NEXT: v_mul_f32_e64 v49, 1.0, s18
+; SI-NEXT: v_mul_f32_e64 v46, 1.0, s19
+; SI-NEXT: v_mul_f32_e64 v45, 1.0, s20
+; SI-NEXT: v_mul_f32_e64 v44, 1.0, s21
+; SI-NEXT: v_mul_f32_e64 v52, 1.0, s22
+; SI-NEXT: v_mul_f32_e64 v33, 1.0, s23
+; SI-NEXT: v_mul_f32_e64 v41, 1.0, s15
; SI-NEXT: v_mul_f32_e64 v13, 1.0, s13
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_mul_f32_e64 v0, 1.0, s88
; SI-NEXT: v_mul_f32_e64 v60, 1.0, s11
; SI-NEXT: v_mul_f32_e64 v59, 1.0, s9
; SI-NEXT: v_mul_f32_e64 v58, 1.0, s7
; SI-NEXT: v_mul_f32_e64 v57, 1.0, s5
; SI-NEXT: v_mul_f32_e64 v56, 1.0, s34
; SI-NEXT: v_mul_f32_e64 v55, 1.0, s30
-; SI-NEXT: v_mul_f32_e64 v51, 1.0, vcc_lo
-; SI-NEXT: v_mul_f32_e64 v53, 1.0, s72
-; SI-NEXT: v_mul_f32_e64 v40, 1.0, s62
-; SI-NEXT: v_mul_f32_e64 v43, 1.0, s60
+; SI-NEXT: v_mul_f32_e64 v32, 1.0, s72
+; SI-NEXT: v_mul_f32_e64 v43, 1.0, s62
+; SI-NEXT: v_mul_f32_e64 v51, 1.0, s60
; SI-NEXT: v_mul_f32_e64 v28, 1.0, s58
-; SI-NEXT: v_mul_f32_e64 v45, 1.0, s56
-; SI-NEXT: v_mul_f32_e64 v44, 1.0, s46
-; SI-NEXT: v_mul_f32_e64 v49, 1.0, s44
-; SI-NEXT: v_mul_f32_e64 v47, 1.0, s42
-; SI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
+; SI-NEXT: v_mul_f32_e64 v53, 1.0, s56
+; SI-NEXT: v_mul_f32_e64 v48, 1.0, s44
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(1)
+; SI-NEXT: v_mul_f32_e64 v0, 1.0, s90
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(1)
+; SI-NEXT: v_mul_f32_e64 v0, 1.0, s88
; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
; SI-NEXT: v_mul_f32_e64 v0, 1.0, s78
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
; SI-NEXT: v_mul_f32_e64 v0, 1.0, s76
; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
@@ -63143,72 +63147,129 @@ define inreg <32 x float> @bitcast_v64bf16_to_v32f32_scalar(<64 x bfloat> inreg
; SI-NEXT: v_mul_f32_e64 v0, 1.0, s74
; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(1)
+; SI-NEXT: v_mul_f32_e64 v0, 1.0, s46
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(1)
+; SI-NEXT: v_mul_f32_e64 v0, 1.0, s42
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
; SI-NEXT: s_cbranch_scc0 .LBB43_2
; SI-NEXT: ; %bb.1: ; %cmp.false
-; SI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(2)
-; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
-; SI-NEXT: v_mov_b32_e32 v48, v37
-; SI-NEXT: v_lshrrev_b32_e32 v37, 16, v48
-; SI-NEXT: v_mov_b32_e32 v62, v35
-; SI-NEXT: v_lshrrev_b32_e32 v35, 16, v62
-; SI-NEXT: v_lshrrev_b32_e32 v42, 16, v5
-; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v6
-; SI-NEXT: v_lshrrev_b32_e32 v14, 16, v10
-; SI-NEXT: v_lshrrev_b32_e32 v52, 16, v18
-; SI-NEXT: v_mov_b32_e32 v29, v54
-; SI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
-; SI-NEXT: v_mov_b32_e32 v30, v46
-; SI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
+; SI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
+; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
+; SI-NEXT: v_mov_b32_e32 v3, v37
+; SI-NEXT: v_lshrrev_b32_e32 v37, 16, v1
+; SI-NEXT: v_mov_b32_e32 v30, v3
+; SI-NEXT: v_lshrrev_b32_e32 v50, 16, v42
+; SI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_mov_b32_e32 v42, v53
+; SI-NEXT: v_lshrrev_b32_e32 v53, 16, v7
+; SI-NEXT: v_lshrrev_b32_e32 v34, 16, v8
+; SI-NEXT: v_mov_b32_e32 v29, v40
+; SI-NEXT: v_lshrrev_b32_e32 v40, 16, v9
+; SI-NEXT: v_lshrrev_b32_e32 v14, 16, v35
+; SI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_mov_b32_e32 v35, v61
+; SI-NEXT: v_lshrrev_b32_e32 v61, 16, v35
+; SI-NEXT: v_lshrrev_b32_e32 v18, 16, v18
+; SI-NEXT: v_lshrrev_b32_e32 v22, 16, v22
+; SI-NEXT: v_lshrrev_b32_e32 v23, 16, v23
+; SI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
; SI-NEXT: s_mov_b64 s[4:5], 0
-; SI-NEXT: s_waitcnt vmcnt(2) expcnt(0)
+; SI-NEXT: s_waitcnt vmcnt(4)
; SI-NEXT: v_lshrrev_b32_e32 v39, 16, v0
-; SI-NEXT: v_lshr_b64 v[0:1], v[36:37], 16
-; SI-NEXT: v_lshr_b64 v[1:2], v[38:39], 16
-; SI-NEXT: v_mov_b32_e32 v39, v33
-; SI-NEXT: v_lshr_b64 v[2:3], v[34:35], 16
-; SI-NEXT: v_lshrrev_b32_e32 v33, 16, v39
-; SI-NEXT: v_lshr_b64 v[3:4], v[32:33], 16
-; SI-NEXT: v_mov_b32_e32 v4, v41
-; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[4:5], v[41:42], 16
-; SI-NEXT: v_mov_b32_e32 v5, v26
-; SI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
+; SI-NEXT: v_lshr_b64 v[0:1], v[38:39], 16
+; SI-NEXT: v_lshr_b64 v[1:2], v[36:37], 16
+; SI-NEXT: v_mov_b32_e32 v2, v49
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[5:6], v[26:27], 16
-; SI-NEXT: v_mov_b32_e32 v6, v25
-; SI-NEXT: v_lshrrev_b32_e32 v26, 16, v7
-; SI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
+; SI-NEXT: v_lshr_b64 v[2:3], v[49:50], 16
+; SI-NEXT: v_mov_b32_e32 v3, v46
+; SI-NEXT: v_mov_b32_e32 v39, v41
+; SI-NEXT: v_mov_b32_e32 v41, v47
+; SI-NEXT: v_lshrrev_b32_e32 v47, 16, v54
+; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[6:7], v[25:26], 16
-; SI-NEXT: v_mov_b32_e32 v7, v24
-; SI-NEXT: v_lshrrev_b32_e32 v25, 16, v8
-; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
+; SI-NEXT: v_lshr_b64 v[3:4], v[46:47], 16
+; SI-NEXT: v_mov_b32_e32 v4, v45
+; SI-NEXT: v_lshrrev_b32_e32 v46, 16, v10
+; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_lshr_b64 v[4:5], v[45:46], 16
+; SI-NEXT: v_mov_b32_e32 v5, v44
+; SI-NEXT: v_lshrrev_b32_e32 v45, 16, v6
+; SI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_lshr_b64 v[5:6], v[44:45], 16
+; SI-NEXT: v_mov_b32_e32 v6, v52
+; SI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[7:8], v[24:25], 16
-; SI-NEXT: v_mov_b32_e32 v8, v23
-; SI-NEXT: v_lshrrev_b32_e32 v24, 16, v9
-; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
+; SI-NEXT: v_lshr_b64 v[6:7], v[52:53], 16
+; SI-NEXT: v_mov_b32_e32 v7, v33
+; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[8:9], v[23:24], 16
+; SI-NEXT: v_lshr_b64 v[7:8], v[33:34], 16
+; SI-NEXT: v_lshr_b64 v[8:9], v[39:40], 16
; SI-NEXT: v_mov_b32_e32 v9, v13
-; SI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
-; SI-NEXT: v_mov_b32_e32 v33, v61
+; SI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_lshr_b64 v[9:10], v[13:14], 16
-; SI-NEXT: v_lshrrev_b32_e32 v61, 16, v33
-; SI-NEXT: v_lshr_b64 v[10:11], v[60:61], 16
+; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
; SI-NEXT: v_mov_b32_e32 v13, v60
+; SI-NEXT: v_mov_b32_e32 v14, v59
+; SI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v54, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
+; SI-NEXT: v_lshrrev_b32_e32 v44, 16, v27
+; SI-NEXT: v_lshrrev_b32_e32 v52, 16, v62
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_lshrrev_b32_e32 v50, 16, v30
+; SI-NEXT: v_mov_b32_e32 v40, v29
+; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v29
+; SI-NEXT: v_mov_b32_e32 v34, v32
+; SI-NEXT: v_mov_b32_e32 v37, v30
+; SI-NEXT: v_mov_b32_e32 v47, v41
+; SI-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v50, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; SI-NEXT: v_mov_b32_e32 v53, v10
+; SI-NEXT: v_lshr_b64 v[10:11], v[60:61], 16
; SI-NEXT: v_lshrrev_b32_e32 v60, 16, v12
; SI-NEXT: v_lshr_b64 v[11:12], v[59:60], 16
-; SI-NEXT: v_mov_b32_e32 v14, v59
; SI-NEXT: v_lshrrev_b32_e32 v59, 16, v15
; SI-NEXT: v_mov_b32_e32 v60, v13
; SI-NEXT: v_lshr_b64 v[12:13], v[58:59], 16
@@ -63221,35 +63282,32 @@ define inreg <32 x float> @bitcast_v64bf16_to_v32f32_scalar(<64 x bfloat> inreg
; SI-NEXT: v_mov_b32_e32 v58, v15
; SI-NEXT: v_lshr_b64 v[14:15], v[56:57], 16
; SI-NEXT: v_mov_b32_e32 v17, v56
-; SI-NEXT: v_lshrrev_b32_e32 v56, 16, v19
+; SI-NEXT: v_lshrrev_b32_e32 v56, 16, v20
; SI-NEXT: v_mov_b32_e32 v57, v16
; SI-NEXT: v_lshr_b64 v[15:16], v[55:56], 16
; SI-NEXT: v_mov_b32_e32 v56, v17
-; SI-NEXT: v_lshr_b64 v[16:17], v[51:52], 16
-; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v18, 16, v20
-; SI-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
+; SI-NEXT: v_lshrrev_b32_e32 v17, 16, v19
+; SI-NEXT: v_lshrrev_b32_e32 v54, 16, v54
+; SI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_lshr_b64 v[16:17], v[16:17], 16
+; SI-NEXT: v_mov_b32_e32 v17, v33
; SI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
-; SI-NEXT: v_mov_b32_e32 v42, v49
-; SI-NEXT: v_mov_b32_e32 v49, v44
-; SI-NEXT: v_mov_b32_e32 v52, v40
-; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_lshrrev_b32_e32 v44, 16, v27
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_lshr_b64 v[17:18], v[17:18], 16
-; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v19, 16, v54
-; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
-; SI-NEXT: v_lshrrev_b32_e32 v54, 16, v25
+; SI-NEXT: v_lshrrev_b32_e32 v19, 16, v25
+; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_lshr_b64 v[18:19], v[18:19], 16
; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
@@ -63263,24 +63321,23 @@ define inreg <32 x float> @bitcast_v64bf16_to_v32f32_scalar(<64 x bfloat> inreg
; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v21, 16, v22
+; SI-NEXT: v_lshrrev_b32_e32 v21, 16, v24
+; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_lshr_b64 v[20:21], v[20:21], 16
-; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v22, 16, v22
-; SI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt vmcnt(3)
+; SI-NEXT: v_mov_b32_e32 v21, v24
+; SI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
+; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_lshr_b64 v[21:22], v[21:22], 16
-; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v23, 16, v50
+; SI-NEXT: s_waitcnt vmcnt(1)
+; SI-NEXT: v_mov_b32_e32 v22, v24
; SI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
@@ -63293,187 +63350,173 @@ define inreg <32 x float> @bitcast_v64bf16_to_v32f32_scalar(<64 x bfloat> inreg
; SI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_lshr_b64 v[23:24], v[23:24], 16
-; SI-NEXT: v_mov_b32_e32 v24, v53
-; SI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[24:25], v[53:54], 16
-; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v37, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
-; SI-NEXT: v_mov_b32_e32 v54, v29
-; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v46
-; SI-NEXT: v_lshrrev_b32_e32 v46, 16, v31
-; SI-NEXT: v_mov_b32_e32 v31, v50
-; SI-NEXT: v_lshrrev_b32_e32 v50, 16, v30
-; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_lshrrev_b32_e32 v41, 16, v25
-; SI-NEXT: v_lshr_b64 v[25:26], v[40:41], 16
-; SI-NEXT: v_mov_b32_e32 v26, v43
-; SI-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
+; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_lshrrev_b32_e32 v33, 16, v24
+; SI-NEXT: v_lshr_b64 v[24:25], v[32:33], 16
+; SI-NEXT: v_lshr_b64 v[25:26], v[43:44], 16
+; SI-NEXT: v_mov_b32_e32 v26, v51
+; SI-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[26:27], v[43:44], 16
+; SI-NEXT: v_lshr_b64 v[26:27], v[51:52], 16
; SI-NEXT: v_mov_b32_e32 v27, v28
-; SI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt vmcnt(4)
-; SI-NEXT: v_lshrrev_b32_e32 v43, 16, v37
-; SI-NEXT: v_mov_b32_e32 v37, v48
-; SI-NEXT: v_lshrrev_b32_e32 v48, 16, v35
-; SI-NEXT: v_mov_b32_e32 v35, v62
-; SI-NEXT: v_lshr_b64 v[61:62], v[47:48], 16
-; SI-NEXT: v_mov_b32_e32 v44, v49
+; SI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
+; SI-NEXT: v_mov_b32_e32 v32, v43
+; SI-NEXT: v_lshrrev_b32_e32 v43, 16, v41
+; SI-NEXT: v_mov_b32_e32 v41, v39
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_lshr_b64 v[27:28], v[28:29], 16
-; SI-NEXT: v_lshr_b64 v[28:29], v[45:46], 16
-; SI-NEXT: v_mov_b32_e32 v46, v30
+; SI-NEXT: v_lshr_b64 v[28:29], v[42:43], 16
; SI-NEXT: v_lshr_b64 v[29:30], v[49:50], 16
-; SI-NEXT: v_mov_b32_e32 v50, v31
-; SI-NEXT: v_lshr_b64 v[30:31], v[42:43], 16
+; SI-NEXT: v_lshrrev_b32_e32 v49, 16, v31
+; SI-NEXT: v_lshr_b64 v[30:31], v[48:49], 16
+; SI-NEXT: v_mov_b32_e32 v31, v62
+; SI-NEXT: v_lshr_b64 v[61:62], v[53:54], 16
+; SI-NEXT: buffer_load_dword v54, off, s[0:3], s32 offset:308 ; 4-byte Folded Reload
+; SI-NEXT: v_mov_b32_e32 v62, v31
; SI-NEXT: v_mov_b32_e32 v31, v61
-; SI-NEXT: v_mov_b32_e32 v61, v33
-; SI-NEXT: v_mov_b32_e32 v33, v39
-; SI-NEXT: buffer_load_dword v39, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
-; SI-NEXT: v_mov_b32_e32 v49, v42
+; SI-NEXT: v_mov_b32_e32 v61, v35
+; SI-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:316 ; 4-byte Folded Reload
+; SI-NEXT: v_mov_b32_e32 v53, v42
+; SI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:312 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v39, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload
; SI-NEXT: s_branch .LBB43_3
; SI-NEXT: .LBB43_2:
-; SI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
-; SI-NEXT: v_mov_b32_e32 v52, v40
-; SI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v50, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(2)
+; SI-NEXT: v_mov_b32_e32 v34, v32
+; SI-NEXT: v_mov_b32_e32 v32, v43
; SI-NEXT: s_mov_b64 s[4:5], -1
+; SI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
; SI-NEXT: ; implicit-def: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31
; SI-NEXT: .LBB43_3: ; %Flow
+; SI-NEXT: v_mov_b32_e32 v50, v32
+; SI-NEXT: v_mov_b32_e32 v32, v34
+; SI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt expcnt(3)
+; SI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt expcnt(2)
+; SI-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload
; SI-NEXT: s_and_b64 s[4:5], s[4:5], exec
; SI-NEXT: s_cselect_b32 s4, 1, 0
; SI-NEXT: s_cmp_lg_u32 s4, 1
+; SI-NEXT: s_waitcnt vmcnt(1)
+; SI-NEXT: v_mov_b32_e32 v34, v51
+; SI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload
; SI-NEXT: s_cbranch_scc1 .LBB43_5
; SI-NEXT: ; %bb.4: ; %cmp.true
-; SI-NEXT: v_and_b32_e32 v1, 0xffff0000, v37
-; SI-NEXT: v_and_b32_e32 v0, 0xffff0000, v36
+; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:276 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:272 ; 4-byte Folded Reload
+; SI-NEXT: v_and_b32_e32 v1, 0xffff0000, v39
+; SI-NEXT: v_and_b32_e32 v0, 0xffff0000, v38
; SI-NEXT: v_add_f32_e32 v1, 0x40c00000, v1
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v3, 0xffff0000, v39
; SI-NEXT: v_add_f32_e32 v0, 0x40c00000, v0
; SI-NEXT: v_lshrrev_b32_e32 v1, 16, v1
-; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v38
-; SI-NEXT: v_add_f32_e32 v3, 0x40c00000, v3
+; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v36
; SI-NEXT: v_add_f32_e32 v2, 0x40c00000, v2
-; SI-NEXT: v_lshrrev_b32_e32 v3, 16, v3
; SI-NEXT: v_lshr_b64 v[0:1], v[0:1], 16
+; SI-NEXT: s_waitcnt vmcnt(4)
+; SI-NEXT: v_mov_b32_e32 v49, v43
+; SI-NEXT: v_and_b32_e32 v4, 0xffff0000, v54
+; SI-NEXT: v_add_f32_e32 v4, 0x40c00000, v4
+; SI-NEXT: v_lshrrev_b32_e32 v4, 16, v4
+; SI-NEXT: v_and_b32_e32 v11, 0xffff0000, v61
+; SI-NEXT: v_add_f32_e32 v11, 0x40c00000, v11
+; SI-NEXT: v_lshrrev_b32_e32 v11, 16, v11
+; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_and_b32_e32 v29, 0xffff0000, v47
+; SI-NEXT: v_add_f32_e32 v29, 0x40c00000, v29
+; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v29
+; SI-NEXT: s_waitcnt vmcnt(11)
+; SI-NEXT: v_and_b32_e32 v3, 0xffff0000, v3
+; SI-NEXT: v_add_f32_e32 v3, 0x40c00000, v3
+; SI-NEXT: v_lshrrev_b32_e32 v3, 16, v3
; SI-NEXT: v_lshr_b64 v[1:2], v[2:3], 16
-; SI-NEXT: v_and_b32_e32 v3, 0xffff0000, v35
-; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v34
+; SI-NEXT: v_and_b32_e32 v3, 0xffff0000, v42
+; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v49
; SI-NEXT: v_add_f32_e32 v3, 0x40c00000, v3
; SI-NEXT: v_add_f32_e32 v2, 0x40c00000, v2
; SI-NEXT: v_lshrrev_b32_e32 v3, 16, v3
; SI-NEXT: v_lshr_b64 v[2:3], v[2:3], 16
-; SI-NEXT: v_and_b32_e32 v4, 0xffff0000, v33
-; SI-NEXT: v_and_b32_e32 v3, 0xffff0000, v32
-; SI-NEXT: v_add_f32_e32 v4, 0x40c00000, v4
+; SI-NEXT: v_and_b32_e32 v3, 0xffff0000, v51
; SI-NEXT: v_add_f32_e32 v3, 0x40c00000, v3
-; SI-NEXT: v_lshrrev_b32_e32 v4, 16, v4
; SI-NEXT: v_lshr_b64 v[3:4], v[3:4], 16
-; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:280 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload
-; SI-NEXT: v_and_b32_e32 v11, 0xffff0000, v61
-; SI-NEXT: v_add_f32_e32 v11, 0x40c00000, v11
-; SI-NEXT: v_lshrrev_b32_e32 v11, 16, v11
-; SI-NEXT: v_and_b32_e32 v30, 0xffff0000, v46
-; SI-NEXT: v_add_f32_e32 v30, 0x40c00000, v30
-; SI-NEXT: v_lshrrev_b32_e32 v30, 16, v30
-; SI-NEXT: v_and_b32_e32 v32, 0xffff0000, v47
-; SI-NEXT: v_add_f32_e32 v32, 0x40c00000, v32
-; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt expcnt(6)
-; SI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(12)
-; SI-NEXT: v_and_b32_e32 v4, 0xffff0000, v4
-; SI-NEXT: v_add_f32_e32 v4, 0x40c00000, v4
; SI-NEXT: s_waitcnt vmcnt(10)
; SI-NEXT: v_and_b32_e32 v5, 0xffff0000, v5
+; SI-NEXT: v_and_b32_e32 v4, 0xffff0000, v34
; SI-NEXT: v_add_f32_e32 v5, 0x40c00000, v5
+; SI-NEXT: v_add_f32_e32 v4, 0x40c00000, v4
; SI-NEXT: v_lshrrev_b32_e32 v5, 16, v5
; SI-NEXT: v_lshr_b64 v[4:5], v[4:5], 16
-; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:272 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:276 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(12)
+; SI-NEXT: s_waitcnt vmcnt(9)
+; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v6
+; SI-NEXT: v_and_b32_e32 v5, 0xffff0000, v33
+; SI-NEXT: v_add_f32_e32 v6, 0x40c00000, v6
+; SI-NEXT: v_add_f32_e32 v5, 0x40c00000, v5
+; SI-NEXT: v_lshrrev_b32_e32 v6, 16, v6
+; SI-NEXT: v_lshr_b64 v[5:6], v[5:6], 16
+; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:300 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:304 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:268 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(8)
+; SI-NEXT: v_and_b32_e32 v9, 0xffff0000, v9
+; SI-NEXT: v_add_f32_e32 v9, 0x40c00000, v9
+; SI-NEXT: v_lshrrev_b32_e32 v9, 16, v9
+; SI-NEXT: s_waitcnt vmcnt(7)
; SI-NEXT: v_and_b32_e32 v12, 0xffff0000, v12
; SI-NEXT: v_add_f32_e32 v12, 0x40c00000, v12
; SI-NEXT: v_lshrrev_b32_e32 v12, 16, v12
-; SI-NEXT: s_waitcnt vmcnt(11)
+; SI-NEXT: s_waitcnt vmcnt(6)
; SI-NEXT: v_and_b32_e32 v13, 0xffff0000, v13
; SI-NEXT: v_add_f32_e32 v13, 0x40c00000, v13
; SI-NEXT: v_lshrrev_b32_e32 v13, 16, v13
-; SI-NEXT: s_waitcnt vmcnt(10)
+; SI-NEXT: s_waitcnt vmcnt(5)
; SI-NEXT: v_and_b32_e32 v14, 0xffff0000, v14
; SI-NEXT: v_add_f32_e32 v14, 0x40c00000, v14
; SI-NEXT: v_lshrrev_b32_e32 v14, 16, v14
-; SI-NEXT: s_waitcnt vmcnt(9)
+; SI-NEXT: s_waitcnt vmcnt(4)
; SI-NEXT: v_and_b32_e32 v15, 0xffff0000, v15
; SI-NEXT: v_add_f32_e32 v15, 0x40c00000, v15
; SI-NEXT: v_lshrrev_b32_e32 v15, 16, v15
-; SI-NEXT: s_waitcnt vmcnt(8)
+; SI-NEXT: s_waitcnt vmcnt(3)
; SI-NEXT: v_and_b32_e32 v16, 0xffff0000, v16
; SI-NEXT: v_add_f32_e32 v16, 0x40c00000, v16
; SI-NEXT: v_lshrrev_b32_e32 v16, 16, v16
-; SI-NEXT: s_waitcnt vmcnt(7)
-; SI-NEXT: v_and_b32_e32 v17, 0xffff0000, v17
-; SI-NEXT: v_add_f32_e32 v17, 0x40c00000, v17
-; SI-NEXT: v_lshrrev_b32_e32 v17, 16, v17
-; SI-NEXT: s_waitcnt vmcnt(6)
; SI-NEXT: v_and_b32_e32 v26, 0xffff0000, v26
; SI-NEXT: v_add_f32_e32 v26, 0x40c00000, v26
; SI-NEXT: v_lshrrev_b32_e32 v26, 16, v26
-; SI-NEXT: s_waitcnt vmcnt(4)
-; SI-NEXT: v_and_b32_e32 v29, 0xffff0000, v29
-; SI-NEXT: v_and_b32_e32 v31, 0xffff0000, v31
-; SI-NEXT: v_add_f32_e32 v31, 0x40c00000, v31
-; SI-NEXT: v_lshrrev_b32_e32 v31, 16, v31
-; SI-NEXT: v_add_f32_e32 v29, 0x40c00000, v29
-; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v29
-; SI-NEXT: s_waitcnt vmcnt(3)
-; SI-NEXT: v_and_b32_e32 v33, 0xffff0000, v33
-; SI-NEXT: v_add_f32_e32 v33, 0x40c00000, v33
-; SI-NEXT: v_lshrrev_b32_e32 v33, 16, v33
-; SI-NEXT: v_lshr_b64 v[32:33], v[32:33], 16
-; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_and_b32_e32 v5, 0xffff0000, v5
-; SI-NEXT: v_add_f32_e32 v5, 0x40c00000, v5
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v6
-; SI-NEXT: v_add_f32_e32 v6, 0x40c00000, v6
-; SI-NEXT: v_lshrrev_b32_e32 v6, 16, v6
-; SI-NEXT: v_lshr_b64 v[5:6], v[5:6], 16
-; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:268 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(2)
; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v6
; SI-NEXT: v_add_f32_e32 v6, 0x40c00000, v6
@@ -63482,9 +63525,9 @@ define inreg <32 x float> @bitcast_v64bf16_to_v32f32_scalar(<64 x bfloat> inreg
; SI-NEXT: v_add_f32_e32 v7, 0x40c00000, v7
; SI-NEXT: v_lshrrev_b32_e32 v7, 16, v7
; SI-NEXT: v_lshr_b64 v[6:7], v[6:7], 16
-; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(2)
; SI-NEXT: v_and_b32_e32 v7, 0xffff0000, v7
; SI-NEXT: v_add_f32_e32 v7, 0x40c00000, v7
@@ -63493,27 +63536,17 @@ define inreg <32 x float> @bitcast_v64bf16_to_v32f32_scalar(<64 x bfloat> inreg
; SI-NEXT: v_add_f32_e32 v8, 0x40c00000, v8
; SI-NEXT: v_lshrrev_b32_e32 v8, 16, v8
; SI-NEXT: v_lshr_b64 v[7:8], v[7:8], 16
-; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v8
+; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v41
; SI-NEXT: v_add_f32_e32 v8, 0x40c00000, v8
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v9, 0xffff0000, v9
-; SI-NEXT: v_add_f32_e32 v9, 0x40c00000, v9
-; SI-NEXT: v_lshrrev_b32_e32 v9, 16, v9
; SI-NEXT: v_lshr_b64 v[8:9], v[8:9], 16
-; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_and_b32_e32 v9, 0xffff0000, v9
-; SI-NEXT: v_add_f32_e32 v9, 0x40c00000, v9
+; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:280 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v10, 0xffff0000, v10
+; SI-NEXT: v_and_b32_e32 v10, 0xffff0000, v35
; SI-NEXT: v_add_f32_e32 v10, 0x40c00000, v10
; SI-NEXT: v_lshrrev_b32_e32 v10, 16, v10
+; SI-NEXT: v_and_b32_e32 v9, 0xffff0000, v9
+; SI-NEXT: v_add_f32_e32 v9, 0x40c00000, v9
; SI-NEXT: v_lshr_b64 v[9:10], v[9:10], 16
; SI-NEXT: v_and_b32_e32 v10, 0xffff0000, v60
; SI-NEXT: v_add_f32_e32 v10, 0x40c00000, v10
@@ -63533,12 +63566,20 @@ define inreg <32 x float> @bitcast_v64bf16_to_v32f32_scalar(<64 x bfloat> inreg
; SI-NEXT: v_and_b32_e32 v15, 0xffff0000, v55
; SI-NEXT: v_add_f32_e32 v15, 0x40c00000, v15
; SI-NEXT: v_lshr_b64 v[15:16], v[15:16], 16
-; SI-NEXT: v_and_b32_e32 v16, 0xffff0000, v51
+; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(2)
+; SI-NEXT: v_and_b32_e32 v16, 0xffff0000, v16
; SI-NEXT: v_add_f32_e32 v16, 0x40c00000, v16
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_and_b32_e32 v17, 0xffff0000, v17
+; SI-NEXT: v_add_f32_e32 v17, 0x40c00000, v17
+; SI-NEXT: v_lshrrev_b32_e32 v17, 16, v17
; SI-NEXT: v_lshr_b64 v[16:17], v[16:17], 16
; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(2)
; SI-NEXT: v_and_b32_e32 v17, 0xffff0000, v17
; SI-NEXT: v_add_f32_e32 v17, 0x40c00000, v17
@@ -63547,18 +63588,20 @@ define inreg <32 x float> @bitcast_v64bf16_to_v32f32_scalar(<64 x bfloat> inreg
; SI-NEXT: v_add_f32_e32 v18, 0x40c00000, v18
; SI-NEXT: v_lshrrev_b32_e32 v18, 16, v18
; SI-NEXT: v_lshr_b64 v[17:18], v[17:18], 16
-; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(2)
+; SI-NEXT: v_and_b32_e32 v18, 0xffff0000, v18
+; SI-NEXT: v_add_f32_e32 v18, 0x40c00000, v18
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v19, 0xffff0000, v54
+; SI-NEXT: v_and_b32_e32 v19, 0xffff0000, v19
; SI-NEXT: v_add_f32_e32 v19, 0x40c00000, v19
; SI-NEXT: v_lshrrev_b32_e32 v19, 16, v19
-; SI-NEXT: v_and_b32_e32 v18, 0xffff0000, v18
-; SI-NEXT: v_add_f32_e32 v18, 0x40c00000, v18
; SI-NEXT: v_lshr_b64 v[18:19], v[18:19], 16
; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(2)
; SI-NEXT: v_and_b32_e32 v19, 0xffff0000, v19
; SI-NEXT: v_add_f32_e32 v19, 0x40c00000, v19
@@ -63569,7 +63612,7 @@ define inreg <32 x float> @bitcast_v64bf16_to_v32f32_scalar(<64 x bfloat> inreg
; SI-NEXT: v_lshr_b64 v[19:20], v[19:20], 16
; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(2)
; SI-NEXT: v_and_b32_e32 v20, 0xffff0000, v20
; SI-NEXT: v_add_f32_e32 v20, 0x40c00000, v20
@@ -63578,9 +63621,9 @@ define inreg <32 x float> @bitcast_v64bf16_to_v32f32_scalar(<64 x bfloat> inreg
; SI-NEXT: v_add_f32_e32 v21, 0x40c00000, v21
; SI-NEXT: v_lshrrev_b32_e32 v21, 16, v21
; SI-NEXT: v_lshr_b64 v[20:21], v[20:21], 16
-; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(2)
; SI-NEXT: v_and_b32_e32 v21, 0xffff0000, v21
; SI-NEXT: v_add_f32_e32 v21, 0x40c00000, v21
@@ -63591,16 +63634,18 @@ define inreg <32 x float> @bitcast_v64bf16_to_v32f32_scalar(<64 x bfloat> inreg
; SI-NEXT: v_lshr_b64 v[21:22], v[21:22], 16
; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(2)
+; SI-NEXT: v_and_b32_e32 v22, 0xffff0000, v22
+; SI-NEXT: v_add_f32_e32 v22, 0x40c00000, v22
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v23, 0xffff0000, v50
+; SI-NEXT: v_and_b32_e32 v23, 0xffff0000, v23
; SI-NEXT: v_add_f32_e32 v23, 0x40c00000, v23
; SI-NEXT: v_lshrrev_b32_e32 v23, 16, v23
-; SI-NEXT: v_and_b32_e32 v22, 0xffff0000, v22
-; SI-NEXT: v_add_f32_e32 v22, 0x40c00000, v22
; SI-NEXT: v_lshr_b64 v[22:23], v[22:23], 16
; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(2)
; SI-NEXT: v_and_b32_e32 v23, 0xffff0000, v23
; SI-NEXT: v_add_f32_e32 v23, 0x40c00000, v23
@@ -63609,49 +63654,58 @@ define inreg <32 x float> @bitcast_v64bf16_to_v32f32_scalar(<64 x bfloat> inreg
; SI-NEXT: v_add_f32_e32 v24, 0x40c00000, v24
; SI-NEXT: v_lshrrev_b32_e32 v24, 16, v24
; SI-NEXT: v_lshr_b64 v[23:24], v[23:24], 16
-; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_and_b32_e32 v24, 0xffff0000, v24
-; SI-NEXT: v_add_f32_e32 v24, 0x40c00000, v24
-; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_and_b32_e32 v24, 0xffff0000, v32
+; SI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
; SI-NEXT: v_and_b32_e32 v25, 0xffff0000, v25
; SI-NEXT: v_add_f32_e32 v25, 0x40c00000, v25
+; SI-NEXT: v_add_f32_e32 v24, 0x40c00000, v24
; SI-NEXT: v_lshrrev_b32_e32 v25, 16, v25
; SI-NEXT: v_lshr_b64 v[24:25], v[24:25], 16
-; SI-NEXT: v_and_b32_e32 v25, 0xffff0000, v52
+; SI-NEXT: v_and_b32_e32 v25, 0xffff0000, v50
; SI-NEXT: v_add_f32_e32 v25, 0x40c00000, v25
; SI-NEXT: v_lshr_b64 v[25:26], v[25:26], 16
-; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_and_b32_e32 v26, 0xffff0000, v26
-; SI-NEXT: v_add_f32_e32 v26, 0x40c00000, v26
+; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v27, 0xffff0000, v27
+; SI-NEXT: v_and_b32_e32 v27, 0xffff0000, v62
; SI-NEXT: v_add_f32_e32 v27, 0x40c00000, v27
; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v27
+; SI-NEXT: v_and_b32_e32 v31, 0xffff0000, v31
+; SI-NEXT: v_add_f32_e32 v31, 0x40c00000, v31
+; SI-NEXT: v_lshrrev_b32_e32 v31, 16, v31
+; SI-NEXT: v_and_b32_e32 v32, 0xffff0000, v32
+; SI-NEXT: v_add_f32_e32 v32, 0x40c00000, v32
+; SI-NEXT: v_and_b32_e32 v33, 0xffff0000, v33
+; SI-NEXT: v_add_f32_e32 v33, 0x40c00000, v33
+; SI-NEXT: v_lshrrev_b32_e32 v33, 16, v33
+; SI-NEXT: v_lshr_b64 v[32:33], v[32:33], 16
+; SI-NEXT: v_and_b32_e32 v26, 0xffff0000, v26
+; SI-NEXT: v_add_f32_e32 v26, 0x40c00000, v26
; SI-NEXT: v_lshr_b64 v[26:27], v[26:27], 16
-; SI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_and_b32_e32 v27, 0xffff0000, v27
-; SI-NEXT: v_add_f32_e32 v27, 0x40c00000, v27
+; SI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v28, 0xffff0000, v28
+; SI-NEXT: v_and_b32_e32 v28, 0xffff0000, v40
; SI-NEXT: v_add_f32_e32 v28, 0x40c00000, v28
; SI-NEXT: v_lshrrev_b32_e32 v28, 16, v28
+; SI-NEXT: v_and_b32_e32 v27, 0xffff0000, v27
+; SI-NEXT: v_add_f32_e32 v27, 0x40c00000, v27
; SI-NEXT: v_lshr_b64 v[27:28], v[27:28], 16
-; SI-NEXT: v_and_b32_e32 v28, 0xffff0000, v45
+; SI-NEXT: v_and_b32_e32 v28, 0xffff0000, v53
; SI-NEXT: v_add_f32_e32 v28, 0x40c00000, v28
; SI-NEXT: v_lshr_b64 v[28:29], v[28:29], 16
-; SI-NEXT: v_and_b32_e32 v29, 0xffff0000, v44
+; SI-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_and_b32_e32 v30, 0xffff0000, v37
+; SI-NEXT: v_add_f32_e32 v30, 0x40c00000, v30
+; SI-NEXT: v_lshrrev_b32_e32 v30, 16, v30
+; SI-NEXT: v_and_b32_e32 v29, 0xffff0000, v29
; SI-NEXT: v_add_f32_e32 v29, 0x40c00000, v29
; SI-NEXT: v_lshr_b64 v[29:30], v[29:30], 16
-; SI-NEXT: v_and_b32_e32 v30, 0xffff0000, v49
+; SI-NEXT: v_and_b32_e32 v30, 0xffff0000, v48
; SI-NEXT: v_add_f32_e32 v30, 0x40c00000, v30
; SI-NEXT: v_lshr_b64 v[30:31], v[30:31], 16
; SI-NEXT: v_mov_b32_e32 v31, v32
@@ -63666,7 +63720,6 @@ define inreg <32 x float> @bitcast_v64bf16_to_v32f32_scalar(<64 x bfloat> inreg
; SI-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:28 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:32 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:36 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt expcnt(2)
; SI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:40 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:44 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:48 ; 4-byte Folded Reload
@@ -63678,7 +63731,7 @@ define inreg <32 x float> @bitcast_v64bf16_to_v32f32_scalar(<64 x bfloat> inreg
; SI-NEXT: v_readlane_b32 s35, v63, 1
; SI-NEXT: v_readlane_b32 s34, v63, 0
; SI-NEXT: s_or_saveexec_b64 s[4:5], -1
-; SI-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:320 ; 4-byte Folded Reload
; SI-NEXT: s_mov_b64 exec, s[4:5]
; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0)
; SI-NEXT: s_setpc_b64 s[30:31]
@@ -67139,8 +67192,10 @@ define inreg <64 x half> @bitcast_v32f32_to_v64f16_scalar(<32 x float> inreg %a,
; SI-NEXT: v_writelane_b32 v63, s55, 13
; SI-NEXT: v_writelane_b32 v63, s64, 14
; SI-NEXT: v_writelane_b32 v63, s65, 15
-; SI-NEXT: v_writelane_b32 v63, s30, 16
-; SI-NEXT: v_writelane_b32 v63, s31, 17
+; SI-NEXT: v_writelane_b32 v63, s66, 16
+; SI-NEXT: v_writelane_b32 v63, s67, 17
+; SI-NEXT: v_writelane_b32 v63, s30, 18
+; SI-NEXT: v_writelane_b32 v63, s31, 19
; SI-NEXT: v_readfirstlane_b32 s44, v18
; SI-NEXT: v_readfirstlane_b32 s5, v17
; SI-NEXT: v_readfirstlane_b32 s4, v16
@@ -67163,82 +67218,80 @@ define inreg <64 x half> @bitcast_v32f32_to_v64f16_scalar(<32 x float> inreg %a,
; SI-NEXT: v_readfirstlane_b32 s44, v0
; SI-NEXT: s_cbranch_scc0 .LBB45_2
; SI-NEXT: ; %bb.1: ; %cmp.false
-; SI-NEXT: s_lshr_b32 s56, s23, 16
-; SI-NEXT: s_lshr_b32 s57, s21, 16
-; SI-NEXT: s_lshr_b32 s58, s19, 16
-; SI-NEXT: s_lshr_b32 s59, s17, 16
-; SI-NEXT: s_lshr_b64 vcc, s[4:5], 16
-; SI-NEXT: s_lshr_b64 s[30:31], s[6:7], 16
-; SI-NEXT: s_lshr_b64 s[34:35], s[8:9], 16
-; SI-NEXT: s_lshr_b64 s[46:47], s[10:11], 16
-; SI-NEXT: s_lshr_b32 s65, s5, 16
-; SI-NEXT: s_lshr_b32 s64, s7, 16
-; SI-NEXT: s_lshr_b32 s55, s9, 16
-; SI-NEXT: s_lshr_b32 s54, s11, 16
-; SI-NEXT: s_lshr_b32 s53, s13, 16
-; SI-NEXT: s_lshr_b32 s52, s15, 16
-; SI-NEXT: s_lshr_b32 s51, s41, 16
-; SI-NEXT: s_lshr_b32 s50, s43, 16
-; SI-NEXT: s_lshr_b32 s49, s45, 16
-; SI-NEXT: s_lshr_b32 s48, s29, 16
-; SI-NEXT: s_lshr_b32 s39, s27, 16
-; SI-NEXT: s_lshr_b32 s38, s25, 16
-; SI-NEXT: s_mov_b32 s35, s56
-; SI-NEXT: s_mov_b32 s31, s57
-; SI-NEXT: s_mov_b32 vcc_hi, s58
-; SI-NEXT: s_mov_b32 s47, s59
-; SI-NEXT: s_lshr_b64 s[56:57], s[12:13], 16
-; SI-NEXT: s_lshr_b64 s[58:59], s[14:15], 16
-; SI-NEXT: s_lshr_b64 s[60:61], s[40:41], 16
-; SI-NEXT: s_lshr_b64 s[62:63], s[42:43], 16
-; SI-NEXT: s_lshr_b64 s[72:73], s[44:45], 16
-; SI-NEXT: s_lshr_b64 s[74:75], s[28:29], 16
-; SI-NEXT: s_lshr_b64 s[76:77], s[26:27], 16
-; SI-NEXT: s_lshr_b64 s[78:79], s[24:25], 16
-; SI-NEXT: s_lshr_b64 s[88:89], s[22:23], 16
-; SI-NEXT: s_lshr_b64 s[90:91], s[20:21], 16
-; SI-NEXT: s_lshr_b64 s[92:93], s[18:19], 16
-; SI-NEXT: s_lshr_b64 s[94:95], s[16:17], 16
+; SI-NEXT: s_lshr_b32 s56, s17, 16
+; SI-NEXT: s_lshr_b64 s[46:47], s[4:5], 16
+; SI-NEXT: s_lshr_b32 s60, s5, 16
+; SI-NEXT: s_mov_b32 s47, s56
+; SI-NEXT: s_lshr_b64 s[56:57], s[10:11], 16
+; SI-NEXT: s_lshr_b32 s67, s7, 16
+; SI-NEXT: s_lshr_b32 s66, s9, 16
+; SI-NEXT: s_lshr_b32 s65, s11, 16
+; SI-NEXT: s_lshr_b32 s64, s13, 16
+; SI-NEXT: s_lshr_b32 s55, s15, 16
+; SI-NEXT: s_lshr_b32 s54, s41, 16
+; SI-NEXT: s_lshr_b32 s53, s43, 16
+; SI-NEXT: s_lshr_b32 s52, s45, 16
+; SI-NEXT: s_lshr_b32 s51, s29, 16
+; SI-NEXT: s_lshr_b32 s50, s27, 16
+; SI-NEXT: s_lshr_b32 s49, s25, 16
+; SI-NEXT: s_lshr_b32 s48, s23, 16
+; SI-NEXT: s_lshr_b32 s39, s21, 16
+; SI-NEXT: s_lshr_b32 s38, s19, 16
+; SI-NEXT: s_lshr_b64 s[58:59], s[6:7], 16
+; SI-NEXT: s_lshr_b64 s[72:73], s[8:9], 16
+; SI-NEXT: s_mov_b32 s57, s60
+; SI-NEXT: s_lshr_b64 s[60:61], s[12:13], 16
+; SI-NEXT: s_lshr_b64 s[62:63], s[14:15], 16
+; SI-NEXT: s_lshr_b64 s[74:75], s[40:41], 16
+; SI-NEXT: s_lshr_b64 s[76:77], s[42:43], 16
+; SI-NEXT: s_lshr_b64 s[78:79], s[44:45], 16
+; SI-NEXT: s_lshr_b64 s[88:89], s[28:29], 16
+; SI-NEXT: s_lshr_b64 s[90:91], s[26:27], 16
+; SI-NEXT: s_lshr_b64 s[92:93], s[24:25], 16
+; SI-NEXT: s_lshr_b64 s[94:95], s[22:23], 16
+; SI-NEXT: s_lshr_b64 vcc, s[20:21], 16
+; SI-NEXT: s_lshr_b64 s[30:31], s[18:19], 16
+; SI-NEXT: s_lshr_b64 s[34:35], s[16:17], 16
; SI-NEXT: s_mov_b64 s[36:37], 0
; SI-NEXT: s_branch .LBB45_3
; SI-NEXT: .LBB45_2:
; SI-NEXT: s_mov_b64 s[36:37], -1
-; SI-NEXT: ; implicit-def: $sgpr94
+; SI-NEXT: ; implicit-def: $sgpr34
; SI-NEXT: ; implicit-def: $sgpr47
-; SI-NEXT: ; implicit-def: $sgpr92
-; SI-NEXT: ; implicit-def: $vcc_hi
-; SI-NEXT: ; implicit-def: $sgpr90
-; SI-NEXT: ; implicit-def: $sgpr31
-; SI-NEXT: ; implicit-def: $sgpr88
-; SI-NEXT: ; implicit-def: $sgpr35
-; SI-NEXT: ; implicit-def: $sgpr78
+; SI-NEXT: ; implicit-def: $sgpr30
; SI-NEXT: ; implicit-def: $sgpr38
-; SI-NEXT: ; implicit-def: $sgpr76
+; SI-NEXT: ; implicit-def: $vcc_lo
; SI-NEXT: ; implicit-def: $sgpr39
-; SI-NEXT: ; implicit-def: $sgpr74
+; SI-NEXT: ; implicit-def: $sgpr94
; SI-NEXT: ; implicit-def: $sgpr48
-; SI-NEXT: ; implicit-def: $sgpr72
+; SI-NEXT: ; implicit-def: $sgpr92
; SI-NEXT: ; implicit-def: $sgpr49
-; SI-NEXT: ; implicit-def: $sgpr62
+; SI-NEXT: ; implicit-def: $sgpr90
; SI-NEXT: ; implicit-def: $sgpr50
-; SI-NEXT: ; implicit-def: $sgpr60
+; SI-NEXT: ; implicit-def: $sgpr88
; SI-NEXT: ; implicit-def: $sgpr51
-; SI-NEXT: ; implicit-def: $sgpr58
+; SI-NEXT: ; implicit-def: $sgpr78
; SI-NEXT: ; implicit-def: $sgpr52
-; SI-NEXT: ; implicit-def: $sgpr56
+; SI-NEXT: ; implicit-def: $sgpr76
; SI-NEXT: ; implicit-def: $sgpr53
-; SI-NEXT: ; implicit-def: $sgpr46
+; SI-NEXT: ; implicit-def: $sgpr74
; SI-NEXT: ; implicit-def: $sgpr54
+; SI-NEXT: ; implicit-def: $sgpr62
; SI-NEXT: ; implicit-def: $sgpr55
+; SI-NEXT: ; implicit-def: $sgpr60
; SI-NEXT: ; implicit-def: $sgpr64
+; SI-NEXT: ; implicit-def: $sgpr56
; SI-NEXT: ; implicit-def: $sgpr65
-; SI-NEXT: ; implicit-def: $sgpr34
-; SI-NEXT: ; implicit-def: $sgpr30
-; SI-NEXT: ; implicit-def: $vcc_lo
+; SI-NEXT: ; implicit-def: $sgpr66
+; SI-NEXT: ; implicit-def: $sgpr67
+; SI-NEXT: ; implicit-def: $sgpr57
+; SI-NEXT: ; implicit-def: $sgpr72
+; SI-NEXT: ; implicit-def: $sgpr58
+; SI-NEXT: ; implicit-def: $sgpr46
; SI-NEXT: .LBB45_3: ; %Flow
; SI-NEXT: s_and_b64 s[36:37], s[36:37], exec
-; SI-NEXT: s_cselect_b32 s57, 1, 0
-; SI-NEXT: s_cmp_lg_u32 s57, 1
+; SI-NEXT: s_cselect_b32 s59, 1, 0
+; SI-NEXT: s_cmp_lg_u32 s59, 1
; SI-NEXT: s_cbranch_scc1 .LBB45_5
; SI-NEXT: ; %bb.4: ; %cmp.true
; SI-NEXT: v_add_f32_e64 v31, s5, 1.0
@@ -67310,7 +67363,7 @@ define inreg <64 x half> @bitcast_v32f32_to_v64f16_scalar(<32 x float> inreg %a,
; SI-NEXT: v_lshrrev_b32_e32 v32, 16, v1
; SI-NEXT: s_branch .LBB45_6
; SI-NEXT: .LBB45_5:
-; SI-NEXT: v_mov_b32_e32 v33, vcc_lo
+; SI-NEXT: v_mov_b32_e32 v33, s46
; SI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
; SI-NEXT: v_mov_b32_e32 v0, s16
@@ -67347,38 +67400,38 @@ define inreg <64 x half> @bitcast_v32f32_to_v64f16_scalar(<32 x float> inreg %a,
; SI-NEXT: v_mov_b32_e32 v31, s5
; SI-NEXT: v_mov_b32_e32 v32, s47
; SI-NEXT: s_waitcnt expcnt(2)
-; SI-NEXT: v_mov_b32_e32 v62, vcc_hi
-; SI-NEXT: v_mov_b32_e32 v61, s31
-; SI-NEXT: v_mov_b32_e32 v60, s35
-; SI-NEXT: v_mov_b32_e32 v59, s38
-; SI-NEXT: v_mov_b32_e32 v58, s39
-; SI-NEXT: v_mov_b32_e32 v57, s48
-; SI-NEXT: v_mov_b32_e32 v56, s49
-; SI-NEXT: v_mov_b32_e32 v47, s50
-; SI-NEXT: v_mov_b32_e32 v46, s51
-; SI-NEXT: v_mov_b32_e32 v45, s52
-; SI-NEXT: v_mov_b32_e32 v44, s53
-; SI-NEXT: v_mov_b32_e32 v43, s54
-; SI-NEXT: v_mov_b32_e32 v42, s55
-; SI-NEXT: v_mov_b32_e32 v41, s64
-; SI-NEXT: v_mov_b32_e32 v55, s65
+; SI-NEXT: v_mov_b32_e32 v62, s38
+; SI-NEXT: v_mov_b32_e32 v61, s39
+; SI-NEXT: v_mov_b32_e32 v60, s48
+; SI-NEXT: v_mov_b32_e32 v59, s49
+; SI-NEXT: v_mov_b32_e32 v58, s50
+; SI-NEXT: v_mov_b32_e32 v57, s51
+; SI-NEXT: v_mov_b32_e32 v56, s52
+; SI-NEXT: v_mov_b32_e32 v47, s53
+; SI-NEXT: v_mov_b32_e32 v46, s54
+; SI-NEXT: v_mov_b32_e32 v45, s55
+; SI-NEXT: v_mov_b32_e32 v44, s64
+; SI-NEXT: v_mov_b32_e32 v43, s65
+; SI-NEXT: v_mov_b32_e32 v42, s66
+; SI-NEXT: v_mov_b32_e32 v41, s67
+; SI-NEXT: v_mov_b32_e32 v55, s57
; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_mov_b32_e32 v33, s30
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mov_b32_e32 v34, s34
-; SI-NEXT: v_mov_b32_e32 v35, s46
-; SI-NEXT: v_mov_b32_e32 v36, s56
-; SI-NEXT: v_mov_b32_e32 v37, s58
-; SI-NEXT: v_mov_b32_e32 v38, s60
-; SI-NEXT: v_mov_b32_e32 v48, s62
-; SI-NEXT: v_mov_b32_e32 v49, s72
-; SI-NEXT: v_mov_b32_e32 v50, s74
-; SI-NEXT: v_mov_b32_e32 v51, s76
-; SI-NEXT: v_mov_b32_e32 v52, s78
-; SI-NEXT: v_mov_b32_e32 v53, s88
-; SI-NEXT: v_mov_b32_e32 v54, s90
-; SI-NEXT: v_mov_b32_e32 v39, s92
-; SI-NEXT: v_mov_b32_e32 v40, s94
+; SI-NEXT: v_mov_b32_e32 v33, s58
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_mov_b32_e32 v34, s72
+; SI-NEXT: v_mov_b32_e32 v35, s56
+; SI-NEXT: v_mov_b32_e32 v36, s60
+; SI-NEXT: v_mov_b32_e32 v37, s62
+; SI-NEXT: v_mov_b32_e32 v38, s74
+; SI-NEXT: v_mov_b32_e32 v48, s76
+; SI-NEXT: v_mov_b32_e32 v49, s78
+; SI-NEXT: v_mov_b32_e32 v50, s88
+; SI-NEXT: v_mov_b32_e32 v51, s90
+; SI-NEXT: v_mov_b32_e32 v52, s92
+; SI-NEXT: v_mov_b32_e32 v53, s94
+; SI-NEXT: v_mov_b32_e32 v54, vcc_lo
+; SI-NEXT: v_mov_b32_e32 v39, s30
+; SI-NEXT: v_mov_b32_e32 v40, s34
; SI-NEXT: .LBB45_6: ; %end
; SI-NEXT: v_and_b32_e32 v1, 0xffff, v1
; SI-NEXT: v_lshlrev_b32_e32 v32, 16, v32
@@ -67489,8 +67542,10 @@ define inreg <64 x half> @bitcast_v32f32_to_v64f16_scalar(<32 x float> inreg %a,
; SI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload
; SI-NEXT: v_and_b32_e32 v30, 0xffff, v30
; SI-NEXT: v_and_b32_e32 v31, 0xffff, v31
-; SI-NEXT: v_readlane_b32 s30, v63, 16
-; SI-NEXT: v_readlane_b32 s31, v63, 17
+; SI-NEXT: v_readlane_b32 s30, v63, 18
+; SI-NEXT: v_readlane_b32 s31, v63, 19
+; SI-NEXT: v_readlane_b32 s67, v63, 17
+; SI-NEXT: v_readlane_b32 s66, v63, 16
; SI-NEXT: v_readlane_b32 s65, v63, 15
; SI-NEXT: v_readlane_b32 s64, v63, 14
; SI-NEXT: v_readlane_b32 s55, v63, 13
@@ -70506,8 +70561,10 @@ define inreg <64 x i16> @bitcast_v32f32_to_v64i16_scalar(<32 x float> inreg %a,
; SI-NEXT: v_writelane_b32 v63, s55, 13
; SI-NEXT: v_writelane_b32 v63, s64, 14
; SI-NEXT: v_writelane_b32 v63, s65, 15
-; SI-NEXT: v_writelane_b32 v63, s30, 16
-; SI-NEXT: v_writelane_b32 v63, s31, 17
+; SI-NEXT: v_writelane_b32 v63, s66, 16
+; SI-NEXT: v_writelane_b32 v63, s67, 17
+; SI-NEXT: v_writelane_b32 v63, s30, 18
+; SI-NEXT: v_writelane_b32 v63, s31, 19
; SI-NEXT: v_readfirstlane_b32 s44, v18
; SI-NEXT: v_readfirstlane_b32 s5, v17
; SI-NEXT: v_readfirstlane_b32 s4, v16
@@ -70530,82 +70587,80 @@ define inreg <64 x i16> @bitcast_v32f32_to_v64i16_scalar(<32 x float> inreg %a,
; SI-NEXT: v_readfirstlane_b32 s44, v0
; SI-NEXT: s_cbranch_scc0 .LBB49_2
; SI-NEXT: ; %bb.1: ; %cmp.false
-; SI-NEXT: s_lshr_b32 s56, s23, 16
-; SI-NEXT: s_lshr_b32 s57, s21, 16
-; SI-NEXT: s_lshr_b32 s58, s19, 16
-; SI-NEXT: s_lshr_b32 s59, s17, 16
-; SI-NEXT: s_lshr_b64 vcc, s[4:5], 16
-; SI-NEXT: s_lshr_b64 s[30:31], s[6:7], 16
-; SI-NEXT: s_lshr_b64 s[34:35], s[8:9], 16
-; SI-NEXT: s_lshr_b64 s[46:47], s[10:11], 16
-; SI-NEXT: s_lshr_b32 s65, s5, 16
-; SI-NEXT: s_lshr_b32 s64, s7, 16
-; SI-NEXT: s_lshr_b32 s55, s9, 16
-; SI-NEXT: s_lshr_b32 s54, s11, 16
-; SI-NEXT: s_lshr_b32 s53, s13, 16
-; SI-NEXT: s_lshr_b32 s52, s15, 16
-; SI-NEXT: s_lshr_b32 s51, s41, 16
-; SI-NEXT: s_lshr_b32 s50, s43, 16
-; SI-NEXT: s_lshr_b32 s49, s45, 16
-; SI-NEXT: s_lshr_b32 s48, s29, 16
-; SI-NEXT: s_lshr_b32 s39, s27, 16
-; SI-NEXT: s_lshr_b32 s38, s25, 16
-; SI-NEXT: s_mov_b32 s35, s56
-; SI-NEXT: s_mov_b32 s31, s57
-; SI-NEXT: s_mov_b32 vcc_hi, s58
-; SI-NEXT: s_mov_b32 s47, s59
-; SI-NEXT: s_lshr_b64 s[56:57], s[12:13], 16
-; SI-NEXT: s_lshr_b64 s[58:59], s[14:15], 16
-; SI-NEXT: s_lshr_b64 s[60:61], s[40:41], 16
-; SI-NEXT: s_lshr_b64 s[62:63], s[42:43], 16
-; SI-NEXT: s_lshr_b64 s[72:73], s[44:45], 16
-; SI-NEXT: s_lshr_b64 s[74:75], s[28:29], 16
-; SI-NEXT: s_lshr_b64 s[76:77], s[26:27], 16
-; SI-NEXT: s_lshr_b64 s[78:79], s[24:25], 16
-; SI-NEXT: s_lshr_b64 s[88:89], s[22:23], 16
-; SI-NEXT: s_lshr_b64 s[90:91], s[20:21], 16
-; SI-NEXT: s_lshr_b64 s[92:93], s[18:19], 16
-; SI-NEXT: s_lshr_b64 s[94:95], s[16:17], 16
+; SI-NEXT: s_lshr_b32 s56, s17, 16
+; SI-NEXT: s_lshr_b64 s[46:47], s[4:5], 16
+; SI-NEXT: s_lshr_b32 s60, s5, 16
+; SI-NEXT: s_mov_b32 s47, s56
+; SI-NEXT: s_lshr_b64 s[56:57], s[10:11], 16
+; SI-NEXT: s_lshr_b32 s67, s7, 16
+; SI-NEXT: s_lshr_b32 s66, s9, 16
+; SI-NEXT: s_lshr_b32 s65, s11, 16
+; SI-NEXT: s_lshr_b32 s64, s13, 16
+; SI-NEXT: s_lshr_b32 s55, s15, 16
+; SI-NEXT: s_lshr_b32 s54, s41, 16
+; SI-NEXT: s_lshr_b32 s53, s43, 16
+; SI-NEXT: s_lshr_b32 s52, s45, 16
+; SI-NEXT: s_lshr_b32 s51, s29, 16
+; SI-NEXT: s_lshr_b32 s50, s27, 16
+; SI-NEXT: s_lshr_b32 s49, s25, 16
+; SI-NEXT: s_lshr_b32 s48, s23, 16
+; SI-NEXT: s_lshr_b32 s39, s21, 16
+; SI-NEXT: s_lshr_b32 s38, s19, 16
+; SI-NEXT: s_lshr_b64 s[58:59], s[6:7], 16
+; SI-NEXT: s_lshr_b64 s[72:73], s[8:9], 16
+; SI-NEXT: s_mov_b32 s57, s60
+; SI-NEXT: s_lshr_b64 s[60:61], s[12:13], 16
+; SI-NEXT: s_lshr_b64 s[62:63], s[14:15], 16
+; SI-NEXT: s_lshr_b64 s[74:75], s[40:41], 16
+; SI-NEXT: s_lshr_b64 s[76:77], s[42:43], 16
+; SI-NEXT: s_lshr_b64 s[78:79], s[44:45], 16
+; SI-NEXT: s_lshr_b64 s[88:89], s[28:29], 16
+; SI-NEXT: s_lshr_b64 s[90:91], s[26:27], 16
+; SI-NEXT: s_lshr_b64 s[92:93], s[24:25], 16
+; SI-NEXT: s_lshr_b64 s[94:95], s[22:23], 16
+; SI-NEXT: s_lshr_b64 vcc, s[20:21], 16
+; SI-NEXT: s_lshr_b64 s[30:31], s[18:19], 16
+; SI-NEXT: s_lshr_b64 s[34:35], s[16:17], 16
; SI-NEXT: s_mov_b64 s[36:37], 0
; SI-NEXT: s_branch .LBB49_3
; SI-NEXT: .LBB49_2:
; SI-NEXT: s_mov_b64 s[36:37], -1
-; SI-NEXT: ; implicit-def: $sgpr94
+; SI-NEXT: ; implicit-def: $sgpr34
; SI-NEXT: ; implicit-def: $sgpr47
-; SI-NEXT: ; implicit-def: $sgpr92
-; SI-NEXT: ; implicit-def: $vcc_hi
-; SI-NEXT: ; implicit-def: $sgpr90
-; SI-NEXT: ; implicit-def: $sgpr31
-; SI-NEXT: ; implicit-def: $sgpr88
-; SI-NEXT: ; implicit-def: $sgpr35
-; SI-NEXT: ; implicit-def: $sgpr78
+; SI-NEXT: ; implicit-def: $sgpr30
; SI-NEXT: ; implicit-def: $sgpr38
-; SI-NEXT: ; implicit-def: $sgpr76
+; SI-NEXT: ; implicit-def: $vcc_lo
; SI-NEXT: ; implicit-def: $sgpr39
-; SI-NEXT: ; implicit-def: $sgpr74
+; SI-NEXT: ; implicit-def: $sgpr94
; SI-NEXT: ; implicit-def: $sgpr48
-; SI-NEXT: ; implicit-def: $sgpr72
+; SI-NEXT: ; implicit-def: $sgpr92
; SI-NEXT: ; implicit-def: $sgpr49
-; SI-NEXT: ; implicit-def: $sgpr62
+; SI-NEXT: ; implicit-def: $sgpr90
; SI-NEXT: ; implicit-def: $sgpr50
-; SI-NEXT: ; implicit-def: $sgpr60
+; SI-NEXT: ; implicit-def: $sgpr88
; SI-NEXT: ; implicit-def: $sgpr51
-; SI-NEXT: ; implicit-def: $sgpr58
+; SI-NEXT: ; implicit-def: $sgpr78
; SI-NEXT: ; implicit-def: $sgpr52
-; SI-NEXT: ; implicit-def: $sgpr56
+; SI-NEXT: ; implicit-def: $sgpr76
; SI-NEXT: ; implicit-def: $sgpr53
-; SI-NEXT: ; implicit-def: $sgpr46
+; SI-NEXT: ; implicit-def: $sgpr74
; SI-NEXT: ; implicit-def: $sgpr54
+; SI-NEXT: ; implicit-def: $sgpr62
; SI-NEXT: ; implicit-def: $sgpr55
+; SI-NEXT: ; implicit-def: $sgpr60
; SI-NEXT: ; implicit-def: $sgpr64
+; SI-NEXT: ; implicit-def: $sgpr56
; SI-NEXT: ; implicit-def: $sgpr65
-; SI-NEXT: ; implicit-def: $sgpr34
-; SI-NEXT: ; implicit-def: $sgpr30
-; SI-NEXT: ; implicit-def: $vcc_lo
+; SI-NEXT: ; implicit-def: $sgpr66
+; SI-NEXT: ; implicit-def: $sgpr67
+; SI-NEXT: ; implicit-def: $sgpr57
+; SI-NEXT: ; implicit-def: $sgpr72
+; SI-NEXT: ; implicit-def: $sgpr58
+; SI-NEXT: ; implicit-def: $sgpr46
; SI-NEXT: .LBB49_3: ; %Flow
; SI-NEXT: s_and_b64 s[36:37], s[36:37], exec
-; SI-NEXT: s_cselect_b32 s57, 1, 0
-; SI-NEXT: s_cmp_lg_u32 s57, 1
+; SI-NEXT: s_cselect_b32 s59, 1, 0
+; SI-NEXT: s_cmp_lg_u32 s59, 1
; SI-NEXT: s_cbranch_scc1 .LBB49_5
; SI-NEXT: ; %bb.4: ; %cmp.true
; SI-NEXT: v_add_f32_e64 v31, s5, 1.0
@@ -70677,7 +70732,7 @@ define inreg <64 x i16> @bitcast_v32f32_to_v64i16_scalar(<32 x float> inreg %a,
; SI-NEXT: v_lshrrev_b32_e32 v32, 16, v1
; SI-NEXT: s_branch .LBB49_6
; SI-NEXT: .LBB49_5:
-; SI-NEXT: v_mov_b32_e32 v33, vcc_lo
+; SI-NEXT: v_mov_b32_e32 v33, s46
; SI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
; SI-NEXT: v_mov_b32_e32 v0, s16
@@ -70714,38 +70769,38 @@ define inreg <64 x i16> @bitcast_v32f32_to_v64i16_scalar(<32 x float> inreg %a,
; SI-NEXT: v_mov_b32_e32 v31, s5
; SI-NEXT: v_mov_b32_e32 v32, s47
; SI-NEXT: s_waitcnt expcnt(2)
-; SI-NEXT: v_mov_b32_e32 v62, vcc_hi
-; SI-NEXT: v_mov_b32_e32 v61, s31
-; SI-NEXT: v_mov_b32_e32 v60, s35
-; SI-NEXT: v_mov_b32_e32 v59, s38
-; SI-NEXT: v_mov_b32_e32 v58, s39
-; SI-NEXT: v_mov_b32_e32 v57, s48
-; SI-NEXT: v_mov_b32_e32 v56, s49
-; SI-NEXT: v_mov_b32_e32 v47, s50
-; SI-NEXT: v_mov_b32_e32 v46, s51
-; SI-NEXT: v_mov_b32_e32 v45, s52
-; SI-NEXT: v_mov_b32_e32 v44, s53
-; SI-NEXT: v_mov_b32_e32 v43, s54
-; SI-NEXT: v_mov_b32_e32 v42, s55
-; SI-NEXT: v_mov_b32_e32 v41, s64
-; SI-NEXT: v_mov_b32_e32 v55, s65
+; SI-NEXT: v_mov_b32_e32 v62, s38
+; SI-NEXT: v_mov_b32_e32 v61, s39
+; SI-NEXT: v_mov_b32_e32 v60, s48
+; SI-NEXT: v_mov_b32_e32 v59, s49
+; SI-NEXT: v_mov_b32_e32 v58, s50
+; SI-NEXT: v_mov_b32_e32 v57, s51
+; SI-NEXT: v_mov_b32_e32 v56, s52
+; SI-NEXT: v_mov_b32_e32 v47, s53
+; SI-NEXT: v_mov_b32_e32 v46, s54
+; SI-NEXT: v_mov_b32_e32 v45, s55
+; SI-NEXT: v_mov_b32_e32 v44, s64
+; SI-NEXT: v_mov_b32_e32 v43, s65
+; SI-NEXT: v_mov_b32_e32 v42, s66
+; SI-NEXT: v_mov_b32_e32 v41, s67
+; SI-NEXT: v_mov_b32_e32 v55, s57
; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_mov_b32_e32 v33, s30
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mov_b32_e32 v34, s34
-; SI-NEXT: v_mov_b32_e32 v35, s46
-; SI-NEXT: v_mov_b32_e32 v36, s56
-; SI-NEXT: v_mov_b32_e32 v37, s58
-; SI-NEXT: v_mov_b32_e32 v38, s60
-; SI-NEXT: v_mov_b32_e32 v48, s62
-; SI-NEXT: v_mov_b32_e32 v49, s72
-; SI-NEXT: v_mov_b32_e32 v50, s74
-; SI-NEXT: v_mov_b32_e32 v51, s76
-; SI-NEXT: v_mov_b32_e32 v52, s78
-; SI-NEXT: v_mov_b32_e32 v53, s88
-; SI-NEXT: v_mov_b32_e32 v54, s90
-; SI-NEXT: v_mov_b32_e32 v39, s92
-; SI-NEXT: v_mov_b32_e32 v40, s94
+; SI-NEXT: v_mov_b32_e32 v33, s58
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_mov_b32_e32 v34, s72
+; SI-NEXT: v_mov_b32_e32 v35, s56
+; SI-NEXT: v_mov_b32_e32 v36, s60
+; SI-NEXT: v_mov_b32_e32 v37, s62
+; SI-NEXT: v_mov_b32_e32 v38, s74
+; SI-NEXT: v_mov_b32_e32 v48, s76
+; SI-NEXT: v_mov_b32_e32 v49, s78
+; SI-NEXT: v_mov_b32_e32 v50, s88
+; SI-NEXT: v_mov_b32_e32 v51, s90
+; SI-NEXT: v_mov_b32_e32 v52, s92
+; SI-NEXT: v_mov_b32_e32 v53, s94
+; SI-NEXT: v_mov_b32_e32 v54, vcc_lo
+; SI-NEXT: v_mov_b32_e32 v39, s30
+; SI-NEXT: v_mov_b32_e32 v40, s34
; SI-NEXT: .LBB49_6: ; %end
; SI-NEXT: v_and_b32_e32 v1, 0xffff, v1
; SI-NEXT: v_lshlrev_b32_e32 v32, 16, v32
@@ -70856,8 +70911,10 @@ define inreg <64 x i16> @bitcast_v32f32_to_v64i16_scalar(<32 x float> inreg %a,
; SI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload
; SI-NEXT: v_and_b32_e32 v30, 0xffff, v30
; SI-NEXT: v_and_b32_e32 v31, 0xffff, v31
-; SI-NEXT: v_readlane_b32 s30, v63, 16
-; SI-NEXT: v_readlane_b32 s31, v63, 17
+; SI-NEXT: v_readlane_b32 s30, v63, 18
+; SI-NEXT: v_readlane_b32 s31, v63, 19
+; SI-NEXT: v_readlane_b32 s67, v63, 17
+; SI-NEXT: v_readlane_b32 s66, v63, 16
; SI-NEXT: v_readlane_b32 s65, v63, 15
; SI-NEXT: v_readlane_b32 s64, v63, 14
; SI-NEXT: v_readlane_b32 s55, v63, 13
@@ -72149,11 +72206,11 @@ define inreg <32 x float> @bitcast_v64i16_to_v32f32_scalar(<64 x i16> inreg %a,
; SI-NEXT: s_lshr_b32 s67, s7, 16
; SI-NEXT: s_lshr_b32 s10, s9, 16
; SI-NEXT: s_lshr_b32 s12, s11, 16
-; SI-NEXT: s_lshr_b32 s14, s13, 16
+; SI-NEXT: s_lshr_b32 s64, s13, 16
; SI-NEXT: s_lshr_b32 s63, s15, 16
-; SI-NEXT: s_lshr_b32 s62, s73, 16
-; SI-NEXT: s_lshr_b32 s61, s75, 16
-; SI-NEXT: s_lshr_b32 s60, s77, 16
+; SI-NEXT: s_lshr_b32 s72, s73, 16
+; SI-NEXT: s_lshr_b32 s74, s75, 16
+; SI-NEXT: s_lshr_b32 s76, s77, 16
; SI-NEXT: s_lshr_b32 s78, s79, 16
; SI-NEXT: s_lshr_b32 s88, s89, 16
; SI-NEXT: s_lshr_b32 s90, s91, 16
@@ -72168,8 +72225,8 @@ define inreg <32 x float> @bitcast_v64i16_to_v32f32_scalar(<64 x i16> inreg %a,
; SI-NEXT: ; implicit-def: $vgpr33 : SGPR spill to VGPR lane
; SI-NEXT: s_cmp_lg_u32 s5, 0
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_writelane_b32 v33, s14, 0
-; SI-NEXT: v_writelane_b32 v33, s63, 1
+; SI-NEXT: v_writelane_b32 v33, s12, 0
+; SI-NEXT: v_writelane_b32 v33, s64, 1
; SI-NEXT: s_cbranch_scc0 .LBB51_2
; SI-NEXT: ; %bb.1: ; %cmp.false
; SI-NEXT: s_and_b32 s5, s16, 0xffff
@@ -72246,22 +72303,20 @@ define inreg <32 x float> @bitcast_v64i16_to_v32f32_scalar(<64 x i16> inreg %a,
; SI-NEXT: s_lshl_b32 s5, s78, 16
; SI-NEXT: s_or_b32 s59, s4, s5
; SI-NEXT: s_and_b32 s4, s77, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s60, 16
-; SI-NEXT: s_mov_b32 s74, s60
+; SI-NEXT: s_lshl_b32 s5, s76, 16
; SI-NEXT: s_or_b32 s60, s4, s5
; SI-NEXT: s_and_b32 s4, s75, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s61, 16
-; SI-NEXT: s_mov_b32 s76, s61
+; SI-NEXT: s_lshl_b32 s5, s74, 16
; SI-NEXT: s_or_b32 s61, s4, s5
; SI-NEXT: s_and_b32 s4, s73, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s62, 16
-; SI-NEXT: s_mov_b32 s72, s62
+; SI-NEXT: s_lshl_b32 s5, s72, 16
; SI-NEXT: s_or_b32 s62, s4, s5
; SI-NEXT: s_and_b32 s4, s15, 0xffff
; SI-NEXT: s_lshl_b32 s5, s63, 16
+; SI-NEXT: s_mov_b32 s14, s63
; SI-NEXT: s_or_b32 s63, s4, s5
; SI-NEXT: s_and_b32 s4, s13, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s14, 16
+; SI-NEXT: s_lshl_b32 s5, s64, 16
; SI-NEXT: s_or_b32 s64, s4, s5
; SI-NEXT: s_and_b32 s4, s11, 0xffff
; SI-NEXT: s_lshl_b32 s5, s12, 16
@@ -72271,17 +72326,13 @@ define inreg <32 x float> @bitcast_v64i16_to_v32f32_scalar(<64 x i16> inreg %a,
; SI-NEXT: s_or_b32 s66, s4, s5
; SI-NEXT: s_and_b32 s4, s7, 0xffff
; SI-NEXT: s_lshl_b32 s5, s67, 16
-; SI-NEXT: s_mov_b32 s14, s12
; SI-NEXT: s_mov_b32 s12, s10
; SI-NEXT: s_mov_b32 s10, s67
; SI-NEXT: s_or_b32 s67, s4, s5
; SI-NEXT: s_mov_b64 s[4:5], 0
; SI-NEXT: s_branch .LBB51_3
; SI-NEXT: .LBB51_2:
-; SI-NEXT: s_mov_b32 s74, s60
-; SI-NEXT: s_mov_b32 s76, s61
-; SI-NEXT: s_mov_b32 s72, s62
-; SI-NEXT: s_mov_b32 s14, s12
+; SI-NEXT: s_mov_b32 s14, s63
; SI-NEXT: s_mov_b32 s12, s10
; SI-NEXT: s_mov_b32 s10, s67
; SI-NEXT: s_mov_b32 s8, s4
@@ -72415,12 +72466,12 @@ define inreg <32 x float> @bitcast_v64i16_to_v32f32_scalar(<64 x i16> inreg %a,
; SI-NEXT: s_add_i32 s77, s77, 3
; SI-NEXT: s_add_i32 s59, s4, 0x30000
; SI-NEXT: s_and_b32 s4, s77, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s74, 16
+; SI-NEXT: s_lshl_b32 s5, s76, 16
; SI-NEXT: s_or_b32 s4, s5, s4
; SI-NEXT: s_add_i32 s75, s75, 3
; SI-NEXT: s_add_i32 s60, s4, 0x30000
; SI-NEXT: s_and_b32 s4, s75, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s76, 16
+; SI-NEXT: s_lshl_b32 s5, s74, 16
; SI-NEXT: s_or_b32 s4, s5, s4
; SI-NEXT: s_add_i32 s73, s73, 3
; SI-NEXT: s_add_i32 s61, s4, 0x30000
@@ -72428,21 +72479,21 @@ define inreg <32 x float> @bitcast_v64i16_to_v32f32_scalar(<64 x i16> inreg %a,
; SI-NEXT: s_lshl_b32 s5, s72, 16
; SI-NEXT: s_or_b32 s4, s5, s4
; SI-NEXT: s_add_i32 s15, s15, 3
-; SI-NEXT: v_readlane_b32 s5, v33, 1
; SI-NEXT: s_add_i32 s62, s4, 0x30000
; SI-NEXT: s_and_b32 s4, s15, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s5, 16
+; SI-NEXT: s_lshl_b32 s5, s14, 16
; SI-NEXT: s_or_b32 s4, s5, s4
; SI-NEXT: s_add_i32 s13, s13, 3
-; SI-NEXT: v_readlane_b32 s5, v33, 0
+; SI-NEXT: v_readlane_b32 s5, v33, 1
; SI-NEXT: s_add_i32 s63, s4, 0x30000
; SI-NEXT: s_and_b32 s4, s13, 0xffff
; SI-NEXT: s_lshl_b32 s5, s5, 16
; SI-NEXT: s_or_b32 s4, s5, s4
; SI-NEXT: s_add_i32 s11, s11, 3
+; SI-NEXT: v_readlane_b32 s5, v33, 0
; SI-NEXT: s_add_i32 s64, s4, 0x30000
; SI-NEXT: s_and_b32 s4, s11, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s14, 16
+; SI-NEXT: s_lshl_b32 s5, s5, 16
; SI-NEXT: s_or_b32 s4, s5, s4
; SI-NEXT: s_add_i32 s9, s9, 3
; SI-NEXT: s_add_i32 s65, s4, 0x30000
@@ -75650,12 +75701,22 @@ define <128 x i8> @bitcast_v16i64_to_v128i8(<16 x i64> %a, i32 %b) #0 {
; VI-NEXT: ; implicit-def: $vgpr39
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
+; VI-NEXT: ; implicit-def: $vgpr35
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
+; VI-NEXT: ; kill: killed $vgpr35
+; VI-NEXT: ; implicit-def: $vgpr35
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
+; VI-NEXT: ; kill: killed $vgpr35
+; VI-NEXT: ; implicit-def: $vgpr35
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
+; VI-NEXT: ; kill: killed $vgpr35
+; VI-NEXT: ; implicit-def: $vgpr35
+; VI-NEXT: ; kill: killed $vgpr39
+; VI-NEXT: ; implicit-def: $vgpr39
+; VI-NEXT: ; kill: killed $vgpr35
; VI-NEXT: ; implicit-def: $vgpr35
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
@@ -75699,71 +75760,62 @@ define <128 x i8> @bitcast_v16i64_to_v128i8(<16 x i64> %a, i32 %b) #0 {
; VI-NEXT: ; implicit-def: $vgpr35
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr34
; VI-NEXT: ; kill: killed $vgpr35
; VI-NEXT: ; implicit-def: $vgpr35
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr34
-; VI-NEXT: ; implicit-def: $vgpr34
; VI-NEXT: ; kill: killed $vgpr35
; VI-NEXT: ; implicit-def: $vgpr35
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr34
-; VI-NEXT: ; implicit-def: $vgpr34
; VI-NEXT: ; kill: killed $vgpr35
; VI-NEXT: ; implicit-def: $vgpr35
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr34
-; VI-NEXT: ; implicit-def: $vgpr34
; VI-NEXT: ; kill: killed $vgpr35
; VI-NEXT: ; implicit-def: $vgpr35
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr34
-; VI-NEXT: ; implicit-def: $vgpr34
; VI-NEXT: ; kill: killed $vgpr35
; VI-NEXT: ; implicit-def: $vgpr35
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr34
-; VI-NEXT: ; implicit-def: $vgpr34
; VI-NEXT: ; kill: killed $vgpr35
; VI-NEXT: ; implicit-def: $vgpr35
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr34
-; VI-NEXT: ; implicit-def: $vgpr34
-; VI-NEXT: ; implicit-def: $vgpr36
; VI-NEXT: ; kill: killed $vgpr35
+; VI-NEXT: ; implicit-def: $vgpr35
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
+; VI-NEXT: ; implicit-def: $vgpr43
+; VI-NEXT: ; kill: killed $vgpr35
; VI-NEXT: ; implicit-def: $vgpr35
+; VI-NEXT: ; kill: killed $vgpr39
+; VI-NEXT: ; implicit-def: $vgpr39
+; VI-NEXT: ; implicit-def: $vgpr42
; VI-NEXT: ; implicit-def: $vgpr63
-; VI-NEXT: ; implicit-def: $vgpr62
-; VI-NEXT: ; implicit-def: $vgpr45
-; VI-NEXT: ; implicit-def: $vgpr44
+; VI-NEXT: ; implicit-def: $vgpr34
; VI-NEXT: ; implicit-def: $vgpr61
-; VI-NEXT: ; implicit-def: $vgpr51
; VI-NEXT: ; implicit-def: $vgpr60
-; VI-NEXT: ; implicit-def: $vgpr48
+; VI-NEXT: ; implicit-def: $vgpr44
; VI-NEXT: ; implicit-def: $vgpr59
; VI-NEXT: ; implicit-def: $vgpr58
-; VI-NEXT: ; implicit-def: $vgpr57
-; VI-NEXT: ; implicit-def: $vgpr56
; VI-NEXT: ; implicit-def: $vgpr50
+; VI-NEXT: ; implicit-def: $vgpr62
+; VI-NEXT: ; implicit-def: $vgpr56
+; VI-NEXT: ; implicit-def: $vgpr37
; VI-NEXT: ; implicit-def: $vgpr47
-; VI-NEXT: ; implicit-def: $vgpr38
; VI-NEXT: ; implicit-def: $vgpr46
; VI-NEXT: ; implicit-def: $vgpr49
-; VI-NEXT: ; kill: killed $vgpr34
-; VI-NEXT: ; implicit-def: $vgpr37
-; VI-NEXT: ; implicit-def: $vgpr43
-; VI-NEXT: ; implicit-def: $vgpr34
+; VI-NEXT: ; implicit-def: $vgpr45
+; VI-NEXT: ; implicit-def: $vgpr48
+; VI-NEXT: ; implicit-def: $vgpr57
+; VI-NEXT: ; implicit-def: $vgpr38
+; VI-NEXT: ; kill: killed $vgpr35
+; VI-NEXT: ; implicit-def: $vgpr36
+; VI-NEXT: ; implicit-def: $vgpr35
; VI-NEXT: ; implicit-def: $vgpr55
-; VI-NEXT: ; implicit-def: $vgpr42
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr41
; VI-NEXT: ; implicit-def: $vgpr40
@@ -75771,35 +75823,33 @@ define <128 x i8> @bitcast_v16i64_to_v128i8(<16 x i64> %a, i32 %b) #0 {
; VI-NEXT: ; implicit-def: $vgpr54
; VI-NEXT: ; implicit-def: $vgpr53
; VI-NEXT: ; implicit-def: $vgpr52
-; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr35
-; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr35
-; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr35
-; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr35
-; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr35
-; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr35
-; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr35
-; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr35
-; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr35
-; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr51
+; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr42
+; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr42
+; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr42
+; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr42
+; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr42
+; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr42
+; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr42
+; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr42
+; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
; VI-NEXT: s_waitcnt vmcnt(14)
; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v33
; VI-NEXT: ; implicit-def: $vgpr33
@@ -75808,180 +75858,181 @@ define <128 x i8> @bitcast_v16i64_to_v128i8(<16 x i64> %a, i32 %b) #0 {
; VI-NEXT: s_cbranch_execz .LBB56_2
; VI-NEXT: ; %bb.1: ; %cmp.false
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v32
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v32
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v32
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v31
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v31
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v30
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v30
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v30
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v29
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v29
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v28
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v28
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v28
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v27
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v27
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v26
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v26
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v26
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v25
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v25
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v24
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v24
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v24
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v23
-; VI-NEXT: v_lshrrev_b64 v[52:53], 24, v[31:32]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v23
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[51:52], 24, v[31:32]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v22
-; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v22
-; VI-NEXT: v_lshrrev_b64 v[52:53], 24, v[29:30]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v22
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[51:52], 24, v[29:30]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v21
-; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v21
-; VI-NEXT: v_lshrrev_b64 v[52:53], 24, v[27:28]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v20
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[51:52], 24, v[27:28]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v20
-; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v20
+; VI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v19
-; VI-NEXT: v_lshrrev_b64 v[52:53], 24, v[25:26]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v18
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v18
-; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[51:52], 24, v[25:26]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v18
-; VI-NEXT: v_lshrrev_b64 v[52:53], 24, v[23:24]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v17
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v17
-; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v16
-; VI-NEXT: v_lshrrev_b64 v[52:53], 24, v[21:22]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[51:52], 24, v[23:24]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v16
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v16
-; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v15
-; VI-NEXT: v_lshrrev_b64 v[52:53], 24, v[19:20]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[51:52], 24, v[21:22]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v15
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v14
-; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v14
-; VI-NEXT: v_lshrrev_b64 v[52:53], 24, v[17:18]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[51:52], 24, v[19:20]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v14
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v13
-; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v13
+; VI-NEXT: v_lshrrev_b64 v[51:52], 24, v[17:18]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v12
-; VI-NEXT: v_lshrrev_b64 v[52:53], 24, v[15:16]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v12
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v12
+; VI-NEXT: v_lshrrev_b64 v[51:52], 24, v[15:16]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v10
-; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v10
-; VI-NEXT: v_lshrrev_b64 v[52:53], 24, v[13:14]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v8
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[51:52], 24, v[13:14]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v8
-; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v6
; VI-NEXT: v_lshrrev_b64 v[52:53], 24, v[11:12]
-; VI-NEXT: v_lshrrev_b64 v[39:40], 24, v[5:6]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v6
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v6
; VI-NEXT: v_lshrrev_b64 v[53:54], 24, v[9:10]
-; VI-NEXT: v_lshrrev_b64 v[40:41], 24, v[3:4]
-; VI-NEXT: v_lshrrev_b32_e32 v35, 8, v20
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v4
+; VI-NEXT: v_lshrrev_b32_e32 v39, 8, v19
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v6
; VI-NEXT: v_lshrrev_b64 v[54:55], 24, v[7:8]
-; VI-NEXT: v_lshrrev_b64 v[41:42], 24, v[1:2]
-; VI-NEXT: v_lshrrev_b32_e32 v36, 8, v13
-; VI-NEXT: v_lshrrev_b32_e32 v34, 8, v12
-; VI-NEXT: v_lshrrev_b32_e32 v43, 16, v11
-; VI-NEXT: v_lshrrev_b32_e32 v37, 8, v11
-; VI-NEXT: v_lshrrev_b32_e32 v49, 8, v10
-; VI-NEXT: v_lshrrev_b32_e32 v46, 16, v9
-; VI-NEXT: v_lshrrev_b32_e32 v38, 8, v9
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v4
+; VI-NEXT: v_mov_b32_e32 v55, v39
+; VI-NEXT: v_lshrrev_b64 v[39:40], 24, v[5:6]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v4
+; VI-NEXT: v_lshrrev_b64 v[40:41], 24, v[3:4]
+; VI-NEXT: v_lshrrev_b32_e32 v35, 24, v18
+; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v18
+; VI-NEXT: v_lshrrev_b32_e32 v38, 24, v16
+; VI-NEXT: v_lshrrev_b32_e32 v57, 16, v11
+; VI-NEXT: v_lshrrev_b32_e32 v48, 8, v11
+; VI-NEXT: v_lshrrev_b32_e32 v45, 8, v10
+; VI-NEXT: v_lshrrev_b32_e32 v49, 16, v9
+; VI-NEXT: v_lshrrev_b32_e32 v46, 8, v9
; VI-NEXT: v_lshrrev_b32_e32 v47, 8, v8
-; VI-NEXT: v_lshrrev_b32_e32 v50, 16, v7
+; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v7
; VI-NEXT: v_lshrrev_b32_e32 v56, 8, v7
-; VI-NEXT: v_lshrrev_b32_e32 v57, 8, v6
-; VI-NEXT: v_lshrrev_b32_e32 v58, 16, v5
-; VI-NEXT: v_lshrrev_b32_e32 v59, 8, v5
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v48, 16, v4
-; VI-NEXT: v_lshrrev_b32_e32 v60, 8, v4
-; VI-NEXT: v_lshrrev_b32_e32 v51, 16, v3
-; VI-NEXT: v_lshrrev_b32_e32 v61, 8, v3
+; VI-NEXT: v_lshrrev_b32_e32 v62, 8, v6
+; VI-NEXT: v_lshrrev_b32_e32 v50, 16, v5
+; VI-NEXT: v_lshrrev_b32_e32 v43, 8, v5
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v58, 8, v4
+; VI-NEXT: v_lshrrev_b32_e32 v59, 16, v3
+; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v3
; VI-NEXT: v_lshrrev_b32_e32 v44, 24, v2
-; VI-NEXT: v_lshrrev_b32_e32 v45, 16, v2
-; VI-NEXT: v_lshrrev_b32_e32 v62, 8, v2
-; VI-NEXT: v_lshrrev_b32_e32 v63, 16, v1
-; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v1
-; VI-NEXT: v_lshrrev_b32_e32 v55, 8, v19
-; VI-NEXT: v_mov_b32_e32 v42, v35
+; VI-NEXT: v_lshrrev_b32_e32 v60, 16, v2
+; VI-NEXT: v_lshrrev_b32_e32 v61, 8, v2
+; VI-NEXT: v_lshrrev_b32_e32 v34, 16, v1
+; VI-NEXT: v_lshrrev_b32_e32 v63, 8, v1
+; VI-NEXT: v_lshrrev_b64 v[41:42], 24, v[1:2]
; VI-NEXT: .LBB56_2: ; %Flow
-; VI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]
+; VI-NEXT: s_or_saveexec_b64 s[4:5], s[4:5]
+; VI-NEXT: v_mov_b32_e32 v42, v38
+; VI-NEXT: s_xor_b64 exec, exec, s[4:5]
; VI-NEXT: s_cbranch_execz .LBB56_4
; VI-NEXT: ; %bb.3: ; %cmp.true
; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v1
@@ -76043,310 +76094,310 @@ define <128 x i8> @bitcast_v16i64_to_v128i8(<16 x i64> %a, i32 %b) #0 {
; VI-NEXT: v_lshrrev_b64 v[33:34], 24, v[15:16]
; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[33:34], 24, v[13:14]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v32
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v32
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v32
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v31
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v31
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v30
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v30
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v30
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v29
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v29
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v28
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v28
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v28
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v27
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v27
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v26
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v26
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v26
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v25
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v25
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v24
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v24
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v24
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v23
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v23
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v22
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v22
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v22
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v21
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v21
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v20
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v20
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v20
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v19
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v18
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v18
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v18
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v17
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v17
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v16
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v16
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v16
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v15
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v15
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v14
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v14
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v14
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v13
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v13
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v12
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v12
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v12
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v10
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v10
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v8
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v8
+; VI-NEXT: v_lshrrev_b64 v[51:52], 24, v[13:14]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v6
; VI-NEXT: v_lshrrev_b64 v[52:53], 24, v[11:12]
; VI-NEXT: v_lshrrev_b64 v[39:40], 24, v[5:6]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v6
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v6
; VI-NEXT: v_lshrrev_b64 v[53:54], 24, v[9:10]
; VI-NEXT: v_lshrrev_b64 v[40:41], 24, v[3:4]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v6
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v4
; VI-NEXT: v_lshrrev_b64 v[54:55], 24, v[7:8]
; VI-NEXT: v_lshrrev_b64 v[41:42], 24, v[1:2]
; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v4
-; VI-NEXT: v_lshrrev_b32_e32 v42, 8, v20
+; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v4
; VI-NEXT: v_lshrrev_b32_e32 v55, 8, v19
-; VI-NEXT: v_lshrrev_b32_e32 v36, 8, v13
-; VI-NEXT: v_lshrrev_b32_e32 v34, 8, v12
-; VI-NEXT: v_lshrrev_b32_e32 v43, 16, v11
-; VI-NEXT: v_lshrrev_b32_e32 v37, 8, v11
-; VI-NEXT: v_lshrrev_b32_e32 v49, 8, v10
-; VI-NEXT: v_lshrrev_b32_e32 v46, 16, v9
-; VI-NEXT: v_lshrrev_b32_e32 v38, 8, v9
+; VI-NEXT: v_lshrrev_b32_e32 v35, 24, v18
+; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v18
+; VI-NEXT: v_lshrrev_b32_e32 v42, 24, v16
+; VI-NEXT: v_lshrrev_b32_e32 v57, 16, v11
+; VI-NEXT: v_lshrrev_b32_e32 v48, 8, v11
+; VI-NEXT: v_lshrrev_b32_e32 v45, 8, v10
+; VI-NEXT: v_lshrrev_b32_e32 v49, 16, v9
+; VI-NEXT: v_lshrrev_b32_e32 v46, 8, v9
; VI-NEXT: v_lshrrev_b32_e32 v47, 8, v8
-; VI-NEXT: v_lshrrev_b32_e32 v50, 16, v7
+; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v7
; VI-NEXT: v_lshrrev_b32_e32 v56, 8, v7
-; VI-NEXT: v_lshrrev_b32_e32 v57, 8, v6
-; VI-NEXT: v_lshrrev_b32_e32 v58, 16, v5
-; VI-NEXT: v_lshrrev_b32_e32 v59, 8, v5
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v48, 16, v4
-; VI-NEXT: v_lshrrev_b32_e32 v60, 8, v4
-; VI-NEXT: v_lshrrev_b32_e32 v51, 16, v3
-; VI-NEXT: v_lshrrev_b32_e32 v61, 8, v3
+; VI-NEXT: v_lshrrev_b32_e32 v62, 8, v6
+; VI-NEXT: v_lshrrev_b32_e32 v50, 16, v5
+; VI-NEXT: v_lshrrev_b32_e32 v43, 8, v5
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v58, 8, v4
+; VI-NEXT: v_lshrrev_b32_e32 v59, 16, v3
+; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v3
; VI-NEXT: v_lshrrev_b32_e32 v44, 24, v2
-; VI-NEXT: v_lshrrev_b32_e32 v45, 16, v2
-; VI-NEXT: v_lshrrev_b32_e32 v62, 8, v2
-; VI-NEXT: v_lshrrev_b32_e32 v63, 16, v1
-; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v1
+; VI-NEXT: v_lshrrev_b32_e32 v60, 16, v2
+; VI-NEXT: v_lshrrev_b32_e32 v61, 8, v2
+; VI-NEXT: v_lshrrev_b32_e32 v34, 16, v1
+; VI-NEXT: v_lshrrev_b32_e32 v63, 8, v1
; VI-NEXT: .LBB56_4: ; %end
; VI-NEXT: s_or_b64 exec, exec, s[4:5]
+; VI-NEXT: buffer_load_dword v38, off, s[0:3], s32 offset:372 ; 4-byte Folded Reload
; VI-NEXT: s_mov_b32 s4, 0xc0c0004
-; VI-NEXT: v_perm_b32 v12, v12, v34, s4
-; VI-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:372 ; 4-byte Folded Reload
-; VI-NEXT: v_perm_b32 v13, v13, v36, s4
-; VI-NEXT: v_perm_b32 v1, v1, v33, s4
-; VI-NEXT: v_perm_b32 v33, v51, v40, s4
-; VI-NEXT: v_perm_b32 v51, v46, v53, s4
-; VI-NEXT: v_perm_b32 v9, v9, v38, s4
-; VI-NEXT: v_perm_b32 v38, v43, v52, s4
-; VI-NEXT: v_perm_b32 v11, v11, v37, s4
-; VI-NEXT: v_perm_b32 v41, v63, v41, s4
-; VI-NEXT: v_perm_b32 v10, v10, v49, s4
-; VI-NEXT: v_perm_b32 v2, v2, v62, s4
-; VI-NEXT: v_perm_b32 v3, v3, v61, s4
-; VI-NEXT: v_perm_b32 v4, v4, v60, s4
-; VI-NEXT: v_perm_b32 v39, v58, v39, s4
-; VI-NEXT: v_perm_b32 v5, v5, v59, s4
-; VI-NEXT: v_perm_b32 v6, v6, v57, s4
-; VI-NEXT: v_perm_b32 v50, v50, v54, s4
+; VI-NEXT: v_perm_b32 v11, v11, v48, s4
+; VI-NEXT: v_perm_b32 v3, v3, v33, s4
+; VI-NEXT: v_perm_b32 v33, v50, v39, s4
+; VI-NEXT: v_perm_b32 v39, v49, v53, s4
+; VI-NEXT: v_perm_b32 v49, v57, v52, s4
+; VI-NEXT: v_perm_b32 v34, v34, v41, s4
+; VI-NEXT: v_perm_b32 v1, v1, v63, s4
+; VI-NEXT: v_lshlrev_b32_e32 v34, 16, v34
+; VI-NEXT: v_or_b32_e32 v1, v1, v34
+; VI-NEXT: v_perm_b32 v2, v2, v61, s4
+; VI-NEXT: v_perm_b32 v40, v59, v40, s4
+; VI-NEXT: v_perm_b32 v4, v4, v58, s4
+; VI-NEXT: v_perm_b32 v5, v5, v43, s4
+; VI-NEXT: v_perm_b32 v6, v6, v62, s4
+; VI-NEXT: v_perm_b32 v37, v37, v54, s4
; VI-NEXT: v_perm_b32 v7, v7, v56, s4
; VI-NEXT: v_perm_b32 v8, v8, v47, s4
+; VI-NEXT: v_perm_b32 v9, v9, v46, s4
+; VI-NEXT: v_perm_b32 v10, v10, v45, s4
+; VI-NEXT: buffer_load_dword v48, off, s[0:3], s32 offset:360 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(1)
+; VI-NEXT: v_perm_b32 v12, v12, v38, s4
+; VI-NEXT: buffer_load_dword v38, off, s[0:3], s32 offset:356 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(1)
+; VI-NEXT: v_perm_b32 v13, v13, v48, s4
+; VI-NEXT: buffer_load_dword v48, off, s[0:3], s32 offset:352 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(1)
+; VI-NEXT: v_perm_b32 v38, v38, v51, s4
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v34, v35, v34, s4
-; VI-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:368 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v14, v14, v35, s4
-; VI-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v36, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v36, off, s[0:3], s32 offset:352 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v35, v36, v35, s4
-; VI-NEXT: buffer_load_dword v36, off, s[0:3], s32 offset:356 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v14, v14, v48, s4
+; VI-NEXT: buffer_load_dword v48, off, s[0:3], s32 offset:336 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(1)
+; VI-NEXT: v_perm_b32 v48, v48, v50, s4
+; VI-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:340 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v15, v15, v36, s4
-; VI-NEXT: buffer_load_dword v36, off, s[0:3], s32 offset:344 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v15, v15, v50, s4
+; VI-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:328 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v16, v16, v36, s4
-; VI-NEXT: buffer_load_dword v36, off, s[0:3], s32 offset:328 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v16, v16, v50, s4
+; VI-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:312 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_perm_b32 v37, v36, v52, s4
-; VI-NEXT: buffer_load_dword v36, off, s[0:3], s32 offset:336 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v50, v50, v51, s4
+; VI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:320 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v17, v17, v36, s4
-; VI-NEXT: buffer_load_dword v36, off, s[0:3], s32 offset:320 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v17, v17, v51, s4
+; VI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:304 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v18, v18, v36, s4
-; VI-NEXT: buffer_load_dword v36, off, s[0:3], s32 offset:308 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v18, v18, v51, s4
+; VI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_perm_b32 v49, v36, v52, s4
-; VI-NEXT: v_lshlrev_b32_e32 v52, 16, v41
-; VI-NEXT: v_or_b32_e32 v1, v1, v52
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen
-; VI-NEXT: v_perm_b32 v1, v45, v44, s4
+; VI-NEXT: v_perm_b32 v1, v60, v44, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v2, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:4
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v33
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v40
; VI-NEXT: v_or_b32_e32 v1, v3, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:8
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:376 ; 4-byte Folded Reload
-; VI-NEXT: v_perm_b32 v3, v20, v42, s4
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:364 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:368 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(6)
+; VI-NEXT: v_perm_b32 v51, v51, v52, s4
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v48, v1, s4
+; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v4, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:12
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v39
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v33
; VI-NEXT: v_or_b32_e32 v1, v5, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:16
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:360 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:364 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:344 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:348 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v6, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:20
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v50
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v37
; VI-NEXT: v_or_b32_e32 v1, v7, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:24
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:340 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:348 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:324 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:332 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v8, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:28
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v51
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v39
; VI-NEXT: v_or_b32_e32 v1, v9, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:32
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:324 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:332 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:308 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:316 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v10, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:36
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v38
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v49
; VI-NEXT: v_or_b32_e32 v1, v11, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:40
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:312 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:316 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:300 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v12, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:44
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v34
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v38
; VI-NEXT: v_or_b32_e32 v1, v13, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:48
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:300 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:304 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
+; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v51
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v14, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:52
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v35
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v48
; VI-NEXT: v_or_b32_e32 v1, v15, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:56
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:280 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v2, v1, s4
+; VI-NEXT: v_perm_b32 v1, v1, v42, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v16, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:60
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v37
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v50
; VI-NEXT: v_or_b32_e32 v1, v17, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:64
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v2, v1, s4
+; VI-NEXT: v_perm_b32 v1, v36, v35, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v18, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:68
; VI-NEXT: v_perm_b32 v1, v19, v55, s4
-; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v49
; VI-NEXT: v_or_b32_e32 v1, v1, v2
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:72
; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:276 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:280 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_perm_b32 v3, v20, v1, s4
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:268 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:272 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v3, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:76
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:272 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v2, v21, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:268 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
@@ -76354,20 +76405,20 @@ define <128 x i8> @bitcast_v16i64_to_v128i8(<16 x i64> %a, i32 %b) #0 {
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v2, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:80
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v3, v22, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v3, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:84
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v2, v23, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
@@ -76375,20 +76426,20 @@ define <128 x i8> @bitcast_v16i64_to_v128i8(<16 x i64> %a, i32 %b) #0 {
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v2, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:88
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v3, v24, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v3, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:92
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v2, v25, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
@@ -76396,20 +76447,20 @@ define <128 x i8> @bitcast_v16i64_to_v128i8(<16 x i64> %a, i32 %b) #0 {
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v2, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:96
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v3, v26, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v3, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:100
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v2, v27, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
@@ -76417,20 +76468,20 @@ define <128 x i8> @bitcast_v16i64_to_v128i8(<16 x i64> %a, i32 %b) #0 {
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v2, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:104
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v3, v28, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v3, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:108
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v2, v29, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
@@ -76438,20 +76489,20 @@ define <128 x i8> @bitcast_v16i64_to_v128i8(<16 x i64> %a, i32 %b) #0 {
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v2, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:112
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v3, v30, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v3, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:116
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v2, v31, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
@@ -76459,11 +76510,11 @@ define <128 x i8> @bitcast_v16i64_to_v128i8(<16 x i64> %a, i32 %b) #0 {
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v2, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:120
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v3, v32, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
@@ -76567,90 +76618,40 @@ define <128 x i8> @bitcast_v16i64_to_v128i8(<16 x i64> %a, i32 %b) #0 {
; GFX9-NEXT: ; implicit-def: $vgpr39
; GFX9-NEXT: ; kill: killed $vgpr39
; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr34
; GFX9-NEXT: ; kill: killed $vgpr39
; GFX9-NEXT: ; implicit-def: $vgpr39
-; GFX9-NEXT: ; kill: killed $vgpr39
-; GFX9-NEXT: ; implicit-def: $vgpr39
-; GFX9-NEXT: ; kill: killed $vgpr39
-; GFX9-NEXT: ; implicit-def: $vgpr39
-; GFX9-NEXT: ; implicit-def: $vgpr43
-; GFX9-NEXT: ; kill: killed $vgpr39
-; GFX9-NEXT: ; implicit-def: $vgpr39
-; GFX9-NEXT: ; implicit-def: $vgpr42
-; GFX9-NEXT: ; implicit-def: $vgpr63
-; GFX9-NEXT: ; implicit-def: $vgpr59
-; GFX9-NEXT: ; implicit-def: $vgpr48
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr62
-; GFX9-NEXT: ; implicit-def: $vgpr58
-; GFX9-NEXT: ; implicit-def: $vgpr57
-; GFX9-NEXT: ; implicit-def: $vgpr49
-; GFX9-NEXT: ; implicit-def: $vgpr37
; GFX9-NEXT: ; implicit-def: $vgpr52
+; GFX9-NEXT: ; implicit-def: $vgpr63
+; GFX9-NEXT: ; implicit-def: $vgpr47
; GFX9-NEXT: ; implicit-def: $vgpr46
-; GFX9-NEXT: ; implicit-def: $vgpr36
-; GFX9-NEXT: ; implicit-def: $vgpr60
-; GFX9-NEXT: ; implicit-def: $vgpr51
-; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr38
; GFX9-NEXT: ; implicit-def: $vgpr45
-; GFX9-NEXT: ; implicit-def: $vgpr44
+; GFX9-NEXT: ; implicit-def: $vgpr51
+; GFX9-NEXT: ; implicit-def: $vgpr58
+; GFX9-NEXT: ; implicit-def: $vgpr36
; GFX9-NEXT: ; implicit-def: $vgpr50
-; GFX9-NEXT: ; implicit-def: $vgpr38
-; GFX9-NEXT: ; implicit-def: $vgpr47
+; GFX9-NEXT: ; implicit-def: $vgpr56
; GFX9-NEXT: ; implicit-def: $vgpr35
+; GFX9-NEXT: ; implicit-def: $vgpr49
+; GFX9-NEXT: ; implicit-def: $vgpr44
; GFX9-NEXT: ; implicit-def: $vgpr61
; GFX9-NEXT: ; implicit-def: $vgpr55
+; GFX9-NEXT: ; implicit-def: $vgpr42
+; GFX9-NEXT: ; implicit-def: $vgpr48
+; GFX9-NEXT: ; implicit-def: $vgpr37
+; GFX9-NEXT: ; implicit-def: $vgpr62
+; GFX9-NEXT: ; implicit-def: $vgpr57
+; GFX9-NEXT: ; implicit-def: $vgpr60
+; GFX9-NEXT: ; implicit-def: $vgpr43
+; GFX9-NEXT: ; implicit-def: $vgpr59
; GFX9-NEXT: ; kill: killed $vgpr39
; GFX9-NEXT: ; implicit-def: $vgpr41
; GFX9-NEXT: ; implicit-def: $vgpr40
; GFX9-NEXT: ; implicit-def: $vgpr39
; GFX9-NEXT: ; implicit-def: $vgpr54
; GFX9-NEXT: ; implicit-def: $vgpr53
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr42
-; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr42
-; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr42
-; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr42
-; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr42
-; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr42
-; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr42
-; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr42
-; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr42
-; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr42
-; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
-; GFX9-NEXT: s_waitcnt vmcnt(23)
+; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v33
; GFX9-NEXT: ; implicit-def: $vgpr33
; GFX9-NEXT: ; kill: killed $vgpr33
@@ -76697,200 +76698,246 @@ define <128 x i8> @bitcast_v16i64_to_v128i8(<16 x i64> %a, i32 %b) #0 {
; GFX9-NEXT: ; implicit-def: $vgpr33
; GFX9-NEXT: ; kill: killed $vgpr33
; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: ; kill: killed $vgpr33
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: ; kill: killed $vgpr33
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: ; kill: killed $vgpr33
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
; GFX9-NEXT: s_and_saveexec_b64 s[4:5], vcc
; GFX9-NEXT: s_xor_b64 s[4:5], exec, s[4:5]
; GFX9-NEXT: s_cbranch_execz .LBB56_2
; GFX9-NEXT: ; %bb.1: ; %cmp.false
-; GFX9-NEXT: s_waitcnt vmcnt(22)
-; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[31:32]
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v32
-; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[29:30]
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v32
-; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v32
-; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[27:28]
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; GFX9-NEXT: s_waitcnt vmcnt(25)
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v31
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v31
-; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v30
-; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[25:26]
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v30
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v30
-; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v29
-; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[23:24]
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v29
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v28
-; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v28
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v18
-; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[21:22]
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v28
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v17
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v27
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v17
-; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v27
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v16
-; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[19:20]
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v26
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v16
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v26
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v16
-; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v26
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v15
-; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[17:18]
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v25
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v15
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v25
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v14
-; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v24
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v14
-; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[15:16]
+; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[31:32]
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v24
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v14
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v24
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v13
-; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v23
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v13
-; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[13:14]
+; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[29:30]
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v23
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v12
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v22
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v12
-; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v22
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v12
-; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[11:12]
+; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[27:28]
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v22
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v10
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v21
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v10
-; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v21
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v8
-; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[9:10]
+; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[25:26]
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v20
-; GFX9-NEXT: v_lshrrev_b32_e32 v39, 8, v20
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v8
-; GFX9-NEXT: v_lshrrev_b64 v[54:55], 24, v[7:8]
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v18
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v17
+; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v17
+; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[23:24]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v16
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v15
+; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v15
+; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[21:22]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v14
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v13
+; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v13
+; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[19:20]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v12
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v20
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v6
-; GFX9-NEXT: v_mov_b32_e32 v55, v39
-; GFX9-NEXT: v_lshrrev_b64 v[39:40], 24, v[5:6]
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v12
+; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v19
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v6
-; GFX9-NEXT: v_lshrrev_b64 v[40:41], 24, v[3:4]
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v12
+; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[17:18]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v11
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v11
+; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v10
+; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[15:16]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v10
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v61, 8, v19
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v18
-; GFX9-NEXT: v_lshrrev_b32_e32 v35, 16, v18
-; GFX9-NEXT: v_lshrrev_b32_e32 v47, 16, v11
-; GFX9-NEXT: v_lshrrev_b32_e32 v38, 8, v11
-; GFX9-NEXT: v_lshrrev_b32_e32 v50, 8, v10
-; GFX9-NEXT: v_lshrrev_b32_e32 v44, 16, v9
-; GFX9-NEXT: v_lshrrev_b32_e32 v45, 8, v9
-; GFX9-NEXT: v_lshrrev_b32_e32 v56, 8, v8
-; GFX9-NEXT: v_lshrrev_b32_e32 v51, 16, v7
-; GFX9-NEXT: v_lshrrev_b32_e32 v60, 8, v7
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v36, 8, v6
-; GFX9-NEXT: v_lshrrev_b32_e32 v46, 16, v5
-; GFX9-NEXT: v_lshrrev_b32_e32 v52, 8, v5
-; GFX9-NEXT: v_lshrrev_b32_e32 v37, 24, v4
-; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v4
-; GFX9-NEXT: v_lshrrev_b32_e32 v57, 8, v4
-; GFX9-NEXT: v_lshrrev_b32_e32 v58, 16, v3
-; GFX9-NEXT: v_lshrrev_b32_e32 v62, 8, v3
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v2
-; GFX9-NEXT: v_lshrrev_b32_e32 v43, 16, v2
-; GFX9-NEXT: v_lshrrev_b32_e32 v48, 8, v2
-; GFX9-NEXT: v_lshrrev_b32_e32 v59, 16, v1
-; GFX9-NEXT: v_lshrrev_b32_e32 v63, 8, v1
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v10
+; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v8
+; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[13:14]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v8
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v6
+; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v6
+; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[11:12]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v4
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v4
+; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[39:40], 24, v[5:6]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v2
+; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[9:10]
+; GFX9-NEXT: v_lshrrev_b64 v[40:41], 24, v[3:4]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v2
+; GFX9-NEXT: v_lshrrev_b64 v[54:55], 24, v[7:8]
; GFX9-NEXT: v_lshrrev_b64 v[41:42], 24, v[1:2]
+; GFX9-NEXT: v_lshrrev_b32_e32 v59, 24, v20
+; GFX9-NEXT: v_lshrrev_b32_e32 v43, 16, v20
+; GFX9-NEXT: v_lshrrev_b32_e32 v60, 8, v20
+; GFX9-NEXT: v_lshrrev_b32_e32 v57, 16, v19
+; GFX9-NEXT: v_lshrrev_b32_e32 v62, 8, v19
+; GFX9-NEXT: v_lshrrev_b32_e32 v37, 24, v18
+; GFX9-NEXT: v_lshrrev_b32_e32 v48, 16, v18
+; GFX9-NEXT: v_lshrrev_b32_e32 v61, 24, v14
+; GFX9-NEXT: v_lshrrev_b32_e32 v44, 16, v14
+; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v9
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 8, v9
+; GFX9-NEXT: v_lshrrev_b32_e32 v35, 8, v8
+; GFX9-NEXT: v_lshrrev_b32_e32 v56, 16, v7
+; GFX9-NEXT: v_lshrrev_b32_e32 v50, 8, v7
+; GFX9-NEXT: v_lshrrev_b32_e32 v36, 8, v6
+; GFX9-NEXT: v_lshrrev_b32_e32 v58, 16, v5
+; GFX9-NEXT: v_lshrrev_b32_e32 v51, 8, v5
+; GFX9-NEXT: v_lshrrev_b32_e32 v45, 8, v4
+; GFX9-NEXT: v_lshrrev_b32_e32 v38, 16, v3
+; GFX9-NEXT: v_lshrrev_b32_e32 v46, 8, v3
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v47, 8, v2
+; GFX9-NEXT: v_lshrrev_b32_e32 v63, 16, v1
+; GFX9-NEXT: v_lshrrev_b32_e32 v52, 8, v1
+; GFX9-NEXT: v_lshrrev_b32_e32 v55, 16, v16
+; GFX9-NEXT: v_lshrrev_b32_e32 v42, 24, v16
; GFX9-NEXT: .LBB56_2: ; %Flow
-; GFX9-NEXT: s_or_saveexec_b64 s[4:5], s[4:5]
-; GFX9-NEXT: v_mov_b32_e32 v42, v35
-; GFX9-NEXT: s_xor_b64 exec, exec, s[4:5]
+; GFX9-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]
; GFX9-NEXT: s_cbranch_execz .LBB56_4
; GFX9-NEXT: ; %bb.3: ; %cmp.true
; GFX9-NEXT: v_add_co_u32_e32 v1, vcc, 3, v1
@@ -76993,265 +77040,266 @@ define <128 x i8> @bitcast_v16i64_to_v128i8(<16 x i64> %a, i32 %b) #0 {
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v28
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v28
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v18
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v28
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v17
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v27
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v17
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v27
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v16
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v26
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v16
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v26
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v16
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v26
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v15
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v25
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v15
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v25
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v14
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v24
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v14
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v24
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v14
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v24
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v13
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v23
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v13
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v23
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v12
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v22
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v12
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v22
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v12
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v22
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v10
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v21
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v10
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v21
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v8
-; GFX9-NEXT: v_lshrrev_b64 v[39:40], 24, v[5:6]
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v20
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v8
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v18
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v17
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v17
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v16
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v15
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v15
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v14
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v13
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v13
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v12
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v12
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v12
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v11
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v11
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v10
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v10
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v10
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v8
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v8
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v6
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v6
+; GFX9-NEXT: v_lshrrev_b64 v[39:40], 24, v[5:6]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v4
; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[9:10]
; GFX9-NEXT: v_lshrrev_b64 v[40:41], 24, v[3:4]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v20
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v6
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v4
; GFX9-NEXT: v_lshrrev_b64 v[54:55], 24, v[7:8]
; GFX9-NEXT: v_lshrrev_b64 v[41:42], 24, v[1:2]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v19
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v6
-; GFX9-NEXT: v_lshrrev_b32_e32 v55, 8, v20
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v61, 8, v19
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v18
-; GFX9-NEXT: v_lshrrev_b32_e32 v42, 16, v18
-; GFX9-NEXT: v_lshrrev_b32_e32 v47, 16, v11
-; GFX9-NEXT: v_lshrrev_b32_e32 v38, 8, v11
-; GFX9-NEXT: v_lshrrev_b32_e32 v50, 8, v10
-; GFX9-NEXT: v_lshrrev_b32_e32 v44, 16, v9
-; GFX9-NEXT: v_lshrrev_b32_e32 v45, 8, v9
-; GFX9-NEXT: v_lshrrev_b32_e32 v56, 8, v8
-; GFX9-NEXT: v_lshrrev_b32_e32 v51, 16, v7
-; GFX9-NEXT: v_lshrrev_b32_e32 v60, 8, v7
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v2
+; GFX9-NEXT: v_lshrrev_b32_e32 v59, 24, v20
+; GFX9-NEXT: v_lshrrev_b32_e32 v43, 16, v20
+; GFX9-NEXT: v_lshrrev_b32_e32 v60, 8, v20
+; GFX9-NEXT: v_lshrrev_b32_e32 v57, 16, v19
+; GFX9-NEXT: v_lshrrev_b32_e32 v62, 8, v19
+; GFX9-NEXT: v_lshrrev_b32_e32 v37, 24, v18
+; GFX9-NEXT: v_lshrrev_b32_e32 v48, 16, v18
+; GFX9-NEXT: v_lshrrev_b32_e32 v42, 24, v16
+; GFX9-NEXT: v_lshrrev_b32_e32 v55, 16, v16
+; GFX9-NEXT: v_lshrrev_b32_e32 v61, 24, v14
+; GFX9-NEXT: v_lshrrev_b32_e32 v44, 16, v14
+; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v9
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 8, v9
+; GFX9-NEXT: v_lshrrev_b32_e32 v35, 8, v8
+; GFX9-NEXT: v_lshrrev_b32_e32 v56, 16, v7
+; GFX9-NEXT: v_lshrrev_b32_e32 v50, 8, v7
; GFX9-NEXT: v_lshrrev_b32_e32 v36, 8, v6
-; GFX9-NEXT: v_lshrrev_b32_e32 v46, 16, v5
-; GFX9-NEXT: v_lshrrev_b32_e32 v52, 8, v5
-; GFX9-NEXT: v_lshrrev_b32_e32 v37, 24, v4
-; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v4
-; GFX9-NEXT: v_lshrrev_b32_e32 v57, 8, v4
-; GFX9-NEXT: v_lshrrev_b32_e32 v58, 16, v3
-; GFX9-NEXT: v_lshrrev_b32_e32 v62, 8, v3
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v2
-; GFX9-NEXT: v_lshrrev_b32_e32 v43, 16, v2
-; GFX9-NEXT: v_lshrrev_b32_e32 v48, 8, v2
-; GFX9-NEXT: v_lshrrev_b32_e32 v59, 16, v1
-; GFX9-NEXT: v_lshrrev_b32_e32 v63, 8, v1
+; GFX9-NEXT: v_lshrrev_b32_e32 v58, 16, v5
+; GFX9-NEXT: v_lshrrev_b32_e32 v51, 8, v5
+; GFX9-NEXT: v_lshrrev_b32_e32 v45, 8, v4
+; GFX9-NEXT: v_lshrrev_b32_e32 v38, 16, v3
+; GFX9-NEXT: v_lshrrev_b32_e32 v46, 8, v3
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v2
+; GFX9-NEXT: v_lshrrev_b32_e32 v47, 8, v2
+; GFX9-NEXT: v_lshrrev_b32_e32 v63, 16, v1
+; GFX9-NEXT: v_lshrrev_b32_e32 v52, 8, v1
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
; GFX9-NEXT: .LBB56_4: ; %end
; GFX9-NEXT: s_or_b64 exec, exec, s[4:5]
; GFX9-NEXT: s_mov_b32 s4, 0xc0c0004
-; GFX9-NEXT: v_perm_b32 v11, v11, v38, s4
-; GFX9-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:380 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v38, off, s[0:3], s32 offset:372 ; 4-byte Folded Reload
-; GFX9-NEXT: v_perm_b32 v5, v5, v52, s4
-; GFX9-NEXT: v_perm_b32 v6, v6, v36, s4
-; GFX9-NEXT: v_perm_b32 v36, v51, v54, s4
-; GFX9-NEXT: v_perm_b32 v51, v44, v53, s4
-; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
-; GFX9-NEXT: v_perm_b32 v10, v10, v50, s4
-; GFX9-NEXT: v_perm_b32 v41, v59, v41, s4
-; GFX9-NEXT: v_perm_b32 v1, v1, v63, s4
+; GFX9-NEXT: v_perm_b32 v8, v8, v35, s4
+; GFX9-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:368 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v33, v34, v53, s4
+; GFX9-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:376 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v7, v7, v50, s4
+; GFX9-NEXT: v_perm_b32 v9, v9, v49, s4
+; GFX9-NEXT: v_perm_b32 v5, v5, v51, s4
+; GFX9-NEXT: v_perm_b32 v1, v1, v52, s4
+; GFX9-NEXT: v_perm_b32 v41, v63, v41, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v41, 16, v1
-; GFX9-NEXT: v_perm_b32 v2, v2, v48, s4
-; GFX9-NEXT: v_perm_b32 v9, v9, v45, s4
-; GFX9-NEXT: v_perm_b32 v48, v58, v40, s4
-; GFX9-NEXT: v_perm_b32 v3, v3, v62, s4
-; GFX9-NEXT: v_perm_b32 v4, v4, v57, s4
-; GFX9-NEXT: v_perm_b32 v39, v46, v39, s4
-; GFX9-NEXT: v_perm_b32 v7, v7, v60, s4
-; GFX9-NEXT: v_perm_b32 v8, v8, v56, s4
-; GFX9-NEXT: s_waitcnt vmcnt(2)
-; GFX9-NEXT: v_perm_b32 v13, v13, v38, s4
-; GFX9-NEXT: buffer_load_dword v38, off, s[0:3], s32 offset:360 ; 4-byte Folded Reload
-; GFX9-NEXT: v_perm_b32 v12, v12, v35, s4
-; GFX9-NEXT: s_waitcnt vmcnt(2)
-; GFX9-NEXT: v_perm_b32 v50, v47, v52, s4
-; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:364 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v2, v2, v47, s4
+; GFX9-NEXT: v_perm_b32 v38, v38, v40, s4
+; GFX9-NEXT: v_perm_b32 v3, v3, v46, s4
+; GFX9-NEXT: v_perm_b32 v4, v4, v45, s4
+; GFX9-NEXT: v_perm_b32 v39, v58, v39, s4
+; GFX9-NEXT: v_perm_b32 v6, v6, v36, s4
+; GFX9-NEXT: v_perm_b32 v36, v56, v54, s4
+; GFX9-NEXT: s_waitcnt vmcnt(1)
+; GFX9-NEXT: v_perm_b32 v11, v11, v35, s4
+; GFX9-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:352 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(1)
+; GFX9-NEXT: v_perm_b32 v10, v10, v34, s4
+; GFX9-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:364 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(3)
-; GFX9-NEXT: v_perm_b32 v14, v14, v38, s4
+; GFX9-NEXT: v_perm_b32 v12, v12, v35, s4
+; GFX9-NEXT: s_waitcnt vmcnt(1)
+; GFX9-NEXT: v_perm_b32 v34, v34, v49, s4
+; GFX9-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:336 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(1)
+; GFX9-NEXT: v_perm_b32 v35, v35, v49, s4
+; GFX9-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:344 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v35, v35, v52, s4
-; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v38, off, s[0:3], s32 offset:344 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v13, v13, v49, s4
+; GFX9-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:332 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v38, v38, v52, s4
-; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:348 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v14, v14, v49, s4
+; GFX9-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:316 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(1)
+; GFX9-NEXT: v_perm_b32 v50, v49, v50, s4
+; GFX9-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:320 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v15, v15, v52, s4
-; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:340 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v15, v15, v49, s4
+; GFX9-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:312 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v16, v16, v52, s4
-; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:324 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v54, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_perm_b32 v52, v52, v53, s4
-; GFX9-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:328 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v16, v16, v49, s4
+; GFX9-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(3)
+; GFX9-NEXT: v_perm_b32 v51, v49, v51, s4
+; GFX9-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:300 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(2)
+; GFX9-NEXT: v_perm_b32 v52, v57, v52, s4
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v17, v17, v53, s4
-; GFX9-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:320 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v17, v17, v49, s4
+; GFX9-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v18, v18, v53, s4
-; GFX9-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:308 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_perm_b32 v53, v53, v44, s4
+; GFX9-NEXT: v_perm_b32 v18, v18, v49, s4
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen
-; GFX9-NEXT: v_perm_b32 v1, v43, v34, s4
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:372 ; 4-byte Folded Reload
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:380 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_perm_b32 v1, v49, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v2
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:4
-; GFX9-NEXT: v_lshl_or_b32 v1, v48, 16, v3
+; GFX9-NEXT: v_lshl_or_b32 v1, v38, 16, v3
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:8
-; GFX9-NEXT: v_perm_b32 v1, v49, v37, s4
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:356 ; 4-byte Folded Reload
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:360 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v4
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:12
; GFX9-NEXT: v_lshl_or_b32 v1, v39, 16, v5
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:16
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:368 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:340 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:376 ; 4-byte Folded Reload
-; GFX9-NEXT: v_perm_b32 v3, v20, v55, s4
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:348 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v6
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:20
; GFX9-NEXT: v_lshl_or_b32 v1, v36, 16, v7
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:24
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:352 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:324 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:356 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:328 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v8
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:28
-; GFX9-NEXT: v_lshl_or_b32 v1, v51, 16, v9
+; GFX9-NEXT: v_lshl_or_b32 v1, v33, 16, v9
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:32
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:332 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:304 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:336 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:308 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v10
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:36
-; GFX9-NEXT: v_lshl_or_b32 v1, v50, 16, v11
+; GFX9-NEXT: v_lshl_or_b32 v1, v34, 16, v11
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:40
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:312 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:316 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v12
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:44
; GFX9-NEXT: v_lshl_or_b32 v1, v35, 16, v13
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:48
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:300 ; 4-byte Folded Reload
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:304 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
+; GFX9-NEXT: v_perm_b32 v1, v44, v61, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v14
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:52
-; GFX9-NEXT: v_lshl_or_b32 v1, v38, 16, v15
+; GFX9-NEXT: v_lshl_or_b32 v1, v50, 16, v15
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:56
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
+; GFX9-NEXT: v_perm_b32 v1, v55, v42, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v16
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:60
-; GFX9-NEXT: v_lshl_or_b32 v1, v52, 16, v17
+; GFX9-NEXT: v_lshl_or_b32 v1, v51, 16, v17
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:64
-; GFX9-NEXT: v_perm_b32 v1, v42, v33, s4
+; GFX9-NEXT: v_perm_b32 v1, v48, v37, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v18
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:68
-; GFX9-NEXT: v_perm_b32 v1, v19, v61, s4
-; GFX9-NEXT: v_lshl_or_b32 v1, v53, 16, v1
+; GFX9-NEXT: v_perm_b32 v1, v19, v62, s4
+; GFX9-NEXT: v_lshl_or_b32 v1, v52, 16, v1
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:72
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
-; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v3
+; GFX9-NEXT: v_perm_b32 v1, v20, v60, s4
+; GFX9-NEXT: v_perm_b32 v2, v43, v59, s4
+; GFX9-NEXT: v_lshl_or_b32 v1, v2, 16, v1
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:76
; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:280 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
@@ -77786,50 +77834,52 @@ define <128 x i8> @bitcast_v16i64_to_v128i8(<16 x i64> %a, i32 %b) #0 {
; GFX11-FAKE16-LABEL: bitcast_v16i64_to_v128i8:
; GFX11-FAKE16: ; %bb.0:
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX11-FAKE16-NEXT: s_clause 0x11 ; 72-byte Folded Spill
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v40, s32 offset:80
+; GFX11-FAKE16-NEXT: s_clause 0x12 ; 76-byte Folded Spill
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v40, s32 offset:84
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v41, s32 offset:76
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v41, s32 offset:80
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v42, s32 offset:72
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v42, s32 offset:76
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v43, s32 offset:68
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v43, s32 offset:72
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v44, s32 offset:64
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v44, s32 offset:68
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v45, s32 offset:60
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v45, s32 offset:64
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v46, s32 offset:56
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v46, s32 offset:60
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v47, s32 offset:52
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v47, s32 offset:56
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v56, s32 offset:48
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v56, s32 offset:52
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v57, s32 offset:44
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v57, s32 offset:48
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v58, s32 offset:40
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v58, s32 offset:44
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v59, s32 offset:36
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v59, s32 offset:40
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v60, s32 offset:32
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v60, s32 offset:36
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v61, s32 offset:28
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v61, s32 offset:32
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v62, s32 offset:24
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v62, s32 offset:28
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v63, s32 offset:20
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v63, s32 offset:24
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v72, s32 offset:16
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v72, s32 offset:20
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v73, s32 offset:12
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v73, s32 offset:16
+; GFX11-FAKE16-NEXT: ; meta instruction
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v74, s32 offset:12
; GFX11-FAKE16-NEXT: s_clause 0x2
; GFX11-FAKE16-NEXT: scratch_load_b32 v33, off, s32 offset:8
; GFX11-FAKE16-NEXT: scratch_load_b32 v32, off, s32 offset:4
; GFX11-FAKE16-NEXT: scratch_load_b32 v31, off, s32
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr73
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr72
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr74
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr66
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr55
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr72
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr63
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr62
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr61
@@ -77940,14 +77990,11 @@ define <128 x i8> @bitcast_v16i64_to_v128i8(<16 x i64> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: v_mov_b32_e32 v39, v48
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[48:49], 24, v[19:20]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[49:50], 24, v[17:18]
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v64, 8, v2
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[50:51], 24, v[15:16]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[51:52], 24, v[13:14]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[52:53], 24, v[11:12]
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[53:54], 24, v[9:10]
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[54:55], 24, v[7:8]
-; GFX11-FAKE16-NEXT: v_mov_b32_e32 v55, v64
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[64:65], 24, v[5:6]
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[53:54], 24, v[9:10]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[65:66], 24, v[3:4]
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v68, 24, v32
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v69, 16, v32
@@ -78025,8 +78072,10 @@ define <128 x i8> @bitcast_v16i64_to_v128i8(<16 x i64> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v61, 8, v3
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v62, 24, v2
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v63, 16, v2
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v72, 16, v1
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v72, 8, v2
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v74, 16, v1
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v73, 8, v1
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[54:55], 24, v[7:8]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[66:67], 24, v[1:2]
; GFX11-FAKE16-NEXT: .LBB56_2: ; %Flow
; GFX11-FAKE16-NEXT: s_and_not1_saveexec_b32 s0, s0
@@ -78167,19 +78216,19 @@ define <128 x i8> @bitcast_v16i64_to_v128i8(<16 x i64> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v61, 8, v3
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v62, 24, v2
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v63, 16, v2
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v55, 8, v2
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v72, 16, v1
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v72, 8, v2
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v74, 16, v1
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v73, 8, v1
; GFX11-FAKE16-NEXT: .LBB56_4: ; %end
; GFX11-FAKE16-NEXT: s_or_b32 exec_lo, exec_lo, s0
-; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_3)
-; GFX11-FAKE16-NEXT: v_perm_b32 v2, v2, v55, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v55, v63, v62, 0xc0c0004
+; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_2)
+; GFX11-FAKE16-NEXT: v_perm_b32 v55, v74, v66, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v1, v1, v73, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v3, v3, v61, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v65, v60, v65, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v66, v72, v66, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v1, v1, v73, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v2, v55, 16, v2
+; GFX11-FAKE16-NEXT: v_perm_b32 v2, v2, v72, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v66, v63, v62, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v1, v55, 16, v1
; GFX11-FAKE16-NEXT: v_perm_b32 v4, v4, v59, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v55, v58, v57, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v7, v7, v43, 0xc0c0004
@@ -78191,7 +78240,7 @@ define <128 x i8> @bitcast_v16i64_to_v128i8(<16 x i64> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: v_perm_b32 v64, v47, v64, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v6, v6, v46, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v65, v45, v44, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v1, v66, 16, v1
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v2, v66, 16, v2
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v4, v55, 16, v4
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v7, v54, 16, v7
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v8, v39, 16, v8
@@ -78280,25 +78329,26 @@ define <128 x i8> @bitcast_v16i64_to_v128i8(<16 x i64> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: scratch_store_b128 v0, v[13:16], off offset:80
; GFX11-FAKE16-NEXT: scratch_store_b128 v0, v[17:20], off offset:96
; GFX11-FAKE16-NEXT: scratch_store_b128 v0, v[21:24], off offset:112
-; GFX11-FAKE16-NEXT: s_clause 0x11 ; 72-byte Folded Reload
-; GFX11-FAKE16-NEXT: scratch_load_b32 v73, off, s32 offset:12
-; GFX11-FAKE16-NEXT: scratch_load_b32 v72, off, s32 offset:16
-; GFX11-FAKE16-NEXT: scratch_load_b32 v63, off, s32 offset:20
-; GFX11-FAKE16-NEXT: scratch_load_b32 v62, off, s32 offset:24
-; GFX11-FAKE16-NEXT: scratch_load_b32 v61, off, s32 offset:28
-; GFX11-FAKE16-NEXT: scratch_load_b32 v60, off, s32 offset:32
-; GFX11-FAKE16-NEXT: scratch_load_b32 v59, off, s32 offset:36
-; GFX11-FAKE16-NEXT: scratch_load_b32 v58, off, s32 offset:40
-; GFX11-FAKE16-NEXT: scratch_load_b32 v57, off, s32 offset:44
-; GFX11-FAKE16-NEXT: scratch_load_b32 v56, off, s32 offset:48
-; GFX11-FAKE16-NEXT: scratch_load_b32 v47, off, s32 offset:52
-; GFX11-FAKE16-NEXT: scratch_load_b32 v46, off, s32 offset:56
-; GFX11-FAKE16-NEXT: scratch_load_b32 v45, off, s32 offset:60
-; GFX11-FAKE16-NEXT: scratch_load_b32 v44, off, s32 offset:64
-; GFX11-FAKE16-NEXT: scratch_load_b32 v43, off, s32 offset:68
-; GFX11-FAKE16-NEXT: scratch_load_b32 v42, off, s32 offset:72
-; GFX11-FAKE16-NEXT: scratch_load_b32 v41, off, s32 offset:76
-; GFX11-FAKE16-NEXT: scratch_load_b32 v40, off, s32 offset:80
+; GFX11-FAKE16-NEXT: s_clause 0x12 ; 76-byte Folded Reload
+; GFX11-FAKE16-NEXT: scratch_load_b32 v74, off, s32 offset:12
+; GFX11-FAKE16-NEXT: scratch_load_b32 v73, off, s32 offset:16
+; GFX11-FAKE16-NEXT: scratch_load_b32 v72, off, s32 offset:20
+; GFX11-FAKE16-NEXT: scratch_load_b32 v63, off, s32 offset:24
+; GFX11-FAKE16-NEXT: scratch_load_b32 v62, off, s32 offset:28
+; GFX11-FAKE16-NEXT: scratch_load_b32 v61, off, s32 offset:32
+; GFX11-FAKE16-NEXT: scratch_load_b32 v60, off, s32 offset:36
+; GFX11-FAKE16-NEXT: scratch_load_b32 v59, off, s32 offset:40
+; GFX11-FAKE16-NEXT: scratch_load_b32 v58, off, s32 offset:44
+; GFX11-FAKE16-NEXT: scratch_load_b32 v57, off, s32 offset:48
+; GFX11-FAKE16-NEXT: scratch_load_b32 v56, off, s32 offset:52
+; GFX11-FAKE16-NEXT: scratch_load_b32 v47, off, s32 offset:56
+; GFX11-FAKE16-NEXT: scratch_load_b32 v46, off, s32 offset:60
+; GFX11-FAKE16-NEXT: scratch_load_b32 v45, off, s32 offset:64
+; GFX11-FAKE16-NEXT: scratch_load_b32 v44, off, s32 offset:68
+; GFX11-FAKE16-NEXT: scratch_load_b32 v43, off, s32 offset:72
+; GFX11-FAKE16-NEXT: scratch_load_b32 v42, off, s32 offset:76
+; GFX11-FAKE16-NEXT: scratch_load_b32 v41, off, s32 offset:80
+; GFX11-FAKE16-NEXT: scratch_load_b32 v40, off, s32 offset:84
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0)
; GFX11-FAKE16-NEXT: s_setpc_b64 s[30:31]
%cmp = icmp eq i32 %b, 0
@@ -78388,8 +78438,12 @@ define inreg <128 x i8> @bitcast_v16i64_to_v128i8_scalar(<16 x i64> inreg %a, i3
; SI-NEXT: ; implicit-def: $vgpr22 : SGPR spill to VGPR lane
; SI-NEXT: s_cbranch_scc0 .LBB57_2
; SI-NEXT: ; %bb.1: ; %cmp.false
-; SI-NEXT: s_lshr_b32 s47, s45, 24
+; SI-NEXT: s_lshr_b32 s47, s43, 24
; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_writelane_b32 v22, s47, 8
+; SI-NEXT: s_lshr_b32 s47, s43, 16
+; SI-NEXT: v_writelane_b32 v22, s47, 9
+; SI-NEXT: s_lshr_b32 s47, s45, 24
; SI-NEXT: v_writelane_b32 v22, s47, 10
; SI-NEXT: s_lshr_b32 s47, s45, 16
; SI-NEXT: v_writelane_b32 v22, s47, 11
@@ -78407,116 +78461,115 @@ define inreg <128 x i8> @bitcast_v16i64_to_v128i8_scalar(<16 x i64> inreg %a, i3
; SI-NEXT: v_writelane_b32 v22, s47, 17
; SI-NEXT: s_lshr_b32 s47, s27, 8
; SI-NEXT: v_writelane_b32 v22, s47, 18
-; SI-NEXT: s_lshr_b64 s[72:73], s[4:5], 24
-; SI-NEXT: v_writelane_b32 v22, s72, 8
-; SI-NEXT: v_writelane_b32 v22, s73, 9
-; SI-NEXT: s_lshr_b64 s[74:75], s[4:5], 8
-; SI-NEXT: v_writelane_b32 v22, s74, 6
-; SI-NEXT: v_writelane_b32 v22, s75, 7
-; SI-NEXT: s_lshr_b64 s[74:75], s[6:7], 24
-; SI-NEXT: v_writelane_b32 v22, s74, 4
-; SI-NEXT: v_writelane_b32 v22, s75, 5
-; SI-NEXT: s_lshr_b64 s[74:75], s[6:7], 16
-; SI-NEXT: v_writelane_b32 v22, s74, 2
-; SI-NEXT: v_writelane_b32 v22, s75, 3
-; SI-NEXT: s_lshr_b64 s[74:75], s[6:7], 8
-; SI-NEXT: v_writelane_b32 v22, s74, 0
-; SI-NEXT: v_writelane_b32 v22, s75, 1
-; SI-NEXT: s_lshr_b64 s[74:75], s[8:9], 24
-; SI-NEXT: v_writelane_b32 v21, s74, 62
-; SI-NEXT: v_writelane_b32 v21, s75, 63
-; SI-NEXT: s_lshr_b64 s[74:75], s[8:9], 16
-; SI-NEXT: v_writelane_b32 v21, s74, 60
-; SI-NEXT: v_writelane_b32 v21, s75, 61
-; SI-NEXT: s_lshr_b64 s[74:75], s[8:9], 8
-; SI-NEXT: v_writelane_b32 v21, s74, 58
-; SI-NEXT: v_writelane_b32 v21, s75, 59
-; SI-NEXT: s_lshr_b64 s[74:75], s[10:11], 24
-; SI-NEXT: v_writelane_b32 v21, s74, 56
-; SI-NEXT: v_writelane_b32 v21, s75, 57
-; SI-NEXT: s_lshr_b64 s[74:75], s[10:11], 16
-; SI-NEXT: v_writelane_b32 v21, s74, 54
-; SI-NEXT: v_writelane_b32 v21, s75, 55
-; SI-NEXT: s_lshr_b64 s[74:75], s[10:11], 8
-; SI-NEXT: v_writelane_b32 v21, s74, 52
-; SI-NEXT: v_writelane_b32 v21, s75, 53
-; SI-NEXT: s_lshr_b64 s[74:75], s[12:13], 24
-; SI-NEXT: v_writelane_b32 v21, s74, 50
-; SI-NEXT: v_writelane_b32 v21, s75, 51
-; SI-NEXT: s_lshr_b64 s[74:75], s[12:13], 16
-; SI-NEXT: v_writelane_b32 v21, s74, 48
-; SI-NEXT: v_writelane_b32 v21, s75, 49
-; SI-NEXT: s_lshr_b64 s[74:75], s[12:13], 8
-; SI-NEXT: v_writelane_b32 v21, s74, 46
-; SI-NEXT: v_writelane_b32 v21, s75, 47
-; SI-NEXT: s_lshr_b64 s[74:75], s[14:15], 24
-; SI-NEXT: v_writelane_b32 v21, s74, 44
-; SI-NEXT: v_writelane_b32 v21, s75, 45
-; SI-NEXT: s_lshr_b64 s[74:75], s[14:15], 16
-; SI-NEXT: v_writelane_b32 v21, s74, 42
-; SI-NEXT: v_writelane_b32 v21, s75, 43
-; SI-NEXT: s_lshr_b64 s[74:75], s[14:15], 8
-; SI-NEXT: v_writelane_b32 v21, s74, 40
-; SI-NEXT: v_writelane_b32 v21, s75, 41
-; SI-NEXT: s_lshr_b64 s[74:75], s[40:41], 24
-; SI-NEXT: v_writelane_b32 v21, s74, 38
-; SI-NEXT: v_writelane_b32 v21, s75, 39
-; SI-NEXT: s_lshr_b64 s[74:75], s[40:41], 16
-; SI-NEXT: v_writelane_b32 v21, s74, 36
-; SI-NEXT: v_writelane_b32 v21, s75, 37
-; SI-NEXT: s_lshr_b64 s[74:75], s[40:41], 8
-; SI-NEXT: v_writelane_b32 v21, s74, 34
-; SI-NEXT: v_writelane_b32 v21, s75, 35
-; SI-NEXT: s_lshr_b64 s[74:75], s[42:43], 24
-; SI-NEXT: v_writelane_b32 v21, s74, 32
-; SI-NEXT: v_writelane_b32 v21, s75, 33
-; SI-NEXT: s_lshr_b64 s[74:75], s[42:43], 16
-; SI-NEXT: v_writelane_b32 v21, s74, 30
-; SI-NEXT: v_writelane_b32 v21, s75, 31
-; SI-NEXT: s_lshr_b64 s[74:75], s[42:43], 8
-; SI-NEXT: v_writelane_b32 v21, s74, 28
-; SI-NEXT: v_writelane_b32 v21, s75, 29
-; SI-NEXT: s_lshr_b64 s[74:75], s[44:45], 24
-; SI-NEXT: v_writelane_b32 v21, s74, 26
-; SI-NEXT: v_writelane_b32 v21, s75, 27
-; SI-NEXT: s_lshr_b64 s[74:75], s[44:45], 16
-; SI-NEXT: v_writelane_b32 v21, s74, 24
-; SI-NEXT: v_writelane_b32 v21, s75, 25
-; SI-NEXT: s_lshr_b64 s[74:75], s[44:45], 8
-; SI-NEXT: v_writelane_b32 v21, s74, 22
-; SI-NEXT: v_writelane_b32 v21, s75, 23
-; SI-NEXT: s_lshr_b64 s[74:75], s[28:29], 24
-; SI-NEXT: v_writelane_b32 v21, s74, 20
-; SI-NEXT: v_writelane_b32 v21, s75, 21
-; SI-NEXT: s_lshr_b64 s[74:75], s[28:29], 16
-; SI-NEXT: v_writelane_b32 v21, s74, 18
-; SI-NEXT: v_writelane_b32 v21, s75, 19
-; SI-NEXT: s_lshr_b64 s[74:75], s[28:29], 8
-; SI-NEXT: v_writelane_b32 v21, s74, 16
-; SI-NEXT: v_writelane_b32 v21, s75, 17
-; SI-NEXT: s_lshr_b64 s[74:75], s[26:27], 24
-; SI-NEXT: v_writelane_b32 v21, s74, 14
-; SI-NEXT: v_writelane_b32 v21, s75, 15
-; SI-NEXT: s_lshr_b64 s[74:75], s[26:27], 16
-; SI-NEXT: v_writelane_b32 v21, s74, 12
-; SI-NEXT: v_writelane_b32 v21, s75, 13
-; SI-NEXT: s_lshr_b64 s[74:75], s[26:27], 8
-; SI-NEXT: v_writelane_b32 v21, s74, 10
-; SI-NEXT: v_writelane_b32 v21, s75, 11
-; SI-NEXT: s_lshr_b64 s[74:75], s[24:25], 24
-; SI-NEXT: v_writelane_b32 v21, s74, 8
-; SI-NEXT: v_writelane_b32 v21, s75, 9
-; SI-NEXT: s_lshr_b64 s[74:75], s[24:25], 16
-; SI-NEXT: v_writelane_b32 v21, s74, 6
-; SI-NEXT: v_writelane_b32 v21, s75, 7
-; SI-NEXT: s_lshr_b64 s[74:75], s[24:25], 8
-; SI-NEXT: v_writelane_b32 v21, s74, 4
-; SI-NEXT: v_writelane_b32 v21, s75, 5
-; SI-NEXT: s_lshr_b64 s[74:75], s[22:23], 24
-; SI-NEXT: v_writelane_b32 v21, s74, 2
-; SI-NEXT: v_writelane_b32 v21, s75, 3
-; SI-NEXT: s_lshr_b64 s[74:75], s[22:23], 16
-; SI-NEXT: v_writelane_b32 v21, s74, 0
+; SI-NEXT: s_lshr_b32 s47, s25, 24
+; SI-NEXT: v_writelane_b32 v22, s47, 19
+; SI-NEXT: s_lshr_b64 s[62:63], s[4:5], 24
+; SI-NEXT: v_writelane_b32 v22, s62, 6
+; SI-NEXT: v_writelane_b32 v22, s63, 7
+; SI-NEXT: s_lshr_b64 s[62:63], s[4:5], 16
+; SI-NEXT: v_writelane_b32 v22, s62, 4
+; SI-NEXT: v_writelane_b32 v22, s63, 5
+; SI-NEXT: s_lshr_b64 s[62:63], s[4:5], 8
+; SI-NEXT: v_writelane_b32 v22, s62, 2
+; SI-NEXT: v_writelane_b32 v22, s63, 3
+; SI-NEXT: s_lshr_b64 s[62:63], s[6:7], 24
+; SI-NEXT: v_writelane_b32 v22, s62, 0
+; SI-NEXT: v_writelane_b32 v22, s63, 1
+; SI-NEXT: s_lshr_b64 s[62:63], s[6:7], 16
+; SI-NEXT: v_writelane_b32 v21, s62, 62
+; SI-NEXT: v_writelane_b32 v21, s63, 63
+; SI-NEXT: s_lshr_b64 s[62:63], s[6:7], 8
+; SI-NEXT: v_writelane_b32 v21, s62, 60
+; SI-NEXT: v_writelane_b32 v21, s63, 61
+; SI-NEXT: s_lshr_b64 s[62:63], s[8:9], 24
+; SI-NEXT: v_writelane_b32 v21, s62, 58
+; SI-NEXT: v_writelane_b32 v21, s63, 59
+; SI-NEXT: s_lshr_b64 s[62:63], s[8:9], 16
+; SI-NEXT: v_writelane_b32 v21, s62, 56
+; SI-NEXT: v_writelane_b32 v21, s63, 57
+; SI-NEXT: s_lshr_b64 s[62:63], s[8:9], 8
+; SI-NEXT: v_writelane_b32 v21, s62, 54
+; SI-NEXT: v_writelane_b32 v21, s63, 55
+; SI-NEXT: s_lshr_b64 s[62:63], s[10:11], 24
+; SI-NEXT: v_writelane_b32 v21, s62, 52
+; SI-NEXT: v_writelane_b32 v21, s63, 53
+; SI-NEXT: s_lshr_b64 s[62:63], s[10:11], 16
+; SI-NEXT: v_writelane_b32 v21, s62, 50
+; SI-NEXT: v_writelane_b32 v21, s63, 51
+; SI-NEXT: s_lshr_b64 s[62:63], s[10:11], 8
+; SI-NEXT: v_writelane_b32 v21, s62, 48
+; SI-NEXT: v_writelane_b32 v21, s63, 49
+; SI-NEXT: s_lshr_b64 s[62:63], s[12:13], 24
+; SI-NEXT: v_writelane_b32 v21, s62, 46
+; SI-NEXT: v_writelane_b32 v21, s63, 47
+; SI-NEXT: s_lshr_b64 s[62:63], s[12:13], 16
+; SI-NEXT: v_writelane_b32 v21, s62, 44
+; SI-NEXT: v_writelane_b32 v21, s63, 45
+; SI-NEXT: s_lshr_b64 s[62:63], s[12:13], 8
+; SI-NEXT: v_writelane_b32 v21, s62, 42
+; SI-NEXT: v_writelane_b32 v21, s63, 43
+; SI-NEXT: s_lshr_b64 s[62:63], s[14:15], 24
+; SI-NEXT: v_writelane_b32 v21, s62, 40
+; SI-NEXT: v_writelane_b32 v21, s63, 41
+; SI-NEXT: s_lshr_b64 s[62:63], s[14:15], 16
+; SI-NEXT: v_writelane_b32 v21, s62, 38
+; SI-NEXT: v_writelane_b32 v21, s63, 39
+; SI-NEXT: s_lshr_b64 s[62:63], s[14:15], 8
+; SI-NEXT: v_writelane_b32 v21, s62, 36
+; SI-NEXT: v_writelane_b32 v21, s63, 37
+; SI-NEXT: s_lshr_b64 s[62:63], s[40:41], 24
+; SI-NEXT: v_writelane_b32 v21, s62, 34
+; SI-NEXT: v_writelane_b32 v21, s63, 35
+; SI-NEXT: s_lshr_b64 s[62:63], s[40:41], 16
+; SI-NEXT: v_writelane_b32 v21, s62, 32
+; SI-NEXT: v_writelane_b32 v21, s63, 33
+; SI-NEXT: s_lshr_b64 s[62:63], s[40:41], 8
+; SI-NEXT: v_writelane_b32 v21, s62, 30
+; SI-NEXT: v_writelane_b32 v21, s63, 31
+; SI-NEXT: s_lshr_b64 s[62:63], s[42:43], 24
+; SI-NEXT: v_writelane_b32 v21, s62, 28
+; SI-NEXT: v_writelane_b32 v21, s63, 29
+; SI-NEXT: s_lshr_b64 s[62:63], s[42:43], 16
+; SI-NEXT: v_writelane_b32 v21, s62, 26
+; SI-NEXT: v_writelane_b32 v21, s63, 27
+; SI-NEXT: s_lshr_b64 s[62:63], s[42:43], 8
+; SI-NEXT: v_writelane_b32 v21, s62, 24
+; SI-NEXT: v_writelane_b32 v21, s63, 25
+; SI-NEXT: s_lshr_b64 s[62:63], s[44:45], 24
+; SI-NEXT: v_writelane_b32 v21, s62, 22
+; SI-NEXT: v_writelane_b32 v21, s63, 23
+; SI-NEXT: s_lshr_b64 s[62:63], s[44:45], 16
+; SI-NEXT: v_writelane_b32 v21, s62, 20
+; SI-NEXT: v_writelane_b32 v21, s63, 21
+; SI-NEXT: s_lshr_b64 s[62:63], s[44:45], 8
+; SI-NEXT: v_writelane_b32 v21, s62, 18
+; SI-NEXT: v_writelane_b32 v21, s63, 19
+; SI-NEXT: s_lshr_b64 s[62:63], s[28:29], 24
+; SI-NEXT: v_writelane_b32 v21, s62, 16
+; SI-NEXT: v_writelane_b32 v21, s63, 17
+; SI-NEXT: s_lshr_b64 s[62:63], s[28:29], 16
+; SI-NEXT: v_writelane_b32 v21, s62, 14
+; SI-NEXT: v_writelane_b32 v21, s63, 15
+; SI-NEXT: s_lshr_b64 s[62:63], s[28:29], 8
+; SI-NEXT: v_writelane_b32 v21, s62, 12
+; SI-NEXT: v_writelane_b32 v21, s63, 13
+; SI-NEXT: s_lshr_b64 s[62:63], s[26:27], 24
+; SI-NEXT: v_writelane_b32 v21, s62, 10
+; SI-NEXT: v_writelane_b32 v21, s63, 11
+; SI-NEXT: s_lshr_b64 s[62:63], s[26:27], 16
+; SI-NEXT: v_writelane_b32 v21, s62, 8
+; SI-NEXT: v_writelane_b32 v21, s63, 9
+; SI-NEXT: s_lshr_b64 s[62:63], s[26:27], 8
+; SI-NEXT: v_writelane_b32 v21, s62, 6
+; SI-NEXT: v_writelane_b32 v21, s63, 7
+; SI-NEXT: s_lshr_b64 s[62:63], s[24:25], 24
+; SI-NEXT: v_writelane_b32 v21, s62, 4
+; SI-NEXT: v_writelane_b32 v21, s63, 5
+; SI-NEXT: s_lshr_b64 s[62:63], s[24:25], 16
+; SI-NEXT: v_writelane_b32 v21, s62, 2
+; SI-NEXT: v_writelane_b32 v21, s63, 3
+; SI-NEXT: s_lshr_b64 s[62:63], s[24:25], 8
+; SI-NEXT: v_writelane_b32 v21, s62, 0
; SI-NEXT: s_lshr_b32 s49, s5, 24
; SI-NEXT: s_lshr_b32 s39, s5, 16
; SI-NEXT: s_lshr_b32 s53, s5, 8
@@ -78528,24 +78581,21 @@ define inreg <128 x i8> @bitcast_v16i64_to_v128i8_scalar(<16 x i64> inreg %a, i3
; SI-NEXT: s_lshr_b32 s81, s9, 8
; SI-NEXT: s_lshr_b32 s71, s11, 24
; SI-NEXT: s_lshr_b32 s85, s11, 16
-; SI-NEXT: s_lshr_b32 s83, s11, 8
+; SI-NEXT: s_lshr_b32 s87, s11, 8
; SI-NEXT: s_lshr_b32 s97, s13, 24
-; SI-NEXT: s_lshr_b32 s99, s13, 16
-; SI-NEXT: s_lshr_b32 s46, s13, 8
-; SI-NEXT: s_lshr_b32 s87, s15, 24
-; SI-NEXT: s_lshr_b32 s56, s15, 16
-; SI-NEXT: s_lshr_b32 s57, s15, 8
-; SI-NEXT: s_lshr_b32 s58, s41, 24
-; SI-NEXT: s_lshr_b32 s60, s41, 16
+; SI-NEXT: s_lshr_b32 s98, s13, 16
+; SI-NEXT: s_lshr_b32 s83, s13, 8
+; SI-NEXT: s_lshr_b32 s46, s15, 24
+; SI-NEXT: s_lshr_b32 s99, s15, 16
+; SI-NEXT: s_lshr_b32 s56, s15, 8
+; SI-NEXT: s_lshr_b32 s57, s41, 24
+; SI-NEXT: s_lshr_b32 s58, s41, 16
; SI-NEXT: s_lshr_b32 s59, s41, 8
-; SI-NEXT: s_lshr_b32 s62, s43, 24
-; SI-NEXT: s_lshr_b32 s61, s43, 16
-; SI-NEXT: s_lshr_b32 s63, s43, 8
-; SI-NEXT: s_lshr_b32 s82, s25, 24
-; SI-NEXT: s_lshr_b32 s98, s25, 16
+; SI-NEXT: s_lshr_b32 s61, s43, 8
+; SI-NEXT: s_lshr_b32 s84, s25, 16
; SI-NEXT: s_lshr_b32 s96, s25, 8
; SI-NEXT: s_lshr_b32 s86, s23, 24
-; SI-NEXT: s_lshr_b32 s84, s23, 16
+; SI-NEXT: s_lshr_b32 s82, s23, 16
; SI-NEXT: s_lshr_b32 s80, s23, 8
; SI-NEXT: s_lshr_b32 s70, s21, 24
; SI-NEXT: s_lshr_b32 s68, s21, 16
@@ -78556,8 +78606,9 @@ define inreg <128 x i8> @bitcast_v16i64_to_v128i8_scalar(<16 x i64> inreg %a, i3
; SI-NEXT: s_lshr_b32 s50, s17, 24
; SI-NEXT: s_lshr_b32 s48, s17, 16
; SI-NEXT: s_lshr_b32 s38, s17, 8
-; SI-NEXT: s_lshr_b64 s[72:73], s[4:5], 16
-; SI-NEXT: v_writelane_b32 v21, s75, 1
+; SI-NEXT: v_writelane_b32 v21, s63, 1
+; SI-NEXT: s_lshr_b64 s[62:63], s[22:23], 24
+; SI-NEXT: s_lshr_b64 s[72:73], s[22:23], 16
; SI-NEXT: s_lshr_b64 s[74:75], s[22:23], 8
; SI-NEXT: s_lshr_b64 s[76:77], s[20:21], 24
; SI-NEXT: s_lshr_b64 s[78:79], s[20:21], 16
@@ -78571,41 +78622,51 @@ define inreg <128 x i8> @bitcast_v16i64_to_v128i8_scalar(<16 x i64> inreg %a, i3
; SI-NEXT: s_mov_b64 s[36:37], 0
; SI-NEXT: s_branch .LBB57_3
; SI-NEXT: .LBB57_2:
-; SI-NEXT: ; implicit-def: $sgpr72
+; SI-NEXT: ; implicit-def: $sgpr61
+; SI-NEXT: ; implicit-def: $sgpr60
; SI-NEXT: ; implicit-def: $sgpr46
; SI-NEXT: ; kill: killed $sgpr46
; SI-NEXT: s_mov_b64 s[36:37], -1
; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_writelane_b32 v21, s72, 0
-; SI-NEXT: v_writelane_b32 v21, s73, 1
-; SI-NEXT: ; implicit-def: $sgpr72
+; SI-NEXT: v_writelane_b32 v21, s60, 0
+; SI-NEXT: v_writelane_b32 v21, s61, 1
+; SI-NEXT: ; implicit-def: $sgpr60
; SI-NEXT: ; implicit-def: $sgpr46
; SI-NEXT: ; kill: killed $sgpr46
; SI-NEXT: ; implicit-def: $sgpr46
-; SI-NEXT: v_writelane_b32 v21, s72, 2
-; SI-NEXT: v_writelane_b32 v21, s73, 3
-; SI-NEXT: ; implicit-def: $sgpr72
+; SI-NEXT: v_writelane_b32 v21, s60, 2
+; SI-NEXT: v_writelane_b32 v21, s61, 3
+; SI-NEXT: ; implicit-def: $sgpr60
; SI-NEXT: ; kill: killed $sgpr46
; SI-NEXT: ; implicit-def: $sgpr46
; SI-NEXT: ; kill: killed $sgpr46
; SI-NEXT: ; implicit-def: $sgpr46
-; SI-NEXT: v_writelane_b32 v21, s72, 4
-; SI-NEXT: v_writelane_b32 v21, s73, 5
-; SI-NEXT: ; implicit-def: $sgpr72
+; SI-NEXT: v_writelane_b32 v21, s60, 4
+; SI-NEXT: v_writelane_b32 v21, s61, 5
+; SI-NEXT: ; implicit-def: $sgpr60
; SI-NEXT: ; kill: killed $sgpr46
; SI-NEXT: ; implicit-def: $sgpr46
; SI-NEXT: ; kill: killed $sgpr46
; SI-NEXT: ; implicit-def: $sgpr46
-; SI-NEXT: v_writelane_b32 v21, s72, 6
-; SI-NEXT: v_writelane_b32 v21, s73, 7
-; SI-NEXT: ; implicit-def: $sgpr72
+; SI-NEXT: v_writelane_b32 v21, s60, 6
+; SI-NEXT: v_writelane_b32 v21, s61, 7
+; SI-NEXT: ; implicit-def: $sgpr60
; SI-NEXT: ; kill: killed $sgpr46
; SI-NEXT: ; implicit-def: $sgpr46
; SI-NEXT: ; kill: killed $sgpr46
; SI-NEXT: ; implicit-def: $sgpr46
-; SI-NEXT: v_writelane_b32 v21, s72, 8
-; SI-NEXT: v_writelane_b32 v21, s73, 9
-; SI-NEXT: ; implicit-def: $sgpr72
+; SI-NEXT: v_writelane_b32 v21, s60, 8
+; SI-NEXT: v_writelane_b32 v21, s61, 9
+; SI-NEXT: ; implicit-def: $sgpr60
+; SI-NEXT: ; kill: killed $sgpr46
+; SI-NEXT: ; implicit-def: $sgpr46
+; SI-NEXT: ; kill: killed $sgpr46
+; SI-NEXT: ; implicit-def: $sgpr46
+; SI-NEXT: v_writelane_b32 v21, s60, 10
+; SI-NEXT: v_writelane_b32 v21, s61, 11
+; SI-NEXT: ; implicit-def: $sgpr60
+; SI-NEXT: ; kill: killed $sgpr46
+; SI-NEXT: ; implicit-def: $sgpr46
; SI-NEXT: ; implicit-def: $sgpr38
; SI-NEXT: ; implicit-def: $sgpr48
; SI-NEXT: ; implicit-def: $sgpr50
@@ -78616,25 +78677,24 @@ define inreg <128 x i8> @bitcast_v16i64_to_v128i8_scalar(<16 x i64> inreg %a, i3
; SI-NEXT: ; implicit-def: $sgpr68
; SI-NEXT: ; implicit-def: $sgpr70
; SI-NEXT: ; implicit-def: $sgpr80
-; SI-NEXT: ; implicit-def: $sgpr84
+; SI-NEXT: ; implicit-def: $sgpr82
; SI-NEXT: ; implicit-def: $sgpr86
; SI-NEXT: ; implicit-def: $sgpr96
-; SI-NEXT: ; implicit-def: $sgpr98
-; SI-NEXT: ; implicit-def: $sgpr82
+; SI-NEXT: ; implicit-def: $sgpr84
; SI-NEXT: ; kill: killed $sgpr46
-; SI-NEXT: ; implicit-def: $sgpr63
-; SI-NEXT: ; implicit-def: $sgpr61
-; SI-NEXT: ; implicit-def: $sgpr62
; SI-NEXT: ; implicit-def: $sgpr59
-; SI-NEXT: ; implicit-def: $sgpr60
; SI-NEXT: ; implicit-def: $sgpr58
; SI-NEXT: ; implicit-def: $sgpr57
; SI-NEXT: ; implicit-def: $sgpr56
-; SI-NEXT: ; implicit-def: $sgpr87
-; SI-NEXT: ; implicit-def: $sgpr46
; SI-NEXT: ; implicit-def: $sgpr99
-; SI-NEXT: ; implicit-def: $sgpr97
+; SI-NEXT: ; implicit-def: $sgpr46
+; SI-NEXT: v_writelane_b32 v21, s60, 12
+; SI-NEXT: v_writelane_b32 v21, s61, 13
+; SI-NEXT: ; implicit-def: $sgpr60
; SI-NEXT: ; implicit-def: $sgpr83
+; SI-NEXT: ; implicit-def: $sgpr98
+; SI-NEXT: ; implicit-def: $sgpr97
+; SI-NEXT: ; implicit-def: $sgpr87
; SI-NEXT: ; implicit-def: $sgpr85
; SI-NEXT: ; implicit-def: $sgpr71
; SI-NEXT: ; implicit-def: $sgpr81
@@ -78656,125 +78716,117 @@ define inreg <128 x i8> @bitcast_v16i64_to_v128i8_scalar(<16 x i64> inreg %a, i3
; SI-NEXT: ; implicit-def: $sgpr78
; SI-NEXT: ; implicit-def: $sgpr76
; SI-NEXT: ; implicit-def: $sgpr74
-; SI-NEXT: v_writelane_b32 v21, s72, 10
-; SI-NEXT: v_writelane_b32 v21, s73, 11
-; SI-NEXT: ; implicit-def: $sgpr72
-; SI-NEXT: v_writelane_b32 v21, s72, 12
-; SI-NEXT: v_writelane_b32 v21, s73, 13
-; SI-NEXT: ; implicit-def: $sgpr72
-; SI-NEXT: v_writelane_b32 v21, s72, 14
-; SI-NEXT: v_writelane_b32 v21, s73, 15
-; SI-NEXT: ; implicit-def: $sgpr72
-; SI-NEXT: v_writelane_b32 v21, s72, 16
-; SI-NEXT: v_writelane_b32 v21, s73, 17
-; SI-NEXT: ; implicit-def: $sgpr72
-; SI-NEXT: v_writelane_b32 v21, s72, 18
-; SI-NEXT: v_writelane_b32 v21, s73, 19
-; SI-NEXT: ; implicit-def: $sgpr72
-; SI-NEXT: v_writelane_b32 v21, s72, 20
-; SI-NEXT: v_writelane_b32 v21, s73, 21
-; SI-NEXT: ; implicit-def: $sgpr72
-; SI-NEXT: v_writelane_b32 v21, s72, 22
-; SI-NEXT: v_writelane_b32 v21, s73, 23
-; SI-NEXT: ; implicit-def: $sgpr72
-; SI-NEXT: v_writelane_b32 v21, s72, 24
-; SI-NEXT: v_writelane_b32 v21, s73, 25
-; SI-NEXT: ; implicit-def: $sgpr72
-; SI-NEXT: v_writelane_b32 v21, s72, 26
-; SI-NEXT: v_writelane_b32 v21, s73, 27
-; SI-NEXT: ; implicit-def: $sgpr72
-; SI-NEXT: v_writelane_b32 v21, s72, 28
-; SI-NEXT: v_writelane_b32 v21, s73, 29
-; SI-NEXT: ; implicit-def: $sgpr72
-; SI-NEXT: v_writelane_b32 v21, s72, 30
-; SI-NEXT: v_writelane_b32 v21, s73, 31
-; SI-NEXT: ; implicit-def: $sgpr72
-; SI-NEXT: v_writelane_b32 v21, s72, 32
-; SI-NEXT: v_writelane_b32 v21, s73, 33
-; SI-NEXT: ; implicit-def: $sgpr72
-; SI-NEXT: v_writelane_b32 v21, s72, 34
-; SI-NEXT: v_writelane_b32 v21, s73, 35
-; SI-NEXT: ; implicit-def: $sgpr72
-; SI-NEXT: v_writelane_b32 v21, s72, 36
-; SI-NEXT: v_writelane_b32 v21, s73, 37
-; SI-NEXT: ; implicit-def: $sgpr72
-; SI-NEXT: v_writelane_b32 v21, s72, 38
-; SI-NEXT: v_writelane_b32 v21, s73, 39
-; SI-NEXT: ; implicit-def: $sgpr72
-; SI-NEXT: v_writelane_b32 v21, s72, 40
-; SI-NEXT: v_writelane_b32 v21, s73, 41
-; SI-NEXT: ; implicit-def: $sgpr72
-; SI-NEXT: v_writelane_b32 v21, s72, 42
-; SI-NEXT: v_writelane_b32 v21, s73, 43
-; SI-NEXT: ; implicit-def: $sgpr72
-; SI-NEXT: v_writelane_b32 v21, s72, 44
-; SI-NEXT: v_writelane_b32 v21, s73, 45
-; SI-NEXT: ; implicit-def: $sgpr72
-; SI-NEXT: v_writelane_b32 v21, s72, 46
-; SI-NEXT: v_writelane_b32 v21, s73, 47
-; SI-NEXT: ; implicit-def: $sgpr72
-; SI-NEXT: v_writelane_b32 v21, s72, 48
-; SI-NEXT: v_writelane_b32 v21, s73, 49
-; SI-NEXT: ; implicit-def: $sgpr72
-; SI-NEXT: v_writelane_b32 v21, s72, 50
-; SI-NEXT: v_writelane_b32 v21, s73, 51
-; SI-NEXT: ; implicit-def: $sgpr72
-; SI-NEXT: v_writelane_b32 v21, s72, 52
-; SI-NEXT: v_writelane_b32 v21, s73, 53
-; SI-NEXT: ; implicit-def: $sgpr72
-; SI-NEXT: v_writelane_b32 v21, s72, 54
-; SI-NEXT: v_writelane_b32 v21, s73, 55
-; SI-NEXT: ; implicit-def: $sgpr72
-; SI-NEXT: v_writelane_b32 v21, s72, 56
-; SI-NEXT: v_writelane_b32 v21, s73, 57
-; SI-NEXT: ; implicit-def: $sgpr72
-; SI-NEXT: v_writelane_b32 v21, s72, 58
-; SI-NEXT: v_writelane_b32 v21, s73, 59
-; SI-NEXT: ; implicit-def: $sgpr72
-; SI-NEXT: v_writelane_b32 v21, s72, 60
-; SI-NEXT: v_writelane_b32 v21, s73, 61
-; SI-NEXT: ; implicit-def: $sgpr72
-; SI-NEXT: v_writelane_b32 v21, s72, 62
-; SI-NEXT: v_writelane_b32 v21, s73, 63
; SI-NEXT: ; implicit-def: $sgpr72
+; SI-NEXT: ; implicit-def: $sgpr62
+; SI-NEXT: v_writelane_b32 v21, s60, 14
+; SI-NEXT: v_writelane_b32 v21, s61, 15
+; SI-NEXT: ; implicit-def: $sgpr60
+; SI-NEXT: v_writelane_b32 v21, s60, 16
+; SI-NEXT: v_writelane_b32 v21, s61, 17
+; SI-NEXT: ; implicit-def: $sgpr60
+; SI-NEXT: v_writelane_b32 v21, s60, 18
+; SI-NEXT: v_writelane_b32 v21, s61, 19
+; SI-NEXT: ; implicit-def: $sgpr60
+; SI-NEXT: v_writelane_b32 v21, s60, 20
+; SI-NEXT: v_writelane_b32 v21, s61, 21
+; SI-NEXT: ; implicit-def: $sgpr60
+; SI-NEXT: v_writelane_b32 v21, s60, 22
+; SI-NEXT: v_writelane_b32 v21, s61, 23
+; SI-NEXT: ; implicit-def: $sgpr60
+; SI-NEXT: v_writelane_b32 v21, s60, 24
+; SI-NEXT: v_writelane_b32 v21, s61, 25
+; SI-NEXT: ; implicit-def: $sgpr60
+; SI-NEXT: v_writelane_b32 v21, s60, 26
+; SI-NEXT: v_writelane_b32 v21, s61, 27
+; SI-NEXT: ; implicit-def: $sgpr60
+; SI-NEXT: v_writelane_b32 v21, s60, 28
+; SI-NEXT: v_writelane_b32 v21, s61, 29
+; SI-NEXT: ; implicit-def: $sgpr60
+; SI-NEXT: v_writelane_b32 v21, s60, 30
+; SI-NEXT: v_writelane_b32 v21, s61, 31
+; SI-NEXT: ; implicit-def: $sgpr60
+; SI-NEXT: v_writelane_b32 v21, s60, 32
+; SI-NEXT: v_writelane_b32 v21, s61, 33
+; SI-NEXT: ; implicit-def: $sgpr60
+; SI-NEXT: v_writelane_b32 v21, s60, 34
+; SI-NEXT: v_writelane_b32 v21, s61, 35
+; SI-NEXT: ; implicit-def: $sgpr60
+; SI-NEXT: v_writelane_b32 v21, s60, 36
+; SI-NEXT: v_writelane_b32 v21, s61, 37
+; SI-NEXT: ; implicit-def: $sgpr60
+; SI-NEXT: v_writelane_b32 v21, s60, 38
+; SI-NEXT: v_writelane_b32 v21, s61, 39
+; SI-NEXT: ; implicit-def: $sgpr60
+; SI-NEXT: v_writelane_b32 v21, s60, 40
+; SI-NEXT: v_writelane_b32 v21, s61, 41
+; SI-NEXT: ; implicit-def: $sgpr60
+; SI-NEXT: v_writelane_b32 v21, s60, 42
+; SI-NEXT: v_writelane_b32 v21, s61, 43
+; SI-NEXT: ; implicit-def: $sgpr60
+; SI-NEXT: v_writelane_b32 v21, s60, 44
+; SI-NEXT: v_writelane_b32 v21, s61, 45
+; SI-NEXT: ; implicit-def: $sgpr60
+; SI-NEXT: v_writelane_b32 v21, s60, 46
+; SI-NEXT: v_writelane_b32 v21, s61, 47
+; SI-NEXT: ; implicit-def: $sgpr60
+; SI-NEXT: v_writelane_b32 v21, s60, 48
+; SI-NEXT: v_writelane_b32 v21, s61, 49
+; SI-NEXT: ; implicit-def: $sgpr60
+; SI-NEXT: v_writelane_b32 v21, s60, 50
+; SI-NEXT: v_writelane_b32 v21, s61, 51
+; SI-NEXT: ; implicit-def: $sgpr60
+; SI-NEXT: v_writelane_b32 v21, s60, 52
+; SI-NEXT: v_writelane_b32 v21, s61, 53
+; SI-NEXT: ; implicit-def: $sgpr60
+; SI-NEXT: v_writelane_b32 v21, s60, 54
+; SI-NEXT: v_writelane_b32 v21, s61, 55
+; SI-NEXT: ; implicit-def: $sgpr60
+; SI-NEXT: v_writelane_b32 v21, s60, 56
+; SI-NEXT: v_writelane_b32 v21, s61, 57
+; SI-NEXT: ; implicit-def: $sgpr60
+; SI-NEXT: v_writelane_b32 v21, s60, 58
+; SI-NEXT: v_writelane_b32 v21, s61, 59
+; SI-NEXT: ; implicit-def: $sgpr60
+; SI-NEXT: v_writelane_b32 v21, s60, 60
+; SI-NEXT: v_writelane_b32 v21, s61, 61
+; SI-NEXT: ; implicit-def: $sgpr60
+; SI-NEXT: v_writelane_b32 v21, s60, 62
+; SI-NEXT: v_writelane_b32 v21, s61, 63
+; SI-NEXT: ; implicit-def: $sgpr60
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_writelane_b32 v22, s72, 0
-; SI-NEXT: v_writelane_b32 v22, s73, 1
-; SI-NEXT: ; implicit-def: $sgpr72
-; SI-NEXT: v_writelane_b32 v22, s72, 2
-; SI-NEXT: v_writelane_b32 v22, s73, 3
-; SI-NEXT: ; implicit-def: $sgpr72
-; SI-NEXT: v_writelane_b32 v22, s72, 4
-; SI-NEXT: v_writelane_b32 v22, s73, 5
-; SI-NEXT: ; implicit-def: $sgpr72
-; SI-NEXT: v_writelane_b32 v22, s72, 6
-; SI-NEXT: v_writelane_b32 v22, s73, 7
-; SI-NEXT: ; implicit-def: $sgpr72
-; SI-NEXT: v_writelane_b32 v22, s72, 8
-; SI-NEXT: v_writelane_b32 v22, s73, 9
-; SI-NEXT: ; implicit-def: $sgpr72
+; SI-NEXT: v_writelane_b32 v22, s60, 0
+; SI-NEXT: v_writelane_b32 v22, s61, 1
+; SI-NEXT: ; implicit-def: $sgpr60
+; SI-NEXT: v_writelane_b32 v22, s60, 2
+; SI-NEXT: v_writelane_b32 v22, s61, 3
+; SI-NEXT: ; implicit-def: $sgpr60
+; SI-NEXT: v_writelane_b32 v22, s60, 4
+; SI-NEXT: v_writelane_b32 v22, s61, 5
+; SI-NEXT: ; implicit-def: $sgpr60
+; SI-NEXT: v_writelane_b32 v22, s60, 6
+; SI-NEXT: v_writelane_b32 v22, s61, 7
; SI-NEXT: .LBB57_3: ; %Flow
; SI-NEXT: s_and_b64 s[36:37], s[36:37], exec
; SI-NEXT: s_cselect_b32 s47, 1, 0
; SI-NEXT: s_cmp_lg_u32 s47, 1
-; SI-NEXT: s_mov_b32 s36, s87
+; SI-NEXT: s_mov_b32 s36, s83
; SI-NEXT: s_mov_b32 s37, s49
; SI-NEXT: s_mov_b32 s49, s53
; SI-NEXT: s_mov_b32 s53, s65
; SI-NEXT: s_mov_b32 s65, s69
; SI-NEXT: s_mov_b32 s69, s81
; SI-NEXT: s_mov_b32 s81, s85
+; SI-NEXT: s_mov_b32 s83, s87
; SI-NEXT: s_mov_b32 s85, s97
-; SI-NEXT: s_mov_b32 s87, s99
-; SI-NEXT: s_mov_b32 s97, s46
+; SI-NEXT: s_mov_b32 s87, s98
+; SI-NEXT: s_mov_b32 s97, s99
+; SI-NEXT: s_mov_b32 s98, s46
; SI-NEXT: s_mov_b32 s46, s56
; SI-NEXT: s_mov_b32 s56, s57
; SI-NEXT: s_mov_b32 s99, s58
-; SI-NEXT: s_mov_b32 s58, s59
-; SI-NEXT: s_mov_b32 s59, s60
+; SI-NEXT: v_readlane_b32 s58, v22, 8
; SI-NEXT: s_mov_b32 s60, s61
-; SI-NEXT: s_mov_b32 s61, s62
-; SI-NEXT: v_readlane_b32 s62, v22, 10
+; SI-NEXT: v_readlane_b32 s61, v22, 9
; SI-NEXT: s_cbranch_scc1 .LBB57_5
; SI-NEXT: ; %bb.4: ; %cmp.true
; SI-NEXT: s_add_u32 s4, s4, 3
@@ -78809,6 +78861,8 @@ define inreg <128 x i8> @bitcast_v16i64_to_v128i8_scalar(<16 x i64> inreg %a, i3
; SI-NEXT: s_addc_u32 s19, s19, 0
; SI-NEXT: s_add_u32 s16, s16, 3
; SI-NEXT: s_addc_u32 s17, s17, 0
+; SI-NEXT: s_lshr_b32 s47, s45, 24
+; SI-NEXT: v_writelane_b32 v22, s47, 10
; SI-NEXT: s_lshr_b32 s47, s45, 16
; SI-NEXT: v_writelane_b32 v22, s47, 11
; SI-NEXT: s_lshr_b32 s47, s45, 8
@@ -78825,116 +78879,115 @@ define inreg <128 x i8> @bitcast_v16i64_to_v128i8_scalar(<16 x i64> inreg %a, i3
; SI-NEXT: v_writelane_b32 v22, s47, 17
; SI-NEXT: s_lshr_b32 s47, s27, 8
; SI-NEXT: v_writelane_b32 v22, s47, 18
-; SI-NEXT: s_lshr_b64 s[72:73], s[4:5], 24
-; SI-NEXT: v_writelane_b32 v22, s72, 8
-; SI-NEXT: v_writelane_b32 v22, s73, 9
-; SI-NEXT: s_lshr_b64 s[74:75], s[4:5], 8
-; SI-NEXT: v_writelane_b32 v22, s74, 6
-; SI-NEXT: v_writelane_b32 v22, s75, 7
-; SI-NEXT: s_lshr_b64 s[74:75], s[6:7], 24
-; SI-NEXT: v_writelane_b32 v22, s74, 4
-; SI-NEXT: v_writelane_b32 v22, s75, 5
-; SI-NEXT: s_lshr_b64 s[74:75], s[6:7], 16
-; SI-NEXT: v_writelane_b32 v22, s74, 2
-; SI-NEXT: v_writelane_b32 v22, s75, 3
-; SI-NEXT: s_lshr_b64 s[74:75], s[6:7], 8
-; SI-NEXT: v_writelane_b32 v22, s74, 0
-; SI-NEXT: v_writelane_b32 v22, s75, 1
-; SI-NEXT: s_lshr_b64 s[74:75], s[8:9], 24
-; SI-NEXT: v_writelane_b32 v21, s74, 62
-; SI-NEXT: v_writelane_b32 v21, s75, 63
-; SI-NEXT: s_lshr_b64 s[74:75], s[8:9], 16
-; SI-NEXT: v_writelane_b32 v21, s74, 60
-; SI-NEXT: v_writelane_b32 v21, s75, 61
-; SI-NEXT: s_lshr_b64 s[74:75], s[8:9], 8
-; SI-NEXT: v_writelane_b32 v21, s74, 58
-; SI-NEXT: v_writelane_b32 v21, s75, 59
-; SI-NEXT: s_lshr_b64 s[74:75], s[10:11], 24
-; SI-NEXT: v_writelane_b32 v21, s74, 56
-; SI-NEXT: v_writelane_b32 v21, s75, 57
-; SI-NEXT: s_lshr_b64 s[74:75], s[10:11], 16
-; SI-NEXT: v_writelane_b32 v21, s74, 54
-; SI-NEXT: v_writelane_b32 v21, s75, 55
-; SI-NEXT: s_lshr_b64 s[74:75], s[10:11], 8
-; SI-NEXT: v_writelane_b32 v21, s74, 52
-; SI-NEXT: v_writelane_b32 v21, s75, 53
-; SI-NEXT: s_lshr_b64 s[74:75], s[12:13], 24
-; SI-NEXT: v_writelane_b32 v21, s74, 50
-; SI-NEXT: v_writelane_b32 v21, s75, 51
-; SI-NEXT: s_lshr_b64 s[74:75], s[12:13], 16
-; SI-NEXT: v_writelane_b32 v21, s74, 48
-; SI-NEXT: v_writelane_b32 v21, s75, 49
-; SI-NEXT: s_lshr_b64 s[74:75], s[12:13], 8
-; SI-NEXT: v_writelane_b32 v21, s74, 46
-; SI-NEXT: v_writelane_b32 v21, s75, 47
-; SI-NEXT: s_lshr_b64 s[74:75], s[14:15], 24
-; SI-NEXT: v_writelane_b32 v21, s74, 44
-; SI-NEXT: v_writelane_b32 v21, s75, 45
-; SI-NEXT: s_lshr_b64 s[74:75], s[14:15], 16
-; SI-NEXT: v_writelane_b32 v21, s74, 42
-; SI-NEXT: v_writelane_b32 v21, s75, 43
-; SI-NEXT: s_lshr_b64 s[74:75], s[14:15], 8
-; SI-NEXT: v_writelane_b32 v21, s74, 40
-; SI-NEXT: v_writelane_b32 v21, s75, 41
-; SI-NEXT: s_lshr_b64 s[74:75], s[40:41], 24
-; SI-NEXT: v_writelane_b32 v21, s74, 38
-; SI-NEXT: v_writelane_b32 v21, s75, 39
-; SI-NEXT: s_lshr_b64 s[74:75], s[40:41], 16
-; SI-NEXT: v_writelane_b32 v21, s74, 36
-; SI-NEXT: v_writelane_b32 v21, s75, 37
-; SI-NEXT: s_lshr_b64 s[74:75], s[40:41], 8
-; SI-NEXT: v_writelane_b32 v21, s74, 34
-; SI-NEXT: v_writelane_b32 v21, s75, 35
-; SI-NEXT: s_lshr_b64 s[74:75], s[42:43], 24
-; SI-NEXT: v_writelane_b32 v21, s74, 32
-; SI-NEXT: v_writelane_b32 v21, s75, 33
-; SI-NEXT: s_lshr_b64 s[74:75], s[42:43], 16
-; SI-NEXT: v_writelane_b32 v21, s74, 30
-; SI-NEXT: v_writelane_b32 v21, s75, 31
-; SI-NEXT: s_lshr_b64 s[74:75], s[42:43], 8
-; SI-NEXT: v_writelane_b32 v21, s74, 28
-; SI-NEXT: v_writelane_b32 v21, s75, 29
-; SI-NEXT: s_lshr_b64 s[74:75], s[44:45], 24
-; SI-NEXT: v_writelane_b32 v21, s74, 26
-; SI-NEXT: v_writelane_b32 v21, s75, 27
-; SI-NEXT: s_lshr_b64 s[74:75], s[44:45], 16
-; SI-NEXT: v_writelane_b32 v21, s74, 24
-; SI-NEXT: v_writelane_b32 v21, s75, 25
-; SI-NEXT: s_lshr_b64 s[74:75], s[44:45], 8
-; SI-NEXT: v_writelane_b32 v21, s74, 22
-; SI-NEXT: v_writelane_b32 v21, s75, 23
-; SI-NEXT: s_lshr_b64 s[74:75], s[28:29], 24
-; SI-NEXT: v_writelane_b32 v21, s74, 20
-; SI-NEXT: v_writelane_b32 v21, s75, 21
-; SI-NEXT: s_lshr_b64 s[74:75], s[28:29], 16
-; SI-NEXT: v_writelane_b32 v21, s74, 18
-; SI-NEXT: v_writelane_b32 v21, s75, 19
-; SI-NEXT: s_lshr_b64 s[74:75], s[28:29], 8
-; SI-NEXT: v_writelane_b32 v21, s74, 16
-; SI-NEXT: v_writelane_b32 v21, s75, 17
-; SI-NEXT: s_lshr_b64 s[74:75], s[26:27], 24
-; SI-NEXT: v_writelane_b32 v21, s74, 14
-; SI-NEXT: v_writelane_b32 v21, s75, 15
-; SI-NEXT: s_lshr_b64 s[74:75], s[26:27], 16
-; SI-NEXT: v_writelane_b32 v21, s74, 12
-; SI-NEXT: v_writelane_b32 v21, s75, 13
-; SI-NEXT: s_lshr_b64 s[74:75], s[26:27], 8
-; SI-NEXT: v_writelane_b32 v21, s74, 10
-; SI-NEXT: v_writelane_b32 v21, s75, 11
-; SI-NEXT: s_lshr_b64 s[74:75], s[24:25], 24
-; SI-NEXT: v_writelane_b32 v21, s74, 8
-; SI-NEXT: v_writelane_b32 v21, s75, 9
-; SI-NEXT: s_lshr_b64 s[74:75], s[24:25], 16
-; SI-NEXT: v_writelane_b32 v21, s74, 6
-; SI-NEXT: v_writelane_b32 v21, s75, 7
-; SI-NEXT: s_lshr_b64 s[74:75], s[24:25], 8
-; SI-NEXT: v_writelane_b32 v21, s74, 4
-; SI-NEXT: v_writelane_b32 v21, s75, 5
-; SI-NEXT: s_lshr_b64 s[74:75], s[22:23], 24
-; SI-NEXT: v_writelane_b32 v21, s74, 2
-; SI-NEXT: v_writelane_b32 v21, s75, 3
-; SI-NEXT: s_lshr_b64 s[74:75], s[22:23], 16
-; SI-NEXT: v_writelane_b32 v21, s74, 0
+; SI-NEXT: s_lshr_b32 s47, s25, 24
+; SI-NEXT: v_writelane_b32 v22, s47, 19
+; SI-NEXT: s_lshr_b64 s[62:63], s[4:5], 24
+; SI-NEXT: v_writelane_b32 v22, s62, 6
+; SI-NEXT: v_writelane_b32 v22, s63, 7
+; SI-NEXT: s_lshr_b64 s[62:63], s[4:5], 16
+; SI-NEXT: v_writelane_b32 v22, s62, 4
+; SI-NEXT: v_writelane_b32 v22, s63, 5
+; SI-NEXT: s_lshr_b64 s[62:63], s[4:5], 8
+; SI-NEXT: v_writelane_b32 v22, s62, 2
+; SI-NEXT: v_writelane_b32 v22, s63, 3
+; SI-NEXT: s_lshr_b64 s[62:63], s[6:7], 24
+; SI-NEXT: v_writelane_b32 v22, s62, 0
+; SI-NEXT: v_writelane_b32 v22, s63, 1
+; SI-NEXT: s_lshr_b64 s[62:63], s[6:7], 16
+; SI-NEXT: v_writelane_b32 v21, s62, 62
+; SI-NEXT: v_writelane_b32 v21, s63, 63
+; SI-NEXT: s_lshr_b64 s[62:63], s[6:7], 8
+; SI-NEXT: v_writelane_b32 v21, s62, 60
+; SI-NEXT: v_writelane_b32 v21, s63, 61
+; SI-NEXT: s_lshr_b64 s[62:63], s[8:9], 24
+; SI-NEXT: v_writelane_b32 v21, s62, 58
+; SI-NEXT: v_writelane_b32 v21, s63, 59
+; SI-NEXT: s_lshr_b64 s[62:63], s[8:9], 16
+; SI-NEXT: v_writelane_b32 v21, s62, 56
+; SI-NEXT: v_writelane_b32 v21, s63, 57
+; SI-NEXT: s_lshr_b64 s[62:63], s[8:9], 8
+; SI-NEXT: v_writelane_b32 v21, s62, 54
+; SI-NEXT: v_writelane_b32 v21, s63, 55
+; SI-NEXT: s_lshr_b64 s[62:63], s[10:11], 24
+; SI-NEXT: v_writelane_b32 v21, s62, 52
+; SI-NEXT: v_writelane_b32 v21, s63, 53
+; SI-NEXT: s_lshr_b64 s[62:63], s[10:11], 16
+; SI-NEXT: v_writelane_b32 v21, s62, 50
+; SI-NEXT: v_writelane_b32 v21, s63, 51
+; SI-NEXT: s_lshr_b64 s[62:63], s[10:11], 8
+; SI-NEXT: v_writelane_b32 v21, s62, 48
+; SI-NEXT: v_writelane_b32 v21, s63, 49
+; SI-NEXT: s_lshr_b64 s[62:63], s[12:13], 24
+; SI-NEXT: v_writelane_b32 v21, s62, 46
+; SI-NEXT: v_writelane_b32 v21, s63, 47
+; SI-NEXT: s_lshr_b64 s[62:63], s[12:13], 16
+; SI-NEXT: v_writelane_b32 v21, s62, 44
+; SI-NEXT: v_writelane_b32 v21, s63, 45
+; SI-NEXT: s_lshr_b64 s[62:63], s[12:13], 8
+; SI-NEXT: v_writelane_b32 v21, s62, 42
+; SI-NEXT: v_writelane_b32 v21, s63, 43
+; SI-NEXT: s_lshr_b64 s[62:63], s[14:15], 24
+; SI-NEXT: v_writelane_b32 v21, s62, 40
+; SI-NEXT: v_writelane_b32 v21, s63, 41
+; SI-NEXT: s_lshr_b64 s[62:63], s[14:15], 16
+; SI-NEXT: v_writelane_b32 v21, s62, 38
+; SI-NEXT: v_writelane_b32 v21, s63, 39
+; SI-NEXT: s_lshr_b64 s[62:63], s[14:15], 8
+; SI-NEXT: v_writelane_b32 v21, s62, 36
+; SI-NEXT: v_writelane_b32 v21, s63, 37
+; SI-NEXT: s_lshr_b64 s[62:63], s[40:41], 24
+; SI-NEXT: v_writelane_b32 v21, s62, 34
+; SI-NEXT: v_writelane_b32 v21, s63, 35
+; SI-NEXT: s_lshr_b64 s[62:63], s[40:41], 16
+; SI-NEXT: v_writelane_b32 v21, s62, 32
+; SI-NEXT: v_writelane_b32 v21, s63, 33
+; SI-NEXT: s_lshr_b64 s[62:63], s[40:41], 8
+; SI-NEXT: v_writelane_b32 v21, s62, 30
+; SI-NEXT: v_writelane_b32 v21, s63, 31
+; SI-NEXT: s_lshr_b64 s[62:63], s[42:43], 24
+; SI-NEXT: v_writelane_b32 v21, s62, 28
+; SI-NEXT: v_writelane_b32 v21, s63, 29
+; SI-NEXT: s_lshr_b64 s[62:63], s[42:43], 16
+; SI-NEXT: v_writelane_b32 v21, s62, 26
+; SI-NEXT: v_writelane_b32 v21, s63, 27
+; SI-NEXT: s_lshr_b64 s[62:63], s[42:43], 8
+; SI-NEXT: v_writelane_b32 v21, s62, 24
+; SI-NEXT: v_writelane_b32 v21, s63, 25
+; SI-NEXT: s_lshr_b64 s[62:63], s[44:45], 24
+; SI-NEXT: v_writelane_b32 v21, s62, 22
+; SI-NEXT: v_writelane_b32 v21, s63, 23
+; SI-NEXT: s_lshr_b64 s[62:63], s[44:45], 16
+; SI-NEXT: v_writelane_b32 v21, s62, 20
+; SI-NEXT: v_writelane_b32 v21, s63, 21
+; SI-NEXT: s_lshr_b64 s[62:63], s[44:45], 8
+; SI-NEXT: v_writelane_b32 v21, s62, 18
+; SI-NEXT: v_writelane_b32 v21, s63, 19
+; SI-NEXT: s_lshr_b64 s[62:63], s[28:29], 24
+; SI-NEXT: v_writelane_b32 v21, s62, 16
+; SI-NEXT: v_writelane_b32 v21, s63, 17
+; SI-NEXT: s_lshr_b64 s[62:63], s[28:29], 16
+; SI-NEXT: v_writelane_b32 v21, s62, 14
+; SI-NEXT: v_writelane_b32 v21, s63, 15
+; SI-NEXT: s_lshr_b64 s[62:63], s[28:29], 8
+; SI-NEXT: v_writelane_b32 v21, s62, 12
+; SI-NEXT: v_writelane_b32 v21, s63, 13
+; SI-NEXT: s_lshr_b64 s[62:63], s[26:27], 24
+; SI-NEXT: v_writelane_b32 v21, s62, 10
+; SI-NEXT: v_writelane_b32 v21, s63, 11
+; SI-NEXT: s_lshr_b64 s[62:63], s[26:27], 16
+; SI-NEXT: v_writelane_b32 v21, s62, 8
+; SI-NEXT: v_writelane_b32 v21, s63, 9
+; SI-NEXT: s_lshr_b64 s[62:63], s[26:27], 8
+; SI-NEXT: v_writelane_b32 v21, s62, 6
+; SI-NEXT: v_writelane_b32 v21, s63, 7
+; SI-NEXT: s_lshr_b64 s[62:63], s[24:25], 24
+; SI-NEXT: v_writelane_b32 v21, s62, 4
+; SI-NEXT: v_writelane_b32 v21, s63, 5
+; SI-NEXT: s_lshr_b64 s[62:63], s[24:25], 16
+; SI-NEXT: v_writelane_b32 v21, s62, 2
+; SI-NEXT: v_writelane_b32 v21, s63, 3
+; SI-NEXT: s_lshr_b64 s[62:63], s[24:25], 8
+; SI-NEXT: v_writelane_b32 v21, s62, 0
; SI-NEXT: s_lshr_b32 s37, s5, 24
; SI-NEXT: s_lshr_b32 s39, s5, 16
; SI-NEXT: s_lshr_b32 s49, s5, 8
@@ -78949,22 +79002,20 @@ define inreg <128 x i8> @bitcast_v16i64_to_v128i8_scalar(<16 x i64> inreg %a, i3
; SI-NEXT: s_lshr_b32 s83, s11, 8
; SI-NEXT: s_lshr_b32 s85, s13, 24
; SI-NEXT: s_lshr_b32 s87, s13, 16
-; SI-NEXT: s_lshr_b32 s97, s13, 8
-; SI-NEXT: s_lshr_b32 s36, s15, 24
-; SI-NEXT: s_lshr_b32 s46, s15, 16
-; SI-NEXT: s_lshr_b32 s56, s15, 8
-; SI-NEXT: s_lshr_b32 s99, s41, 24
-; SI-NEXT: s_lshr_b32 s59, s41, 16
-; SI-NEXT: s_lshr_b32 s58, s41, 8
-; SI-NEXT: s_lshr_b32 s61, s43, 24
-; SI-NEXT: s_lshr_b32 s60, s43, 16
-; SI-NEXT: s_lshr_b32 s63, s43, 8
-; SI-NEXT: s_lshr_b32 s62, s45, 24
-; SI-NEXT: s_lshr_b32 s82, s25, 24
-; SI-NEXT: s_lshr_b32 s98, s25, 16
+; SI-NEXT: s_lshr_b32 s36, s13, 8
+; SI-NEXT: s_lshr_b32 s98, s15, 24
+; SI-NEXT: s_lshr_b32 s97, s15, 16
+; SI-NEXT: s_lshr_b32 s46, s15, 8
+; SI-NEXT: s_lshr_b32 s56, s41, 24
+; SI-NEXT: s_lshr_b32 s99, s41, 16
+; SI-NEXT: s_lshr_b32 s59, s41, 8
+; SI-NEXT: s_lshr_b32 s58, s43, 24
+; SI-NEXT: s_lshr_b32 s61, s43, 16
+; SI-NEXT: s_lshr_b32 s60, s43, 8
+; SI-NEXT: s_lshr_b32 s84, s25, 16
; SI-NEXT: s_lshr_b32 s96, s25, 8
; SI-NEXT: s_lshr_b32 s86, s23, 24
-; SI-NEXT: s_lshr_b32 s84, s23, 16
+; SI-NEXT: s_lshr_b32 s82, s23, 16
; SI-NEXT: s_lshr_b32 s80, s23, 8
; SI-NEXT: s_lshr_b32 s70, s21, 24
; SI-NEXT: s_lshr_b32 s68, s21, 16
@@ -78975,8 +79026,9 @@ define inreg <128 x i8> @bitcast_v16i64_to_v128i8_scalar(<16 x i64> inreg %a, i3
; SI-NEXT: s_lshr_b32 s50, s17, 24
; SI-NEXT: s_lshr_b32 s48, s17, 16
; SI-NEXT: s_lshr_b32 s38, s17, 8
-; SI-NEXT: s_lshr_b64 s[72:73], s[4:5], 16
-; SI-NEXT: v_writelane_b32 v21, s75, 1
+; SI-NEXT: v_writelane_b32 v21, s63, 1
+; SI-NEXT: s_lshr_b64 s[62:63], s[22:23], 24
+; SI-NEXT: s_lshr_b64 s[72:73], s[22:23], 16
; SI-NEXT: s_lshr_b64 s[74:75], s[22:23], 8
; SI-NEXT: s_lshr_b64 s[76:77], s[20:21], 24
; SI-NEXT: s_lshr_b64 s[78:79], s[20:21], 16
@@ -79055,18 +79107,15 @@ define inreg <128 x i8> @bitcast_v16i64_to_v128i8_scalar(<16 x i64> inreg %a, i3
; SI-NEXT: s_and_b32 s16, s16, 0xffff
; SI-NEXT: s_or_b32 s17, s18, s17
; SI-NEXT: s_or_b32 s16, s16, s17
-; SI-NEXT: v_readlane_b32 s18, v21, 0
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:16
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s16
; SI-NEXT: s_and_b32 s16, s22, 0xff
; SI-NEXT: s_lshl_b32 s17, s74, 8
-; SI-NEXT: v_readlane_b32 s19, v21, 1
; SI-NEXT: s_or_b32 s16, s16, s17
-; SI-NEXT: s_and_b32 s17, s18, 0xff
-; SI-NEXT: v_readlane_b32 s18, v21, 2
+; SI-NEXT: s_and_b32 s17, s72, 0xff
; SI-NEXT: s_lshl_b32 s17, s17, 16
-; SI-NEXT: s_lshl_b32 s18, s18, 24
+; SI-NEXT: s_lshl_b32 s18, s62, 24
; SI-NEXT: s_and_b32 s16, s16, 0xffff
; SI-NEXT: s_or_b32 s17, s18, s17
; SI-NEXT: s_or_b32 s16, s16, s17
@@ -79076,25 +79125,24 @@ define inreg <128 x i8> @bitcast_v16i64_to_v128i8_scalar(<16 x i64> inreg %a, i3
; SI-NEXT: s_and_b32 s16, s23, 0xff
; SI-NEXT: s_lshl_b32 s17, s80, 8
; SI-NEXT: s_or_b32 s16, s16, s17
-; SI-NEXT: s_and_b32 s17, s84, 0xff
-; SI-NEXT: v_readlane_b32 s19, v21, 3
+; SI-NEXT: s_and_b32 s17, s82, 0xff
; SI-NEXT: s_lshl_b32 s17, s17, 16
; SI-NEXT: s_lshl_b32 s18, s86, 24
; SI-NEXT: s_or_b32 s17, s18, s17
-; SI-NEXT: v_readlane_b32 s18, v21, 4
+; SI-NEXT: v_readlane_b32 s18, v21, 0
; SI-NEXT: s_and_b32 s16, s16, 0xffff
-; SI-NEXT: v_readlane_b32 s19, v21, 5
+; SI-NEXT: v_readlane_b32 s19, v21, 1
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: s_lshl_b32 s17, s18, 8
-; SI-NEXT: v_readlane_b32 s18, v21, 6
+; SI-NEXT: v_readlane_b32 s18, v21, 2
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:24
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s16
; SI-NEXT: s_and_b32 s16, s24, 0xff
-; SI-NEXT: v_readlane_b32 s19, v21, 7
+; SI-NEXT: v_readlane_b32 s19, v21, 3
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: s_and_b32 s17, s18, 0xff
-; SI-NEXT: v_readlane_b32 s18, v21, 8
+; SI-NEXT: v_readlane_b32 s18, v21, 4
; SI-NEXT: s_lshl_b32 s17, s17, 16
; SI-NEXT: s_lshl_b32 s18, s18, 24
; SI-NEXT: s_and_b32 s16, s16, 0xffff
@@ -79106,25 +79154,26 @@ define inreg <128 x i8> @bitcast_v16i64_to_v128i8_scalar(<16 x i64> inreg %a, i3
; SI-NEXT: s_and_b32 s16, s25, 0xff
; SI-NEXT: s_lshl_b32 s17, s96, 8
; SI-NEXT: s_or_b32 s16, s16, s17
-; SI-NEXT: s_and_b32 s17, s98, 0xff
-; SI-NEXT: v_readlane_b32 s19, v21, 9
+; SI-NEXT: s_and_b32 s17, s84, 0xff
+; SI-NEXT: v_readlane_b32 s18, v22, 19
+; SI-NEXT: v_readlane_b32 s19, v21, 5
; SI-NEXT: s_lshl_b32 s17, s17, 16
-; SI-NEXT: s_lshl_b32 s18, s82, 24
+; SI-NEXT: s_lshl_b32 s18, s18, 24
; SI-NEXT: s_or_b32 s17, s18, s17
-; SI-NEXT: v_readlane_b32 s18, v21, 10
+; SI-NEXT: v_readlane_b32 s18, v21, 6
; SI-NEXT: s_and_b32 s16, s16, 0xffff
-; SI-NEXT: v_readlane_b32 s19, v21, 11
+; SI-NEXT: v_readlane_b32 s19, v21, 7
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: s_lshl_b32 s17, s18, 8
-; SI-NEXT: v_readlane_b32 s18, v21, 12
+; SI-NEXT: v_readlane_b32 s18, v21, 8
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:32
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s16
; SI-NEXT: s_and_b32 s16, s26, 0xff
-; SI-NEXT: v_readlane_b32 s19, v21, 13
+; SI-NEXT: v_readlane_b32 s19, v21, 9
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: s_and_b32 s17, s18, 0xff
-; SI-NEXT: v_readlane_b32 s18, v21, 14
+; SI-NEXT: v_readlane_b32 s18, v21, 10
; SI-NEXT: s_lshl_b32 s17, s17, 16
; SI-NEXT: s_lshl_b32 s18, s18, 24
; SI-NEXT: s_and_b32 s16, s16, 0xffff
@@ -79140,24 +79189,24 @@ define inreg <128 x i8> @bitcast_v16i64_to_v128i8_scalar(<16 x i64> inreg %a, i3
; SI-NEXT: v_readlane_b32 s17, v22, 17
; SI-NEXT: s_and_b32 s17, s17, 0xff
; SI-NEXT: v_readlane_b32 s18, v22, 16
-; SI-NEXT: v_readlane_b32 s19, v21, 15
+; SI-NEXT: v_readlane_b32 s19, v21, 11
; SI-NEXT: s_lshl_b32 s17, s17, 16
; SI-NEXT: s_lshl_b32 s18, s18, 24
; SI-NEXT: s_or_b32 s17, s18, s17
-; SI-NEXT: v_readlane_b32 s18, v21, 16
+; SI-NEXT: v_readlane_b32 s18, v21, 12
; SI-NEXT: s_and_b32 s16, s16, 0xffff
-; SI-NEXT: v_readlane_b32 s19, v21, 17
+; SI-NEXT: v_readlane_b32 s19, v21, 13
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: s_lshl_b32 s17, s18, 8
-; SI-NEXT: v_readlane_b32 s18, v21, 18
+; SI-NEXT: v_readlane_b32 s18, v21, 14
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:40
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s16
; SI-NEXT: s_and_b32 s16, s28, 0xff
-; SI-NEXT: v_readlane_b32 s19, v21, 19
+; SI-NEXT: v_readlane_b32 s19, v21, 15
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: s_and_b32 s17, s18, 0xff
-; SI-NEXT: v_readlane_b32 s18, v21, 20
+; SI-NEXT: v_readlane_b32 s18, v21, 16
; SI-NEXT: s_lshl_b32 s17, s17, 16
; SI-NEXT: s_lshl_b32 s18, s18, 24
; SI-NEXT: s_and_b32 s16, s16, 0xffff
@@ -79173,24 +79222,24 @@ define inreg <128 x i8> @bitcast_v16i64_to_v128i8_scalar(<16 x i64> inreg %a, i3
; SI-NEXT: v_readlane_b32 s17, v22, 14
; SI-NEXT: s_and_b32 s17, s17, 0xff
; SI-NEXT: v_readlane_b32 s18, v22, 13
-; SI-NEXT: v_readlane_b32 s19, v21, 21
+; SI-NEXT: v_readlane_b32 s19, v21, 17
; SI-NEXT: s_lshl_b32 s17, s17, 16
; SI-NEXT: s_lshl_b32 s18, s18, 24
; SI-NEXT: s_or_b32 s17, s18, s17
-; SI-NEXT: v_readlane_b32 s18, v21, 22
+; SI-NEXT: v_readlane_b32 s18, v21, 18
; SI-NEXT: s_and_b32 s16, s16, 0xffff
-; SI-NEXT: v_readlane_b32 s19, v21, 23
+; SI-NEXT: v_readlane_b32 s19, v21, 19
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: s_lshl_b32 s17, s18, 8
-; SI-NEXT: v_readlane_b32 s18, v21, 24
+; SI-NEXT: v_readlane_b32 s18, v21, 20
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:48
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s16
; SI-NEXT: s_and_b32 s16, s44, 0xff
-; SI-NEXT: v_readlane_b32 s19, v21, 25
+; SI-NEXT: v_readlane_b32 s19, v21, 21
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: s_and_b32 s17, s18, 0xff
-; SI-NEXT: v_readlane_b32 s18, v21, 26
+; SI-NEXT: v_readlane_b32 s18, v21, 22
; SI-NEXT: s_lshl_b32 s17, s17, 16
; SI-NEXT: s_lshl_b32 s18, s18, 24
; SI-NEXT: s_and_b32 s16, s16, 0xffff
@@ -79205,24 +79254,25 @@ define inreg <128 x i8> @bitcast_v16i64_to_v128i8_scalar(<16 x i64> inreg %a, i3
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: v_readlane_b32 s17, v22, 11
; SI-NEXT: s_and_b32 s17, s17, 0xff
-; SI-NEXT: v_readlane_b32 s19, v21, 27
+; SI-NEXT: v_readlane_b32 s18, v22, 10
+; SI-NEXT: v_readlane_b32 s19, v21, 23
; SI-NEXT: s_lshl_b32 s17, s17, 16
-; SI-NEXT: s_lshl_b32 s18, s62, 24
+; SI-NEXT: s_lshl_b32 s18, s18, 24
; SI-NEXT: s_or_b32 s17, s18, s17
-; SI-NEXT: v_readlane_b32 s18, v21, 28
+; SI-NEXT: v_readlane_b32 s18, v21, 24
; SI-NEXT: s_and_b32 s16, s16, 0xffff
-; SI-NEXT: v_readlane_b32 s19, v21, 29
+; SI-NEXT: v_readlane_b32 s19, v21, 25
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: s_lshl_b32 s17, s18, 8
-; SI-NEXT: v_readlane_b32 s18, v21, 30
+; SI-NEXT: v_readlane_b32 s18, v21, 26
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:56
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s16
; SI-NEXT: s_and_b32 s16, s42, 0xff
-; SI-NEXT: v_readlane_b32 s19, v21, 31
+; SI-NEXT: v_readlane_b32 s19, v21, 27
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: s_and_b32 s17, s18, 0xff
-; SI-NEXT: v_readlane_b32 s18, v21, 32
+; SI-NEXT: v_readlane_b32 s18, v21, 28
; SI-NEXT: s_lshl_b32 s17, s17, 16
; SI-NEXT: s_lshl_b32 s18, s18, 24
; SI-NEXT: s_and_b32 s16, s16, 0xffff
@@ -79232,27 +79282,27 @@ define inreg <128 x i8> @bitcast_v16i64_to_v128i8_scalar(<16 x i64> inreg %a, i3
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s16
; SI-NEXT: s_and_b32 s16, s43, 0xff
-; SI-NEXT: s_lshl_b32 s17, s63, 8
+; SI-NEXT: s_lshl_b32 s17, s60, 8
; SI-NEXT: s_or_b32 s16, s16, s17
-; SI-NEXT: s_and_b32 s17, s60, 0xff
-; SI-NEXT: v_readlane_b32 s19, v21, 33
+; SI-NEXT: s_and_b32 s17, s61, 0xff
+; SI-NEXT: v_readlane_b32 s19, v21, 29
; SI-NEXT: s_lshl_b32 s17, s17, 16
-; SI-NEXT: s_lshl_b32 s18, s61, 24
+; SI-NEXT: s_lshl_b32 s18, s58, 24
; SI-NEXT: s_or_b32 s17, s18, s17
-; SI-NEXT: v_readlane_b32 s18, v21, 34
+; SI-NEXT: v_readlane_b32 s18, v21, 30
; SI-NEXT: s_and_b32 s16, s16, 0xffff
-; SI-NEXT: v_readlane_b32 s19, v21, 35
+; SI-NEXT: v_readlane_b32 s19, v21, 31
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: s_lshl_b32 s17, s18, 8
-; SI-NEXT: v_readlane_b32 s18, v21, 36
+; SI-NEXT: v_readlane_b32 s18, v21, 32
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:64
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s16
; SI-NEXT: s_and_b32 s16, s40, 0xff
-; SI-NEXT: v_readlane_b32 s19, v21, 37
+; SI-NEXT: v_readlane_b32 s19, v21, 33
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: s_and_b32 s17, s18, 0xff
-; SI-NEXT: v_readlane_b32 s18, v21, 38
+; SI-NEXT: v_readlane_b32 s18, v21, 34
; SI-NEXT: s_lshl_b32 s17, s17, 16
; SI-NEXT: s_lshl_b32 s18, s18, 24
; SI-NEXT: s_and_b32 s16, s16, 0xffff
@@ -79262,27 +79312,27 @@ define inreg <128 x i8> @bitcast_v16i64_to_v128i8_scalar(<16 x i64> inreg %a, i3
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s16
; SI-NEXT: s_and_b32 s16, s41, 0xff
-; SI-NEXT: s_lshl_b32 s17, s58, 8
+; SI-NEXT: s_lshl_b32 s17, s59, 8
; SI-NEXT: s_or_b32 s16, s16, s17
-; SI-NEXT: s_and_b32 s17, s59, 0xff
+; SI-NEXT: s_and_b32 s17, s99, 0xff
; SI-NEXT: s_lshl_b32 s17, s17, 16
-; SI-NEXT: s_lshl_b32 s18, s99, 24
+; SI-NEXT: s_lshl_b32 s18, s56, 24
; SI-NEXT: s_and_b32 s16, s16, 0xffff
; SI-NEXT: s_or_b32 s17, s18, s17
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:72
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s16
-; SI-NEXT: v_readlane_b32 s16, v21, 40
+; SI-NEXT: v_readlane_b32 s16, v21, 36
; SI-NEXT: s_and_b32 s14, s14, 0xff
-; SI-NEXT: v_readlane_b32 s17, v21, 41
+; SI-NEXT: v_readlane_b32 s17, v21, 37
; SI-NEXT: s_lshl_b32 s16, s16, 8
-; SI-NEXT: v_readlane_b32 s19, v21, 39
+; SI-NEXT: v_readlane_b32 s19, v21, 35
; SI-NEXT: s_or_b32 s14, s14, s16
-; SI-NEXT: v_readlane_b32 s16, v21, 42
-; SI-NEXT: v_readlane_b32 s17, v21, 43
+; SI-NEXT: v_readlane_b32 s16, v21, 38
+; SI-NEXT: v_readlane_b32 s17, v21, 39
; SI-NEXT: s_and_b32 s16, s16, 0xff
-; SI-NEXT: v_readlane_b32 s18, v21, 44
+; SI-NEXT: v_readlane_b32 s18, v21, 40
; SI-NEXT: s_lshl_b32 s16, s16, 16
; SI-NEXT: s_lshl_b32 s17, s18, 24
; SI-NEXT: s_and_b32 s14, s14, 0xffff
@@ -79292,26 +79342,26 @@ define inreg <128 x i8> @bitcast_v16i64_to_v128i8_scalar(<16 x i64> inreg %a, i3
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s14
; SI-NEXT: s_and_b32 s14, s15, 0xff
-; SI-NEXT: s_lshl_b32 s15, s56, 8
+; SI-NEXT: s_lshl_b32 s15, s46, 8
; SI-NEXT: s_or_b32 s14, s14, s15
-; SI-NEXT: s_and_b32 s15, s46, 0xff
+; SI-NEXT: s_and_b32 s15, s97, 0xff
; SI-NEXT: s_lshl_b32 s15, s15, 16
-; SI-NEXT: s_lshl_b32 s16, s36, 24
+; SI-NEXT: s_lshl_b32 s16, s98, 24
; SI-NEXT: s_and_b32 s14, s14, 0xffff
; SI-NEXT: s_or_b32 s15, s16, s15
; SI-NEXT: s_or_b32 s14, s14, s15
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:80
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s14
-; SI-NEXT: v_readlane_b32 s14, v21, 46
+; SI-NEXT: v_readlane_b32 s14, v21, 42
; SI-NEXT: s_and_b32 s12, s12, 0xff
-; SI-NEXT: v_readlane_b32 s15, v21, 47
+; SI-NEXT: v_readlane_b32 s15, v21, 43
; SI-NEXT: s_lshl_b32 s14, s14, 8
; SI-NEXT: s_or_b32 s12, s12, s14
-; SI-NEXT: v_readlane_b32 s14, v21, 48
-; SI-NEXT: v_readlane_b32 s15, v21, 49
+; SI-NEXT: v_readlane_b32 s14, v21, 44
+; SI-NEXT: v_readlane_b32 s15, v21, 45
; SI-NEXT: s_and_b32 s14, s14, 0xff
-; SI-NEXT: v_readlane_b32 s16, v21, 50
+; SI-NEXT: v_readlane_b32 s16, v21, 46
; SI-NEXT: s_lshl_b32 s14, s14, 16
; SI-NEXT: s_lshl_b32 s15, s16, 24
; SI-NEXT: s_and_b32 s12, s12, 0xffff
@@ -79321,7 +79371,7 @@ define inreg <128 x i8> @bitcast_v16i64_to_v128i8_scalar(<16 x i64> inreg %a, i3
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s12
; SI-NEXT: s_and_b32 s12, s13, 0xff
-; SI-NEXT: s_lshl_b32 s13, s97, 8
+; SI-NEXT: s_lshl_b32 s13, s36, 8
; SI-NEXT: s_or_b32 s12, s12, s13
; SI-NEXT: s_and_b32 s13, s87, 0xff
; SI-NEXT: s_lshl_b32 s13, s13, 16
@@ -79332,15 +79382,15 @@ define inreg <128 x i8> @bitcast_v16i64_to_v128i8_scalar(<16 x i64> inreg %a, i3
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:88
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s12
-; SI-NEXT: v_readlane_b32 s12, v21, 52
+; SI-NEXT: v_readlane_b32 s12, v21, 48
; SI-NEXT: s_and_b32 s10, s10, 0xff
-; SI-NEXT: v_readlane_b32 s13, v21, 53
+; SI-NEXT: v_readlane_b32 s13, v21, 49
; SI-NEXT: s_lshl_b32 s12, s12, 8
; SI-NEXT: s_or_b32 s10, s10, s12
-; SI-NEXT: v_readlane_b32 s12, v21, 54
-; SI-NEXT: v_readlane_b32 s13, v21, 55
+; SI-NEXT: v_readlane_b32 s12, v21, 50
+; SI-NEXT: v_readlane_b32 s13, v21, 51
; SI-NEXT: s_and_b32 s12, s12, 0xff
-; SI-NEXT: v_readlane_b32 s14, v21, 56
+; SI-NEXT: v_readlane_b32 s14, v21, 52
; SI-NEXT: s_lshl_b32 s12, s12, 16
; SI-NEXT: s_lshl_b32 s13, s14, 24
; SI-NEXT: s_and_b32 s10, s10, 0xffff
@@ -79361,15 +79411,15 @@ define inreg <128 x i8> @bitcast_v16i64_to_v128i8_scalar(<16 x i64> inreg %a, i3
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:96
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s10
-; SI-NEXT: v_readlane_b32 s10, v21, 58
+; SI-NEXT: v_readlane_b32 s10, v21, 54
; SI-NEXT: s_and_b32 s8, s8, 0xff
-; SI-NEXT: v_readlane_b32 s11, v21, 59
+; SI-NEXT: v_readlane_b32 s11, v21, 55
; SI-NEXT: s_lshl_b32 s10, s10, 8
; SI-NEXT: s_or_b32 s8, s8, s10
-; SI-NEXT: v_readlane_b32 s10, v21, 60
-; SI-NEXT: v_readlane_b32 s11, v21, 61
+; SI-NEXT: v_readlane_b32 s10, v21, 56
+; SI-NEXT: v_readlane_b32 s11, v21, 57
; SI-NEXT: s_and_b32 s10, s10, 0xff
-; SI-NEXT: v_readlane_b32 s12, v21, 62
+; SI-NEXT: v_readlane_b32 s12, v21, 58
; SI-NEXT: s_lshl_b32 s10, s10, 16
; SI-NEXT: s_lshl_b32 s11, s12, 24
; SI-NEXT: s_and_b32 s8, s8, 0xffff
@@ -79390,15 +79440,15 @@ define inreg <128 x i8> @bitcast_v16i64_to_v128i8_scalar(<16 x i64> inreg %a, i3
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:104
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s8
-; SI-NEXT: v_readlane_b32 s8, v22, 0
+; SI-NEXT: v_readlane_b32 s8, v21, 60
; SI-NEXT: s_and_b32 s6, s6, 0xff
-; SI-NEXT: v_readlane_b32 s9, v22, 1
+; SI-NEXT: v_readlane_b32 s9, v21, 61
; SI-NEXT: s_lshl_b32 s8, s8, 8
; SI-NEXT: s_or_b32 s6, s6, s8
-; SI-NEXT: v_readlane_b32 s8, v22, 2
-; SI-NEXT: v_readlane_b32 s9, v22, 3
+; SI-NEXT: v_readlane_b32 s8, v21, 62
+; SI-NEXT: v_readlane_b32 s9, v21, 63
; SI-NEXT: s_and_b32 s8, s8, 0xff
-; SI-NEXT: v_readlane_b32 s10, v22, 4
+; SI-NEXT: v_readlane_b32 s10, v22, 0
; SI-NEXT: s_lshl_b32 s8, s8, 16
; SI-NEXT: s_lshl_b32 s9, s10, 24
; SI-NEXT: s_and_b32 s6, s6, 0xffff
@@ -79419,13 +79469,15 @@ define inreg <128 x i8> @bitcast_v16i64_to_v128i8_scalar(<16 x i64> inreg %a, i3
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:112
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s6
-; SI-NEXT: v_readlane_b32 s6, v22, 6
+; SI-NEXT: v_readlane_b32 s6, v22, 2
; SI-NEXT: s_and_b32 s4, s4, 0xff
+; SI-NEXT: v_readlane_b32 s7, v22, 3
; SI-NEXT: s_lshl_b32 s6, s6, 8
-; SI-NEXT: v_readlane_b32 s7, v22, 7
; SI-NEXT: s_or_b32 s4, s4, s6
-; SI-NEXT: s_and_b32 s6, s72, 0xff
-; SI-NEXT: v_readlane_b32 s8, v22, 8
+; SI-NEXT: v_readlane_b32 s6, v22, 4
+; SI-NEXT: v_readlane_b32 s7, v22, 5
+; SI-NEXT: s_and_b32 s6, s6, 0xff
+; SI-NEXT: v_readlane_b32 s8, v22, 6
; SI-NEXT: s_lshl_b32 s6, s6, 16
; SI-NEXT: s_lshl_b32 s7, s8, 24
; SI-NEXT: s_and_b32 s4, s4, 0xffff
@@ -79447,12 +79499,12 @@ define inreg <128 x i8> @bitcast_v16i64_to_v128i8_scalar(<16 x i64> inreg %a, i3
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s4
; SI-NEXT: v_readlane_b32 s30, v20, 34
-; SI-NEXT: v_readlane_b32 s19, v21, 45
-; SI-NEXT: v_readlane_b32 s17, v21, 51
-; SI-NEXT: v_readlane_b32 s15, v21, 57
-; SI-NEXT: v_readlane_b32 s13, v21, 63
-; SI-NEXT: v_readlane_b32 s11, v22, 5
-; SI-NEXT: v_readlane_b32 s9, v22, 9
+; SI-NEXT: v_readlane_b32 s19, v21, 41
+; SI-NEXT: v_readlane_b32 s17, v21, 47
+; SI-NEXT: v_readlane_b32 s15, v21, 53
+; SI-NEXT: v_readlane_b32 s13, v21, 59
+; SI-NEXT: v_readlane_b32 s11, v22, 1
+; SI-NEXT: v_readlane_b32 s9, v22, 7
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:124
; SI-NEXT: v_readlane_b32 s31, v20, 35
; SI-NEXT: v_readlane_b32 s99, v20, 33
@@ -79632,11 +79684,11 @@ define inreg <128 x i8> @bitcast_v16i64_to_v128i8_scalar(<16 x i64> inreg %a, i3
; VI-NEXT: s_lshr_b32 s46, s40, 8
; VI-NEXT: v_writelane_b32 v33, s46, 25
; VI-NEXT: s_lshr_b32 s46, s43, 24
-; VI-NEXT: v_writelane_b32 v34, s46, 38
+; VI-NEXT: v_writelane_b32 v33, s46, 26
; VI-NEXT: s_lshr_b32 s46, s43, 16
-; VI-NEXT: v_writelane_b32 v34, s46, 39
+; VI-NEXT: v_writelane_b32 v34, s46, 38
; VI-NEXT: s_lshr_b32 s46, s43, 8
-; VI-NEXT: v_writelane_b32 v33, s46, 26
+; VI-NEXT: v_writelane_b32 v34, s46, 39
; VI-NEXT: s_lshr_b32 s46, s42, 16
; VI-NEXT: v_writelane_b32 v33, s46, 27
; VI-NEXT: s_lshr_b32 s46, s42, 8
@@ -79970,17 +80022,17 @@ define inreg <128 x i8> @bitcast_v16i64_to_v128i8_scalar(<16 x i64> inreg %a, i3
; VI-NEXT: s_cselect_b32 s46, 1, 0
; VI-NEXT: s_cmp_lg_u32 s46, 1
; VI-NEXT: v_readlane_b32 s75, v33, 24
-; VI-NEXT: v_readlane_b32 s72, v33, 25
-; VI-NEXT: v_readlane_b32 s73, v33, 26
+; VI-NEXT: v_readlane_b32 s34, v33, 25
+; VI-NEXT: v_readlane_b32 s35, v33, 26
; VI-NEXT: v_readlane_b32 s39, v33, 27
; VI-NEXT: v_readlane_b32 s49, v33, 28
; VI-NEXT: v_readlane_b32 s51, v33, 29
; VI-NEXT: v_readlane_b32 s47, v33, 30
; VI-NEXT: v_readlane_b32 s53, v33, 31
; VI-NEXT: v_readlane_b32 s59, v33, 32
-; VI-NEXT: v_readlane_b32 s84, v33, 33
+; VI-NEXT: v_readlane_b32 s56, v33, 33
; VI-NEXT: v_readlane_b32 s38, v33, 34
-; VI-NEXT: v_readlane_b32 s56, v33, 35
+; VI-NEXT: v_readlane_b32 s84, v33, 35
; VI-NEXT: v_readlane_b32 s48, v33, 36
; VI-NEXT: v_readlane_b32 s50, v33, 37
; VI-NEXT: v_readlane_b32 s52, v33, 38
@@ -80009,10 +80061,10 @@ define inreg <128 x i8> @bitcast_v16i64_to_v128i8_scalar(<16 x i64> inreg %a, i3
; VI-NEXT: v_readlane_b32 s60, v33, 61
; VI-NEXT: v_readlane_b32 s61, v33, 62
; VI-NEXT: v_readlane_b32 vcc_lo, v33, 63
-; VI-NEXT: v_readlane_b32 vcc_hi, v34, 0
-; VI-NEXT: v_readlane_b32 s30, v34, 1
-; VI-NEXT: v_readlane_b32 s62, v34, 2
-; VI-NEXT: v_readlane_b32 s63, v34, 3
+; VI-NEXT: v_readlane_b32 s62, v34, 0
+; VI-NEXT: v_readlane_b32 s63, v34, 1
+; VI-NEXT: v_readlane_b32 vcc_hi, v34, 2
+; VI-NEXT: v_readlane_b32 s30, v34, 3
; VI-NEXT: v_readlane_b32 s31, v34, 4
; VI-NEXT: v_readlane_b32 s70, v33, 8
; VI-NEXT: v_readlane_b32 s71, v33, 9
@@ -80093,69 +80145,67 @@ define inreg <128 x i8> @bitcast_v16i64_to_v128i8_scalar(<16 x i64> inreg %a, i3
; VI-NEXT: v_writelane_b32 v34, s46, 22
; VI-NEXT: s_lshr_b32 s46, s10, 8
; VI-NEXT: v_writelane_b32 v33, s73, 21
-; VI-NEXT: s_lshr_b64 s[74:75], s[8:9], 24
+; VI-NEXT: s_lshr_b64 s[72:73], s[8:9], 24
; VI-NEXT: v_writelane_b32 v34, s46, 23
; VI-NEXT: s_lshr_b32 s46, s13, 24
-; VI-NEXT: v_writelane_b32 v33, s74, 18
+; VI-NEXT: v_writelane_b32 v33, s72, 18
; VI-NEXT: v_writelane_b32 v34, s46, 24
; VI-NEXT: s_lshr_b32 s46, s13, 16
-; VI-NEXT: v_writelane_b32 v33, s75, 19
-; VI-NEXT: s_lshr_b64 s[74:75], s[10:11], 24
+; VI-NEXT: v_writelane_b32 v33, s73, 19
+; VI-NEXT: s_lshr_b64 s[72:73], s[10:11], 24
; VI-NEXT: v_writelane_b32 v34, s46, 25
; VI-NEXT: s_lshr_b32 s46, s13, 8
-; VI-NEXT: v_writelane_b32 v33, s74, 16
+; VI-NEXT: v_writelane_b32 v33, s72, 16
; VI-NEXT: v_writelane_b32 v34, s46, 26
; VI-NEXT: s_lshr_b32 s46, s12, 16
-; VI-NEXT: v_writelane_b32 v33, s75, 17
-; VI-NEXT: s_lshr_b64 s[74:75], s[12:13], 24
+; VI-NEXT: v_writelane_b32 v33, s73, 17
+; VI-NEXT: s_lshr_b64 s[72:73], s[12:13], 24
; VI-NEXT: v_writelane_b32 v34, s46, 27
; VI-NEXT: s_lshr_b32 s46, s12, 8
-; VI-NEXT: v_writelane_b32 v33, s74, 14
+; VI-NEXT: v_writelane_b32 v33, s72, 14
; VI-NEXT: v_writelane_b32 v34, s46, 28
; VI-NEXT: s_lshr_b32 s46, s15, 24
-; VI-NEXT: v_writelane_b32 v33, s75, 15
-; VI-NEXT: s_lshr_b64 s[74:75], s[14:15], 24
+; VI-NEXT: v_writelane_b32 v33, s73, 15
+; VI-NEXT: s_lshr_b64 s[72:73], s[14:15], 24
; VI-NEXT: v_writelane_b32 v34, s46, 29
; VI-NEXT: s_lshr_b32 s46, s15, 16
-; VI-NEXT: v_writelane_b32 v33, s74, 12
+; VI-NEXT: v_writelane_b32 v33, s72, 12
; VI-NEXT: v_writelane_b32 v34, s46, 30
; VI-NEXT: s_lshr_b32 s46, s15, 8
-; VI-NEXT: v_writelane_b32 v33, s75, 13
+; VI-NEXT: v_writelane_b32 v33, s73, 13
; VI-NEXT: s_lshr_b64 s[70:71], s[28:29], 24
; VI-NEXT: v_writelane_b32 v34, s46, 31
; VI-NEXT: s_lshr_b32 s46, s14, 16
-; VI-NEXT: s_lshr_b32 s37, s43, 8
; VI-NEXT: v_writelane_b32 v33, s70, 10
; VI-NEXT: v_writelane_b32 v34, s46, 32
; VI-NEXT: s_lshr_b32 s46, s14, 8
-; VI-NEXT: s_mov_b32 s73, s37
; VI-NEXT: v_writelane_b32 v33, s71, 11
; VI-NEXT: s_lshr_b64 s[36:37], s[24:25], 24
; VI-NEXT: v_writelane_b32 v34, s46, 33
; VI-NEXT: s_lshr_b32 s46, s41, 24
-; VI-NEXT: s_lshr_b32 s34, s40, 8
; VI-NEXT: v_writelane_b32 v33, s36, 6
; VI-NEXT: v_writelane_b32 v34, s46, 34
; VI-NEXT: s_lshr_b32 s46, s41, 16
-; VI-NEXT: s_mov_b32 s72, s34
; VI-NEXT: v_writelane_b32 v33, s37, 7
-; VI-NEXT: s_lshr_b64 s[34:35], s[20:21], 24
+; VI-NEXT: s_lshr_b64 s[72:73], s[20:21], 24
; VI-NEXT: v_writelane_b32 v34, s46, 35
; VI-NEXT: s_lshr_b32 s46, s41, 8
-; VI-NEXT: v_writelane_b32 v33, s34, 4
+; VI-NEXT: v_writelane_b32 v33, s72, 4
; VI-NEXT: v_writelane_b32 v34, s46, 36
; VI-NEXT: s_lshr_b32 s46, s40, 16
-; VI-NEXT: v_writelane_b32 v33, s35, 5
-; VI-NEXT: s_lshr_b64 s[34:35], s[18:19], 24
+; VI-NEXT: v_writelane_b32 v33, s73, 5
+; VI-NEXT: s_lshr_b64 s[72:73], s[18:19], 24
; VI-NEXT: v_writelane_b32 v34, s46, 37
-; VI-NEXT: s_lshr_b32 s46, s43, 24
-; VI-NEXT: v_writelane_b32 v33, s34, 2
+; VI-NEXT: s_lshr_b32 s46, s43, 16
+; VI-NEXT: v_writelane_b32 v33, s72, 2
; VI-NEXT: s_lshr_b32 s76, s5, 16
; VI-NEXT: v_writelane_b32 v34, s46, 38
-; VI-NEXT: s_lshr_b32 s46, s43, 16
+; VI-NEXT: s_lshr_b32 s46, s43, 8
; VI-NEXT: s_lshr_b64 s[74:75], s[40:41], 24
-; VI-NEXT: v_writelane_b32 v33, s35, 3
-; VI-NEXT: s_lshr_b64 s[34:35], s[16:17], 24
+; VI-NEXT: v_writelane_b32 v33, s73, 3
+; VI-NEXT: s_lshr_b64 s[72:73], s[16:17], 24
+; VI-NEXT: s_lshr_b32 s34, s40, 8
+; VI-NEXT: s_lshr_b32 s35, s43, 24
; VI-NEXT: v_writelane_b32 v34, s46, 39
; VI-NEXT: s_lshr_b32 s39, s42, 16
; VI-NEXT: s_lshr_b32 s49, s42, 8
@@ -80163,9 +80213,9 @@ define inreg <128 x i8> @bitcast_v16i64_to_v128i8_scalar(<16 x i64> inreg %a, i3
; VI-NEXT: s_lshr_b32 s47, s45, 16
; VI-NEXT: s_lshr_b32 s53, s45, 8
; VI-NEXT: s_lshr_b32 s59, s44, 16
-; VI-NEXT: s_lshr_b32 s84, s44, 8
+; VI-NEXT: s_lshr_b32 s56, s44, 8
; VI-NEXT: s_lshr_b32 s38, s29, 24
-; VI-NEXT: s_lshr_b32 s56, s29, 16
+; VI-NEXT: s_lshr_b32 s84, s29, 16
; VI-NEXT: s_lshr_b32 s88, s29, 8
; VI-NEXT: s_lshr_b32 s48, s28, 16
; VI-NEXT: s_lshr_b32 s58, s28, 8
@@ -80188,15 +80238,15 @@ define inreg <128 x i8> @bitcast_v16i64_to_v128i8_scalar(<16 x i64> inreg %a, i3
; VI-NEXT: s_lshr_b32 s69, s21, 16
; VI-NEXT: s_lshr_b32 vcc_lo, s21, 8
; VI-NEXT: s_lshr_b32 s80, s20, 16
-; VI-NEXT: s_lshr_b32 vcc_hi, s20, 8
+; VI-NEXT: s_lshr_b32 s62, s20, 8
; VI-NEXT: s_lshr_b32 s81, s19, 24
; VI-NEXT: s_lshr_b32 s82, s19, 16
-; VI-NEXT: s_lshr_b32 s30, s19, 8
+; VI-NEXT: s_lshr_b32 s63, s19, 8
; VI-NEXT: s_lshr_b32 s83, s18, 16
-; VI-NEXT: s_lshr_b32 s62, s18, 8
+; VI-NEXT: s_lshr_b32 vcc_hi, s18, 8
; VI-NEXT: s_lshr_b32 s85, s17, 24
; VI-NEXT: s_lshr_b32 s86, s17, 16
-; VI-NEXT: s_lshr_b32 s63, s17, 8
+; VI-NEXT: s_lshr_b32 s30, s17, 8
; VI-NEXT: s_lshr_b32 s87, s16, 16
; VI-NEXT: s_lshr_b32 s31, s16, 8
; VI-NEXT: s_mov_b32 s75, s76
@@ -80204,15 +80254,15 @@ define inreg <128 x i8> @bitcast_v16i64_to_v128i8_scalar(<16 x i64> inreg %a, i3
; VI-NEXT: s_lshr_b64 s[78:79], s[44:45], 24
; VI-NEXT: s_lshr_b64 s[70:71], s[26:27], 24
; VI-NEXT: s_lshr_b64 s[36:37], s[22:23], 24
-; VI-NEXT: v_writelane_b32 v33, s34, 0
-; VI-NEXT: v_writelane_b32 v33, s35, 1
+; VI-NEXT: v_writelane_b32 v33, s72, 0
+; VI-NEXT: v_writelane_b32 v33, s73, 1
; VI-NEXT: .LBB57_5: ; %end
-; VI-NEXT: v_readlane_b32 s34, v33, 0
-; VI-NEXT: v_mov_b32_e32 v6, s34
+; VI-NEXT: v_readlane_b32 s72, v33, 0
+; VI-NEXT: v_mov_b32_e32 v6, s72
; VI-NEXT: v_mov_b32_e32 v1, 0xc0c0004
; VI-NEXT: v_mov_b32_e32 v2, s31
; VI-NEXT: v_perm_b32 v6, s87, v6, v1
-; VI-NEXT: v_mov_b32_e32 v4, s63
+; VI-NEXT: v_mov_b32_e32 v4, s30
; VI-NEXT: v_perm_b32 v3, s16, v2, v1
; VI-NEXT: v_mov_b32_e32 v24, s85
; VI-NEXT: v_lshlrev_b32_e32 v6, 16, v6
@@ -80223,7 +80273,7 @@ define inreg <128 x i8> @bitcast_v16i64_to_v128i8_scalar(<16 x i64> inreg %a, i3
; VI-NEXT: v_mov_b32_e32 v9, s16
; VI-NEXT: buffer_store_dword v3, v0, s[0:3], 0 offen
; VI-NEXT: v_lshlrev_b32_e32 v3, 16, v24
-; VI-NEXT: v_mov_b32_e32 v4, s62
+; VI-NEXT: v_mov_b32_e32 v4, vcc_hi
; VI-NEXT: v_perm_b32 v9, s83, v9, v1
; VI-NEXT: v_or_b32_e32 v2, v2, v3
; VI-NEXT: v_readlane_b32 s17, v33, 3
@@ -80231,7 +80281,7 @@ define inreg <128 x i8> @bitcast_v16i64_to_v128i8_scalar(<16 x i64> inreg %a, i3
; VI-NEXT: v_mov_b32_e32 v25, s81
; VI-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:4
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v9
-; VI-NEXT: v_mov_b32_e32 v7, s30
+; VI-NEXT: v_mov_b32_e32 v7, s63
; VI-NEXT: v_readlane_b32 s16, v33, 4
; VI-NEXT: v_perm_b32 v25, s82, v25, v1
; VI-NEXT: v_or_b32_e32 v2, v5, v2
@@ -80239,7 +80289,7 @@ define inreg <128 x i8> @bitcast_v16i64_to_v128i8_scalar(<16 x i64> inreg %a, i3
; VI-NEXT: v_mov_b32_e32 v14, s16
; VI-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:8
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v25
-; VI-NEXT: v_mov_b32_e32 v7, vcc_hi
+; VI-NEXT: v_mov_b32_e32 v7, s62
; VI-NEXT: v_perm_b32 v14, s80, v14, v1
; VI-NEXT: v_or_b32_e32 v2, v4, v2
; VI-NEXT: v_perm_b32 v8, s20, v7, v1
@@ -80307,13 +80357,13 @@ define inreg <128 x i8> @bitcast_v16i64_to_v128i8_scalar(<16 x i64> inreg %a, i3
; VI-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:44
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v22
; VI-NEXT: v_mov_b32_e32 v23, s88
-; VI-NEXT: v_perm_b32 v30, s56, v30, v1
+; VI-NEXT: v_perm_b32 v30, s84, v30, v1
; VI-NEXT: v_or_b32_e32 v2, v19, v2
; VI-NEXT: v_perm_b32 v18, s29, v23, v1
; VI-NEXT: v_mov_b32_e32 v23, s78
; VI-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:48
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v30
-; VI-NEXT: v_mov_b32_e32 v31, s84
+; VI-NEXT: v_mov_b32_e32 v31, s56
; VI-NEXT: v_perm_b32 v23, s59, v23, v1
; VI-NEXT: v_or_b32_e32 v2, v18, v2
; VI-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:52
@@ -80333,12 +80383,12 @@ define inreg <128 x i8> @bitcast_v16i64_to_v128i8_scalar(<16 x i64> inreg %a, i3
; VI-NEXT: v_perm_b32 v3, s39, v3, v1
; VI-NEXT: v_perm_b32 v2, s42, v2, v1
; VI-NEXT: v_lshlrev_b32_e32 v3, 16, v3
-; VI-NEXT: v_readlane_b32 s16, v34, 38
; VI-NEXT: v_or_b32_e32 v2, v2, v3
-; VI-NEXT: v_mov_b32_e32 v3, s16
; VI-NEXT: v_readlane_b32 s16, v34, 39
; VI-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:64
-; VI-NEXT: v_mov_b32_e32 v2, s73
+; VI-NEXT: v_mov_b32_e32 v2, s16
+; VI-NEXT: v_mov_b32_e32 v3, s35
+; VI-NEXT: v_readlane_b32 s16, v34, 38
; VI-NEXT: v_perm_b32 v3, s16, v3, v1
; VI-NEXT: v_perm_b32 v2, s43, v2, v1
; VI-NEXT: v_lshlrev_b32_e32 v3, 16, v3
@@ -80346,7 +80396,7 @@ define inreg <128 x i8> @bitcast_v16i64_to_v128i8_scalar(<16 x i64> inreg %a, i3
; VI-NEXT: v_mov_b32_e32 v3, s74
; VI-NEXT: v_readlane_b32 s16, v34, 37
; VI-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:68
-; VI-NEXT: v_mov_b32_e32 v2, s72
+; VI-NEXT: v_mov_b32_e32 v2, s34
; VI-NEXT: v_perm_b32 v3, s16, v3, v1
; VI-NEXT: v_perm_b32 v2, s40, v2, v1
; VI-NEXT: v_lshlrev_b32_e32 v3, 16, v3
@@ -80480,9 +80530,9 @@ define inreg <128 x i8> @bitcast_v16i64_to_v128i8_scalar(<16 x i64> inreg %a, i3
; VI-NEXT: v_perm_b32 v2, s5, v2, v1
; VI-NEXT: v_perm_b32 v1, s75, v3, v1
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
-; VI-NEXT: v_readlane_b32 s35, v33, 1
; VI-NEXT: v_or_b32_e32 v1, v2, v1
; VI-NEXT: v_readlane_b32 s30, v32, 30
+; VI-NEXT: v_readlane_b32 s73, v33, 1
; VI-NEXT: v_readlane_b32 s17, v33, 13
; VI-NEXT: v_readlane_b32 s15, v33, 15
; VI-NEXT: v_readlane_b32 s13, v33, 17
@@ -80598,178 +80648,181 @@ define inreg <128 x i8> @bitcast_v16i64_to_v128i8_scalar(<16 x i64> inreg %a, i3
; GFX9-NEXT: s_cbranch_scc0 .LBB57_2
; GFX9-NEXT: ; %bb.1: ; %cmp.false
; GFX9-NEXT: s_lshr_b32 s46, s5, 24
-; GFX9-NEXT: v_writelane_b32 v30, s46, 18
+; GFX9-NEXT: v_writelane_b32 v30, s46, 20
; GFX9-NEXT: s_lshr_b32 s46, s5, 16
-; GFX9-NEXT: v_writelane_b32 v30, s46, 19
+; GFX9-NEXT: v_writelane_b32 v30, s46, 21
; GFX9-NEXT: s_lshr_b32 s46, s5, 8
-; GFX9-NEXT: v_writelane_b32 v31, s46, 3
+; GFX9-NEXT: v_writelane_b32 v31, s46, 8
; GFX9-NEXT: s_lshr_b32 s46, s4, 16
-; GFX9-NEXT: v_writelane_b32 v31, s46, 4
+; GFX9-NEXT: v_writelane_b32 v31, s46, 9
; GFX9-NEXT: s_lshr_b32 s46, s4, 8
-; GFX9-NEXT: v_writelane_b32 v31, s46, 5
+; GFX9-NEXT: v_writelane_b32 v31, s46, 10
; GFX9-NEXT: s_lshr_b32 s46, s7, 24
-; GFX9-NEXT: v_writelane_b32 v31, s46, 6
+; GFX9-NEXT: v_writelane_b32 v31, s46, 11
; GFX9-NEXT: s_lshr_b32 s46, s7, 16
-; GFX9-NEXT: v_writelane_b32 v31, s46, 7
+; GFX9-NEXT: v_writelane_b32 v31, s46, 12
; GFX9-NEXT: s_lshr_b32 s46, s7, 8
-; GFX9-NEXT: v_writelane_b32 v31, s46, 8
+; GFX9-NEXT: v_writelane_b32 v31, s46, 13
; GFX9-NEXT: s_lshr_b32 s46, s6, 16
-; GFX9-NEXT: v_writelane_b32 v31, s46, 9
+; GFX9-NEXT: v_writelane_b32 v31, s46, 14
; GFX9-NEXT: s_lshr_b32 s46, s6, 8
-; GFX9-NEXT: v_writelane_b32 v31, s46, 10
+; GFX9-NEXT: v_writelane_b32 v31, s46, 15
; GFX9-NEXT: s_lshr_b32 s46, s9, 24
-; GFX9-NEXT: v_writelane_b32 v31, s46, 11
+; GFX9-NEXT: v_writelane_b32 v31, s46, 16
; GFX9-NEXT: s_lshr_b32 s46, s9, 16
-; GFX9-NEXT: v_writelane_b32 v31, s46, 12
+; GFX9-NEXT: v_writelane_b32 v31, s46, 17
; GFX9-NEXT: s_lshr_b32 s46, s9, 8
-; GFX9-NEXT: v_writelane_b32 v31, s46, 13
+; GFX9-NEXT: v_writelane_b32 v31, s46, 18
; GFX9-NEXT: s_lshr_b32 s46, s8, 16
-; GFX9-NEXT: v_writelane_b32 v31, s46, 14
+; GFX9-NEXT: v_writelane_b32 v31, s46, 19
; GFX9-NEXT: s_lshr_b32 s46, s8, 8
-; GFX9-NEXT: v_writelane_b32 v31, s46, 15
+; GFX9-NEXT: v_writelane_b32 v31, s46, 20
; GFX9-NEXT: s_lshr_b32 s46, s11, 24
-; GFX9-NEXT: v_writelane_b32 v31, s46, 16
+; GFX9-NEXT: v_writelane_b32 v31, s46, 21
; GFX9-NEXT: s_lshr_b32 s46, s11, 16
-; GFX9-NEXT: v_writelane_b32 v31, s46, 17
+; GFX9-NEXT: v_writelane_b32 v31, s46, 22
; GFX9-NEXT: s_lshr_b32 s46, s11, 8
-; GFX9-NEXT: v_writelane_b32 v31, s46, 18
+; GFX9-NEXT: v_writelane_b32 v31, s46, 23
; GFX9-NEXT: s_lshr_b32 s46, s10, 16
-; GFX9-NEXT: v_writelane_b32 v31, s46, 19
+; GFX9-NEXT: v_writelane_b32 v31, s46, 24
; GFX9-NEXT: s_lshr_b32 s46, s10, 8
-; GFX9-NEXT: v_writelane_b32 v31, s46, 20
+; GFX9-NEXT: v_writelane_b32 v31, s46, 25
; GFX9-NEXT: s_lshr_b32 s46, s13, 24
-; GFX9-NEXT: v_writelane_b32 v31, s46, 21
+; GFX9-NEXT: v_writelane_b32 v31, s46, 26
; GFX9-NEXT: s_lshr_b32 s46, s13, 16
-; GFX9-NEXT: v_writelane_b32 v31, s46, 22
+; GFX9-NEXT: v_writelane_b32 v31, s46, 27
; GFX9-NEXT: s_lshr_b32 s46, s13, 8
-; GFX9-NEXT: v_writelane_b32 v31, s46, 23
+; GFX9-NEXT: v_writelane_b32 v31, s46, 28
; GFX9-NEXT: s_lshr_b32 s46, s12, 16
-; GFX9-NEXT: v_writelane_b32 v31, s46, 24
+; GFX9-NEXT: v_writelane_b32 v31, s46, 29
; GFX9-NEXT: s_lshr_b32 s46, s12, 8
-; GFX9-NEXT: v_writelane_b32 v31, s46, 25
+; GFX9-NEXT: v_writelane_b32 v31, s46, 30
; GFX9-NEXT: s_lshr_b32 s46, s15, 24
-; GFX9-NEXT: v_writelane_b32 v31, s46, 26
+; GFX9-NEXT: v_writelane_b32 v31, s46, 31
; GFX9-NEXT: s_lshr_b32 s46, s15, 16
-; GFX9-NEXT: v_writelane_b32 v31, s46, 27
+; GFX9-NEXT: v_writelane_b32 v31, s46, 32
; GFX9-NEXT: s_lshr_b32 s46, s15, 8
-; GFX9-NEXT: v_writelane_b32 v31, s46, 28
+; GFX9-NEXT: v_writelane_b32 v31, s46, 33
; GFX9-NEXT: s_lshr_b32 s46, s14, 16
-; GFX9-NEXT: v_writelane_b32 v31, s46, 29
+; GFX9-NEXT: v_writelane_b32 v31, s46, 34
; GFX9-NEXT: s_lshr_b32 s46, s14, 8
-; GFX9-NEXT: v_writelane_b32 v31, s46, 30
+; GFX9-NEXT: v_writelane_b32 v31, s46, 35
; GFX9-NEXT: s_lshr_b32 s46, s41, 24
-; GFX9-NEXT: v_writelane_b32 v31, s46, 31
+; GFX9-NEXT: v_writelane_b32 v30, s46, 22
; GFX9-NEXT: s_lshr_b32 s46, s41, 16
-; GFX9-NEXT: v_writelane_b32 v31, s46, 32
+; GFX9-NEXT: v_writelane_b32 v30, s46, 23
; GFX9-NEXT: s_lshr_b32 s46, s41, 8
-; GFX9-NEXT: v_writelane_b32 v31, s46, 33
+; GFX9-NEXT: v_writelane_b32 v30, s46, 24
; GFX9-NEXT: s_lshr_b32 s46, s40, 16
-; GFX9-NEXT: v_writelane_b32 v30, s46, 20
+; GFX9-NEXT: v_writelane_b32 v30, s46, 25
; GFX9-NEXT: s_lshr_b32 s46, s40, 8
-; GFX9-NEXT: v_writelane_b32 v30, s46, 21
+; GFX9-NEXT: v_writelane_b32 v30, s46, 26
; GFX9-NEXT: s_lshr_b32 s46, s43, 24
-; GFX9-NEXT: v_writelane_b32 v30, s46, 22
+; GFX9-NEXT: v_writelane_b32 v30, s46, 27
; GFX9-NEXT: s_lshr_b32 s46, s43, 16
-; GFX9-NEXT: v_writelane_b32 v30, s46, 23
+; GFX9-NEXT: v_writelane_b32 v30, s46, 28
; GFX9-NEXT: s_lshr_b32 s46, s43, 8
-; GFX9-NEXT: v_writelane_b32 v30, s46, 24
+; GFX9-NEXT: v_writelane_b32 v30, s46, 29
; GFX9-NEXT: s_lshr_b32 s46, s42, 16
-; GFX9-NEXT: v_writelane_b32 v30, s46, 25
+; GFX9-NEXT: v_writelane_b32 v30, s46, 30
; GFX9-NEXT: s_lshr_b32 s46, s42, 8
-; GFX9-NEXT: v_writelane_b32 v30, s46, 26
+; GFX9-NEXT: v_writelane_b32 v30, s46, 31
; GFX9-NEXT: s_lshr_b32 s46, s45, 24
-; GFX9-NEXT: v_writelane_b32 v30, s46, 27
+; GFX9-NEXT: v_writelane_b32 v30, s46, 32
; GFX9-NEXT: s_lshr_b32 s46, s45, 16
-; GFX9-NEXT: v_writelane_b32 v30, s46, 28
+; GFX9-NEXT: v_writelane_b32 v30, s46, 33
; GFX9-NEXT: s_lshr_b32 s46, s45, 8
-; GFX9-NEXT: v_writelane_b32 v30, s46, 29
+; GFX9-NEXT: v_writelane_b32 v30, s46, 34
; GFX9-NEXT: s_lshr_b32 s46, s44, 16
-; GFX9-NEXT: v_writelane_b32 v30, s46, 30
+; GFX9-NEXT: v_writelane_b32 v30, s46, 35
; GFX9-NEXT: s_lshr_b32 s46, s44, 8
-; GFX9-NEXT: v_writelane_b32 v30, s46, 31
+; GFX9-NEXT: v_writelane_b32 v30, s46, 36
; GFX9-NEXT: s_lshr_b32 s46, s29, 24
-; GFX9-NEXT: v_writelane_b32 v30, s46, 32
+; GFX9-NEXT: v_writelane_b32 v30, s46, 37
; GFX9-NEXT: s_lshr_b32 s46, s29, 16
-; GFX9-NEXT: v_writelane_b32 v30, s46, 33
+; GFX9-NEXT: v_writelane_b32 v30, s46, 38
; GFX9-NEXT: s_lshr_b32 s46, s29, 8
-; GFX9-NEXT: v_writelane_b32 v30, s46, 34
+; GFX9-NEXT: v_writelane_b32 v30, s46, 39
; GFX9-NEXT: s_lshr_b32 s46, s28, 16
-; GFX9-NEXT: v_writelane_b32 v30, s46, 35
+; GFX9-NEXT: v_writelane_b32 v30, s46, 40
; GFX9-NEXT: s_lshr_b32 s46, s28, 8
-; GFX9-NEXT: v_writelane_b32 v30, s46, 36
+; GFX9-NEXT: v_writelane_b32 v30, s46, 41
; GFX9-NEXT: s_lshr_b32 s46, s27, 24
-; GFX9-NEXT: v_writelane_b32 v30, s46, 37
+; GFX9-NEXT: v_writelane_b32 v30, s46, 42
; GFX9-NEXT: s_lshr_b32 s46, s27, 16
-; GFX9-NEXT: v_writelane_b32 v30, s46, 38
+; GFX9-NEXT: v_writelane_b32 v30, s46, 43
; GFX9-NEXT: s_lshr_b32 s46, s27, 8
-; GFX9-NEXT: v_writelane_b32 v30, s46, 54
+; GFX9-NEXT: v_writelane_b32 v30, s46, 59
; GFX9-NEXT: s_lshr_b32 s46, s26, 16
-; GFX9-NEXT: v_writelane_b32 v30, s46, 39
+; GFX9-NEXT: v_writelane_b32 v30, s46, 44
; GFX9-NEXT: s_lshr_b32 s46, s26, 8
-; GFX9-NEXT: v_writelane_b32 v30, s46, 56
+; GFX9-NEXT: v_writelane_b32 v30, s46, 61
; GFX9-NEXT: s_lshr_b32 s46, s25, 24
-; GFX9-NEXT: v_writelane_b32 v30, s46, 40
+; GFX9-NEXT: v_writelane_b32 v30, s46, 45
; GFX9-NEXT: s_lshr_b32 s46, s25, 16
-; GFX9-NEXT: v_writelane_b32 v30, s46, 41
+; GFX9-NEXT: v_writelane_b32 v30, s46, 46
; GFX9-NEXT: s_lshr_b32 s46, s25, 8
-; GFX9-NEXT: v_writelane_b32 v30, s46, 57
+; GFX9-NEXT: v_writelane_b32 v30, s46, 62
; GFX9-NEXT: s_lshr_b32 s46, s24, 16
-; GFX9-NEXT: v_writelane_b32 v30, s46, 42
+; GFX9-NEXT: v_writelane_b32 v30, s46, 47
; GFX9-NEXT: s_lshr_b32 s46, s24, 8
-; GFX9-NEXT: v_writelane_b32 v30, s46, 58
+; GFX9-NEXT: v_writelane_b32 v30, s46, 63
; GFX9-NEXT: s_lshr_b32 s46, s23, 24
-; GFX9-NEXT: v_writelane_b32 v30, s46, 43
+; GFX9-NEXT: v_writelane_b32 v30, s46, 48
; GFX9-NEXT: s_lshr_b32 s46, s23, 16
-; GFX9-NEXT: v_writelane_b32 v30, s46, 44
+; GFX9-NEXT: v_writelane_b32 v30, s46, 49
; GFX9-NEXT: s_lshr_b32 s46, s23, 8
-; GFX9-NEXT: v_writelane_b32 v30, s46, 59
+; GFX9-NEXT: v_writelane_b32 v31, s46, 0
; GFX9-NEXT: s_lshr_b32 s46, s22, 16
-; GFX9-NEXT: v_writelane_b32 v30, s46, 45
+; GFX9-NEXT: v_writelane_b32 v30, s46, 50
; GFX9-NEXT: s_lshr_b32 s46, s22, 8
-; GFX9-NEXT: v_writelane_b32 v30, s46, 60
+; GFX9-NEXT: v_writelane_b32 v31, s46, 1
; GFX9-NEXT: s_lshr_b32 s46, s21, 24
-; GFX9-NEXT: v_writelane_b32 v30, s46, 46
+; GFX9-NEXT: v_writelane_b32 v30, s46, 51
; GFX9-NEXT: s_lshr_b32 s46, s21, 16
-; GFX9-NEXT: v_writelane_b32 v30, s46, 47
+; GFX9-NEXT: v_writelane_b32 v30, s46, 52
; GFX9-NEXT: s_lshr_b32 s46, s21, 8
-; GFX9-NEXT: v_writelane_b32 v30, s46, 61
+; GFX9-NEXT: v_writelane_b32 v31, s46, 2
; GFX9-NEXT: s_lshr_b32 s46, s20, 16
-; GFX9-NEXT: v_writelane_b32 v30, s46, 48
+; GFX9-NEXT: v_writelane_b32 v30, s46, 53
; GFX9-NEXT: s_lshr_b32 s46, s20, 8
-; GFX9-NEXT: v_writelane_b32 v30, s46, 62
+; GFX9-NEXT: v_writelane_b32 v31, s46, 3
; GFX9-NEXT: s_lshr_b32 s46, s19, 24
-; GFX9-NEXT: v_writelane_b32 v30, s46, 49
+; GFX9-NEXT: v_writelane_b32 v30, s46, 54
; GFX9-NEXT: s_lshr_b32 s46, s19, 16
-; GFX9-NEXT: v_writelane_b32 v30, s46, 50
+; GFX9-NEXT: v_writelane_b32 v30, s46, 55
; GFX9-NEXT: s_lshr_b32 s46, s19, 8
-; GFX9-NEXT: v_writelane_b32 v30, s46, 63
+; GFX9-NEXT: v_writelane_b32 v31, s46, 4
; GFX9-NEXT: s_lshr_b32 s46, s18, 16
-; GFX9-NEXT: v_writelane_b32 v30, s46, 51
+; GFX9-NEXT: v_writelane_b32 v30, s46, 56
; GFX9-NEXT: s_lshr_b32 s46, s18, 8
-; GFX9-NEXT: v_writelane_b32 v31, s46, 0
+; GFX9-NEXT: v_writelane_b32 v31, s46, 5
; GFX9-NEXT: s_lshr_b32 s46, s17, 24
-; GFX9-NEXT: v_writelane_b32 v30, s46, 52
+; GFX9-NEXT: v_writelane_b32 v30, s46, 57
; GFX9-NEXT: s_lshr_b32 s46, s17, 16
-; GFX9-NEXT: v_writelane_b32 v30, s46, 53
+; GFX9-NEXT: v_writelane_b32 v30, s46, 58
; GFX9-NEXT: s_lshr_b32 s46, s17, 8
-; GFX9-NEXT: v_writelane_b32 v31, s46, 1
+; GFX9-NEXT: v_writelane_b32 v31, s46, 6
; GFX9-NEXT: s_lshr_b32 s46, s16, 16
-; GFX9-NEXT: v_writelane_b32 v30, s46, 55
+; GFX9-NEXT: v_writelane_b32 v30, s46, 60
; GFX9-NEXT: s_lshr_b32 s46, s16, 8
-; GFX9-NEXT: v_writelane_b32 v31, s46, 2
+; GFX9-NEXT: v_writelane_b32 v31, s46, 7
; GFX9-NEXT: s_lshr_b64 s[46:47], s[4:5], 24
+; GFX9-NEXT: v_writelane_b32 v30, s46, 18
+; GFX9-NEXT: v_writelane_b32 v30, s47, 19
+; GFX9-NEXT: s_lshr_b64 s[46:47], s[6:7], 24
; GFX9-NEXT: v_writelane_b32 v30, s46, 16
; GFX9-NEXT: v_writelane_b32 v30, s47, 17
-; GFX9-NEXT: s_lshr_b64 s[46:47], s[6:7], 24
+; GFX9-NEXT: s_lshr_b64 s[46:47], s[8:9], 24
; GFX9-NEXT: v_writelane_b32 v30, s46, 14
; GFX9-NEXT: v_writelane_b32 v30, s47, 15
-; GFX9-NEXT: s_lshr_b64 s[46:47], s[8:9], 24
+; GFX9-NEXT: s_lshr_b64 s[46:47], s[10:11], 24
; GFX9-NEXT: v_writelane_b32 v30, s46, 12
; GFX9-NEXT: v_writelane_b32 v30, s47, 13
-; GFX9-NEXT: s_lshr_b64 s[46:47], s[10:11], 24
+; GFX9-NEXT: s_lshr_b64 s[46:47], s[12:13], 24
; GFX9-NEXT: v_writelane_b32 v30, s46, 10
; GFX9-NEXT: v_writelane_b32 v30, s47, 11
-; GFX9-NEXT: s_lshr_b64 s[46:47], s[12:13], 24
+; GFX9-NEXT: s_lshr_b64 s[46:47], s[28:29], 24
; GFX9-NEXT: v_writelane_b32 v30, s46, 8
; GFX9-NEXT: v_writelane_b32 v30, s47, 9
; GFX9-NEXT: s_lshr_b64 s[46:47], s[26:27], 24
@@ -80783,14 +80836,13 @@ define inreg <128 x i8> @bitcast_v16i64_to_v128i8_scalar(<16 x i64> inreg %a, i3
; GFX9-NEXT: v_writelane_b32 v30, s47, 3
; GFX9-NEXT: s_lshr_b64 s[46:47], s[18:19], 24
; GFX9-NEXT: v_writelane_b32 v30, s46, 0
-; GFX9-NEXT: s_lshr_b64 s[98:99], s[14:15], 24
-; GFX9-NEXT: s_lshr_b64 s[74:75], s[40:41], 24
+; GFX9-NEXT: s_lshr_b64 s[74:75], s[14:15], 24
+; GFX9-NEXT: s_lshr_b64 s[76:77], s[40:41], 24
; GFX9-NEXT: s_lshr_b64 s[78:79], s[42:43], 24
-; GFX9-NEXT: s_lshr_b64 s[88:89], s[44:45], 24
-; GFX9-NEXT: s_lshr_b64 s[76:77], s[28:29], 24
-; GFX9-NEXT: s_lshr_b64 s[92:93], s[20:21], 24
+; GFX9-NEXT: s_lshr_b64 s[72:73], s[44:45], 24
+; GFX9-NEXT: s_lshr_b64 s[60:61], s[20:21], 24
; GFX9-NEXT: v_writelane_b32 v30, s47, 1
-; GFX9-NEXT: s_lshr_b64 s[96:97], s[16:17], 24
+; GFX9-NEXT: s_lshr_b64 s[62:63], s[16:17], 24
; GFX9-NEXT: s_mov_b64 s[36:37], 0
; GFX9-NEXT: s_branch .LBB57_3
; GFX9-NEXT: .LBB57_2:
@@ -80799,13 +80851,12 @@ define inreg <128 x i8> @bitcast_v16i64_to_v128i8_scalar(<16 x i64> inreg %a, i3
; GFX9-NEXT: s_mov_b64 s[36:37], -1
; GFX9-NEXT: ; implicit-def: $sgpr46
; GFX9-NEXT: ; kill: killed $sgpr46
-; GFX9-NEXT: ; implicit-def: $sgpr96
-; GFX9-NEXT: ; implicit-def: $sgpr92
-; GFX9-NEXT: ; implicit-def: $sgpr76
-; GFX9-NEXT: ; implicit-def: $sgpr88
+; GFX9-NEXT: ; implicit-def: $sgpr62
+; GFX9-NEXT: ; implicit-def: $sgpr60
+; GFX9-NEXT: ; implicit-def: $sgpr72
; GFX9-NEXT: ; implicit-def: $sgpr78
+; GFX9-NEXT: ; implicit-def: $sgpr76
; GFX9-NEXT: ; implicit-def: $sgpr74
-; GFX9-NEXT: ; implicit-def: $sgpr98
; GFX9-NEXT: ; implicit-def: $sgpr46
; GFX9-NEXT: ; kill: killed $sgpr46
; GFX9-NEXT: ; implicit-def: $sgpr46
@@ -80989,61 +81040,67 @@ define inreg <128 x i8> @bitcast_v16i64_to_v128i8_scalar(<16 x i64> inreg %a, i3
; GFX9-NEXT: ; implicit-def: $sgpr46
; GFX9-NEXT: v_writelane_b32 v30, s46, 16
; GFX9-NEXT: v_writelane_b32 v30, s47, 17
+; GFX9-NEXT: ; implicit-def: $sgpr46
+; GFX9-NEXT: v_writelane_b32 v30, s46, 18
+; GFX9-NEXT: v_writelane_b32 v30, s47, 19
; GFX9-NEXT: .LBB57_3: ; %Flow
; GFX9-NEXT: s_and_b64 s[46:47], s[36:37], exec
; GFX9-NEXT: s_cselect_b32 s46, 1, 0
; GFX9-NEXT: s_cmp_lg_u32 s46, 1
-; GFX9-NEXT: v_readlane_b32 s72, v30, 18
-; GFX9-NEXT: v_readlane_b32 s99, v30, 19
-; GFX9-NEXT: v_readlane_b32 s62, v30, 20
-; GFX9-NEXT: v_readlane_b32 s90, v30, 21
-; GFX9-NEXT: v_readlane_b32 s63, v30, 22
-; GFX9-NEXT: v_readlane_b32 s91, v30, 23
-; GFX9-NEXT: v_readlane_b32 s73, v30, 24
-; GFX9-NEXT: v_readlane_b32 s94, v30, 25
-; GFX9-NEXT: v_readlane_b32 s95, v30, 26
-; GFX9-NEXT: v_readlane_b32 s30, v30, 27
-; GFX9-NEXT: v_readlane_b32 vcc_hi, v30, 28
-; GFX9-NEXT: v_readlane_b32 s31, v30, 29
-; GFX9-NEXT: v_readlane_b32 s35, v30, 30
-; GFX9-NEXT: v_readlane_b32 s47, v30, 31
-; GFX9-NEXT: v_readlane_b32 s48, v30, 32
-; GFX9-NEXT: v_readlane_b32 s39, v30, 33
-; GFX9-NEXT: v_readlane_b32 vcc_lo, v30, 34
-; GFX9-NEXT: v_readlane_b32 s59, v30, 35
-; GFX9-NEXT: v_readlane_b32 s34, v30, 36
-; GFX9-NEXT: v_readlane_b32 s36, v30, 37
+; GFX9-NEXT: v_readlane_b32 s75, v30, 20
+; GFX9-NEXT: v_readlane_b32 s73, v30, 21
+; GFX9-NEXT: v_readlane_b32 s97, v30, 22
+; GFX9-NEXT: v_readlane_b32 s96, v30, 23
+; GFX9-NEXT: v_readlane_b32 s98, v30, 24
+; GFX9-NEXT: v_readlane_b32 s99, v30, 25
+; GFX9-NEXT: v_readlane_b32 s88, v30, 26
+; GFX9-NEXT: v_readlane_b32 s90, v30, 27
+; GFX9-NEXT: v_readlane_b32 s89, v30, 28
+; GFX9-NEXT: v_readlane_b32 s91, v30, 29
+; GFX9-NEXT: v_readlane_b32 s92, v30, 30
+; GFX9-NEXT: v_readlane_b32 s93, v30, 31
+; GFX9-NEXT: v_readlane_b32 vcc_lo, v30, 32
+; GFX9-NEXT: v_readlane_b32 s95, v30, 33
+; GFX9-NEXT: v_readlane_b32 s30, v30, 34
+; GFX9-NEXT: v_readlane_b32 s31, v30, 35
+; GFX9-NEXT: v_readlane_b32 s35, v30, 36
+; GFX9-NEXT: v_readlane_b32 s47, v30, 37
; GFX9-NEXT: v_readlane_b32 s37, v30, 38
-; GFX9-NEXT: v_readlane_b32 s38, v30, 39
-; GFX9-NEXT: v_readlane_b32 s49, v30, 40
-; GFX9-NEXT: v_readlane_b32 s50, v30, 41
-; GFX9-NEXT: v_readlane_b32 s51, v30, 42
-; GFX9-NEXT: v_readlane_b32 s52, v30, 43
-; GFX9-NEXT: v_readlane_b32 s53, v30, 44
-; GFX9-NEXT: v_readlane_b32 s54, v30, 45
-; GFX9-NEXT: v_readlane_b32 s55, v30, 46
-; GFX9-NEXT: v_readlane_b32 s64, v30, 47
-; GFX9-NEXT: v_readlane_b32 s46, v30, 48
-; GFX9-NEXT: v_readlane_b32 s65, v30, 49
-; GFX9-NEXT: v_readlane_b32 s68, v30, 50
-; GFX9-NEXT: v_readlane_b32 s69, v30, 51
-; GFX9-NEXT: v_readlane_b32 s70, v30, 52
-; GFX9-NEXT: v_readlane_b32 s71, v30, 53
-; GFX9-NEXT: v_readlane_b32 s80, v30, 54
-; GFX9-NEXT: v_readlane_b32 s56, v30, 55
-; GFX9-NEXT: v_readlane_b32 s81, v30, 56
-; GFX9-NEXT: v_readlane_b32 s82, v30, 57
-; GFX9-NEXT: v_readlane_b32 s83, v30, 58
-; GFX9-NEXT: v_readlane_b32 s84, v30, 59
-; GFX9-NEXT: v_readlane_b32 s85, v30, 60
-; GFX9-NEXT: v_readlane_b32 s86, v30, 61
-; GFX9-NEXT: v_readlane_b32 s58, v30, 62
-; GFX9-NEXT: v_readlane_b32 s87, v30, 63
-; GFX9-NEXT: v_readlane_b32 s57, v31, 0
-; GFX9-NEXT: v_readlane_b32 s60, v31, 1
-; GFX9-NEXT: v_readlane_b32 s61, v31, 2
-; GFX9-NEXT: v_readlane_b32 s66, v30, 4
-; GFX9-NEXT: v_readlane_b32 s67, v30, 5
+; GFX9-NEXT: v_readlane_b32 s94, v30, 39
+; GFX9-NEXT: v_readlane_b32 vcc_hi, v30, 40
+; GFX9-NEXT: v_readlane_b32 s59, v30, 41
+; GFX9-NEXT: v_readlane_b32 s34, v30, 42
+; GFX9-NEXT: v_readlane_b32 s69, v30, 43
+; GFX9-NEXT: v_readlane_b32 s36, v30, 44
+; GFX9-NEXT: v_readlane_b32 s38, v30, 45
+; GFX9-NEXT: v_readlane_b32 s39, v30, 46
+; GFX9-NEXT: v_readlane_b32 s48, v30, 47
+; GFX9-NEXT: v_readlane_b32 s49, v30, 48
+; GFX9-NEXT: v_readlane_b32 s50, v30, 49
+; GFX9-NEXT: v_readlane_b32 s51, v30, 50
+; GFX9-NEXT: v_readlane_b32 s52, v30, 51
+; GFX9-NEXT: v_readlane_b32 s53, v30, 52
+; GFX9-NEXT: v_readlane_b32 s54, v30, 53
+; GFX9-NEXT: v_readlane_b32 s55, v30, 54
+; GFX9-NEXT: v_readlane_b32 s64, v30, 55
+; GFX9-NEXT: v_readlane_b32 s65, v30, 56
+; GFX9-NEXT: v_readlane_b32 s46, v30, 57
+; GFX9-NEXT: v_readlane_b32 s68, v30, 58
+; GFX9-NEXT: v_readlane_b32 s71, v30, 59
+; GFX9-NEXT: v_readlane_b32 s70, v30, 60
+; GFX9-NEXT: v_readlane_b32 s56, v30, 61
+; GFX9-NEXT: v_readlane_b32 s80, v30, 62
+; GFX9-NEXT: v_readlane_b32 s81, v30, 63
+; GFX9-NEXT: v_readlane_b32 s82, v31, 0
+; GFX9-NEXT: v_readlane_b32 s83, v31, 1
+; GFX9-NEXT: v_readlane_b32 s84, v31, 2
+; GFX9-NEXT: v_readlane_b32 s58, v31, 3
+; GFX9-NEXT: v_readlane_b32 s85, v31, 4
+; GFX9-NEXT: v_readlane_b32 s86, v31, 5
+; GFX9-NEXT: v_readlane_b32 s87, v31, 6
+; GFX9-NEXT: v_readlane_b32 s57, v31, 7
+; GFX9-NEXT: v_readlane_b32 s66, v30, 6
+; GFX9-NEXT: v_readlane_b32 s67, v30, 7
; GFX9-NEXT: s_cbranch_scc1 .LBB57_5
; GFX9-NEXT: ; %bb.4: ; %cmp.true
; GFX9-NEXT: s_add_u32 s16, s16, 3
@@ -81079,424 +81136,421 @@ define inreg <128 x i8> @bitcast_v16i64_to_v128i8_scalar(<16 x i64> inreg %a, i3
; GFX9-NEXT: s_add_u32 s4, s4, 3
; GFX9-NEXT: s_addc_u32 s5, s5, 0
; GFX9-NEXT: s_lshr_b32 s46, s5, 8
-; GFX9-NEXT: v_writelane_b32 v31, s46, 3
+; GFX9-NEXT: v_writelane_b32 v31, s46, 8
; GFX9-NEXT: s_lshr_b32 s46, s4, 16
-; GFX9-NEXT: v_writelane_b32 v31, s46, 4
+; GFX9-NEXT: v_writelane_b32 v31, s46, 9
; GFX9-NEXT: s_lshr_b32 s46, s4, 8
-; GFX9-NEXT: v_writelane_b32 v31, s46, 5
+; GFX9-NEXT: v_writelane_b32 v31, s46, 10
; GFX9-NEXT: s_lshr_b32 s46, s7, 24
-; GFX9-NEXT: v_writelane_b32 v31, s46, 6
+; GFX9-NEXT: v_writelane_b32 v31, s46, 11
; GFX9-NEXT: s_lshr_b32 s46, s7, 16
-; GFX9-NEXT: v_writelane_b32 v31, s46, 7
+; GFX9-NEXT: v_writelane_b32 v31, s46, 12
; GFX9-NEXT: s_lshr_b32 s46, s7, 8
-; GFX9-NEXT: v_writelane_b32 v31, s46, 8
+; GFX9-NEXT: v_writelane_b32 v31, s46, 13
; GFX9-NEXT: s_lshr_b32 s46, s6, 16
-; GFX9-NEXT: v_writelane_b32 v31, s46, 9
+; GFX9-NEXT: v_writelane_b32 v31, s46, 14
; GFX9-NEXT: s_lshr_b32 s46, s6, 8
-; GFX9-NEXT: v_writelane_b32 v31, s46, 10
+; GFX9-NEXT: v_writelane_b32 v31, s46, 15
; GFX9-NEXT: s_lshr_b32 s46, s9, 24
-; GFX9-NEXT: v_writelane_b32 v31, s46, 11
+; GFX9-NEXT: v_writelane_b32 v31, s46, 16
; GFX9-NEXT: s_lshr_b32 s46, s9, 16
-; GFX9-NEXT: v_writelane_b32 v31, s46, 12
+; GFX9-NEXT: v_writelane_b32 v31, s46, 17
; GFX9-NEXT: s_lshr_b32 s46, s9, 8
-; GFX9-NEXT: v_writelane_b32 v31, s46, 13
+; GFX9-NEXT: s_lshr_b64 s[72:73], s[4:5], 24
+; GFX9-NEXT: v_writelane_b32 v31, s46, 18
; GFX9-NEXT: s_lshr_b32 s46, s8, 16
-; GFX9-NEXT: v_writelane_b32 v31, s46, 14
+; GFX9-NEXT: v_writelane_b32 v30, s72, 18
+; GFX9-NEXT: v_writelane_b32 v31, s46, 19
; GFX9-NEXT: s_lshr_b32 s46, s8, 8
-; GFX9-NEXT: v_writelane_b32 v31, s46, 15
+; GFX9-NEXT: v_writelane_b32 v30, s73, 19
+; GFX9-NEXT: s_lshr_b64 s[72:73], s[6:7], 24
+; GFX9-NEXT: v_writelane_b32 v31, s46, 20
; GFX9-NEXT: s_lshr_b32 s46, s11, 24
-; GFX9-NEXT: v_writelane_b32 v31, s46, 16
+; GFX9-NEXT: v_writelane_b32 v30, s72, 16
+; GFX9-NEXT: v_writelane_b32 v31, s46, 21
; GFX9-NEXT: s_lshr_b32 s46, s11, 16
-; GFX9-NEXT: v_writelane_b32 v31, s46, 17
+; GFX9-NEXT: v_writelane_b32 v30, s73, 17
+; GFX9-NEXT: s_lshr_b64 s[72:73], s[8:9], 24
+; GFX9-NEXT: v_writelane_b32 v31, s46, 22
; GFX9-NEXT: s_lshr_b32 s46, s11, 8
-; GFX9-NEXT: s_lshr_b64 s[62:63], s[4:5], 24
-; GFX9-NEXT: v_writelane_b32 v31, s46, 18
+; GFX9-NEXT: v_writelane_b32 v30, s72, 14
+; GFX9-NEXT: v_writelane_b32 v31, s46, 23
; GFX9-NEXT: s_lshr_b32 s46, s10, 16
-; GFX9-NEXT: v_writelane_b32 v30, s62, 16
-; GFX9-NEXT: v_writelane_b32 v31, s46, 19
+; GFX9-NEXT: v_writelane_b32 v30, s73, 15
+; GFX9-NEXT: s_lshr_b64 s[72:73], s[10:11], 24
+; GFX9-NEXT: v_writelane_b32 v31, s46, 24
; GFX9-NEXT: s_lshr_b32 s46, s10, 8
-; GFX9-NEXT: v_writelane_b32 v30, s63, 17
-; GFX9-NEXT: s_lshr_b64 s[62:63], s[6:7], 24
-; GFX9-NEXT: v_writelane_b32 v31, s46, 20
+; GFX9-NEXT: v_writelane_b32 v30, s72, 12
+; GFX9-NEXT: v_writelane_b32 v31, s46, 25
; GFX9-NEXT: s_lshr_b32 s46, s13, 24
-; GFX9-NEXT: v_writelane_b32 v30, s62, 14
-; GFX9-NEXT: v_writelane_b32 v31, s46, 21
+; GFX9-NEXT: v_writelane_b32 v30, s73, 13
+; GFX9-NEXT: s_lshr_b64 s[72:73], s[12:13], 24
+; GFX9-NEXT: v_writelane_b32 v31, s46, 26
; GFX9-NEXT: s_lshr_b32 s46, s13, 16
-; GFX9-NEXT: v_writelane_b32 v30, s63, 15
-; GFX9-NEXT: s_lshr_b64 s[76:77], s[8:9], 24
-; GFX9-NEXT: v_writelane_b32 v31, s46, 22
+; GFX9-NEXT: v_writelane_b32 v30, s72, 10
+; GFX9-NEXT: v_writelane_b32 v31, s46, 27
; GFX9-NEXT: s_lshr_b32 s46, s13, 8
-; GFX9-NEXT: v_writelane_b32 v30, s76, 12
-; GFX9-NEXT: v_writelane_b32 v31, s46, 23
+; GFX9-NEXT: v_writelane_b32 v30, s73, 11
+; GFX9-NEXT: s_lshr_b64 s[66:67], s[28:29], 24
+; GFX9-NEXT: s_lshr_b32 s60, s5, 16
+; GFX9-NEXT: v_writelane_b32 v31, s46, 28
; GFX9-NEXT: s_lshr_b32 s46, s12, 16
-; GFX9-NEXT: v_writelane_b32 v30, s77, 13
-; GFX9-NEXT: s_lshr_b64 s[76:77], s[10:11], 24
-; GFX9-NEXT: v_writelane_b32 v31, s46, 24
+; GFX9-NEXT: s_lshr_b64 s[72:73], s[44:45], 24
+; GFX9-NEXT: v_writelane_b32 v30, s66, 8
+; GFX9-NEXT: v_writelane_b32 v31, s46, 29
; GFX9-NEXT: s_lshr_b32 s46, s12, 8
-; GFX9-NEXT: v_writelane_b32 v30, s76, 10
-; GFX9-NEXT: v_writelane_b32 v31, s46, 25
+; GFX9-NEXT: s_mov_b32 s73, s60
+; GFX9-NEXT: v_writelane_b32 v30, s67, 9
+; GFX9-NEXT: s_lshr_b64 s[60:61], s[24:25], 24
+; GFX9-NEXT: v_writelane_b32 v31, s46, 30
; GFX9-NEXT: s_lshr_b32 s46, s15, 24
-; GFX9-NEXT: v_writelane_b32 v30, s77, 11
-; GFX9-NEXT: s_lshr_b64 s[76:77], s[12:13], 24
-; GFX9-NEXT: v_writelane_b32 v31, s46, 26
+; GFX9-NEXT: v_writelane_b32 v30, s60, 4
+; GFX9-NEXT: v_writelane_b32 v31, s46, 31
; GFX9-NEXT: s_lshr_b32 s46, s15, 16
-; GFX9-NEXT: v_writelane_b32 v30, s76, 8
-; GFX9-NEXT: v_writelane_b32 v31, s46, 27
+; GFX9-NEXT: v_writelane_b32 v30, s61, 5
+; GFX9-NEXT: s_lshr_b64 s[60:61], s[22:23], 24
+; GFX9-NEXT: s_lshr_b32 s62, s5, 24
+; GFX9-NEXT: v_writelane_b32 v31, s46, 32
; GFX9-NEXT: s_lshr_b32 s46, s15, 8
-; GFX9-NEXT: v_writelane_b32 v30, s77, 9
-; GFX9-NEXT: s_lshr_b64 s[66:67], s[26:27], 24
-; GFX9-NEXT: v_writelane_b32 v31, s46, 28
+; GFX9-NEXT: s_lshr_b64 s[74:75], s[14:15], 24
+; GFX9-NEXT: v_writelane_b32 v30, s60, 2
+; GFX9-NEXT: v_writelane_b32 v31, s46, 33
; GFX9-NEXT: s_lshr_b32 s46, s14, 16
-; GFX9-NEXT: s_lshr_b32 s92, s43, 24
-; GFX9-NEXT: v_writelane_b32 v30, s66, 6
-; GFX9-NEXT: v_writelane_b32 v31, s46, 29
+; GFX9-NEXT: s_mov_b32 s75, s62
+; GFX9-NEXT: v_writelane_b32 v30, s61, 3
+; GFX9-NEXT: s_lshr_b64 s[62:63], s[18:19], 24
+; GFX9-NEXT: v_writelane_b32 v31, s46, 34
; GFX9-NEXT: s_lshr_b32 s46, s14, 8
-; GFX9-NEXT: s_mov_b32 s63, s92
-; GFX9-NEXT: v_writelane_b32 v30, s67, 7
-; GFX9-NEXT: s_lshr_b64 s[92:93], s[22:23], 24
-; GFX9-NEXT: v_writelane_b32 v31, s46, 30
-; GFX9-NEXT: s_lshr_b32 s46, s41, 24
-; GFX9-NEXT: v_writelane_b32 v30, s92, 2
-; GFX9-NEXT: v_writelane_b32 v31, s46, 31
-; GFX9-NEXT: s_lshr_b32 s46, s41, 16
+; GFX9-NEXT: v_writelane_b32 v30, s62, 0
+; GFX9-NEXT: v_writelane_b32 v31, s46, 35
+; GFX9-NEXT: s_lshr_b32 s97, s41, 24
+; GFX9-NEXT: s_lshr_b32 s96, s41, 16
+; GFX9-NEXT: s_lshr_b32 s98, s41, 8
; GFX9-NEXT: s_lshr_b32 s99, s40, 16
-; GFX9-NEXT: v_writelane_b32 v30, s93, 3
-; GFX9-NEXT: s_lshr_b64 s[96:97], s[18:19], 24
-; GFX9-NEXT: s_lshr_b32 s74, s5, 16
-; GFX9-NEXT: v_writelane_b32 v31, s46, 32
-; GFX9-NEXT: s_lshr_b32 s46, s41, 8
-; GFX9-NEXT: s_mov_b32 s62, s99
-; GFX9-NEXT: s_lshr_b64 s[98:99], s[14:15], 24
-; GFX9-NEXT: v_writelane_b32 v30, s96, 0
-; GFX9-NEXT: s_lshr_b32 s72, s5, 24
-; GFX9-NEXT: v_writelane_b32 v31, s46, 33
-; GFX9-NEXT: s_lshr_b32 s90, s40, 8
-; GFX9-NEXT: s_lshr_b32 s91, s43, 16
-; GFX9-NEXT: s_lshr_b32 s73, s43, 8
-; GFX9-NEXT: s_lshr_b32 s94, s42, 16
-; GFX9-NEXT: s_lshr_b32 s95, s42, 8
-; GFX9-NEXT: s_lshr_b32 s30, s45, 24
-; GFX9-NEXT: s_lshr_b32 vcc_hi, s45, 16
-; GFX9-NEXT: s_lshr_b32 s31, s45, 8
-; GFX9-NEXT: s_lshr_b32 s35, s44, 16
-; GFX9-NEXT: s_lshr_b32 s47, s44, 8
-; GFX9-NEXT: s_lshr_b32 s48, s29, 24
-; GFX9-NEXT: s_lshr_b32 s39, s29, 16
-; GFX9-NEXT: s_lshr_b32 vcc_lo, s29, 8
-; GFX9-NEXT: s_lshr_b32 s59, s28, 16
-; GFX9-NEXT: s_lshr_b32 s34, s28, 8
-; GFX9-NEXT: s_lshr_b32 s36, s27, 24
-; GFX9-NEXT: s_lshr_b32 s37, s27, 16
-; GFX9-NEXT: s_lshr_b32 s80, s27, 8
-; GFX9-NEXT: s_lshr_b32 s38, s26, 16
-; GFX9-NEXT: s_lshr_b32 s81, s26, 8
-; GFX9-NEXT: s_lshr_b32 s49, s25, 24
-; GFX9-NEXT: s_lshr_b32 s50, s25, 16
-; GFX9-NEXT: s_lshr_b32 s82, s25, 8
-; GFX9-NEXT: s_lshr_b32 s51, s24, 16
-; GFX9-NEXT: s_lshr_b32 s83, s24, 8
-; GFX9-NEXT: s_lshr_b32 s52, s23, 24
-; GFX9-NEXT: s_lshr_b32 s53, s23, 16
-; GFX9-NEXT: s_lshr_b32 s84, s23, 8
-; GFX9-NEXT: s_lshr_b32 s54, s22, 16
-; GFX9-NEXT: s_lshr_b32 s85, s22, 8
-; GFX9-NEXT: s_lshr_b32 s55, s21, 24
-; GFX9-NEXT: s_lshr_b32 s64, s21, 16
-; GFX9-NEXT: s_lshr_b32 s86, s21, 8
-; GFX9-NEXT: s_lshr_b32 s46, s20, 16
+; GFX9-NEXT: s_lshr_b32 s88, s40, 8
+; GFX9-NEXT: s_lshr_b32 s90, s43, 24
+; GFX9-NEXT: s_lshr_b32 s89, s43, 16
+; GFX9-NEXT: s_lshr_b32 s91, s43, 8
+; GFX9-NEXT: s_lshr_b32 s92, s42, 16
+; GFX9-NEXT: s_lshr_b32 s93, s42, 8
+; GFX9-NEXT: s_lshr_b32 vcc_lo, s45, 24
+; GFX9-NEXT: s_lshr_b32 s95, s45, 16
+; GFX9-NEXT: s_lshr_b32 s30, s45, 8
+; GFX9-NEXT: s_lshr_b32 s31, s44, 16
+; GFX9-NEXT: s_lshr_b32 s35, s44, 8
+; GFX9-NEXT: s_lshr_b32 s47, s29, 24
+; GFX9-NEXT: s_lshr_b32 s37, s29, 16
+; GFX9-NEXT: s_lshr_b32 s94, s29, 8
+; GFX9-NEXT: s_lshr_b32 vcc_hi, s28, 16
+; GFX9-NEXT: s_lshr_b32 s59, s28, 8
+; GFX9-NEXT: s_lshr_b32 s34, s27, 24
+; GFX9-NEXT: s_lshr_b32 s69, s27, 16
+; GFX9-NEXT: s_lshr_b32 s71, s27, 8
+; GFX9-NEXT: s_lshr_b32 s36, s26, 16
+; GFX9-NEXT: s_lshr_b32 s56, s26, 8
+; GFX9-NEXT: s_lshr_b32 s38, s25, 24
+; GFX9-NEXT: s_lshr_b32 s39, s25, 16
+; GFX9-NEXT: s_lshr_b32 s80, s25, 8
+; GFX9-NEXT: s_lshr_b32 s48, s24, 16
+; GFX9-NEXT: s_lshr_b32 s81, s24, 8
+; GFX9-NEXT: s_lshr_b32 s49, s23, 24
+; GFX9-NEXT: s_lshr_b32 s50, s23, 16
+; GFX9-NEXT: s_lshr_b32 s82, s23, 8
+; GFX9-NEXT: s_lshr_b32 s51, s22, 16
+; GFX9-NEXT: s_lshr_b32 s83, s22, 8
+; GFX9-NEXT: s_lshr_b32 s52, s21, 24
+; GFX9-NEXT: s_lshr_b32 s53, s21, 16
+; GFX9-NEXT: s_lshr_b32 s84, s21, 8
+; GFX9-NEXT: s_lshr_b32 s54, s20, 16
; GFX9-NEXT: s_lshr_b32 s58, s20, 8
-; GFX9-NEXT: s_lshr_b32 s65, s19, 24
-; GFX9-NEXT: s_lshr_b32 s68, s19, 16
-; GFX9-NEXT: s_lshr_b32 s87, s19, 8
-; GFX9-NEXT: s_lshr_b32 s69, s18, 16
-; GFX9-NEXT: s_lshr_b32 s57, s18, 8
-; GFX9-NEXT: s_lshr_b32 s70, s17, 24
-; GFX9-NEXT: s_lshr_b32 s71, s17, 16
-; GFX9-NEXT: s_lshr_b32 s60, s17, 8
-; GFX9-NEXT: s_lshr_b32 s56, s16, 16
-; GFX9-NEXT: s_lshr_b32 s61, s16, 8
-; GFX9-NEXT: s_mov_b32 s99, s74
-; GFX9-NEXT: s_lshr_b64 s[74:75], s[40:41], 24
+; GFX9-NEXT: s_lshr_b32 s55, s19, 24
+; GFX9-NEXT: s_lshr_b32 s64, s19, 16
+; GFX9-NEXT: s_lshr_b32 s85, s19, 8
+; GFX9-NEXT: s_lshr_b32 s65, s18, 16
+; GFX9-NEXT: s_lshr_b32 s86, s18, 8
+; GFX9-NEXT: s_lshr_b32 s46, s17, 24
+; GFX9-NEXT: s_lshr_b32 s68, s17, 16
+; GFX9-NEXT: s_lshr_b32 s87, s17, 8
+; GFX9-NEXT: s_lshr_b32 s70, s16, 16
+; GFX9-NEXT: s_lshr_b32 s57, s16, 8
+; GFX9-NEXT: s_lshr_b64 s[76:77], s[40:41], 24
; GFX9-NEXT: s_lshr_b64 s[78:79], s[42:43], 24
-; GFX9-NEXT: s_lshr_b64 s[88:89], s[44:45], 24
-; GFX9-NEXT: s_lshr_b64 s[76:77], s[28:29], 24
-; GFX9-NEXT: s_lshr_b64 s[66:67], s[24:25], 24
-; GFX9-NEXT: s_lshr_b64 s[92:93], s[20:21], 24
-; GFX9-NEXT: v_writelane_b32 v30, s97, 1
-; GFX9-NEXT: s_lshr_b64 s[96:97], s[16:17], 24
+; GFX9-NEXT: s_lshr_b64 s[66:67], s[26:27], 24
+; GFX9-NEXT: s_lshr_b64 s[60:61], s[20:21], 24
+; GFX9-NEXT: v_writelane_b32 v30, s63, 1
+; GFX9-NEXT: s_lshr_b64 s[62:63], s[16:17], 24
; GFX9-NEXT: .LBB57_5: ; %end
-; GFX9-NEXT: v_mov_b32_e32 v6, s96
+; GFX9-NEXT: v_mov_b32_e32 v6, s62
; GFX9-NEXT: v_mov_b32_e32 v1, 0xc0c0004
-; GFX9-NEXT: v_mov_b32_e32 v2, s61
-; GFX9-NEXT: v_perm_b32 v6, s56, v6, v1
-; GFX9-NEXT: v_mov_b32_e32 v4, s60
+; GFX9-NEXT: v_mov_b32_e32 v2, s57
+; GFX9-NEXT: v_perm_b32 v6, s70, v6, v1
+; GFX9-NEXT: v_mov_b32_e32 v4, s87
; GFX9-NEXT: v_perm_b32 v3, s16, v2, v1
-; GFX9-NEXT: v_mov_b32_e32 v21, s70
+; GFX9-NEXT: v_mov_b32_e32 v21, s46
; GFX9-NEXT: v_lshlrev_b32_e32 v6, 16, v6
; GFX9-NEXT: v_perm_b32 v2, s17, v4, v1
; GFX9-NEXT: v_readlane_b32 s16, v30, 0
-; GFX9-NEXT: v_perm_b32 v21, s71, v21, v1
+; GFX9-NEXT: v_perm_b32 v21, s68, v21, v1
; GFX9-NEXT: v_or_b32_e32 v3, v3, v6
; GFX9-NEXT: v_mov_b32_e32 v10, s16
; GFX9-NEXT: buffer_store_dword v3, v0, s[0:3], 0 offen
; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v21
-; GFX9-NEXT: v_mov_b32_e32 v4, s57
-; GFX9-NEXT: v_perm_b32 v10, s69, v10, v1
+; GFX9-NEXT: v_mov_b32_e32 v4, s86
+; GFX9-NEXT: v_perm_b32 v10, s65, v10, v1
; GFX9-NEXT: v_or_b32_e32 v2, v2, v3
; GFX9-NEXT: v_perm_b32 v5, s18, v4, v1
-; GFX9-NEXT: v_mov_b32_e32 v22, s65
+; GFX9-NEXT: v_mov_b32_e32 v22, s55
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:4
; GFX9-NEXT: v_lshlrev_b32_e32 v2, 16, v10
-; GFX9-NEXT: v_mov_b32_e32 v7, s87
-; GFX9-NEXT: v_perm_b32 v22, s68, v22, v1
+; GFX9-NEXT: v_mov_b32_e32 v7, s85
+; GFX9-NEXT: v_perm_b32 v22, s64, v22, v1
; GFX9-NEXT: v_or_b32_e32 v2, v5, v2
; GFX9-NEXT: v_perm_b32 v4, s19, v7, v1
-; GFX9-NEXT: v_mov_b32_e32 v14, s92
+; GFX9-NEXT: v_mov_b32_e32 v13, s60
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:8
; GFX9-NEXT: v_lshlrev_b32_e32 v2, 16, v22
; GFX9-NEXT: v_mov_b32_e32 v7, s58
-; GFX9-NEXT: v_perm_b32 v14, s46, v14, v1
+; GFX9-NEXT: v_perm_b32 v13, s54, v13, v1
; GFX9-NEXT: v_or_b32_e32 v2, v4, v2
; GFX9-NEXT: v_readlane_b32 s17, v30, 1
; GFX9-NEXT: v_perm_b32 v8, s20, v7, v1
-; GFX9-NEXT: v_mov_b32_e32 v23, s55
+; GFX9-NEXT: v_mov_b32_e32 v23, s52
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:12
-; GFX9-NEXT: v_lshlrev_b32_e32 v2, 16, v14
-; GFX9-NEXT: v_mov_b32_e32 v9, s86
+; GFX9-NEXT: v_lshlrev_b32_e32 v2, 16, v13
+; GFX9-NEXT: v_mov_b32_e32 v9, s84
; GFX9-NEXT: v_readlane_b32 s16, v30, 2
-; GFX9-NEXT: v_perm_b32 v23, s64, v23, v1
+; GFX9-NEXT: v_perm_b32 v23, s53, v23, v1
; GFX9-NEXT: v_or_b32_e32 v2, v8, v2
; GFX9-NEXT: v_perm_b32 v7, s21, v9, v1
; GFX9-NEXT: v_mov_b32_e32 v15, s16
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:16
; GFX9-NEXT: v_lshlrev_b32_e32 v2, 16, v23
-; GFX9-NEXT: v_mov_b32_e32 v9, s85
-; GFX9-NEXT: v_perm_b32 v15, s54, v15, v1
+; GFX9-NEXT: v_mov_b32_e32 v9, s83
+; GFX9-NEXT: v_perm_b32 v15, s51, v15, v1
; GFX9-NEXT: v_or_b32_e32 v2, v7, v2
+; GFX9-NEXT: v_readlane_b32 s17, v30, 3
; GFX9-NEXT: v_perm_b32 v11, s22, v9, v1
-; GFX9-NEXT: v_mov_b32_e32 v24, s52
+; GFX9-NEXT: v_mov_b32_e32 v24, s49
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:20
; GFX9-NEXT: v_lshlrev_b32_e32 v2, 16, v15
-; GFX9-NEXT: v_mov_b32_e32 v12, s84
-; GFX9-NEXT: v_perm_b32 v24, s53, v24, v1
+; GFX9-NEXT: v_mov_b32_e32 v12, s82
+; GFX9-NEXT: v_readlane_b32 s16, v30, 4
+; GFX9-NEXT: v_perm_b32 v24, s50, v24, v1
; GFX9-NEXT: v_or_b32_e32 v2, v11, v2
; GFX9-NEXT: v_perm_b32 v9, s23, v12, v1
-; GFX9-NEXT: v_mov_b32_e32 v16, s66
+; GFX9-NEXT: v_mov_b32_e32 v16, s16
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:24
; GFX9-NEXT: v_lshlrev_b32_e32 v2, 16, v24
-; GFX9-NEXT: v_mov_b32_e32 v12, s83
-; GFX9-NEXT: v_perm_b32 v16, s51, v16, v1
+; GFX9-NEXT: v_mov_b32_e32 v12, s81
+; GFX9-NEXT: v_perm_b32 v16, s48, v16, v1
; GFX9-NEXT: v_or_b32_e32 v2, v9, v2
-; GFX9-NEXT: v_readlane_b32 s17, v30, 3
-; GFX9-NEXT: v_perm_b32 v13, s24, v12, v1
-; GFX9-NEXT: v_mov_b32_e32 v25, s49
+; GFX9-NEXT: v_perm_b32 v14, s24, v12, v1
+; GFX9-NEXT: v_mov_b32_e32 v25, s38
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:28
; GFX9-NEXT: v_lshlrev_b32_e32 v2, 16, v16
-; GFX9-NEXT: v_mov_b32_e32 v17, s82
-; GFX9-NEXT: v_readlane_b32 s16, v30, 6
-; GFX9-NEXT: v_perm_b32 v25, s50, v25, v1
-; GFX9-NEXT: v_or_b32_e32 v2, v13, v2
+; GFX9-NEXT: v_mov_b32_e32 v17, s80
+; GFX9-NEXT: v_perm_b32 v25, s39, v25, v1
+; GFX9-NEXT: v_or_b32_e32 v2, v14, v2
; GFX9-NEXT: v_perm_b32 v12, s25, v17, v1
-; GFX9-NEXT: v_mov_b32_e32 v17, s16
+; GFX9-NEXT: v_mov_b32_e32 v17, s66
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:32
; GFX9-NEXT: v_lshlrev_b32_e32 v2, 16, v25
-; GFX9-NEXT: v_mov_b32_e32 v18, s81
-; GFX9-NEXT: v_perm_b32 v17, s38, v17, v1
+; GFX9-NEXT: v_mov_b32_e32 v18, s56
+; GFX9-NEXT: v_perm_b32 v17, s36, v17, v1
; GFX9-NEXT: v_or_b32_e32 v2, v12, v2
+; GFX9-NEXT: v_readlane_b32 s17, v30, 5
; GFX9-NEXT: v_perm_b32 v18, s26, v18, v1
-; GFX9-NEXT: v_mov_b32_e32 v26, s36
+; GFX9-NEXT: v_mov_b32_e32 v26, s34
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:36
; GFX9-NEXT: v_lshlrev_b32_e32 v2, 16, v17
-; GFX9-NEXT: v_mov_b32_e32 v19, s80
-; GFX9-NEXT: v_perm_b32 v26, s37, v26, v1
+; GFX9-NEXT: v_mov_b32_e32 v19, s71
+; GFX9-NEXT: v_readlane_b32 s16, v30, 8
+; GFX9-NEXT: v_perm_b32 v26, s69, v26, v1
; GFX9-NEXT: v_or_b32_e32 v2, v18, v2
; GFX9-NEXT: v_perm_b32 v19, s27, v19, v1
-; GFX9-NEXT: v_mov_b32_e32 v20, s76
+; GFX9-NEXT: v_mov_b32_e32 v20, s16
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:40
; GFX9-NEXT: v_lshlrev_b32_e32 v2, 16, v26
-; GFX9-NEXT: v_mov_b32_e32 v27, s34
-; GFX9-NEXT: v_perm_b32 v20, s59, v20, v1
+; GFX9-NEXT: v_mov_b32_e32 v27, s59
+; GFX9-NEXT: v_perm_b32 v20, vcc_hi, v20, v1
; GFX9-NEXT: v_or_b32_e32 v2, v19, v2
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:44
; GFX9-NEXT: v_perm_b32 v2, s28, v27, v1
; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v20
; GFX9-NEXT: v_or_b32_e32 v2, v2, v3
-; GFX9-NEXT: v_mov_b32_e32 v3, s48
-; GFX9-NEXT: v_mov_b32_e32 v28, vcc_lo
-; GFX9-NEXT: v_perm_b32 v3, s39, v3, v1
+; GFX9-NEXT: v_mov_b32_e32 v3, s47
+; GFX9-NEXT: v_mov_b32_e32 v28, s94
+; GFX9-NEXT: v_perm_b32 v3, s37, v3, v1
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:48
; GFX9-NEXT: v_perm_b32 v2, s29, v28, v1
; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; GFX9-NEXT: v_or_b32_e32 v2, v2, v3
-; GFX9-NEXT: v_mov_b32_e32 v3, s88
+; GFX9-NEXT: v_mov_b32_e32 v3, s72
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:52
-; GFX9-NEXT: v_mov_b32_e32 v2, s47
-; GFX9-NEXT: v_perm_b32 v3, s35, v3, v1
+; GFX9-NEXT: v_mov_b32_e32 v2, s35
+; GFX9-NEXT: v_perm_b32 v3, s31, v3, v1
; GFX9-NEXT: v_perm_b32 v2, s44, v2, v1
; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; GFX9-NEXT: v_or_b32_e32 v2, v2, v3
-; GFX9-NEXT: v_mov_b32_e32 v3, s30
+; GFX9-NEXT: v_mov_b32_e32 v3, vcc_lo
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:56
-; GFX9-NEXT: v_mov_b32_e32 v2, s31
-; GFX9-NEXT: v_perm_b32 v3, vcc_hi, v3, v1
+; GFX9-NEXT: v_mov_b32_e32 v2, s30
+; GFX9-NEXT: v_perm_b32 v3, s95, v3, v1
; GFX9-NEXT: v_perm_b32 v2, s45, v2, v1
; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; GFX9-NEXT: v_or_b32_e32 v2, v2, v3
; GFX9-NEXT: v_mov_b32_e32 v3, s78
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:60
-; GFX9-NEXT: v_mov_b32_e32 v2, s95
-; GFX9-NEXT: v_perm_b32 v3, s94, v3, v1
+; GFX9-NEXT: v_mov_b32_e32 v2, s93
+; GFX9-NEXT: v_perm_b32 v3, s92, v3, v1
; GFX9-NEXT: v_perm_b32 v2, s42, v2, v1
; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; GFX9-NEXT: v_or_b32_e32 v2, v2, v3
-; GFX9-NEXT: v_mov_b32_e32 v3, s63
+; GFX9-NEXT: v_mov_b32_e32 v3, s90
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:64
-; GFX9-NEXT: v_mov_b32_e32 v2, s73
-; GFX9-NEXT: v_perm_b32 v3, s91, v3, v1
+; GFX9-NEXT: v_mov_b32_e32 v2, s91
+; GFX9-NEXT: v_perm_b32 v3, s89, v3, v1
; GFX9-NEXT: v_perm_b32 v2, s43, v2, v1
; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; GFX9-NEXT: v_or_b32_e32 v2, v2, v3
-; GFX9-NEXT: v_mov_b32_e32 v3, s74
+; GFX9-NEXT: v_mov_b32_e32 v3, s76
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:68
-; GFX9-NEXT: v_mov_b32_e32 v2, s90
-; GFX9-NEXT: v_perm_b32 v3, s62, v3, v1
+; GFX9-NEXT: v_mov_b32_e32 v2, s88
+; GFX9-NEXT: v_perm_b32 v3, s99, v3, v1
; GFX9-NEXT: v_perm_b32 v2, s40, v2, v1
; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; GFX9-NEXT: v_or_b32_e32 v2, v2, v3
-; GFX9-NEXT: v_readlane_b32 s16, v31, 33
+; GFX9-NEXT: v_mov_b32_e32 v3, s97
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:72
-; GFX9-NEXT: v_mov_b32_e32 v2, s16
-; GFX9-NEXT: v_readlane_b32 s16, v31, 31
-; GFX9-NEXT: v_mov_b32_e32 v3, s16
-; GFX9-NEXT: v_readlane_b32 s16, v31, 32
-; GFX9-NEXT: v_perm_b32 v3, s16, v3, v1
+; GFX9-NEXT: v_mov_b32_e32 v2, s98
+; GFX9-NEXT: v_perm_b32 v3, s96, v3, v1
; GFX9-NEXT: v_perm_b32 v2, s41, v2, v1
; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; GFX9-NEXT: v_or_b32_e32 v2, v2, v3
-; GFX9-NEXT: v_readlane_b32 s16, v31, 30
+; GFX9-NEXT: v_readlane_b32 s16, v31, 35
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:76
; GFX9-NEXT: v_mov_b32_e32 v2, s16
; GFX9-NEXT: v_perm_b32 v2, s14, v2, v1
-; GFX9-NEXT: v_mov_b32_e32 v3, s98
-; GFX9-NEXT: v_readlane_b32 s14, v31, 29
+; GFX9-NEXT: v_mov_b32_e32 v3, s74
+; GFX9-NEXT: v_readlane_b32 s14, v31, 34
; GFX9-NEXT: v_perm_b32 v3, s14, v3, v1
; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; GFX9-NEXT: v_or_b32_e32 v2, v2, v3
-; GFX9-NEXT: v_readlane_b32 s14, v31, 28
+; GFX9-NEXT: v_readlane_b32 s14, v31, 33
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:80
; GFX9-NEXT: v_mov_b32_e32 v2, s14
-; GFX9-NEXT: v_readlane_b32 s14, v31, 26
+; GFX9-NEXT: v_readlane_b32 s14, v31, 31
; GFX9-NEXT: v_mov_b32_e32 v3, s14
-; GFX9-NEXT: v_readlane_b32 s14, v31, 27
+; GFX9-NEXT: v_readlane_b32 s14, v31, 32
; GFX9-NEXT: v_perm_b32 v3, s14, v3, v1
; GFX9-NEXT: v_perm_b32 v2, s15, v2, v1
; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; GFX9-NEXT: v_or_b32_e32 v2, v2, v3
-; GFX9-NEXT: v_readlane_b32 s14, v31, 25
+; GFX9-NEXT: v_readlane_b32 s14, v31, 30
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:84
; GFX9-NEXT: v_mov_b32_e32 v2, s14
-; GFX9-NEXT: v_readlane_b32 s14, v30, 8
+; GFX9-NEXT: v_readlane_b32 s14, v30, 10
; GFX9-NEXT: v_perm_b32 v2, s12, v2, v1
; GFX9-NEXT: v_mov_b32_e32 v3, s14
-; GFX9-NEXT: v_readlane_b32 s12, v31, 24
+; GFX9-NEXT: v_readlane_b32 s12, v31, 29
; GFX9-NEXT: v_perm_b32 v3, s12, v3, v1
; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; GFX9-NEXT: v_or_b32_e32 v2, v2, v3
-; GFX9-NEXT: v_readlane_b32 s12, v31, 23
+; GFX9-NEXT: v_readlane_b32 s12, v31, 28
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:88
; GFX9-NEXT: v_mov_b32_e32 v2, s12
-; GFX9-NEXT: v_readlane_b32 s12, v31, 21
+; GFX9-NEXT: v_readlane_b32 s12, v31, 26
; GFX9-NEXT: v_mov_b32_e32 v3, s12
-; GFX9-NEXT: v_readlane_b32 s12, v31, 22
+; GFX9-NEXT: v_readlane_b32 s12, v31, 27
; GFX9-NEXT: v_perm_b32 v3, s12, v3, v1
; GFX9-NEXT: v_perm_b32 v2, s13, v2, v1
; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; GFX9-NEXT: v_or_b32_e32 v2, v2, v3
-; GFX9-NEXT: v_readlane_b32 s12, v31, 20
+; GFX9-NEXT: v_readlane_b32 s12, v31, 25
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:92
; GFX9-NEXT: v_mov_b32_e32 v2, s12
-; GFX9-NEXT: v_readlane_b32 s12, v30, 10
+; GFX9-NEXT: v_readlane_b32 s12, v30, 12
; GFX9-NEXT: v_perm_b32 v2, s10, v2, v1
; GFX9-NEXT: v_mov_b32_e32 v3, s12
-; GFX9-NEXT: v_readlane_b32 s10, v31, 19
+; GFX9-NEXT: v_readlane_b32 s10, v31, 24
; GFX9-NEXT: v_perm_b32 v3, s10, v3, v1
; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; GFX9-NEXT: v_or_b32_e32 v2, v2, v3
-; GFX9-NEXT: v_readlane_b32 s10, v31, 18
+; GFX9-NEXT: v_readlane_b32 s10, v31, 23
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:96
; GFX9-NEXT: v_mov_b32_e32 v2, s10
-; GFX9-NEXT: v_readlane_b32 s10, v31, 16
+; GFX9-NEXT: v_readlane_b32 s10, v31, 21
; GFX9-NEXT: v_mov_b32_e32 v3, s10
-; GFX9-NEXT: v_readlane_b32 s10, v31, 17
+; GFX9-NEXT: v_readlane_b32 s10, v31, 22
; GFX9-NEXT: v_perm_b32 v3, s10, v3, v1
; GFX9-NEXT: v_perm_b32 v2, s11, v2, v1
; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; GFX9-NEXT: v_or_b32_e32 v2, v2, v3
-; GFX9-NEXT: v_readlane_b32 s10, v31, 15
+; GFX9-NEXT: v_readlane_b32 s10, v31, 20
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:100
; GFX9-NEXT: v_mov_b32_e32 v2, s10
-; GFX9-NEXT: v_readlane_b32 s10, v30, 12
+; GFX9-NEXT: v_readlane_b32 s10, v30, 14
; GFX9-NEXT: v_perm_b32 v2, s8, v2, v1
; GFX9-NEXT: v_mov_b32_e32 v3, s10
-; GFX9-NEXT: v_readlane_b32 s8, v31, 14
+; GFX9-NEXT: v_readlane_b32 s8, v31, 19
; GFX9-NEXT: v_perm_b32 v3, s8, v3, v1
; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; GFX9-NEXT: v_or_b32_e32 v2, v2, v3
-; GFX9-NEXT: v_readlane_b32 s8, v31, 13
+; GFX9-NEXT: v_readlane_b32 s8, v31, 18
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:104
; GFX9-NEXT: v_mov_b32_e32 v2, s8
-; GFX9-NEXT: v_readlane_b32 s8, v31, 11
+; GFX9-NEXT: v_readlane_b32 s8, v31, 16
; GFX9-NEXT: v_mov_b32_e32 v3, s8
-; GFX9-NEXT: v_readlane_b32 s8, v31, 12
+; GFX9-NEXT: v_readlane_b32 s8, v31, 17
; GFX9-NEXT: v_perm_b32 v3, s8, v3, v1
; GFX9-NEXT: v_perm_b32 v2, s9, v2, v1
; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; GFX9-NEXT: v_or_b32_e32 v2, v2, v3
-; GFX9-NEXT: v_readlane_b32 s8, v31, 10
+; GFX9-NEXT: v_readlane_b32 s8, v31, 15
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:108
; GFX9-NEXT: v_mov_b32_e32 v2, s8
-; GFX9-NEXT: v_readlane_b32 s8, v30, 14
+; GFX9-NEXT: v_readlane_b32 s8, v30, 16
; GFX9-NEXT: v_perm_b32 v2, s6, v2, v1
; GFX9-NEXT: v_mov_b32_e32 v3, s8
-; GFX9-NEXT: v_readlane_b32 s6, v31, 9
+; GFX9-NEXT: v_readlane_b32 s6, v31, 14
; GFX9-NEXT: v_perm_b32 v3, s6, v3, v1
; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; GFX9-NEXT: v_or_b32_e32 v2, v2, v3
-; GFX9-NEXT: v_readlane_b32 s6, v31, 8
+; GFX9-NEXT: v_readlane_b32 s6, v31, 13
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:112
; GFX9-NEXT: v_mov_b32_e32 v2, s6
-; GFX9-NEXT: v_readlane_b32 s6, v31, 6
+; GFX9-NEXT: v_readlane_b32 s6, v31, 11
; GFX9-NEXT: v_mov_b32_e32 v3, s6
-; GFX9-NEXT: v_readlane_b32 s6, v31, 7
+; GFX9-NEXT: v_readlane_b32 s6, v31, 12
; GFX9-NEXT: v_perm_b32 v3, s6, v3, v1
; GFX9-NEXT: v_perm_b32 v2, s7, v2, v1
; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; GFX9-NEXT: v_or_b32_e32 v2, v2, v3
-; GFX9-NEXT: v_readlane_b32 s6, v31, 5
+; GFX9-NEXT: v_readlane_b32 s6, v31, 10
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:116
; GFX9-NEXT: v_mov_b32_e32 v2, s6
-; GFX9-NEXT: v_readlane_b32 s6, v30, 16
+; GFX9-NEXT: v_readlane_b32 s6, v30, 18
; GFX9-NEXT: v_perm_b32 v2, s4, v2, v1
; GFX9-NEXT: v_mov_b32_e32 v3, s6
-; GFX9-NEXT: v_readlane_b32 s4, v31, 4
+; GFX9-NEXT: v_readlane_b32 s4, v31, 9
; GFX9-NEXT: v_perm_b32 v3, s4, v3, v1
; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; GFX9-NEXT: v_or_b32_e32 v2, v2, v3
-; GFX9-NEXT: v_readlane_b32 s4, v31, 3
+; GFX9-NEXT: v_readlane_b32 s4, v31, 8
; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:120
; GFX9-NEXT: v_mov_b32_e32 v2, s4
-; GFX9-NEXT: v_mov_b32_e32 v3, s72
+; GFX9-NEXT: v_mov_b32_e32 v3, s75
; GFX9-NEXT: v_perm_b32 v2, s5, v2, v1
-; GFX9-NEXT: v_perm_b32 v1, s99, v3, v1
+; GFX9-NEXT: v_perm_b32 v1, s73, v3, v1
; GFX9-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; GFX9-NEXT: v_or_b32_e32 v1, v2, v1
; GFX9-NEXT: v_readlane_b32 s30, v29, 34
-; GFX9-NEXT: v_readlane_b32 s17, v30, 7
-; GFX9-NEXT: v_readlane_b32 s15, v30, 9
-; GFX9-NEXT: v_readlane_b32 s13, v30, 11
-; GFX9-NEXT: v_readlane_b32 s11, v30, 13
-; GFX9-NEXT: v_readlane_b32 s9, v30, 15
-; GFX9-NEXT: v_readlane_b32 s7, v30, 17
+; GFX9-NEXT: v_readlane_b32 s17, v30, 9
+; GFX9-NEXT: v_readlane_b32 s15, v30, 11
+; GFX9-NEXT: v_readlane_b32 s13, v30, 13
+; GFX9-NEXT: v_readlane_b32 s11, v30, 15
+; GFX9-NEXT: v_readlane_b32 s9, v30, 17
+; GFX9-NEXT: v_readlane_b32 s7, v30, 19
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:124
; GFX9-NEXT: v_readlane_b32 s31, v29, 35
; GFX9-NEXT: v_readlane_b32 s99, v29, 33
@@ -81619,70 +81673,70 @@ define inreg <128 x i8> @bitcast_v16i64_to_v128i8_scalar(<16 x i64> inreg %a, i3
; GFX11-NEXT: s_lshr_b32 s42, s5, 16
; GFX11-NEXT: s_lshr_b32 s46, s25, 8
; GFX11-NEXT: s_lshr_b32 s102, s28, 16
-; GFX11-NEXT: s_lshr_b32 s30, s27, 24
+; GFX11-NEXT: s_lshr_b32 s43, s27, 24
; GFX11-NEXT: v_writelane_b32 v26, s42, 3
; GFX11-NEXT: s_lshr_b32 s42, s5, 8
-; GFX11-NEXT: s_lshr_b32 s43, s27, 16
; GFX11-NEXT: s_lshr_b32 s104, s27, 8
-; GFX11-NEXT: s_lshr_b32 s34, s26, 16
+; GFX11-NEXT: s_lshr_b32 s39, s26, 16
+; GFX11-NEXT: s_lshr_b32 s103, s26, 8
; GFX11-NEXT: v_writelane_b32 v26, s42, 4
; GFX11-NEXT: s_lshr_b32 s42, s4, 16
-; GFX11-NEXT: s_lshr_b32 s103, s26, 8
-; GFX11-NEXT: s_lshr_b32 s53, s25, 24
-; GFX11-NEXT: s_lshr_b32 s51, s25, 16
+; GFX11-NEXT: s_lshr_b32 s50, s25, 24
+; GFX11-NEXT: s_lshr_b32 s49, s25, 16
+; GFX11-NEXT: s_lshr_b32 s51, s24, 16
; GFX11-NEXT: v_writelane_b32 v26, s42, 5
; GFX11-NEXT: s_lshr_b32 s42, s4, 8
-; GFX11-NEXT: s_lshr_b32 s54, s24, 16
-; GFX11-NEXT: s_lshr_b32 s39, s24, 8
-; GFX11-NEXT: s_lshr_b32 s80, s23, 24
+; GFX11-NEXT: s_lshr_b32 s38, s24, 8
+; GFX11-NEXT: s_lshr_b32 s71, s23, 24
+; GFX11-NEXT: s_lshr_b32 s68, s23, 16
; GFX11-NEXT: v_writelane_b32 v26, s42, 6
; GFX11-NEXT: s_lshr_b32 s42, s7, 24
-; GFX11-NEXT: s_lshr_b32 s69, s23, 16
-; GFX11-NEXT: s_lshr_b32 s49, s23, 8
-; GFX11-NEXT: s_lshr_b32 s98, s22, 16
+; GFX11-NEXT: s_lshr_b32 s48, s23, 8
+; GFX11-NEXT: s_lshr_b32 s97, s22, 16
+; GFX11-NEXT: s_lshr_b32 s65, s22, 8
; GFX11-NEXT: v_writelane_b32 v26, s42, 7
; GFX11-NEXT: s_lshr_b32 s42, s7, 16
-; GFX11-NEXT: s_lshr_b32 s65, s22, 8
; GFX11-NEXT: s_lshr_b32 s86, s21, 24
; GFX11-NEXT: s_lshr_b32 s85, s21, 16
+; GFX11-NEXT: s_lshr_b32 s96, s21, 8
; GFX11-NEXT: v_writelane_b32 v26, s42, 8
; GFX11-NEXT: s_lshr_b32 s42, s7, 8
-; GFX11-NEXT: s_lshr_b32 s96, s21, 8
-; GFX11-NEXT: s_lshr_b32 s97, s20, 16
+; GFX11-NEXT: s_lshr_b32 s98, s20, 16
; GFX11-NEXT: s_lshr_b32 s87, s20, 8
+; GFX11-NEXT: s_lshr_b32 s84, s19, 24
; GFX11-NEXT: v_writelane_b32 v26, s42, 9
; GFX11-NEXT: s_lshr_b32 s42, s6, 16
-; GFX11-NEXT: s_lshr_b32 s84, s19, 24
-; GFX11-NEXT: s_lshr_b32 s83, s19, 16
-; GFX11-NEXT: s_lshr_b32 s31, s19, 8
+; GFX11-NEXT: s_lshr_b32 s82, s19, 16
+; GFX11-NEXT: s_lshr_b32 s30, s19, 8
+; GFX11-NEXT: s_lshr_b32 s31, s18, 16
; GFX11-NEXT: v_writelane_b32 v26, s42, 10
; GFX11-NEXT: s_lshr_b32 s42, s6, 8
-; GFX11-NEXT: s_lshr_b32 s35, s18, 16
-; GFX11-NEXT: s_lshr_b32 s36, s18, 8
-; GFX11-NEXT: s_lshr_b32 s81, s17, 24
+; GFX11-NEXT: s_lshr_b32 s34, s18, 8
+; GFX11-NEXT: s_lshr_b32 s80, s17, 24
+; GFX11-NEXT: s_lshr_b32 s69, s17, 16
; GFX11-NEXT: v_writelane_b32 v26, s42, 11
; GFX11-NEXT: s_lshr_b32 s42, s9, 24
-; GFX11-NEXT: s_lshr_b32 s70, s17, 16
-; GFX11-NEXT: s_lshr_b32 s37, s17, 8
-; GFX11-NEXT: s_lshr_b32 s38, s16, 16
+; GFX11-NEXT: s_lshr_b32 s35, s17, 8
+; GFX11-NEXT: s_lshr_b32 s36, s16, 16
+; GFX11-NEXT: s_lshr_b32 s37, s16, 8
; GFX11-NEXT: v_writelane_b32 v26, s42, 12
; GFX11-NEXT: s_lshr_b32 s42, s9, 16
; GFX11-NEXT: s_lshr_b32 s67, s3, 24
; GFX11-NEXT: s_lshr_b32 s66, s3, 16
-; GFX11-NEXT: s_lshr_b32 s48, s3, 8
+; GFX11-NEXT: s_lshr_b32 s52, s3, 8
; GFX11-NEXT: v_writelane_b32 v26, s42, 13
; GFX11-NEXT: s_lshr_b32 s42, s9, 8
-; GFX11-NEXT: s_lshr_b32 s50, s2, 16
-; GFX11-NEXT: s_lshr_b32 s52, s2, 8
+; GFX11-NEXT: s_lshr_b32 s53, s2, 16
+; GFX11-NEXT: s_lshr_b32 s54, s2, 8
; GFX11-NEXT: s_lshr_b32 s64, s1, 24
; GFX11-NEXT: v_writelane_b32 v26, s42, 14
; GFX11-NEXT: s_lshr_b32 s42, s8, 16
; GFX11-NEXT: s_lshr_b32 s55, s1, 16
-; GFX11-NEXT: s_lshr_b32 s68, s1, 8
-; GFX11-NEXT: s_lshr_b32 s71, s0, 16
+; GFX11-NEXT: s_lshr_b32 s70, s1, 8
+; GFX11-NEXT: s_lshr_b32 s81, s0, 16
; GFX11-NEXT: v_writelane_b32 v26, s42, 15
; GFX11-NEXT: s_lshr_b32 s42, s8, 8
-; GFX11-NEXT: s_lshr_b32 s82, s0, 8
+; GFX11-NEXT: s_lshr_b32 s83, s0, 8
; GFX11-NEXT: s_lshr_b64 s[100:101], s[8:9], 24
; GFX11-NEXT: s_lshr_b64 s[56:57], s[10:11], 24
; GFX11-NEXT: v_writelane_b32 v26, s42, 16
@@ -81759,7 +81813,7 @@ define inreg <128 x i8> @bitcast_v16i64_to_v128i8_scalar(<16 x i64> inreg %a, i3
; GFX11-NEXT: v_writelane_b32 v25, s42, 7
; GFX11-NEXT: s_lshr_b32 s42, s28, 8
; GFX11-NEXT: v_writelane_b32 v25, s42, 8
-; GFX11-NEXT: s_lshr_b32 s42, s16, 8
+; GFX11-NEXT: s_lshr_b32 s42, s27, 16
; GFX11-NEXT: s_branch .LBB57_3
; GFX11-NEXT: .LBB57_2:
; GFX11-NEXT: ; implicit-def: $sgpr44
@@ -81771,53 +81825,53 @@ define inreg <128 x i8> @bitcast_v16i64_to_v128i8_scalar(<16 x i64> inreg %a, i3
; GFX11-NEXT: v_writelane_b32 v26, s46, 0
; GFX11-NEXT: ; implicit-def: $sgpr44
; GFX11-NEXT: ; kill: killed $sgpr44
-; GFX11-NEXT: ; implicit-def: $sgpr82
-; GFX11-NEXT: ; implicit-def: $sgpr71
+; GFX11-NEXT: ; implicit-def: $sgpr83
+; GFX11-NEXT: ; implicit-def: $sgpr81
; GFX11-NEXT: ; implicit-def: $vcc_lo
-; GFX11-NEXT: ; implicit-def: $sgpr68
+; GFX11-NEXT: ; implicit-def: $sgpr70
; GFX11-NEXT: ; implicit-def: $sgpr55
; GFX11-NEXT: ; implicit-def: $sgpr64
-; GFX11-NEXT: ; implicit-def: $sgpr52
-; GFX11-NEXT: ; implicit-def: $sgpr50
+; GFX11-NEXT: ; implicit-def: $sgpr54
+; GFX11-NEXT: ; implicit-def: $sgpr53
; GFX11-NEXT: ; implicit-def: $sgpr94
-; GFX11-NEXT: ; implicit-def: $sgpr48
+; GFX11-NEXT: ; implicit-def: $sgpr52
; GFX11-NEXT: ; implicit-def: $sgpr66
; GFX11-NEXT: ; implicit-def: $sgpr67
-; GFX11-NEXT: ; implicit-def: $sgpr42
-; GFX11-NEXT: ; implicit-def: $sgpr38
-; GFX11-NEXT: ; implicit-def: $sgpr92
; GFX11-NEXT: ; implicit-def: $sgpr37
-; GFX11-NEXT: ; implicit-def: $sgpr70
-; GFX11-NEXT: ; implicit-def: $sgpr81
; GFX11-NEXT: ; implicit-def: $sgpr36
+; GFX11-NEXT: ; implicit-def: $sgpr92
; GFX11-NEXT: ; implicit-def: $sgpr35
-; GFX11-NEXT: ; implicit-def: $sgpr90
+; GFX11-NEXT: ; implicit-def: $sgpr69
+; GFX11-NEXT: ; implicit-def: $sgpr80
+; GFX11-NEXT: ; implicit-def: $sgpr34
; GFX11-NEXT: ; implicit-def: $sgpr31
-; GFX11-NEXT: ; implicit-def: $sgpr83
+; GFX11-NEXT: ; implicit-def: $sgpr90
+; GFX11-NEXT: ; implicit-def: $sgpr30
+; GFX11-NEXT: ; implicit-def: $sgpr82
; GFX11-NEXT: ; implicit-def: $sgpr84
; GFX11-NEXT: ; implicit-def: $sgpr87
-; GFX11-NEXT: ; implicit-def: $sgpr97
+; GFX11-NEXT: ; implicit-def: $sgpr98
; GFX11-NEXT: ; implicit-def: $sgpr88
; GFX11-NEXT: ; implicit-def: $sgpr96
; GFX11-NEXT: ; implicit-def: $sgpr85
; GFX11-NEXT: ; implicit-def: $sgpr86
; GFX11-NEXT: ; implicit-def: $sgpr65
-; GFX11-NEXT: ; implicit-def: $sgpr98
+; GFX11-NEXT: ; implicit-def: $sgpr97
; GFX11-NEXT: ; implicit-def: $sgpr78
-; GFX11-NEXT: ; implicit-def: $sgpr49
-; GFX11-NEXT: ; implicit-def: $sgpr69
-; GFX11-NEXT: ; implicit-def: $sgpr80
-; GFX11-NEXT: ; implicit-def: $sgpr39
-; GFX11-NEXT: ; implicit-def: $sgpr54
+; GFX11-NEXT: ; implicit-def: $sgpr48
+; GFX11-NEXT: ; implicit-def: $sgpr68
+; GFX11-NEXT: ; implicit-def: $sgpr71
+; GFX11-NEXT: ; implicit-def: $sgpr38
+; GFX11-NEXT: ; implicit-def: $sgpr51
; GFX11-NEXT: ; implicit-def: $sgpr72
; GFX11-NEXT: ; implicit-def: $sgpr45
-; GFX11-NEXT: ; implicit-def: $sgpr51
-; GFX11-NEXT: ; implicit-def: $sgpr53
+; GFX11-NEXT: ; implicit-def: $sgpr49
+; GFX11-NEXT: ; implicit-def: $sgpr50
; GFX11-NEXT: ; implicit-def: $sgpr103
-; GFX11-NEXT: ; implicit-def: $sgpr34
+; GFX11-NEXT: ; implicit-def: $sgpr39
; GFX11-NEXT: ; implicit-def: $sgpr104
+; GFX11-NEXT: ; implicit-def: $sgpr42
; GFX11-NEXT: ; implicit-def: $sgpr43
-; GFX11-NEXT: ; implicit-def: $sgpr30
; GFX11-NEXT: ; implicit-def: $sgpr102
; GFX11-NEXT: ; implicit-def: $sgpr76
; GFX11-NEXT: ; implicit-def: $sgpr74
@@ -81945,68 +81999,68 @@ define inreg <128 x i8> @bitcast_v16i64_to_v128i8_scalar(<16 x i64> inreg %a, i3
; GFX11-NEXT: v_writelane_b32 v26, s42, 2
; GFX11-NEXT: s_lshr_b32 s42, s5, 16
; GFX11-NEXT: s_lshr_b32 s102, s28, 16
-; GFX11-NEXT: s_lshr_b32 s30, s27, 24
-; GFX11-NEXT: s_lshr_b32 s43, s27, 16
+; GFX11-NEXT: s_lshr_b32 s43, s27, 24
+; GFX11-NEXT: s_lshr_b32 s104, s27, 8
; GFX11-NEXT: v_writelane_b32 v26, s42, 3
; GFX11-NEXT: s_lshr_b32 s42, s5, 8
-; GFX11-NEXT: s_lshr_b32 s104, s27, 8
-; GFX11-NEXT: s_lshr_b32 s34, s26, 16
+; GFX11-NEXT: s_lshr_b32 s39, s26, 16
; GFX11-NEXT: s_lshr_b32 s103, s26, 8
+; GFX11-NEXT: s_lshr_b32 s50, s25, 24
; GFX11-NEXT: v_writelane_b32 v26, s42, 4
; GFX11-NEXT: s_lshr_b32 s42, s4, 16
-; GFX11-NEXT: s_lshr_b32 s53, s25, 24
-; GFX11-NEXT: s_lshr_b32 s51, s25, 16
-; GFX11-NEXT: s_lshr_b32 s54, s24, 16
+; GFX11-NEXT: s_lshr_b32 s49, s25, 16
+; GFX11-NEXT: s_lshr_b32 s51, s24, 16
+; GFX11-NEXT: s_lshr_b32 s38, s24, 8
; GFX11-NEXT: v_writelane_b32 v26, s42, 5
; GFX11-NEXT: s_lshr_b32 s42, s4, 8
-; GFX11-NEXT: s_lshr_b32 s39, s24, 8
-; GFX11-NEXT: s_lshr_b32 s80, s23, 24
-; GFX11-NEXT: s_lshr_b32 s69, s23, 16
+; GFX11-NEXT: s_lshr_b32 s71, s23, 24
+; GFX11-NEXT: s_lshr_b32 s68, s23, 16
+; GFX11-NEXT: s_lshr_b32 s48, s23, 8
; GFX11-NEXT: v_writelane_b32 v26, s42, 6
; GFX11-NEXT: s_lshr_b32 s42, s7, 24
-; GFX11-NEXT: s_lshr_b32 s49, s23, 8
-; GFX11-NEXT: s_lshr_b32 s98, s22, 16
+; GFX11-NEXT: s_lshr_b32 s97, s22, 16
; GFX11-NEXT: s_lshr_b32 s65, s22, 8
+; GFX11-NEXT: s_lshr_b32 s86, s21, 24
; GFX11-NEXT: v_writelane_b32 v26, s42, 7
; GFX11-NEXT: s_lshr_b32 s42, s7, 16
-; GFX11-NEXT: s_lshr_b32 s86, s21, 24
; GFX11-NEXT: s_lshr_b32 s85, s21, 16
; GFX11-NEXT: s_lshr_b32 s96, s21, 8
+; GFX11-NEXT: s_lshr_b32 s98, s20, 16
; GFX11-NEXT: v_writelane_b32 v26, s42, 8
; GFX11-NEXT: s_lshr_b32 s42, s7, 8
-; GFX11-NEXT: s_lshr_b32 s97, s20, 16
; GFX11-NEXT: s_lshr_b32 s87, s20, 8
; GFX11-NEXT: s_lshr_b32 s84, s19, 24
+; GFX11-NEXT: s_lshr_b32 s82, s19, 16
; GFX11-NEXT: v_writelane_b32 v26, s42, 9
; GFX11-NEXT: s_lshr_b32 s42, s6, 16
-; GFX11-NEXT: s_lshr_b32 s83, s19, 16
-; GFX11-NEXT: s_lshr_b32 s31, s19, 8
-; GFX11-NEXT: s_lshr_b32 s35, s18, 16
+; GFX11-NEXT: s_lshr_b32 s30, s19, 8
+; GFX11-NEXT: s_lshr_b32 s31, s18, 16
+; GFX11-NEXT: s_lshr_b32 s34, s18, 8
; GFX11-NEXT: v_writelane_b32 v26, s42, 10
; GFX11-NEXT: s_lshr_b32 s42, s6, 8
-; GFX11-NEXT: s_lshr_b32 s36, s18, 8
-; GFX11-NEXT: s_lshr_b32 s81, s17, 24
-; GFX11-NEXT: s_lshr_b32 s70, s17, 16
+; GFX11-NEXT: s_lshr_b32 s80, s17, 24
+; GFX11-NEXT: s_lshr_b32 s69, s17, 16
+; GFX11-NEXT: s_lshr_b32 s35, s17, 8
; GFX11-NEXT: v_writelane_b32 v26, s42, 11
; GFX11-NEXT: s_lshr_b32 s42, s9, 24
-; GFX11-NEXT: s_lshr_b32 s37, s17, 8
-; GFX11-NEXT: s_lshr_b32 s38, s16, 16
+; GFX11-NEXT: s_lshr_b32 s36, s16, 16
+; GFX11-NEXT: s_lshr_b32 s37, s16, 8
; GFX11-NEXT: s_lshr_b32 s67, s3, 24
; GFX11-NEXT: v_writelane_b32 v26, s42, 12
; GFX11-NEXT: s_lshr_b32 s42, s9, 16
; GFX11-NEXT: s_lshr_b32 s66, s3, 16
-; GFX11-NEXT: s_lshr_b32 s48, s3, 8
-; GFX11-NEXT: s_lshr_b32 s50, s2, 16
+; GFX11-NEXT: s_lshr_b32 s52, s3, 8
+; GFX11-NEXT: s_lshr_b32 s53, s2, 16
; GFX11-NEXT: v_writelane_b32 v26, s42, 13
; GFX11-NEXT: s_lshr_b32 s42, s9, 8
-; GFX11-NEXT: s_lshr_b32 s52, s2, 8
+; GFX11-NEXT: s_lshr_b32 s54, s2, 8
; GFX11-NEXT: s_lshr_b32 s64, s1, 24
; GFX11-NEXT: s_lshr_b32 s55, s1, 16
; GFX11-NEXT: v_writelane_b32 v26, s42, 14
; GFX11-NEXT: s_lshr_b32 s42, s8, 16
-; GFX11-NEXT: s_lshr_b32 s68, s1, 8
-; GFX11-NEXT: s_lshr_b32 s71, s0, 16
-; GFX11-NEXT: s_lshr_b32 s82, s0, 8
+; GFX11-NEXT: s_lshr_b32 s70, s1, 8
+; GFX11-NEXT: s_lshr_b32 s81, s0, 16
+; GFX11-NEXT: s_lshr_b32 s83, s0, 8
; GFX11-NEXT: v_writelane_b32 v26, s42, 15
; GFX11-NEXT: s_lshr_b32 s42, s8, 8
; GFX11-NEXT: s_lshr_b64 s[100:101], s[8:9], 24
@@ -82085,49 +82139,49 @@ define inreg <128 x i8> @bitcast_v16i64_to_v128i8_scalar(<16 x i64> inreg %a, i3
; GFX11-NEXT: v_writelane_b32 v25, s42, 7
; GFX11-NEXT: s_lshr_b32 s42, s28, 8
; GFX11-NEXT: v_writelane_b32 v25, s42, 8
-; GFX11-NEXT: s_lshr_b32 s42, s16, 8
+; GFX11-NEXT: s_lshr_b32 s42, s27, 16
; GFX11-NEXT: .LBB57_5: ; %end
; GFX11-NEXT: v_mov_b32_e32 v1, 0xc0c0004
; GFX11-NEXT: v_readlane_b32 s101, v24, 3
; GFX11-NEXT: v_readlane_b32 s99, v24, 1
; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_1) | instid1(VALU_DEP_2)
-; GFX11-NEXT: v_perm_b32 v2, s71, vcc_lo, v1
-; GFX11-NEXT: v_readlane_b32 s71, v23, 21
+; GFX11-NEXT: v_perm_b32 v2, s81, vcc_lo, v1
+; GFX11-NEXT: v_readlane_b32 s81, v23, 23
; GFX11-NEXT: v_lshlrev_b32_e32 v2, 16, v2
; GFX11-NEXT: v_perm_b32 v18, s55, s64, v1
-; GFX11-NEXT: v_perm_b32 v3, s0, s82, v1
-; GFX11-NEXT: v_perm_b32 v4, s1, s68, v1
-; GFX11-NEXT: v_perm_b32 v5, s50, s94, v1
+; GFX11-NEXT: v_perm_b32 v3, s0, s83, v1
+; GFX11-NEXT: v_perm_b32 v4, s1, s70, v1
+; GFX11-NEXT: v_perm_b32 v5, s53, s94, v1
; GFX11-NEXT: v_perm_b32 v19, s66, s67, v1
; GFX11-NEXT: v_lshlrev_b32_e32 v18, 16, v18
-; GFX11-NEXT: v_perm_b32 v6, s2, s52, v1
-; GFX11-NEXT: v_perm_b32 v7, s3, s48, v1
+; GFX11-NEXT: v_perm_b32 v6, s2, s54, v1
+; GFX11-NEXT: v_perm_b32 v7, s3, s52, v1
; GFX11-NEXT: v_or_b32_e32 v2, v3, v2
-; GFX11-NEXT: v_perm_b32 v8, s38, s92, v1
+; GFX11-NEXT: v_perm_b32 v8, s36, s92, v1
; GFX11-NEXT: v_or_b32_e32 v3, v4, v18
; GFX11-NEXT: v_lshlrev_b32_e32 v4, 16, v5
; GFX11-NEXT: v_lshlrev_b32_e32 v5, 16, v19
-; GFX11-NEXT: v_perm_b32 v11, s35, s90, v1
-; GFX11-NEXT: v_perm_b32 v20, s70, s81, v1
-; GFX11-NEXT: v_perm_b32 v21, s83, s84, v1
+; GFX11-NEXT: v_perm_b32 v11, s31, s90, v1
+; GFX11-NEXT: v_perm_b32 v20, s69, s80, v1
+; GFX11-NEXT: v_perm_b32 v21, s82, s84, v1
; GFX11-NEXT: v_or_b32_e32 v4, v6, v4
; GFX11-NEXT: v_or_b32_e32 v5, v7, v5
-; GFX11-NEXT: v_perm_b32 v9, s16, s42, v1
-; GFX11-NEXT: v_perm_b32 v10, s17, s37, v1
-; GFX11-NEXT: v_perm_b32 v12, s18, s36, v1
-; GFX11-NEXT: v_perm_b32 v13, s19, s31, v1
-; GFX11-NEXT: v_perm_b32 v14, s97, s88, v1
+; GFX11-NEXT: v_perm_b32 v9, s16, s37, v1
+; GFX11-NEXT: v_perm_b32 v10, s17, s35, v1
+; GFX11-NEXT: v_perm_b32 v12, s18, s34, v1
+; GFX11-NEXT: v_perm_b32 v13, s19, s30, v1
+; GFX11-NEXT: v_perm_b32 v14, s98, s88, v1
; GFX11-NEXT: scratch_store_b128 v0, v[2:5], off
; GFX11-NEXT: v_lshlrev_b32_e32 v2, 16, v8
; GFX11-NEXT: v_lshlrev_b32_e32 v3, 16, v20
; GFX11-NEXT: v_lshlrev_b32_e32 v4, 16, v11
; GFX11-NEXT: v_lshlrev_b32_e32 v5, 16, v21
-; GFX11-NEXT: v_perm_b32 v15, s98, s78, v1
+; GFX11-NEXT: v_perm_b32 v15, s97, s78, v1
; GFX11-NEXT: v_perm_b32 v16, s20, s87, v1
; GFX11-NEXT: v_perm_b32 v22, s85, s86, v1
; GFX11-NEXT: v_or_b32_e32 v2, v9, v2
; GFX11-NEXT: v_or_b32_e32 v3, v10, v3
-; GFX11-NEXT: v_perm_b32 v6, s69, s80, v1
+; GFX11-NEXT: v_perm_b32 v6, s68, s71, v1
; GFX11-NEXT: v_or_b32_e32 v4, v12, v4
; GFX11-NEXT: v_or_b32_e32 v5, v13, v5
; GFX11-NEXT: v_lshlrev_b32_e32 v7, 16, v14
@@ -82137,8 +82191,8 @@ define inreg <128 x i8> @bitcast_v16i64_to_v128i8_scalar(<16 x i64> inreg %a, i3
; GFX11-NEXT: v_lshlrev_b32_e32 v10, 16, v15
; GFX11-NEXT: scratch_store_b128 v0, v[2:5], off offset:16
; GFX11-NEXT: v_or_b32_e32 v2, v16, v7
-; GFX11-NEXT: v_perm_b32 v5, s54, s72, v1
-; GFX11-NEXT: v_perm_b32 v7, s23, s49, v1
+; GFX11-NEXT: v_perm_b32 v5, s51, s72, v1
+; GFX11-NEXT: v_perm_b32 v7, s23, s48, v1
; GFX11-NEXT: v_lshlrev_b32_e32 v6, 16, v6
; GFX11-NEXT: v_or_b32_e32 v3, v17, v8
; GFX11-NEXT: v_or_b32_e32 v4, v9, v10
@@ -82146,16 +82200,16 @@ define inreg <128 x i8> @bitcast_v16i64_to_v128i8_scalar(<16 x i64> inreg %a, i3
; GFX11-NEXT: v_readlane_b32 s0, v25, 6
; GFX11-NEXT: v_or_b32_e32 v5, v7, v6
; GFX11-NEXT: v_readlane_b32 s1, v25, 5
-; GFX11-NEXT: v_perm_b32 v8, s51, s53, v1
-; GFX11-NEXT: v_perm_b32 v9, s24, s39, v1
+; GFX11-NEXT: v_perm_b32 v8, s49, s50, v1
+; GFX11-NEXT: v_perm_b32 v9, s24, s38, v1
; GFX11-NEXT: v_perm_b32 v11, s25, s45, v1
; GFX11-NEXT: scratch_store_b128 v0, v[2:5], off offset:32
; GFX11-NEXT: v_perm_b32 v2, s0, s1, v1
; GFX11-NEXT: v_readlane_b32 s0, v25, 8
; GFX11-NEXT: v_lshlrev_b32_e32 v8, 16, v8
; GFX11-NEXT: v_or_b32_e32 v6, v9, v10
-; GFX11-NEXT: v_perm_b32 v10, s43, s30, v1
-; GFX11-NEXT: v_perm_b32 v12, s34, s76, v1
+; GFX11-NEXT: v_perm_b32 v10, s42, s43, v1
+; GFX11-NEXT: v_perm_b32 v12, s39, s76, v1
; GFX11-NEXT: v_perm_b32 v4, s28, s0, v1
; GFX11-NEXT: v_readlane_b32 s0, v25, 7
; GFX11-NEXT: v_or_b32_e32 v7, v11, v8
@@ -82219,8 +82273,8 @@ define inreg <128 x i8> @bitcast_v16i64_to_v128i8_scalar(<16 x i64> inreg %a, i3
; GFX11-NEXT: v_perm_b32 v12, s0, s58, v1
; GFX11-NEXT: v_readlane_b32 s0, v26, 26
; GFX11-NEXT: v_readlane_b32 s82, v23, 24
-; GFX11-NEXT: v_readlane_b32 s81, v23, 23
; GFX11-NEXT: v_readlane_b32 s80, v23, 22
+; GFX11-NEXT: v_readlane_b32 s71, v23, 21
; GFX11-NEXT: v_lshlrev_b32_e32 v9, 16, v12
; GFX11-NEXT: v_perm_b32 v8, s12, s0, v1
; GFX11-NEXT: v_readlane_b32 s0, v26, 23
@@ -86522,8 +86576,8 @@ define <16 x i64> @bitcast_v128i8_to_v16i64(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: scratch_store_b32 off, v127, s32 offset:392
; GFX11-TRUE16-NEXT: s_clause 0x1f
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v32, off, s32 offset:384
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v34, off, s32 offset:380
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v33, off, s32 offset:376
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v33, off, s32 offset:380
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v34, off, s32 offset:376
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v36, off, s32 offset:372
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v35, off, s32 offset:368
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v38, off, s32 offset:364
@@ -86532,118 +86586,118 @@ define <16 x i64> @bitcast_v128i8_to_v16i64(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v48, off, s32 offset:352
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v49, off, s32 offset:348
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v50, off, s32 offset:344
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v52, off, s32 offset:340
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v51, off, s32 offset:336
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v51, off, s32 offset:340
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v52, off, s32 offset:336
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v54, off, s32 offset:332
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v53, off, s32 offset:328
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v55, off, s32 offset:324
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v64, off, s32 offset:320
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v66, off, s32 offset:316
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v65, off, s32 offset:312
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v65, off, s32 offset:316
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v66, off, s32 offset:312
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v67, off, s32 offset:308
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v68, off, s32 offset:304
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v69, off, s32 offset:300
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v70, off, s32 offset:296
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v80, off, s32 offset:292
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v71, off, s32 offset:288
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v71, off, s32 offset:292
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v80, off, s32 offset:288
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v81, off, s32 offset:284
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v82, off, s32 offset:280
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v84, off, s32 offset:276
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v83, off, s32 offset:272
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v83, off, s32 offset:276
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v84, off, s32 offset:272
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v85, off, s32 offset:268
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v86, off, s32 offset:264
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v87, off, s32 offset:260
; GFX11-TRUE16-NEXT: s_clause 0x1f
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v96, off, s32 offset:256
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v98, off, s32 offset:252
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v97, off, s32 offset:248
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v97, off, s32 offset:252
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v98, off, s32 offset:248
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v99, off, s32 offset:244
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v100, off, s32 offset:240
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v102, off, s32 offset:236
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v101, off, s32 offset:232
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v101, off, s32 offset:236
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v102, off, s32 offset:232
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v103, off, s32 offset:228
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v112, off, s32 offset:224
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v113, off, s32 offset:220
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v114, off, s32 offset:216
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v116, off, s32 offset:212
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v115, off, s32 offset:208
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v115, off, s32 offset:212
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v116, off, s32 offset:208
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v117, off, s32 offset:204
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v118, off, s32 offset:200
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v128, off, s32 offset:196
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v119, off, s32 offset:192
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v119, off, s32 offset:196
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v128, off, s32 offset:192
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v129, off, s32 offset:188
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v130, off, s32 offset:184
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v131, off, s32 offset:180
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v132, off, s32 offset:176
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v134, off, s32 offset:172
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v133, off, s32 offset:168
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v133, off, s32 offset:172
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v134, off, s32 offset:168
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v135, off, s32 offset:164
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v144, off, s32 offset:160
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v146, off, s32 offset:156
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v145, off, s32 offset:152
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v145, off, s32 offset:156
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v146, off, s32 offset:152
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v147, off, s32 offset:148
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v148, off, s32 offset:144
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v149, off, s32 offset:140
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v150, off, s32 offset:136
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v160, off, s32 offset:132
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v151, off, s32 offset:132
; GFX11-TRUE16-NEXT: s_clause 0x1f
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v151, off, s32 offset:128
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v160, off, s32 offset:128
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v161, off, s32 offset:124
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v162, off, s32 offset:120
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v164, off, s32 offset:116
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v163, off, s32 offset:112
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v163, off, s32 offset:116
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v164, off, s32 offset:112
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v165, off, s32 offset:108
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v166, off, s32 offset:104
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v167, off, s32 offset:100
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v176, off, s32 offset:96
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v178, off, s32 offset:92
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v177, off, s32 offset:88
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v177, off, s32 offset:92
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v178, off, s32 offset:88
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v179, off, s32 offset:84
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v180, off, s32 offset:80
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v182, off, s32 offset:76
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v181, off, s32 offset:72
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v181, off, s32 offset:76
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v182, off, s32 offset:72
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v183, off, s32 offset:68
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v40, off, s32 offset:64
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v41, off, s32 offset:60
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v42, off, s32 offset:56
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v44, off, s32 offset:52
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v43, off, s32 offset:48
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v43, off, s32 offset:52
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v44, off, s32 offset:48
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v45, off, s32 offset:44
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v46, off, s32 offset:40
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v56, off, s32 offset:36
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v47, off, s32 offset:32
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v47, off, s32 offset:36
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v56, off, s32 offset:32
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v57, off, s32 offset:28
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v58, off, s32 offset:24
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v59, off, s32 offset:20
; GFX11-TRUE16-NEXT: scratch_load_b32 v31, off, s32 offset:388
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v60, off, s32 offset:16
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v62, off, s32 offset:12
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v61, off, s32 offset:8
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v61, off, s32 offset:12
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v62, off, s32 offset:8
; GFX11-TRUE16-NEXT: s_clause 0x1
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v63, off, s32 offset:4
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v72, off, s32
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v74.l, v30.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v73.l, v29.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v73.l, v30.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v74.l, v29.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v75.l, v28.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v76.l, v27.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v77.l, v26.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v78.l, v25.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v88.l, v24.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v79.l, v23.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v79.l, v24.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v88.l, v23.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v89.l, v22.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v90.l, v21.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v92.l, v20.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v91.l, v19.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v91.l, v20.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v92.l, v19.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v93.l, v18.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v94.l, v17.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v95.l, v16.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v104.l, v15.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v106.l, v14.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v105.l, v13.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v105.l, v14.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v106.l, v13.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v107.l, v12.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v108.l, v11.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v110.l, v10.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v109.l, v9.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v109.l, v10.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v110.l, v9.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v111.l, v8.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v120.l, v7.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v121.l, v6.l
@@ -86665,99 +86719,99 @@ define <16 x i64> @bitcast_v128i8_to_v16i64(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_perm_b32 v1, v125, v124, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v2, v123, v122, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v3, v121, v120, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v4, v107, v105, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v5, v106, v104, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v4, v107, v106, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v5, v105, v104, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v0, v1, 16, v0
; GFX11-TRUE16-NEXT: v_perm_b32 v6, v95, v94, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v1, v3, 16, v2
-; GFX11-TRUE16-NEXT: v_perm_b32 v2, v111, v109, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v3, v110, v108, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v7, v93, v91, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v8, v92, v90, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v9, v89, v79, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v10, v88, v78, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v2, v111, v110, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v3, v109, v108, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v7, v93, v92, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v8, v91, v90, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v9, v89, v88, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v10, v79, v78, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v11, v77, v76, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v2, v3, 16, v2
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v3, v5, 16, v4
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v4, v7, 16, v6
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v5, v9, 16, v8
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v6, v11, 16, v10
-; GFX11-TRUE16-NEXT: v_perm_b32 v7, v75, v73, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v7, v75, v74, 0xc0c0004
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0)
-; GFX11-TRUE16-NEXT: v_perm_b32 v8, v74, v72, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v9, v63, v61, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v10, v62, v60, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v8, v73, v72, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v9, v63, v62, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v10, v61, v60, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v11, v59, v58, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v12, v57, v47, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v13, v56, v46, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v14, v45, v43, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v15, v44, v42, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v12, v57, v56, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v13, v47, v46, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v14, v45, v44, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v15, v43, v42, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v16, v41, v40, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v7, v8, 16, v7
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v8, v10, 16, v9
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v9, v12, 16, v11
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v10, v14, 16, v13
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v11, v16, 16, v15
-; GFX11-TRUE16-NEXT: v_perm_b32 v12, v183, v181, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v13, v182, v180, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v14, v179, v177, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v15, v178, v176, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v12, v183, v182, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v13, v181, v180, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v14, v179, v178, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v15, v177, v176, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v16, v167, v166, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v17, v165, v163, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v18, v164, v162, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v19, v161, v151, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v20, v160, v150, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v17, v165, v164, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v18, v163, v162, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v19, v161, v160, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v20, v151, v150, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v21, v149, v148, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v12, v13, 16, v12
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v13, v15, 16, v14
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v14, v17, 16, v16
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v15, v19, 16, v18
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v16, v21, 16, v20
-; GFX11-TRUE16-NEXT: v_perm_b32 v17, v147, v145, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v18, v146, v144, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v19, v135, v133, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v20, v134, v132, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v17, v147, v146, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v18, v145, v144, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v19, v135, v134, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v20, v133, v132, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v21, v131, v130, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v22, v129, v119, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v23, v128, v118, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v24, v117, v115, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v25, v116, v114, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v22, v129, v128, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v23, v119, v118, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v24, v117, v116, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v25, v115, v114, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v26, v113, v112, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v17, v18, 16, v17
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v18, v20, 16, v19
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v19, v22, 16, v21
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v20, v24, 16, v23
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v21, v26, 16, v25
-; GFX11-TRUE16-NEXT: v_perm_b32 v22, v103, v101, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v23, v102, v100, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v24, v99, v97, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v25, v98, v96, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v22, v103, v102, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v23, v101, v100, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v24, v99, v98, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v25, v97, v96, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v26, v87, v86, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v27, v85, v83, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v28, v84, v82, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v29, v81, v71, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v30, v80, v70, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v27, v85, v84, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v28, v83, v82, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v29, v81, v80, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v30, v71, v70, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v31, v69, v68, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v22, v23, 16, v22
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v23, v25, 16, v24
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v24, v27, 16, v26
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v25, v29, 16, v28
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v26, v31, 16, v30
-; GFX11-TRUE16-NEXT: v_perm_b32 v27, v67, v65, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v28, v66, v64, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v27, v67, v66, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v28, v65, v64, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v29, v55, v53, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v30, v54, v51, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v31, v52, v50, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v30, v54, v52, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v31, v51, v50, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v48, v49, v48, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v37, v39, v37, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v35, v38, v35, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v33, v36, v33, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v32, v34, v32, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v34, v36, v34, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v32, v33, v32, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v27, v28, 16, v27
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v28, v30, 16, v29
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v29, v48, 16, v31
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v30, v35, 16, v37
-; GFX11-TRUE16-NEXT: v_lshl_or_b32 v31, v32, 16, v33
+; GFX11-TRUE16-NEXT: v_lshl_or_b32 v31, v32, 16, v34
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr127_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr126_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr125_lo16
@@ -86767,114 +86821,114 @@ define <16 x i64> @bitcast_v128i8_to_v16i64(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr121_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr120_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr111_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr109_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr110_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr109_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr108_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr107_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr105_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr106_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr105_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr104_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr95_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr94_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr93_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr91_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr92_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr91_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr90_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr89_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr79_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr88_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr79_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr78_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr77_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr76_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr75_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr73_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr74_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr73_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr72_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr63_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr61_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr62_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr61_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr60_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr59_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr58_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr57_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr47_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr56_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr47_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr46_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr45_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr43_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr44_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr43_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr42_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr41_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr40_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr183_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr181_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr182_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr181_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr180_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr179_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr177_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr178_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr177_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr176_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr167_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr166_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr165_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr163_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr164_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr163_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr162_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr161_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr151_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr160_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr151_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr150_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr149_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr148_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr147_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr145_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr146_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr145_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr144_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr135_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr133_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr134_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr133_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr132_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr131_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr130_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr129_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr119_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr128_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr119_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr118_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr117_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr115_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr116_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr115_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr114_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr113_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr112_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr103_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr101_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr102_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr101_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr100_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr99_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr97_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr98_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr97_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr96_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr87_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr86_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr85_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr83_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr84_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr83_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr82_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr81_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr71_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr80_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr71_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr70_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr69_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr68_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr67_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr65_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr66_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr65_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr64_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr55_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr53_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr54_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr51_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr52_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr51_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr50_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr49_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr48_lo16
@@ -86883,8 +86937,8 @@ define <16 x i64> @bitcast_v128i8_to_v16i64(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr38_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr35_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr36_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr33_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr34_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr33_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr32_lo16
; GFX11-TRUE16-NEXT: .LBB58_2: ; %Flow
; GFX11-TRUE16-NEXT: s_and_not1_saveexec_b32 s0, s0
@@ -86906,22 +86960,22 @@ define <16 x i64> @bitcast_v128i8_to_v16i64(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_and_b16 v1.h, 0xff, v3.l
; GFX11-TRUE16-NEXT: v_or_b16 v1.l, v2.h, v2.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v111.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v110.l, 3
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v3.l, 8, v109.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v109.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v3.l, 8, v110.l
; GFX11-TRUE16-NEXT: v_or_b16 v1.h, v3.h, v1.h
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v3.h, 8, v108.l
; GFX11-TRUE16-NEXT: v_and_b16 v2.l, 0xff, v2.l
; GFX11-TRUE16-NEXT: v_and_b16 v2.h, 0xff, v2.h
; GFX11-TRUE16-NEXT: v_add_nc_u16 v4.l, v107.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v4.h, v106.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v4.h, v105.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v5.l, v95.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v2.l, v3.l, v2.l
; GFX11-TRUE16-NEXT: v_or_b16 v2.h, v3.h, v2.h
; GFX11-TRUE16-NEXT: v_and_b16 v3.l, 0xff, v4.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v3.h, 8, v105.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v3.h, 8, v106.l
; GFX11-TRUE16-NEXT: v_and_b16 v4.l, 0xff, v4.h
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v4.h, 8, v104.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v5.h, v92.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v5.h, v91.l, 3
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v6.l, 8, v90.l
; GFX11-TRUE16-NEXT: v_or_b16 v3.l, v3.h, v3.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v6.h, v89.l, 3
@@ -86930,26 +86984,26 @@ define <16 x i64> @bitcast_v128i8_to_v16i64(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v4.h, 8, v94.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v5.l, v93.l, 3
; GFX11-TRUE16-NEXT: v_and_b16 v5.h, 0xff, v5.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v7.l, v88.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v7.l, v79.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v7.h, v77.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v4.l, v4.h, v4.l
; GFX11-TRUE16-NEXT: v_and_b16 v4.h, 0xff, v5.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v5.l, 8, v91.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v8.l, v74.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v5.l, 8, v92.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v8.l, v73.l, 3
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0)
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v8.h, 8, v72.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v9.l, v63.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v9.h, v62.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v9.h, v61.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v4.h, v5.l, v4.h
; GFX11-TRUE16-NEXT: v_or_b16 v5.l, v6.l, v5.h
; GFX11-TRUE16-NEXT: v_and_b16 v5.h, 0xff, v6.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v6.l, 8, v79.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v6.l, 8, v88.l
; GFX11-TRUE16-NEXT: v_and_b16 v6.h, 0xff, v7.l
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v7.l, 8, v78.l
; GFX11-TRUE16-NEXT: v_and_b16 v8.l, 0xff, v8.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v10.l, v59.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v5.h, v6.l, v5.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v10.h, v56.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v10.h, v47.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v6.l, v7.l, v6.h
; GFX11-TRUE16-NEXT: v_and_b16 v6.h, 0xff, v7.h
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v7.l, 8, v76.l
@@ -86959,42 +87013,42 @@ define <16 x i64> @bitcast_v128i8_to_v16i64(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_add_nc_u16 v11.h, v45.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v6.h, v7.l, v6.h
; GFX11-TRUE16-NEXT: v_and_b16 v7.l, 0xff, v7.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v7.h, 8, v73.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v12.l, v44.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v7.h, 8, v74.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v12.l, v43.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v12.h, v41.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v13.l, v182.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v13.l, v181.l, 3
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v13.h, 8, v180.l
; GFX11-TRUE16-NEXT: v_or_b16 v7.l, v7.h, v7.l
; GFX11-TRUE16-NEXT: v_or_b16 v7.h, v8.h, v8.l
; GFX11-TRUE16-NEXT: v_and_b16 v8.l, 0xff, v9.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v8.h, 8, v61.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v8.h, 8, v62.l
; GFX11-TRUE16-NEXT: v_and_b16 v9.l, 0xff, v9.h
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v9.h, 8, v60.l
; GFX11-TRUE16-NEXT: v_and_b16 v13.l, 0xff, v13.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v14.l, v179.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v8.l, v8.h, v8.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v14.h, v178.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v14.h, v177.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v8.h, v9.h, v9.l
; GFX11-TRUE16-NEXT: v_and_b16 v9.l, 0xff, v10.l
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v9.h, 8, v58.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v10.l, v57.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v15.l, v167.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v15.h, v164.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v15.h, v163.l, 3
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v16.l, 8, v162.l
; GFX11-TRUE16-NEXT: v_or_b16 v9.l, v9.h, v9.l
; GFX11-TRUE16-NEXT: v_and_b16 v9.h, 0xff, v10.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v10.l, 8, v47.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v10.l, 8, v56.l
; GFX11-TRUE16-NEXT: v_and_b16 v15.h, 0xff, v15.h
; GFX11-TRUE16-NEXT: v_add_nc_u16 v16.h, v161.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v17.l, v160.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v17.l, v151.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v17.h, v149.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v9.h, v10.l, v9.h
; GFX11-TRUE16-NEXT: v_or_b16 v10.l, v11.l, v10.h
; GFX11-TRUE16-NEXT: v_and_b16 v10.h, 0xff, v11.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v11.l, 8, v43.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v11.l, 8, v44.l
; GFX11-TRUE16-NEXT: v_and_b16 v11.h, 0xff, v12.l
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v12.l, 8, v42.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v18.l, v146.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v18.l, v145.l, 3
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v18.h, 8, v144.l
; GFX11-TRUE16-NEXT: v_or_b16 v10.h, v11.l, v10.h
; GFX11-TRUE16-NEXT: v_add_nc_u16 v19.l, v135.l, 3
@@ -87003,25 +87057,25 @@ define <16 x i64> @bitcast_v128i8_to_v16i64(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v12.l, 8, v40.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v12.h, v183.l, 3
; GFX11-TRUE16-NEXT: v_and_b16 v18.l, 0xff, v18.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v19.h, v134.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v19.h, v133.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v20.l, v131.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v11.h, v12.l, v11.h
; GFX11-TRUE16-NEXT: v_and_b16 v12.l, 0xff, v12.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v12.h, 8, v181.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v20.h, v128.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v12.h, 8, v182.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v20.h, v119.l, 3
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v21.l, 8, v118.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v21.h, v117.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v22.l, v116.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v22.l, v115.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v12.l, v12.h, v12.l
; GFX11-TRUE16-NEXT: v_or_b16 v12.h, v13.h, v13.l
; GFX11-TRUE16-NEXT: v_and_b16 v13.l, 0xff, v14.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v13.h, 8, v177.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v13.h, 8, v178.l
; GFX11-TRUE16-NEXT: v_and_b16 v14.l, 0xff, v14.h
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v14.h, 8, v176.l
; GFX11-TRUE16-NEXT: v_and_b16 v20.h, 0xff, v20.h
; GFX11-TRUE16-NEXT: v_add_nc_u16 v22.h, v113.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v13.l, v13.h, v13.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v23.l, v102.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v23.l, v101.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v13.h, v14.h, v14.l
; GFX11-TRUE16-NEXT: v_and_b16 v14.l, 0xff, v15.l
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v14.h, 8, v166.l
@@ -87031,43 +87085,43 @@ define <16 x i64> @bitcast_v128i8_to_v16i64(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_add_nc_u16 v24.l, v99.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v14.l, v14.h, v14.l
; GFX11-TRUE16-NEXT: v_and_b16 v14.h, 0xff, v15.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v15.l, 8, v163.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v24.h, v98.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v15.l, 8, v164.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v24.h, v97.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v25.l, v87.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v25.h, v84.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v25.h, v83.l, 3
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v26.l, 8, v82.l
; GFX11-TRUE16-NEXT: v_or_b16 v14.h, v15.l, v14.h
; GFX11-TRUE16-NEXT: v_or_b16 v15.l, v16.l, v15.h
; GFX11-TRUE16-NEXT: v_and_b16 v15.h, 0xff, v16.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v16.l, 8, v151.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v16.l, 8, v160.l
; GFX11-TRUE16-NEXT: v_and_b16 v16.h, 0xff, v17.l
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v17.l, 8, v150.l
; GFX11-TRUE16-NEXT: v_and_b16 v25.h, 0xff, v25.h
; GFX11-TRUE16-NEXT: v_add_nc_u16 v26.h, v81.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v15.h, v16.l, v15.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v27.l, v80.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v27.l, v71.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v16.l, v17.l, v16.h
; GFX11-TRUE16-NEXT: v_and_b16 v16.h, 0xff, v17.h
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v17.l, 8, v148.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v17.h, v147.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v27.h, v69.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v28.l, v66.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v28.l, v65.l, 3
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v28.h, 8, v64.l
; GFX11-TRUE16-NEXT: v_or_b16 v16.h, v17.l, v16.h
; GFX11-TRUE16-NEXT: v_and_b16 v17.l, 0xff, v17.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v17.h, 8, v145.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v17.h, 8, v146.l
; GFX11-TRUE16-NEXT: v_and_b16 v28.l, 0xff, v28.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v29.l, v55.l, 3
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v29.h, 8, v53.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v30.l, 8, v51.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v30.l, 8, v52.l
; GFX11-TRUE16-NEXT: v_or_b16 v17.l, v17.h, v17.l
; GFX11-TRUE16-NEXT: v_or_b16 v17.h, v18.h, v18.l
; GFX11-TRUE16-NEXT: v_and_b16 v18.l, 0xff, v19.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v18.h, 8, v133.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v18.h, 8, v134.l
; GFX11-TRUE16-NEXT: v_and_b16 v19.l, 0xff, v19.h
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v19.h, 8, v132.l
; GFX11-TRUE16-NEXT: v_or_b16 v28.l, v28.h, v28.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v28.h, v52.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v28.h, v51.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v18.l, v18.h, v18.l
; GFX11-TRUE16-NEXT: v_and_b16 v29.l, 0xff, v29.l
; GFX11-TRUE16-NEXT: v_or_b16 v18.h, v19.h, v19.l
@@ -87079,39 +87133,39 @@ define <16 x i64> @bitcast_v128i8_to_v16i64(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_or_b16 v29.l, v29.h, v29.l
; GFX11-TRUE16-NEXT: v_or_b16 v19.l, v19.h, v19.l
; GFX11-TRUE16-NEXT: v_and_b16 v19.h, 0xff, v20.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v20.l, 8, v119.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v20.l, 8, v128.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v31.l, v38.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v31.h, v36.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v33.h, v34.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v33.l, v33.l, 3
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v32.h, 8, v37.l
; GFX11-TRUE16-NEXT: v_or_b16 v19.h, v20.l, v19.h
; GFX11-TRUE16-NEXT: v_or_b16 v20.l, v21.l, v20.h
; GFX11-TRUE16-NEXT: v_and_b16 v20.h, 0xff, v21.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v21.l, 8, v115.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v21.l, 8, v116.l
; GFX11-TRUE16-NEXT: v_and_b16 v21.h, 0xff, v22.l
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v22.l, 8, v114.l
; GFX11-TRUE16-NEXT: v_and_b16 v31.l, 0xff, v31.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v34.l, 8, v35.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v33.h, 8, v35.l
; GFX11-TRUE16-NEXT: v_or_b16 v20.h, v21.l, v20.h
; GFX11-TRUE16-NEXT: v_and_b16 v31.h, 0xff, v31.h
; GFX11-TRUE16-NEXT: v_or_b16 v21.l, v22.l, v21.h
; GFX11-TRUE16-NEXT: v_and_b16 v21.h, 0xff, v22.h
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v22.l, 8, v112.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v22.h, v103.l, 3
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v33.l, 8, v33.l
-; GFX11-TRUE16-NEXT: v_and_b16 v33.h, 0xff, v33.h
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v34.l, 8, v34.l
+; GFX11-TRUE16-NEXT: v_and_b16 v33.l, 0xff, v33.l
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v32.l, 8, v32.l
; GFX11-TRUE16-NEXT: v_or_b16 v21.h, v22.l, v21.h
; GFX11-TRUE16-NEXT: v_and_b16 v22.l, 0xff, v22.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v22.h, 8, v101.l
-; GFX11-TRUE16-NEXT: v_or_b16 v31.l, v34.l, v31.l
-; GFX11-TRUE16-NEXT: v_or_b16 v31.h, v33.l, v31.h
-; GFX11-TRUE16-NEXT: v_or_b16 v32.l, v32.l, v33.h
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v22.h, 8, v102.l
+; GFX11-TRUE16-NEXT: v_or_b16 v31.l, v33.h, v31.l
+; GFX11-TRUE16-NEXT: v_or_b16 v31.h, v34.l, v31.h
+; GFX11-TRUE16-NEXT: v_or_b16 v32.l, v32.l, v33.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.l, 0x300, v0.l
; GFX11-TRUE16-NEXT: v_or_b16 v22.l, v22.h, v22.l
; GFX11-TRUE16-NEXT: v_or_b16 v22.h, v23.h, v23.l
; GFX11-TRUE16-NEXT: v_and_b16 v23.l, 0xff, v24.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v23.h, 8, v97.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v23.h, 8, v98.l
; GFX11-TRUE16-NEXT: v_and_b16 v24.l, 0xff, v24.h
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v24.h, 8, v96.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.h, 0x300, v0.h
@@ -87127,7 +87181,7 @@ define <16 x i64> @bitcast_v128i8_to_v16i64(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_add_nc_u16 v3.l, 0x300, v3.l
; GFX11-TRUE16-NEXT: v_or_b16 v24.l, v24.h, v24.l
; GFX11-TRUE16-NEXT: v_and_b16 v24.h, 0xff, v25.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v25.l, 8, v83.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v25.l, 8, v84.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v3.h, 0x300, v3.h
; GFX11-TRUE16-NEXT: v_add_nc_u16 v4.l, 0x300, v4.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v4.h, 0x300, v4.h
@@ -87135,7 +87189,7 @@ define <16 x i64> @bitcast_v128i8_to_v16i64(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_or_b16 v24.h, v25.l, v24.h
; GFX11-TRUE16-NEXT: v_or_b16 v25.l, v26.l, v25.h
; GFX11-TRUE16-NEXT: v_and_b16 v25.h, 0xff, v26.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v26.l, 8, v71.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v26.l, 8, v80.l
; GFX11-TRUE16-NEXT: v_and_b16 v26.h, 0xff, v27.l
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v27.l, 8, v70.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v5.h, 0x300, v5.h
@@ -87151,7 +87205,7 @@ define <16 x i64> @bitcast_v128i8_to_v16i64(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_add_nc_u16 v8.l, 0x300, v8.l
; GFX11-TRUE16-NEXT: v_or_b16 v26.h, v27.l, v26.h
; GFX11-TRUE16-NEXT: v_and_b16 v27.l, 0xff, v27.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v27.h, 8, v65.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v27.h, 8, v66.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v8.h, 0x300, v8.h
; GFX11-TRUE16-NEXT: v_add_nc_u16 v9.l, 0x300, v9.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v9.h, 0x300, v9.h
@@ -88225,8 +88279,8 @@ define inreg <16 x i64> @bitcast_v128i8_to_v16i64_scalar(<128 x i8> inreg %a, i3
; SI-NEXT: v_readfirstlane_b32 s42, v17
; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32
; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:8
-; SI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:16
-; SI-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:24
+; SI-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:16
+; SI-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:24
; SI-NEXT: buffer_load_dword v36, off, s[0:3], s32 offset:32
; SI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:40
; SI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:48
@@ -88269,7 +88323,7 @@ define inreg <16 x i64> @bitcast_v128i8_to_v16i64_scalar(<128 x i8> inreg %a, i3
; SI-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:296
; SI-NEXT: buffer_load_dword v39, off, s[0:3], s32 offset:304
; SI-NEXT: buffer_load_dword v37, off, s[0:3], s32 offset:312
-; SI-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:320
+; SI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:320
; SI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:328
; SI-NEXT: v_readfirstlane_b32 s43, v16
; SI-NEXT: v_readfirstlane_b32 s44, v15
@@ -88285,13 +88339,13 @@ define inreg <16 x i64> @bitcast_v128i8_to_v16i64_scalar(<128 x i8> inreg %a, i3
; SI-NEXT: v_readfirstlane_b32 s75, v1
; SI-NEXT: s_waitcnt vmcnt(14)
; SI-NEXT: v_lshlrev_b32_e32 v15, 24, v19
-; SI-NEXT: v_lshlrev_b32_e32 v16, 8, v33
-; SI-NEXT: v_lshlrev_b32_e32 v38, 24, v34
+; SI-NEXT: v_lshlrev_b32_e32 v16, 8, v34
+; SI-NEXT: v_lshlrev_b32_e32 v38, 24, v35
; SI-NEXT: v_lshlrev_b32_e32 v19, 8, v42
; SI-NEXT: v_lshlrev_b32_e32 v14, 24, v43
; SI-NEXT: v_lshlrev_b32_e32 v51, 24, v45
; SI-NEXT: v_lshlrev_b32_e32 v48, 24, v47
-; SI-NEXT: v_lshlrev_b32_e32 v33, 24, v59
+; SI-NEXT: v_lshlrev_b32_e32 v35, 24, v59
; SI-NEXT: v_lshlrev_b32_e32 v42, 24, v61
; SI-NEXT: v_lshlrev_b32_e32 v20, 24, v20
; SI-NEXT: v_lshlrev_b32_e32 v21, 24, v21
@@ -88362,14 +88416,14 @@ define inreg <16 x i64> @bitcast_v128i8_to_v16i64_scalar(<128 x i8> inreg %a, i3
; SI-NEXT: v_lshlrev_b32_e32 v56, 24, v26
; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:404 ; 4-byte Folded Spill
; SI-NEXT: v_lshlrev_b32_e32 v46, 8, v39
-; SI-NEXT: v_lshlrev_b32_e32 v36, 24, v37
-; SI-NEXT: v_lshlrev_b32_e32 v34, 8, v35
+; SI-NEXT: v_lshlrev_b32_e32 v34, 24, v37
+; SI-NEXT: v_lshlrev_b32_e32 v36, 8, v33
; SI-NEXT: s_waitcnt vmcnt(14)
; SI-NEXT: v_lshlrev_b32_e32 v37, 24, v32
; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:284
; SI-NEXT: buffer_load_dword v58, off, s[0:3], s32 offset:276
; SI-NEXT: buffer_load_dword v61, off, s[0:3], s32 offset:268
-; SI-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:260
+; SI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:260
; SI-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:252
; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:244
; SI-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:236
@@ -88412,11 +88466,11 @@ define inreg <16 x i64> @bitcast_v128i8_to_v16i64_scalar(<128 x i8> inreg %a, i3
; SI-NEXT: s_waitcnt vmcnt(14)
; SI-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:496 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v61, off, s[0:3], s32 offset:500 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:504 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:504 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v30, off, s[0:3], s32 offset:508 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:512 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:516 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:520 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:516 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:520 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:524 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:528 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:532 ; 4-byte Folded Spill
@@ -88443,7 +88497,7 @@ define inreg <16 x i64> @bitcast_v128i8_to_v16i64_scalar(<128 x i8> inreg %a, i3
; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:616 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:620 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:624 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:628 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:628 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:632 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:636 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:640 ; 4-byte Folded Spill
@@ -88489,7 +88543,7 @@ define inreg <16 x i64> @bitcast_v128i8_to_v16i64_scalar(<128 x i8> inreg %a, i3
; SI-NEXT: v_mov_b32_e32 v38, v17
; SI-NEXT: v_and_b32_e32 v4, 0xff, v4
; SI-NEXT: v_lshlrev_b32_e32 v4, 16, v4
-; SI-NEXT: v_or_b32_e32 v4, v33, v4
+; SI-NEXT: v_or_b32_e32 v4, v35, v4
; SI-NEXT: v_and_b32_e32 v2, 0xff, v2
; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
; SI-NEXT: v_or_b32_e32 v2, v42, v2
@@ -88722,7 +88776,7 @@ define inreg <16 x i64> @bitcast_v128i8_to_v16i64_scalar(<128 x i8> inreg %a, i3
; SI-NEXT: v_and_b32_e32 v0, 0xff, v30
; SI-NEXT: s_waitcnt vmcnt(0)
; SI-NEXT: v_or_b32_e32 v0, v0, v1
-; SI-NEXT: v_and_b32_e32 v1, 0xff, v35
+; SI-NEXT: v_and_b32_e32 v1, 0xff, v33
; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; SI-NEXT: v_and_b32_e32 v0, 0xffff, v0
; SI-NEXT: v_or_b32_e32 v1, v2, v1
@@ -88756,11 +88810,11 @@ define inreg <16 x i64> @bitcast_v128i8_to_v16i64_scalar(<128 x i8> inreg %a, i3
; SI-NEXT: v_or_b32_e32 v0, v0, v46
; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; SI-NEXT: v_and_b32_e32 v0, 0xffff, v0
-; SI-NEXT: v_or_b32_e32 v1, v36, v1
+; SI-NEXT: v_or_b32_e32 v1, v34, v1
; SI-NEXT: v_or_b32_e32 v30, v0, v1
; SI-NEXT: v_and_b32_e32 v0, 0xff, v8
; SI-NEXT: v_and_b32_e32 v1, 0xff, v40
-; SI-NEXT: v_or_b32_e32 v0, v0, v34
+; SI-NEXT: v_or_b32_e32 v0, v0, v36
; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; SI-NEXT: v_and_b32_e32 v0, 0xffff, v0
; SI-NEXT: v_or_b32_e32 v1, v37, v1
@@ -89420,7 +89474,7 @@ define inreg <16 x i64> @bitcast_v128i8_to_v16i64_scalar(<128 x i8> inreg %a, i3
; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:524 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v0, off, s[0:3], s32
; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v31
-; VI-NEXT: s_and_b64 s[4:5], vcc, exec
+; VI-NEXT: s_cmp_lg_u64 vcc, 0
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:528 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:280
@@ -90354,7 +90408,7 @@ define inreg <16 x i64> @bitcast_v128i8_to_v16i64_scalar(<128 x i8> inreg %a, i3
; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:524 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32
; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v31
-; GFX9-NEXT: s_and_b64 s[4:5], vcc, exec
+; GFX9-NEXT: s_cmp_lg_u64 vcc, 0
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:528 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:280
@@ -90433,6 +90487,7 @@ define inreg <16 x i64> @bitcast_v128i8_to_v16i64_scalar(<128 x i8> inreg %a, i3
; GFX9-NEXT: buffer_load_ushort v25, off, s[0:3], s32 offset:140
; GFX9-NEXT: buffer_load_ushort v24, off, s[0:3], s32 offset:136
; GFX9-NEXT: buffer_load_ushort v23, off, s[0:3], s32 offset:132
+; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:128
; GFX9-NEXT: buffer_load_ushort v62, off, s[0:3], s32 offset:124
; GFX9-NEXT: buffer_load_ushort v18, off, s[0:3], s32 offset:120
@@ -91220,81 +91275,81 @@ define inreg <16 x i64> @bitcast_v128i8_to_v16i64_scalar(<128 x i8> inreg %a, i3
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v32, off, s32 offset:312
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v34, off, s32 offset:308
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v33, off, s32 offset:304
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v37, off, s32 offset:300
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v36, off, s32 offset:300
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v35, off, s32 offset:296
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v39, off, s32 offset:292
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v36, off, s32 offset:288
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v38, off, s32 offset:292
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v37, off, s32 offset:288
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v48, off, s32 offset:284
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v38, off, s32 offset:280
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v39, off, s32 offset:280
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v49, off, s32 offset:276
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v50, off, s32 offset:272
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v52, off, s32 offset:268
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v51, off, s32 offset:264
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v55, off, s32 offset:260
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v54, off, s32 offset:260
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v53, off, s32 offset:256
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v65, off, s32 offset:252
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v54, off, s32 offset:248
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v64, off, s32 offset:252
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v55, off, s32 offset:248
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v66, off, s32 offset:244
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v64, off, s32 offset:240
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v65, off, s32 offset:240
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v67, off, s32 offset:236
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v68, off, s32 offset:232
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v70, off, s32 offset:228
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v69, off, s32 offset:224
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v81, off, s32 offset:220
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v80, off, s32 offset:220
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v71, off, s32 offset:216
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v83, off, s32 offset:212
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v80, off, s32 offset:208
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v82, off, s32 offset:212
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v81, off, s32 offset:208
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v84, off, s32 offset:204
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v82, off, s32 offset:200
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v83, off, s32 offset:200
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v85, off, s32 offset:196
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v86, off, s32 offset:192
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v96, off, s32 offset:188
; GFX11-TRUE16-NEXT: s_clause 0x1f
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v87, off, s32 offset:184
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v99, off, s32 offset:180
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v98, off, s32 offset:180
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v97, off, s32 offset:176
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v101, off, s32 offset:172
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v98, off, s32 offset:168
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v100, off, s32 offset:172
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v99, off, s32 offset:168
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v102, off, s32 offset:164
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v100, off, s32 offset:160
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v101, off, s32 offset:160
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v103, off, s32 offset:156
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v112, off, s32 offset:152
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v114, off, s32 offset:148
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v113, off, s32 offset:144
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v117, off, s32 offset:140
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v116, off, s32 offset:140
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v115, off, s32 offset:136
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v119, off, s32 offset:132
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v116, off, s32 offset:128
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v118, off, s32 offset:132
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v117, off, s32 offset:128
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v128, off, s32 offset:124
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v118, off, s32 offset:120
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v119, off, s32 offset:120
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v129, off, s32 offset:116
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v130, off, s32 offset:112
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v132, off, s32 offset:108
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v131, off, s32 offset:104
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v135, off, s32 offset:100
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v134, off, s32 offset:100
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v133, off, s32 offset:96
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v145, off, s32 offset:92
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v134, off, s32 offset:88
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v144, off, s32 offset:92
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v135, off, s32 offset:88
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v146, off, s32 offset:84
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v144, off, s32 offset:80
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v145, off, s32 offset:80
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v147, off, s32 offset:76
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v148, off, s32 offset:72
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v150, off, s32 offset:68
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v149, off, s32 offset:64
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v161, off, s32 offset:60
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v160, off, s32 offset:60
; GFX11-TRUE16-NEXT: s_clause 0xf
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v151, off, s32 offset:56
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v163, off, s32 offset:52
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v160, off, s32 offset:48
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v162, off, s32 offset:52
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v161, off, s32 offset:48
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v164, off, s32 offset:44
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v162, off, s32 offset:40
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v163, off, s32 offset:40
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v165, off, s32 offset:36
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v166, off, s32 offset:32
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v167, off, s32 offset:28
; GFX11-TRUE16-NEXT: scratch_load_b32 v31, off, s32 offset:316
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v176, off, s32 offset:24
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v177, off, s32 offset:28
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v167, off, s32 offset:24
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v180, off, s32 offset:20
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v177, off, s32 offset:16
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v176, off, s32 offset:16
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v181, off, s32 offset:12
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v178, off, s32 offset:8
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v182, off, s32 offset:4
@@ -91331,21 +91386,21 @@ define inreg <16 x i64> @bitcast_v128i8_to_v16i64_scalar(<128 x i8> inreg %a, i3
; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s73, v1
; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s74, v0
; GFX11-TRUE16-NEXT: s_mov_b32 s75, 0
-; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(7)
+; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(8)
; GFX11-TRUE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v31
-; GFX11-TRUE16-NEXT: s_and_b32 s76, vcc_lo, exec_lo
+; GFX11-TRUE16-NEXT: s_cmp_lg_u32 vcc_lo, 0
; GFX11-TRUE16-NEXT: s_cbranch_scc0 .LBB59_2
; GFX11-TRUE16-NEXT: ; %bb.1: ; %cmp.false
; GFX11-TRUE16-NEXT: v_mov_b32_e32 v10, 0xc0c0004
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(1)
; GFX11-TRUE16-NEXT: v_perm_b32 v15, v182, v178, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v17, v165, v162, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v17, v165, v163, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v19, v150, v148, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v21, v135, v131, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v21, v134, v131, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v1, s18, s19, v10
-; GFX11-TRUE16-NEXT: v_perm_b32 v23, v119, v115, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v25, v102, v98, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v27, v85, v82, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v23, v118, v115, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v25, v102, v99, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v27, v85, v83, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v29, v70, v68, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; GFX11-TRUE16-NEXT: v_perm_b32 v0, s2, s3, v10
@@ -91381,9 +91436,9 @@ define inreg <16 x i64> @bitcast_v128i8_to_v16i64_scalar(<128 x i8> inreg %a, i3
; GFX11-TRUE16-NEXT: v_perm_b32 v8, s60, s59, v10
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v6, 16, v6
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v14, 16, v14
-; GFX11-TRUE16-NEXT: v_perm_b32 v31, v55, v51, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v31, v54, v51, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v7, 16, v7
-; GFX11-TRUE16-NEXT: v_perm_b32 v40, v39, v35, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v40, v38, v35, 0xc0c0004
; GFX11-TRUE16-NEXT: v_or_b32_e32 v6, v8, v6
; GFX11-TRUE16-NEXT: v_perm_b32 v8, s42, s41, v10
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_1) | instid1(VALU_DEP_3)
@@ -91397,35 +91452,35 @@ define inreg <16 x i64> @bitcast_v128i8_to_v16i64_scalar(<128 x i8> inreg %a, i3
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v12, 16, v13
; GFX11-TRUE16-NEXT: v_perm_b32 v13, s8, s7, v10
; GFX11-TRUE16-NEXT: v_or_b32_e32 v10, v11, v12
-; GFX11-TRUE16-NEXT: v_perm_b32 v12, v180, v176, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v12, v180, v167, 0xc0c0004
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3)
; GFX11-TRUE16-NEXT: v_or_b32_e32 v11, v13, v14
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0)
; GFX11-TRUE16-NEXT: v_perm_b32 v13, s4, v179, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v14, 16, v15
-; GFX11-TRUE16-NEXT: v_perm_b32 v15, v181, v177, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v15, v181, v176, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v16, 16, v12
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_1) | instid1(VALU_DEP_3)
; GFX11-TRUE16-NEXT: v_or_b32_e32 v12, v13, v14
-; GFX11-TRUE16-NEXT: v_perm_b32 v14, v163, v151, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v14, v162, v151, 0xc0c0004
; GFX11-TRUE16-NEXT: v_or_b32_e32 v13, v15, v16
-; GFX11-TRUE16-NEXT: v_perm_b32 v15, v167, v166, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v15, v177, v166, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v16, 16, v17
-; GFX11-TRUE16-NEXT: v_perm_b32 v17, v164, v160, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v17, v164, v161, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v18, 16, v14
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_1) | instid1(VALU_DEP_3)
; GFX11-TRUE16-NEXT: v_or_b32_e32 v14, v15, v16
-; GFX11-TRUE16-NEXT: v_perm_b32 v16, v146, v134, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v16, v146, v135, 0xc0c0004
; GFX11-TRUE16-NEXT: v_or_b32_e32 v15, v17, v18
-; GFX11-TRUE16-NEXT: v_perm_b32 v17, v161, v149, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v17, v160, v149, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v18, 16, v19
-; GFX11-TRUE16-NEXT: v_perm_b32 v19, v147, v144, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v19, v147, v145, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v20, 16, v16
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_1) | instid1(VALU_DEP_3)
; GFX11-TRUE16-NEXT: v_or_b32_e32 v16, v17, v18
-; GFX11-TRUE16-NEXT: v_perm_b32 v18, v129, v118, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v18, v129, v119, 0xc0c0004
; GFX11-TRUE16-NEXT: v_or_b32_e32 v17, v19, v20
-; GFX11-TRUE16-NEXT: v_perm_b32 v19, v145, v133, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v19, v144, v133, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v20, 16, v21
; GFX11-TRUE16-NEXT: v_perm_b32 v21, v132, v130, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v22, 16, v18
@@ -91433,39 +91488,39 @@ define inreg <16 x i64> @bitcast_v128i8_to_v16i64_scalar(<128 x i8> inreg %a, i3
; GFX11-TRUE16-NEXT: v_or_b32_e32 v18, v19, v20
; GFX11-TRUE16-NEXT: v_perm_b32 v20, v114, v112, 0xc0c0004
; GFX11-TRUE16-NEXT: v_or_b32_e32 v19, v21, v22
-; GFX11-TRUE16-NEXT: v_perm_b32 v21, v128, v116, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v21, v128, v117, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v22, 16, v23
-; GFX11-TRUE16-NEXT: v_perm_b32 v23, v117, v113, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v23, v116, v113, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v24, 16, v20
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_1) | instid1(VALU_DEP_3)
; GFX11-TRUE16-NEXT: v_or_b32_e32 v20, v21, v22
-; GFX11-TRUE16-NEXT: v_perm_b32 v22, v99, v87, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v22, v98, v87, 0xc0c0004
; GFX11-TRUE16-NEXT: v_or_b32_e32 v21, v23, v24
-; GFX11-TRUE16-NEXT: v_perm_b32 v23, v103, v100, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v23, v103, v101, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v24, 16, v25
-; GFX11-TRUE16-NEXT: v_perm_b32 v25, v101, v97, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v25, v100, v97, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v26, 16, v22
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_1) | instid1(VALU_DEP_3)
; GFX11-TRUE16-NEXT: v_or_b32_e32 v22, v23, v24
-; GFX11-TRUE16-NEXT: v_perm_b32 v24, v83, v71, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v24, v82, v71, 0xc0c0004
; GFX11-TRUE16-NEXT: v_or_b32_e32 v23, v25, v26
; GFX11-TRUE16-NEXT: v_perm_b32 v25, v96, v86, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v26, 16, v27
-; GFX11-TRUE16-NEXT: v_perm_b32 v27, v84, v80, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v27, v84, v81, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v28, 16, v24
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_1) | instid1(VALU_DEP_3)
; GFX11-TRUE16-NEXT: v_or_b32_e32 v24, v25, v26
-; GFX11-TRUE16-NEXT: v_perm_b32 v26, v66, v54, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v26, v66, v55, 0xc0c0004
; GFX11-TRUE16-NEXT: v_or_b32_e32 v25, v27, v28
-; GFX11-TRUE16-NEXT: v_perm_b32 v27, v81, v69, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v27, v80, v69, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v28, 16, v29
-; GFX11-TRUE16-NEXT: v_perm_b32 v29, v67, v64, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v29, v67, v65, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v30, 16, v26
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_1) | instid1(VALU_DEP_3)
; GFX11-TRUE16-NEXT: v_or_b32_e32 v26, v27, v28
-; GFX11-TRUE16-NEXT: v_perm_b32 v28, v49, v38, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v28, v49, v39, 0xc0c0004
; GFX11-TRUE16-NEXT: v_or_b32_e32 v27, v29, v30
-; GFX11-TRUE16-NEXT: v_perm_b32 v29, v65, v53, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v29, v64, v53, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v30, 16, v31
; GFX11-TRUE16-NEXT: v_perm_b32 v31, v52, v50, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v183, 16, v28
@@ -91473,9 +91528,9 @@ define inreg <16 x i64> @bitcast_v128i8_to_v16i64_scalar(<128 x i8> inreg %a, i3
; GFX11-TRUE16-NEXT: v_or_b32_e32 v28, v29, v30
; GFX11-TRUE16-NEXT: v_perm_b32 v30, v34, v32, 0xc0c0004
; GFX11-TRUE16-NEXT: v_or_b32_e32 v29, v31, v183
-; GFX11-TRUE16-NEXT: v_perm_b32 v31, v48, v36, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v31, v48, v37, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v183, 16, v40
-; GFX11-TRUE16-NEXT: v_perm_b32 v40, v37, v33, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v40, v36, v33, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v41, 16, v30
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_2)
; GFX11-TRUE16-NEXT: v_or_b32_e32 v30, v31, v183
@@ -91582,16 +91637,17 @@ define inreg <16 x i64> @bitcast_v128i8_to_v16i64_scalar(<128 x i8> inreg %a, i3
; GFX11-TRUE16-NEXT: v_perm_b32 v8, s44, s43, v10
; GFX11-TRUE16-NEXT: v_perm_b32 v9, s42, s41, v10
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v13, 0x300, v13
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v15, 3, v167
+; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(7)
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v15, 3, v177
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v17, 3, v165
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v8, 0x300, v8
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v9, 0x300, v9
; GFX11-TRUE16-NEXT: v_and_b32_e32 v13, 0xffff, v13
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v18, 3, v164
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v19, 3, v163
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v19, 3, v162
; GFX11-TRUE16-NEXT: v_and_b32_e32 v8, 0xffff, v8
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v9, 16, v9
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v20, 3, v161
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v20, 3, v160
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v21, 3, v150
; GFX11-TRUE16-NEXT: s_add_i32 s4, s4, 3
; GFX11-TRUE16-NEXT: v_perm_b32 v15, v15, v166, 0xc0c0004
@@ -91602,11 +91658,11 @@ define inreg <16 x i64> @bitcast_v128i8_to_v16i64_scalar(<128 x i8> inreg %a, i3
; GFX11-TRUE16-NEXT: v_perm_b32 v10, s6, s5, v10
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0)
; GFX11-TRUE16-NEXT: v_perm_b32 v16, s4, v179, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v17, v17, v162, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v17, v17, v163, 0xc0c0004
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v11, 0x300, v11
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v12, 0x300, v12
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v10, 0x300, v10
-; GFX11-TRUE16-NEXT: v_perm_b32 v18, v18, v160, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v18, v18, v161, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v19, v19, v151, 0xc0c0004
; GFX11-TRUE16-NEXT: v_and_b32_e32 v11, 0xffff, v11
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v12, 16, v12
@@ -91622,8 +91678,8 @@ define inreg <16 x i64> @bitcast_v128i8_to_v16i64_scalar(<128 x i8> inreg %a, i3
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v15, 0x300, v15
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v17, 0x300, v17
; GFX11-TRUE16-NEXT: v_perm_b32 v12, v12, v178, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v13, v13, v177, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v14, v14, v176, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v13, v13, v176, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v14, v14, v167, 0xc0c0004
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v18, 0x300, v18
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v19, 0x300, v19
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v12, 0x300, v12
@@ -91648,21 +91704,21 @@ define inreg <16 x i64> @bitcast_v128i8_to_v16i64_scalar(<128 x i8> inreg %a, i3
; GFX11-TRUE16-NEXT: v_or_b32_e32 v16, v20, v21
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v17, 3, v147
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v18, 3, v146
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v19, 3, v145
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v20, 3, v135
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v19, 3, v144
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v20, 3, v134
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v21, 3, v132
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v22, 3, v129
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v23, 3, v128
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v24, 3, v119
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v25, 3, v117
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v24, 3, v118
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v25, 3, v116
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v26, 3, v114
-; GFX11-TRUE16-NEXT: v_perm_b32 v17, v17, v144, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v18, v18, v134, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v17, v17, v145, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v18, v18, v135, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v19, v19, v133, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v20, v20, v131, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v21, v21, v130, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v22, v22, v118, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v23, v23, v116, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v22, v22, v119, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v23, v23, v117, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v24, v24, v115, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v25, v25, v113, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v26, v26, v112, 0xc0c0004
@@ -91693,21 +91749,21 @@ define inreg <16 x i64> @bitcast_v128i8_to_v16i64_scalar(<128 x i8> inreg %a, i3
; GFX11-TRUE16-NEXT: v_or_b32_e32 v21, v25, v26
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v22, 3, v103
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v23, 3, v102
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v24, 3, v101
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v25, 3, v99
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v24, 3, v100
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v25, 3, v98
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v26, 3, v96
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v27, 3, v85
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v28, 3, v84
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v29, 3, v83
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v30, 3, v81
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v29, 3, v82
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v30, 3, v80
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v31, 3, v70
-; GFX11-TRUE16-NEXT: v_perm_b32 v22, v22, v100, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v23, v23, v98, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v22, v22, v101, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v23, v23, v99, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v24, v24, v97, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v25, v25, v87, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v26, v26, v86, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v27, v27, v82, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v28, v28, v80, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v27, v27, v83, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v28, v28, v81, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v29, v29, v71, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v30, v30, v69, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v31, v31, v68, 0xc0c0004
@@ -91738,31 +91794,31 @@ define inreg <16 x i64> @bitcast_v128i8_to_v16i64_scalar(<128 x i8> inreg %a, i3
; GFX11-TRUE16-NEXT: v_or_b32_e32 v26, v30, v31
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v27, 3, v67
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v28, 3, v66
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v29, 3, v65
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v30, 3, v55
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v29, 3, v64
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v30, 3, v54
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v31, 3, v52
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v49, 3, v49
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v48, 3, v48
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v39, 3, v39
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v37, 3, v37
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v38, 3, v38
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v36, 3, v36
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v34, 3, v34
-; GFX11-TRUE16-NEXT: v_perm_b32 v27, v27, v64, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v28, v28, v54, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v27, v27, v65, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v28, v28, v55, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v29, v29, v53, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v30, v30, v51, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v31, v31, v50, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v38, v49, v38, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v36, v48, v36, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v35, v39, v35, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v33, v37, v33, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v39, v49, v39, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v37, v48, v37, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v35, v38, v35, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v33, v36, v33, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v32, v34, v32, 0xc0c0004
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v27, 0x300, v27
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v28, 0x300, v28
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v29, 0x300, v29
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v30, 0x300, v30
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v31, 0x300, v31
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v34, 0x300, v38
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v36, 0x300, v36
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v34, 0x300, v39
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v36, 0x300, v37
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v35, 0x300, v35
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v33, 0x300, v33
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v32, 0x300, v32
@@ -91869,9 +91925,9 @@ define inreg <16 x i64> @bitcast_v128i8_to_v16i64_scalar(<128 x i8> inreg %a, i3
; GFX11-FAKE16-NEXT: scratch_load_u16 v162, off, s32 offset:40
; GFX11-FAKE16-NEXT: scratch_load_u16 v165, off, s32 offset:36
; GFX11-FAKE16-NEXT: scratch_load_u16 v166, off, s32 offset:32
-; GFX11-FAKE16-NEXT: scratch_load_u16 v167, off, s32 offset:28
; GFX11-FAKE16-NEXT: scratch_load_b32 v31, off, s32 offset:316
-; GFX11-FAKE16-NEXT: scratch_load_u16 v176, off, s32 offset:24
+; GFX11-FAKE16-NEXT: scratch_load_u16 v176, off, s32 offset:28
+; GFX11-FAKE16-NEXT: scratch_load_u16 v167, off, s32 offset:24
; GFX11-FAKE16-NEXT: scratch_load_u16 v180, off, s32 offset:20
; GFX11-FAKE16-NEXT: scratch_load_u16 v177, off, s32 offset:16
; GFX11-FAKE16-NEXT: scratch_load_u16 v181, off, s32 offset:12
@@ -91910,9 +91966,9 @@ define inreg <16 x i64> @bitcast_v128i8_to_v16i64_scalar(<128 x i8> inreg %a, i3
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s73, v1
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s74, v0
; GFX11-FAKE16-NEXT: s_mov_b32 s75, 0
-; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(7)
+; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(8)
; GFX11-FAKE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v31
-; GFX11-FAKE16-NEXT: s_and_b32 s76, vcc_lo, exec_lo
+; GFX11-FAKE16-NEXT: s_cmp_lg_u32 vcc_lo, 0
; GFX11-FAKE16-NEXT: s_cbranch_scc0 .LBB59_2
; GFX11-FAKE16-NEXT: ; %bb.1: ; %cmp.false
; GFX11-FAKE16-NEXT: v_mov_b32_e32 v10, 0xc0c0004
@@ -91976,7 +92032,7 @@ define inreg <16 x i64> @bitcast_v128i8_to_v16i64_scalar(<128 x i8> inreg %a, i3
; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v12, 16, v13
; GFX11-FAKE16-NEXT: v_perm_b32 v13, s8, s7, v10
; GFX11-FAKE16-NEXT: v_or_b32_e32 v10, v11, v12
-; GFX11-FAKE16-NEXT: v_perm_b32 v12, v180, v176, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v12, v180, v167, 0xc0c0004
; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_3)
; GFX11-FAKE16-NEXT: v_or_b32_e32 v11, v13, v14
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0)
@@ -91988,7 +92044,7 @@ define inreg <16 x i64> @bitcast_v128i8_to_v16i64_scalar(<128 x i8> inreg %a, i3
; GFX11-FAKE16-NEXT: v_or_b32_e32 v12, v13, v14
; GFX11-FAKE16-NEXT: v_perm_b32 v14, v163, v151, 0xc0c0004
; GFX11-FAKE16-NEXT: v_or_b32_e32 v13, v15, v16
-; GFX11-FAKE16-NEXT: v_perm_b32 v15, v167, v166, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v15, v176, v166, 0xc0c0004
; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v16, 16, v17
; GFX11-FAKE16-NEXT: v_perm_b32 v17, v164, v160, 0xc0c0004
; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v18, 16, v14
@@ -92161,7 +92217,8 @@ define inreg <16 x i64> @bitcast_v128i8_to_v16i64_scalar(<128 x i8> inreg %a, i3
; GFX11-FAKE16-NEXT: v_perm_b32 v8, s44, s43, v10
; GFX11-FAKE16-NEXT: v_perm_b32 v9, s42, s41, v10
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v13, 0x300, v13
-; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v15, 3, v167
+; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(7)
+; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v15, 3, v176
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v17, 3, v165
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v8, 0x300, v8
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v9, 0x300, v9
@@ -92202,7 +92259,7 @@ define inreg <16 x i64> @bitcast_v128i8_to_v16i64_scalar(<128 x i8> inreg %a, i3
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v17, 0x300, v17
; GFX11-FAKE16-NEXT: v_perm_b32 v12, v12, v178, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v13, v13, v177, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v14, v14, v176, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v14, v14, v167, 0xc0c0004
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v18, 0x300, v18
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v19, 0x300, v19
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v12, 0x300, v12
@@ -93277,21 +93334,21 @@ define inreg <64 x bfloat> @bitcast_v16i64_to_v64bf16_scalar(<16 x i64> inreg %a
; SI-NEXT: v_writelane_b32 v34, s4, 8
; SI-NEXT: s_lshl_b32 s4, s53, 16
; SI-NEXT: v_writelane_b32 v34, s4, 7
-; SI-NEXT: s_and_b32 s4, s55, 0xffff0000
+; SI-NEXT: s_and_b32 s4, s54, 0xffff0000
; SI-NEXT: v_writelane_b32 v34, s4, 10
-; SI-NEXT: s_lshl_b32 s4, s55, 16
+; SI-NEXT: s_lshl_b32 s4, s54, 16
; SI-NEXT: v_writelane_b32 v34, s4, 9
-; SI-NEXT: s_and_b32 s4, s64, 0xffff0000
+; SI-NEXT: s_and_b32 s4, s55, 0xffff0000
; SI-NEXT: v_writelane_b32 v34, s4, 12
-; SI-NEXT: s_lshl_b32 s4, s64, 16
+; SI-NEXT: s_lshl_b32 s4, s55, 16
; SI-NEXT: v_writelane_b32 v34, s4, 11
-; SI-NEXT: s_and_b32 s4, s29, 0xffff0000
+; SI-NEXT: s_and_b32 s4, s64, 0xffff0000
; SI-NEXT: v_writelane_b32 v34, s4, 14
-; SI-NEXT: s_lshl_b32 s4, s29, 16
+; SI-NEXT: s_lshl_b32 s4, s64, 16
; SI-NEXT: v_writelane_b32 v34, s4, 13
-; SI-NEXT: s_and_b32 s4, s28, 0xffff0000
+; SI-NEXT: s_and_b32 s4, s29, 0xffff0000
; SI-NEXT: v_writelane_b32 v34, s4, 16
-; SI-NEXT: s_lshl_b32 s4, s28, 16
+; SI-NEXT: s_lshl_b32 s4, s29, 16
; SI-NEXT: v_writelane_b32 v34, s4, 15
; SI-NEXT: s_and_b32 s4, s27, 0xffff0000
; SI-NEXT: v_writelane_b32 v34, s4, 18
@@ -93320,8 +93377,8 @@ define inreg <64 x bfloat> @bitcast_v16i64_to_v64bf16_scalar(<16 x i64> inreg %a
; SI-NEXT: s_lshl_b32 s57, s48, 16
; SI-NEXT: s_and_b32 s60, s49, 0xffff0000
; SI-NEXT: s_lshl_b32 s59, s49, 16
-; SI-NEXT: s_and_b32 s78, s54, 0xffff0000
-; SI-NEXT: s_lshl_b32 s77, s54, 16
+; SI-NEXT: s_and_b32 s94, s28, 0xffff0000
+; SI-NEXT: s_lshl_b32 s93, s28, 16
; SI-NEXT: v_writelane_b32 v34, s4, 19
; SI-NEXT: s_and_b32 s62, s25, 0xffff0000
; SI-NEXT: s_lshl_b32 s61, s25, 16
@@ -93331,14 +93388,14 @@ define inreg <64 x bfloat> @bitcast_v16i64_to_v64bf16_scalar(<16 x i64> inreg %a
; SI-NEXT: s_lshl_b32 s73, s23, 16
; SI-NEXT: s_and_b32 s76, s22, 0xffff0000
; SI-NEXT: s_lshl_b32 s75, s22, 16
-; SI-NEXT: s_and_b32 s88, s21, 0xffff0000
-; SI-NEXT: s_lshl_b32 s79, s21, 16
-; SI-NEXT: s_and_b32 s90, s20, 0xffff0000
-; SI-NEXT: s_lshl_b32 s89, s20, 16
-; SI-NEXT: s_and_b32 s92, s19, 0xffff0000
-; SI-NEXT: s_lshl_b32 s91, s19, 16
-; SI-NEXT: s_and_b32 s94, s18, 0xffff0000
-; SI-NEXT: s_lshl_b32 s93, s18, 16
+; SI-NEXT: s_and_b32 s78, s21, 0xffff0000
+; SI-NEXT: s_lshl_b32 s77, s21, 16
+; SI-NEXT: s_and_b32 s88, s20, 0xffff0000
+; SI-NEXT: s_lshl_b32 s79, s20, 16
+; SI-NEXT: s_and_b32 s90, s19, 0xffff0000
+; SI-NEXT: s_lshl_b32 s89, s19, 16
+; SI-NEXT: s_and_b32 s92, s18, 0xffff0000
+; SI-NEXT: s_lshl_b32 s91, s18, 16
; SI-NEXT: s_and_b32 vcc_lo, s17, 0xffff0000
; SI-NEXT: s_lshl_b32 s95, s17, 16
; SI-NEXT: s_and_b32 s6, s16, 0xffff0000
@@ -93352,14 +93409,14 @@ define inreg <64 x bfloat> @bitcast_v16i64_to_v64bf16_scalar(<16 x i64> inreg %a
; SI-NEXT: ; implicit-def: $sgpr6
; SI-NEXT: ; implicit-def: $sgpr95
; SI-NEXT: ; implicit-def: $vcc_lo
-; SI-NEXT: ; implicit-def: $sgpr93
-; SI-NEXT: ; implicit-def: $sgpr94
; SI-NEXT: ; implicit-def: $sgpr91
; SI-NEXT: ; implicit-def: $sgpr92
; SI-NEXT: ; implicit-def: $sgpr89
; SI-NEXT: ; implicit-def: $sgpr90
; SI-NEXT: ; implicit-def: $sgpr79
; SI-NEXT: ; implicit-def: $sgpr88
+; SI-NEXT: ; implicit-def: $sgpr77
+; SI-NEXT: ; implicit-def: $sgpr78
; SI-NEXT: ; implicit-def: $sgpr75
; SI-NEXT: ; implicit-def: $sgpr76
; SI-NEXT: ; implicit-def: $sgpr73
@@ -93368,8 +93425,8 @@ define inreg <64 x bfloat> @bitcast_v16i64_to_v64bf16_scalar(<16 x i64> inreg %a
; SI-NEXT: ; implicit-def: $sgpr72
; SI-NEXT: ; implicit-def: $sgpr61
; SI-NEXT: ; implicit-def: $sgpr62
-; SI-NEXT: ; implicit-def: $sgpr77
-; SI-NEXT: ; implicit-def: $sgpr78
+; SI-NEXT: ; implicit-def: $sgpr93
+; SI-NEXT: ; implicit-def: $sgpr94
; SI-NEXT: ; implicit-def: $sgpr59
; SI-NEXT: ; implicit-def: $sgpr60
; SI-NEXT: ; implicit-def: $sgpr57
@@ -93441,14 +93498,14 @@ define inreg <64 x bfloat> @bitcast_v16i64_to_v64bf16_scalar(<16 x i64> inreg %a
; SI-NEXT: s_mov_b32 s68, s74
; SI-NEXT: s_mov_b32 s69, s75
; SI-NEXT: s_mov_b32 s70, s76
-; SI-NEXT: s_mov_b32 s71, s79
-; SI-NEXT: s_mov_b32 s80, s88
-; SI-NEXT: s_mov_b32 s81, s89
-; SI-NEXT: s_mov_b32 s82, s90
-; SI-NEXT: s_mov_b32 s83, s91
-; SI-NEXT: s_mov_b32 s84, s92
-; SI-NEXT: s_mov_b32 s85, s93
-; SI-NEXT: s_mov_b32 s86, s94
+; SI-NEXT: s_mov_b32 s71, s77
+; SI-NEXT: s_mov_b32 s80, s78
+; SI-NEXT: s_mov_b32 s81, s79
+; SI-NEXT: s_mov_b32 s82, s88
+; SI-NEXT: s_mov_b32 s83, s89
+; SI-NEXT: s_mov_b32 s84, s90
+; SI-NEXT: s_mov_b32 s85, s91
+; SI-NEXT: s_mov_b32 s86, s92
; SI-NEXT: s_mov_b32 s87, s95
; SI-NEXT: s_mov_b32 s96, vcc_lo
; SI-NEXT: s_mov_b32 vcc_lo, s61
@@ -93485,17 +93542,17 @@ define inreg <64 x bfloat> @bitcast_v16i64_to_v64bf16_scalar(<16 x i64> inreg %a
; SI-NEXT: v_readlane_b32 s72, v34, 6
; SI-NEXT: v_readlane_b32 s73, v34, 7
; SI-NEXT: v_readlane_b32 s74, v34, 8
-; SI-NEXT: v_readlane_b32 s6, v34, 9
-; SI-NEXT: v_readlane_b32 s75, v34, 10
-; SI-NEXT: v_readlane_b32 s76, v34, 11
-; SI-NEXT: v_readlane_b32 s79, v34, 12
-; SI-NEXT: v_readlane_b32 s88, v34, 13
-; SI-NEXT: v_readlane_b32 s89, v34, 14
-; SI-NEXT: v_readlane_b32 s90, v34, 15
-; SI-NEXT: v_readlane_b32 s91, v34, 16
-; SI-NEXT: v_readlane_b32 s92, v34, 17
-; SI-NEXT: v_readlane_b32 s93, v34, 18
-; SI-NEXT: v_readlane_b32 s94, v34, 19
+; SI-NEXT: v_readlane_b32 s75, v34, 9
+; SI-NEXT: v_readlane_b32 s76, v34, 10
+; SI-NEXT: v_readlane_b32 s77, v34, 11
+; SI-NEXT: v_readlane_b32 s78, v34, 12
+; SI-NEXT: v_readlane_b32 s79, v34, 13
+; SI-NEXT: v_readlane_b32 s88, v34, 14
+; SI-NEXT: v_readlane_b32 s89, v34, 15
+; SI-NEXT: v_readlane_b32 s90, v34, 16
+; SI-NEXT: v_readlane_b32 s6, v34, 17
+; SI-NEXT: v_readlane_b32 s91, v34, 18
+; SI-NEXT: v_readlane_b32 s92, v34, 19
; SI-NEXT: v_readlane_b32 s95, v34, 20
; SI-NEXT: s_cbranch_scc1 .LBB61_5
; SI-NEXT: ; %bb.4: ; %cmp.true
@@ -93510,11 +93567,11 @@ define inreg <64 x bfloat> @bitcast_v16i64_to_v64bf16_scalar(<16 x i64> inreg %a
; SI-NEXT: s_add_u32 s24, s24, 3
; SI-NEXT: s_addc_u32 s25, s25, 0
; SI-NEXT: s_add_u32 s26, s26, 3
-; SI-NEXT: s_addc_u32 s27, s27, 0
-; SI-NEXT: s_add_u32 s28, s28, 3
-; SI-NEXT: s_addc_u32 s29, s29, 0
-; SI-NEXT: s_add_u32 s76, s64, 3
-; SI-NEXT: s_addc_u32 s6, s55, 0
+; SI-NEXT: s_addc_u32 s6, s27, 0
+; SI-NEXT: s_add_u32 s27, s28, 3
+; SI-NEXT: s_addc_u32 s28, s29, 0
+; SI-NEXT: s_add_u32 s29, s64, 3
+; SI-NEXT: s_addc_u32 s77, s55, 0
; SI-NEXT: s_add_u32 s75, s54, 3
; SI-NEXT: s_addc_u32 s73, s53, 0
; SI-NEXT: s_add_u32 s63, s52, 3
@@ -93562,20 +93619,20 @@ define inreg <64 x bfloat> @bitcast_v16i64_to_v64bf16_scalar(<16 x i64> inreg %a
; SI-NEXT: s_lshl_b32 s63, s63, 16
; SI-NEXT: s_and_b32 s74, s73, 0xffff0000
; SI-NEXT: s_lshl_b32 s73, s73, 16
-; SI-NEXT: s_and_b32 s78, s75, 0xffff0000
-; SI-NEXT: s_lshl_b32 s77, s75, 16
-; SI-NEXT: s_and_b32 s75, s6, 0xffff0000
+; SI-NEXT: s_and_b32 s76, s75, 0xffff0000
+; SI-NEXT: s_lshl_b32 s75, s75, 16
+; SI-NEXT: s_and_b32 s78, s77, 0xffff0000
+; SI-NEXT: s_lshl_b32 s77, s77, 16
+; SI-NEXT: s_and_b32 s88, s29, 0xffff0000
+; SI-NEXT: s_lshl_b32 s79, s29, 16
+; SI-NEXT: s_and_b32 s90, s28, 0xffff0000
+; SI-NEXT: s_lshl_b32 s89, s28, 16
+; SI-NEXT: s_and_b32 s94, s27, 0xffff0000
+; SI-NEXT: s_lshl_b32 s93, s27, 16
+; SI-NEXT: s_and_b32 s91, s6, 0xffff0000
; SI-NEXT: s_lshl_b32 s6, s6, 16
-; SI-NEXT: s_and_b32 s79, s76, 0xffff0000
-; SI-NEXT: s_lshl_b32 s76, s76, 16
-; SI-NEXT: s_and_b32 s89, s29, 0xffff0000
-; SI-NEXT: s_lshl_b32 s88, s29, 16
-; SI-NEXT: s_and_b32 s91, s28, 0xffff0000
-; SI-NEXT: s_lshl_b32 s90, s28, 16
-; SI-NEXT: s_and_b32 s93, s27, 0xffff0000
-; SI-NEXT: s_lshl_b32 s92, s27, 16
; SI-NEXT: s_and_b32 s95, s26, 0xffff0000
-; SI-NEXT: s_lshl_b32 s94, s26, 16
+; SI-NEXT: s_lshl_b32 s92, s26, 16
; SI-NEXT: s_and_b32 vcc_hi, s25, 0xffff0000
; SI-NEXT: s_lshl_b32 vcc_lo, s25, 16
; SI-NEXT: s_and_b32 s66, s24, 0xffff0000
@@ -93639,31 +93696,31 @@ define inreg <64 x bfloat> @bitcast_v16i64_to_v64bf16_scalar(<16 x i64> inreg %a
; SI-NEXT: v_lshr_b64 v[9:10], v[9:10], 16
; SI-NEXT: v_mul_f32_e64 v10, 1.0, s95
; SI-NEXT: v_lshrrev_b32_e32 v11, 16, v10
-; SI-NEXT: v_mul_f32_e64 v10, 1.0, s94
+; SI-NEXT: v_mul_f32_e64 v10, 1.0, s92
; SI-NEXT: v_lshr_b64 v[10:11], v[10:11], 16
-; SI-NEXT: v_mul_f32_e64 v11, 1.0, s93
+; SI-NEXT: v_mul_f32_e64 v11, 1.0, s91
; SI-NEXT: v_lshrrev_b32_e32 v12, 16, v11
-; SI-NEXT: v_mul_f32_e64 v11, 1.0, s92
+; SI-NEXT: v_mul_f32_e64 v11, 1.0, s6
; SI-NEXT: v_lshr_b64 v[11:12], v[11:12], 16
-; SI-NEXT: v_mul_f32_e64 v12, 1.0, s91
+; SI-NEXT: v_mul_f32_e64 v12, 1.0, s94
; SI-NEXT: v_lshrrev_b32_e32 v13, 16, v12
-; SI-NEXT: v_mul_f32_e64 v12, 1.0, s90
+; SI-NEXT: v_mul_f32_e64 v12, 1.0, s93
; SI-NEXT: v_lshr_b64 v[12:13], v[12:13], 16
-; SI-NEXT: v_mul_f32_e64 v13, 1.0, s89
+; SI-NEXT: v_mul_f32_e64 v13, 1.0, s90
; SI-NEXT: v_lshrrev_b32_e32 v14, 16, v13
-; SI-NEXT: v_mul_f32_e64 v13, 1.0, s88
+; SI-NEXT: v_mul_f32_e64 v13, 1.0, s89
; SI-NEXT: v_lshr_b64 v[13:14], v[13:14], 16
-; SI-NEXT: v_mul_f32_e64 v14, 1.0, s79
+; SI-NEXT: v_mul_f32_e64 v14, 1.0, s88
; SI-NEXT: v_lshrrev_b32_e32 v15, 16, v14
-; SI-NEXT: v_mul_f32_e64 v14, 1.0, s76
+; SI-NEXT: v_mul_f32_e64 v14, 1.0, s79
; SI-NEXT: v_lshr_b64 v[14:15], v[14:15], 16
-; SI-NEXT: v_mul_f32_e64 v15, 1.0, s75
+; SI-NEXT: v_mul_f32_e64 v15, 1.0, s78
; SI-NEXT: v_lshrrev_b32_e32 v16, 16, v15
-; SI-NEXT: v_mul_f32_e64 v15, 1.0, s6
+; SI-NEXT: v_mul_f32_e64 v15, 1.0, s77
; SI-NEXT: v_lshr_b64 v[15:16], v[15:16], 16
-; SI-NEXT: v_mul_f32_e64 v16, 1.0, s78
+; SI-NEXT: v_mul_f32_e64 v16, 1.0, s76
; SI-NEXT: v_lshrrev_b32_e32 v17, 16, v16
-; SI-NEXT: v_mul_f32_e64 v16, 1.0, s77
+; SI-NEXT: v_mul_f32_e64 v16, 1.0, s75
; SI-NEXT: v_lshr_b64 v[16:17], v[16:17], 16
; SI-NEXT: v_mul_f32_e64 v17, 1.0, s74
; SI-NEXT: v_lshrrev_b32_e32 v18, 16, v17
@@ -97122,7 +97179,7 @@ define inreg <16 x i64> @bitcast_v64bf16_to_v16i64_scalar(<64 x bfloat> inreg %a
; SI: ; %bb.0:
; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
; SI-NEXT: s_or_saveexec_b64 s[4:5], -1
-; SI-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
; SI-NEXT: s_mov_b64 exec, s[4:5]
; SI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:52 ; 4-byte Folded Spill
@@ -97144,76 +97201,61 @@ define inreg <16 x i64> @bitcast_v64bf16_to_v16i64_scalar(<64 x bfloat> inreg %a
; SI-NEXT: v_writelane_b32 v63, s36, 2
; SI-NEXT: v_writelane_b32 v63, s30, 3
; SI-NEXT: v_writelane_b32 v63, s31, 4
-; SI-NEXT: v_readfirstlane_b32 s78, v7
-; SI-NEXT: v_readfirstlane_b32 s74, v9
-; SI-NEXT: s_and_b32 s79, s78, 0xffff0000
; SI-NEXT: v_readfirstlane_b32 s72, v10
-; SI-NEXT: s_and_b32 s75, s74, 0xffff0000
-; SI-NEXT: v_readfirstlane_b32 s34, v0
-; SI-NEXT: v_mul_f32_e64 v0, 1.0, s79
-; SI-NEXT: v_readfirstlane_b32 s62, v11
-; SI-NEXT: s_and_b32 s73, s72, 0xffff0000
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mul_f32_e64 v0, 1.0, s75
-; SI-NEXT: v_readfirstlane_b32 s60, v12
-; SI-NEXT: s_and_b32 s63, s62, 0xffff0000
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mul_f32_e64 v0, 1.0, s73
-; SI-NEXT: v_readfirstlane_b32 s58, v13
-; SI-NEXT: s_and_b32 s61, s60, 0xffff0000
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mul_f32_e64 v0, 1.0, s63
-; SI-NEXT: v_readfirstlane_b32 s56, v14
-; SI-NEXT: s_and_b32 s59, s58, 0xffff0000
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mul_f32_e64 v0, 1.0, s61
; SI-NEXT: v_readfirstlane_b32 s44, v16
-; SI-NEXT: s_and_b32 s57, s56, 0xffff0000
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mul_f32_e64 v0, 1.0, s59
+; SI-NEXT: s_and_b32 s73, s72, 0xffff0000
; SI-NEXT: v_readfirstlane_b32 s42, v17
; SI-NEXT: s_and_b32 s45, s44, 0xffff0000
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mul_f32_e64 v0, 1.0, s57
+; SI-NEXT: v_readfirstlane_b32 s34, v0
+; SI-NEXT: v_mul_f32_e64 v0, 1.0, s73
; SI-NEXT: s_and_b32 s43, s42, 0xffff0000
-; SI-NEXT: v_readfirstlane_b32 s94, v3
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; SI-NEXT: v_readfirstlane_b32 vcc_lo, v2
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mul_f32_e64 v0, 1.0, s45
-; SI-NEXT: s_and_b32 s95, s94, 0xffff0000
-; SI-NEXT: s_lshl_b32 s94, s94, 16
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; SI-NEXT: s_and_b32 s40, s17, 0xffff0000
+; SI-NEXT: s_and_b32 vcc_hi, vcc_lo, 0xffff0000
+; SI-NEXT: s_lshl_b32 vcc_lo, vcc_lo, 16
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mul_f32_e64 v0, 1.0, s43
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; SI-NEXT: v_readfirstlane_b32 s30, v1
+; SI-NEXT: v_mul_f32_e64 v1, 1.0, s40
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_mul_f32_e64 v0, 1.0, vcc_lo
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; SI-NEXT: v_readfirstlane_b32 s94, v3
+; SI-NEXT: s_and_b32 s95, s94, 0xffff0000
+; SI-NEXT: s_lshl_b32 s94, s94, 16
+; SI-NEXT: s_waitcnt expcnt(1)
; SI-NEXT: v_mul_f32_e64 v0, 1.0, s94
-; SI-NEXT: v_readfirstlane_b32 s30, v1
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
; SI-NEXT: v_readfirstlane_b32 s92, v4
; SI-NEXT: s_and_b32 s93, s92, 0xffff0000
; SI-NEXT: s_lshl_b32 s92, s92, 16
-; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_mul_f32_e64 v0, 1.0, s92
; SI-NEXT: v_readfirstlane_b32 s90, v5
; SI-NEXT: s_and_b32 s91, s90, 0xffff0000
; SI-NEXT: s_lshl_b32 s90, s90, 16
; SI-NEXT: v_readfirstlane_b32 s88, v6
; SI-NEXT: s_and_b32 s89, s88, 0xffff0000
; SI-NEXT: s_lshl_b32 s88, s88, 16
+; SI-NEXT: v_readfirstlane_b32 s78, v7
+; SI-NEXT: s_and_b32 s79, s78, 0xffff0000
; SI-NEXT: s_lshl_b32 s78, s78, 16
; SI-NEXT: v_readfirstlane_b32 s76, v8
; SI-NEXT: s_and_b32 s77, s76, 0xffff0000
; SI-NEXT: s_lshl_b32 s76, s76, 16
+; SI-NEXT: v_readfirstlane_b32 s74, v9
+; SI-NEXT: s_and_b32 s75, s74, 0xffff0000
+; SI-NEXT: s_lshl_b32 s74, s74, 16
; SI-NEXT: v_readfirstlane_b32 s46, v15
-; SI-NEXT: v_readfirstlane_b32 vcc_lo, v2
+; SI-NEXT: s_and_b32 s47, s46, 0xffff0000
+; SI-NEXT: s_lshl_b32 s46, s46, 16
+; SI-NEXT: v_readfirstlane_b32 s56, v14
+; SI-NEXT: v_readfirstlane_b32 s58, v13
+; SI-NEXT: v_readfirstlane_b32 s60, v12
+; SI-NEXT: v_readfirstlane_b32 s62, v11
; SI-NEXT: s_and_b32 s4, s29, 0xffff0000
; SI-NEXT: s_lshl_b32 s5, s29, 16
; SI-NEXT: s_and_b32 s6, s28, 0xffff0000
@@ -97238,105 +97280,94 @@ define inreg <16 x i64> @bitcast_v64bf16_to_v16i64_scalar(<64 x bfloat> inreg %a
; SI-NEXT: s_lshl_b32 s19, s19, 16
; SI-NEXT: s_and_b32 s29, s18, 0xffff0000
; SI-NEXT: s_lshl_b32 s18, s18, 16
-; SI-NEXT: s_and_b32 s40, s17, 0xffff0000
; SI-NEXT: s_lshl_b32 s17, s17, 16
; SI-NEXT: s_and_b32 s41, s16, 0xffff0000
; SI-NEXT: s_lshl_b32 s16, s16, 16
; SI-NEXT: s_lshl_b32 s42, s42, 16
; SI-NEXT: s_lshl_b32 s44, s44, 16
-; SI-NEXT: s_and_b32 s47, s46, 0xffff0000
-; SI-NEXT: s_lshl_b32 s46, s46, 16
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_mul_f32_e64 v0, 1.0, s90
+; SI-NEXT: s_and_b32 s57, s56, 0xffff0000
; SI-NEXT: s_lshl_b32 s56, s56, 16
+; SI-NEXT: s_and_b32 s59, s58, 0xffff0000
; SI-NEXT: s_lshl_b32 s58, s58, 16
+; SI-NEXT: s_and_b32 s61, s60, 0xffff0000
; SI-NEXT: s_lshl_b32 s60, s60, 16
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(1)
+; SI-NEXT: v_mul_f32_e64 v0, 1.0, s92
+; SI-NEXT: s_and_b32 s63, s62, 0xffff0000
; SI-NEXT: s_lshl_b32 s62, s62, 16
; SI-NEXT: s_lshl_b32 s72, s72, 16
-; SI-NEXT: s_lshl_b32 s74, s74, 16
-; SI-NEXT: s_and_b32 vcc_hi, vcc_lo, 0xffff0000
-; SI-NEXT: s_lshl_b32 vcc_lo, vcc_lo, 16
; SI-NEXT: s_and_b32 s31, s30, 0xffff0000
; SI-NEXT: s_lshl_b32 s30, s30, 16
; SI-NEXT: s_and_b32 s35, s34, 0xffff0000
; SI-NEXT: s_lshl_b32 s34, s34, 16
; SI-NEXT: v_readfirstlane_b32 s36, v18
; SI-NEXT: s_cmp_lg_u32 s36, 0
-; SI-NEXT: v_mul_f32_e64 v37, 1.0, s41
-; SI-NEXT: v_mul_f32_e64 v39, 1.0, s40
-; SI-NEXT: v_mul_f32_e64 v35, 1.0, s29
-; SI-NEXT: v_mul_f32_e64 v33, 1.0, s28
-; SI-NEXT: v_mul_f32_e64 v5, 1.0, s27
+; SI-NEXT: v_mul_f32_e64 v39, 1.0, s41
+; SI-NEXT: v_mul_f32_e64 v42, 1.0, s29
+; SI-NEXT: v_mul_f32_e64 v54, 1.0, s28
+; SI-NEXT: v_mul_f32_e64 v10, 1.0, s27
; SI-NEXT: v_mul_f32_e64 v6, 1.0, s26
; SI-NEXT: v_mul_f32_e64 v7, 1.0, s25
; SI-NEXT: v_mul_f32_e64 v8, 1.0, s24
; SI-NEXT: v_mul_f32_e64 v9, 1.0, s14
-; SI-NEXT: v_mul_f32_e64 v10, 1.0, s12
+; SI-NEXT: v_mul_f32_e64 v35, 1.0, s12
; SI-NEXT: v_mul_f32_e64 v61, 1.0, s10
; SI-NEXT: v_mul_f32_e64 v12, 1.0, s8
; SI-NEXT: v_mul_f32_e64 v15, 1.0, s6
; SI-NEXT: v_mul_f32_e64 v16, 1.0, s4
; SI-NEXT: v_mul_f32_e64 v17, 1.0, s35
-; SI-NEXT: v_mul_f32_e64 v19, 1.0, s31
-; SI-NEXT: v_mul_f32_e64 v18, 1.0, vcc_hi
-; SI-NEXT: v_mul_f32_e64 v20, 1.0, s95
-; SI-NEXT: v_mul_f32_e64 v54, 1.0, s93
+; SI-NEXT: v_mul_f32_e64 v20, 1.0, s31
+; SI-NEXT: v_mul_f32_e64 v19, 1.0, vcc_hi
+; SI-NEXT: v_mul_f32_e64 v18, 1.0, s95
+; SI-NEXT: v_mul_f32_e64 v25, 1.0, s93
; SI-NEXT: v_mul_f32_e64 v21, 1.0, s91
-; SI-NEXT: v_mul_f32_e64 v22, 1.0, s89
-; SI-NEXT: v_mul_f32_e64 v50, 1.0, s77
-; SI-NEXT: v_mul_f32_e64 v46, 1.0, s47
-; SI-NEXT: v_mul_f32_e64 v36, 1.0, s16
-; SI-NEXT: v_mul_f32_e64 v38, 1.0, s17
-; SI-NEXT: v_mul_f32_e64 v34, 1.0, s18
-; SI-NEXT: v_mul_f32_e64 v32, 1.0, s19
-; SI-NEXT: v_mul_f32_e64 v41, 1.0, s20
-; SI-NEXT: v_mul_f32_e64 v26, 1.0, s21
-; SI-NEXT: v_mul_f32_e64 v25, 1.0, s22
-; SI-NEXT: v_mul_f32_e64 v24, 1.0, s23
-; SI-NEXT: v_mul_f32_e64 v23, 1.0, s15
+; SI-NEXT: v_mul_f32_e64 v24, 1.0, s89
+; SI-NEXT: v_mul_f32_e64 v22, 1.0, s79
+; SI-NEXT: v_mul_f32_e64 v23, 1.0, s77
+; SI-NEXT: v_mul_f32_e64 v26, 1.0, s75
+; SI-NEXT: v_mul_f32_e64 v27, 1.0, s63
+; SI-NEXT: v_mul_f32_e64 v62, 1.0, s61
+; SI-NEXT: v_mul_f32_e64 v40, 1.0, s59
+; SI-NEXT: v_mul_f32_e64 v47, 1.0, s57
+; SI-NEXT: v_mul_f32_e64 v37, 1.0, s47
+; SI-NEXT: v_mul_f32_e64 v38, 1.0, s16
+; SI-NEXT: v_mul_f32_e64 v36, 1.0, s17
+; SI-NEXT: v_mul_f32_e64 v49, 1.0, s18
+; SI-NEXT: v_mul_f32_e64 v46, 1.0, s19
+; SI-NEXT: v_mul_f32_e64 v45, 1.0, s20
+; SI-NEXT: v_mul_f32_e64 v44, 1.0, s21
+; SI-NEXT: v_mul_f32_e64 v52, 1.0, s22
+; SI-NEXT: v_mul_f32_e64 v33, 1.0, s23
+; SI-NEXT: v_mul_f32_e64 v41, 1.0, s15
; SI-NEXT: v_mul_f32_e64 v13, 1.0, s13
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_mul_f32_e64 v0, 1.0, s88
; SI-NEXT: v_mul_f32_e64 v60, 1.0, s11
; SI-NEXT: v_mul_f32_e64 v59, 1.0, s9
; SI-NEXT: v_mul_f32_e64 v58, 1.0, s7
; SI-NEXT: v_mul_f32_e64 v57, 1.0, s5
; SI-NEXT: v_mul_f32_e64 v56, 1.0, s34
; SI-NEXT: v_mul_f32_e64 v55, 1.0, s30
-; SI-NEXT: v_mul_f32_e64 v51, 1.0, vcc_lo
-; SI-NEXT: v_mul_f32_e64 v53, 1.0, s72
-; SI-NEXT: v_mul_f32_e64 v40, 1.0, s62
-; SI-NEXT: v_mul_f32_e64 v43, 1.0, s60
+; SI-NEXT: v_mul_f32_e64 v32, 1.0, s72
+; SI-NEXT: v_mul_f32_e64 v43, 1.0, s62
+; SI-NEXT: v_mul_f32_e64 v51, 1.0, s60
; SI-NEXT: v_mul_f32_e64 v28, 1.0, s58
-; SI-NEXT: v_mul_f32_e64 v45, 1.0, s56
-; SI-NEXT: v_mul_f32_e64 v44, 1.0, s46
-; SI-NEXT: v_mul_f32_e64 v49, 1.0, s44
-; SI-NEXT: v_mul_f32_e64 v47, 1.0, s42
-; SI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
+; SI-NEXT: v_mul_f32_e64 v53, 1.0, s56
+; SI-NEXT: v_mul_f32_e64 v48, 1.0, s44
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(1)
+; SI-NEXT: v_mul_f32_e64 v0, 1.0, s90
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(1)
+; SI-NEXT: v_mul_f32_e64 v0, 1.0, s88
; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
; SI-NEXT: v_mul_f32_e64 v0, 1.0, s78
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
; SI-NEXT: v_mul_f32_e64 v0, 1.0, s76
; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
@@ -97345,72 +97376,129 @@ define inreg <16 x i64> @bitcast_v64bf16_to_v16i64_scalar(<64 x bfloat> inreg %a
; SI-NEXT: v_mul_f32_e64 v0, 1.0, s74
; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(1)
+; SI-NEXT: v_mul_f32_e64 v0, 1.0, s46
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(1)
+; SI-NEXT: v_mul_f32_e64 v0, 1.0, s42
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
; SI-NEXT: s_cbranch_scc0 .LBB63_2
; SI-NEXT: ; %bb.1: ; %cmp.false
-; SI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(2)
-; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
-; SI-NEXT: v_mov_b32_e32 v48, v37
-; SI-NEXT: v_lshrrev_b32_e32 v37, 16, v48
-; SI-NEXT: v_mov_b32_e32 v62, v35
-; SI-NEXT: v_lshrrev_b32_e32 v35, 16, v62
-; SI-NEXT: v_lshrrev_b32_e32 v42, 16, v5
-; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v6
-; SI-NEXT: v_lshrrev_b32_e32 v14, 16, v10
-; SI-NEXT: v_lshrrev_b32_e32 v52, 16, v18
-; SI-NEXT: v_mov_b32_e32 v29, v54
-; SI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
-; SI-NEXT: v_mov_b32_e32 v30, v46
-; SI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
+; SI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
+; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
+; SI-NEXT: v_mov_b32_e32 v3, v37
+; SI-NEXT: v_lshrrev_b32_e32 v37, 16, v1
+; SI-NEXT: v_mov_b32_e32 v30, v3
+; SI-NEXT: v_lshrrev_b32_e32 v50, 16, v42
+; SI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_mov_b32_e32 v42, v53
+; SI-NEXT: v_lshrrev_b32_e32 v53, 16, v7
+; SI-NEXT: v_lshrrev_b32_e32 v34, 16, v8
+; SI-NEXT: v_mov_b32_e32 v29, v40
+; SI-NEXT: v_lshrrev_b32_e32 v40, 16, v9
+; SI-NEXT: v_lshrrev_b32_e32 v14, 16, v35
+; SI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_mov_b32_e32 v35, v61
+; SI-NEXT: v_lshrrev_b32_e32 v61, 16, v35
+; SI-NEXT: v_lshrrev_b32_e32 v18, 16, v18
+; SI-NEXT: v_lshrrev_b32_e32 v22, 16, v22
+; SI-NEXT: v_lshrrev_b32_e32 v23, 16, v23
+; SI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
; SI-NEXT: s_mov_b64 s[4:5], 0
-; SI-NEXT: s_waitcnt vmcnt(2) expcnt(0)
+; SI-NEXT: s_waitcnt vmcnt(4)
; SI-NEXT: v_lshrrev_b32_e32 v39, 16, v0
-; SI-NEXT: v_lshr_b64 v[0:1], v[36:37], 16
-; SI-NEXT: v_lshr_b64 v[1:2], v[38:39], 16
-; SI-NEXT: v_mov_b32_e32 v39, v33
-; SI-NEXT: v_lshr_b64 v[2:3], v[34:35], 16
-; SI-NEXT: v_lshrrev_b32_e32 v33, 16, v39
-; SI-NEXT: v_lshr_b64 v[3:4], v[32:33], 16
-; SI-NEXT: v_mov_b32_e32 v4, v41
-; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[4:5], v[41:42], 16
-; SI-NEXT: v_mov_b32_e32 v5, v26
-; SI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
+; SI-NEXT: v_lshr_b64 v[0:1], v[38:39], 16
+; SI-NEXT: v_lshr_b64 v[1:2], v[36:37], 16
+; SI-NEXT: v_mov_b32_e32 v2, v49
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[5:6], v[26:27], 16
-; SI-NEXT: v_mov_b32_e32 v6, v25
-; SI-NEXT: v_lshrrev_b32_e32 v26, 16, v7
-; SI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
+; SI-NEXT: v_lshr_b64 v[2:3], v[49:50], 16
+; SI-NEXT: v_mov_b32_e32 v3, v46
+; SI-NEXT: v_mov_b32_e32 v39, v41
+; SI-NEXT: v_mov_b32_e32 v41, v47
+; SI-NEXT: v_lshrrev_b32_e32 v47, 16, v54
+; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[6:7], v[25:26], 16
-; SI-NEXT: v_mov_b32_e32 v7, v24
-; SI-NEXT: v_lshrrev_b32_e32 v25, 16, v8
-; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
+; SI-NEXT: v_lshr_b64 v[3:4], v[46:47], 16
+; SI-NEXT: v_mov_b32_e32 v4, v45
+; SI-NEXT: v_lshrrev_b32_e32 v46, 16, v10
+; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_lshr_b64 v[4:5], v[45:46], 16
+; SI-NEXT: v_mov_b32_e32 v5, v44
+; SI-NEXT: v_lshrrev_b32_e32 v45, 16, v6
+; SI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_lshr_b64 v[5:6], v[44:45], 16
+; SI-NEXT: v_mov_b32_e32 v6, v52
+; SI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[7:8], v[24:25], 16
-; SI-NEXT: v_mov_b32_e32 v8, v23
-; SI-NEXT: v_lshrrev_b32_e32 v24, 16, v9
-; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
+; SI-NEXT: v_lshr_b64 v[6:7], v[52:53], 16
+; SI-NEXT: v_mov_b32_e32 v7, v33
+; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[8:9], v[23:24], 16
+; SI-NEXT: v_lshr_b64 v[7:8], v[33:34], 16
+; SI-NEXT: v_lshr_b64 v[8:9], v[39:40], 16
; SI-NEXT: v_mov_b32_e32 v9, v13
-; SI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
-; SI-NEXT: v_mov_b32_e32 v33, v61
+; SI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_lshr_b64 v[9:10], v[13:14], 16
-; SI-NEXT: v_lshrrev_b32_e32 v61, 16, v33
-; SI-NEXT: v_lshr_b64 v[10:11], v[60:61], 16
+; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
; SI-NEXT: v_mov_b32_e32 v13, v60
+; SI-NEXT: v_mov_b32_e32 v14, v59
+; SI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v54, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
+; SI-NEXT: v_lshrrev_b32_e32 v44, 16, v27
+; SI-NEXT: v_lshrrev_b32_e32 v52, 16, v62
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_lshrrev_b32_e32 v50, 16, v30
+; SI-NEXT: v_mov_b32_e32 v40, v29
+; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v29
+; SI-NEXT: v_mov_b32_e32 v34, v32
+; SI-NEXT: v_mov_b32_e32 v37, v30
+; SI-NEXT: v_mov_b32_e32 v47, v41
+; SI-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v50, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; SI-NEXT: v_mov_b32_e32 v53, v10
+; SI-NEXT: v_lshr_b64 v[10:11], v[60:61], 16
; SI-NEXT: v_lshrrev_b32_e32 v60, 16, v12
; SI-NEXT: v_lshr_b64 v[11:12], v[59:60], 16
-; SI-NEXT: v_mov_b32_e32 v14, v59
; SI-NEXT: v_lshrrev_b32_e32 v59, 16, v15
; SI-NEXT: v_mov_b32_e32 v60, v13
; SI-NEXT: v_lshr_b64 v[12:13], v[58:59], 16
@@ -97423,35 +97511,32 @@ define inreg <16 x i64> @bitcast_v64bf16_to_v16i64_scalar(<64 x bfloat> inreg %a
; SI-NEXT: v_mov_b32_e32 v58, v15
; SI-NEXT: v_lshr_b64 v[14:15], v[56:57], 16
; SI-NEXT: v_mov_b32_e32 v17, v56
-; SI-NEXT: v_lshrrev_b32_e32 v56, 16, v19
+; SI-NEXT: v_lshrrev_b32_e32 v56, 16, v20
; SI-NEXT: v_mov_b32_e32 v57, v16
; SI-NEXT: v_lshr_b64 v[15:16], v[55:56], 16
; SI-NEXT: v_mov_b32_e32 v56, v17
-; SI-NEXT: v_lshr_b64 v[16:17], v[51:52], 16
-; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v18, 16, v20
-; SI-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
+; SI-NEXT: v_lshrrev_b32_e32 v17, 16, v19
+; SI-NEXT: v_lshrrev_b32_e32 v54, 16, v54
+; SI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_lshr_b64 v[16:17], v[16:17], 16
+; SI-NEXT: v_mov_b32_e32 v17, v33
; SI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
-; SI-NEXT: v_mov_b32_e32 v42, v49
-; SI-NEXT: v_mov_b32_e32 v49, v44
-; SI-NEXT: v_mov_b32_e32 v52, v40
-; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_lshrrev_b32_e32 v44, 16, v27
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_lshr_b64 v[17:18], v[17:18], 16
-; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v19, 16, v54
-; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
-; SI-NEXT: v_lshrrev_b32_e32 v54, 16, v25
+; SI-NEXT: v_lshrrev_b32_e32 v19, 16, v25
+; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_lshr_b64 v[18:19], v[18:19], 16
; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
@@ -97465,24 +97550,23 @@ define inreg <16 x i64> @bitcast_v64bf16_to_v16i64_scalar(<64 x bfloat> inreg %a
; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v21, 16, v22
+; SI-NEXT: v_lshrrev_b32_e32 v21, 16, v24
+; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_lshr_b64 v[20:21], v[20:21], 16
-; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v22, 16, v22
-; SI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt vmcnt(3)
+; SI-NEXT: v_mov_b32_e32 v21, v24
+; SI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
+; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_lshr_b64 v[21:22], v[21:22], 16
-; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v23, 16, v50
+; SI-NEXT: s_waitcnt vmcnt(1)
+; SI-NEXT: v_mov_b32_e32 v22, v24
; SI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
@@ -97495,187 +97579,173 @@ define inreg <16 x i64> @bitcast_v64bf16_to_v16i64_scalar(<64 x bfloat> inreg %a
; SI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_lshr_b64 v[23:24], v[23:24], 16
-; SI-NEXT: v_mov_b32_e32 v24, v53
-; SI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[24:25], v[53:54], 16
-; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v37, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
-; SI-NEXT: v_mov_b32_e32 v54, v29
-; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v46
-; SI-NEXT: v_lshrrev_b32_e32 v46, 16, v31
-; SI-NEXT: v_mov_b32_e32 v31, v50
-; SI-NEXT: v_lshrrev_b32_e32 v50, 16, v30
-; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_lshrrev_b32_e32 v41, 16, v25
-; SI-NEXT: v_lshr_b64 v[25:26], v[40:41], 16
-; SI-NEXT: v_mov_b32_e32 v26, v43
-; SI-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
+; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_lshrrev_b32_e32 v33, 16, v24
+; SI-NEXT: v_lshr_b64 v[24:25], v[32:33], 16
+; SI-NEXT: v_lshr_b64 v[25:26], v[43:44], 16
+; SI-NEXT: v_mov_b32_e32 v26, v51
+; SI-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[26:27], v[43:44], 16
+; SI-NEXT: v_lshr_b64 v[26:27], v[51:52], 16
; SI-NEXT: v_mov_b32_e32 v27, v28
-; SI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt vmcnt(4)
-; SI-NEXT: v_lshrrev_b32_e32 v43, 16, v37
-; SI-NEXT: v_mov_b32_e32 v37, v48
-; SI-NEXT: v_lshrrev_b32_e32 v48, 16, v35
-; SI-NEXT: v_mov_b32_e32 v35, v62
-; SI-NEXT: v_lshr_b64 v[61:62], v[47:48], 16
-; SI-NEXT: v_mov_b32_e32 v44, v49
+; SI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
+; SI-NEXT: v_mov_b32_e32 v32, v43
+; SI-NEXT: v_lshrrev_b32_e32 v43, 16, v41
+; SI-NEXT: v_mov_b32_e32 v41, v39
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_lshr_b64 v[27:28], v[28:29], 16
-; SI-NEXT: v_lshr_b64 v[28:29], v[45:46], 16
-; SI-NEXT: v_mov_b32_e32 v46, v30
+; SI-NEXT: v_lshr_b64 v[28:29], v[42:43], 16
; SI-NEXT: v_lshr_b64 v[29:30], v[49:50], 16
-; SI-NEXT: v_mov_b32_e32 v50, v31
-; SI-NEXT: v_lshr_b64 v[30:31], v[42:43], 16
+; SI-NEXT: v_lshrrev_b32_e32 v49, 16, v31
+; SI-NEXT: v_lshr_b64 v[30:31], v[48:49], 16
+; SI-NEXT: v_mov_b32_e32 v31, v62
+; SI-NEXT: v_lshr_b64 v[61:62], v[53:54], 16
+; SI-NEXT: buffer_load_dword v54, off, s[0:3], s32 offset:308 ; 4-byte Folded Reload
+; SI-NEXT: v_mov_b32_e32 v62, v31
; SI-NEXT: v_mov_b32_e32 v31, v61
-; SI-NEXT: v_mov_b32_e32 v61, v33
-; SI-NEXT: v_mov_b32_e32 v33, v39
-; SI-NEXT: buffer_load_dword v39, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
-; SI-NEXT: v_mov_b32_e32 v49, v42
+; SI-NEXT: v_mov_b32_e32 v61, v35
+; SI-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:316 ; 4-byte Folded Reload
+; SI-NEXT: v_mov_b32_e32 v53, v42
+; SI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:312 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v39, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload
; SI-NEXT: s_branch .LBB63_3
; SI-NEXT: .LBB63_2:
-; SI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
-; SI-NEXT: v_mov_b32_e32 v52, v40
-; SI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v50, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(2)
+; SI-NEXT: v_mov_b32_e32 v34, v32
+; SI-NEXT: v_mov_b32_e32 v32, v43
; SI-NEXT: s_mov_b64 s[4:5], -1
+; SI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
; SI-NEXT: ; implicit-def: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31
; SI-NEXT: .LBB63_3: ; %Flow
+; SI-NEXT: v_mov_b32_e32 v50, v32
+; SI-NEXT: v_mov_b32_e32 v32, v34
+; SI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt expcnt(3)
+; SI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt expcnt(2)
+; SI-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload
; SI-NEXT: s_and_b64 s[4:5], s[4:5], exec
; SI-NEXT: s_cselect_b32 s4, 1, 0
; SI-NEXT: s_cmp_lg_u32 s4, 1
+; SI-NEXT: s_waitcnt vmcnt(1)
+; SI-NEXT: v_mov_b32_e32 v34, v51
+; SI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload
; SI-NEXT: s_cbranch_scc1 .LBB63_5
; SI-NEXT: ; %bb.4: ; %cmp.true
-; SI-NEXT: v_and_b32_e32 v1, 0xffff0000, v37
-; SI-NEXT: v_and_b32_e32 v0, 0xffff0000, v36
+; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:276 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:272 ; 4-byte Folded Reload
+; SI-NEXT: v_and_b32_e32 v1, 0xffff0000, v39
+; SI-NEXT: v_and_b32_e32 v0, 0xffff0000, v38
; SI-NEXT: v_add_f32_e32 v1, 0x40c00000, v1
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v3, 0xffff0000, v39
; SI-NEXT: v_add_f32_e32 v0, 0x40c00000, v0
; SI-NEXT: v_lshrrev_b32_e32 v1, 16, v1
-; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v38
-; SI-NEXT: v_add_f32_e32 v3, 0x40c00000, v3
+; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v36
; SI-NEXT: v_add_f32_e32 v2, 0x40c00000, v2
-; SI-NEXT: v_lshrrev_b32_e32 v3, 16, v3
; SI-NEXT: v_lshr_b64 v[0:1], v[0:1], 16
+; SI-NEXT: s_waitcnt vmcnt(4)
+; SI-NEXT: v_mov_b32_e32 v49, v43
+; SI-NEXT: v_and_b32_e32 v4, 0xffff0000, v54
+; SI-NEXT: v_add_f32_e32 v4, 0x40c00000, v4
+; SI-NEXT: v_lshrrev_b32_e32 v4, 16, v4
+; SI-NEXT: v_and_b32_e32 v11, 0xffff0000, v61
+; SI-NEXT: v_add_f32_e32 v11, 0x40c00000, v11
+; SI-NEXT: v_lshrrev_b32_e32 v11, 16, v11
+; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_and_b32_e32 v29, 0xffff0000, v47
+; SI-NEXT: v_add_f32_e32 v29, 0x40c00000, v29
+; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v29
+; SI-NEXT: s_waitcnt vmcnt(11)
+; SI-NEXT: v_and_b32_e32 v3, 0xffff0000, v3
+; SI-NEXT: v_add_f32_e32 v3, 0x40c00000, v3
+; SI-NEXT: v_lshrrev_b32_e32 v3, 16, v3
; SI-NEXT: v_lshr_b64 v[1:2], v[2:3], 16
-; SI-NEXT: v_and_b32_e32 v3, 0xffff0000, v35
-; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v34
+; SI-NEXT: v_and_b32_e32 v3, 0xffff0000, v42
+; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v49
; SI-NEXT: v_add_f32_e32 v3, 0x40c00000, v3
; SI-NEXT: v_add_f32_e32 v2, 0x40c00000, v2
; SI-NEXT: v_lshrrev_b32_e32 v3, 16, v3
; SI-NEXT: v_lshr_b64 v[2:3], v[2:3], 16
-; SI-NEXT: v_and_b32_e32 v4, 0xffff0000, v33
-; SI-NEXT: v_and_b32_e32 v3, 0xffff0000, v32
-; SI-NEXT: v_add_f32_e32 v4, 0x40c00000, v4
+; SI-NEXT: v_and_b32_e32 v3, 0xffff0000, v51
; SI-NEXT: v_add_f32_e32 v3, 0x40c00000, v3
-; SI-NEXT: v_lshrrev_b32_e32 v4, 16, v4
; SI-NEXT: v_lshr_b64 v[3:4], v[3:4], 16
-; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:280 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload
-; SI-NEXT: v_and_b32_e32 v11, 0xffff0000, v61
-; SI-NEXT: v_add_f32_e32 v11, 0x40c00000, v11
-; SI-NEXT: v_lshrrev_b32_e32 v11, 16, v11
-; SI-NEXT: v_and_b32_e32 v30, 0xffff0000, v46
-; SI-NEXT: v_add_f32_e32 v30, 0x40c00000, v30
-; SI-NEXT: v_lshrrev_b32_e32 v30, 16, v30
-; SI-NEXT: v_and_b32_e32 v32, 0xffff0000, v47
-; SI-NEXT: v_add_f32_e32 v32, 0x40c00000, v32
-; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt expcnt(6)
-; SI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(12)
-; SI-NEXT: v_and_b32_e32 v4, 0xffff0000, v4
-; SI-NEXT: v_add_f32_e32 v4, 0x40c00000, v4
; SI-NEXT: s_waitcnt vmcnt(10)
; SI-NEXT: v_and_b32_e32 v5, 0xffff0000, v5
+; SI-NEXT: v_and_b32_e32 v4, 0xffff0000, v34
; SI-NEXT: v_add_f32_e32 v5, 0x40c00000, v5
+; SI-NEXT: v_add_f32_e32 v4, 0x40c00000, v4
; SI-NEXT: v_lshrrev_b32_e32 v5, 16, v5
; SI-NEXT: v_lshr_b64 v[4:5], v[4:5], 16
-; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:272 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:276 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(12)
+; SI-NEXT: s_waitcnt vmcnt(9)
+; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v6
+; SI-NEXT: v_and_b32_e32 v5, 0xffff0000, v33
+; SI-NEXT: v_add_f32_e32 v6, 0x40c00000, v6
+; SI-NEXT: v_add_f32_e32 v5, 0x40c00000, v5
+; SI-NEXT: v_lshrrev_b32_e32 v6, 16, v6
+; SI-NEXT: v_lshr_b64 v[5:6], v[5:6], 16
+; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:300 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:304 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:268 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(8)
+; SI-NEXT: v_and_b32_e32 v9, 0xffff0000, v9
+; SI-NEXT: v_add_f32_e32 v9, 0x40c00000, v9
+; SI-NEXT: v_lshrrev_b32_e32 v9, 16, v9
+; SI-NEXT: s_waitcnt vmcnt(7)
; SI-NEXT: v_and_b32_e32 v12, 0xffff0000, v12
; SI-NEXT: v_add_f32_e32 v12, 0x40c00000, v12
; SI-NEXT: v_lshrrev_b32_e32 v12, 16, v12
-; SI-NEXT: s_waitcnt vmcnt(11)
+; SI-NEXT: s_waitcnt vmcnt(6)
; SI-NEXT: v_and_b32_e32 v13, 0xffff0000, v13
; SI-NEXT: v_add_f32_e32 v13, 0x40c00000, v13
; SI-NEXT: v_lshrrev_b32_e32 v13, 16, v13
-; SI-NEXT: s_waitcnt vmcnt(10)
+; SI-NEXT: s_waitcnt vmcnt(5)
; SI-NEXT: v_and_b32_e32 v14, 0xffff0000, v14
; SI-NEXT: v_add_f32_e32 v14, 0x40c00000, v14
; SI-NEXT: v_lshrrev_b32_e32 v14, 16, v14
-; SI-NEXT: s_waitcnt vmcnt(9)
+; SI-NEXT: s_waitcnt vmcnt(4)
; SI-NEXT: v_and_b32_e32 v15, 0xffff0000, v15
; SI-NEXT: v_add_f32_e32 v15, 0x40c00000, v15
; SI-NEXT: v_lshrrev_b32_e32 v15, 16, v15
-; SI-NEXT: s_waitcnt vmcnt(8)
+; SI-NEXT: s_waitcnt vmcnt(3)
; SI-NEXT: v_and_b32_e32 v16, 0xffff0000, v16
; SI-NEXT: v_add_f32_e32 v16, 0x40c00000, v16
; SI-NEXT: v_lshrrev_b32_e32 v16, 16, v16
-; SI-NEXT: s_waitcnt vmcnt(7)
-; SI-NEXT: v_and_b32_e32 v17, 0xffff0000, v17
-; SI-NEXT: v_add_f32_e32 v17, 0x40c00000, v17
-; SI-NEXT: v_lshrrev_b32_e32 v17, 16, v17
-; SI-NEXT: s_waitcnt vmcnt(6)
; SI-NEXT: v_and_b32_e32 v26, 0xffff0000, v26
; SI-NEXT: v_add_f32_e32 v26, 0x40c00000, v26
; SI-NEXT: v_lshrrev_b32_e32 v26, 16, v26
-; SI-NEXT: s_waitcnt vmcnt(4)
-; SI-NEXT: v_and_b32_e32 v29, 0xffff0000, v29
-; SI-NEXT: v_and_b32_e32 v31, 0xffff0000, v31
-; SI-NEXT: v_add_f32_e32 v31, 0x40c00000, v31
-; SI-NEXT: v_lshrrev_b32_e32 v31, 16, v31
-; SI-NEXT: v_add_f32_e32 v29, 0x40c00000, v29
-; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v29
-; SI-NEXT: s_waitcnt vmcnt(3)
-; SI-NEXT: v_and_b32_e32 v33, 0xffff0000, v33
-; SI-NEXT: v_add_f32_e32 v33, 0x40c00000, v33
-; SI-NEXT: v_lshrrev_b32_e32 v33, 16, v33
-; SI-NEXT: v_lshr_b64 v[32:33], v[32:33], 16
-; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_and_b32_e32 v5, 0xffff0000, v5
-; SI-NEXT: v_add_f32_e32 v5, 0x40c00000, v5
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v6
-; SI-NEXT: v_add_f32_e32 v6, 0x40c00000, v6
-; SI-NEXT: v_lshrrev_b32_e32 v6, 16, v6
-; SI-NEXT: v_lshr_b64 v[5:6], v[5:6], 16
-; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:268 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(2)
; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v6
; SI-NEXT: v_add_f32_e32 v6, 0x40c00000, v6
@@ -97684,9 +97754,9 @@ define inreg <16 x i64> @bitcast_v64bf16_to_v16i64_scalar(<64 x bfloat> inreg %a
; SI-NEXT: v_add_f32_e32 v7, 0x40c00000, v7
; SI-NEXT: v_lshrrev_b32_e32 v7, 16, v7
; SI-NEXT: v_lshr_b64 v[6:7], v[6:7], 16
-; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(2)
; SI-NEXT: v_and_b32_e32 v7, 0xffff0000, v7
; SI-NEXT: v_add_f32_e32 v7, 0x40c00000, v7
@@ -97695,27 +97765,17 @@ define inreg <16 x i64> @bitcast_v64bf16_to_v16i64_scalar(<64 x bfloat> inreg %a
; SI-NEXT: v_add_f32_e32 v8, 0x40c00000, v8
; SI-NEXT: v_lshrrev_b32_e32 v8, 16, v8
; SI-NEXT: v_lshr_b64 v[7:8], v[7:8], 16
-; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v8
+; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v41
; SI-NEXT: v_add_f32_e32 v8, 0x40c00000, v8
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v9, 0xffff0000, v9
-; SI-NEXT: v_add_f32_e32 v9, 0x40c00000, v9
-; SI-NEXT: v_lshrrev_b32_e32 v9, 16, v9
; SI-NEXT: v_lshr_b64 v[8:9], v[8:9], 16
-; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_and_b32_e32 v9, 0xffff0000, v9
-; SI-NEXT: v_add_f32_e32 v9, 0x40c00000, v9
+; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:280 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v10, 0xffff0000, v10
+; SI-NEXT: v_and_b32_e32 v10, 0xffff0000, v35
; SI-NEXT: v_add_f32_e32 v10, 0x40c00000, v10
; SI-NEXT: v_lshrrev_b32_e32 v10, 16, v10
+; SI-NEXT: v_and_b32_e32 v9, 0xffff0000, v9
+; SI-NEXT: v_add_f32_e32 v9, 0x40c00000, v9
; SI-NEXT: v_lshr_b64 v[9:10], v[9:10], 16
; SI-NEXT: v_and_b32_e32 v10, 0xffff0000, v60
; SI-NEXT: v_add_f32_e32 v10, 0x40c00000, v10
@@ -97735,12 +97795,20 @@ define inreg <16 x i64> @bitcast_v64bf16_to_v16i64_scalar(<64 x bfloat> inreg %a
; SI-NEXT: v_and_b32_e32 v15, 0xffff0000, v55
; SI-NEXT: v_add_f32_e32 v15, 0x40c00000, v15
; SI-NEXT: v_lshr_b64 v[15:16], v[15:16], 16
-; SI-NEXT: v_and_b32_e32 v16, 0xffff0000, v51
+; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(2)
+; SI-NEXT: v_and_b32_e32 v16, 0xffff0000, v16
; SI-NEXT: v_add_f32_e32 v16, 0x40c00000, v16
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_and_b32_e32 v17, 0xffff0000, v17
+; SI-NEXT: v_add_f32_e32 v17, 0x40c00000, v17
+; SI-NEXT: v_lshrrev_b32_e32 v17, 16, v17
; SI-NEXT: v_lshr_b64 v[16:17], v[16:17], 16
; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(2)
; SI-NEXT: v_and_b32_e32 v17, 0xffff0000, v17
; SI-NEXT: v_add_f32_e32 v17, 0x40c00000, v17
@@ -97749,18 +97817,20 @@ define inreg <16 x i64> @bitcast_v64bf16_to_v16i64_scalar(<64 x bfloat> inreg %a
; SI-NEXT: v_add_f32_e32 v18, 0x40c00000, v18
; SI-NEXT: v_lshrrev_b32_e32 v18, 16, v18
; SI-NEXT: v_lshr_b64 v[17:18], v[17:18], 16
-; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(2)
+; SI-NEXT: v_and_b32_e32 v18, 0xffff0000, v18
+; SI-NEXT: v_add_f32_e32 v18, 0x40c00000, v18
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v19, 0xffff0000, v54
+; SI-NEXT: v_and_b32_e32 v19, 0xffff0000, v19
; SI-NEXT: v_add_f32_e32 v19, 0x40c00000, v19
; SI-NEXT: v_lshrrev_b32_e32 v19, 16, v19
-; SI-NEXT: v_and_b32_e32 v18, 0xffff0000, v18
-; SI-NEXT: v_add_f32_e32 v18, 0x40c00000, v18
; SI-NEXT: v_lshr_b64 v[18:19], v[18:19], 16
; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(2)
; SI-NEXT: v_and_b32_e32 v19, 0xffff0000, v19
; SI-NEXT: v_add_f32_e32 v19, 0x40c00000, v19
@@ -97771,7 +97841,7 @@ define inreg <16 x i64> @bitcast_v64bf16_to_v16i64_scalar(<64 x bfloat> inreg %a
; SI-NEXT: v_lshr_b64 v[19:20], v[19:20], 16
; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(2)
; SI-NEXT: v_and_b32_e32 v20, 0xffff0000, v20
; SI-NEXT: v_add_f32_e32 v20, 0x40c00000, v20
@@ -97780,9 +97850,9 @@ define inreg <16 x i64> @bitcast_v64bf16_to_v16i64_scalar(<64 x bfloat> inreg %a
; SI-NEXT: v_add_f32_e32 v21, 0x40c00000, v21
; SI-NEXT: v_lshrrev_b32_e32 v21, 16, v21
; SI-NEXT: v_lshr_b64 v[20:21], v[20:21], 16
-; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(2)
; SI-NEXT: v_and_b32_e32 v21, 0xffff0000, v21
; SI-NEXT: v_add_f32_e32 v21, 0x40c00000, v21
@@ -97793,16 +97863,18 @@ define inreg <16 x i64> @bitcast_v64bf16_to_v16i64_scalar(<64 x bfloat> inreg %a
; SI-NEXT: v_lshr_b64 v[21:22], v[21:22], 16
; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(2)
+; SI-NEXT: v_and_b32_e32 v22, 0xffff0000, v22
+; SI-NEXT: v_add_f32_e32 v22, 0x40c00000, v22
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v23, 0xffff0000, v50
+; SI-NEXT: v_and_b32_e32 v23, 0xffff0000, v23
; SI-NEXT: v_add_f32_e32 v23, 0x40c00000, v23
; SI-NEXT: v_lshrrev_b32_e32 v23, 16, v23
-; SI-NEXT: v_and_b32_e32 v22, 0xffff0000, v22
-; SI-NEXT: v_add_f32_e32 v22, 0x40c00000, v22
; SI-NEXT: v_lshr_b64 v[22:23], v[22:23], 16
; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(2)
; SI-NEXT: v_and_b32_e32 v23, 0xffff0000, v23
; SI-NEXT: v_add_f32_e32 v23, 0x40c00000, v23
@@ -97811,49 +97883,58 @@ define inreg <16 x i64> @bitcast_v64bf16_to_v16i64_scalar(<64 x bfloat> inreg %a
; SI-NEXT: v_add_f32_e32 v24, 0x40c00000, v24
; SI-NEXT: v_lshrrev_b32_e32 v24, 16, v24
; SI-NEXT: v_lshr_b64 v[23:24], v[23:24], 16
-; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_and_b32_e32 v24, 0xffff0000, v24
-; SI-NEXT: v_add_f32_e32 v24, 0x40c00000, v24
-; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_and_b32_e32 v24, 0xffff0000, v32
+; SI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
; SI-NEXT: v_and_b32_e32 v25, 0xffff0000, v25
; SI-NEXT: v_add_f32_e32 v25, 0x40c00000, v25
+; SI-NEXT: v_add_f32_e32 v24, 0x40c00000, v24
; SI-NEXT: v_lshrrev_b32_e32 v25, 16, v25
; SI-NEXT: v_lshr_b64 v[24:25], v[24:25], 16
-; SI-NEXT: v_and_b32_e32 v25, 0xffff0000, v52
+; SI-NEXT: v_and_b32_e32 v25, 0xffff0000, v50
; SI-NEXT: v_add_f32_e32 v25, 0x40c00000, v25
; SI-NEXT: v_lshr_b64 v[25:26], v[25:26], 16
-; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_and_b32_e32 v26, 0xffff0000, v26
-; SI-NEXT: v_add_f32_e32 v26, 0x40c00000, v26
+; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v27, 0xffff0000, v27
+; SI-NEXT: v_and_b32_e32 v27, 0xffff0000, v62
; SI-NEXT: v_add_f32_e32 v27, 0x40c00000, v27
; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v27
+; SI-NEXT: v_and_b32_e32 v31, 0xffff0000, v31
+; SI-NEXT: v_add_f32_e32 v31, 0x40c00000, v31
+; SI-NEXT: v_lshrrev_b32_e32 v31, 16, v31
+; SI-NEXT: v_and_b32_e32 v32, 0xffff0000, v32
+; SI-NEXT: v_add_f32_e32 v32, 0x40c00000, v32
+; SI-NEXT: v_and_b32_e32 v33, 0xffff0000, v33
+; SI-NEXT: v_add_f32_e32 v33, 0x40c00000, v33
+; SI-NEXT: v_lshrrev_b32_e32 v33, 16, v33
+; SI-NEXT: v_lshr_b64 v[32:33], v[32:33], 16
+; SI-NEXT: v_and_b32_e32 v26, 0xffff0000, v26
+; SI-NEXT: v_add_f32_e32 v26, 0x40c00000, v26
; SI-NEXT: v_lshr_b64 v[26:27], v[26:27], 16
-; SI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_and_b32_e32 v27, 0xffff0000, v27
-; SI-NEXT: v_add_f32_e32 v27, 0x40c00000, v27
+; SI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v28, 0xffff0000, v28
+; SI-NEXT: v_and_b32_e32 v28, 0xffff0000, v40
; SI-NEXT: v_add_f32_e32 v28, 0x40c00000, v28
; SI-NEXT: v_lshrrev_b32_e32 v28, 16, v28
+; SI-NEXT: v_and_b32_e32 v27, 0xffff0000, v27
+; SI-NEXT: v_add_f32_e32 v27, 0x40c00000, v27
; SI-NEXT: v_lshr_b64 v[27:28], v[27:28], 16
-; SI-NEXT: v_and_b32_e32 v28, 0xffff0000, v45
+; SI-NEXT: v_and_b32_e32 v28, 0xffff0000, v53
; SI-NEXT: v_add_f32_e32 v28, 0x40c00000, v28
; SI-NEXT: v_lshr_b64 v[28:29], v[28:29], 16
-; SI-NEXT: v_and_b32_e32 v29, 0xffff0000, v44
+; SI-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_and_b32_e32 v30, 0xffff0000, v37
+; SI-NEXT: v_add_f32_e32 v30, 0x40c00000, v30
+; SI-NEXT: v_lshrrev_b32_e32 v30, 16, v30
+; SI-NEXT: v_and_b32_e32 v29, 0xffff0000, v29
; SI-NEXT: v_add_f32_e32 v29, 0x40c00000, v29
; SI-NEXT: v_lshr_b64 v[29:30], v[29:30], 16
-; SI-NEXT: v_and_b32_e32 v30, 0xffff0000, v49
+; SI-NEXT: v_and_b32_e32 v30, 0xffff0000, v48
; SI-NEXT: v_add_f32_e32 v30, 0x40c00000, v30
; SI-NEXT: v_lshr_b64 v[30:31], v[30:31], 16
; SI-NEXT: v_mov_b32_e32 v31, v32
@@ -97868,7 +97949,6 @@ define inreg <16 x i64> @bitcast_v64bf16_to_v16i64_scalar(<64 x bfloat> inreg %a
; SI-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:28 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:32 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:36 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt expcnt(2)
; SI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:40 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:44 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:48 ; 4-byte Folded Reload
@@ -97880,7 +97960,7 @@ define inreg <16 x i64> @bitcast_v64bf16_to_v16i64_scalar(<64 x bfloat> inreg %a
; SI-NEXT: v_readlane_b32 s35, v63, 1
; SI-NEXT: v_readlane_b32 s34, v63, 0
; SI-NEXT: s_or_saveexec_b64 s[4:5], -1
-; SI-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:320 ; 4-byte Folded Reload
; SI-NEXT: s_mov_b64 exec, s[4:5]
; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0)
; SI-NEXT: s_setpc_b64 s[30:31]
@@ -101406,14 +101486,14 @@ define inreg <64 x half> @bitcast_v16i64_to_v64f16_scalar(<16 x i64> inreg %a, i
; SI-NEXT: v_writelane_b32 v33, s46, 15
; SI-NEXT: s_lshr_b64 s[56:57], s[4:5], 16
; SI-NEXT: s_lshr_b64 s[58:59], s[6:7], 16
-; SI-NEXT: s_lshr_b64 s[62:63], s[8:9], 16
-; SI-NEXT: s_lshr_b64 s[60:61], s[10:11], 16
+; SI-NEXT: s_lshr_b64 s[60:61], s[8:9], 16
+; SI-NEXT: s_lshr_b64 s[62:63], s[10:11], 16
; SI-NEXT: s_lshr_b64 s[72:73], s[12:13], 16
-; SI-NEXT: s_lshr_b64 s[74:75], s[14:15], 16
-; SI-NEXT: s_lshr_b64 s[76:77], s[40:41], 16
-; SI-NEXT: s_lshr_b64 s[78:79], s[42:43], 16
-; SI-NEXT: s_lshr_b64 s[88:89], s[44:45], 16
-; SI-NEXT: s_lshr_b64 s[46:47], s[28:29], 16
+; SI-NEXT: s_lshr_b64 s[46:47], s[14:15], 16
+; SI-NEXT: s_lshr_b64 s[74:75], s[40:41], 16
+; SI-NEXT: s_lshr_b64 s[76:77], s[42:43], 16
+; SI-NEXT: s_lshr_b64 s[78:79], s[44:45], 16
+; SI-NEXT: s_lshr_b64 s[88:89], s[28:29], 16
; SI-NEXT: s_lshr_b64 s[90:91], s[26:27], 16
; SI-NEXT: s_lshr_b64 s[92:93], s[24:25], 16
; SI-NEXT: s_lshr_b64 s[94:95], s[22:23], 16
@@ -101423,15 +101503,15 @@ define inreg <64 x half> @bitcast_v16i64_to_v64f16_scalar(<16 x i64> inreg %a, i
; SI-NEXT: s_mov_b64 s[36:37], 0
; SI-NEXT: s_branch .LBB65_3
; SI-NEXT: .LBB65_2:
-; SI-NEXT: ; implicit-def: $sgpr47
-; SI-NEXT: ; kill: killed $sgpr47
; SI-NEXT: ; implicit-def: $sgpr46
; SI-NEXT: ; kill: killed $sgpr46
-; SI-NEXT: s_mov_b64 s[36:37], -1
; SI-NEXT: ; implicit-def: $sgpr47
; SI-NEXT: ; kill: killed $sgpr47
+; SI-NEXT: s_mov_b64 s[36:37], -1
; SI-NEXT: ; implicit-def: $sgpr46
; SI-NEXT: ; kill: killed $sgpr46
+; SI-NEXT: ; implicit-def: $sgpr47
+; SI-NEXT: ; kill: killed $sgpr47
; SI-NEXT: ; implicit-def: $sgpr34
; SI-NEXT: ; implicit-def: $sgpr30
; SI-NEXT: ; implicit-def: $vcc_lo
@@ -101443,12 +101523,10 @@ define inreg <64 x half> @bitcast_v16i64_to_v64f16_scalar(<16 x i64> inreg %a, i
; SI-NEXT: ; implicit-def: $sgpr76
; SI-NEXT: ; implicit-def: $sgpr74
; SI-NEXT: ; implicit-def: $sgpr72
-; SI-NEXT: ; implicit-def: $sgpr60
; SI-NEXT: ; implicit-def: $sgpr62
+; SI-NEXT: ; implicit-def: $sgpr60
; SI-NEXT: ; implicit-def: $sgpr58
; SI-NEXT: ; implicit-def: $sgpr56
-; SI-NEXT: ; implicit-def: $sgpr47
-; SI-NEXT: ; kill: killed $sgpr47
; SI-NEXT: ; implicit-def: $sgpr46
; SI-NEXT: ; kill: killed $sgpr46
; SI-NEXT: ; implicit-def: $sgpr47
@@ -101466,12 +101544,14 @@ define inreg <64 x half> @bitcast_v16i64_to_v64f16_scalar(<16 x i64> inreg %a, i
; SI-NEXT: ; implicit-def: $sgpr47
; SI-NEXT: ; kill: killed $sgpr47
; SI-NEXT: ; implicit-def: $sgpr46
-; SI-NEXT: ; implicit-def: $sgpr47
-; SI-NEXT: ; kill: killed $sgpr47
-; SI-NEXT: ; implicit-def: $sgpr47
-; SI-NEXT: ; kill: killed $sgpr47
-; SI-NEXT: ; implicit-def: $sgpr47
-; SI-NEXT: ; kill: killed $sgpr47
+; SI-NEXT: ; kill: killed $sgpr46
+; SI-NEXT: ; implicit-def: $sgpr46
+; SI-NEXT: ; kill: killed $sgpr46
+; SI-NEXT: ; implicit-def: $sgpr46
+; SI-NEXT: ; kill: killed $sgpr46
+; SI-NEXT: ; implicit-def: $sgpr46
+; SI-NEXT: ; kill: killed $sgpr46
+; SI-NEXT: ; implicit-def: $sgpr46
; SI-NEXT: .LBB65_3: ; %Flow
; SI-NEXT: s_and_b64 s[36:37], s[36:37], exec
; SI-NEXT: s_cselect_b32 s47, 1, 0
@@ -101481,17 +101561,17 @@ define inreg <64 x half> @bitcast_v16i64_to_v64f16_scalar(<16 x i64> inreg %a, i
; SI-NEXT: v_readlane_b32 s47, v33, 2
; SI-NEXT: v_readlane_b32 s57, v33, 3
; SI-NEXT: v_readlane_b32 s59, v33, 4
-; SI-NEXT: v_readlane_b32 s61, v33, 5
-; SI-NEXT: v_readlane_b32 s38, v33, 6
-; SI-NEXT: v_readlane_b32 s39, v33, 7
-; SI-NEXT: v_readlane_b32 s63, v33, 8
-; SI-NEXT: v_readlane_b32 s48, v33, 9
-; SI-NEXT: v_readlane_b32 s73, v33, 10
-; SI-NEXT: v_readlane_b32 s49, v33, 11
-; SI-NEXT: v_readlane_b32 s75, v33, 12
-; SI-NEXT: v_readlane_b32 s50, v33, 13
-; SI-NEXT: v_readlane_b32 s77, v33, 14
-; SI-NEXT: v_readlane_b32 s51, v33, 15
+; SI-NEXT: v_readlane_b32 s38, v33, 5
+; SI-NEXT: v_readlane_b32 s39, v33, 6
+; SI-NEXT: v_readlane_b32 s61, v33, 7
+; SI-NEXT: v_readlane_b32 s48, v33, 8
+; SI-NEXT: v_readlane_b32 s63, v33, 9
+; SI-NEXT: v_readlane_b32 s49, v33, 10
+; SI-NEXT: v_readlane_b32 s73, v33, 11
+; SI-NEXT: v_readlane_b32 s50, v33, 12
+; SI-NEXT: v_readlane_b32 s75, v33, 13
+; SI-NEXT: v_readlane_b32 s51, v33, 14
+; SI-NEXT: v_readlane_b32 s77, v33, 15
; SI-NEXT: s_cbranch_scc1 .LBB65_5
; SI-NEXT: ; %bb.4: ; %cmp.true
; SI-NEXT: s_add_u32 s4, s4, 3
@@ -101526,40 +101606,40 @@ define inreg <64 x half> @bitcast_v16i64_to_v64f16_scalar(<16 x i64> inreg %a, i
; SI-NEXT: s_addc_u32 s19, s19, 0
; SI-NEXT: s_add_u32 s16, s16, 3
; SI-NEXT: s_addc_u32 s17, s17, 0
-; SI-NEXT: s_lshr_b32 s46, s45, 16
-; SI-NEXT: s_lshr_b32 s47, s27, 16
-; SI-NEXT: s_lshr_b32 s76, s23, 16
-; SI-NEXT: s_lshr_b64 s[62:63], s[8:9], 16
-; SI-NEXT: s_lshr_b64 s[72:73], s[12:13], 16
-; SI-NEXT: s_lshr_b64 s[74:75], s[14:15], 16
-; SI-NEXT: s_lshr_b32 s90, s9, 16
-; SI-NEXT: s_lshr_b32 s91, s11, 16
-; SI-NEXT: s_lshr_b32 s92, s13, 16
-; SI-NEXT: s_lshr_b32 s93, s15, 16
-; SI-NEXT: s_lshr_b32 s78, s19, 16
+; SI-NEXT: s_lshr_b32 s46, s43, 16
+; SI-NEXT: s_lshr_b32 s47, s29, 16
+; SI-NEXT: s_lshr_b64 s[60:61], s[8:9], 16
+; SI-NEXT: s_lshr_b64 s[62:63], s[10:11], 16
+; SI-NEXT: s_lshr_b32 s74, s9, 16
+; SI-NEXT: s_lshr_b32 s75, s11, 16
+; SI-NEXT: s_lshr_b32 s76, s13, 16
+; SI-NEXT: s_lshr_b32 s77, s25, 16
; SI-NEXT: s_lshr_b64 s[56:57], s[4:5], 16
; SI-NEXT: s_lshr_b64 s[58:59], s[6:7], 16
-; SI-NEXT: s_lshr_b64 s[60:61], s[10:11], 16
-; SI-NEXT: s_mov_b32 s63, s46
-; SI-NEXT: s_mov_b32 s73, s47
-; SI-NEXT: s_mov_b32 s75, s76
-; SI-NEXT: s_lshr_b64 s[76:77], s[40:41], 16
-; SI-NEXT: s_lshr_b64 s[46:47], s[28:29], 16
+; SI-NEXT: s_mov_b32 s61, s46
+; SI-NEXT: s_mov_b32 s63, s47
+; SI-NEXT: s_lshr_b64 s[72:73], s[12:13], 16
+; SI-NEXT: s_lshr_b64 s[46:47], s[14:15], 16
+; SI-NEXT: s_lshr_b32 s78, s21, 16
+; SI-NEXT: s_lshr_b32 s79, s17, 16
+; SI-NEXT: s_mov_b32 s73, s77
+; SI-NEXT: s_mov_b32 s59, s76
+; SI-NEXT: s_mov_b32 s57, s75
+; SI-NEXT: s_mov_b32 s47, s74
+; SI-NEXT: s_lshr_b64 s[74:75], s[40:41], 16
+; SI-NEXT: s_lshr_b64 s[76:77], s[42:43], 16
; SI-NEXT: s_lshr_b32 s36, s5, 16
; SI-NEXT: s_lshr_b32 s37, s7, 16
-; SI-NEXT: s_lshr_b32 s38, s41, 16
-; SI-NEXT: s_lshr_b32 s39, s43, 16
-; SI-NEXT: s_lshr_b32 s48, s29, 16
-; SI-NEXT: s_lshr_b32 s49, s25, 16
-; SI-NEXT: s_lshr_b32 s50, s21, 16
-; SI-NEXT: s_lshr_b32 s51, s17, 16
-; SI-NEXT: s_mov_b32 s77, s78
-; SI-NEXT: s_lshr_b64 s[78:79], s[42:43], 16
-; SI-NEXT: s_lshr_b64 s[88:89], s[44:45], 16
-; SI-NEXT: s_mov_b32 s61, s93
-; SI-NEXT: s_mov_b32 s59, s92
-; SI-NEXT: s_mov_b32 s57, s91
-; SI-NEXT: s_mov_b32 s47, s90
+; SI-NEXT: s_lshr_b32 s38, s15, 16
+; SI-NEXT: s_lshr_b32 s39, s41, 16
+; SI-NEXT: s_lshr_b32 s48, s45, 16
+; SI-NEXT: s_lshr_b32 s49, s27, 16
+; SI-NEXT: s_lshr_b32 s50, s23, 16
+; SI-NEXT: s_lshr_b32 s51, s19, 16
+; SI-NEXT: s_mov_b32 s75, s78
+; SI-NEXT: s_mov_b32 s77, s79
+; SI-NEXT: s_lshr_b64 s[78:79], s[44:45], 16
+; SI-NEXT: s_lshr_b64 s[88:89], s[28:29], 16
; SI-NEXT: s_lshr_b64 s[90:91], s[26:27], 16
; SI-NEXT: s_lshr_b64 s[92:93], s[24:25], 16
; SI-NEXT: s_lshr_b64 s[94:95], s[22:23], 16
@@ -101567,35 +101647,11 @@ define inreg <64 x half> @bitcast_v16i64_to_v64f16_scalar(<16 x i64> inreg %a, i
; SI-NEXT: s_lshr_b64 s[30:31], s[18:19], 16
; SI-NEXT: s_lshr_b64 s[34:35], s[16:17], 16
; SI-NEXT: .LBB65_5: ; %end
-; SI-NEXT: s_and_b32 s28, s28, 0xffff
-; SI-NEXT: s_lshl_b32 s46, s46, 16
-; SI-NEXT: s_or_b32 s28, s28, s46
-; SI-NEXT: s_and_b32 s29, s29, 0xffff
-; SI-NEXT: s_lshl_b32 s46, s48, 16
-; SI-NEXT: s_or_b32 s29, s29, s46
-; SI-NEXT: s_and_b32 s44, s44, 0xffff
-; SI-NEXT: s_lshl_b32 s46, s88, 16
-; SI-NEXT: s_or_b32 s44, s44, s46
-; SI-NEXT: s_and_b32 s45, s45, 0xffff
-; SI-NEXT: s_lshl_b32 s46, s63, 16
-; SI-NEXT: s_or_b32 s45, s45, s46
-; SI-NEXT: s_and_b32 s42, s42, 0xffff
-; SI-NEXT: s_lshl_b32 s46, s78, 16
-; SI-NEXT: s_or_b32 s42, s42, s46
-; SI-NEXT: s_and_b32 s43, s43, 0xffff
-; SI-NEXT: s_lshl_b32 s46, s39, 16
-; SI-NEXT: s_or_b32 s43, s43, s46
-; SI-NEXT: s_and_b32 s40, s40, 0xffff
-; SI-NEXT: s_lshl_b32 s46, s76, 16
-; SI-NEXT: s_or_b32 s40, s40, s46
-; SI-NEXT: s_and_b32 s41, s41, 0xffff
-; SI-NEXT: s_lshl_b32 s46, s38, 16
-; SI-NEXT: s_or_b32 s41, s41, s46
; SI-NEXT: s_and_b32 s14, s14, 0xffff
-; SI-NEXT: s_lshl_b32 s46, s74, 16
+; SI-NEXT: s_lshl_b32 s46, s46, 16
; SI-NEXT: s_or_b32 s14, s14, s46
; SI-NEXT: s_and_b32 s15, s15, 0xffff
-; SI-NEXT: s_lshl_b32 s46, s61, 16
+; SI-NEXT: s_lshl_b32 s46, s38, 16
; SI-NEXT: s_or_b32 s15, s15, s46
; SI-NEXT: s_and_b32 s12, s12, 0xffff
; SI-NEXT: s_lshl_b32 s46, s72, 16
@@ -101604,23 +101660,62 @@ define inreg <64 x half> @bitcast_v16i64_to_v64f16_scalar(<16 x i64> inreg %a, i
; SI-NEXT: s_lshl_b32 s46, s59, 16
; SI-NEXT: s_or_b32 s13, s13, s46
; SI-NEXT: s_and_b32 s10, s10, 0xffff
-; SI-NEXT: s_lshl_b32 s46, s60, 16
+; SI-NEXT: s_lshl_b32 s46, s62, 16
; SI-NEXT: s_or_b32 s10, s10, s46
; SI-NEXT: s_and_b32 s11, s11, 0xffff
; SI-NEXT: s_lshl_b32 s46, s57, 16
; SI-NEXT: s_or_b32 s11, s11, s46
; SI-NEXT: s_and_b32 s8, s8, 0xffff
-; SI-NEXT: s_lshl_b32 s46, s62, 16
+; SI-NEXT: s_lshl_b32 s46, s60, 16
; SI-NEXT: s_or_b32 s8, s8, s46
; SI-NEXT: s_and_b32 s9, s9, 0xffff
; SI-NEXT: s_lshl_b32 s46, s47, 16
-; SI-NEXT: s_and_b32 s19, s19, 0xffff
+; SI-NEXT: s_and_b32 s17, s17, 0xffff
; SI-NEXT: s_lshl_b32 s77, s77, 16
-; SI-NEXT: s_and_b32 s23, s23, 0xffff
+; SI-NEXT: s_and_b32 s21, s21, 0xffff
; SI-NEXT: s_lshl_b32 s75, s75, 16
+; SI-NEXT: s_and_b32 s25, s25, 0xffff
+; SI-NEXT: s_lshl_b32 s73, s73, 16
+; SI-NEXT: s_and_b32 s29, s29, 0xffff
+; SI-NEXT: s_lshl_b32 s63, s63, 16
; SI-NEXT: s_or_b32 s9, s9, s46
; SI-NEXT: s_and_b32 s6, s6, 0xffff
; SI-NEXT: s_lshl_b32 s46, s58, 16
+; SI-NEXT: s_or_b32 s17, s17, s77
+; SI-NEXT: s_lshl_b32 s77, s30, 16
+; SI-NEXT: s_and_b32 s18, s18, 0xffff
+; SI-NEXT: s_or_b32 s21, s21, s75
+; SI-NEXT: s_lshl_b32 s75, s94, 16
+; SI-NEXT: s_and_b32 s22, s22, 0xffff
+; SI-NEXT: s_or_b32 s25, s25, s73
+; SI-NEXT: s_and_b32 s26, s26, 0xffff
+; SI-NEXT: s_lshl_b32 s73, s90, 16
+; SI-NEXT: s_or_b32 s29, s29, s63
+; SI-NEXT: s_and_b32 s44, s44, 0xffff
+; SI-NEXT: s_lshl_b32 s63, s78, 16
+; SI-NEXT: s_and_b32 s43, s43, 0xffff
+; SI-NEXT: s_lshl_b32 s61, s61, 16
+; SI-NEXT: s_or_b32 s6, s6, s46
+; SI-NEXT: s_and_b32 s7, s7, 0xffff
+; SI-NEXT: s_lshl_b32 s46, s37, 16
+; SI-NEXT: s_or_b32 s18, s18, s77
+; SI-NEXT: s_and_b32 s19, s19, 0xffff
+; SI-NEXT: s_lshl_b32 s77, s51, 16
+; SI-NEXT: s_or_b32 s22, s22, s75
+; SI-NEXT: s_and_b32 s23, s23, 0xffff
+; SI-NEXT: s_lshl_b32 s75, s50, 16
+; SI-NEXT: s_or_b32 s26, s26, s73
+; SI-NEXT: s_and_b32 s27, s27, 0xffff
+; SI-NEXT: s_lshl_b32 s73, s49, 16
+; SI-NEXT: s_or_b32 s44, s44, s63
+; SI-NEXT: s_and_b32 s45, s45, 0xffff
+; SI-NEXT: s_lshl_b32 s63, s48, 16
+; SI-NEXT: s_or_b32 s43, s43, s61
+; SI-NEXT: s_and_b32 s40, s40, 0xffff
+; SI-NEXT: s_lshl_b32 s61, s74, 16
+; SI-NEXT: s_or_b32 s7, s7, s46
+; SI-NEXT: s_and_b32 s4, s4, 0xffff
+; SI-NEXT: s_lshl_b32 s46, s56, 16
; SI-NEXT: s_lshl_b32 s79, s34, 16
; SI-NEXT: s_and_b32 s16, s16, 0xffff
; SI-NEXT: s_or_b32 s19, s19, s77
@@ -101629,39 +101724,24 @@ define inreg <64 x half> @bitcast_v16i64_to_v64f16_scalar(<16 x i64> inreg %a, i
; SI-NEXT: s_or_b32 s23, s23, s75
; SI-NEXT: s_lshl_b32 s75, s92, 16
; SI-NEXT: s_and_b32 s24, s24, 0xffff
-; SI-NEXT: s_or_b32 s6, s6, s46
-; SI-NEXT: s_and_b32 s7, s7, 0xffff
-; SI-NEXT: s_lshl_b32 s46, s37, 16
-; SI-NEXT: s_or_b32 s16, s16, s79
-; SI-NEXT: s_and_b32 s17, s17, 0xffff
-; SI-NEXT: s_lshl_b32 s79, s51, 16
-; SI-NEXT: s_or_b32 s20, s20, s77
-; SI-NEXT: s_and_b32 s21, s21, 0xffff
-; SI-NEXT: s_lshl_b32 s77, s50, 16
-; SI-NEXT: s_or_b32 s24, s24, s75
-; SI-NEXT: s_and_b32 s25, s25, 0xffff
-; SI-NEXT: s_lshl_b32 s75, s49, 16
-; SI-NEXT: s_or_b32 s7, s7, s46
-; SI-NEXT: s_and_b32 s4, s4, 0xffff
-; SI-NEXT: s_lshl_b32 s46, s56, 16
-; SI-NEXT: s_or_b32 s17, s17, s79
-; SI-NEXT: s_lshl_b32 s79, s30, 16
-; SI-NEXT: s_and_b32 s18, s18, 0xffff
-; SI-NEXT: s_or_b32 s21, s21, s77
-; SI-NEXT: s_lshl_b32 s77, s94, 16
-; SI-NEXT: s_and_b32 s22, s22, 0xffff
-; SI-NEXT: s_or_b32 s25, s25, s75
-; SI-NEXT: s_and_b32 s26, s26, 0xffff
-; SI-NEXT: s_lshl_b32 s75, s90, 16
-; SI-NEXT: s_and_b32 s27, s27, 0xffff
-; SI-NEXT: s_lshl_b32 s73, s73, 16
+; SI-NEXT: s_or_b32 s27, s27, s73
+; SI-NEXT: s_and_b32 s28, s28, 0xffff
+; SI-NEXT: s_lshl_b32 s73, s88, 16
+; SI-NEXT: s_or_b32 s45, s45, s63
+; SI-NEXT: s_and_b32 s42, s42, 0xffff
+; SI-NEXT: s_lshl_b32 s63, s76, 16
+; SI-NEXT: s_or_b32 s40, s40, s61
+; SI-NEXT: s_and_b32 s41, s41, 0xffff
+; SI-NEXT: s_lshl_b32 s61, s39, 16
; SI-NEXT: s_or_b32 s4, s4, s46
; SI-NEXT: s_and_b32 s5, s5, 0xffff
; SI-NEXT: s_lshl_b32 s46, s36, 16
-; SI-NEXT: s_or_b32 s18, s18, s79
-; SI-NEXT: s_or_b32 s22, s22, s77
-; SI-NEXT: s_or_b32 s26, s26, s75
-; SI-NEXT: s_or_b32 s27, s27, s73
+; SI-NEXT: s_or_b32 s16, s16, s79
+; SI-NEXT: s_or_b32 s20, s20, s77
+; SI-NEXT: s_or_b32 s24, s24, s75
+; SI-NEXT: s_or_b32 s28, s28, s73
+; SI-NEXT: s_or_b32 s42, s42, s63
+; SI-NEXT: s_or_b32 s41, s41, s61
; SI-NEXT: s_or_b32 s5, s5, s46
; SI-NEXT: v_readlane_b32 s30, v32, 10
; SI-NEXT: v_mov_b32_e32 v0, s16
@@ -104673,14 +104753,14 @@ define inreg <64 x i16> @bitcast_v16i64_to_v64i16_scalar(<16 x i64> inreg %a, i3
; SI-NEXT: v_writelane_b32 v33, s46, 15
; SI-NEXT: s_lshr_b64 s[56:57], s[4:5], 16
; SI-NEXT: s_lshr_b64 s[58:59], s[6:7], 16
-; SI-NEXT: s_lshr_b64 s[62:63], s[8:9], 16
-; SI-NEXT: s_lshr_b64 s[60:61], s[10:11], 16
+; SI-NEXT: s_lshr_b64 s[60:61], s[8:9], 16
+; SI-NEXT: s_lshr_b64 s[62:63], s[10:11], 16
; SI-NEXT: s_lshr_b64 s[72:73], s[12:13], 16
-; SI-NEXT: s_lshr_b64 s[74:75], s[14:15], 16
-; SI-NEXT: s_lshr_b64 s[76:77], s[40:41], 16
-; SI-NEXT: s_lshr_b64 s[78:79], s[42:43], 16
-; SI-NEXT: s_lshr_b64 s[88:89], s[44:45], 16
-; SI-NEXT: s_lshr_b64 s[46:47], s[28:29], 16
+; SI-NEXT: s_lshr_b64 s[46:47], s[14:15], 16
+; SI-NEXT: s_lshr_b64 s[74:75], s[40:41], 16
+; SI-NEXT: s_lshr_b64 s[76:77], s[42:43], 16
+; SI-NEXT: s_lshr_b64 s[78:79], s[44:45], 16
+; SI-NEXT: s_lshr_b64 s[88:89], s[28:29], 16
; SI-NEXT: s_lshr_b64 s[90:91], s[26:27], 16
; SI-NEXT: s_lshr_b64 s[92:93], s[24:25], 16
; SI-NEXT: s_lshr_b64 s[94:95], s[22:23], 16
@@ -104690,15 +104770,15 @@ define inreg <64 x i16> @bitcast_v16i64_to_v64i16_scalar(<16 x i64> inreg %a, i3
; SI-NEXT: s_mov_b64 s[36:37], 0
; SI-NEXT: s_branch .LBB69_3
; SI-NEXT: .LBB69_2:
-; SI-NEXT: ; implicit-def: $sgpr47
-; SI-NEXT: ; kill: killed $sgpr47
; SI-NEXT: ; implicit-def: $sgpr46
; SI-NEXT: ; kill: killed $sgpr46
-; SI-NEXT: s_mov_b64 s[36:37], -1
; SI-NEXT: ; implicit-def: $sgpr47
; SI-NEXT: ; kill: killed $sgpr47
+; SI-NEXT: s_mov_b64 s[36:37], -1
; SI-NEXT: ; implicit-def: $sgpr46
; SI-NEXT: ; kill: killed $sgpr46
+; SI-NEXT: ; implicit-def: $sgpr47
+; SI-NEXT: ; kill: killed $sgpr47
; SI-NEXT: ; implicit-def: $sgpr34
; SI-NEXT: ; implicit-def: $sgpr30
; SI-NEXT: ; implicit-def: $vcc_lo
@@ -104710,12 +104790,10 @@ define inreg <64 x i16> @bitcast_v16i64_to_v64i16_scalar(<16 x i64> inreg %a, i3
; SI-NEXT: ; implicit-def: $sgpr76
; SI-NEXT: ; implicit-def: $sgpr74
; SI-NEXT: ; implicit-def: $sgpr72
-; SI-NEXT: ; implicit-def: $sgpr60
; SI-NEXT: ; implicit-def: $sgpr62
+; SI-NEXT: ; implicit-def: $sgpr60
; SI-NEXT: ; implicit-def: $sgpr58
; SI-NEXT: ; implicit-def: $sgpr56
-; SI-NEXT: ; implicit-def: $sgpr47
-; SI-NEXT: ; kill: killed $sgpr47
; SI-NEXT: ; implicit-def: $sgpr46
; SI-NEXT: ; kill: killed $sgpr46
; SI-NEXT: ; implicit-def: $sgpr47
@@ -104733,12 +104811,14 @@ define inreg <64 x i16> @bitcast_v16i64_to_v64i16_scalar(<16 x i64> inreg %a, i3
; SI-NEXT: ; implicit-def: $sgpr47
; SI-NEXT: ; kill: killed $sgpr47
; SI-NEXT: ; implicit-def: $sgpr46
-; SI-NEXT: ; implicit-def: $sgpr47
-; SI-NEXT: ; kill: killed $sgpr47
-; SI-NEXT: ; implicit-def: $sgpr47
-; SI-NEXT: ; kill: killed $sgpr47
-; SI-NEXT: ; implicit-def: $sgpr47
-; SI-NEXT: ; kill: killed $sgpr47
+; SI-NEXT: ; kill: killed $sgpr46
+; SI-NEXT: ; implicit-def: $sgpr46
+; SI-NEXT: ; kill: killed $sgpr46
+; SI-NEXT: ; implicit-def: $sgpr46
+; SI-NEXT: ; kill: killed $sgpr46
+; SI-NEXT: ; implicit-def: $sgpr46
+; SI-NEXT: ; kill: killed $sgpr46
+; SI-NEXT: ; implicit-def: $sgpr46
; SI-NEXT: .LBB69_3: ; %Flow
; SI-NEXT: s_and_b64 s[36:37], s[36:37], exec
; SI-NEXT: s_cselect_b32 s47, 1, 0
@@ -104748,17 +104828,17 @@ define inreg <64 x i16> @bitcast_v16i64_to_v64i16_scalar(<16 x i64> inreg %a, i3
; SI-NEXT: v_readlane_b32 s47, v33, 2
; SI-NEXT: v_readlane_b32 s57, v33, 3
; SI-NEXT: v_readlane_b32 s59, v33, 4
-; SI-NEXT: v_readlane_b32 s61, v33, 5
-; SI-NEXT: v_readlane_b32 s38, v33, 6
-; SI-NEXT: v_readlane_b32 s39, v33, 7
-; SI-NEXT: v_readlane_b32 s63, v33, 8
-; SI-NEXT: v_readlane_b32 s48, v33, 9
-; SI-NEXT: v_readlane_b32 s73, v33, 10
-; SI-NEXT: v_readlane_b32 s49, v33, 11
-; SI-NEXT: v_readlane_b32 s75, v33, 12
-; SI-NEXT: v_readlane_b32 s50, v33, 13
-; SI-NEXT: v_readlane_b32 s77, v33, 14
-; SI-NEXT: v_readlane_b32 s51, v33, 15
+; SI-NEXT: v_readlane_b32 s38, v33, 5
+; SI-NEXT: v_readlane_b32 s39, v33, 6
+; SI-NEXT: v_readlane_b32 s61, v33, 7
+; SI-NEXT: v_readlane_b32 s48, v33, 8
+; SI-NEXT: v_readlane_b32 s63, v33, 9
+; SI-NEXT: v_readlane_b32 s49, v33, 10
+; SI-NEXT: v_readlane_b32 s73, v33, 11
+; SI-NEXT: v_readlane_b32 s50, v33, 12
+; SI-NEXT: v_readlane_b32 s75, v33, 13
+; SI-NEXT: v_readlane_b32 s51, v33, 14
+; SI-NEXT: v_readlane_b32 s77, v33, 15
; SI-NEXT: s_cbranch_scc1 .LBB69_5
; SI-NEXT: ; %bb.4: ; %cmp.true
; SI-NEXT: s_add_u32 s4, s4, 3
@@ -104793,40 +104873,40 @@ define inreg <64 x i16> @bitcast_v16i64_to_v64i16_scalar(<16 x i64> inreg %a, i3
; SI-NEXT: s_addc_u32 s19, s19, 0
; SI-NEXT: s_add_u32 s16, s16, 3
; SI-NEXT: s_addc_u32 s17, s17, 0
-; SI-NEXT: s_lshr_b32 s46, s45, 16
-; SI-NEXT: s_lshr_b32 s47, s27, 16
-; SI-NEXT: s_lshr_b32 s76, s23, 16
-; SI-NEXT: s_lshr_b64 s[62:63], s[8:9], 16
-; SI-NEXT: s_lshr_b64 s[72:73], s[12:13], 16
-; SI-NEXT: s_lshr_b64 s[74:75], s[14:15], 16
-; SI-NEXT: s_lshr_b32 s90, s9, 16
-; SI-NEXT: s_lshr_b32 s91, s11, 16
-; SI-NEXT: s_lshr_b32 s92, s13, 16
-; SI-NEXT: s_lshr_b32 s93, s15, 16
-; SI-NEXT: s_lshr_b32 s78, s19, 16
+; SI-NEXT: s_lshr_b32 s46, s43, 16
+; SI-NEXT: s_lshr_b32 s47, s29, 16
+; SI-NEXT: s_lshr_b64 s[60:61], s[8:9], 16
+; SI-NEXT: s_lshr_b64 s[62:63], s[10:11], 16
+; SI-NEXT: s_lshr_b32 s74, s9, 16
+; SI-NEXT: s_lshr_b32 s75, s11, 16
+; SI-NEXT: s_lshr_b32 s76, s13, 16
+; SI-NEXT: s_lshr_b32 s77, s25, 16
; SI-NEXT: s_lshr_b64 s[56:57], s[4:5], 16
; SI-NEXT: s_lshr_b64 s[58:59], s[6:7], 16
-; SI-NEXT: s_lshr_b64 s[60:61], s[10:11], 16
-; SI-NEXT: s_mov_b32 s63, s46
-; SI-NEXT: s_mov_b32 s73, s47
-; SI-NEXT: s_mov_b32 s75, s76
-; SI-NEXT: s_lshr_b64 s[76:77], s[40:41], 16
-; SI-NEXT: s_lshr_b64 s[46:47], s[28:29], 16
+; SI-NEXT: s_mov_b32 s61, s46
+; SI-NEXT: s_mov_b32 s63, s47
+; SI-NEXT: s_lshr_b64 s[72:73], s[12:13], 16
+; SI-NEXT: s_lshr_b64 s[46:47], s[14:15], 16
+; SI-NEXT: s_lshr_b32 s78, s21, 16
+; SI-NEXT: s_lshr_b32 s79, s17, 16
+; SI-NEXT: s_mov_b32 s73, s77
+; SI-NEXT: s_mov_b32 s59, s76
+; SI-NEXT: s_mov_b32 s57, s75
+; SI-NEXT: s_mov_b32 s47, s74
+; SI-NEXT: s_lshr_b64 s[74:75], s[40:41], 16
+; SI-NEXT: s_lshr_b64 s[76:77], s[42:43], 16
; SI-NEXT: s_lshr_b32 s36, s5, 16
; SI-NEXT: s_lshr_b32 s37, s7, 16
-; SI-NEXT: s_lshr_b32 s38, s41, 16
-; SI-NEXT: s_lshr_b32 s39, s43, 16
-; SI-NEXT: s_lshr_b32 s48, s29, 16
-; SI-NEXT: s_lshr_b32 s49, s25, 16
-; SI-NEXT: s_lshr_b32 s50, s21, 16
-; SI-NEXT: s_lshr_b32 s51, s17, 16
-; SI-NEXT: s_mov_b32 s77, s78
-; SI-NEXT: s_lshr_b64 s[78:79], s[42:43], 16
-; SI-NEXT: s_lshr_b64 s[88:89], s[44:45], 16
-; SI-NEXT: s_mov_b32 s61, s93
-; SI-NEXT: s_mov_b32 s59, s92
-; SI-NEXT: s_mov_b32 s57, s91
-; SI-NEXT: s_mov_b32 s47, s90
+; SI-NEXT: s_lshr_b32 s38, s15, 16
+; SI-NEXT: s_lshr_b32 s39, s41, 16
+; SI-NEXT: s_lshr_b32 s48, s45, 16
+; SI-NEXT: s_lshr_b32 s49, s27, 16
+; SI-NEXT: s_lshr_b32 s50, s23, 16
+; SI-NEXT: s_lshr_b32 s51, s19, 16
+; SI-NEXT: s_mov_b32 s75, s78
+; SI-NEXT: s_mov_b32 s77, s79
+; SI-NEXT: s_lshr_b64 s[78:79], s[44:45], 16
+; SI-NEXT: s_lshr_b64 s[88:89], s[28:29], 16
; SI-NEXT: s_lshr_b64 s[90:91], s[26:27], 16
; SI-NEXT: s_lshr_b64 s[92:93], s[24:25], 16
; SI-NEXT: s_lshr_b64 s[94:95], s[22:23], 16
@@ -104834,35 +104914,11 @@ define inreg <64 x i16> @bitcast_v16i64_to_v64i16_scalar(<16 x i64> inreg %a, i3
; SI-NEXT: s_lshr_b64 s[30:31], s[18:19], 16
; SI-NEXT: s_lshr_b64 s[34:35], s[16:17], 16
; SI-NEXT: .LBB69_5: ; %end
-; SI-NEXT: s_and_b32 s28, s28, 0xffff
-; SI-NEXT: s_lshl_b32 s46, s46, 16
-; SI-NEXT: s_or_b32 s28, s28, s46
-; SI-NEXT: s_and_b32 s29, s29, 0xffff
-; SI-NEXT: s_lshl_b32 s46, s48, 16
-; SI-NEXT: s_or_b32 s29, s29, s46
-; SI-NEXT: s_and_b32 s44, s44, 0xffff
-; SI-NEXT: s_lshl_b32 s46, s88, 16
-; SI-NEXT: s_or_b32 s44, s44, s46
-; SI-NEXT: s_and_b32 s45, s45, 0xffff
-; SI-NEXT: s_lshl_b32 s46, s63, 16
-; SI-NEXT: s_or_b32 s45, s45, s46
-; SI-NEXT: s_and_b32 s42, s42, 0xffff
-; SI-NEXT: s_lshl_b32 s46, s78, 16
-; SI-NEXT: s_or_b32 s42, s42, s46
-; SI-NEXT: s_and_b32 s43, s43, 0xffff
-; SI-NEXT: s_lshl_b32 s46, s39, 16
-; SI-NEXT: s_or_b32 s43, s43, s46
-; SI-NEXT: s_and_b32 s40, s40, 0xffff
-; SI-NEXT: s_lshl_b32 s46, s76, 16
-; SI-NEXT: s_or_b32 s40, s40, s46
-; SI-NEXT: s_and_b32 s41, s41, 0xffff
-; SI-NEXT: s_lshl_b32 s46, s38, 16
-; SI-NEXT: s_or_b32 s41, s41, s46
; SI-NEXT: s_and_b32 s14, s14, 0xffff
-; SI-NEXT: s_lshl_b32 s46, s74, 16
+; SI-NEXT: s_lshl_b32 s46, s46, 16
; SI-NEXT: s_or_b32 s14, s14, s46
; SI-NEXT: s_and_b32 s15, s15, 0xffff
-; SI-NEXT: s_lshl_b32 s46, s61, 16
+; SI-NEXT: s_lshl_b32 s46, s38, 16
; SI-NEXT: s_or_b32 s15, s15, s46
; SI-NEXT: s_and_b32 s12, s12, 0xffff
; SI-NEXT: s_lshl_b32 s46, s72, 16
@@ -104871,23 +104927,62 @@ define inreg <64 x i16> @bitcast_v16i64_to_v64i16_scalar(<16 x i64> inreg %a, i3
; SI-NEXT: s_lshl_b32 s46, s59, 16
; SI-NEXT: s_or_b32 s13, s13, s46
; SI-NEXT: s_and_b32 s10, s10, 0xffff
-; SI-NEXT: s_lshl_b32 s46, s60, 16
+; SI-NEXT: s_lshl_b32 s46, s62, 16
; SI-NEXT: s_or_b32 s10, s10, s46
; SI-NEXT: s_and_b32 s11, s11, 0xffff
; SI-NEXT: s_lshl_b32 s46, s57, 16
; SI-NEXT: s_or_b32 s11, s11, s46
; SI-NEXT: s_and_b32 s8, s8, 0xffff
-; SI-NEXT: s_lshl_b32 s46, s62, 16
+; SI-NEXT: s_lshl_b32 s46, s60, 16
; SI-NEXT: s_or_b32 s8, s8, s46
; SI-NEXT: s_and_b32 s9, s9, 0xffff
; SI-NEXT: s_lshl_b32 s46, s47, 16
-; SI-NEXT: s_and_b32 s19, s19, 0xffff
+; SI-NEXT: s_and_b32 s17, s17, 0xffff
; SI-NEXT: s_lshl_b32 s77, s77, 16
-; SI-NEXT: s_and_b32 s23, s23, 0xffff
+; SI-NEXT: s_and_b32 s21, s21, 0xffff
; SI-NEXT: s_lshl_b32 s75, s75, 16
+; SI-NEXT: s_and_b32 s25, s25, 0xffff
+; SI-NEXT: s_lshl_b32 s73, s73, 16
+; SI-NEXT: s_and_b32 s29, s29, 0xffff
+; SI-NEXT: s_lshl_b32 s63, s63, 16
; SI-NEXT: s_or_b32 s9, s9, s46
; SI-NEXT: s_and_b32 s6, s6, 0xffff
; SI-NEXT: s_lshl_b32 s46, s58, 16
+; SI-NEXT: s_or_b32 s17, s17, s77
+; SI-NEXT: s_lshl_b32 s77, s30, 16
+; SI-NEXT: s_and_b32 s18, s18, 0xffff
+; SI-NEXT: s_or_b32 s21, s21, s75
+; SI-NEXT: s_lshl_b32 s75, s94, 16
+; SI-NEXT: s_and_b32 s22, s22, 0xffff
+; SI-NEXT: s_or_b32 s25, s25, s73
+; SI-NEXT: s_and_b32 s26, s26, 0xffff
+; SI-NEXT: s_lshl_b32 s73, s90, 16
+; SI-NEXT: s_or_b32 s29, s29, s63
+; SI-NEXT: s_and_b32 s44, s44, 0xffff
+; SI-NEXT: s_lshl_b32 s63, s78, 16
+; SI-NEXT: s_and_b32 s43, s43, 0xffff
+; SI-NEXT: s_lshl_b32 s61, s61, 16
+; SI-NEXT: s_or_b32 s6, s6, s46
+; SI-NEXT: s_and_b32 s7, s7, 0xffff
+; SI-NEXT: s_lshl_b32 s46, s37, 16
+; SI-NEXT: s_or_b32 s18, s18, s77
+; SI-NEXT: s_and_b32 s19, s19, 0xffff
+; SI-NEXT: s_lshl_b32 s77, s51, 16
+; SI-NEXT: s_or_b32 s22, s22, s75
+; SI-NEXT: s_and_b32 s23, s23, 0xffff
+; SI-NEXT: s_lshl_b32 s75, s50, 16
+; SI-NEXT: s_or_b32 s26, s26, s73
+; SI-NEXT: s_and_b32 s27, s27, 0xffff
+; SI-NEXT: s_lshl_b32 s73, s49, 16
+; SI-NEXT: s_or_b32 s44, s44, s63
+; SI-NEXT: s_and_b32 s45, s45, 0xffff
+; SI-NEXT: s_lshl_b32 s63, s48, 16
+; SI-NEXT: s_or_b32 s43, s43, s61
+; SI-NEXT: s_and_b32 s40, s40, 0xffff
+; SI-NEXT: s_lshl_b32 s61, s74, 16
+; SI-NEXT: s_or_b32 s7, s7, s46
+; SI-NEXT: s_and_b32 s4, s4, 0xffff
+; SI-NEXT: s_lshl_b32 s46, s56, 16
; SI-NEXT: s_lshl_b32 s79, s34, 16
; SI-NEXT: s_and_b32 s16, s16, 0xffff
; SI-NEXT: s_or_b32 s19, s19, s77
@@ -104896,39 +104991,24 @@ define inreg <64 x i16> @bitcast_v16i64_to_v64i16_scalar(<16 x i64> inreg %a, i3
; SI-NEXT: s_or_b32 s23, s23, s75
; SI-NEXT: s_lshl_b32 s75, s92, 16
; SI-NEXT: s_and_b32 s24, s24, 0xffff
-; SI-NEXT: s_or_b32 s6, s6, s46
-; SI-NEXT: s_and_b32 s7, s7, 0xffff
-; SI-NEXT: s_lshl_b32 s46, s37, 16
-; SI-NEXT: s_or_b32 s16, s16, s79
-; SI-NEXT: s_and_b32 s17, s17, 0xffff
-; SI-NEXT: s_lshl_b32 s79, s51, 16
-; SI-NEXT: s_or_b32 s20, s20, s77
-; SI-NEXT: s_and_b32 s21, s21, 0xffff
-; SI-NEXT: s_lshl_b32 s77, s50, 16
-; SI-NEXT: s_or_b32 s24, s24, s75
-; SI-NEXT: s_and_b32 s25, s25, 0xffff
-; SI-NEXT: s_lshl_b32 s75, s49, 16
-; SI-NEXT: s_or_b32 s7, s7, s46
-; SI-NEXT: s_and_b32 s4, s4, 0xffff
-; SI-NEXT: s_lshl_b32 s46, s56, 16
-; SI-NEXT: s_or_b32 s17, s17, s79
-; SI-NEXT: s_lshl_b32 s79, s30, 16
-; SI-NEXT: s_and_b32 s18, s18, 0xffff
-; SI-NEXT: s_or_b32 s21, s21, s77
-; SI-NEXT: s_lshl_b32 s77, s94, 16
-; SI-NEXT: s_and_b32 s22, s22, 0xffff
-; SI-NEXT: s_or_b32 s25, s25, s75
-; SI-NEXT: s_and_b32 s26, s26, 0xffff
-; SI-NEXT: s_lshl_b32 s75, s90, 16
-; SI-NEXT: s_and_b32 s27, s27, 0xffff
-; SI-NEXT: s_lshl_b32 s73, s73, 16
+; SI-NEXT: s_or_b32 s27, s27, s73
+; SI-NEXT: s_and_b32 s28, s28, 0xffff
+; SI-NEXT: s_lshl_b32 s73, s88, 16
+; SI-NEXT: s_or_b32 s45, s45, s63
+; SI-NEXT: s_and_b32 s42, s42, 0xffff
+; SI-NEXT: s_lshl_b32 s63, s76, 16
+; SI-NEXT: s_or_b32 s40, s40, s61
+; SI-NEXT: s_and_b32 s41, s41, 0xffff
+; SI-NEXT: s_lshl_b32 s61, s39, 16
; SI-NEXT: s_or_b32 s4, s4, s46
; SI-NEXT: s_and_b32 s5, s5, 0xffff
; SI-NEXT: s_lshl_b32 s46, s36, 16
-; SI-NEXT: s_or_b32 s18, s18, s79
-; SI-NEXT: s_or_b32 s22, s22, s77
-; SI-NEXT: s_or_b32 s26, s26, s75
-; SI-NEXT: s_or_b32 s27, s27, s73
+; SI-NEXT: s_or_b32 s16, s16, s79
+; SI-NEXT: s_or_b32 s20, s20, s77
+; SI-NEXT: s_or_b32 s24, s24, s75
+; SI-NEXT: s_or_b32 s28, s28, s73
+; SI-NEXT: s_or_b32 s42, s42, s63
+; SI-NEXT: s_or_b32 s41, s41, s61
; SI-NEXT: s_or_b32 s5, s5, s46
; SI-NEXT: v_readlane_b32 s30, v32, 10
; SI-NEXT: v_mov_b32_e32 v0, s16
@@ -106151,11 +106231,11 @@ define inreg <16 x i64> @bitcast_v64i16_to_v16i64_scalar(<64 x i16> inreg %a, i3
; SI-NEXT: s_lshr_b32 s67, s7, 16
; SI-NEXT: s_lshr_b32 s10, s9, 16
; SI-NEXT: s_lshr_b32 s12, s11, 16
-; SI-NEXT: s_lshr_b32 s14, s13, 16
+; SI-NEXT: s_lshr_b32 s64, s13, 16
; SI-NEXT: s_lshr_b32 s63, s15, 16
-; SI-NEXT: s_lshr_b32 s62, s73, 16
-; SI-NEXT: s_lshr_b32 s61, s75, 16
-; SI-NEXT: s_lshr_b32 s60, s77, 16
+; SI-NEXT: s_lshr_b32 s72, s73, 16
+; SI-NEXT: s_lshr_b32 s74, s75, 16
+; SI-NEXT: s_lshr_b32 s76, s77, 16
; SI-NEXT: s_lshr_b32 s78, s79, 16
; SI-NEXT: s_lshr_b32 s88, s89, 16
; SI-NEXT: s_lshr_b32 s90, s91, 16
@@ -106170,8 +106250,8 @@ define inreg <16 x i64> @bitcast_v64i16_to_v16i64_scalar(<64 x i16> inreg %a, i3
; SI-NEXT: ; implicit-def: $vgpr33 : SGPR spill to VGPR lane
; SI-NEXT: s_cmp_lg_u32 s5, 0
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_writelane_b32 v33, s14, 0
-; SI-NEXT: v_writelane_b32 v33, s63, 1
+; SI-NEXT: v_writelane_b32 v33, s12, 0
+; SI-NEXT: v_writelane_b32 v33, s64, 1
; SI-NEXT: s_cbranch_scc0 .LBB71_2
; SI-NEXT: ; %bb.1: ; %cmp.false
; SI-NEXT: s_and_b32 s5, s16, 0xffff
@@ -106248,22 +106328,20 @@ define inreg <16 x i64> @bitcast_v64i16_to_v16i64_scalar(<64 x i16> inreg %a, i3
; SI-NEXT: s_lshl_b32 s5, s78, 16
; SI-NEXT: s_or_b32 s59, s4, s5
; SI-NEXT: s_and_b32 s4, s77, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s60, 16
-; SI-NEXT: s_mov_b32 s74, s60
+; SI-NEXT: s_lshl_b32 s5, s76, 16
; SI-NEXT: s_or_b32 s60, s4, s5
; SI-NEXT: s_and_b32 s4, s75, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s61, 16
-; SI-NEXT: s_mov_b32 s76, s61
+; SI-NEXT: s_lshl_b32 s5, s74, 16
; SI-NEXT: s_or_b32 s61, s4, s5
; SI-NEXT: s_and_b32 s4, s73, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s62, 16
-; SI-NEXT: s_mov_b32 s72, s62
+; SI-NEXT: s_lshl_b32 s5, s72, 16
; SI-NEXT: s_or_b32 s62, s4, s5
; SI-NEXT: s_and_b32 s4, s15, 0xffff
; SI-NEXT: s_lshl_b32 s5, s63, 16
+; SI-NEXT: s_mov_b32 s14, s63
; SI-NEXT: s_or_b32 s63, s4, s5
; SI-NEXT: s_and_b32 s4, s13, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s14, 16
+; SI-NEXT: s_lshl_b32 s5, s64, 16
; SI-NEXT: s_or_b32 s64, s4, s5
; SI-NEXT: s_and_b32 s4, s11, 0xffff
; SI-NEXT: s_lshl_b32 s5, s12, 16
@@ -106273,17 +106351,13 @@ define inreg <16 x i64> @bitcast_v64i16_to_v16i64_scalar(<64 x i16> inreg %a, i3
; SI-NEXT: s_or_b32 s66, s4, s5
; SI-NEXT: s_and_b32 s4, s7, 0xffff
; SI-NEXT: s_lshl_b32 s5, s67, 16
-; SI-NEXT: s_mov_b32 s14, s12
; SI-NEXT: s_mov_b32 s12, s10
; SI-NEXT: s_mov_b32 s10, s67
; SI-NEXT: s_or_b32 s67, s4, s5
; SI-NEXT: s_mov_b64 s[4:5], 0
; SI-NEXT: s_branch .LBB71_3
; SI-NEXT: .LBB71_2:
-; SI-NEXT: s_mov_b32 s74, s60
-; SI-NEXT: s_mov_b32 s76, s61
-; SI-NEXT: s_mov_b32 s72, s62
-; SI-NEXT: s_mov_b32 s14, s12
+; SI-NEXT: s_mov_b32 s14, s63
; SI-NEXT: s_mov_b32 s12, s10
; SI-NEXT: s_mov_b32 s10, s67
; SI-NEXT: s_mov_b32 s8, s4
@@ -106417,12 +106491,12 @@ define inreg <16 x i64> @bitcast_v64i16_to_v16i64_scalar(<64 x i16> inreg %a, i3
; SI-NEXT: s_add_i32 s77, s77, 3
; SI-NEXT: s_add_i32 s59, s4, 0x30000
; SI-NEXT: s_and_b32 s4, s77, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s74, 16
+; SI-NEXT: s_lshl_b32 s5, s76, 16
; SI-NEXT: s_or_b32 s4, s5, s4
; SI-NEXT: s_add_i32 s75, s75, 3
; SI-NEXT: s_add_i32 s60, s4, 0x30000
; SI-NEXT: s_and_b32 s4, s75, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s76, 16
+; SI-NEXT: s_lshl_b32 s5, s74, 16
; SI-NEXT: s_or_b32 s4, s5, s4
; SI-NEXT: s_add_i32 s73, s73, 3
; SI-NEXT: s_add_i32 s61, s4, 0x30000
@@ -106430,21 +106504,21 @@ define inreg <16 x i64> @bitcast_v64i16_to_v16i64_scalar(<64 x i16> inreg %a, i3
; SI-NEXT: s_lshl_b32 s5, s72, 16
; SI-NEXT: s_or_b32 s4, s5, s4
; SI-NEXT: s_add_i32 s15, s15, 3
-; SI-NEXT: v_readlane_b32 s5, v33, 1
; SI-NEXT: s_add_i32 s62, s4, 0x30000
; SI-NEXT: s_and_b32 s4, s15, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s5, 16
+; SI-NEXT: s_lshl_b32 s5, s14, 16
; SI-NEXT: s_or_b32 s4, s5, s4
; SI-NEXT: s_add_i32 s13, s13, 3
-; SI-NEXT: v_readlane_b32 s5, v33, 0
+; SI-NEXT: v_readlane_b32 s5, v33, 1
; SI-NEXT: s_add_i32 s63, s4, 0x30000
; SI-NEXT: s_and_b32 s4, s13, 0xffff
; SI-NEXT: s_lshl_b32 s5, s5, 16
; SI-NEXT: s_or_b32 s4, s5, s4
; SI-NEXT: s_add_i32 s11, s11, 3
+; SI-NEXT: v_readlane_b32 s5, v33, 0
; SI-NEXT: s_add_i32 s64, s4, 0x30000
; SI-NEXT: s_and_b32 s4, s11, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s14, 16
+; SI-NEXT: s_lshl_b32 s5, s5, 16
; SI-NEXT: s_or_b32 s4, s5, s4
; SI-NEXT: s_add_i32 s9, s9, 3
; SI-NEXT: s_add_i32 s65, s4, 0x30000
@@ -108283,343 +108357,342 @@ define <128 x i8> @bitcast_v16f64_to_v128i8(<16 x double> %a, i32 %b) #0 {
; VI-NEXT: ; implicit-def: $vgpr39
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
+; VI-NEXT: ; implicit-def: $vgpr34
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
+; VI-NEXT: ; kill: killed $vgpr34
+; VI-NEXT: ; implicit-def: $vgpr34
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
+; VI-NEXT: ; kill: killed $vgpr34
+; VI-NEXT: ; implicit-def: $vgpr34
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
+; VI-NEXT: ; kill: killed $vgpr34
+; VI-NEXT: ; implicit-def: $vgpr34
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
+; VI-NEXT: ; kill: killed $vgpr34
+; VI-NEXT: ; implicit-def: $vgpr34
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
+; VI-NEXT: ; kill: killed $vgpr34
+; VI-NEXT: ; implicit-def: $vgpr34
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
+; VI-NEXT: ; kill: killed $vgpr34
+; VI-NEXT: ; implicit-def: $vgpr34
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
+; VI-NEXT: ; kill: killed $vgpr34
+; VI-NEXT: ; implicit-def: $vgpr34
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
+; VI-NEXT: ; kill: killed $vgpr34
+; VI-NEXT: ; implicit-def: $vgpr34
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
+; VI-NEXT: ; kill: killed $vgpr34
+; VI-NEXT: ; implicit-def: $vgpr34
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
+; VI-NEXT: ; kill: killed $vgpr34
+; VI-NEXT: ; implicit-def: $vgpr34
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
+; VI-NEXT: ; kill: killed $vgpr34
+; VI-NEXT: ; implicit-def: $vgpr34
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
+; VI-NEXT: ; kill: killed $vgpr34
+; VI-NEXT: ; implicit-def: $vgpr34
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
+; VI-NEXT: ; kill: killed $vgpr34
+; VI-NEXT: ; implicit-def: $vgpr34
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
+; VI-NEXT: ; kill: killed $vgpr34
+; VI-NEXT: ; implicit-def: $vgpr34
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
+; VI-NEXT: ; kill: killed $vgpr34
+; VI-NEXT: ; implicit-def: $vgpr34
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
+; VI-NEXT: ; kill: killed $vgpr34
+; VI-NEXT: ; implicit-def: $vgpr34
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
+; VI-NEXT: ; kill: killed $vgpr34
+; VI-NEXT: ; implicit-def: $vgpr34
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
+; VI-NEXT: ; kill: killed $vgpr34
+; VI-NEXT: ; implicit-def: $vgpr34
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
+; VI-NEXT: ; kill: killed $vgpr34
+; VI-NEXT: ; implicit-def: $vgpr34
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
+; VI-NEXT: ; kill: killed $vgpr34
+; VI-NEXT: ; implicit-def: $vgpr34
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
+; VI-NEXT: ; kill: killed $vgpr34
+; VI-NEXT: ; implicit-def: $vgpr34
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
+; VI-NEXT: ; implicit-def: $vgpr43
+; VI-NEXT: ; kill: killed $vgpr34
+; VI-NEXT: ; implicit-def: $vgpr34
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr53
-; VI-NEXT: ; implicit-def: $vgpr63
-; VI-NEXT: ; implicit-def: $vgpr62
+; VI-NEXT: ; implicit-def: $vgpr42
+; VI-NEXT: ; implicit-def: $vgpr48
; VI-NEXT: ; implicit-def: $vgpr61
-; VI-NEXT: ; implicit-def: $vgpr50
-; VI-NEXT: ; implicit-def: $vgpr37
-; VI-NEXT: ; implicit-def: $vgpr52
-; VI-NEXT: ; implicit-def: $vgpr60
+; VI-NEXT: ; implicit-def: $vgpr44
+; VI-NEXT: ; implicit-def: $vgpr49
; VI-NEXT: ; implicit-def: $vgpr59
-; VI-NEXT: ; implicit-def: $vgpr36
-; VI-NEXT: ; implicit-def: $vgpr35
; VI-NEXT: ; implicit-def: $vgpr58
-; VI-NEXT: ; implicit-def: $vgpr57
-; VI-NEXT: ; implicit-def: $vgpr56
; VI-NEXT: ; implicit-def: $vgpr51
+; VI-NEXT: ; implicit-def: $vgpr62
+; VI-NEXT: ; implicit-def: $vgpr56
+; VI-NEXT: ; implicit-def: $vgpr37
; VI-NEXT: ; implicit-def: $vgpr47
-; VI-NEXT: ; implicit-def: $vgpr38
+; VI-NEXT: ; implicit-def: $vgpr50
; VI-NEXT: ; implicit-def: $vgpr46
; VI-NEXT: ; implicit-def: $vgpr45
-; VI-NEXT: ; implicit-def: $vgpr44
-; VI-NEXT: ; implicit-def: $vgpr43
+; VI-NEXT: ; implicit-def: $vgpr60
+; VI-NEXT: ; implicit-def: $vgpr57
+; VI-NEXT: ; implicit-def: $vgpr38
+; VI-NEXT: ; implicit-def: $vgpr36
+; VI-NEXT: ; kill: killed $vgpr34
+; VI-NEXT: ; implicit-def: $vgpr35
; VI-NEXT: ; implicit-def: $vgpr34
-; VI-NEXT: ; implicit-def: $vgpr49
-; VI-NEXT: ; implicit-def: $vgpr48
+; VI-NEXT: ; implicit-def: $vgpr63
; VI-NEXT: ; implicit-def: $vgpr55
-; VI-NEXT: ; implicit-def: $vgpr42
; VI-NEXT: ; kill: killed $vgpr39
; VI-NEXT: ; implicit-def: $vgpr41
; VI-NEXT: ; implicit-def: $vgpr40
; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
; VI-NEXT: ; implicit-def: $vgpr54
; VI-NEXT: ; implicit-def: $vgpr53
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr53
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr53
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr53
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr53
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr53
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr53
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr53
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr53
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr53
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr53
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr52
+; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr42
+; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr42
+; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr42
+; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr42
+; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr42
+; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr42
+; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr42
+; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr42
+; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr42
+; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
; VI-NEXT: s_waitcnt vmcnt(14)
; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v33
; VI-NEXT: ; implicit-def: $vgpr33
-; VI-NEXT: ; kill: killed $vgpr33
-; VI-NEXT: ; implicit-def: $vgpr33
-; VI-NEXT: ; kill: killed $vgpr33
-; VI-NEXT: ; implicit-def: $vgpr33
-; VI-NEXT: ; kill: killed $vgpr33
-; VI-NEXT: ; implicit-def: $vgpr33
-; VI-NEXT: ; kill: killed $vgpr33
-; VI-NEXT: ; implicit-def: $vgpr33
-; VI-NEXT: ; kill: killed $vgpr33
-; VI-NEXT: ; implicit-def: $vgpr33
-; VI-NEXT: ; kill: killed $vgpr33
-; VI-NEXT: ; implicit-def: $vgpr33
-; VI-NEXT: ; kill: killed $vgpr33
-; VI-NEXT: ; implicit-def: $vgpr33
-; VI-NEXT: ; kill: killed $vgpr33
-; VI-NEXT: ; implicit-def: $vgpr33
; VI-NEXT: s_and_saveexec_b64 s[4:5], vcc
; VI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]
; VI-NEXT: s_cbranch_execz .LBB72_2
; VI-NEXT: ; %bb.1: ; %cmp.false
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v32
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v32
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v32
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v31
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v31
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v30
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v30
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v30
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v29
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v29
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v28
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v28
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v28
-; VI-NEXT: v_lshrrev_b64 v[53:54], 24, v[31:32]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v27
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v27
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v26
-; VI-NEXT: v_lshrrev_b64 v[53:54], 24, v[29:30]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v26
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v26
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v25
-; VI-NEXT: v_lshrrev_b64 v[53:54], 24, v[27:28]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v25
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v24
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v24
-; VI-NEXT: v_lshrrev_b64 v[53:54], 24, v[25:26]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[52:53], 24, v[31:32]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v24
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v23
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v23
-; VI-NEXT: v_lshrrev_b64 v[53:54], 24, v[23:24]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[52:53], 24, v[29:30]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v22
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v22
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v22
-; VI-NEXT: v_lshrrev_b64 v[53:54], 24, v[21:22]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[52:53], 24, v[27:28]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v21
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v21
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v20
-; VI-NEXT: v_lshrrev_b64 v[53:54], 24, v[19:20]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[52:53], 24, v[25:26]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v20
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v19
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v18
-; VI-NEXT: v_lshrrev_b64 v[53:54], 24, v[17:18]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v18
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v18
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[52:53], 24, v[23:24]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v17
-; VI-NEXT: v_lshrrev_b64 v[53:54], 24, v[15:16]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v17
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v16
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v16
-; VI-NEXT: v_lshrrev_b64 v[53:54], 24, v[13:14]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[52:53], 24, v[21:22]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v16
-; VI-NEXT: v_lshrrev_b32_e32 v35, 24, v10
-; VI-NEXT: v_lshrrev_b64 v[39:40], 24, v[7:8]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v15
-; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v35, 16, v10
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v15
-; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v35, 24, v8
-; VI-NEXT: v_lshrrev_b64 v[53:54], 24, v[11:12]
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[52:53], 24, v[19:20]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v14
-; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v35, 16, v8
-; VI-NEXT: v_lshrrev_b64 v[39:40], 24, v[5:6]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v14
-; VI-NEXT: v_lshrrev_b32_e32 v34, 24, v12
-; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v35, 24, v6
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[40:41], 24, v[3:4]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v14
-; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v34, 16, v12
-; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v35, 16, v6
-; VI-NEXT: v_lshrrev_b64 v[54:55], 24, v[9:10]
-; VI-NEXT: v_lshrrev_b64 v[41:42], 24, v[1:2]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:384 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v48, 16, v13
+; VI-NEXT: v_lshrrev_b64 v[52:53], 24, v[17:18]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v13
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v13
-; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v49, 8, v12
-; VI-NEXT: v_lshrrev_b32_e32 v34, 16, v11
-; VI-NEXT: v_lshrrev_b32_e32 v43, 8, v11
-; VI-NEXT: v_lshrrev_b32_e32 v44, 8, v10
+; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v12
+; VI-NEXT: v_lshrrev_b64 v[52:53], 24, v[15:16]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v12
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v12
+; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v10
+; VI-NEXT: v_lshrrev_b64 v[52:53], 24, v[13:14]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v10
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v8
+; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v8
+; VI-NEXT: v_lshrrev_b64 v[52:53], 24, v[11:12]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v6
+; VI-NEXT: v_lshrrev_b64 v[53:54], 24, v[9:10]
+; VI-NEXT: v_lshrrev_b32_e32 v39, 8, v20
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v6
+; VI-NEXT: v_lshrrev_b64 v[54:55], 24, v[7:8]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v4
+; VI-NEXT: v_mov_b32_e32 v55, v39
+; VI-NEXT: v_lshrrev_b64 v[39:40], 24, v[5:6]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v4
+; VI-NEXT: v_lshrrev_b64 v[40:41], 24, v[3:4]
+; VI-NEXT: v_lshrrev_b32_e32 v63, 8, v19
+; VI-NEXT: v_lshrrev_b32_e32 v34, 24, v18
+; VI-NEXT: v_lshrrev_b32_e32 v35, 16, v18
+; VI-NEXT: v_lshrrev_b32_e32 v36, 24, v16
+; VI-NEXT: v_lshrrev_b32_e32 v38, 16, v11
+; VI-NEXT: v_lshrrev_b32_e32 v57, 8, v11
+; VI-NEXT: v_lshrrev_b32_e32 v60, 8, v10
; VI-NEXT: v_lshrrev_b32_e32 v45, 16, v9
; VI-NEXT: v_lshrrev_b32_e32 v46, 8, v9
-; VI-NEXT: v_lshrrev_b32_e32 v38, 8, v8
+; VI-NEXT: v_lshrrev_b32_e32 v50, 8, v8
; VI-NEXT: v_lshrrev_b32_e32 v47, 16, v7
-; VI-NEXT: v_lshrrev_b32_e32 v51, 8, v7
-; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v37, 8, v7
; VI-NEXT: v_lshrrev_b32_e32 v56, 8, v6
-; VI-NEXT: v_lshrrev_b32_e32 v57, 16, v5
-; VI-NEXT: v_lshrrev_b32_e32 v58, 8, v5
-; VI-NEXT: v_lshrrev_b32_e32 v35, 24, v4
-; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v4
-; VI-NEXT: v_lshrrev_b32_e32 v59, 8, v4
-; VI-NEXT: v_lshrrev_b32_e32 v60, 16, v3
-; VI-NEXT: v_lshrrev_b32_e32 v52, 8, v3
-; VI-NEXT: v_lshrrev_b32_e32 v37, 24, v2
-; VI-NEXT: v_lshrrev_b32_e32 v50, 16, v2
-; VI-NEXT: v_lshrrev_b32_e32 v61, 8, v2
-; VI-NEXT: v_lshrrev_b32_e32 v62, 16, v1
-; VI-NEXT: v_lshrrev_b32_e32 v63, 8, v1
-; VI-NEXT: v_lshrrev_b32_e32 v55, 8, v19
-; VI-NEXT: v_lshrrev_b32_e32 v42, 8, v20
+; VI-NEXT: v_lshrrev_b32_e32 v62, 16, v5
+; VI-NEXT: v_lshrrev_b32_e32 v43, 8, v5
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v51, 8, v4
+; VI-NEXT: v_lshrrev_b32_e32 v58, 16, v3
+; VI-NEXT: v_lshrrev_b32_e32 v59, 8, v3
+; VI-NEXT: v_lshrrev_b32_e32 v49, 24, v2
+; VI-NEXT: v_lshrrev_b32_e32 v44, 16, v2
+; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v2
+; VI-NEXT: v_lshrrev_b32_e32 v61, 16, v1
+; VI-NEXT: v_lshrrev_b32_e32 v48, 8, v1
+; VI-NEXT: v_lshrrev_b64 v[41:42], 24, v[1:2]
; VI-NEXT: .LBB72_2: ; %Flow
-; VI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]
+; VI-NEXT: s_or_saveexec_b64 s[4:5], s[4:5]
+; VI-NEXT: v_mov_b32_e32 v42, v36
+; VI-NEXT: s_xor_b64 exec, exec, s[4:5]
; VI-NEXT: s_cbranch_execz .LBB72_4
; VI-NEXT: ; %bb.3: ; %cmp.true
; VI-NEXT: v_add_f64 v[31:32], v[31:32], 1.0
@@ -108643,11 +108716,11 @@ define <128 x i8> @bitcast_v16f64_to_v128i8(<16 x double> %a, i32 %b) #0 {
; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b64 v[33:34], 24, v[25:26]
-; VI-NEXT: v_add_f64 v[7:8], v[7:8], 1.0
+; VI-NEXT: v_add_f64 v[9:10], v[9:10], 1.0
; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b64 v[33:34], 24, v[23:24]
-; VI-NEXT: v_add_f64 v[9:10], v[9:10], 1.0
+; VI-NEXT: v_add_f64 v[7:8], v[7:8], 1.0
; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b64 v[33:34], 24, v[21:22]
@@ -108663,316 +108736,313 @@ define <128 x i8> @bitcast_v16f64_to_v128i8(<16 x double> %a, i32 %b) #0 {
; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b64 v[33:34], 24, v[15:16]
-; VI-NEXT: v_lshrrev_b32_e32 v35, 24, v10
+; VI-NEXT: v_lshrrev_b64 v[52:53], 24, v[11:12]
; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b64 v[33:34], 24, v[13:14]
-; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[39:40], 24, v[5:6]
; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[33:34], 24, v[11:12]
-; VI-NEXT: v_lshrrev_b32_e32 v35, 16, v10
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[33:34], 24, v[7:8]
-; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v32
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v32
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v32
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v31
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v31
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v30
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v30
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v30
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v29
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v29
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v28
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v28
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v28
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v27
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v27
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v26
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v26
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v26
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v25
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v25
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v24
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v24
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v24
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v23
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v23
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v22
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v22
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v22
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v21
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v21
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v20
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v20
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v19
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v18
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v18
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v18
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v17
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v17
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v16
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v16
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v16
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v15
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v15
-; VI-NEXT: v_lshrrev_b32_e32 v35, 24, v8
-; VI-NEXT: v_lshrrev_b64 v[39:40], 24, v[5:6]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v14
-; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v35, 16, v8
-; VI-NEXT: v_lshrrev_b64 v[40:41], 24, v[3:4]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v14
-; VI-NEXT: v_lshrrev_b32_e32 v34, 24, v12
-; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v35, 24, v6
-; VI-NEXT: v_lshrrev_b64 v[54:55], 24, v[9:10]
-; VI-NEXT: v_lshrrev_b64 v[41:42], 24, v[1:2]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v14
-; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v34, 16, v12
-; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v35, 16, v6
-; VI-NEXT: v_lshrrev_b32_e32 v42, 8, v20
-; VI-NEXT: v_lshrrev_b32_e32 v55, 8, v19
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:384 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v48, 16, v13
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v13
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v13
-; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v49, 8, v12
-; VI-NEXT: v_lshrrev_b32_e32 v34, 16, v11
-; VI-NEXT: v_lshrrev_b32_e32 v43, 8, v11
-; VI-NEXT: v_lshrrev_b32_e32 v44, 8, v10
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v12
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v12
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v12
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v10
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v10
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v8
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v8
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v6
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v6
+; VI-NEXT: v_lshrrev_b64 v[53:54], 24, v[9:10]
+; VI-NEXT: v_lshrrev_b64 v[40:41], 24, v[3:4]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v4
+; VI-NEXT: v_lshrrev_b64 v[54:55], 24, v[7:8]
+; VI-NEXT: v_lshrrev_b64 v[41:42], 24, v[1:2]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v4
+; VI-NEXT: v_lshrrev_b32_e32 v55, 8, v20
+; VI-NEXT: v_lshrrev_b32_e32 v63, 8, v19
+; VI-NEXT: v_lshrrev_b32_e32 v34, 24, v18
+; VI-NEXT: v_lshrrev_b32_e32 v35, 16, v18
+; VI-NEXT: v_lshrrev_b32_e32 v42, 24, v16
+; VI-NEXT: v_lshrrev_b32_e32 v38, 16, v11
+; VI-NEXT: v_lshrrev_b32_e32 v57, 8, v11
+; VI-NEXT: v_lshrrev_b32_e32 v60, 8, v10
; VI-NEXT: v_lshrrev_b32_e32 v45, 16, v9
; VI-NEXT: v_lshrrev_b32_e32 v46, 8, v9
-; VI-NEXT: v_lshrrev_b32_e32 v38, 8, v8
+; VI-NEXT: v_lshrrev_b32_e32 v50, 8, v8
; VI-NEXT: v_lshrrev_b32_e32 v47, 16, v7
-; VI-NEXT: v_lshrrev_b32_e32 v51, 8, v7
-; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v37, 8, v7
; VI-NEXT: v_lshrrev_b32_e32 v56, 8, v6
-; VI-NEXT: v_lshrrev_b32_e32 v57, 16, v5
-; VI-NEXT: v_lshrrev_b32_e32 v58, 8, v5
-; VI-NEXT: v_lshrrev_b32_e32 v35, 24, v4
-; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v4
-; VI-NEXT: v_lshrrev_b32_e32 v59, 8, v4
-; VI-NEXT: v_lshrrev_b32_e32 v60, 16, v3
-; VI-NEXT: v_lshrrev_b32_e32 v52, 8, v3
-; VI-NEXT: v_lshrrev_b32_e32 v37, 24, v2
-; VI-NEXT: v_lshrrev_b32_e32 v50, 16, v2
-; VI-NEXT: v_lshrrev_b32_e32 v61, 8, v2
-; VI-NEXT: v_lshrrev_b32_e32 v62, 16, v1
-; VI-NEXT: v_lshrrev_b32_e32 v63, 8, v1
+; VI-NEXT: v_lshrrev_b32_e32 v62, 16, v5
+; VI-NEXT: v_lshrrev_b32_e32 v43, 8, v5
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v51, 8, v4
+; VI-NEXT: v_lshrrev_b32_e32 v58, 16, v3
+; VI-NEXT: v_lshrrev_b32_e32 v59, 8, v3
+; VI-NEXT: v_lshrrev_b32_e32 v49, 24, v2
+; VI-NEXT: v_lshrrev_b32_e32 v44, 16, v2
+; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v2
+; VI-NEXT: v_lshrrev_b32_e32 v61, 16, v1
+; VI-NEXT: v_lshrrev_b32_e32 v48, 8, v1
; VI-NEXT: .LBB72_4: ; %end
; VI-NEXT: s_or_b64 exec, exec, s[4:5]
+; VI-NEXT: buffer_load_dword v36, off, s[0:3], s32 offset:376 ; 4-byte Folded Reload
; VI-NEXT: s_mov_b32 s4, 0xc0c0004
-; VI-NEXT: v_perm_b32 v3, v3, v52, s4
-; VI-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload
-; VI-NEXT: v_perm_b32 v8, v8, v38, s4
-; VI-NEXT: v_perm_b32 v38, v45, v54, s4
-; VI-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v54, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
-; VI-NEXT: v_perm_b32 v12, v12, v49, s4
-; VI-NEXT: v_perm_b32 v13, v13, v33, s4
-; VI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:384 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:372 ; 4-byte Folded Reload
-; VI-NEXT: v_perm_b32 v7, v7, v51, s4
-; VI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:352 ; 4-byte Folded Reload
-; VI-NEXT: v_perm_b32 v41, v62, v41, s4
-; VI-NEXT: v_perm_b32 v1, v1, v63, s4
-; VI-NEXT: v_perm_b32 v2, v2, v61, s4
-; VI-NEXT: v_perm_b32 v40, v60, v40, s4
-; VI-NEXT: v_perm_b32 v4, v4, v59, s4
-; VI-NEXT: v_perm_b32 v39, v57, v39, s4
-; VI-NEXT: v_perm_b32 v5, v5, v58, s4
+; VI-NEXT: v_perm_b32 v4, v4, v51, s4
+; VI-NEXT: v_perm_b32 v8, v8, v50, s4
+; VI-NEXT: v_perm_b32 v38, v38, v52, s4
+; VI-NEXT: v_perm_b32 v7, v7, v37, s4
+; VI-NEXT: v_perm_b32 v37, v45, v53, s4
+; VI-NEXT: v_perm_b32 v1, v1, v48, s4
+; VI-NEXT: v_perm_b32 v48, v47, v54, s4
+; VI-NEXT: v_perm_b32 v41, v61, v41, s4
+; VI-NEXT: v_perm_b32 v2, v2, v33, s4
+; VI-NEXT: v_perm_b32 v33, v58, v40, s4
+; VI-NEXT: v_perm_b32 v3, v3, v59, s4
+; VI-NEXT: v_perm_b32 v39, v62, v39, s4
+; VI-NEXT: v_perm_b32 v5, v5, v43, s4
; VI-NEXT: v_perm_b32 v6, v6, v56, s4
; VI-NEXT: v_perm_b32 v9, v9, v46, s4
-; VI-NEXT: v_perm_b32 v10, v10, v44, s4
-; VI-NEXT: v_perm_b32 v11, v11, v43, s4
-; VI-NEXT: s_waitcnt vmcnt(6)
-; VI-NEXT: v_perm_b32 v52, v47, v52, s4
-; VI-NEXT: s_waitcnt vmcnt(4)
-; VI-NEXT: v_perm_b32 v34, v34, v53, s4
-; VI-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v54, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(3)
-; VI-NEXT: v_perm_b32 v15, v15, v49, s4
-; VI-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:360 ; 4-byte Folded Reload
-; VI-NEXT: v_perm_b32 v14, v14, v33, s4
-; VI-NEXT: s_waitcnt vmcnt(3)
-; VI-NEXT: v_perm_b32 v17, v17, v51, s4
-; VI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:336 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(3)
-; VI-NEXT: v_perm_b32 v48, v48, v53, s4
-; VI-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v54, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:368 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(4)
-; VI-NEXT: v_perm_b32 v16, v16, v49, s4
-; VI-NEXT: s_waitcnt vmcnt(3)
-; VI-NEXT: v_perm_b32 v18, v18, v51, s4
+; VI-NEXT: v_perm_b32 v10, v10, v60, s4
+; VI-NEXT: v_perm_b32 v11, v11, v57, s4
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_perm_b32 v12, v12, v36, s4
+; VI-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v36, off, s[0:3], s32 offset:360 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_perm_b32 v36, v36, v50, s4
+; VI-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:364 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_perm_b32 v13, v13, v50, s4
+; VI-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:356 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v33, v33, v53, s4
-; VI-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v54, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:344 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v14, v14, v50, s4
+; VI-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:340 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(1)
+; VI-NEXT: v_perm_b32 v50, v50, v51, s4
+; VI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:344 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v49, v49, v53, s4
+; VI-NEXT: v_perm_b32 v15, v15, v51, s4
+; VI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:332 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_perm_b32 v16, v16, v51, s4
+; VI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:316 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(1)
+; VI-NEXT: v_perm_b32 v51, v51, v52, s4
+; VI-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:324 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_perm_b32 v17, v17, v52, s4
+; VI-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:308 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_perm_b32 v18, v18, v52, s4
+; VI-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v54, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:324 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v51, v51, v53, s4
+; VI-NEXT: s_waitcnt vmcnt(1)
+; VI-NEXT: v_perm_b32 v52, v52, v53, s4
; VI-NEXT: v_lshlrev_b32_e32 v53, 16, v41
; VI-NEXT: v_or_b32_e32 v1, v1, v53
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen
-; VI-NEXT: v_perm_b32 v1, v50, v37, s4
+; VI-NEXT: v_perm_b32 v1, v44, v49, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v2, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:4
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v40
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v33
; VI-NEXT: v_or_b32_e32 v1, v3, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:8
-; VI-NEXT: v_perm_b32 v1, v36, v35, s4
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:368 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:372 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v3, v20, v55, s4
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v4, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:12
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v39
; VI-NEXT: v_or_b32_e32 v1, v5, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:16
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:376 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:380 ; 4-byte Folded Reload
-; VI-NEXT: v_perm_b32 v3, v20, v42, s4
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:348 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:352 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v6, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:20
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v52
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v48
; VI-NEXT: v_or_b32_e32 v1, v7, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:24
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:356 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:364 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:328 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:336 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v8, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:28
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v38
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v37
; VI-NEXT: v_or_b32_e32 v1, v9, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:32
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:340 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:348 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:312 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:320 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v10, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:36
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v34
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v38
; VI-NEXT: v_or_b32_e32 v1, v11, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:40
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:328 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:332 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:300 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:304 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v12, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:44
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v48
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v36
; VI-NEXT: v_or_b32_e32 v1, v13, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:48
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:316 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:320 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v14, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:52
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v33
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v50
; VI-NEXT: v_or_b32_e32 v1, v15, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:56
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:308 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:312 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload
+; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v52
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v2, v1, s4
+; VI-NEXT: v_perm_b32 v1, v1, v42, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v16, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:60
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v49
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v51
; VI-NEXT: v_or_b32_e32 v1, v17, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:64
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:300 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:304 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v2, v1, s4
+; VI-NEXT: v_perm_b32 v1, v35, v34, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v18, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:68
-; VI-NEXT: v_perm_b32 v1, v19, v55, s4
-; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v51
+; VI-NEXT: v_perm_b32 v1, v19, v63, s4
; VI-NEXT: v_or_b32_e32 v1, v1, v2
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:72
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:276 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:280 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v3, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:76
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:272 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v2, v21, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:268 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
@@ -108980,20 +109050,20 @@ define <128 x i8> @bitcast_v16f64_to_v128i8(<16 x double> %a, i32 %b) #0 {
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v2, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:80
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:280 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v3, v22, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:272 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:276 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v3, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:84
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:268 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v2, v23, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
@@ -109001,20 +109071,20 @@ define <128 x i8> @bitcast_v16f64_to_v128i8(<16 x double> %a, i32 %b) #0 {
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v2, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:88
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v3, v24, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v3, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:92
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v2, v25, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
@@ -109022,20 +109092,20 @@ define <128 x i8> @bitcast_v16f64_to_v128i8(<16 x double> %a, i32 %b) #0 {
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v2, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:96
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v3, v26, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v3, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:100
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v2, v27, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
@@ -109043,20 +109113,20 @@ define <128 x i8> @bitcast_v16f64_to_v128i8(<16 x double> %a, i32 %b) #0 {
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v2, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:104
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v3, v28, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v3, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:108
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v2, v29, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
@@ -109064,20 +109134,20 @@ define <128 x i8> @bitcast_v16f64_to_v128i8(<16 x double> %a, i32 %b) #0 {
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v2, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:112
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v3, v30, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v3, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:116
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v2, v31, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
@@ -109085,11 +109155,11 @@ define <128 x i8> @bitcast_v16f64_to_v128i8(<16 x double> %a, i32 %b) #0 {
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v2, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:120
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v3, v32, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
@@ -109155,163 +109225,162 @@ define <128 x i8> @bitcast_v16f64_to_v128i8(<16 x double> %a, i32 %b) #0 {
; GFX9-NEXT: ; implicit-def: $vgpr39
; GFX9-NEXT: ; kill: killed $vgpr39
; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr36
; GFX9-NEXT: ; kill: killed $vgpr39
; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr36
+; GFX9-NEXT: ; implicit-def: $vgpr36
; GFX9-NEXT: ; kill: killed $vgpr39
; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr36
+; GFX9-NEXT: ; implicit-def: $vgpr36
; GFX9-NEXT: ; kill: killed $vgpr39
; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr36
+; GFX9-NEXT: ; implicit-def: $vgpr36
; GFX9-NEXT: ; kill: killed $vgpr39
; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr36
+; GFX9-NEXT: ; implicit-def: $vgpr36
; GFX9-NEXT: ; kill: killed $vgpr39
; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr36
+; GFX9-NEXT: ; implicit-def: $vgpr36
; GFX9-NEXT: ; kill: killed $vgpr39
; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr36
+; GFX9-NEXT: ; implicit-def: $vgpr36
; GFX9-NEXT: ; kill: killed $vgpr39
; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr36
+; GFX9-NEXT: ; implicit-def: $vgpr36
; GFX9-NEXT: ; kill: killed $vgpr39
; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr36
+; GFX9-NEXT: ; implicit-def: $vgpr36
; GFX9-NEXT: ; kill: killed $vgpr39
; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr36
+; GFX9-NEXT: ; implicit-def: $vgpr36
; GFX9-NEXT: ; kill: killed $vgpr39
; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr36
+; GFX9-NEXT: ; implicit-def: $vgpr36
; GFX9-NEXT: ; kill: killed $vgpr39
; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr36
+; GFX9-NEXT: ; implicit-def: $vgpr36
; GFX9-NEXT: ; kill: killed $vgpr39
; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr36
+; GFX9-NEXT: ; implicit-def: $vgpr36
; GFX9-NEXT: ; kill: killed $vgpr39
; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr36
+; GFX9-NEXT: ; implicit-def: $vgpr36
; GFX9-NEXT: ; kill: killed $vgpr39
; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr36
+; GFX9-NEXT: ; implicit-def: $vgpr36
; GFX9-NEXT: ; kill: killed $vgpr39
; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr36
+; GFX9-NEXT: ; implicit-def: $vgpr36
; GFX9-NEXT: ; kill: killed $vgpr39
; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr36
+; GFX9-NEXT: ; implicit-def: $vgpr36
; GFX9-NEXT: ; kill: killed $vgpr39
; GFX9-NEXT: ; implicit-def: $vgpr39
-; GFX9-NEXT: ; kill: killed $vgpr39
-; GFX9-NEXT: ; implicit-def: $vgpr39
-; GFX9-NEXT: ; kill: killed $vgpr39
-; GFX9-NEXT: ; implicit-def: $vgpr39
-; GFX9-NEXT: ; kill: killed $vgpr39
-; GFX9-NEXT: ; implicit-def: $vgpr39
-; GFX9-NEXT: ; kill: killed $vgpr39
-; GFX9-NEXT: ; implicit-def: $vgpr39
-; GFX9-NEXT: ; kill: killed $vgpr39
-; GFX9-NEXT: ; implicit-def: $vgpr39
-; GFX9-NEXT: ; kill: killed $vgpr39
-; GFX9-NEXT: ; implicit-def: $vgpr39
-; GFX9-NEXT: ; kill: killed $vgpr39
-; GFX9-NEXT: ; implicit-def: $vgpr39
-; GFX9-NEXT: ; kill: killed $vgpr39
-; GFX9-NEXT: ; implicit-def: $vgpr39
-; GFX9-NEXT: ; kill: killed $vgpr39
-; GFX9-NEXT: ; implicit-def: $vgpr39
-; GFX9-NEXT: ; kill: killed $vgpr39
-; GFX9-NEXT: ; implicit-def: $vgpr39
-; GFX9-NEXT: ; kill: killed $vgpr39
-; GFX9-NEXT: ; implicit-def: $vgpr39
-; GFX9-NEXT: ; kill: killed $vgpr39
-; GFX9-NEXT: ; implicit-def: $vgpr39
-; GFX9-NEXT: ; kill: killed $vgpr39
-; GFX9-NEXT: ; implicit-def: $vgpr39
-; GFX9-NEXT: ; kill: killed $vgpr39
-; GFX9-NEXT: ; implicit-def: $vgpr39
-; GFX9-NEXT: ; kill: killed $vgpr39
-; GFX9-NEXT: ; implicit-def: $vgpr39
-; GFX9-NEXT: ; kill: killed $vgpr39
-; GFX9-NEXT: ; implicit-def: $vgpr39
-; GFX9-NEXT: ; kill: killed $vgpr39
-; GFX9-NEXT: ; implicit-def: $vgpr39
-; GFX9-NEXT: ; kill: killed $vgpr39
-; GFX9-NEXT: ; implicit-def: $vgpr39
-; GFX9-NEXT: ; kill: killed $vgpr39
-; GFX9-NEXT: ; implicit-def: $vgpr39
-; GFX9-NEXT: ; kill: killed $vgpr39
-; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr36
+; GFX9-NEXT: ; implicit-def: $vgpr36
; GFX9-NEXT: ; kill: killed $vgpr39
; GFX9-NEXT: ; implicit-def: $vgpr39
; GFX9-NEXT: ; implicit-def: $vgpr43
-; GFX9-NEXT: ; kill: killed $vgpr39
-; GFX9-NEXT: ; implicit-def: $vgpr39
-; GFX9-NEXT: ; implicit-def: $vgpr42
-; GFX9-NEXT: ; implicit-def: $vgpr58
-; GFX9-NEXT: ; implicit-def: $vgpr62
+; GFX9-NEXT: ; kill: killed $vgpr36
; GFX9-NEXT: ; implicit-def: $vgpr36
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr51
-; GFX9-NEXT: ; implicit-def: $vgpr60
-; GFX9-NEXT: ; implicit-def: $vgpr56
-; GFX9-NEXT: ; implicit-def: $vgpr48
-; GFX9-NEXT: ; implicit-def: $vgpr50
-; GFX9-NEXT: ; implicit-def: $vgpr35
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr53
-; GFX9-NEXT: ; implicit-def: $vgpr57
-; GFX9-NEXT: ; implicit-def: $vgpr63
-; GFX9-NEXT: ; implicit-def: $vgpr46
-; GFX9-NEXT: ; implicit-def: $vgpr45
-; GFX9-NEXT: ; implicit-def: $vgpr44
-; GFX9-NEXT: ; implicit-def: $vgpr52
-; GFX9-NEXT: ; implicit-def: $vgpr38
-; GFX9-NEXT: ; implicit-def: $vgpr47
-; GFX9-NEXT: ; implicit-def: $vgpr37
-; GFX9-NEXT: ; implicit-def: $vgpr49
-; GFX9-NEXT: ; implicit-def: $vgpr59
-; GFX9-NEXT: ; implicit-def: $vgpr55
; GFX9-NEXT: ; kill: killed $vgpr39
-; GFX9-NEXT: ; implicit-def: $vgpr41
-; GFX9-NEXT: ; implicit-def: $vgpr40
; GFX9-NEXT: ; implicit-def: $vgpr39
-; GFX9-NEXT: ; implicit-def: $vgpr54
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr42
-; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr43
+; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr42
-; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr43
+; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr42
-; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr43
+; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr42
-; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr43
+; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr42
-; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr43
+; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr42
-; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr43
+; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr42
-; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr43
+; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr42
-; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr43
+; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr42
-; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr43
+; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr42
-; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr43
+; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr42
-; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr43
+; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr47
+; GFX9-NEXT: ; implicit-def: $vgpr62
+; GFX9-NEXT: ; implicit-def: $vgpr46
+; GFX9-NEXT: ; implicit-def: $vgpr45
+; GFX9-NEXT: ; implicit-def: $vgpr49
+; GFX9-NEXT: ; implicit-def: $vgpr52
+; GFX9-NEXT: ; implicit-def: $vgpr37
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr51
+; GFX9-NEXT: ; implicit-def: $vgpr35
+; GFX9-NEXT: ; implicit-def: $vgpr34
+; GFX9-NEXT: ; implicit-def: $vgpr50
+; GFX9-NEXT: ; implicit-def: $vgpr60
+; GFX9-NEXT: ; implicit-def: $vgpr55
+; GFX9-NEXT: ; implicit-def: $vgpr53
+; GFX9-NEXT: ; implicit-def: $vgpr42
+; GFX9-NEXT: ; kill: killed $vgpr36
+; GFX9-NEXT: ; implicit-def: $vgpr58
+; GFX9-NEXT: ; implicit-def: $vgpr36
+; GFX9-NEXT: ; implicit-def: $vgpr61
+; GFX9-NEXT: ; implicit-def: $vgpr48
+; GFX9-NEXT: ; implicit-def: $vgpr63
+; GFX9-NEXT: ; implicit-def: $vgpr59
+; GFX9-NEXT: ; implicit-def: $vgpr57
+; GFX9-NEXT: ; implicit-def: $vgpr38
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr41
+; GFX9-NEXT: ; implicit-def: $vgpr40
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr54
+; GFX9-NEXT: ; implicit-def: $vgpr43
+; GFX9-NEXT: ; implicit-def: $vgpr44
; GFX9-NEXT: s_waitcnt vmcnt(25)
; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v33
; GFX9-NEXT: ; implicit-def: $vgpr33
@@ -109351,176 +109420,173 @@ define <128 x i8> @bitcast_v16f64_to_v128i8(<16 x double> %a, i32 %b) #0 {
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v29
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v28
-; GFX9-NEXT: v_lshrrev_b64 v[54:55], 24, v[31:32]
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v28
+; GFX9-NEXT: v_lshrrev_b64 v[54:55], 24, v[31:32]
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v28
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v27
; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v27
-; GFX9-NEXT: v_lshrrev_b64 v[54:55], 24, v[29:30]
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v27
+; GFX9-NEXT: v_lshrrev_b64 v[54:55], 24, v[29:30]
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v26
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v26
; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v26
-; GFX9-NEXT: v_lshrrev_b64 v[54:55], 24, v[27:28]
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v26
+; GFX9-NEXT: v_lshrrev_b64 v[54:55], 24, v[27:28]
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v25
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v25
; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v25
-; GFX9-NEXT: v_lshrrev_b64 v[54:55], 24, v[25:26]
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v24
+; GFX9-NEXT: v_lshrrev_b64 v[54:55], 24, v[25:26]
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v24
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v24
; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v24
-; GFX9-NEXT: v_lshrrev_b64 v[54:55], 24, v[23:24]
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v23
+; GFX9-NEXT: v_lshrrev_b64 v[54:55], 24, v[23:24]
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v23
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v22
; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v22
-; GFX9-NEXT: v_lshrrev_b64 v[54:55], 24, v[21:22]
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v22
+; GFX9-NEXT: v_lshrrev_b64 v[54:55], 24, v[21:22]
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v22
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v21
; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v21
-; GFX9-NEXT: v_lshrrev_b64 v[54:55], 24, v[19:20]
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v21
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v20
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v18
+; GFX9-NEXT: v_lshrrev_b64 v[54:55], 24, v[19:20]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v17
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v17
; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v20
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v16
; GFX9-NEXT: v_lshrrev_b64 v[54:55], 24, v[17:18]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v19
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v15
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v18
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v15
; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v18
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v14
; GFX9-NEXT: v_lshrrev_b64 v[54:55], 24, v[15:16]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v17
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v17
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v13
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v13
; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v16
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v12
; GFX9-NEXT: v_lshrrev_b64 v[54:55], 24, v[13:14]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v16
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v16
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v12
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v12
; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v15
-; GFX9-NEXT: v_lshrrev_b64 v[54:55], 24, v[11:12]
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v15
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v14
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v11
+; GFX9-NEXT: v_lshrrev_b64 v[54:55], 24, v[11:12]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v11
+; GFX9-NEXT: v_lshrrev_b32_e32 v39, 24, v4
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v10
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v39, 16, v4
; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v14
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v10
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v39, 24, v2
; GFX9-NEXT: v_lshrrev_b64 v[54:55], 24, v[9:10]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v14
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v10
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v13
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v10
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v10
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[39:40], 24, v[5:6]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v8
+; GFX9-NEXT: v_lshrrev_b32_e32 v37, 24, v6
; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v39, 8, v20
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v13
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v8
-; GFX9-NEXT: v_lshrrev_b64 v[54:55], 24, v[7:8]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:384 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v12
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v8
-; GFX9-NEXT: v_mov_b32_e32 v55, v39
-; GFX9-NEXT: v_lshrrev_b64 v[39:40], 24, v[5:6]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v12
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v6
; GFX9-NEXT: v_lshrrev_b64 v[40:41], 24, v[3:4]
-; GFX9-NEXT: v_lshrrev_b32_e32 v59, 8, v19
-; GFX9-NEXT: v_lshrrev_b32_e32 v49, 24, v18
+; GFX9-NEXT: v_lshrrev_b32_e32 v53, 24, v14
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v12
-; GFX9-NEXT: v_lshrrev_b32_e32 v37, 16, v11
-; GFX9-NEXT: v_lshrrev_b32_e32 v47, 8, v11
-; GFX9-NEXT: v_lshrrev_b32_e32 v38, 8, v10
-; GFX9-NEXT: v_lshrrev_b32_e32 v43, 16, v9
-; GFX9-NEXT: v_lshrrev_b32_e32 v52, 8, v9
-; GFX9-NEXT: v_lshrrev_b32_e32 v44, 8, v8
-; GFX9-NEXT: v_lshrrev_b32_e32 v45, 16, v7
-; GFX9-NEXT: v_lshrrev_b32_e32 v46, 8, v7
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v63, 16, v6
-; GFX9-NEXT: v_lshrrev_b32_e32 v57, 8, v6
-; GFX9-NEXT: v_lshrrev_b32_e32 v53, 16, v5
-; GFX9-NEXT: v_lshrrev_b32_e32 v61, 8, v5
-; GFX9-NEXT: v_lshrrev_b32_e32 v35, 24, v4
-; GFX9-NEXT: v_lshrrev_b32_e32 v50, 16, v4
-; GFX9-NEXT: v_lshrrev_b32_e32 v48, 8, v4
-; GFX9-NEXT: v_lshrrev_b32_e32 v56, 16, v3
-; GFX9-NEXT: v_lshrrev_b32_e32 v60, 8, v3
-; GFX9-NEXT: v_lshrrev_b32_e32 v51, 24, v2
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v2
-; GFX9-NEXT: v_lshrrev_b32_e32 v36, 8, v2
-; GFX9-NEXT: v_lshrrev_b32_e32 v62, 16, v1
-; GFX9-NEXT: v_lshrrev_b32_e32 v58, 8, v1
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v8
+; GFX9-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v37, 16, v6
+; GFX9-NEXT: v_lshrrev_b64 v[54:55], 24, v[7:8]
; GFX9-NEXT: v_lshrrev_b64 v[41:42], 24, v[1:2]
+; GFX9-NEXT: v_lshrrev_b32_e32 v38, 8, v21
+; GFX9-NEXT: v_lshrrev_b32_e32 v57, 24, v20
+; GFX9-NEXT: v_lshrrev_b32_e32 v59, 16, v20
+; GFX9-NEXT: v_lshrrev_b32_e32 v63, 8, v20
+; GFX9-NEXT: v_lshrrev_b32_e32 v48, 16, v19
+; GFX9-NEXT: v_lshrrev_b32_e32 v61, 8, v19
+; GFX9-NEXT: v_lshrrev_b32_e32 v36, 24, v18
+; GFX9-NEXT: v_lshrrev_b32_e32 v58, 16, v18
+; GFX9-NEXT: v_lshrrev_b32_e32 v60, 16, v14
+; GFX9-NEXT: v_lshrrev_b32_e32 v50, 16, v9
+; GFX9-NEXT: v_lshrrev_b32_e32 v43, 8, v9
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v8
+; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v7
+; GFX9-NEXT: v_lshrrev_b32_e32 v35, 8, v7
+; GFX9-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v51, 8, v6
+; GFX9-NEXT: v_lshrrev_b32_e32 v56, 16, v5
+; GFX9-NEXT: v_lshrrev_b32_e32 v37, 8, v5
+; GFX9-NEXT: v_lshrrev_b32_e32 v52, 8, v4
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v3
+; GFX9-NEXT: v_lshrrev_b32_e32 v45, 8, v3
+; GFX9-NEXT: v_lshrrev_b32_e32 v44, 16, v2
+; GFX9-NEXT: v_lshrrev_b32_e32 v46, 8, v2
+; GFX9-NEXT: v_lshrrev_b32_e32 v62, 16, v1
+; GFX9-NEXT: v_lshrrev_b32_e32 v47, 8, v1
+; GFX9-NEXT: v_mov_b32_e32 v55, v53
+; GFX9-NEXT: v_lshrrev_b32_e32 v53, 16, v16
+; GFX9-NEXT: v_lshrrev_b32_e32 v42, 24, v16
; GFX9-NEXT: .LBB72_2: ; %Flow
-; GFX9-NEXT: s_or_saveexec_b64 s[4:5], s[4:5]
-; GFX9-NEXT: v_mov_b32_e32 v42, v49
-; GFX9-NEXT: s_xor_b64 exec, exec, s[4:5]
+; GFX9-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]
; GFX9-NEXT: s_cbranch_execz .LBB72_4
; GFX9-NEXT: ; %bb.3: ; %cmp.true
; GFX9-NEXT: s_waitcnt vmcnt(24)
@@ -109558,12 +109624,12 @@ define <128 x i8> @bitcast_v16f64_to_v128i8(<16 x double> %a, i32 %b) #0 {
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[21:22]
-; GFX9-NEXT: v_add_f64 v[7:8], v[7:8], 1.0
+; GFX9-NEXT: v_add_f64 v[3:4], v[3:4], 1.0
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[19:20]
-; GFX9-NEXT: v_add_f64 v[3:4], v[3:4], 1.0
+; GFX9-NEXT: v_add_f64 v[7:8], v[7:8], 1.0
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
@@ -109583,12 +109649,12 @@ define <128 x i8> @bitcast_v16f64_to_v128i8(<16 x double> %a, i32 %b) #0 {
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[11:12]
-; GFX9-NEXT: v_lshrrev_b64 v[54:55], 24, v[7:8]
+; GFX9-NEXT: v_lshrrev_b32_e32 v37, 24, v6
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[9:10]
-; GFX9-NEXT: v_lshrrev_b64 v[41:42], 24, v[1:2]
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 24, v4
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
@@ -109650,233 +109716,230 @@ define <128 x i8> @bitcast_v16f64_to_v128i8(<16 x double> %a, i32 %b) #0 {
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v21
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v21
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v20
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v20
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v19
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v18
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v18
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v17
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v17
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v16
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v16
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v16
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v15
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v15
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v14
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v14
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v14
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v10
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v13
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v10
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v13
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v8
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:384 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v12
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v8
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v12
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v6
-; GFX9-NEXT: v_lshrrev_b32_e32 v55, 8, v20
-; GFX9-NEXT: v_lshrrev_b32_e32 v59, 8, v19
-; GFX9-NEXT: v_lshrrev_b32_e32 v42, 24, v18
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v12
-; GFX9-NEXT: v_lshrrev_b32_e32 v37, 16, v11
-; GFX9-NEXT: v_lshrrev_b32_e32 v47, 8, v11
-; GFX9-NEXT: v_lshrrev_b32_e32 v38, 8, v10
-; GFX9-NEXT: v_lshrrev_b32_e32 v43, 16, v9
-; GFX9-NEXT: v_lshrrev_b32_e32 v52, 8, v9
-; GFX9-NEXT: v_lshrrev_b32_e32 v44, 8, v8
-; GFX9-NEXT: v_lshrrev_b32_e32 v45, 16, v7
-; GFX9-NEXT: v_lshrrev_b32_e32 v46, 8, v7
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v63, 16, v6
-; GFX9-NEXT: v_lshrrev_b32_e32 v57, 8, v6
-; GFX9-NEXT: v_lshrrev_b32_e32 v53, 16, v5
-; GFX9-NEXT: v_lshrrev_b32_e32 v61, 8, v5
-; GFX9-NEXT: v_lshrrev_b32_e32 v35, 24, v4
-; GFX9-NEXT: v_lshrrev_b32_e32 v50, 16, v4
-; GFX9-NEXT: v_lshrrev_b32_e32 v48, 8, v4
-; GFX9-NEXT: v_lshrrev_b32_e32 v56, 16, v3
-; GFX9-NEXT: v_lshrrev_b32_e32 v60, 8, v3
-; GFX9-NEXT: v_lshrrev_b32_e32 v51, 24, v2
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v2
-; GFX9-NEXT: v_lshrrev_b32_e32 v36, 8, v2
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v11
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v11
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v10
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v10
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v10
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v8
+; GFX9-NEXT: v_lshrrev_b64 v[54:55], 24, v[7:8]
+; GFX9-NEXT: v_lshrrev_b64 v[41:42], 24, v[1:2]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v8
+; GFX9-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v37, 16, v6
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v4
+; GFX9-NEXT: v_lshrrev_b32_e32 v44, 24, v2
+; GFX9-NEXT: v_lshrrev_b32_e32 v38, 8, v21
+; GFX9-NEXT: v_lshrrev_b32_e32 v57, 24, v20
+; GFX9-NEXT: v_lshrrev_b32_e32 v59, 16, v20
+; GFX9-NEXT: v_lshrrev_b32_e32 v63, 8, v20
+; GFX9-NEXT: v_lshrrev_b32_e32 v48, 16, v19
+; GFX9-NEXT: v_lshrrev_b32_e32 v61, 8, v19
+; GFX9-NEXT: v_lshrrev_b32_e32 v36, 24, v18
+; GFX9-NEXT: v_lshrrev_b32_e32 v58, 16, v18
+; GFX9-NEXT: v_lshrrev_b32_e32 v42, 24, v16
+; GFX9-NEXT: v_lshrrev_b32_e32 v53, 16, v16
+; GFX9-NEXT: v_lshrrev_b32_e32 v55, 24, v14
+; GFX9-NEXT: v_lshrrev_b32_e32 v60, 16, v14
+; GFX9-NEXT: v_lshrrev_b32_e32 v50, 16, v9
+; GFX9-NEXT: v_lshrrev_b32_e32 v43, 8, v9
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v8
+; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v7
+; GFX9-NEXT: v_lshrrev_b32_e32 v35, 8, v7
+; GFX9-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v51, 8, v6
+; GFX9-NEXT: v_lshrrev_b32_e32 v56, 16, v5
+; GFX9-NEXT: v_lshrrev_b32_e32 v37, 8, v5
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v52, 8, v4
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v3
+; GFX9-NEXT: v_lshrrev_b32_e32 v45, 8, v3
+; GFX9-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v44, 16, v2
+; GFX9-NEXT: v_lshrrev_b32_e32 v46, 8, v2
; GFX9-NEXT: v_lshrrev_b32_e32 v62, 16, v1
-; GFX9-NEXT: v_lshrrev_b32_e32 v58, 8, v1
+; GFX9-NEXT: v_lshrrev_b32_e32 v47, 8, v1
; GFX9-NEXT: .LBB72_4: ; %end
; GFX9-NEXT: s_or_b64 exec, exec, s[4:5]
; GFX9-NEXT: s_mov_b32 s4, 0xc0c0004
-; GFX9-NEXT: v_perm_b32 v4, v4, v48, s4
-; GFX9-NEXT: v_perm_b32 v39, v53, v39, s4
-; GFX9-NEXT: v_perm_b32 v48, v45, v54, s4
-; GFX9-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v54, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload
-; GFX9-NEXT: v_perm_b32 v10, v10, v38, s4
-; GFX9-NEXT: buffer_load_dword v38, off, s[0:3], s32 offset:384 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:360 ; 4-byte Folded Reload
-; GFX9-NEXT: v_perm_b32 v8, v8, v44, s4
-; GFX9-NEXT: v_perm_b32 v12, v12, v33, s4
-; GFX9-NEXT: v_perm_b32 v9, v9, v52, s4
-; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:340 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v5, v5, v37, s4
+; GFX9-NEXT: v_perm_b32 v7, v7, v35, s4
+; GFX9-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:380 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v37, off, s[0:3], s32 offset:372 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v4, v4, v52, s4
+; GFX9-NEXT: v_perm_b32 v6, v6, v51, s4
+; GFX9-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v8, v8, v33, s4
+; GFX9-NEXT: v_perm_b32 v2, v2, v46, s4
+; GFX9-NEXT: v_perm_b32 v3, v3, v45, s4
; GFX9-NEXT: v_perm_b32 v41, v62, v41, s4
-; GFX9-NEXT: v_perm_b32 v1, v1, v58, s4
+; GFX9-NEXT: v_perm_b32 v1, v1, v47, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v41, 16, v1
-; GFX9-NEXT: v_perm_b32 v2, v2, v36, s4
-; GFX9-NEXT: v_perm_b32 v36, v56, v40, s4
-; GFX9-NEXT: v_perm_b32 v3, v3, v60, s4
-; GFX9-NEXT: v_perm_b32 v5, v5, v61, s4
-; GFX9-NEXT: v_perm_b32 v6, v6, v57, s4
-; GFX9-NEXT: v_perm_b32 v7, v7, v46, s4
-; GFX9-NEXT: v_perm_b32 v11, v11, v47, s4
-; GFX9-NEXT: s_waitcnt vmcnt(4)
-; GFX9-NEXT: v_perm_b32 v53, v43, v53, s4
-; GFX9-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(4)
-; GFX9-NEXT: v_perm_b32 v13, v13, v38, s4
-; GFX9-NEXT: buffer_load_dword v38, off, s[0:3], s32 offset:372 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(4)
-; GFX9-NEXT: v_perm_b32 v15, v15, v49, s4
-; GFX9-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:352 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(4)
-; GFX9-NEXT: v_perm_b32 v17, v17, v52, s4
-; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:332 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(4)
-; GFX9-NEXT: v_perm_b32 v37, v37, v43, s4
-; GFX9-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:376 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(5)
-; GFX9-NEXT: v_perm_b32 v14, v14, v38, s4
-; GFX9-NEXT: s_waitcnt vmcnt(4)
-; GFX9-NEXT: v_perm_b32 v16, v16, v49, s4
+; GFX9-NEXT: v_perm_b32 v49, v49, v40, s4
+; GFX9-NEXT: v_perm_b32 v39, v56, v39, s4
+; GFX9-NEXT: v_perm_b32 v34, v34, v54, s4
+; GFX9-NEXT: v_perm_b32 v9, v9, v43, s4
+; GFX9-NEXT: s_waitcnt vmcnt(2)
+; GFX9-NEXT: v_perm_b32 v11, v11, v37, s4
+; GFX9-NEXT: buffer_load_dword v37, off, s[0:3], s32 offset:356 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(2)
+; GFX9-NEXT: v_perm_b32 v33, v50, v51, s4
+; GFX9-NEXT: v_perm_b32 v10, v10, v35, s4
+; GFX9-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:368 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(3)
-; GFX9-NEXT: v_perm_b32 v18, v18, v52, s4
+; GFX9-NEXT: v_perm_b32 v12, v12, v37, s4
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v33, v33, v43, s4
-; GFX9-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v38, off, s[0:3], s32 offset:356 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v35, v35, v50, s4
+; GFX9-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v37, off, s[0:3], s32 offset:340 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v38, v38, v43, s4
-; GFX9-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:336 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v37, v37, v50, s4
+; GFX9-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:348 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v49, v49, v43, s4
-; GFX9-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:320 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v13, v13, v50, s4
+; GFX9-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:336 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v52, v52, v43, s4
+; GFX9-NEXT: v_perm_b32 v14, v14, v50, s4
+; GFX9-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:320 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:304 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(2)
+; GFX9-NEXT: v_perm_b32 v50, v50, v51, s4
+; GFX9-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:324 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(1)
+; GFX9-NEXT: v_perm_b32 v17, v17, v52, s4
+; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(1)
+; GFX9-NEXT: v_perm_b32 v15, v15, v51, s4
+; GFX9-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:316 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(1)
+; GFX9-NEXT: v_perm_b32 v18, v18, v52, s4
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_perm_b32 v16, v16, v51, s4
+; GFX9-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:300 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(1)
+; GFX9-NEXT: v_perm_b32 v51, v51, v45, s4
+; GFX9-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(1)
+; GFX9-NEXT: v_perm_b32 v48, v48, v45, s4
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen
-; GFX9-NEXT: v_perm_b32 v1, v34, v51, s4
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:376 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_perm_b32 v1, v44, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v2
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:4
-; GFX9-NEXT: v_lshl_or_b32 v1, v36, 16, v3
+; GFX9-NEXT: v_lshl_or_b32 v1, v49, 16, v3
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:8
-; GFX9-NEXT: v_perm_b32 v1, v50, v35, s4
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:360 ; 4-byte Folded Reload
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:364 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v4
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:12
; GFX9-NEXT: v_lshl_or_b32 v1, v39, 16, v5
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:16
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:380 ; 4-byte Folded Reload
-; GFX9-NEXT: v_perm_b32 v3, v20, v55, s4
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:344 ; 4-byte Folded Reload
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:352 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v1, v63, v1, s4
+; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v6
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:20
-; GFX9-NEXT: v_lshl_or_b32 v1, v48, 16, v7
+; GFX9-NEXT: v_lshl_or_b32 v1, v34, 16, v7
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:24
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:364 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:328 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:368 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:332 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v8
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:28
-; GFX9-NEXT: v_lshl_or_b32 v1, v53, 16, v9
+; GFX9-NEXT: v_lshl_or_b32 v1, v33, 16, v9
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:32
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:344 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:308 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:348 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:312 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v10
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:36
-; GFX9-NEXT: v_lshl_or_b32 v1, v37, 16, v11
+; GFX9-NEXT: v_lshl_or_b32 v1, v35, 16, v11
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:40
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:324 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:328 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v12
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:44
-; GFX9-NEXT: v_lshl_or_b32 v1, v33, 16, v13
+; GFX9-NEXT: v_lshl_or_b32 v1, v37, 16, v13
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:48
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:312 ; 4-byte Folded Reload
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:316 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
+; GFX9-NEXT: v_perm_b32 v1, v60, v55, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v14
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:52
-; GFX9-NEXT: v_lshl_or_b32 v1, v38, 16, v15
+; GFX9-NEXT: v_lshl_or_b32 v1, v50, 16, v15
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:56
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:304 ; 4-byte Folded Reload
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:308 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
+; GFX9-NEXT: v_perm_b32 v1, v53, v42, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v16
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:60
-; GFX9-NEXT: v_lshl_or_b32 v1, v49, 16, v17
+; GFX9-NEXT: v_lshl_or_b32 v1, v51, 16, v17
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:64
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:300 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v1, v1, v42, s4
+; GFX9-NEXT: v_perm_b32 v1, v58, v36, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v18
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:68
-; GFX9-NEXT: v_perm_b32 v1, v19, v59, s4
-; GFX9-NEXT: v_lshl_or_b32 v1, v52, 16, v1
+; GFX9-NEXT: v_perm_b32 v1, v19, v61, s4
+; GFX9-NEXT: v_lshl_or_b32 v1, v48, 16, v1
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:72
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
-; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v3
+; GFX9-NEXT: v_perm_b32 v1, v20, v63, s4
+; GFX9-NEXT: v_perm_b32 v2, v59, v57, s4
+; GFX9-NEXT: v_lshl_or_b32 v1, v2, 16, v1
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:76
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v2, v21, v1, s4
; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload
+; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v2, v21, v38, s4
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_perm_b32 v1, v1, v3, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v2
@@ -110379,50 +110442,52 @@ define <128 x i8> @bitcast_v16f64_to_v128i8(<16 x double> %a, i32 %b) #0 {
; GFX11-FAKE16-LABEL: bitcast_v16f64_to_v128i8:
; GFX11-FAKE16: ; %bb.0:
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX11-FAKE16-NEXT: s_clause 0x11 ; 72-byte Folded Spill
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v40, s32 offset:80
+; GFX11-FAKE16-NEXT: s_clause 0x12 ; 76-byte Folded Spill
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v40, s32 offset:84
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v41, s32 offset:76
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v41, s32 offset:80
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v42, s32 offset:72
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v42, s32 offset:76
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v43, s32 offset:68
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v43, s32 offset:72
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v44, s32 offset:64
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v44, s32 offset:68
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v45, s32 offset:60
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v45, s32 offset:64
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v46, s32 offset:56
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v46, s32 offset:60
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v47, s32 offset:52
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v47, s32 offset:56
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v56, s32 offset:48
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v56, s32 offset:52
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v57, s32 offset:44
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v57, s32 offset:48
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v58, s32 offset:40
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v58, s32 offset:44
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v59, s32 offset:36
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v59, s32 offset:40
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v60, s32 offset:32
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v60, s32 offset:36
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v61, s32 offset:28
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v61, s32 offset:32
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v62, s32 offset:24
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v62, s32 offset:28
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v63, s32 offset:20
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v63, s32 offset:24
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v72, s32 offset:16
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v72, s32 offset:20
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v73, s32 offset:12
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v73, s32 offset:16
+; GFX11-FAKE16-NEXT: ; meta instruction
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v74, s32 offset:12
; GFX11-FAKE16-NEXT: s_clause 0x2
; GFX11-FAKE16-NEXT: scratch_load_b32 v33, off, s32 offset:8
; GFX11-FAKE16-NEXT: scratch_load_b32 v32, off, s32 offset:4
; GFX11-FAKE16-NEXT: scratch_load_b32 v31, off, s32
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr73
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr72
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr74
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr66
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr55
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr72
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr63
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr62
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr61
@@ -110533,14 +110598,11 @@ define <128 x i8> @bitcast_v16f64_to_v128i8(<16 x double> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: v_mov_b32_e32 v39, v48
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[48:49], 24, v[19:20]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[49:50], 24, v[17:18]
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v64, 8, v2
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[50:51], 24, v[15:16]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[51:52], 24, v[13:14]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[52:53], 24, v[11:12]
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[53:54], 24, v[9:10]
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[54:55], 24, v[7:8]
-; GFX11-FAKE16-NEXT: v_mov_b32_e32 v55, v64
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[64:65], 24, v[5:6]
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[53:54], 24, v[9:10]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[65:66], 24, v[3:4]
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v68, 24, v32
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v69, 16, v32
@@ -110618,8 +110680,10 @@ define <128 x i8> @bitcast_v16f64_to_v128i8(<16 x double> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v61, 8, v3
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v62, 24, v2
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v63, 16, v2
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v72, 16, v1
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v72, 8, v2
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v74, 16, v1
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v73, 8, v1
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[54:55], 24, v[7:8]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[66:67], 24, v[1:2]
; GFX11-FAKE16-NEXT: .LBB72_2: ; %Flow
; GFX11-FAKE16-NEXT: s_and_not1_saveexec_b32 s0, s0
@@ -110735,19 +110799,19 @@ define <128 x i8> @bitcast_v16f64_to_v128i8(<16 x double> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v61, 8, v3
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v62, 24, v2
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v63, 16, v2
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v55, 8, v2
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v72, 16, v1
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v72, 8, v2
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v74, 16, v1
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v73, 8, v1
; GFX11-FAKE16-NEXT: .LBB72_4: ; %end
; GFX11-FAKE16-NEXT: s_or_b32 exec_lo, exec_lo, s0
-; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_3)
-; GFX11-FAKE16-NEXT: v_perm_b32 v2, v2, v55, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v55, v63, v62, 0xc0c0004
+; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_2)
+; GFX11-FAKE16-NEXT: v_perm_b32 v55, v74, v66, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v1, v1, v73, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v3, v3, v61, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v65, v60, v65, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v66, v72, v66, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v1, v1, v73, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v2, v55, 16, v2
+; GFX11-FAKE16-NEXT: v_perm_b32 v2, v2, v72, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v66, v63, v62, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v1, v55, 16, v1
; GFX11-FAKE16-NEXT: v_perm_b32 v4, v4, v59, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v55, v58, v57, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v7, v7, v43, 0xc0c0004
@@ -110759,7 +110823,7 @@ define <128 x i8> @bitcast_v16f64_to_v128i8(<16 x double> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: v_perm_b32 v64, v47, v64, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v6, v6, v46, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v65, v45, v44, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v1, v66, 16, v1
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v2, v66, 16, v2
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v4, v55, 16, v4
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v7, v54, 16, v7
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v8, v39, 16, v8
@@ -110848,25 +110912,26 @@ define <128 x i8> @bitcast_v16f64_to_v128i8(<16 x double> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: scratch_store_b128 v0, v[13:16], off offset:80
; GFX11-FAKE16-NEXT: scratch_store_b128 v0, v[17:20], off offset:96
; GFX11-FAKE16-NEXT: scratch_store_b128 v0, v[21:24], off offset:112
-; GFX11-FAKE16-NEXT: s_clause 0x11 ; 72-byte Folded Reload
-; GFX11-FAKE16-NEXT: scratch_load_b32 v73, off, s32 offset:12
-; GFX11-FAKE16-NEXT: scratch_load_b32 v72, off, s32 offset:16
-; GFX11-FAKE16-NEXT: scratch_load_b32 v63, off, s32 offset:20
-; GFX11-FAKE16-NEXT: scratch_load_b32 v62, off, s32 offset:24
-; GFX11-FAKE16-NEXT: scratch_load_b32 v61, off, s32 offset:28
-; GFX11-FAKE16-NEXT: scratch_load_b32 v60, off, s32 offset:32
-; GFX11-FAKE16-NEXT: scratch_load_b32 v59, off, s32 offset:36
-; GFX11-FAKE16-NEXT: scratch_load_b32 v58, off, s32 offset:40
-; GFX11-FAKE16-NEXT: scratch_load_b32 v57, off, s32 offset:44
-; GFX11-FAKE16-NEXT: scratch_load_b32 v56, off, s32 offset:48
-; GFX11-FAKE16-NEXT: scratch_load_b32 v47, off, s32 offset:52
-; GFX11-FAKE16-NEXT: scratch_load_b32 v46, off, s32 offset:56
-; GFX11-FAKE16-NEXT: scratch_load_b32 v45, off, s32 offset:60
-; GFX11-FAKE16-NEXT: scratch_load_b32 v44, off, s32 offset:64
-; GFX11-FAKE16-NEXT: scratch_load_b32 v43, off, s32 offset:68
-; GFX11-FAKE16-NEXT: scratch_load_b32 v42, off, s32 offset:72
-; GFX11-FAKE16-NEXT: scratch_load_b32 v41, off, s32 offset:76
-; GFX11-FAKE16-NEXT: scratch_load_b32 v40, off, s32 offset:80
+; GFX11-FAKE16-NEXT: s_clause 0x12 ; 76-byte Folded Reload
+; GFX11-FAKE16-NEXT: scratch_load_b32 v74, off, s32 offset:12
+; GFX11-FAKE16-NEXT: scratch_load_b32 v73, off, s32 offset:16
+; GFX11-FAKE16-NEXT: scratch_load_b32 v72, off, s32 offset:20
+; GFX11-FAKE16-NEXT: scratch_load_b32 v63, off, s32 offset:24
+; GFX11-FAKE16-NEXT: scratch_load_b32 v62, off, s32 offset:28
+; GFX11-FAKE16-NEXT: scratch_load_b32 v61, off, s32 offset:32
+; GFX11-FAKE16-NEXT: scratch_load_b32 v60, off, s32 offset:36
+; GFX11-FAKE16-NEXT: scratch_load_b32 v59, off, s32 offset:40
+; GFX11-FAKE16-NEXT: scratch_load_b32 v58, off, s32 offset:44
+; GFX11-FAKE16-NEXT: scratch_load_b32 v57, off, s32 offset:48
+; GFX11-FAKE16-NEXT: scratch_load_b32 v56, off, s32 offset:52
+; GFX11-FAKE16-NEXT: scratch_load_b32 v47, off, s32 offset:56
+; GFX11-FAKE16-NEXT: scratch_load_b32 v46, off, s32 offset:60
+; GFX11-FAKE16-NEXT: scratch_load_b32 v45, off, s32 offset:64
+; GFX11-FAKE16-NEXT: scratch_load_b32 v44, off, s32 offset:68
+; GFX11-FAKE16-NEXT: scratch_load_b32 v43, off, s32 offset:72
+; GFX11-FAKE16-NEXT: scratch_load_b32 v42, off, s32 offset:76
+; GFX11-FAKE16-NEXT: scratch_load_b32 v41, off, s32 offset:80
+; GFX11-FAKE16-NEXT: scratch_load_b32 v40, off, s32 offset:84
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0)
; GFX11-FAKE16-NEXT: s_setpc_b64 s[30:31]
%cmp = icmp eq i32 %b, 0
@@ -111336,144 +111401,142 @@ define inreg <128 x i8> @bitcast_v16f64_to_v128i8_scalar(<16 x double> inreg %a,
; SI-NEXT: ; %bb.4: ; %cmp.true
; SI-NEXT: v_add_f64 v[1:2], s[4:5], 1.0
; SI-NEXT: v_add_f64 v[3:4], s[6:7], 1.0
-; SI-NEXT: v_lshr_b64 v[17:18], v[1:2], 24
+; SI-NEXT: v_lshr_b64 v[19:20], v[1:2], 24
; SI-NEXT: v_add_f64 v[5:6], s[8:9], 1.0
-; SI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:52 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:52 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[17:18], v[1:2], 16
+; SI-NEXT: v_lshr_b64 v[19:20], v[1:2], 16
; SI-NEXT: v_add_f64 v[7:8], s[10:11], 1.0
-; SI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[17:18], v[1:2], 8
+; SI-NEXT: v_lshr_b64 v[19:20], v[1:2], 8
; SI-NEXT: v_add_f64 v[9:10], s[12:13], 1.0
-; SI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[17:18], v[3:4], 24
+; SI-NEXT: v_lshr_b64 v[19:20], v[3:4], 24
; SI-NEXT: v_add_f64 v[11:12], s[14:15], 1.0
-; SI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[17:18], v[3:4], 16
+; SI-NEXT: v_lshr_b64 v[19:20], v[3:4], 16
; SI-NEXT: v_add_f64 v[13:14], s[40:41], 1.0
-; SI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[17:18], v[3:4], 8
+; SI-NEXT: v_lshr_b64 v[19:20], v[3:4], 8
; SI-NEXT: v_add_f64 v[15:16], s[42:43], 1.0
-; SI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[17:18], v[5:6], 24
-; SI-NEXT: v_add_f64 v[21:22], s[44:45], 1.0
-; SI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
+; SI-NEXT: v_lshr_b64 v[19:20], v[5:6], 24
+; SI-NEXT: v_add_f64 v[17:18], s[44:45], 1.0
+; SI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[17:18], v[5:6], 16
-; SI-NEXT: v_add_f64 v[28:29], s[28:29], 1.0
-; SI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; SI-NEXT: v_lshr_b64 v[19:20], v[5:6], 16
+; SI-NEXT: v_add_f64 v[24:25], s[28:29], 1.0
+; SI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[17:18], v[5:6], 8
-; SI-NEXT: v_lshr_b64 v[55:56], v[21:22], 16
-; SI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; SI-NEXT: v_lshr_b64 v[19:20], v[5:6], 8
+; SI-NEXT: v_lshr_b64 v[55:56], v[17:18], 8
+; SI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[17:18], v[7:8], 24
-; SI-NEXT: v_add_f64 v[51:52], s[24:25], 1.0
-; SI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; SI-NEXT: v_lshr_b64 v[19:20], v[7:8], 24
+; SI-NEXT: v_add_f64 v[50:51], s[24:25], 1.0
+; SI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[17:18], v[7:8], 16
-; SI-NEXT: v_lshr_b64 v[56:57], v[21:22], 8
-; SI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; SI-NEXT: v_lshr_b64 v[19:20], v[7:8], 16
+; SI-NEXT: v_lshr_b64 v[56:57], v[24:25], 24
+; SI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[17:18], v[7:8], 8
-; SI-NEXT: v_add_f64 v[36:37], s[26:27], 1.0
-; SI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
+; SI-NEXT: v_lshr_b64 v[19:20], v[7:8], 8
+; SI-NEXT: v_lshr_b64 v[57:58], v[24:25], 16
+; SI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[17:18], v[9:10], 24
-; SI-NEXT: v_add_f64 v[26:27], s[22:23], 1.0
-; SI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
+; SI-NEXT: v_lshr_b64 v[19:20], v[9:10], 24
+; SI-NEXT: v_readfirstlane_b32 s29, v25
+; SI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[17:18], v[9:10], 16
-; SI-NEXT: v_add_f64 v[40:41], s[16:17], 1.0
-; SI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; SI-NEXT: v_lshr_b64 v[19:20], v[9:10], 16
+; SI-NEXT: v_lshr_b64 v[58:59], v[24:25], 8
+; SI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[17:18], v[9:10], 8
-; SI-NEXT: v_readfirstlane_b32 s43, v16
-; SI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
+; SI-NEXT: v_lshr_b64 v[19:20], v[9:10], 8
+; SI-NEXT: v_lshr_b64 v[25:26], v[50:51], 24
+; SI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[17:18], v[11:12], 24
-; SI-NEXT: v_lshr_b64 v[57:58], v[28:29], 24
-; SI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
+; SI-NEXT: v_lshr_b64 v[19:20], v[11:12], 24
+; SI-NEXT: v_add_f64 v[21:22], s[22:23], 1.0
+; SI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[17:18], v[11:12], 16
-; SI-NEXT: v_add_f64 v[33:34], s[20:21], 1.0
-; SI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
+; SI-NEXT: v_lshr_b64 v[19:20], v[11:12], 16
+; SI-NEXT: v_add_f64 v[39:40], s[16:17], 1.0
+; SI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[17:18], v[11:12], 8
-; SI-NEXT: v_add_f64 v[49:50], s[18:19], 1.0
-; SI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[17:18], v[13:14], 24
-; SI-NEXT: v_readfirstlane_b32 s45, v22
-; SI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[17:18], v[13:14], 16
-; SI-NEXT: v_lshr_b64 v[46:47], v[21:22], 24
-; SI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[17:18], v[13:14], 8
-; SI-NEXT: v_lshr_b64 v[58:59], v[28:29], 16
-; SI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[17:18], v[15:16], 24
-; SI-NEXT: v_lshr_b64 v[22:23], v[51:52], 24
-; SI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
+; SI-NEXT: v_lshr_b64 v[19:20], v[11:12], 8
+; SI-NEXT: v_add_f64 v[48:49], s[18:19], 1.0
+; SI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[17:18], v[15:16], 16
-; SI-NEXT: v_readfirstlane_b32 s29, v29
-; SI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
+; SI-NEXT: v_lshr_b64 v[19:20], v[13:14], 24
+; SI-NEXT: v_lshr_b64 v[26:27], v[50:51], 16
+; SI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_lshr_b64 v[19:20], v[13:14], 16
+; SI-NEXT: v_add_f64 v[32:33], s[26:27], 1.0
+; SI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_lshr_b64 v[19:20], v[13:14], 8
+; SI-NEXT: v_add_f64 v[34:35], s[20:21], 1.0
+; SI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_lshr_b64 v[19:20], v[15:16], 24
+; SI-NEXT: v_lshr_b64 v[27:28], v[50:51], 8
+; SI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_lshr_b64 v[19:20], v[15:16], 16
+; SI-NEXT: v_readfirstlane_b32 s25, v51
+; SI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_lshr_b64 v[19:20], v[15:16], 8
+; SI-NEXT: v_lshr_b64 v[45:46], v[17:18], 24
+; SI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
+; SI-NEXT: v_lshr_b64 v[28:29], v[21:22], 24
+; SI-NEXT: v_lshr_b64 v[51:52], v[48:49], 24
+; SI-NEXT: v_lshr_b64 v[41:42], v[39:40], 24
+; SI-NEXT: v_readfirstlane_b32 s45, v18
+; SI-NEXT: v_lshr_b64 v[46:47], v[17:18], 16
; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_lshr_b64 v[16:17], v[15:16], 8
-; SI-NEXT: v_lshr_b64 v[59:60], v[28:29], 8
-; SI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(2)
-; SI-NEXT: v_lshr_b64 v[18:19], v[36:37], 24
-; SI-NEXT: v_lshr_b64 v[23:24], v[51:52], 16
-; SI-NEXT: v_lshr_b64 v[29:30], v[26:27], 24
-; SI-NEXT: v_lshr_b64 v[42:43], v[40:41], 24
-; SI-NEXT: v_readfirstlane_b32 s25, v52
-; SI-NEXT: v_readfirstlane_b32 s27, v37
-; SI-NEXT: v_lshr_b64 v[19:20], v[36:37], 16
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[16:17], v[36:37], 8
-; SI-NEXT: v_lshr_b64 v[24:25], v[51:52], 8
-; SI-NEXT: v_lshr_b64 v[30:31], v[26:27], 16
-; SI-NEXT: v_lshr_b64 v[37:38], v[33:34], 24
-; SI-NEXT: v_lshr_b64 v[52:53], v[49:50], 24
-; SI-NEXT: v_lshr_b64 v[43:44], v[40:41], 16
-; SI-NEXT: v_readfirstlane_b32 s17, v41
-; SI-NEXT: v_readfirstlane_b32 s19, v50
-; SI-NEXT: v_readfirstlane_b32 s21, v34
-; SI-NEXT: v_readfirstlane_b32 s23, v27
+; SI-NEXT: v_lshr_b64 v[18:19], v[32:33], 24
+; SI-NEXT: v_lshr_b64 v[29:30], v[21:22], 16
+; SI-NEXT: v_lshr_b64 v[36:37], v[34:35], 16
+; SI-NEXT: v_lshr_b64 v[52:53], v[48:49], 16
+; SI-NEXT: v_lshr_b64 v[42:43], v[39:40], 16
+; SI-NEXT: v_readfirstlane_b32 s17, v40
+; SI-NEXT: v_readfirstlane_b32 s19, v49
+; SI-NEXT: v_readfirstlane_b32 s21, v35
+; SI-NEXT: v_readfirstlane_b32 s23, v22
+; SI-NEXT: v_readfirstlane_b32 s27, v33
+; SI-NEXT: v_readfirstlane_b32 s43, v16
; SI-NEXT: v_readfirstlane_b32 s41, v14
; SI-NEXT: v_readfirstlane_b32 s15, v12
; SI-NEXT: v_readfirstlane_b32 s13, v10
@@ -111481,12 +111544,14 @@ define inreg <128 x i8> @bitcast_v16f64_to_v128i8_scalar(<16 x double> inreg %a,
; SI-NEXT: v_readfirstlane_b32 s9, v6
; SI-NEXT: v_readfirstlane_b32 s7, v4
; SI-NEXT: v_readfirstlane_b32 s5, v2
-; SI-NEXT: v_lshr_b64 v[31:32], v[26:27], 8
-; SI-NEXT: v_lshr_b64 v[47:48], v[33:34], 16
-; SI-NEXT: v_lshr_b64 v[34:35], v[33:34], 8
-; SI-NEXT: v_lshr_b64 v[53:54], v[49:50], 16
-; SI-NEXT: v_lshr_b64 v[38:39], v[49:50], 8
-; SI-NEXT: v_lshr_b64 v[44:45], v[40:41], 8
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_lshr_b64 v[19:20], v[32:33], 16
+; SI-NEXT: v_lshr_b64 v[59:60], v[32:33], 8
+; SI-NEXT: v_lshr_b64 v[22:23], v[21:22], 8
+; SI-NEXT: v_lshr_b64 v[30:31], v[34:35], 24
+; SI-NEXT: v_lshr_b64 v[37:38], v[34:35], 8
+; SI-NEXT: v_lshr_b64 v[53:54], v[48:49], 8
+; SI-NEXT: v_lshr_b64 v[43:44], v[39:40], 8
; SI-NEXT: s_lshr_b32 s10, s5, 24
; SI-NEXT: s_lshr_b32 s12, s5, 16
; SI-NEXT: s_lshr_b32 s14, s5, 8
@@ -111543,32 +111608,32 @@ define inreg <128 x i8> @bitcast_v16f64_to_v128i8_scalar(<16 x double> inreg %a,
; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
; SI-NEXT: v_mov_b32_e32 v2, s64
-; SI-NEXT: v_mov_b32_e32 v16, s46
+; SI-NEXT: v_mov_b32_e32 v59, s46
; SI-NEXT: v_readlane_b32 s46, v62, 0
; SI-NEXT: v_readlane_b32 s47, v62, 1
-; SI-NEXT: v_mov_b32_e32 v44, s34
-; SI-NEXT: v_mov_b32_e32 v43, s30
-; SI-NEXT: v_mov_b32_e32 v42, vcc_lo
-; SI-NEXT: v_mov_b32_e32 v38, s94
-; SI-NEXT: v_mov_b32_e32 v53, s92
-; SI-NEXT: v_mov_b32_e32 v52, s90
-; SI-NEXT: v_mov_b32_e32 v34, s88
-; SI-NEXT: v_mov_b32_e32 v47, s78
-; SI-NEXT: v_mov_b32_e32 v37, s76
-; SI-NEXT: v_mov_b32_e32 v31, s74
-; SI-NEXT: v_mov_b32_e32 v30, s72
-; SI-NEXT: v_mov_b32_e32 v29, s62
-; SI-NEXT: v_mov_b32_e32 v24, s60
-; SI-NEXT: v_mov_b32_e32 v23, s58
-; SI-NEXT: v_mov_b32_e32 v22, s56
-; SI-NEXT: v_mov_b32_e32 v40, s16
-; SI-NEXT: v_mov_b32_e32 v49, s18
-; SI-NEXT: v_mov_b32_e32 v33, s20
-; SI-NEXT: v_mov_b32_e32 v26, s22
-; SI-NEXT: v_mov_b32_e32 v51, s24
-; SI-NEXT: v_mov_b32_e32 v36, s26
-; SI-NEXT: v_mov_b32_e32 v28, s28
-; SI-NEXT: v_mov_b32_e32 v21, s44
+; SI-NEXT: v_mov_b32_e32 v43, s34
+; SI-NEXT: v_mov_b32_e32 v42, s30
+; SI-NEXT: v_mov_b32_e32 v41, vcc_lo
+; SI-NEXT: v_mov_b32_e32 v53, s94
+; SI-NEXT: v_mov_b32_e32 v52, s92
+; SI-NEXT: v_mov_b32_e32 v51, s90
+; SI-NEXT: v_mov_b32_e32 v37, s88
+; SI-NEXT: v_mov_b32_e32 v36, s78
+; SI-NEXT: v_mov_b32_e32 v30, s76
+; SI-NEXT: v_mov_b32_e32 v22, s74
+; SI-NEXT: v_mov_b32_e32 v29, s72
+; SI-NEXT: v_mov_b32_e32 v28, s62
+; SI-NEXT: v_mov_b32_e32 v27, s60
+; SI-NEXT: v_mov_b32_e32 v26, s58
+; SI-NEXT: v_mov_b32_e32 v25, s56
+; SI-NEXT: v_mov_b32_e32 v39, s16
+; SI-NEXT: v_mov_b32_e32 v48, s18
+; SI-NEXT: v_mov_b32_e32 v34, s20
+; SI-NEXT: v_mov_b32_e32 v21, s22
+; SI-NEXT: v_mov_b32_e32 v50, s24
+; SI-NEXT: v_mov_b32_e32 v32, s26
+; SI-NEXT: v_mov_b32_e32 v24, s28
+; SI-NEXT: v_mov_b32_e32 v17, s44
; SI-NEXT: v_mov_b32_e32 v15, s42
; SI-NEXT: v_mov_b32_e32 v13, s40
; SI-NEXT: v_mov_b32_e32 v11, s14
@@ -111578,12 +111643,12 @@ define inreg <128 x i8> @bitcast_v16f64_to_v128i8_scalar(<16 x double> inreg %a,
; SI-NEXT: v_mov_b32_e32 v1, s4
; SI-NEXT: v_mov_b32_e32 v19, s98
; SI-NEXT: v_mov_b32_e32 v18, s96
-; SI-NEXT: v_mov_b32_e32 v59, s86
-; SI-NEXT: v_mov_b32_e32 v58, s84
-; SI-NEXT: v_mov_b32_e32 v57, s82
-; SI-NEXT: v_mov_b32_e32 v56, s80
-; SI-NEXT: v_mov_b32_e32 v55, s70
-; SI-NEXT: v_mov_b32_e32 v46, s68
+; SI-NEXT: v_mov_b32_e32 v58, s86
+; SI-NEXT: v_mov_b32_e32 v57, s84
+; SI-NEXT: v_mov_b32_e32 v56, s82
+; SI-NEXT: v_mov_b32_e32 v55, s80
+; SI-NEXT: v_mov_b32_e32 v46, s70
+; SI-NEXT: v_mov_b32_e32 v45, s68
; SI-NEXT: v_readlane_b32 s10, v62, 34
; SI-NEXT: v_readlane_b32 s12, v62, 35
; SI-NEXT: v_readlane_b32 s14, v62, 36
@@ -111756,15 +111821,15 @@ define inreg <128 x i8> @bitcast_v16f64_to_v128i8_scalar(<16 x double> inreg %a,
; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill
; SI-NEXT: .LBB73_6: ; %end
; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_and_b32_e32 v2, 0xff, v40
-; SI-NEXT: v_lshlrev_b32_e32 v4, 8, v44
+; SI-NEXT: v_and_b32_e32 v2, 0xff, v39
+; SI-NEXT: v_lshlrev_b32_e32 v4, 8, v43
; SI-NEXT: s_and_b32 s4, s17, 0xff
; SI-NEXT: s_lshl_b32 s6, s6, 8
; SI-NEXT: v_or_b32_e32 v2, v2, v4
-; SI-NEXT: v_and_b32_e32 v4, 0xff, v43
+; SI-NEXT: v_and_b32_e32 v4, 0xff, v42
; SI-NEXT: s_or_b32 s4, s4, s6
; SI-NEXT: s_and_b32 s6, s36, 0xff
-; SI-NEXT: v_lshlrev_b32_e32 v6, 24, v42
+; SI-NEXT: v_lshlrev_b32_e32 v6, 24, v41
; SI-NEXT: v_lshlrev_b32_e32 v4, 16, v4
; SI-NEXT: s_lshl_b32 s6, s6, 16
; SI-NEXT: s_lshl_b32 s8, s8, 24
@@ -111779,15 +111844,15 @@ define inreg <128 x i8> @bitcast_v16f64_to_v128i8_scalar(<16 x double> inreg %a,
; SI-NEXT: v_mov_b32_e32 v2, s4
; SI-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:4
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_and_b32_e32 v2, 0xff, v49
-; SI-NEXT: v_lshlrev_b32_e32 v4, 8, v38
+; SI-NEXT: v_and_b32_e32 v2, 0xff, v48
+; SI-NEXT: v_lshlrev_b32_e32 v4, 8, v53
; SI-NEXT: s_and_b32 s4, s19, 0xff
; SI-NEXT: s_lshl_b32 s6, s35, 8
; SI-NEXT: v_or_b32_e32 v2, v2, v4
-; SI-NEXT: v_and_b32_e32 v4, 0xff, v53
+; SI-NEXT: v_and_b32_e32 v4, 0xff, v52
; SI-NEXT: s_or_b32 s4, s4, s6
; SI-NEXT: s_and_b32 s6, s34, 0xff
-; SI-NEXT: v_lshlrev_b32_e32 v6, 24, v52
+; SI-NEXT: v_lshlrev_b32_e32 v6, 24, v51
; SI-NEXT: v_lshlrev_b32_e32 v4, 16, v4
; SI-NEXT: s_lshl_b32 s6, s6, 16
; SI-NEXT: s_lshl_b32 s8, s31, 24
@@ -111802,15 +111867,15 @@ define inreg <128 x i8> @bitcast_v16f64_to_v128i8_scalar(<16 x double> inreg %a,
; SI-NEXT: v_mov_b32_e32 v2, s4
; SI-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:12
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_and_b32_e32 v2, 0xff, v33
-; SI-NEXT: v_lshlrev_b32_e32 v4, 8, v34
+; SI-NEXT: v_and_b32_e32 v2, 0xff, v34
+; SI-NEXT: v_lshlrev_b32_e32 v4, 8, v37
; SI-NEXT: s_and_b32 s4, s21, 0xff
; SI-NEXT: s_lshl_b32 s6, s30, 8
; SI-NEXT: v_or_b32_e32 v2, v2, v4
-; SI-NEXT: v_and_b32_e32 v4, 0xff, v47
+; SI-NEXT: v_and_b32_e32 v4, 0xff, v36
; SI-NEXT: s_or_b32 s4, s4, s6
; SI-NEXT: s_and_b32 s6, vcc_hi, 0xff
-; SI-NEXT: v_lshlrev_b32_e32 v6, 24, v37
+; SI-NEXT: v_lshlrev_b32_e32 v6, 24, v30
; SI-NEXT: v_lshlrev_b32_e32 v4, 16, v4
; SI-NEXT: s_lshl_b32 s6, s6, 16
; SI-NEXT: s_lshl_b32 s8, vcc_lo, 24
@@ -111825,15 +111890,15 @@ define inreg <128 x i8> @bitcast_v16f64_to_v128i8_scalar(<16 x double> inreg %a,
; SI-NEXT: v_mov_b32_e32 v2, s4
; SI-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:20
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_and_b32_e32 v2, 0xff, v26
-; SI-NEXT: v_lshlrev_b32_e32 v4, 8, v31
+; SI-NEXT: v_and_b32_e32 v2, 0xff, v21
+; SI-NEXT: v_lshlrev_b32_e32 v4, 8, v22
; SI-NEXT: s_and_b32 s4, s23, 0xff
; SI-NEXT: s_lshl_b32 s6, s95, 8
; SI-NEXT: v_or_b32_e32 v2, v2, v4
-; SI-NEXT: v_and_b32_e32 v4, 0xff, v30
+; SI-NEXT: v_and_b32_e32 v4, 0xff, v29
; SI-NEXT: s_or_b32 s4, s4, s6
; SI-NEXT: s_and_b32 s6, s94, 0xff
-; SI-NEXT: v_lshlrev_b32_e32 v6, 24, v29
+; SI-NEXT: v_lshlrev_b32_e32 v6, 24, v28
; SI-NEXT: v_lshlrev_b32_e32 v4, 16, v4
; SI-NEXT: s_lshl_b32 s6, s6, 16
; SI-NEXT: s_lshl_b32 s8, s93, 24
@@ -111848,15 +111913,15 @@ define inreg <128 x i8> @bitcast_v16f64_to_v128i8_scalar(<16 x double> inreg %a,
; SI-NEXT: v_mov_b32_e32 v2, s4
; SI-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:28
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_and_b32_e32 v2, 0xff, v51
-; SI-NEXT: v_lshlrev_b32_e32 v4, 8, v24
+; SI-NEXT: v_and_b32_e32 v2, 0xff, v50
+; SI-NEXT: v_lshlrev_b32_e32 v4, 8, v27
; SI-NEXT: s_and_b32 s4, s25, 0xff
; SI-NEXT: s_lshl_b32 s6, s92, 8
; SI-NEXT: v_or_b32_e32 v2, v2, v4
-; SI-NEXT: v_and_b32_e32 v4, 0xff, v23
+; SI-NEXT: v_and_b32_e32 v4, 0xff, v26
; SI-NEXT: s_or_b32 s4, s4, s6
; SI-NEXT: s_and_b32 s6, s91, 0xff
-; SI-NEXT: v_lshlrev_b32_e32 v6, 24, v22
+; SI-NEXT: v_lshlrev_b32_e32 v6, 24, v25
; SI-NEXT: v_lshlrev_b32_e32 v4, 16, v4
; SI-NEXT: s_lshl_b32 s6, s6, 16
; SI-NEXT: s_lshl_b32 s8, s90, 24
@@ -111871,8 +111936,8 @@ define inreg <128 x i8> @bitcast_v16f64_to_v128i8_scalar(<16 x double> inreg %a,
; SI-NEXT: v_mov_b32_e32 v2, s4
; SI-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:36
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_and_b32_e32 v2, 0xff, v36
-; SI-NEXT: v_lshlrev_b32_e32 v4, 8, v16
+; SI-NEXT: v_and_b32_e32 v2, 0xff, v32
+; SI-NEXT: v_lshlrev_b32_e32 v4, 8, v59
; SI-NEXT: s_and_b32 s4, s27, 0xff
; SI-NEXT: s_lshl_b32 s6, s89, 8
; SI-NEXT: v_or_b32_e32 v2, v2, v4
@@ -111894,15 +111959,15 @@ define inreg <128 x i8> @bitcast_v16f64_to_v128i8_scalar(<16 x double> inreg %a,
; SI-NEXT: v_mov_b32_e32 v2, s4
; SI-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:44
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_and_b32_e32 v2, 0xff, v28
-; SI-NEXT: v_lshlrev_b32_e32 v4, 8, v59
+; SI-NEXT: v_and_b32_e32 v2, 0xff, v24
+; SI-NEXT: v_lshlrev_b32_e32 v4, 8, v58
; SI-NEXT: s_and_b32 s4, s29, 0xff
; SI-NEXT: s_lshl_b32 s6, s78, 8
; SI-NEXT: v_or_b32_e32 v2, v2, v4
-; SI-NEXT: v_and_b32_e32 v4, 0xff, v58
+; SI-NEXT: v_and_b32_e32 v4, 0xff, v57
; SI-NEXT: s_or_b32 s4, s4, s6
; SI-NEXT: s_and_b32 s6, s77, 0xff
-; SI-NEXT: v_lshlrev_b32_e32 v6, 24, v57
+; SI-NEXT: v_lshlrev_b32_e32 v6, 24, v56
; SI-NEXT: v_lshlrev_b32_e32 v4, 16, v4
; SI-NEXT: s_lshl_b32 s6, s6, 16
; SI-NEXT: s_lshl_b32 s8, s76, 24
@@ -111917,15 +111982,15 @@ define inreg <128 x i8> @bitcast_v16f64_to_v128i8_scalar(<16 x double> inreg %a,
; SI-NEXT: v_mov_b32_e32 v2, s4
; SI-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:52
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_and_b32_e32 v2, 0xff, v21
-; SI-NEXT: v_lshlrev_b32_e32 v4, 8, v56
+; SI-NEXT: v_and_b32_e32 v2, 0xff, v17
+; SI-NEXT: v_lshlrev_b32_e32 v4, 8, v55
; SI-NEXT: s_and_b32 s4, s45, 0xff
; SI-NEXT: s_lshl_b32 s6, s75, 8
; SI-NEXT: v_or_b32_e32 v2, v2, v4
-; SI-NEXT: v_and_b32_e32 v4, 0xff, v55
+; SI-NEXT: v_and_b32_e32 v4, 0xff, v46
; SI-NEXT: s_or_b32 s4, s4, s6
; SI-NEXT: s_and_b32 s6, s74, 0xff
-; SI-NEXT: v_lshlrev_b32_e32 v6, 24, v46
+; SI-NEXT: v_lshlrev_b32_e32 v6, 24, v45
; SI-NEXT: v_lshlrev_b32_e32 v4, 16, v4
; SI-NEXT: s_lshl_b32 s6, s6, 16
; SI-NEXT: s_lshl_b32 s8, s73, 24
@@ -112256,8 +112321,8 @@ define inreg <128 x i8> @bitcast_v16f64_to_v128i8_scalar(<16 x double> inreg %a,
; VI: ; %bb.0:
; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
; VI-NEXT: s_or_saveexec_b64 s[4:5], -1
-; VI-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:400 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:404 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:388 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:392 ; 4-byte Folded Spill
; VI-NEXT: s_mov_b64 exec, s[4:5]
; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:52 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:48 ; 4-byte Folded Spill
@@ -112328,154 +112393,155 @@ define inreg <128 x i8> @bitcast_v16f64_to_v128i8_scalar(<16 x double> inreg %a,
; VI-NEXT: ; implicit-def: $vgpr62 : SGPR spill to VGPR lane
; VI-NEXT: s_cbranch_scc0 .LBB73_2
; VI-NEXT: ; %bb.1: ; %cmp.false
-; VI-NEXT: s_lshr_b32 s46, s13, 24
+; VI-NEXT: s_lshr_b32 s46, s9, 8
+; VI-NEXT: v_writelane_b32 v62, s46, 20
+; VI-NEXT: s_lshr_b32 s46, s11, 24
+; VI-NEXT: v_writelane_b32 v62, s46, 21
+; VI-NEXT: s_lshr_b32 s46, s11, 16
+; VI-NEXT: v_writelane_b32 v62, s46, 22
+; VI-NEXT: s_lshr_b32 s46, s11, 8
; VI-NEXT: v_writelane_b32 v62, s46, 23
-; VI-NEXT: s_lshr_b32 s46, s13, 16
+; VI-NEXT: s_lshr_b32 s46, s13, 24
; VI-NEXT: v_writelane_b32 v62, s46, 24
-; VI-NEXT: s_lshr_b32 s46, s13, 8
+; VI-NEXT: s_lshr_b32 s46, s13, 16
; VI-NEXT: v_writelane_b32 v62, s46, 25
-; VI-NEXT: s_lshr_b32 s46, s15, 24
+; VI-NEXT: s_lshr_b32 s46, s13, 8
; VI-NEXT: v_writelane_b32 v62, s46, 26
-; VI-NEXT: s_lshr_b32 s46, s15, 16
+; VI-NEXT: s_lshr_b32 s46, s15, 24
; VI-NEXT: v_writelane_b32 v62, s46, 27
-; VI-NEXT: s_lshr_b32 s46, s15, 8
+; VI-NEXT: s_lshr_b32 s46, s15, 16
; VI-NEXT: v_writelane_b32 v62, s46, 28
-; VI-NEXT: s_lshr_b32 s46, s41, 24
+; VI-NEXT: s_lshr_b32 s46, s15, 8
; VI-NEXT: v_writelane_b32 v62, s46, 29
-; VI-NEXT: s_lshr_b32 s46, s41, 16
+; VI-NEXT: s_lshr_b32 s46, s41, 24
; VI-NEXT: v_writelane_b32 v62, s46, 30
-; VI-NEXT: s_lshr_b32 s46, s41, 8
+; VI-NEXT: s_lshr_b32 s46, s41, 16
; VI-NEXT: v_writelane_b32 v62, s46, 31
-; VI-NEXT: s_lshr_b32 s46, s43, 24
+; VI-NEXT: s_lshr_b32 s46, s41, 8
; VI-NEXT: v_writelane_b32 v62, s46, 32
-; VI-NEXT: s_lshr_b32 s46, s43, 16
+; VI-NEXT: s_lshr_b32 s46, s43, 24
; VI-NEXT: v_writelane_b32 v62, s46, 33
-; VI-NEXT: s_lshr_b32 s46, s43, 8
+; VI-NEXT: s_lshr_b32 s46, s43, 16
; VI-NEXT: v_writelane_b32 v62, s46, 34
-; VI-NEXT: s_lshr_b32 s46, s45, 24
+; VI-NEXT: s_lshr_b32 s46, s43, 8
; VI-NEXT: v_writelane_b32 v62, s46, 35
-; VI-NEXT: s_lshr_b32 s46, s45, 16
+; VI-NEXT: s_lshr_b32 s46, s45, 24
; VI-NEXT: v_writelane_b32 v62, s46, 36
-; VI-NEXT: s_lshr_b32 s46, s45, 8
+; VI-NEXT: s_lshr_b32 s46, s45, 16
; VI-NEXT: v_writelane_b32 v62, s46, 37
-; VI-NEXT: s_lshr_b32 s46, s29, 24
+; VI-NEXT: s_lshr_b32 s46, s45, 8
; VI-NEXT: v_writelane_b32 v62, s46, 38
-; VI-NEXT: s_lshr_b32 s46, s29, 16
+; VI-NEXT: s_lshr_b32 s46, s29, 24
; VI-NEXT: v_writelane_b32 v62, s46, 39
-; VI-NEXT: s_lshr_b32 s46, s29, 8
+; VI-NEXT: s_lshr_b32 s46, s29, 16
; VI-NEXT: v_writelane_b32 v62, s46, 40
-; VI-NEXT: s_lshr_b32 s46, s27, 24
+; VI-NEXT: s_lshr_b32 s46, s29, 8
; VI-NEXT: v_writelane_b32 v62, s46, 41
-; VI-NEXT: s_lshr_b32 s46, s27, 16
+; VI-NEXT: s_lshr_b32 s46, s27, 24
; VI-NEXT: v_writelane_b32 v62, s46, 42
-; VI-NEXT: s_lshr_b32 s46, s27, 8
+; VI-NEXT: s_lshr_b32 s46, s27, 16
; VI-NEXT: v_writelane_b32 v62, s46, 43
-; VI-NEXT: s_lshr_b32 s46, s26, 8
-; VI-NEXT: v_writelane_b32 v62, s46, 22
-; VI-NEXT: s_lshr_b32 s46, s25, 24
+; VI-NEXT: s_lshr_b32 s46, s27, 8
; VI-NEXT: v_writelane_b32 v62, s46, 44
-; VI-NEXT: s_lshr_b32 s46, s25, 16
+; VI-NEXT: s_lshr_b32 s46, s25, 24
; VI-NEXT: v_writelane_b32 v62, s46, 45
-; VI-NEXT: s_lshr_b32 s46, s25, 8
+; VI-NEXT: s_lshr_b32 s46, s25, 16
; VI-NEXT: v_writelane_b32 v62, s46, 46
+; VI-NEXT: s_lshr_b32 s46, s25, 8
+; VI-NEXT: v_writelane_b32 v62, s46, 47
; VI-NEXT: s_lshr_b32 s46, s24, 16
-; VI-NEXT: v_writelane_b32 v62, s46, 20
+; VI-NEXT: v_writelane_b32 v62, s46, 18
; VI-NEXT: s_lshr_b32 s46, s24, 8
-; VI-NEXT: v_writelane_b32 v62, s46, 21
+; VI-NEXT: v_writelane_b32 v62, s46, 19
; VI-NEXT: s_lshr_b32 s46, s23, 24
-; VI-NEXT: v_writelane_b32 v62, s46, 47
-; VI-NEXT: s_lshr_b32 s46, s23, 16
; VI-NEXT: v_writelane_b32 v62, s46, 48
-; VI-NEXT: s_lshr_b32 s46, s23, 8
+; VI-NEXT: s_lshr_b32 s46, s23, 16
; VI-NEXT: v_writelane_b32 v62, s46, 49
+; VI-NEXT: s_lshr_b32 s46, s23, 8
+; VI-NEXT: v_writelane_b32 v62, s46, 50
; VI-NEXT: s_lshr_b32 s46, s22, 16
-; VI-NEXT: v_writelane_b32 v62, s46, 18
+; VI-NEXT: v_writelane_b32 v62, s46, 16
; VI-NEXT: s_lshr_b32 s46, s22, 8
-; VI-NEXT: v_writelane_b32 v62, s46, 19
+; VI-NEXT: v_writelane_b32 v62, s46, 17
; VI-NEXT: s_lshr_b32 s46, s21, 24
-; VI-NEXT: v_writelane_b32 v62, s46, 50
-; VI-NEXT: s_lshr_b32 s46, s21, 16
; VI-NEXT: v_writelane_b32 v62, s46, 51
-; VI-NEXT: s_lshr_b32 s46, s21, 8
+; VI-NEXT: s_lshr_b32 s46, s21, 16
; VI-NEXT: v_writelane_b32 v62, s46, 52
+; VI-NEXT: s_lshr_b32 s46, s21, 8
+; VI-NEXT: v_writelane_b32 v62, s46, 53
; VI-NEXT: s_lshr_b32 s46, s20, 16
-; VI-NEXT: v_writelane_b32 v62, s46, 16
+; VI-NEXT: v_writelane_b32 v62, s46, 14
; VI-NEXT: s_lshr_b32 s46, s20, 8
-; VI-NEXT: v_writelane_b32 v62, s46, 17
+; VI-NEXT: v_writelane_b32 v62, s46, 15
; VI-NEXT: s_lshr_b32 s46, s19, 24
-; VI-NEXT: v_writelane_b32 v62, s46, 53
-; VI-NEXT: s_lshr_b32 s46, s19, 16
; VI-NEXT: v_writelane_b32 v62, s46, 54
-; VI-NEXT: s_lshr_b32 s46, s19, 8
+; VI-NEXT: s_lshr_b32 s46, s19, 16
; VI-NEXT: v_writelane_b32 v62, s46, 55
+; VI-NEXT: s_lshr_b32 s46, s19, 8
+; VI-NEXT: v_writelane_b32 v62, s46, 56
; VI-NEXT: s_lshr_b32 s46, s18, 16
-; VI-NEXT: v_writelane_b32 v62, s46, 14
+; VI-NEXT: v_writelane_b32 v62, s46, 12
; VI-NEXT: s_lshr_b32 s46, s18, 8
-; VI-NEXT: v_writelane_b32 v62, s46, 15
+; VI-NEXT: v_writelane_b32 v62, s46, 13
; VI-NEXT: s_lshr_b32 s46, s17, 24
-; VI-NEXT: v_writelane_b32 v62, s46, 56
-; VI-NEXT: s_lshr_b32 s46, s17, 16
; VI-NEXT: v_writelane_b32 v62, s46, 57
-; VI-NEXT: s_lshr_b32 s46, s17, 8
+; VI-NEXT: s_lshr_b32 s46, s17, 16
; VI-NEXT: v_writelane_b32 v62, s46, 58
+; VI-NEXT: s_lshr_b32 s46, s17, 8
+; VI-NEXT: v_writelane_b32 v62, s46, 59
; VI-NEXT: s_lshr_b32 s46, s16, 16
-; VI-NEXT: v_writelane_b32 v62, s46, 12
+; VI-NEXT: v_writelane_b32 v62, s46, 10
; VI-NEXT: s_lshr_b32 s46, s16, 8
-; VI-NEXT: v_writelane_b32 v62, s46, 13
-; VI-NEXT: s_lshr_b64 s[74:75], s[4:5], 24
-; VI-NEXT: v_writelane_b32 v62, s74, 10
-; VI-NEXT: v_writelane_b32 v62, s75, 11
-; VI-NEXT: s_lshr_b64 s[76:77], s[8:9], 24
-; VI-NEXT: v_writelane_b32 v62, s76, 8
-; VI-NEXT: v_writelane_b32 v62, s77, 9
-; VI-NEXT: s_lshr_b64 s[76:77], s[10:11], 24
-; VI-NEXT: v_writelane_b32 v62, s76, 6
-; VI-NEXT: v_writelane_b32 v62, s77, 7
-; VI-NEXT: s_lshr_b64 s[76:77], s[12:13], 24
-; VI-NEXT: v_writelane_b32 v62, s76, 4
-; VI-NEXT: v_writelane_b32 v62, s77, 5
-; VI-NEXT: s_lshr_b64 s[76:77], s[14:15], 24
-; VI-NEXT: v_writelane_b32 v62, s76, 2
-; VI-NEXT: v_writelane_b32 v62, s77, 3
-; VI-NEXT: s_lshr_b64 s[76:77], s[40:41], 24
-; VI-NEXT: s_lshr_b32 s57, s9, 24
-; VI-NEXT: s_lshr_b32 s73, s9, 16
-; VI-NEXT: v_writelane_b32 v62, s76, 0
-; VI-NEXT: s_lshr_b32 s85, s5, 24
-; VI-NEXT: s_lshr_b32 s60, s5, 16
-; VI-NEXT: s_lshr_b32 s84, s5, 8
-; VI-NEXT: s_lshr_b32 s72, s4, 16
-; VI-NEXT: s_lshr_b32 s87, s4, 8
-; VI-NEXT: s_lshr_b32 s82, s7, 24
-; VI-NEXT: s_lshr_b32 s81, s7, 16
-; VI-NEXT: s_lshr_b32 s80, s7, 8
-; VI-NEXT: s_lshr_b32 s86, s6, 16
-; VI-NEXT: s_lshr_b32 s63, s6, 8
-; VI-NEXT: s_lshr_b32 s67, s9, 8
-; VI-NEXT: s_lshr_b32 s62, s8, 16
-; VI-NEXT: s_lshr_b32 s61, s8, 8
-; VI-NEXT: s_lshr_b32 s64, s11, 24
-; VI-NEXT: s_lshr_b32 s54, s11, 16
-; VI-NEXT: s_lshr_b32 s52, s11, 8
-; VI-NEXT: s_lshr_b32 s59, s10, 16
-; VI-NEXT: s_lshr_b32 s58, s10, 8
-; VI-NEXT: s_lshr_b32 s83, s12, 16
-; VI-NEXT: s_lshr_b32 s56, s12, 8
-; VI-NEXT: s_lshr_b32 s71, s14, 16
-; VI-NEXT: s_lshr_b32 s70, s14, 8
-; VI-NEXT: s_lshr_b32 s69, s40, 16
-; VI-NEXT: s_lshr_b32 s68, s40, 8
-; VI-NEXT: s_lshr_b32 s66, s42, 16
-; VI-NEXT: s_lshr_b32 s65, s42, 8
-; VI-NEXT: s_lshr_b32 s55, s44, 16
-; VI-NEXT: s_lshr_b32 s53, s44, 8
-; VI-NEXT: s_lshr_b32 s51, s28, 16
-; VI-NEXT: s_lshr_b32 s50, s28, 8
-; VI-NEXT: s_lshr_b32 s47, s26, 16
-; VI-NEXT: s_lshr_b64 s[74:75], s[6:7], 24
+; VI-NEXT: v_writelane_b32 v62, s46, 11
+; VI-NEXT: s_lshr_b64 s[72:73], s[4:5], 24
+; VI-NEXT: v_writelane_b32 v62, s72, 8
+; VI-NEXT: v_writelane_b32 v62, s73, 9
+; VI-NEXT: s_lshr_b64 s[72:73], s[6:7], 24
+; VI-NEXT: s_lshr_b32 s57, s7, 16
+; VI-NEXT: s_lshr_b32 s62, s44, 8
+; VI-NEXT: v_writelane_b32 v62, s72, 6
; VI-NEXT: s_mov_b32 s46, s57
-; VI-NEXT: s_mov_b32 s57, s73
-; VI-NEXT: v_writelane_b32 v62, s77, 1
+; VI-NEXT: v_writelane_b32 v62, s73, 7
+; VI-NEXT: s_mov_b32 s57, s62
+; VI-NEXT: s_lshr_b64 s[62:63], s[8:9], 24
+; VI-NEXT: v_writelane_b32 v62, s62, 4
+; VI-NEXT: v_writelane_b32 v62, s63, 5
+; VI-NEXT: s_lshr_b64 s[62:63], s[10:11], 24
+; VI-NEXT: v_writelane_b32 v62, s62, 2
+; VI-NEXT: v_writelane_b32 v62, s63, 3
+; VI-NEXT: s_lshr_b64 s[62:63], s[12:13], 24
+; VI-NEXT: v_writelane_b32 v62, s62, 0
+; VI-NEXT: s_lshr_b32 s80, s5, 24
+; VI-NEXT: s_lshr_b32 s56, s5, 16
+; VI-NEXT: s_lshr_b32 s69, s5, 8
+; VI-NEXT: s_lshr_b32 s51, s4, 16
+; VI-NEXT: s_lshr_b32 s50, s4, 8
+; VI-NEXT: s_lshr_b32 s67, s7, 24
+; VI-NEXT: s_lshr_b32 s65, s7, 8
+; VI-NEXT: s_lshr_b32 s47, s6, 16
+; VI-NEXT: s_lshr_b32 s61, s6, 8
+; VI-NEXT: s_lshr_b32 s53, s9, 24
+; VI-NEXT: s_lshr_b32 s52, s9, 16
+; VI-NEXT: s_lshr_b32 s60, s8, 16
+; VI-NEXT: s_lshr_b32 s87, s8, 8
+; VI-NEXT: s_lshr_b32 s86, s10, 16
+; VI-NEXT: s_lshr_b32 s85, s10, 8
+; VI-NEXT: s_lshr_b32 s84, s12, 16
+; VI-NEXT: s_lshr_b32 s83, s12, 8
+; VI-NEXT: s_lshr_b32 s82, s14, 16
+; VI-NEXT: s_lshr_b32 s59, s14, 8
+; VI-NEXT: s_lshr_b32 s58, s40, 16
+; VI-NEXT: s_lshr_b32 s81, s40, 8
+; VI-NEXT: s_lshr_b32 s71, s42, 16
+; VI-NEXT: s_lshr_b32 s70, s42, 8
+; VI-NEXT: s_lshr_b32 s68, s44, 16
+; VI-NEXT: s_lshr_b32 s66, s28, 16
+; VI-NEXT: s_lshr_b32 s64, s28, 8
+; VI-NEXT: s_lshr_b32 s55, s26, 16
+; VI-NEXT: s_lshr_b32 s54, s26, 8
+; VI-NEXT: v_writelane_b32 v62, s63, 1
+; VI-NEXT: s_lshr_b64 s[72:73], s[14:15], 24
+; VI-NEXT: s_lshr_b64 s[74:75], s[40:41], 24
; VI-NEXT: s_lshr_b64 s[76:77], s[42:43], 24
; VI-NEXT: s_lshr_b64 s[78:79], s[44:45], 24
; VI-NEXT: s_lshr_b64 s[88:89], s[28:29], 24
@@ -112490,49 +112556,46 @@ define inreg <128 x i8> @bitcast_v16f64_to_v128i8_scalar(<16 x double> inreg %a,
; VI-NEXT: .LBB73_2:
; VI-NEXT: ; implicit-def: $sgpr46
; VI-NEXT: ; kill: killed $sgpr46
-; VI-NEXT: ; implicit-def: $sgpr74
+; VI-NEXT: ; implicit-def: $sgpr62
; VI-NEXT: s_mov_b64 s[48:49], -1
; VI-NEXT: ; implicit-def: $sgpr46
; VI-NEXT: ; kill: killed $sgpr46
-; VI-NEXT: v_writelane_b32 v62, s74, 0
+; VI-NEXT: v_writelane_b32 v62, s62, 0
; VI-NEXT: ; implicit-def: $sgpr46
; VI-NEXT: ; kill: killed $sgpr46
-; VI-NEXT: v_writelane_b32 v62, s75, 1
+; VI-NEXT: v_writelane_b32 v62, s63, 1
; VI-NEXT: ; implicit-def: $sgpr46
; VI-NEXT: ; kill: killed $sgpr46
-; VI-NEXT: ; implicit-def: $sgpr74
-; VI-NEXT: ; implicit-def: $sgpr47
-; VI-NEXT: ; implicit-def: $sgpr50
-; VI-NEXT: ; implicit-def: $sgpr51
-; VI-NEXT: ; implicit-def: $sgpr53
+; VI-NEXT: ; implicit-def: $sgpr62
+; VI-NEXT: ; implicit-def: $sgpr54
; VI-NEXT: ; implicit-def: $sgpr55
-; VI-NEXT: ; implicit-def: $sgpr65
+; VI-NEXT: ; implicit-def: $sgpr64
; VI-NEXT: ; implicit-def: $sgpr66
+; VI-NEXT: ; implicit-def: $sgpr57
; VI-NEXT: ; implicit-def: $sgpr68
-; VI-NEXT: ; implicit-def: $sgpr69
; VI-NEXT: ; implicit-def: $sgpr70
; VI-NEXT: ; implicit-def: $sgpr71
-; VI-NEXT: ; implicit-def: $sgpr56
-; VI-NEXT: ; implicit-def: $sgpr83
+; VI-NEXT: ; implicit-def: $sgpr81
; VI-NEXT: ; implicit-def: $sgpr58
; VI-NEXT: ; implicit-def: $sgpr59
+; VI-NEXT: ; implicit-def: $sgpr82
+; VI-NEXT: ; implicit-def: $sgpr83
+; VI-NEXT: ; implicit-def: $sgpr84
+; VI-NEXT: ; implicit-def: $sgpr85
+; VI-NEXT: ; implicit-def: $sgpr86
+; VI-NEXT: ; implicit-def: $sgpr87
+; VI-NEXT: ; implicit-def: $sgpr60
; VI-NEXT: ; implicit-def: $sgpr52
-; VI-NEXT: ; implicit-def: $sgpr54
-; VI-NEXT: ; implicit-def: $sgpr64
+; VI-NEXT: ; implicit-def: $sgpr53
; VI-NEXT: ; implicit-def: $sgpr61
-; VI-NEXT: ; implicit-def: $sgpr62
+; VI-NEXT: ; implicit-def: $sgpr47
+; VI-NEXT: ; implicit-def: $sgpr65
; VI-NEXT: ; implicit-def: $sgpr67
-; VI-NEXT: ; implicit-def: $sgpr57
-; VI-NEXT: ; implicit-def: $sgpr63
-; VI-NEXT: ; implicit-def: $sgpr86
+; VI-NEXT: ; implicit-def: $sgpr50
+; VI-NEXT: ; implicit-def: $sgpr51
+; VI-NEXT: ; implicit-def: $sgpr69
+; VI-NEXT: ; implicit-def: $sgpr56
; VI-NEXT: ; implicit-def: $sgpr80
-; VI-NEXT: ; implicit-def: $sgpr81
-; VI-NEXT: ; implicit-def: $sgpr82
-; VI-NEXT: ; implicit-def: $sgpr87
-; VI-NEXT: ; implicit-def: $sgpr72
-; VI-NEXT: ; implicit-def: $sgpr84
-; VI-NEXT: ; implicit-def: $sgpr60
-; VI-NEXT: ; implicit-def: $sgpr85
; VI-NEXT: ; implicit-def: $sgpr38
; VI-NEXT: ; implicit-def: $sgpr36
; VI-NEXT: ; implicit-def: $sgpr34
@@ -112542,51 +112605,55 @@ define inreg <128 x i8> @bitcast_v16f64_to_v128i8_scalar(<16 x double> inreg %a,
; VI-NEXT: ; implicit-def: $sgpr88
; VI-NEXT: ; implicit-def: $sgpr78
; VI-NEXT: ; implicit-def: $sgpr76
+; VI-NEXT: ; implicit-def: $sgpr74
+; VI-NEXT: ; implicit-def: $sgpr72
; VI-NEXT: ; implicit-def: $sgpr46
; VI-NEXT: ; kill: killed $sgpr46
-; VI-NEXT: v_writelane_b32 v62, s74, 2
+; VI-NEXT: v_writelane_b32 v62, s62, 2
; VI-NEXT: ; implicit-def: $sgpr46
; VI-NEXT: ; kill: killed $sgpr46
-; VI-NEXT: v_writelane_b32 v62, s75, 3
+; VI-NEXT: v_writelane_b32 v62, s63, 3
; VI-NEXT: ; implicit-def: $sgpr46
; VI-NEXT: ; kill: killed $sgpr46
-; VI-NEXT: ; implicit-def: $sgpr74
+; VI-NEXT: ; implicit-def: $sgpr62
; VI-NEXT: ; implicit-def: $sgpr46
; VI-NEXT: ; kill: killed $sgpr46
-; VI-NEXT: v_writelane_b32 v62, s74, 4
+; VI-NEXT: v_writelane_b32 v62, s62, 4
; VI-NEXT: ; implicit-def: $sgpr46
; VI-NEXT: ; kill: killed $sgpr46
-; VI-NEXT: v_writelane_b32 v62, s75, 5
+; VI-NEXT: v_writelane_b32 v62, s63, 5
; VI-NEXT: ; implicit-def: $sgpr46
; VI-NEXT: ; kill: killed $sgpr46
-; VI-NEXT: ; implicit-def: $sgpr74
+; VI-NEXT: ; implicit-def: $sgpr62
; VI-NEXT: ; implicit-def: $sgpr46
; VI-NEXT: ; kill: killed $sgpr46
-; VI-NEXT: v_writelane_b32 v62, s74, 6
+; VI-NEXT: v_writelane_b32 v62, s62, 6
; VI-NEXT: ; implicit-def: $sgpr46
; VI-NEXT: ; kill: killed $sgpr46
-; VI-NEXT: v_writelane_b32 v62, s75, 7
+; VI-NEXT: v_writelane_b32 v62, s63, 7
+; VI-NEXT: ; implicit-def: $sgpr46
+; VI-NEXT: ; kill: killed $sgpr46
+; VI-NEXT: ; implicit-def: $sgpr62
+; VI-NEXT: ; implicit-def: $sgpr46
+; VI-NEXT: ; kill: killed $sgpr46
+; VI-NEXT: v_writelane_b32 v62, s62, 8
+; VI-NEXT: ; implicit-def: $sgpr46
+; VI-NEXT: ; kill: killed $sgpr46
+; VI-NEXT: v_writelane_b32 v62, s63, 9
; VI-NEXT: ; implicit-def: $sgpr46
; VI-NEXT: ; kill: killed $sgpr46
-; VI-NEXT: ; implicit-def: $sgpr74
; VI-NEXT: ; implicit-def: $sgpr46
; VI-NEXT: ; kill: killed $sgpr46
-; VI-NEXT: v_writelane_b32 v62, s74, 8
; VI-NEXT: ; implicit-def: $sgpr46
; VI-NEXT: ; kill: killed $sgpr46
-; VI-NEXT: v_writelane_b32 v62, s75, 9
; VI-NEXT: ; implicit-def: $sgpr46
; VI-NEXT: ; kill: killed $sgpr46
-; VI-NEXT: ; implicit-def: $sgpr74
; VI-NEXT: ; implicit-def: $sgpr46
; VI-NEXT: ; kill: killed $sgpr46
-; VI-NEXT: v_writelane_b32 v62, s74, 10
; VI-NEXT: ; implicit-def: $sgpr46
; VI-NEXT: ; kill: killed $sgpr46
-; VI-NEXT: v_writelane_b32 v62, s75, 11
; VI-NEXT: ; implicit-def: $sgpr46
; VI-NEXT: ; kill: killed $sgpr46
-; VI-NEXT: ; implicit-def: $sgpr74
; VI-NEXT: ; implicit-def: $sgpr46
; VI-NEXT: ; kill: killed $sgpr46
; VI-NEXT: ; implicit-def: $sgpr46
@@ -112646,8 +112713,8 @@ define inreg <128 x i8> @bitcast_v16f64_to_v128i8_scalar(<16 x double> inreg %a,
; VI-NEXT: ; implicit-def: $sgpr46
; VI-NEXT: .LBB73_3: ; %Flow
; VI-NEXT: s_and_b64 s[48:49], s[48:49], exec
-; VI-NEXT: s_cselect_b32 s73, 1, 0
-; VI-NEXT: s_cmp_lg_u32 s73, 1
+; VI-NEXT: s_cselect_b32 s63, 1, 0
+; VI-NEXT: s_cmp_lg_u32 s63, 1
; VI-NEXT: s_cbranch_scc1 .LBB73_5
; VI-NEXT: ; %bb.4: ; %cmp.true
; VI-NEXT: v_add_f64 v[11:12], s[4:5], 1.0
@@ -112658,436 +112725,392 @@ define inreg <128 x i8> @bitcast_v16f64_to_v128i8_scalar(<16 x double> inreg %a,
; VI-NEXT: v_add_f64 v[9:10], s[14:15], 1.0
; VI-NEXT: v_add_f64 v[13:14], s[40:41], 1.0
; VI-NEXT: v_add_f64 v[15:16], s[42:43], 1.0
-; VI-NEXT: v_lshrrev_b64 v[17:18], 24, v[11:12]
-; VI-NEXT: v_add_f64 v[19:20], s[44:45], 1.0
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[17:18], 24, v[1:2]
-; VI-NEXT: v_add_f64 v[23:24], s[28:29], 1.0
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[17:18], 24, v[3:4]
-; VI-NEXT: v_add_f64 v[27:28], s[26:27], 1.0
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[17:18], 24, v[5:6]
-; VI-NEXT: v_add_f64 v[31:32], s[24:25], 1.0
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[17:18], 24, v[7:8]
-; VI-NEXT: v_add_f64 v[35:36], s[22:23], 1.0
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[17:18], 24, v[9:10]
-; VI-NEXT: v_add_f64 v[37:38], s[20:21], 1.0
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[17:18], 24, v[13:14]
-; VI-NEXT: v_add_f64 v[48:49], s[18:19], 1.0
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[17:18], 24, v[15:16]
-; VI-NEXT: v_add_f64 v[50:51], s[16:17], 1.0
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[17:18], 24, v[19:20]
-; VI-NEXT: v_lshrrev_b32_e32 v34, 8, v20
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[17:18], 24, v[23:24]
-; VI-NEXT: v_lshrrev_b32_e32 v56, 8, v24
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[17:18], 24, v[27:28]
-; VI-NEXT: v_lshrrev_b32_e32 v52, 8, v28
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[17:18], 24, v[31:32]
-; VI-NEXT: v_lshrrev_b32_e32 v26, 16, v32
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[17:18], 24, v[35:36]
-; VI-NEXT: v_lshrrev_b32_e32 v61, 8, v32
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[17:18], 24, v[37:38]
-; VI-NEXT: v_lshrrev_b32_e32 v41, 24, v36
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[17:18], 24, v[48:49]
-; VI-NEXT: v_lshrrev_b32_e32 v21, 16, v36
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:384 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:388 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[17:18], 24, v[50:51]
-; VI-NEXT: v_lshrrev_b32_e32 v45, 8, v36
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 24, v12
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 16, v12
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 8, v12
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 16, v11
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 8, v11
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 24, v2
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 16, v2
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 8, v2
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 16, v1
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 8, v1
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 24, v4
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 16, v4
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 8, v4
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 16, v3
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 8, v3
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 24, v6
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 16, v6
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 8, v6
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 16, v5
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 8, v5
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 24, v8
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 16, v8
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 8, v8
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 16, v7
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 8, v7
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 24, v10
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 16, v10
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 8, v10
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 16, v9
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 8, v9
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 24, v14
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 16, v14
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 8, v14
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 16, v13
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 8, v13
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 24, v16
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 16, v16
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 8, v16
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 16, v15
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 8, v15
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 24, v20
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 16, v20
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 16, v19
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 8, v19
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 24, v24
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 16, v24
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 16, v23
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 8, v23
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 24, v28
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 16, v28
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 16, v27
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 8, v27
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 24, v32
-; VI-NEXT: v_lshrrev_b32_e32 v18, 8, v31
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:396 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 16, v31
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:392 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v39, 16, v35
-; VI-NEXT: v_lshrrev_b32_e32 v30, 8, v35
-; VI-NEXT: v_lshrrev_b32_e32 v42, 24, v38
-; VI-NEXT: v_lshrrev_b32_e32 v58, 16, v38
-; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v38
-; VI-NEXT: v_lshrrev_b32_e32 v55, 16, v37
-; VI-NEXT: v_lshrrev_b32_e32 v47, 8, v37
-; VI-NEXT: v_lshrrev_b32_e32 v60, 24, v49
-; VI-NEXT: v_lshrrev_b32_e32 v44, 16, v49
-; VI-NEXT: v_lshrrev_b32_e32 v22, 8, v49
-; VI-NEXT: v_lshrrev_b32_e32 v25, 16, v48
-; VI-NEXT: v_lshrrev_b32_e32 v57, 8, v48
-; VI-NEXT: v_lshrrev_b32_e32 v29, 24, v51
-; VI-NEXT: v_lshrrev_b32_e32 v18, 16, v51
-; VI-NEXT: v_lshrrev_b32_e32 v46, 8, v51
-; VI-NEXT: v_lshrrev_b32_e32 v43, 16, v50
-; VI-NEXT: v_lshrrev_b32_e32 v59, 8, v50
+; VI-NEXT: v_lshrrev_b64 v[27:28], 24, v[11:12]
+; VI-NEXT: v_add_f64 v[17:18], s[44:45], 1.0
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[27:28], 24, v[1:2]
+; VI-NEXT: v_add_f64 v[19:20], s[28:29], 1.0
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[27:28], 24, v[3:4]
+; VI-NEXT: v_add_f64 v[21:22], s[26:27], 1.0
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[27:28], 24, v[5:6]
+; VI-NEXT: v_add_f64 v[23:24], s[24:25], 1.0
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[27:28], 24, v[7:8]
+; VI-NEXT: v_add_f64 v[25:26], s[22:23], 1.0
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[27:28], 24, v[9:10]
+; VI-NEXT: v_add_f64 v[30:31], s[20:21], 1.0
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[27:28], 24, v[13:14]
+; VI-NEXT: v_add_f64 v[34:35], s[18:19], 1.0
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[27:28], 24, v[15:16]
+; VI-NEXT: v_add_f64 v[48:49], s[16:17], 1.0
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[27:28], 24, v[17:18]
+; VI-NEXT: v_lshrrev_b32_e32 v55, 8, v16
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[27:28], 24, v[19:20]
+; VI-NEXT: v_lshrrev_b32_e32 v45, 8, v18
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[27:28], 24, v[21:22]
+; VI-NEXT: v_lshrrev_b64 v[43:44], 24, v[48:49]
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[27:28], 24, v[23:24]
+; VI-NEXT: v_lshrrev_b32_e32 v56, 8, v20
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[27:28], 24, v[25:26]
+; VI-NEXT: v_lshrrev_b32_e32 v40, 8, v22
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[27:28], 24, v[30:31]
+; VI-NEXT: v_lshrrev_b32_e32 v61, 8, v24
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[27:28], 24, v[34:35]
+; VI-NEXT: v_lshrrev_b32_e32 v51, 8, v23
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v27, 24, v12
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v27, 16, v12
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v27, 8, v12
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v27, 16, v11
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v27, 8, v11
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v27, 24, v2
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v27, 16, v2
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v27, 8, v2
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v27, 16, v1
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v27, 8, v1
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v27, 24, v4
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v27, 16, v4
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v27, 8, v4
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v27, 16, v3
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v27, 8, v3
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v27, 24, v6
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v27, 16, v6
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v27, 8, v6
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v27, 16, v5
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v27, 8, v5
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v27, 24, v8
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v27, 16, v8
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v27, 8, v8
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v27, 16, v7
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v27, 8, v7
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v27, 24, v10
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v27, 16, v10
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v27, 8, v10
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v27, 16, v9
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v27, 8, v9
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v27, 24, v14
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v27, 16, v14
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v27, 8, v14
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v27, 16, v13
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v27, 8, v13
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v27, 24, v16
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v27, 16, v16
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v27, 16, v15
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v27, 8, v15
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v27, 24, v18
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v27, 16, v18
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v27, 16, v17
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v27, 8, v17
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v27, 24, v20
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v27, 16, v20
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v27, 16, v19
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v27, 8, v19
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v27, 24, v22
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v27, 16, v22
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v27, 16, v21
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v27, 8, v21
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v27, 24, v24
+; VI-NEXT: v_lshrrev_b32_e32 v28, 16, v23
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:384 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v27, 16, v24
+; VI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v53, 24, v26
+; VI-NEXT: v_lshrrev_b32_e32 v28, 16, v26
+; VI-NEXT: v_lshrrev_b32_e32 v29, 8, v26
+; VI-NEXT: v_lshrrev_b32_e32 v52, 16, v25
+; VI-NEXT: v_lshrrev_b32_e32 v44, 8, v25
+; VI-NEXT: v_lshrrev_b32_e32 v57, 24, v31
+; VI-NEXT: v_lshrrev_b32_e32 v39, 16, v31
+; VI-NEXT: v_lshrrev_b32_e32 v42, 8, v31
+; VI-NEXT: v_lshrrev_b32_e32 v46, 16, v30
+; VI-NEXT: v_lshrrev_b32_e32 v47, 8, v30
+; VI-NEXT: v_lshrrev_b32_e32 v60, 24, v35
+; VI-NEXT: v_lshrrev_b32_e32 v38, 16, v35
+; VI-NEXT: v_lshrrev_b32_e32 v37, 8, v35
+; VI-NEXT: v_lshrrev_b32_e32 v54, 16, v34
+; VI-NEXT: v_lshrrev_b32_e32 v32, 8, v34
+; VI-NEXT: v_lshrrev_b32_e32 v41, 24, v49
+; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v49
+; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v49
+; VI-NEXT: v_lshrrev_b32_e32 v58, 16, v48
+; VI-NEXT: v_lshrrev_b32_e32 v59, 8, v48
; VI-NEXT: s_branch .LBB73_6
; VI-NEXT: .LBB73_5:
; VI-NEXT: v_mov_b32_e32 v11, s4
+; VI-NEXT: v_readlane_b32 s4, v62, 10
+; VI-NEXT: v_mov_b32_e32 v58, s4
+; VI-NEXT: v_readlane_b32 s4, v62, 11
+; VI-NEXT: v_mov_b32_e32 v59, s4
; VI-NEXT: v_readlane_b32 s4, v62, 12
-; VI-NEXT: v_mov_b32_e32 v43, s4
+; VI-NEXT: v_mov_b32_e32 v54, s4
; VI-NEXT: v_readlane_b32 s4, v62, 13
-; VI-NEXT: v_mov_b32_e32 v59, s4
+; VI-NEXT: v_mov_b32_e32 v32, s4
; VI-NEXT: v_readlane_b32 s4, v62, 14
-; VI-NEXT: v_mov_b32_e32 v25, s4
+; VI-NEXT: v_mov_b32_e32 v46, s4
; VI-NEXT: v_readlane_b32 s4, v62, 15
-; VI-NEXT: v_mov_b32_e32 v57, s4
+; VI-NEXT: v_mov_b32_e32 v47, s4
; VI-NEXT: v_readlane_b32 s4, v62, 16
-; VI-NEXT: v_mov_b32_e32 v55, s4
+; VI-NEXT: v_mov_b32_e32 v52, s4
; VI-NEXT: v_readlane_b32 s4, v62, 17
-; VI-NEXT: v_mov_b32_e32 v47, s4
+; VI-NEXT: v_mov_b32_e32 v44, s4
; VI-NEXT: v_readlane_b32 s4, v62, 18
-; VI-NEXT: v_mov_b32_e32 v39, s4
+; VI-NEXT: v_mov_b32_e32 v27, s4
; VI-NEXT: v_readlane_b32 s4, v62, 19
-; VI-NEXT: v_mov_b32_e32 v30, s4
+; VI-NEXT: v_mov_b32_e32 v51, s4
+; VI-NEXT: v_mov_b32_e32 v50, s36
+; VI-NEXT: buffer_store_dword v50, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v50, s34
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v27, s55
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v27, s54
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v27, s66
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v27, s64
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v27, s68
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v27, s57
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v27, s71
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v27, s70
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v27, s58
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v27, s81
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v27, s82
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v27, s59
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v27, s84
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v27, s83
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v27, s86
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v27, s85
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v27, s60
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v27, s87
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v27, s47
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v27, s61
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v27, s51
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v27, s50
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v27, s80
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v27, s56
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v27, s69
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v27, s67
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v27, s46
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v27, s65
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v27, s53
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v27, s52
; VI-NEXT: v_readlane_b32 s4, v62, 20
-; VI-NEXT: v_mov_b32_e32 v17, s4
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v27, s4
; VI-NEXT: v_readlane_b32 s4, v62, 21
-; VI-NEXT: v_mov_b32_e32 v18, s4
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:392 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v18, s47
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v27, s4
+; VI-NEXT: buffer_store_dword v50, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v50, s30
; VI-NEXT: v_readlane_b32 s4, v62, 22
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v18, s4
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v18, s51
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v18, s50
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v18, s55
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v18, s53
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v18, s66
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v18, s65
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v18, s69
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v18, s68
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v18, s71
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v18, s70
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v18, s83
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v18, s56
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v18, s59
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v18, s58
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v18, s62
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v18, s61
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v18, s86
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v18, s63
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v18, s72
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v18, s87
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v18, s85
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v18, s60
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v18, s84
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v18, s82
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v18, s81
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v18, s80
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v18, s46
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v18, s57
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v18, s67
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v18, s64
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v18, s54
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v18, s52
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v27, s4
; VI-NEXT: v_readlane_b32 s4, v62, 23
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v18, s4
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v27, s4
; VI-NEXT: v_readlane_b32 s4, v62, 24
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v18, s4
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v27, s4
; VI-NEXT: v_readlane_b32 s4, v62, 25
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v18, s4
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v27, s4
; VI-NEXT: v_readlane_b32 s4, v62, 26
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v18, s4
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v27, s4
; VI-NEXT: v_readlane_b32 s4, v62, 27
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v18, s4
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v27, s4
; VI-NEXT: v_readlane_b32 s4, v62, 28
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v18, s4
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v27, s4
; VI-NEXT: v_readlane_b32 s4, v62, 29
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v18, s4
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v27, s4
; VI-NEXT: v_readlane_b32 s4, v62, 30
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v18, s4
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v27, s4
; VI-NEXT: v_readlane_b32 s4, v62, 31
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v18, s4
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v27, s4
; VI-NEXT: v_readlane_b32 s4, v62, 32
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v18, s4
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v27, s4
; VI-NEXT: v_readlane_b32 s4, v62, 33
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v18, s4
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v27, s4
; VI-NEXT: v_readlane_b32 s4, v62, 34
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v18, s4
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v27, s4
; VI-NEXT: v_readlane_b32 s4, v62, 35
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v18, s4
+; VI-NEXT: v_mov_b32_e32 v55, s4
; VI-NEXT: v_readlane_b32 s4, v62, 36
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v18, s4
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v27, s4
; VI-NEXT: v_readlane_b32 s4, v62, 37
-; VI-NEXT: v_mov_b32_e32 v34, s4
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v27, s4
; VI-NEXT: v_readlane_b32 s4, v62, 38
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v18, s4
+; VI-NEXT: v_mov_b32_e32 v45, s4
; VI-NEXT: v_readlane_b32 s4, v62, 39
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v18, s4
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v27, s4
; VI-NEXT: v_readlane_b32 s4, v62, 40
-; VI-NEXT: v_mov_b32_e32 v56, s4
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v27, s4
; VI-NEXT: v_readlane_b32 s4, v62, 41
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v18, s4
+; VI-NEXT: v_mov_b32_e32 v56, s4
; VI-NEXT: v_readlane_b32 s4, v62, 42
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v18, s4
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v27, s4
; VI-NEXT: v_readlane_b32 s4, v62, 43
-; VI-NEXT: v_mov_b32_e32 v52, s4
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v27, s4
; VI-NEXT: v_readlane_b32 s4, v62, 44
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v18, s4
+; VI-NEXT: v_mov_b32_e32 v40, s4
; VI-NEXT: v_readlane_b32 s4, v62, 45
-; VI-NEXT: v_mov_b32_e32 v26, s4
+; VI-NEXT: buffer_store_dword v50, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v50, vcc_lo
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v27, s4
; VI-NEXT: v_readlane_b32 s4, v62, 46
-; VI-NEXT: v_mov_b32_e32 v61, s4
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:384 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v27, s4
; VI-NEXT: v_readlane_b32 s4, v62, 47
-; VI-NEXT: v_mov_b32_e32 v41, s4
-; VI-NEXT: v_mov_b32_e32 v40, s30
-; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v40, vcc_lo
-; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v40, s90
-; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v40, s88
-; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v40, s78
-; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v40, s76
-; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v61, s4
; VI-NEXT: v_readlane_b32 s4, v62, 48
-; VI-NEXT: v_mov_b32_e32 v21, s4
+; VI-NEXT: v_mov_b32_e32 v53, s4
; VI-NEXT: v_readlane_b32 s4, v62, 49
-; VI-NEXT: v_mov_b32_e32 v45, s4
+; VI-NEXT: v_mov_b32_e32 v28, s4
; VI-NEXT: v_readlane_b32 s4, v62, 50
-; VI-NEXT: v_mov_b32_e32 v42, s4
+; VI-NEXT: v_mov_b32_e32 v29, s4
; VI-NEXT: v_readlane_b32 s4, v62, 51
-; VI-NEXT: v_mov_b32_e32 v58, s4
+; VI-NEXT: v_mov_b32_e32 v57, s4
; VI-NEXT: v_readlane_b32 s4, v62, 52
-; VI-NEXT: v_mov_b32_e32 v33, s4
+; VI-NEXT: v_mov_b32_e32 v39, s4
; VI-NEXT: v_readlane_b32 s4, v62, 53
-; VI-NEXT: v_mov_b32_e32 v60, s4
+; VI-NEXT: v_mov_b32_e32 v42, s4
; VI-NEXT: v_readlane_b32 s4, v62, 54
-; VI-NEXT: v_mov_b32_e32 v44, s4
+; VI-NEXT: v_mov_b32_e32 v60, s4
; VI-NEXT: v_readlane_b32 s4, v62, 55
-; VI-NEXT: v_mov_b32_e32 v22, s4
+; VI-NEXT: v_mov_b32_e32 v38, s4
; VI-NEXT: v_readlane_b32 s4, v62, 56
-; VI-NEXT: v_mov_b32_e32 v29, s4
+; VI-NEXT: v_mov_b32_e32 v37, s4
; VI-NEXT: v_readlane_b32 s4, v62, 57
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:396 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v18, s4
+; VI-NEXT: v_mov_b32_e32 v41, s4
; VI-NEXT: v_readlane_b32 s4, v62, 58
+; VI-NEXT: v_mov_b32_e32 v36, s4
+; VI-NEXT: v_readlane_b32 s4, v62, 59
; VI-NEXT: v_mov_b32_e32 v12, s5
-; VI-NEXT: v_mov_b32_e32 v46, s4
+; VI-NEXT: v_mov_b32_e32 v33, s4
; VI-NEXT: v_readlane_b32 s4, v62, 0
-; VI-NEXT: v_mov_b32_e32 v40, s4
-; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
; VI-NEXT: v_readlane_b32 s5, v62, 1
-; VI-NEXT: v_readlane_b32 s4, v62, 2
-; VI-NEXT: v_mov_b32_e32 v40, s4
-; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
-; VI-NEXT: v_readlane_b32 s5, v62, 3
-; VI-NEXT: v_readlane_b32 s4, v62, 4
-; VI-NEXT: v_mov_b32_e32 v40, s4
-; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
-; VI-NEXT: v_readlane_b32 s5, v62, 5
-; VI-NEXT: v_readlane_b32 s4, v62, 6
-; VI-NEXT: v_mov_b32_e32 v40, s4
-; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
-; VI-NEXT: v_readlane_b32 s5, v62, 7
-; VI-NEXT: v_readlane_b32 s4, v62, 8
-; VI-NEXT: v_mov_b32_e32 v53, s38
-; VI-NEXT: v_mov_b32_e32 v40, s4
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v53, s36
-; VI-NEXT: v_mov_b32_e32 v40, s74
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:384 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:388 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
-; VI-NEXT: v_readlane_b32 s5, v62, 9
-; VI-NEXT: v_readlane_b32 s4, v62, 10
-; VI-NEXT: v_mov_b32_e32 v53, s34
-; VI-NEXT: v_mov_b32_e32 v40, s4
; VI-NEXT: v_mov_b32_e32 v1, s6
; VI-NEXT: v_mov_b32_e32 v2, s7
; VI-NEXT: v_mov_b32_e32 v3, s8
@@ -113102,48 +113125,95 @@ define inreg <128 x i8> @bitcast_v16f64_to_v128i8_scalar(<16 x double> inreg %a,
; VI-NEXT: v_mov_b32_e32 v14, s41
; VI-NEXT: v_mov_b32_e32 v15, s42
; VI-NEXT: v_mov_b32_e32 v16, s43
-; VI-NEXT: v_mov_b32_e32 v19, s44
-; VI-NEXT: v_mov_b32_e32 v20, s45
-; VI-NEXT: v_mov_b32_e32 v23, s28
-; VI-NEXT: v_mov_b32_e32 v24, s29
-; VI-NEXT: v_mov_b32_e32 v27, s26
-; VI-NEXT: v_mov_b32_e32 v28, s27
-; VI-NEXT: v_mov_b32_e32 v31, s24
-; VI-NEXT: v_mov_b32_e32 v32, s25
-; VI-NEXT: v_mov_b32_e32 v35, s22
-; VI-NEXT: v_mov_b32_e32 v36, s23
-; VI-NEXT: v_mov_b32_e32 v37, s20
-; VI-NEXT: v_mov_b32_e32 v38, s21
-; VI-NEXT: v_mov_b32_e32 v48, s18
-; VI-NEXT: v_mov_b32_e32 v49, s19
-; VI-NEXT: v_mov_b32_e32 v50, s16
-; VI-NEXT: v_mov_b32_e32 v51, s17
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
-; VI-NEXT: v_readlane_b32 s5, v62, 11
-; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v17, s44
+; VI-NEXT: v_mov_b32_e32 v18, s45
+; VI-NEXT: v_mov_b32_e32 v19, s28
+; VI-NEXT: v_mov_b32_e32 v20, s29
+; VI-NEXT: v_mov_b32_e32 v21, s26
+; VI-NEXT: v_mov_b32_e32 v22, s27
+; VI-NEXT: v_mov_b32_e32 v23, s24
+; VI-NEXT: v_mov_b32_e32 v24, s25
+; VI-NEXT: v_mov_b32_e32 v25, s22
+; VI-NEXT: v_mov_b32_e32 v26, s23
+; VI-NEXT: v_mov_b32_e32 v30, s20
+; VI-NEXT: v_mov_b32_e32 v31, s21
+; VI-NEXT: v_mov_b32_e32 v34, s18
+; VI-NEXT: v_mov_b32_e32 v35, s19
+; VI-NEXT: v_mov_b32_e32 v48, s16
+; VI-NEXT: v_mov_b32_e32 v49, s17
+; VI-NEXT: v_mov_b32_e32 v43, s38
+; VI-NEXT: buffer_store_dword v50, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v50, s90
+; VI-NEXT: buffer_store_dword v50, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v50, s88
+; VI-NEXT: buffer_store_dword v50, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v50, s78
+; VI-NEXT: buffer_store_dword v50, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v50, s76
+; VI-NEXT: buffer_store_dword v50, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v50, s74
+; VI-NEXT: buffer_store_dword v50, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v50, s72
+; VI-NEXT: buffer_store_dword v50, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v50, s4
+; VI-NEXT: v_readlane_b32 s4, v62, 2
+; VI-NEXT: v_readlane_b32 s5, v62, 3
+; VI-NEXT: buffer_store_dword v50, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v50, s4
+; VI-NEXT: v_readlane_b32 s4, v62, 4
+; VI-NEXT: v_readlane_b32 s5, v62, 5
+; VI-NEXT: buffer_store_dword v50, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v50, s4
+; VI-NEXT: v_readlane_b32 s4, v62, 6
+; VI-NEXT: v_readlane_b32 s5, v62, 7
+; VI-NEXT: buffer_store_dword v50, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v50, s4
+; VI-NEXT: v_readlane_b32 s4, v62, 8
+; VI-NEXT: v_readlane_b32 s5, v62, 9
+; VI-NEXT: buffer_store_dword v50, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v50, s4
+; VI-NEXT: buffer_store_dword v50, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
; VI-NEXT: .LBB73_6: ; %end
-; VI-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:376 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v54, off, s[0:3], s32 offset:380 ; 4-byte Folded Reload
; VI-NEXT: s_mov_b32 s4, 0xc0c0004
-; VI-NEXT: v_perm_b32 v51, v51, v46, s4
-; VI-NEXT: v_perm_b32 v37, v37, v47, s4
-; VI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:328 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:332 ; 4-byte Folded Reload
-; VI-NEXT: v_perm_b32 v33, v38, v33, s4
-; VI-NEXT: v_perm_b32 v22, v49, v22, s4
-; VI-NEXT: v_perm_b32 v28, v28, v52, s4
-; VI-NEXT: v_perm_b32 v30, v35, v30, s4
-; VI-NEXT: v_perm_b32 v35, v36, v45, s4
-; VI-NEXT: buffer_load_dword v36, off, s[0:3], s32 offset:392 ; 4-byte Folded Reload
-; VI-NEXT: v_perm_b32 v20, v20, v34, s4
-; VI-NEXT: v_perm_b32 v18, v18, v29, s4
-; VI-NEXT: v_lshlrev_b32_e32 v18, 16, v18
-; VI-NEXT: v_or_b32_e32 v18, v51, v18
-; VI-NEXT: v_perm_b32 v48, v48, v57, s4
-; VI-NEXT: v_perm_b32 v50, v50, v59, s4
-; VI-NEXT: v_perm_b32 v32, v32, v61, s4
+; VI-NEXT: v_perm_b32 v33, v49, v33, s4
+; VI-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:368 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:372 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v23, v23, v51, s4
+; VI-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:356 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v43, v58, v43, s4
+; VI-NEXT: v_perm_b32 v48, v48, v59, s4
+; VI-NEXT: buffer_load_dword v58, off, s[0:3], s32 offset:348 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v59, off, s[0:3], s32 offset:352 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v32, v34, v32, s4
+; VI-NEXT: v_perm_b32 v34, v35, v37, s4
+; VI-NEXT: v_perm_b32 v30, v30, v47, s4
+; VI-NEXT: v_perm_b32 v26, v26, v29, s4
+; VI-NEXT: v_perm_b32 v25, v25, v44, s4
+; VI-NEXT: v_perm_b32 v18, v18, v45, s4
+; VI-NEXT: v_perm_b32 v22, v22, v40, s4
+; VI-NEXT: v_perm_b32 v36, v36, v41, s4
+; VI-NEXT: v_lshlrev_b32_e32 v36, 16, v36
+; VI-NEXT: v_or_b32_e32 v33, v33, v36
+; VI-NEXT: v_perm_b32 v31, v31, v42, s4
+; VI-NEXT: v_perm_b32 v16, v16, v55, s4
+; VI-NEXT: v_lshlrev_b32_e32 v55, 16, v43
+; VI-NEXT: v_or_b32_e32 v48, v48, v55
+; VI-NEXT: v_perm_b32 v24, v24, v61, s4
+; VI-NEXT: v_perm_b32 v20, v20, v56, s4
; VI-NEXT: v_readlane_b32 s30, v63, 30
; VI-NEXT: v_readlane_b32 s31, v63, 31
; VI-NEXT: v_readlane_b32 s87, v63, 29
@@ -113176,132 +113246,118 @@ define inreg <128 x i8> @bitcast_v16f64_to_v128i8_scalar(<16 x double> inreg %a,
; VI-NEXT: v_readlane_b32 s36, v63, 2
; VI-NEXT: v_readlane_b32 s35, v63, 1
; VI-NEXT: v_readlane_b32 s34, v63, 0
-; VI-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(5)
-; VI-NEXT: v_perm_b32 v40, v43, v53, s4
-; VI-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:384 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v54, off, s[0:3], s32 offset:388 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(5)
-; VI-NEXT: v_perm_b32 v38, v39, v46, s4
-; VI-NEXT: buffer_load_dword v39, off, s[0:3], s32 offset:360 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:316 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:320 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(5)
-; VI-NEXT: v_perm_b32 v34, v15, v34, s4
-; VI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:372 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(5)
-; VI-NEXT: v_perm_b32 v25, v25, v53, s4
-; VI-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:348 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v54, off, s[0:3], s32 offset:352 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(5)
-; VI-NEXT: v_perm_b32 v27, v27, v39, s4
-; VI-NEXT: s_waitcnt vmcnt(4)
-; VI-NEXT: v_perm_b32 v17, v17, v45, s4
-; VI-NEXT: v_lshlrev_b32_e32 v17, 16, v17
+; VI-NEXT: s_waitcnt vmcnt(6)
+; VI-NEXT: v_perm_b32 v49, v54, v49, s4
; VI-NEXT: s_waitcnt vmcnt(2)
-; VI-NEXT: v_perm_b32 v16, v16, v15, s4
-; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_perm_b32 v49, v55, v53, s4
-; VI-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:276 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:280 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v39, off, s[0:3], s32 offset:336 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v50, v51, v50, s4
+; VI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:360 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(2)
+; VI-NEXT: v_perm_b32 v35, v46, v58, s4
+; VI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:336 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:340 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(2)
+; VI-NEXT: v_perm_b32 v21, v21, v51, s4
; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_perm_b32 v53, v24, v56, s4
-; VI-NEXT: v_lshlrev_b32_e32 v55, 16, v40
-; VI-NEXT: v_or_b32_e32 v50, v50, v55
-; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v39, v39, v52, s4
-; VI-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:344 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v52, v23, v52, s4
-; VI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:56 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:308 ; 4-byte Folded Reload
-; VI-NEXT: v_perm_b32 v31, v31, v36, s4
-; VI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v36, off, s[0:3], s32 offset:356 ; 4-byte Folded Reload
-; VI-NEXT: v_or_b32_e32 v17, v31, v17
+; VI-NEXT: v_perm_b32 v37, v52, v46, s4
+; VI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:280 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:324 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:316 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:320 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:380 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(3)
-; VI-NEXT: v_perm_b32 v23, v24, v23, s4
-; VI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:312 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v52, v52, v51, s4
+; VI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:328 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_perm_b32 v36, v36, v45, s4
+; VI-NEXT: v_perm_b32 v29, v29, v46, s4
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v19, v19, v24, s4
-; VI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v19, v19, v51, s4
; VI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:304 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v24, v24, v45, s4
-; VI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload
-; VI-NEXT: buffer_store_dword v18, v0, s[0:3], 0 offen offset:4
-; VI-NEXT: v_lshlrev_b32_e32 v18, 16, v25
-; VI-NEXT: v_or_b32_e32 v18, v48, v18
-; VI-NEXT: buffer_store_dword v18, v0, s[0:3], 0 offen offset:8
-; VI-NEXT: v_perm_b32 v18, v44, v60, s4
-; VI-NEXT: v_lshlrev_b32_e32 v18, 16, v18
-; VI-NEXT: v_or_b32_e32 v18, v22, v18
-; VI-NEXT: buffer_store_dword v18, v0, s[0:3], 0 offen offset:12
-; VI-NEXT: v_lshlrev_b32_e32 v18, 16, v49
-; VI-NEXT: v_or_b32_e32 v18, v37, v18
-; VI-NEXT: buffer_store_dword v18, v0, s[0:3], 0 offen offset:16
-; VI-NEXT: v_perm_b32 v18, v58, v42, s4
-; VI-NEXT: v_lshlrev_b32_e32 v18, 16, v18
-; VI-NEXT: v_or_b32_e32 v18, v33, v18
-; VI-NEXT: buffer_store_dword v18, v0, s[0:3], 0 offen offset:20
-; VI-NEXT: v_lshlrev_b32_e32 v18, 16, v38
-; VI-NEXT: v_or_b32_e32 v18, v30, v18
-; VI-NEXT: buffer_store_dword v18, v0, s[0:3], 0 offen offset:24
-; VI-NEXT: v_perm_b32 v18, v21, v41, s4
-; VI-NEXT: v_lshlrev_b32_e32 v18, 16, v18
-; VI-NEXT: v_or_b32_e32 v18, v35, v18
-; VI-NEXT: buffer_store_dword v50, v0, s[0:3], 0 offen
-; VI-NEXT: buffer_store_dword v18, v0, s[0:3], 0 offen offset:28
-; VI-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:32
-; VI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:396 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v54, v51, v46, s4
+; VI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:312 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_perm_b32 v17, v17, v51, s4
+; VI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:276 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_perm_b32 v40, v51, v44, s4
+; VI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_perm_b32 v42, v15, v51, s4
+; VI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload
+; VI-NEXT: buffer_store_dword v33, v0, s[0:3], 0 offen offset:4
+; VI-NEXT: v_lshlrev_b32_e32 v33, 16, v49
+; VI-NEXT: v_or_b32_e32 v32, v32, v33
+; VI-NEXT: buffer_store_dword v32, v0, s[0:3], 0 offen offset:8
+; VI-NEXT: v_perm_b32 v32, v38, v60, s4
+; VI-NEXT: v_lshlrev_b32_e32 v32, 16, v32
+; VI-NEXT: v_or_b32_e32 v32, v34, v32
+; VI-NEXT: buffer_store_dword v32, v0, s[0:3], 0 offen offset:12
+; VI-NEXT: v_lshlrev_b32_e32 v32, 16, v35
+; VI-NEXT: v_or_b32_e32 v30, v30, v32
+; VI-NEXT: buffer_store_dword v30, v0, s[0:3], 0 offen offset:16
+; VI-NEXT: v_perm_b32 v30, v39, v57, s4
+; VI-NEXT: v_lshlrev_b32_e32 v30, 16, v30
+; VI-NEXT: v_or_b32_e32 v30, v31, v30
+; VI-NEXT: buffer_store_dword v30, v0, s[0:3], 0 offen offset:20
+; VI-NEXT: v_lshlrev_b32_e32 v30, 16, v37
+; VI-NEXT: v_or_b32_e32 v25, v25, v30
+; VI-NEXT: buffer_store_dword v25, v0, s[0:3], 0 offen offset:24
+; VI-NEXT: v_perm_b32 v25, v28, v53, s4
+; VI-NEXT: v_lshlrev_b32_e32 v25, 16, v25
+; VI-NEXT: v_or_b32_e32 v25, v26, v25
+; VI-NEXT: buffer_store_dword v25, v0, s[0:3], 0 offen offset:28
+; VI-NEXT: v_lshlrev_b32_e32 v25, 16, v29
+; VI-NEXT: v_or_b32_e32 v23, v23, v25
+; VI-NEXT: buffer_store_dword v48, v0, s[0:3], 0 offen
+; VI-NEXT: buffer_store_dword v23, v0, s[0:3], 0 offen offset:32
+; VI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:384 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(10)
-; VI-NEXT: v_perm_b32 v15, v15, v45, s4
+; VI-NEXT: v_perm_b32 v15, v15, v44, s4
; VI-NEXT: v_lshlrev_b32_e32 v15, 16, v15
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v17, v26, v17, s4
-; VI-NEXT: v_lshlrev_b32_e32 v17, 16, v17
-; VI-NEXT: v_or_b32_e32 v17, v32, v17
-; VI-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:36
-; VI-NEXT: v_lshlrev_b32_e32 v17, 16, v36
-; VI-NEXT: v_or_b32_e32 v17, v27, v17
-; VI-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:40
-; VI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:364 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:368 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v23, v27, v23, s4
+; VI-NEXT: v_lshlrev_b32_e32 v23, 16, v23
+; VI-NEXT: v_or_b32_e32 v23, v24, v23
+; VI-NEXT: buffer_store_dword v23, v0, s[0:3], 0 offen offset:36
+; VI-NEXT: v_lshlrev_b32_e32 v23, 16, v50
+; VI-NEXT: v_or_b32_e32 v21, v21, v23
+; VI-NEXT: buffer_store_dword v21, v0, s[0:3], 0 offen offset:40
+; VI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:364 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:376 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v17, v18, v17, s4
-; VI-NEXT: v_lshlrev_b32_e32 v17, 16, v17
-; VI-NEXT: v_or_b32_e32 v17, v28, v17
-; VI-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:44
-; VI-NEXT: v_lshlrev_b32_e32 v17, 16, v39
-; VI-NEXT: v_or_b32_e32 v17, v52, v17
-; VI-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:48
-; VI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:324 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:340 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v21, v23, v21, s4
+; VI-NEXT: v_lshlrev_b32_e32 v21, 16, v21
+; VI-NEXT: v_or_b32_e32 v21, v22, v21
+; VI-NEXT: buffer_store_dword v21, v0, s[0:3], 0 offen offset:44
+; VI-NEXT: v_lshlrev_b32_e32 v21, 16, v52
+; VI-NEXT: v_or_b32_e32 v19, v19, v21
+; VI-NEXT: buffer_store_dword v19, v0, s[0:3], 0 offen offset:48
+; VI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:332 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:344 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v17, v18, v17, s4
-; VI-NEXT: v_lshlrev_b32_e32 v17, 16, v17
-; VI-NEXT: v_or_b32_e32 v17, v53, v17
-; VI-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:52
-; VI-NEXT: v_lshlrev_b32_e32 v17, 16, v23
-; VI-NEXT: v_or_b32_e32 v17, v19, v17
+; VI-NEXT: v_perm_b32 v19, v21, v19, s4
+; VI-NEXT: v_lshlrev_b32_e32 v19, 16, v19
+; VI-NEXT: v_or_b32_e32 v19, v20, v19
+; VI-NEXT: buffer_store_dword v19, v0, s[0:3], 0 offen offset:52
+; VI-NEXT: v_lshlrev_b32_e32 v19, 16, v54
+; VI-NEXT: v_or_b32_e32 v17, v17, v19
; VI-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:56
; VI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:300 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:304 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:308 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v17, v18, v17, s4
+; VI-NEXT: v_perm_b32 v17, v19, v17, s4
; VI-NEXT: v_lshlrev_b32_e32 v17, 16, v17
-; VI-NEXT: v_or_b32_e32 v17, v20, v17
+; VI-NEXT: v_or_b32_e32 v17, v18, v17
; VI-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:60
-; VI-NEXT: v_lshlrev_b32_e32 v17, 16, v24
-; VI-NEXT: v_or_b32_e32 v17, v34, v17
+; VI-NEXT: v_lshlrev_b32_e32 v17, 16, v40
+; VI-NEXT: v_or_b32_e32 v17, v42, v17
; VI-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:64
; VI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:268 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:272 ; 4-byte Folded Reload
@@ -113310,139 +113366,139 @@ define inreg <128 x i8> @bitcast_v16f64_to_v128i8_scalar(<16 x double> inreg %a,
; VI-NEXT: v_lshlrev_b32_e32 v17, 16, v17
; VI-NEXT: v_or_b32_e32 v16, v16, v17
; VI-NEXT: buffer_store_dword v16, v0, s[0:3], 0 offen offset:68
-; VI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v13, v13, v16, s4
; VI-NEXT: v_or_b32_e32 v13, v13, v15
; VI-NEXT: buffer_store_dword v13, v0, s[0:3], 0 offen offset:72
-; VI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v13, v14, v13, s4
-; VI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v14, v15, v14, s4
; VI-NEXT: v_lshlrev_b32_e32 v14, 16, v14
; VI-NEXT: v_or_b32_e32 v13, v13, v14
; VI-NEXT: buffer_store_dword v13, v0, s[0:3], 0 offen offset:76
-; VI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v9, v9, v13, s4
-; VI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v13, v14, v13, s4
; VI-NEXT: v_lshlrev_b32_e32 v13, 16, v13
; VI-NEXT: v_or_b32_e32 v9, v9, v13
; VI-NEXT: buffer_store_dword v9, v0, s[0:3], 0 offen offset:80
-; VI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v9, v10, v9, s4
-; VI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v10, v13, v10, s4
; VI-NEXT: v_lshlrev_b32_e32 v10, 16, v10
; VI-NEXT: v_or_b32_e32 v9, v9, v10
; VI-NEXT: buffer_store_dword v9, v0, s[0:3], 0 offen offset:84
-; VI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v7, v7, v9, s4
-; VI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v9, v10, v9, s4
; VI-NEXT: v_lshlrev_b32_e32 v9, 16, v9
; VI-NEXT: v_or_b32_e32 v7, v7, v9
; VI-NEXT: buffer_store_dword v7, v0, s[0:3], 0 offen offset:88
-; VI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v7, v8, v7, s4
-; VI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v8, v9, v8, s4
; VI-NEXT: v_lshlrev_b32_e32 v8, 16, v8
; VI-NEXT: v_or_b32_e32 v7, v7, v8
; VI-NEXT: buffer_store_dword v7, v0, s[0:3], 0 offen offset:92
-; VI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v5, v5, v7, s4
-; VI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v7, v8, v7, s4
; VI-NEXT: v_lshlrev_b32_e32 v7, 16, v7
; VI-NEXT: v_or_b32_e32 v5, v5, v7
; VI-NEXT: buffer_store_dword v5, v0, s[0:3], 0 offen offset:96
-; VI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v5, v6, v5, s4
-; VI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v6, v7, v6, s4
; VI-NEXT: v_lshlrev_b32_e32 v6, 16, v6
; VI-NEXT: v_or_b32_e32 v5, v5, v6
; VI-NEXT: buffer_store_dword v5, v0, s[0:3], 0 offen offset:100
-; VI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v3, v3, v5, s4
-; VI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v5, v6, v5, s4
; VI-NEXT: v_lshlrev_b32_e32 v5, 16, v5
; VI-NEXT: v_or_b32_e32 v3, v3, v5
; VI-NEXT: buffer_store_dword v3, v0, s[0:3], 0 offen offset:104
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v3, v4, v3, s4
-; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v4, v5, v4, s4
; VI-NEXT: v_lshlrev_b32_e32 v4, 16, v4
; VI-NEXT: v_or_b32_e32 v3, v3, v4
; VI-NEXT: buffer_store_dword v3, v0, s[0:3], 0 offen offset:108
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v1, v3, s4
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_perm_b32 v3, v3, v4, s4
; VI-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; VI-NEXT: v_or_b32_e32 v1, v1, v3
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:112
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v2, v3, v2, s4
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
; VI-NEXT: v_or_b32_e32 v1, v1, v2
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:116
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:56 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_perm_b32 v2, v2, v3, s4
; VI-NEXT: v_perm_b32 v1, v11, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
; VI-NEXT: v_or_b32_e32 v1, v1, v2
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:120
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_perm_b32 v2, v3, v2, s4
; VI-NEXT: s_waitcnt vmcnt(0)
@@ -113465,8 +113521,8 @@ define inreg <128 x i8> @bitcast_v16f64_to_v128i8_scalar(<16 x double> inreg %a,
; VI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:48 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:52 ; 4-byte Folded Reload
; VI-NEXT: s_or_saveexec_b64 s[4:5], -1
-; VI-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:400 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:404 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:388 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:392 ; 4-byte Folded Reload
; VI-NEXT: s_mov_b64 exec, s[4:5]
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: s_setpc_b64 s[30:31]
@@ -113475,8 +113531,8 @@ define inreg <128 x i8> @bitcast_v16f64_to_v128i8_scalar(<16 x double> inreg %a,
; GFX9: ; %bb.0:
; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
; GFX9-NEXT: s_or_saveexec_b64 s[4:5], -1
-; GFX9-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:392 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:396 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:388 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:392 ; 4-byte Folded Spill
; GFX9-NEXT: s_mov_b64 exec, s[4:5]
; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:52 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:48 ; 4-byte Folded Spill
@@ -113551,6 +113607,12 @@ define inreg <128 x i8> @bitcast_v16f64_to_v128i8_scalar(<16 x double> inreg %a,
; GFX9-NEXT: ; implicit-def: $vgpr62 : SGPR spill to VGPR lane
; GFX9-NEXT: s_cbranch_scc0 .LBB73_2
; GFX9-NEXT: ; %bb.1: ; %cmp.false
+; GFX9-NEXT: s_lshr_b32 s46, s11, 24
+; GFX9-NEXT: v_writelane_b32 v62, s46, 13
+; GFX9-NEXT: s_lshr_b32 s46, s11, 16
+; GFX9-NEXT: v_writelane_b32 v62, s46, 14
+; GFX9-NEXT: s_lshr_b32 s46, s11, 8
+; GFX9-NEXT: v_writelane_b32 v62, s46, 15
; GFX9-NEXT: s_lshr_b32 s46, s13, 24
; GFX9-NEXT: v_writelane_b32 v62, s46, 16
; GFX9-NEXT: s_lshr_b32 s46, s13, 16
@@ -113606,9 +113668,7 @@ define inreg <128 x i8> @bitcast_v16f64_to_v128i8_scalar(<16 x double> inreg %a,
; GFX9-NEXT: s_lshr_b32 s46, s23, 8
; GFX9-NEXT: v_writelane_b32 v62, s46, 42
; GFX9-NEXT: s_lshr_b32 s46, s22, 16
-; GFX9-NEXT: v_writelane_b32 v62, s46, 14
-; GFX9-NEXT: s_lshr_b32 s46, s22, 8
-; GFX9-NEXT: v_writelane_b32 v62, s46, 15
+; GFX9-NEXT: v_writelane_b32 v62, s46, 12
; GFX9-NEXT: s_lshr_b32 s46, s21, 24
; GFX9-NEXT: v_writelane_b32 v62, s46, 43
; GFX9-NEXT: s_lshr_b32 s46, s21, 16
@@ -113616,9 +113676,9 @@ define inreg <128 x i8> @bitcast_v16f64_to_v128i8_scalar(<16 x double> inreg %a,
; GFX9-NEXT: s_lshr_b32 s46, s21, 8
; GFX9-NEXT: v_writelane_b32 v62, s46, 45
; GFX9-NEXT: s_lshr_b32 s46, s20, 16
-; GFX9-NEXT: v_writelane_b32 v62, s46, 12
+; GFX9-NEXT: v_writelane_b32 v62, s46, 10
; GFX9-NEXT: s_lshr_b32 s46, s20, 8
-; GFX9-NEXT: v_writelane_b32 v62, s46, 13
+; GFX9-NEXT: v_writelane_b32 v62, s46, 11
; GFX9-NEXT: s_lshr_b32 s46, s19, 24
; GFX9-NEXT: v_writelane_b32 v62, s46, 46
; GFX9-NEXT: s_lshr_b32 s46, s19, 16
@@ -113626,9 +113686,9 @@ define inreg <128 x i8> @bitcast_v16f64_to_v128i8_scalar(<16 x double> inreg %a,
; GFX9-NEXT: s_lshr_b32 s46, s19, 8
; GFX9-NEXT: v_writelane_b32 v62, s46, 48
; GFX9-NEXT: s_lshr_b32 s46, s18, 16
-; GFX9-NEXT: v_writelane_b32 v62, s46, 10
+; GFX9-NEXT: v_writelane_b32 v62, s46, 8
; GFX9-NEXT: s_lshr_b32 s46, s18, 8
-; GFX9-NEXT: v_writelane_b32 v62, s46, 11
+; GFX9-NEXT: v_writelane_b32 v62, s46, 9
; GFX9-NEXT: s_lshr_b32 s46, s17, 24
; GFX9-NEXT: v_writelane_b32 v62, s46, 49
; GFX9-NEXT: s_lshr_b32 s46, s17, 16
@@ -113636,58 +113696,56 @@ define inreg <128 x i8> @bitcast_v16f64_to_v128i8_scalar(<16 x double> inreg %a,
; GFX9-NEXT: s_lshr_b32 s46, s17, 8
; GFX9-NEXT: v_writelane_b32 v62, s46, 51
; GFX9-NEXT: s_lshr_b32 s46, s16, 16
-; GFX9-NEXT: v_writelane_b32 v62, s46, 8
+; GFX9-NEXT: v_writelane_b32 v62, s46, 6
; GFX9-NEXT: s_lshr_b32 s46, s16, 8
-; GFX9-NEXT: v_writelane_b32 v62, s46, 9
+; GFX9-NEXT: v_writelane_b32 v62, s46, 7
; GFX9-NEXT: s_lshr_b64 s[62:63], s[4:5], 24
-; GFX9-NEXT: v_writelane_b32 v62, s62, 6
-; GFX9-NEXT: v_writelane_b32 v62, s63, 7
-; GFX9-NEXT: s_lshr_b64 s[62:63], s[6:7], 24
-; GFX9-NEXT: s_lshr_b32 s60, s10, 8
; GFX9-NEXT: v_writelane_b32 v62, s62, 4
; GFX9-NEXT: v_writelane_b32 v62, s63, 5
-; GFX9-NEXT: s_mov_b32 s46, s60
+; GFX9-NEXT: s_lshr_b64 s[62:63], s[6:7], 24
+; GFX9-NEXT: s_lshr_b32 s47, s5, 24
+; GFX9-NEXT: s_lshr_b32 s56, s5, 16
+; GFX9-NEXT: s_lshr_b32 s60, s12, 16
+; GFX9-NEXT: v_writelane_b32 v62, s62, 2
+; GFX9-NEXT: s_mov_b32 s46, s47
+; GFX9-NEXT: s_mov_b32 s47, s56
+; GFX9-NEXT: v_writelane_b32 v62, s63, 3
+; GFX9-NEXT: s_mov_b32 s56, s60
; GFX9-NEXT: s_lshr_b64 s[60:61], s[8:9], 24
-; GFX9-NEXT: v_writelane_b32 v62, s60, 2
-; GFX9-NEXT: v_writelane_b32 v62, s61, 3
-; GFX9-NEXT: s_lshr_b64 s[60:61], s[10:11], 24
; GFX9-NEXT: v_writelane_b32 v62, s60, 0
-; GFX9-NEXT: s_lshr_b32 s53, s5, 24
-; GFX9-NEXT: s_lshr_b32 s52, s5, 16
-; GFX9-NEXT: s_lshr_b32 s51, s5, 8
+; GFX9-NEXT: s_lshr_b32 s98, s5, 8
; GFX9-NEXT: s_lshr_b32 s64, s4, 16
-; GFX9-NEXT: s_lshr_b32 s59, s4, 8
-; GFX9-NEXT: s_lshr_b32 s48, s7, 24
-; GFX9-NEXT: s_lshr_b32 s39, s7, 16
-; GFX9-NEXT: s_lshr_b32 s47, s7, 8
-; GFX9-NEXT: s_lshr_b32 s58, s6, 16
-; GFX9-NEXT: s_lshr_b32 s55, s6, 8
-; GFX9-NEXT: s_lshr_b32 s98, s9, 24
-; GFX9-NEXT: s_lshr_b32 s96, s9, 16
-; GFX9-NEXT: s_lshr_b32 s86, s9, 8
-; GFX9-NEXT: s_lshr_b32 s54, s8, 16
-; GFX9-NEXT: s_lshr_b32 s56, s8, 8
-; GFX9-NEXT: s_lshr_b32 s83, s11, 24
-; GFX9-NEXT: s_lshr_b32 s81, s11, 16
-; GFX9-NEXT: s_lshr_b32 s71, s11, 8
-; GFX9-NEXT: s_lshr_b32 s50, s10, 16
-; GFX9-NEXT: s_lshr_b32 s49, s12, 16
-; GFX9-NEXT: s_lshr_b32 s38, s12, 8
-; GFX9-NEXT: s_lshr_b32 s99, s14, 16
-; GFX9-NEXT: s_lshr_b32 s57, s14, 8
-; GFX9-NEXT: s_lshr_b32 s97, s40, 16
-; GFX9-NEXT: s_lshr_b32 s87, s40, 8
-; GFX9-NEXT: s_lshr_b32 s85, s42, 16
-; GFX9-NEXT: s_lshr_b32 s84, s42, 8
-; GFX9-NEXT: s_lshr_b32 s82, s44, 16
-; GFX9-NEXT: s_lshr_b32 s80, s44, 8
-; GFX9-NEXT: s_lshr_b32 s70, s28, 16
-; GFX9-NEXT: s_lshr_b32 s69, s28, 8
-; GFX9-NEXT: s_lshr_b32 s68, s26, 16
-; GFX9-NEXT: s_lshr_b32 s67, s26, 8
-; GFX9-NEXT: s_lshr_b32 s66, s24, 16
-; GFX9-NEXT: s_lshr_b32 s65, s24, 8
+; GFX9-NEXT: s_lshr_b32 s55, s4, 8
+; GFX9-NEXT: s_lshr_b32 s87, s7, 24
+; GFX9-NEXT: s_lshr_b32 s86, s7, 16
+; GFX9-NEXT: s_lshr_b32 s84, s7, 8
+; GFX9-NEXT: s_lshr_b32 s54, s6, 16
+; GFX9-NEXT: s_lshr_b32 s59, s6, 8
+; GFX9-NEXT: s_lshr_b32 s80, s9, 24
+; GFX9-NEXT: s_lshr_b32 s71, s9, 16
+; GFX9-NEXT: s_lshr_b32 s69, s9, 8
+; GFX9-NEXT: s_lshr_b32 s58, s8, 16
+; GFX9-NEXT: s_lshr_b32 s53, s8, 8
+; GFX9-NEXT: s_lshr_b32 s52, s10, 16
+; GFX9-NEXT: s_lshr_b32 s51, s10, 8
+; GFX9-NEXT: s_lshr_b32 s50, s12, 8
+; GFX9-NEXT: s_lshr_b32 s49, s14, 16
+; GFX9-NEXT: s_lshr_b32 s48, s14, 8
+; GFX9-NEXT: s_lshr_b32 s39, s40, 16
+; GFX9-NEXT: s_lshr_b32 s57, s40, 8
+; GFX9-NEXT: s_lshr_b32 s38, s42, 16
+; GFX9-NEXT: s_lshr_b32 s99, s42, 8
+; GFX9-NEXT: s_lshr_b32 s97, s44, 16
+; GFX9-NEXT: s_lshr_b32 s96, s44, 8
+; GFX9-NEXT: s_lshr_b32 s85, s28, 16
+; GFX9-NEXT: s_lshr_b32 s83, s28, 8
+; GFX9-NEXT: s_lshr_b32 s82, s26, 16
+; GFX9-NEXT: s_lshr_b32 s81, s26, 8
+; GFX9-NEXT: s_lshr_b32 s70, s24, 16
+; GFX9-NEXT: s_lshr_b32 s68, s24, 8
+; GFX9-NEXT: s_lshr_b32 s65, s22, 8
; GFX9-NEXT: v_writelane_b32 v62, s61, 1
+; GFX9-NEXT: s_lshr_b64 s[66:67], s[10:11], 24
; GFX9-NEXT: s_lshr_b64 s[62:63], s[12:13], 24
; GFX9-NEXT: s_lshr_b64 s[72:73], s[14:15], 24
; GFX9-NEXT: s_lshr_b64 s[74:75], s[40:41], 24
@@ -113717,40 +113775,38 @@ define inreg <128 x i8> @bitcast_v16f64_to_v128i8_scalar(<16 x double> inreg %a,
; GFX9-NEXT: ; kill: killed $sgpr46
; GFX9-NEXT: ; implicit-def: $sgpr60
; GFX9-NEXT: ; implicit-def: $sgpr65
-; GFX9-NEXT: ; implicit-def: $sgpr66
-; GFX9-NEXT: ; implicit-def: $sgpr67
; GFX9-NEXT: ; implicit-def: $sgpr68
-; GFX9-NEXT: ; implicit-def: $sgpr69
; GFX9-NEXT: ; implicit-def: $sgpr70
-; GFX9-NEXT: ; implicit-def: $sgpr80
+; GFX9-NEXT: ; implicit-def: $sgpr81
; GFX9-NEXT: ; implicit-def: $sgpr82
-; GFX9-NEXT: ; implicit-def: $sgpr84
+; GFX9-NEXT: ; implicit-def: $sgpr83
; GFX9-NEXT: ; implicit-def: $sgpr85
-; GFX9-NEXT: ; implicit-def: $sgpr87
+; GFX9-NEXT: ; implicit-def: $sgpr96
; GFX9-NEXT: ; implicit-def: $sgpr97
-; GFX9-NEXT: ; implicit-def: $sgpr57
; GFX9-NEXT: ; implicit-def: $sgpr99
; GFX9-NEXT: ; implicit-def: $sgpr38
+; GFX9-NEXT: ; implicit-def: $sgpr57
+; GFX9-NEXT: ; implicit-def: $sgpr39
+; GFX9-NEXT: ; implicit-def: $sgpr48
; GFX9-NEXT: ; implicit-def: $sgpr49
; GFX9-NEXT: ; implicit-def: $sgpr50
-; GFX9-NEXT: ; implicit-def: $sgpr71
-; GFX9-NEXT: ; implicit-def: $sgpr81
-; GFX9-NEXT: ; implicit-def: $sgpr83
; GFX9-NEXT: ; implicit-def: $sgpr56
+; GFX9-NEXT: ; implicit-def: $sgpr51
+; GFX9-NEXT: ; implicit-def: $sgpr52
+; GFX9-NEXT: ; implicit-def: $sgpr53
+; GFX9-NEXT: ; implicit-def: $sgpr58
+; GFX9-NEXT: ; implicit-def: $sgpr69
+; GFX9-NEXT: ; implicit-def: $sgpr71
+; GFX9-NEXT: ; implicit-def: $sgpr80
+; GFX9-NEXT: ; implicit-def: $sgpr59
; GFX9-NEXT: ; implicit-def: $sgpr54
+; GFX9-NEXT: ; implicit-def: $sgpr84
; GFX9-NEXT: ; implicit-def: $sgpr86
-; GFX9-NEXT: ; implicit-def: $sgpr96
-; GFX9-NEXT: ; implicit-def: $sgpr98
+; GFX9-NEXT: ; implicit-def: $sgpr87
; GFX9-NEXT: ; implicit-def: $sgpr55
-; GFX9-NEXT: ; implicit-def: $sgpr58
-; GFX9-NEXT: ; implicit-def: $sgpr47
-; GFX9-NEXT: ; implicit-def: $sgpr39
-; GFX9-NEXT: ; implicit-def: $sgpr48
-; GFX9-NEXT: ; implicit-def: $sgpr59
; GFX9-NEXT: ; implicit-def: $sgpr64
-; GFX9-NEXT: ; implicit-def: $sgpr51
-; GFX9-NEXT: ; implicit-def: $sgpr52
-; GFX9-NEXT: ; implicit-def: $sgpr53
+; GFX9-NEXT: ; implicit-def: $sgpr98
+; GFX9-NEXT: ; implicit-def: $sgpr47
; GFX9-NEXT: ; implicit-def: $sgpr34
; GFX9-NEXT: ; implicit-def: $sgpr30
; GFX9-NEXT: ; implicit-def: $vcc_lo
@@ -113763,6 +113819,7 @@ define inreg <128 x i8> @bitcast_v16f64_to_v128i8_scalar(<16 x double> inreg %a,
; GFX9-NEXT: ; implicit-def: $sgpr74
; GFX9-NEXT: ; implicit-def: $sgpr72
; GFX9-NEXT: ; implicit-def: $sgpr62
+; GFX9-NEXT: ; implicit-def: $sgpr66
; GFX9-NEXT: ; implicit-def: $sgpr46
; GFX9-NEXT: ; kill: killed $sgpr46
; GFX9-NEXT: v_writelane_b32 v62, s60, 2
@@ -113780,13 +113837,14 @@ define inreg <128 x i8> @bitcast_v16f64_to_v128i8_scalar(<16 x double> inreg %a,
; GFX9-NEXT: v_writelane_b32 v62, s61, 5
; GFX9-NEXT: ; implicit-def: $sgpr46
; GFX9-NEXT: ; kill: killed $sgpr46
-; GFX9-NEXT: ; implicit-def: $sgpr60
; GFX9-NEXT: ; implicit-def: $sgpr46
; GFX9-NEXT: ; kill: killed $sgpr46
-; GFX9-NEXT: v_writelane_b32 v62, s60, 6
; GFX9-NEXT: ; implicit-def: $sgpr46
; GFX9-NEXT: ; kill: killed $sgpr46
-; GFX9-NEXT: v_writelane_b32 v62, s61, 7
+; GFX9-NEXT: ; implicit-def: $sgpr46
+; GFX9-NEXT: ; kill: killed $sgpr46
+; GFX9-NEXT: ; implicit-def: $sgpr46
+; GFX9-NEXT: ; kill: killed $sgpr46
; GFX9-NEXT: ; implicit-def: $sgpr46
; GFX9-NEXT: ; kill: killed $sgpr46
; GFX9-NEXT: ; implicit-def: $sgpr46
@@ -113866,456 +113924,405 @@ define inreg <128 x i8> @bitcast_v16f64_to_v128i8_scalar(<16 x double> inreg %a,
; GFX9-NEXT: v_add_f64 v[9:10], s[14:15], 1.0
; GFX9-NEXT: v_add_f64 v[13:14], s[40:41], 1.0
; GFX9-NEXT: v_add_f64 v[15:16], s[42:43], 1.0
-; GFX9-NEXT: v_lshrrev_b64 v[17:18], 24, v[11:12]
-; GFX9-NEXT: v_add_f64 v[20:21], s[44:45], 1.0
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[17:18], 24, v[1:2]
-; GFX9-NEXT: v_add_f64 v[24:25], s[28:29], 1.0
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[17:18], 24, v[3:4]
-; GFX9-NEXT: v_add_f64 v[28:29], s[26:27], 1.0
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[17:18], 24, v[5:6]
-; GFX9-NEXT: v_add_f64 v[32:33], s[24:25], 1.0
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[17:18], 24, v[7:8]
-; GFX9-NEXT: v_add_f64 v[34:35], s[22:23], 1.0
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[17:18], 24, v[9:10]
-; GFX9-NEXT: v_add_f64 v[36:37], s[20:21], 1.0
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[17:18], 24, v[13:14]
-; GFX9-NEXT: v_add_f64 v[38:39], s[18:19], 1.0
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[17:18], 24, v[15:16]
+; GFX9-NEXT: v_lshrrev_b64 v[25:26], 24, v[11:12]
+; GFX9-NEXT: v_add_f64 v[17:18], s[44:45], 1.0
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[25:26], 24, v[1:2]
+; GFX9-NEXT: v_add_f64 v[19:20], s[28:29], 1.0
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[25:26], 24, v[3:4]
+; GFX9-NEXT: v_add_f64 v[21:22], s[26:27], 1.0
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[25:26], 24, v[5:6]
+; GFX9-NEXT: v_add_f64 v[23:24], s[24:25], 1.0
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[25:26], 24, v[7:8]
+; GFX9-NEXT: v_add_f64 v[27:28], s[22:23], 1.0
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[25:26], 24, v[9:10]
+; GFX9-NEXT: v_add_f64 v[32:33], s[20:21], 1.0
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[25:26], 24, v[13:14]
+; GFX9-NEXT: v_add_f64 v[36:37], s[18:19], 1.0
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[25:26], 24, v[15:16]
; GFX9-NEXT: v_add_f64 v[48:49], s[16:17], 1.0
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[17:18], 24, v[20:21]
-; GFX9-NEXT: v_lshrrev_b32_e32 v60, 16, v20
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[17:18], 24, v[24:25]
-; GFX9-NEXT: v_lshrrev_b32_e32 v56, 24, v25
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[17:18], 24, v[28:29]
-; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[48:49]
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[17:18], 24, v[32:33]
-; GFX9-NEXT: v_lshrrev_b32_e32 v57, 8, v25
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[17:18], 24, v[34:35]
-; GFX9-NEXT: v_lshrrev_b32_e32 v50, 8, v29
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[17:18], 24, v[36:37]
-; GFX9-NEXT: v_lshrrev_b32_e32 v44, 8, v33
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[17:18], 24, v[38:39]
-; GFX9-NEXT: v_lshrrev_b32_e32 v54, 24, v35
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 24, v12
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v12
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v12
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v11
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v11
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 24, v2
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v2
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v2
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v1
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v1
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 24, v4
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v4
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v4
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v3
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v3
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 24, v6
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v6
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v6
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v5
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v5
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 24, v8
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v8
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v8
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v7
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v7
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 24, v10
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v10
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v10
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v9
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v9
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 24, v14
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v14
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v14
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v13
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v13
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 24, v16
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v16
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v16
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v15
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v15
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 24, v21
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v21
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v20
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v25
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v24
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v24
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 24, v29
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v29
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v28
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v28
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 24, v33
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:384 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v33
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:388 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v32
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v32
-; GFX9-NEXT: v_lshrrev_b32_e32 v18, 8, v21
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v55, 16, v35
-; GFX9-NEXT: v_lshrrev_b32_e32 v19, 8, v35
-; GFX9-NEXT: v_lshrrev_b32_e32 v27, 16, v34
-; GFX9-NEXT: v_lshrrev_b32_e32 v31, 8, v34
-; GFX9-NEXT: v_lshrrev_b32_e32 v22, 24, v37
-; GFX9-NEXT: v_lshrrev_b32_e32 v41, 16, v37
-; GFX9-NEXT: v_lshrrev_b32_e32 v23, 8, v37
-; GFX9-NEXT: v_lshrrev_b32_e32 v46, 16, v36
-; GFX9-NEXT: v_lshrrev_b32_e32 v40, 8, v36
-; GFX9-NEXT: v_lshrrev_b32_e32 v59, 24, v39
-; GFX9-NEXT: v_lshrrev_b32_e32 v43, 16, v39
-; GFX9-NEXT: v_lshrrev_b32_e32 v45, 8, v39
-; GFX9-NEXT: v_lshrrev_b32_e32 v47, 16, v38
-; GFX9-NEXT: v_lshrrev_b32_e32 v26, 8, v38
-; GFX9-NEXT: v_lshrrev_b32_e32 v30, 24, v49
-; GFX9-NEXT: v_lshrrev_b32_e32 v61, 16, v49
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v49
-; GFX9-NEXT: v_lshrrev_b32_e32 v42, 16, v48
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[25:26], 24, v[17:18]
+; GFX9-NEXT: v_lshrrev_b32_e32 v29, 8, v18
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[25:26], 24, v[19:20]
+; GFX9-NEXT: v_lshrrev_b32_e32 v47, 8, v20
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[25:26], 24, v[21:22]
+; GFX9-NEXT: v_lshrrev_b64 v[52:53], 24, v[48:49]
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[25:26], 24, v[23:24]
+; GFX9-NEXT: v_lshrrev_b32_e32 v59, 8, v22
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[25:26], 24, v[27:28]
+; GFX9-NEXT: v_lshrrev_b32_e32 v44, 24, v24
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[25:26], 24, v[32:33]
+; GFX9-NEXT: v_lshrrev_b32_e32 v35, 16, v24
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[25:26], 24, v[36:37]
+; GFX9-NEXT: v_lshrrev_b32_e32 v38, 8, v24
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v25, 24, v12
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v25, 16, v12
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v25, 8, v12
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v25, 16, v11
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v25, 8, v11
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v25, 24, v2
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v25, 16, v2
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v25, 8, v2
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v25, 16, v1
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v25, 8, v1
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v25, 24, v4
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v25, 16, v4
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v25, 8, v4
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v25, 16, v3
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v25, 8, v3
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v25, 24, v6
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v25, 16, v6
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v25, 8, v6
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v25, 16, v5
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v25, 8, v5
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v25, 24, v8
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v25, 16, v8
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v25, 8, v8
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v25, 16, v7
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v25, 8, v7
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v25, 24, v10
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v25, 16, v10
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v25, 8, v10
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v25, 16, v9
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v25, 8, v9
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v25, 24, v14
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v25, 16, v14
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v25, 8, v14
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v25, 16, v13
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v25, 8, v13
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v25, 24, v16
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v25, 16, v16
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v25, 8, v16
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v25, 16, v15
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v25, 8, v15
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v25, 24, v18
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v25, 16, v18
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v25, 16, v17
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v25, 8, v17
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v25, 24, v20
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v25, 16, v20
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v25, 16, v19
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v25, 8, v19
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v25, 24, v22
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v25, 16, v22
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v25, 16, v21
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v25, 8, v21
+; GFX9-NEXT: v_lshrrev_b32_e32 v26, 8, v23
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v25, 16, v23
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:384 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v54, 24, v28
+; GFX9-NEXT: v_lshrrev_b32_e32 v46, 16, v28
+; GFX9-NEXT: v_lshrrev_b32_e32 v61, 8, v28
+; GFX9-NEXT: v_lshrrev_b32_e32 v53, 16, v27
+; GFX9-NEXT: v_lshrrev_b32_e32 v55, 8, v27
+; GFX9-NEXT: v_lshrrev_b32_e32 v57, 24, v33
+; GFX9-NEXT: v_lshrrev_b32_e32 v40, 16, v33
+; GFX9-NEXT: v_lshrrev_b32_e32 v43, 8, v33
+; GFX9-NEXT: v_lshrrev_b32_e32 v45, 16, v32
+; GFX9-NEXT: v_lshrrev_b32_e32 v39, 8, v32
+; GFX9-NEXT: v_lshrrev_b32_e32 v41, 24, v37
+; GFX9-NEXT: v_lshrrev_b32_e32 v50, 16, v37
+; GFX9-NEXT: v_lshrrev_b32_e32 v26, 8, v37
+; GFX9-NEXT: v_lshrrev_b32_e32 v30, 16, v36
+; GFX9-NEXT: v_lshrrev_b32_e32 v56, 8, v36
+; GFX9-NEXT: v_lshrrev_b32_e32 v42, 24, v49
+; GFX9-NEXT: v_lshrrev_b32_e32 v60, 16, v49
+; GFX9-NEXT: v_lshrrev_b32_e32 v31, 8, v49
+; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v48
; GFX9-NEXT: v_lshrrev_b32_e32 v58, 8, v48
; GFX9-NEXT: s_branch .LBB73_6
; GFX9-NEXT: .LBB73_5:
-; GFX9-NEXT: v_mov_b32_e32 v17, s66
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s65
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s68
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s67
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s70
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s69
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s80
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s85
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s84
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s97
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s87
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s99
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s57
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s49
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s38
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s50
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s46
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s54
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s56
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s58
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s55
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s64
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s59
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s53
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s52
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s51
+; GFX9-NEXT: v_mov_b32_e32 v52, s34
+; GFX9-NEXT: v_mov_b32_e32 v51, s30
+; GFX9-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v51, vcc_lo
+; GFX9-NEXT: v_mov_b32_e32 v26, s68
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:384 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v26, s82
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v26, s81
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v26, s85
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v26, s83
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v26, s97
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v26, s96
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v26, s38
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v26, s99
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v26, s39
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v26, s57
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v26, s49
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v26, s48
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v26, s56
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v26, s50
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v26, s52
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v26, s51
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v26, s58
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v26, s53
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v26, s54
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v26, s59
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v26, s64
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v26, s55
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v26, s46
; GFX9-NEXT: v_mov_b32_e32 v11, s4
+; GFX9-NEXT: v_readlane_b32 s4, v62, 6
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v26, s47
+; GFX9-NEXT: v_mov_b32_e32 v34, s4
+; GFX9-NEXT: v_readlane_b32 s4, v62, 7
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v26, s98
+; GFX9-NEXT: v_mov_b32_e32 v58, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 8
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s48
-; GFX9-NEXT: v_mov_b32_e32 v42, s4
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v26, s87
+; GFX9-NEXT: v_mov_b32_e32 v30, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 9
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s39
-; GFX9-NEXT: v_mov_b32_e32 v58, s4
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v26, s86
+; GFX9-NEXT: v_mov_b32_e32 v56, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 10
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s47
-; GFX9-NEXT: v_mov_b32_e32 v47, s4
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v26, s84
+; GFX9-NEXT: v_mov_b32_e32 v45, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 11
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s98
-; GFX9-NEXT: v_mov_b32_e32 v26, s4
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v26, s80
+; GFX9-NEXT: v_mov_b32_e32 v39, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 12
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s96
-; GFX9-NEXT: v_mov_b32_e32 v46, s4
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v26, s71
+; GFX9-NEXT: v_mov_b32_e32 v53, s4
+; GFX9-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v51, s94
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v26, s69
; GFX9-NEXT: v_readlane_b32 s4, v62, 13
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s86
-; GFX9-NEXT: v_mov_b32_e32 v40, s4
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v26, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 14
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s83
-; GFX9-NEXT: v_mov_b32_e32 v27, s4
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v26, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 15
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s81
-; GFX9-NEXT: v_mov_b32_e32 v31, s4
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s71
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v26, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 16
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s4
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v26, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 17
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s4
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v26, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 18
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s4
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v26, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 19
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s4
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v26, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 20
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s4
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v26, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 21
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s4
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v26, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 22
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s4
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v26, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 23
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s4
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v26, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 24
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s4
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v26, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 25
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s4
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v26, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 26
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s4
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v26, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 27
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s4
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v26, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 28
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s4
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v26, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 29
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s4
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v26, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 30
-; GFX9-NEXT: v_mov_b32_e32 v18, s4
+; GFX9-NEXT: v_mov_b32_e32 v29, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 31
-; GFX9-NEXT: v_mov_b32_e32 v51, s4
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v26, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 32
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s4
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v26, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 33
-; GFX9-NEXT: v_mov_b32_e32 v57, s4
-; GFX9-NEXT: v_mov_b32_e32 v56, s94
-; GFX9-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v57, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v53, s34
-; GFX9-NEXT: v_mov_b32_e32 v52, s30
-; GFX9-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v56, s92
-; GFX9-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v57, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v52, vcc_lo
-; GFX9-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v56, s90
-; GFX9-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v57, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v56, v51
-; GFX9-NEXT: v_mov_b32_e32 v51, s88
-; GFX9-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v51, s78
-; GFX9-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v51, s76
-; GFX9-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v51, s74
-; GFX9-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v51, s72
-; GFX9-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v51, s62
-; GFX9-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v47, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 34
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s4
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v26, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 35
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s4
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v26, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 36
-; GFX9-NEXT: v_mov_b32_e32 v50, s4
+; GFX9-NEXT: v_mov_b32_e32 v59, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 37
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s4
+; GFX9-NEXT: v_mov_b32_e32 v44, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 38
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:384 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s4
+; GFX9-NEXT: v_mov_b32_e32 v35, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 39
-; GFX9-NEXT: v_mov_b32_e32 v44, s4
+; GFX9-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v51, s92
+; GFX9-NEXT: v_mov_b32_e32 v38, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 40
; GFX9-NEXT: v_mov_b32_e32 v54, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 41
-; GFX9-NEXT: v_mov_b32_e32 v55, s4
+; GFX9-NEXT: v_mov_b32_e32 v46, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 42
-; GFX9-NEXT: v_mov_b32_e32 v19, s4
+; GFX9-NEXT: v_mov_b32_e32 v61, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 43
-; GFX9-NEXT: v_mov_b32_e32 v22, s4
+; GFX9-NEXT: v_mov_b32_e32 v57, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 44
-; GFX9-NEXT: v_mov_b32_e32 v41, s4
+; GFX9-NEXT: v_mov_b32_e32 v40, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 45
-; GFX9-NEXT: v_mov_b32_e32 v23, s4
+; GFX9-NEXT: v_mov_b32_e32 v43, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 46
-; GFX9-NEXT: v_mov_b32_e32 v59, s4
+; GFX9-NEXT: v_mov_b32_e32 v41, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 47
-; GFX9-NEXT: v_mov_b32_e32 v43, s4
+; GFX9-NEXT: v_mov_b32_e32 v50, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 48
-; GFX9-NEXT: v_mov_b32_e32 v45, s4
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v26, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 49
-; GFX9-NEXT: v_mov_b32_e32 v30, s4
+; GFX9-NEXT: v_mov_b32_e32 v42, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 50
-; GFX9-NEXT: v_mov_b32_e32 v61, s4
+; GFX9-NEXT: v_mov_b32_e32 v60, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 51
; GFX9-NEXT: v_mov_b32_e32 v12, s5
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:388 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s4
+; GFX9-NEXT: v_mov_b32_e32 v31, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 0
-; GFX9-NEXT: v_mov_b32_e32 v51, s4
-; GFX9-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
; GFX9-NEXT: v_readlane_b32 s5, v62, 1
-; GFX9-NEXT: v_readlane_b32 s4, v62, 2
-; GFX9-NEXT: v_mov_b32_e32 v51, s4
-; GFX9-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
-; GFX9-NEXT: v_readlane_b32 s5, v62, 3
-; GFX9-NEXT: v_readlane_b32 s4, v62, 4
-; GFX9-NEXT: v_mov_b32_e32 v51, s4
-; GFX9-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; GFX9-NEXT: v_readlane_b32 s5, v62, 5
-; GFX9-NEXT: v_readlane_b32 s4, v62, 6
-; GFX9-NEXT: v_mov_b32_e32 v51, s4
; GFX9-NEXT: v_mov_b32_e32 v1, s6
; GFX9-NEXT: v_mov_b32_e32 v2, s7
; GFX9-NEXT: v_mov_b32_e32 v3, s8
@@ -114330,49 +114337,97 @@ define inreg <128 x i8> @bitcast_v16f64_to_v128i8_scalar(<16 x double> inreg %a,
; GFX9-NEXT: v_mov_b32_e32 v14, s41
; GFX9-NEXT: v_mov_b32_e32 v15, s42
; GFX9-NEXT: v_mov_b32_e32 v16, s43
-; GFX9-NEXT: v_mov_b32_e32 v20, s44
-; GFX9-NEXT: v_mov_b32_e32 v21, s45
-; GFX9-NEXT: v_mov_b32_e32 v24, s28
-; GFX9-NEXT: v_mov_b32_e32 v25, s29
-; GFX9-NEXT: v_mov_b32_e32 v28, s26
-; GFX9-NEXT: v_mov_b32_e32 v29, s27
-; GFX9-NEXT: v_mov_b32_e32 v32, s24
-; GFX9-NEXT: v_mov_b32_e32 v33, s25
-; GFX9-NEXT: v_mov_b32_e32 v34, s22
-; GFX9-NEXT: v_mov_b32_e32 v35, s23
-; GFX9-NEXT: v_mov_b32_e32 v36, s20
-; GFX9-NEXT: v_mov_b32_e32 v37, s21
-; GFX9-NEXT: v_mov_b32_e32 v38, s18
-; GFX9-NEXT: v_mov_b32_e32 v39, s19
+; GFX9-NEXT: v_mov_b32_e32 v17, s44
+; GFX9-NEXT: v_mov_b32_e32 v18, s45
+; GFX9-NEXT: v_mov_b32_e32 v19, s28
+; GFX9-NEXT: v_mov_b32_e32 v20, s29
+; GFX9-NEXT: v_mov_b32_e32 v21, s26
+; GFX9-NEXT: v_mov_b32_e32 v22, s27
+; GFX9-NEXT: v_mov_b32_e32 v23, s24
+; GFX9-NEXT: v_mov_b32_e32 v24, s25
+; GFX9-NEXT: v_mov_b32_e32 v27, s22
+; GFX9-NEXT: v_mov_b32_e32 v28, s23
+; GFX9-NEXT: v_mov_b32_e32 v32, s20
+; GFX9-NEXT: v_mov_b32_e32 v33, s21
+; GFX9-NEXT: v_mov_b32_e32 v36, s18
+; GFX9-NEXT: v_mov_b32_e32 v37, s19
; GFX9-NEXT: v_mov_b32_e32 v48, s16
; GFX9-NEXT: v_mov_b32_e32 v49, s17
-; GFX9-NEXT: v_mov_b32_e32 v60, s82
-; GFX9-NEXT: v_readlane_b32 s5, v62, 7
-; GFX9-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v55, s65
+; GFX9-NEXT: v_mov_b32_e32 v25, s70
+; GFX9-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v51, s90
+; GFX9-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v51, s88
+; GFX9-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v51, s78
+; GFX9-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v51, s76
+; GFX9-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v51, s74
+; GFX9-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v51, s72
+; GFX9-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v51, s62
+; GFX9-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v51, s66
+; GFX9-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v51, s4
+; GFX9-NEXT: v_readlane_b32 s4, v62, 2
+; GFX9-NEXT: v_readlane_b32 s5, v62, 3
+; GFX9-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v51, s4
+; GFX9-NEXT: v_readlane_b32 s4, v62, 4
+; GFX9-NEXT: v_readlane_b32 s5, v62, 5
+; GFX9-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v51, s4
+; GFX9-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
; GFX9-NEXT: .LBB73_6: ; %end
; GFX9-NEXT: s_mov_b32 s4, 0xc0c0004
-; GFX9-NEXT: v_perm_b32 v51, v42, v53, s4
-; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:368 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:372 ; 4-byte Folded Reload
-; GFX9-NEXT: v_perm_b32 v17, v49, v17, s4
-; GFX9-NEXT: v_perm_b32 v26, v38, v26, s4
-; GFX9-NEXT: v_perm_b32 v38, v39, v45, s4
-; GFX9-NEXT: v_perm_b32 v23, v37, v23, s4
-; GFX9-NEXT: v_perm_b32 v19, v35, v19, s4
-; GFX9-NEXT: v_perm_b32 v34, v34, v31, s4
-; GFX9-NEXT: v_perm_b32 v29, v29, v50, s4
-; GFX9-NEXT: v_perm_b32 v36, v36, v40, s4
-; GFX9-NEXT: v_perm_b32 v33, v33, v44, s4
-; GFX9-NEXT: v_perm_b32 v18, v21, v18, s4
-; GFX9-NEXT: v_perm_b32 v30, v61, v30, s4
-; GFX9-NEXT: v_lshlrev_b32_e32 v30, 16, v30
-; GFX9-NEXT: v_or_b32_e32 v17, v17, v30
+; GFX9-NEXT: v_perm_b32 v34, v34, v52, s4
+; GFX9-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:360 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:364 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v31, v49, v31, s4
+; GFX9-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:384 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v26, v37, v26, s4
+; GFX9-NEXT: v_perm_b32 v32, v32, v39, s4
+; GFX9-NEXT: v_perm_b32 v24, v24, v38, s4
+; GFX9-NEXT: v_perm_b32 v18, v18, v29, s4
+; GFX9-NEXT: v_perm_b32 v36, v36, v56, s4
+; GFX9-NEXT: v_perm_b32 v27, v27, v55, s4
+; GFX9-NEXT: buffer_load_dword v55, off, s[0:3], s32 offset:316 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v56, off, s[0:3], s32 offset:320 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v33, v33, v43, s4
; GFX9-NEXT: v_perm_b32 v48, v48, v58, s4
-; GFX9-NEXT: v_lshlrev_b32_e32 v51, 16, v51
-; GFX9-NEXT: v_or_b32_e32 v48, v48, v51
-; GFX9-NEXT: v_perm_b32 v25, v25, v57, s4
+; GFX9-NEXT: v_lshlrev_b32_e32 v34, 16, v34
+; GFX9-NEXT: v_or_b32_e32 v34, v48, v34
+; GFX9-NEXT: v_perm_b32 v28, v28, v61, s4
+; GFX9-NEXT: v_perm_b32 v22, v22, v59, s4
+; GFX9-NEXT: v_perm_b32 v20, v20, v47, s4
; GFX9-NEXT: v_readlane_b32 s30, v63, 34
; GFX9-NEXT: v_readlane_b32 s31, v63, 35
; GFX9-NEXT: v_readlane_b32 s99, v63, 33
@@ -114409,119 +114464,118 @@ define inreg <128 x i8> @bitcast_v16f64_to_v128i8_scalar(<16 x double> inreg %a,
; GFX9-NEXT: v_readlane_b32 s36, v63, 2
; GFX9-NEXT: v_readlane_b32 s35, v63, 1
; GFX9-NEXT: v_readlane_b32 s34, v63, 0
-; GFX9-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:336 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:308 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(3)
-; GFX9-NEXT: v_perm_b32 v49, v47, v52, s4
-; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:340 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:344 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(2)
-; GFX9-NEXT: v_perm_b32 v20, v20, v40, s4
-; GFX9-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload
-; GFX9-NEXT: v_perm_b32 v24, v24, v50, s4
-; GFX9-NEXT: s_waitcnt vmcnt(2)
-; GFX9-NEXT: v_perm_b32 v39, v46, v52, s4
-; GFX9-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:320 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:324 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(4)
+; GFX9-NEXT: v_perm_b32 v30, v30, v51, s4
+; GFX9-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:368 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:372 ; 4-byte Folded Reload
+; GFX9-NEXT: v_lshlrev_b32_e32 v30, 16, v30
+; GFX9-NEXT: s_waitcnt vmcnt(4)
+; GFX9-NEXT: v_perm_b32 v23, v23, v49, s4
+; GFX9-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:352 ; 4-byte Folded Reload
+; GFX9-NEXT: v_or_b32_e32 v30, v36, v30
+; GFX9-NEXT: s_waitcnt vmcnt(4)
+; GFX9-NEXT: v_perm_b32 v25, v25, v55, s4
+; GFX9-NEXT: v_lshlrev_b32_e32 v25, 16, v25
+; GFX9-NEXT: v_or_b32_e32 v23, v23, v25
; GFX9-NEXT: s_waitcnt vmcnt(2)
-; GFX9-NEXT: v_perm_b32 v40, v15, v40, s4
-; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:364 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v37, v45, v51, s4
+; GFX9-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:332 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:336 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(2)
-; GFX9-NEXT: v_perm_b32 v37, v27, v45, s4
-; GFX9-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:312 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:316 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:376 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(3)
-; GFX9-NEXT: v_perm_b32 v16, v16, v15, s4
+; GFX9-NEXT: v_perm_b32 v21, v21, v49, s4
+; GFX9-NEXT: s_waitcnt vmcnt(1)
+; GFX9-NEXT: v_perm_b32 v39, v53, v51, s4
+; GFX9-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v38, off, s[0:3], s32 offset:348 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v35, v27, v45, s4
-; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:380 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v38, v38, v51, s4
+; GFX9-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:276 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:280 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:324 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v53, v32, v27, s4
-; GFX9-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:56 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:348 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:328 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(3)
-; GFX9-NEXT: v_perm_b32 v31, v27, v31, s4
-; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:352 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_perm_b32 v32, v32, v44, s4
-; GFX9-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:268 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(2)
-; GFX9-NEXT: v_perm_b32 v28, v28, v27, s4
-; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_perm_b32 v50, v60, v44, s4
-; GFX9-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v49, v49, v51, s4
+; GFX9-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:340 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v21, v21, v44, s4
-; GFX9-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:272 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v19, v19, v51, s4
+; GFX9-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:308 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v15, v15, v44, s4
-; GFX9-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:4
-; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v49
-; GFX9-NEXT: v_or_b32_e32 v17, v26, v17
-; GFX9-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:8
-; GFX9-NEXT: v_perm_b32 v17, v43, v59, s4
-; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v17
-; GFX9-NEXT: v_or_b32_e32 v17, v38, v17
-; GFX9-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:12
-; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v39
-; GFX9-NEXT: v_or_b32_e32 v17, v36, v17
-; GFX9-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:16
-; GFX9-NEXT: v_perm_b32 v17, v41, v22, s4
-; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v17
-; GFX9-NEXT: v_or_b32_e32 v17, v23, v17
-; GFX9-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:20
-; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v37
-; GFX9-NEXT: v_or_b32_e32 v17, v34, v17
-; GFX9-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:24
-; GFX9-NEXT: v_perm_b32 v17, v55, v54, s4
-; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v17
-; GFX9-NEXT: v_or_b32_e32 v17, v19, v17
-; GFX9-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:28
-; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v35
-; GFX9-NEXT: v_or_b32_e32 v17, v53, v17
-; GFX9-NEXT: buffer_store_dword v48, v0, s[0:3], 0 offen
-; GFX9-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:32
-; GFX9-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:384 ; 4-byte Folded Reload
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:388 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v51, v52, v51, s4
+; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:312 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_perm_b32 v17, v17, v52, s4
+; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_perm_b32 v29, v29, v52, s4
+; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_perm_b32 v53, v15, v52, s4
+; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:380 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_perm_b32 v16, v16, v15, s4
+; GFX9-NEXT: buffer_load_dword v55, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v56, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_perm_b32 v15, v15, v55, s4
+; GFX9-NEXT: buffer_store_dword v30, v0, s[0:3], 0 offen offset:8
+; GFX9-NEXT: v_perm_b32 v30, v50, v41, s4
+; GFX9-NEXT: v_lshlrev_b32_e32 v30, 16, v30
+; GFX9-NEXT: v_or_b32_e32 v26, v26, v30
+; GFX9-NEXT: buffer_store_dword v26, v0, s[0:3], 0 offen offset:12
+; GFX9-NEXT: v_lshlrev_b32_e32 v26, 16, v37
+; GFX9-NEXT: v_or_b32_e32 v26, v32, v26
+; GFX9-NEXT: buffer_store_dword v26, v0, s[0:3], 0 offen offset:16
+; GFX9-NEXT: v_perm_b32 v26, v40, v57, s4
+; GFX9-NEXT: v_lshlrev_b32_e32 v26, 16, v26
+; GFX9-NEXT: v_or_b32_e32 v26, v33, v26
+; GFX9-NEXT: buffer_store_dword v26, v0, s[0:3], 0 offen offset:20
+; GFX9-NEXT: v_lshlrev_b32_e32 v26, 16, v39
+; GFX9-NEXT: buffer_store_dword v23, v0, s[0:3], 0 offen offset:32
+; GFX9-NEXT: v_perm_b32 v23, v35, v44, s4
+; GFX9-NEXT: v_or_b32_e32 v26, v27, v26
+; GFX9-NEXT: v_lshlrev_b32_e32 v23, 16, v23
+; GFX9-NEXT: buffer_store_dword v34, v0, s[0:3], 0 offen
+; GFX9-NEXT: v_perm_b32 v34, v60, v42, s4
+; GFX9-NEXT: buffer_store_dword v26, v0, s[0:3], 0 offen offset:24
+; GFX9-NEXT: v_perm_b32 v26, v46, v54, s4
+; GFX9-NEXT: v_or_b32_e32 v23, v24, v23
+; GFX9-NEXT: v_lshlrev_b32_e32 v34, 16, v34
+; GFX9-NEXT: v_lshlrev_b32_e32 v26, 16, v26
+; GFX9-NEXT: buffer_store_dword v23, v0, s[0:3], 0 offen offset:36
+; GFX9-NEXT: v_lshlrev_b32_e32 v23, 16, v38
+; GFX9-NEXT: v_or_b32_e32 v31, v31, v34
+; GFX9-NEXT: v_or_b32_e32 v26, v28, v26
+; GFX9-NEXT: v_or_b32_e32 v21, v21, v23
+; GFX9-NEXT: buffer_store_dword v31, v0, s[0:3], 0 offen offset:4
+; GFX9-NEXT: buffer_store_dword v26, v0, s[0:3], 0 offen offset:28
+; GFX9-NEXT: buffer_store_dword v21, v0, s[0:3], 0 offen offset:40
+; GFX9-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:356 ; 4-byte Folded Reload
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:376 ; 4-byte Folded Reload
; GFX9-NEXT: v_lshlrev_b32_e32 v15, 16, v15
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v17, v19, v17, s4
-; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v17
-; GFX9-NEXT: v_or_b32_e32 v17, v33, v17
-; GFX9-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:36
-; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v31
-; GFX9-NEXT: v_or_b32_e32 v17, v28, v17
-; GFX9-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:40
-; GFX9-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:356 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v21, v23, v21, s4
+; GFX9-NEXT: v_lshlrev_b32_e32 v21, 16, v21
+; GFX9-NEXT: v_or_b32_e32 v21, v22, v21
+; GFX9-NEXT: buffer_store_dword v21, v0, s[0:3], 0 offen offset:44
+; GFX9-NEXT: v_lshlrev_b32_e32 v21, 16, v49
+; GFX9-NEXT: v_or_b32_e32 v19, v19, v21
+; GFX9-NEXT: buffer_store_dword v19, v0, s[0:3], 0 offen offset:48
+; GFX9-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:328 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:360 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:344 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v17, v19, v17, s4
-; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v17
-; GFX9-NEXT: v_or_b32_e32 v17, v29, v17
-; GFX9-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:44
-; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v32
-; GFX9-NEXT: v_or_b32_e32 v17, v24, v17
-; GFX9-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:48
-; GFX9-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:332 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v17, v17, v56, s4
-; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v17
-; GFX9-NEXT: v_or_b32_e32 v17, v25, v17
-; GFX9-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:52
-; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v50
-; GFX9-NEXT: v_or_b32_e32 v17, v20, v17
+; GFX9-NEXT: v_perm_b32 v19, v21, v19, s4
+; GFX9-NEXT: v_lshlrev_b32_e32 v19, 16, v19
+; GFX9-NEXT: v_or_b32_e32 v19, v20, v19
+; GFX9-NEXT: buffer_store_dword v19, v0, s[0:3], 0 offen offset:52
+; GFX9-NEXT: v_lshlrev_b32_e32 v19, 16, v51
+; GFX9-NEXT: v_or_b32_e32 v17, v17, v19
; GFX9-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:56
; GFX9-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:300 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
@@ -114531,153 +114585,153 @@ define inreg <128 x i8> @bitcast_v16f64_to_v128i8_scalar(<16 x double> inreg %a,
; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v17
; GFX9-NEXT: v_or_b32_e32 v17, v18, v17
; GFX9-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:60
-; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v21
-; GFX9-NEXT: v_or_b32_e32 v17, v40, v17
+; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v29
+; GFX9-NEXT: v_or_b32_e32 v17, v53, v17
; GFX9-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:64
-; GFX9-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:276 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:268 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:280 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:272 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v17, v18, v17, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v17
; GFX9-NEXT: v_or_b32_e32 v16, v16, v17
; GFX9-NEXT: buffer_store_dword v16, v0, s[0:3], 0 offen offset:68
-; GFX9-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v13, v13, v16, s4
; GFX9-NEXT: v_or_b32_e32 v13, v13, v15
; GFX9-NEXT: buffer_store_dword v13, v0, s[0:3], 0 offen offset:72
-; GFX9-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v13, v14, v13, s4
-; GFX9-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v14, v15, v14, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v14, 16, v14
; GFX9-NEXT: v_or_b32_e32 v13, v13, v14
; GFX9-NEXT: buffer_store_dword v13, v0, s[0:3], 0 offen offset:76
-; GFX9-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v9, v9, v13, s4
-; GFX9-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v13, v14, v13, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v13, 16, v13
; GFX9-NEXT: v_or_b32_e32 v9, v9, v13
; GFX9-NEXT: buffer_store_dword v9, v0, s[0:3], 0 offen offset:80
-; GFX9-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v9, v10, v9, s4
-; GFX9-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v10, v13, v10, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v10, 16, v10
; GFX9-NEXT: v_or_b32_e32 v9, v9, v10
; GFX9-NEXT: buffer_store_dword v9, v0, s[0:3], 0 offen offset:84
-; GFX9-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v7, v7, v9, s4
-; GFX9-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v9, v10, v9, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v9, 16, v9
; GFX9-NEXT: v_or_b32_e32 v7, v7, v9
; GFX9-NEXT: buffer_store_dword v7, v0, s[0:3], 0 offen offset:88
-; GFX9-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v7, v8, v7, s4
-; GFX9-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v8, v9, v8, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v8, 16, v8
; GFX9-NEXT: v_or_b32_e32 v7, v7, v8
; GFX9-NEXT: buffer_store_dword v7, v0, s[0:3], 0 offen offset:92
-; GFX9-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v5, v5, v7, s4
-; GFX9-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v7, v8, v7, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v7, 16, v7
; GFX9-NEXT: v_or_b32_e32 v5, v5, v7
; GFX9-NEXT: buffer_store_dword v5, v0, s[0:3], 0 offen offset:96
-; GFX9-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v5, v6, v5, s4
-; GFX9-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v6, v7, v6, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v6, 16, v6
; GFX9-NEXT: v_or_b32_e32 v5, v5, v6
; GFX9-NEXT: buffer_store_dword v5, v0, s[0:3], 0 offen offset:100
-; GFX9-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v3, v3, v5, s4
-; GFX9-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v5, v6, v5, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v5, 16, v5
; GFX9-NEXT: v_or_b32_e32 v3, v3, v5
; GFX9-NEXT: buffer_store_dword v3, v0, s[0:3], 0 offen offset:104
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v3, v4, v3, s4
-; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v4, v5, v4, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v4, 16, v4
; GFX9-NEXT: v_or_b32_e32 v3, v3, v4
; GFX9-NEXT: buffer_store_dword v3, v0, s[0:3], 0 offen offset:108
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v1, v3, s4
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v3, v4, v3, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; GFX9-NEXT: v_or_b32_e32 v1, v1, v3
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:112
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v2, v3, v2, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v2, 16, v2
; GFX9-NEXT: v_or_b32_e32 v1, v1, v2
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:116
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:56 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_perm_b32 v2, v2, v3, s4
; GFX9-NEXT: v_perm_b32 v1, v11, v1, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v2, 16, v2
; GFX9-NEXT: v_or_b32_e32 v1, v1, v2
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:120
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v2, v3, v2, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
; GFX9-NEXT: v_lshlrev_b32_e32 v2, 16, v2
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v12, v1, s4
@@ -114698,8 +114752,8 @@ define inreg <128 x i8> @bitcast_v16f64_to_v128i8_scalar(<16 x double> inreg %a,
; GFX9-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:48 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:52 ; 4-byte Folded Reload
; GFX9-NEXT: s_or_saveexec_b64 s[4:5], -1
-; GFX9-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:392 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:396 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:388 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:392 ; 4-byte Folded Reload
; GFX9-NEXT: s_mov_b64 exec, s[4:5]
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: s_setpc_b64 s[30:31]
@@ -114802,8 +114856,8 @@ define inreg <128 x i8> @bitcast_v16f64_to_v128i8_scalar(<16 x double> inreg %a,
; GFX11-NEXT: v_readfirstlane_b32 s8, v7
; GFX11-NEXT: v_readfirstlane_b32 s7, v6
; GFX11-NEXT: v_readfirstlane_b32 s6, v5
-; GFX11-NEXT: v_readfirstlane_b32 s89, v4
-; GFX11-NEXT: v_readfirstlane_b32 s88, v3
+; GFX11-NEXT: v_readfirstlane_b32 s5, v4
+; GFX11-NEXT: v_readfirstlane_b32 s4, v3
; GFX11-NEXT: v_readfirstlane_b32 s13, v2
; GFX11-NEXT: v_readfirstlane_b32 s12, v1
; GFX11-NEXT: s_cmp_lg_u32 s42, 0
@@ -114811,229 +114865,224 @@ define inreg <128 x i8> @bitcast_v16f64_to_v128i8_scalar(<16 x double> inreg %a,
; GFX11-NEXT: ; implicit-def: $vgpr76 : SGPR spill to VGPR lane
; GFX11-NEXT: s_cbranch_scc0 .LBB73_2
; GFX11-NEXT: ; %bb.1: ; %cmp.false
-; GFX11-NEXT: s_lshr_b32 s4, s9, 24
-; GFX11-NEXT: s_lshr_b32 vcc_hi, s17, 16
-; GFX11-NEXT: v_writelane_b32 v76, s4, 9
-; GFX11-NEXT: s_lshr_b32 s4, s0, 8
-; GFX11-NEXT: s_lshr_b32 s53, s41, 24
-; GFX11-NEXT: s_lshr_b32 s92, s19, 24
-; GFX11-NEXT: s_lshr_b32 s94, s19, 16
-; GFX11-NEXT: v_writelane_b32 v76, vcc_hi, 1
-; GFX11-NEXT: s_lshr_b32 vcc_hi, s17, 8
-; GFX11-NEXT: s_lshr_b32 s31, s41, 16
-; GFX11-NEXT: s_lshr_b32 s78, s41, 8
-; GFX11-NEXT: s_lshr_b32 s35, s40, 16
-; GFX11-NEXT: v_writelane_b32 v76, vcc_hi, 2
-; GFX11-NEXT: s_lshr_b32 vcc_hi, s3, 24
-; GFX11-NEXT: s_lshr_b32 s76, s40, 8
-; GFX11-NEXT: s_lshr_b32 s37, s15, 24
-; GFX11-NEXT: s_lshr_b32 s74, s15, 16
-; GFX11-NEXT: v_writelane_b32 v76, vcc_hi, 3
-; GFX11-NEXT: s_lshr_b32 vcc_hi, s3, 16
-; GFX11-NEXT: s_lshr_b32 s39, s15, 8
-; GFX11-NEXT: s_lshr_b32 s48, s14, 16
-; GFX11-NEXT: s_lshr_b32 s49, s14, 8
-; GFX11-NEXT: v_writelane_b32 v76, vcc_hi, 4
-; GFX11-NEXT: s_lshr_b32 vcc_hi, s3, 8
-; GFX11-NEXT: s_lshr_b32 s50, s11, 24
-; GFX11-NEXT: s_lshr_b32 s51, s11, 16
-; GFX11-NEXT: s_lshr_b32 s52, s11, 8
-; GFX11-NEXT: v_writelane_b32 v76, vcc_hi, 5
-; GFX11-NEXT: s_lshr_b32 vcc_hi, s1, 24
-; GFX11-NEXT: s_lshr_b32 s55, s10, 16
-; GFX11-NEXT: s_lshr_b32 s64, s10, 8
-; GFX11-NEXT: s_lshr_b32 s67, s9, 16
-; GFX11-NEXT: v_writelane_b32 v76, vcc_hi, 6
-; GFX11-NEXT: s_lshr_b32 vcc_hi, s1, 16
-; GFX11-NEXT: s_lshr_b32 s69, s9, 8
-; GFX11-NEXT: s_lshr_b32 s70, s8, 16
-; GFX11-NEXT: s_lshr_b32 s71, s8, 8
-; GFX11-NEXT: v_writelane_b32 v76, vcc_hi, 7
-; GFX11-NEXT: s_lshr_b32 vcc_hi, s1, 8
-; GFX11-NEXT: s_lshr_b32 s82, s7, 24
-; GFX11-NEXT: s_lshr_b32 s83, s7, 16
-; GFX11-NEXT: s_lshr_b32 s84, s7, 8
-; GFX11-NEXT: v_writelane_b32 v76, vcc_hi, 8
-; GFX11-NEXT: s_lshr_b32 s86, s6, 16
-; GFX11-NEXT: s_lshr_b32 s96, s6, 8
-; GFX11-NEXT: s_lshr_b32 s97, s89, 24
-; GFX11-NEXT: s_lshr_b32 s98, s89, 16
-; GFX11-NEXT: v_writelane_b32 v76, s4, 0
-; GFX11-NEXT: s_lshr_b64 s[4:5], s[40:41], 24
-; GFX11-NEXT: s_lshr_b32 s101, s89, 8
-; GFX11-NEXT: v_writelane_b32 v77, s4, 30
-; GFX11-NEXT: s_lshr_b32 s102, s88, 16
-; GFX11-NEXT: s_lshr_b32 s103, s88, 8
-; GFX11-NEXT: s_lshr_b32 s65, s13, 24
-; GFX11-NEXT: s_lshr_b32 s43, s13, 16
-; GFX11-NEXT: v_writelane_b32 v77, s5, 31
-; GFX11-NEXT: s_lshr_b64 s[4:5], s[14:15], 24
-; GFX11-NEXT: s_lshr_b32 s45, s13, 8
-; GFX11-NEXT: s_lshr_b32 s46, s12, 16
-; GFX11-NEXT: s_lshr_b32 s47, s12, 8
-; GFX11-NEXT: v_writelane_b32 v77, s4, 28
-; GFX11-NEXT: s_lshr_b32 s57, s29, 24
-; GFX11-NEXT: s_lshr_b32 s59, s29, 16
-; GFX11-NEXT: s_lshr_b32 s61, s29, 8
-; GFX11-NEXT: s_lshr_b32 s63, s28, 16
-; GFX11-NEXT: v_writelane_b32 v77, s5, 29
-; GFX11-NEXT: s_lshr_b64 s[4:5], s[10:11], 24
-; GFX11-NEXT: s_lshr_b32 s72, s28, 8
-; GFX11-NEXT: s_lshr_b32 s73, s27, 24
-; GFX11-NEXT: s_lshr_b32 s38, s27, 16
-; GFX11-NEXT: v_writelane_b32 v77, s4, 26
-; GFX11-NEXT: s_lshr_b32 s75, s27, 8
-; GFX11-NEXT: s_lshr_b32 s62, s26, 16
-; GFX11-NEXT: s_lshr_b32 s60, s26, 8
-; GFX11-NEXT: s_lshr_b32 s36, s25, 24
-; GFX11-NEXT: v_writelane_b32 v77, s5, 27
-; GFX11-NEXT: s_lshr_b64 s[4:5], s[8:9], 24
-; GFX11-NEXT: s_lshr_b32 s77, s25, 16
-; GFX11-NEXT: s_lshr_b32 s34, s25, 8
-; GFX11-NEXT: s_lshr_b32 s58, s24, 16
-; GFX11-NEXT: v_writelane_b32 v77, s4, 24
-; GFX11-NEXT: s_lshr_b32 s56, s24, 8
-; GFX11-NEXT: s_lshr_b32 s79, s23, 24
-; GFX11-NEXT: s_lshr_b32 s30, s23, 16
-; GFX11-NEXT: s_lshr_b32 s42, s23, 8
-; GFX11-NEXT: v_writelane_b32 v77, s5, 25
-; GFX11-NEXT: s_lshr_b64 s[4:5], s[6:7], 24
-; GFX11-NEXT: s_lshr_b32 s44, s22, 16
-; GFX11-NEXT: s_lshr_b32 s104, s22, 8
-; GFX11-NEXT: s_lshr_b32 s95, s21, 24
-; GFX11-NEXT: v_writelane_b32 v77, s4, 22
-; GFX11-NEXT: s_lshr_b32 s93, s21, 16
-; GFX11-NEXT: s_lshr_b32 s91, s21, 8
-; GFX11-NEXT: s_lshr_b32 s100, s20, 16
-; GFX11-NEXT: s_lshr_b32 s99, s20, 8
-; GFX11-NEXT: v_writelane_b32 v77, s5, 23
-; GFX11-NEXT: s_lshr_b64 s[4:5], s[88:89], 24
-; GFX11-NEXT: s_lshr_b32 vcc_lo, s19, 8
-; GFX11-NEXT: s_lshr_b32 s87, s18, 16
-; GFX11-NEXT: s_lshr_b32 s85, s18, 8
-; GFX11-NEXT: v_writelane_b32 v77, s4, 20
-; GFX11-NEXT: s_lshr_b32 s90, s17, 24
-; GFX11-NEXT: s_lshr_b32 s81, s16, 16
-; GFX11-NEXT: s_lshr_b32 s80, s16, 8
-; GFX11-NEXT: s_lshr_b32 s68, s2, 16
-; GFX11-NEXT: v_writelane_b32 v77, s5, 21
-; GFX11-NEXT: s_lshr_b64 s[4:5], s[12:13], 24
-; GFX11-NEXT: s_lshr_b32 s66, s2, 8
-; GFX11-NEXT: s_lshr_b32 s54, s0, 16
-; GFX11-NEXT: s_mov_b32 vcc_hi, s53
-; GFX11-NEXT: v_writelane_b32 v77, s4, 18
-; GFX11-NEXT: v_readlane_b32 s53, v76, 9
-; GFX11-NEXT: v_writelane_b32 v77, s5, 19
-; GFX11-NEXT: s_lshr_b64 s[4:5], s[28:29], 24
-; GFX11-NEXT: s_delay_alu instid0(SALU_CYCLE_1) | instskip(SKIP_2) | instid1(SALU_CYCLE_1)
-; GFX11-NEXT: v_writelane_b32 v77, s4, 16
-; GFX11-NEXT: v_writelane_b32 v77, s5, 17
-; GFX11-NEXT: s_lshr_b64 s[4:5], s[26:27], 24
-; GFX11-NEXT: v_writelane_b32 v77, s4, 14
-; GFX11-NEXT: v_writelane_b32 v77, s5, 15
-; GFX11-NEXT: s_lshr_b64 s[4:5], s[24:25], 24
-; GFX11-NEXT: s_delay_alu instid0(SALU_CYCLE_1) | instskip(SKIP_2) | instid1(SALU_CYCLE_1)
-; GFX11-NEXT: v_writelane_b32 v77, s4, 12
-; GFX11-NEXT: v_writelane_b32 v77, s5, 13
-; GFX11-NEXT: s_lshr_b64 s[4:5], s[22:23], 24
-; GFX11-NEXT: v_writelane_b32 v77, s4, 10
-; GFX11-NEXT: v_writelane_b32 v77, s5, 11
-; GFX11-NEXT: s_lshr_b64 s[4:5], s[20:21], 24
-; GFX11-NEXT: s_delay_alu instid0(SALU_CYCLE_1) | instskip(SKIP_2) | instid1(SALU_CYCLE_1)
-; GFX11-NEXT: v_writelane_b32 v77, s4, 8
-; GFX11-NEXT: v_writelane_b32 v77, s5, 9
-; GFX11-NEXT: s_lshr_b64 s[4:5], s[18:19], 24
-; GFX11-NEXT: v_writelane_b32 v77, s4, 6
-; GFX11-NEXT: v_writelane_b32 v77, s5, 7
-; GFX11-NEXT: s_lshr_b64 s[4:5], s[16:17], 24
-; GFX11-NEXT: s_delay_alu instid0(SALU_CYCLE_1) | instskip(SKIP_2) | instid1(SALU_CYCLE_1)
-; GFX11-NEXT: v_writelane_b32 v77, s4, 4
-; GFX11-NEXT: v_writelane_b32 v77, s5, 5
-; GFX11-NEXT: s_lshr_b64 s[4:5], s[2:3], 24
-; GFX11-NEXT: v_writelane_b32 v77, s4, 2
-; GFX11-NEXT: v_writelane_b32 v77, s5, 3
-; GFX11-NEXT: s_lshr_b64 s[4:5], s[0:1], 24
+; GFX11-NEXT: s_lshr_b32 s43, s21, 24
+; GFX11-NEXT: s_lshr_b64 s[76:77], s[40:41], 24
+; GFX11-NEXT: v_writelane_b32 v77, s43, 28
+; GFX11-NEXT: s_lshr_b32 s43, s21, 16
+; GFX11-NEXT: s_lshr_b32 s104, s11, 16
+; GFX11-NEXT: s_lshr_b32 s38, s28, 16
+; GFX11-NEXT: s_lshr_b32 s98, s23, 16
+; GFX11-NEXT: v_writelane_b32 v77, s43, 29
+; GFX11-NEXT: s_lshr_b32 s43, s21, 8
+; GFX11-NEXT: s_lshr_b32 vcc_lo, s16, 16
+; GFX11-NEXT: s_lshr_b32 s92, s2, 16
+; GFX11-NEXT: s_lshr_b32 s78, s0, 16
+; GFX11-NEXT: v_writelane_b32 v77, s43, 30
+; GFX11-NEXT: s_lshr_b32 s43, s19, 24
+; GFX11-NEXT: s_lshr_b64 s[88:89], s[6:7], 24
+; GFX11-NEXT: s_lshr_b64 s[90:91], s[4:5], 24
+; GFX11-NEXT: s_lshr_b32 s31, s41, 24
+; GFX11-NEXT: v_writelane_b32 v77, s43, 31
+; GFX11-NEXT: s_lshr_b32 s43, s19, 16
+; GFX11-NEXT: s_lshr_b32 vcc_hi, s41, 16
+; GFX11-NEXT: v_writelane_b32 v76, s43, 0
+; GFX11-NEXT: s_lshr_b32 s43, s19, 8
+; GFX11-NEXT: v_writelane_b32 v77, s76, 26
+; GFX11-NEXT: s_lshr_b32 s63, s41, 8
+; GFX11-NEXT: s_lshr_b32 s74, s40, 16
+; GFX11-NEXT: v_writelane_b32 v76, s43, 1
+; GFX11-NEXT: s_lshr_b32 s43, s17, 24
+; GFX11-NEXT: v_writelane_b32 v77, s77, 27
+; GFX11-NEXT: s_lshr_b64 s[76:77], s[14:15], 24
+; GFX11-NEXT: s_lshr_b32 s36, s40, 8
+; GFX11-NEXT: v_writelane_b32 v76, s43, 2
+; GFX11-NEXT: s_lshr_b32 s43, s17, 16
+; GFX11-NEXT: v_writelane_b32 v77, s76, 24
+; GFX11-NEXT: s_lshr_b32 s59, s15, 24
+; GFX11-NEXT: s_lshr_b32 s58, s15, 16
+; GFX11-NEXT: v_writelane_b32 v76, s43, 3
+; GFX11-NEXT: s_lshr_b32 s43, s17, 8
+; GFX11-NEXT: v_writelane_b32 v77, s77, 25
+; GFX11-NEXT: s_lshr_b64 s[76:77], s[10:11], 24
+; GFX11-NEXT: s_lshr_b32 s56, s15, 8
+; GFX11-NEXT: v_writelane_b32 v76, s43, 4
+; GFX11-NEXT: s_lshr_b32 s43, s3, 24
+; GFX11-NEXT: v_writelane_b32 v77, s76, 22
+; GFX11-NEXT: s_lshr_b32 s35, s14, 16
+; GFX11-NEXT: s_lshr_b32 s72, s14, 8
+; GFX11-NEXT: v_writelane_b32 v76, s43, 5
+; GFX11-NEXT: s_lshr_b32 s43, s3, 16
+; GFX11-NEXT: v_writelane_b32 v77, s77, 23
+; GFX11-NEXT: s_lshr_b64 s[76:77], s[8:9], 24
+; GFX11-NEXT: s_lshr_b32 s95, s11, 24
+; GFX11-NEXT: v_writelane_b32 v76, s43, 6
+; GFX11-NEXT: s_lshr_b32 s43, s3, 8
+; GFX11-NEXT: v_writelane_b32 v77, s76, 20
+; GFX11-NEXT: s_lshr_b32 s94, s11, 8
+; GFX11-NEXT: s_lshr_b32 s34, s10, 16
+; GFX11-NEXT: v_writelane_b32 v76, s43, 7
+; GFX11-NEXT: s_lshr_b32 s43, s1, 24
+; GFX11-NEXT: v_writelane_b32 v77, s77, 21
+; GFX11-NEXT: s_lshr_b64 s[76:77], s[12:13], 24
+; GFX11-NEXT: s_lshr_b32 s30, s10, 8
+; GFX11-NEXT: v_writelane_b32 v76, s43, 8
+; GFX11-NEXT: s_lshr_b32 s43, s1, 16
+; GFX11-NEXT: v_writelane_b32 v77, s76, 18
+; GFX11-NEXT: s_lshr_b32 s101, s9, 24
+; GFX11-NEXT: s_lshr_b32 s99, s9, 16
+; GFX11-NEXT: v_writelane_b32 v76, s43, 9
+; GFX11-NEXT: s_lshr_b32 s43, s1, 8
+; GFX11-NEXT: v_writelane_b32 v77, s77, 19
+; GFX11-NEXT: s_lshr_b64 s[76:77], s[28:29], 24
+; GFX11-NEXT: s_lshr_b32 s96, s9, 8
+; GFX11-NEXT: s_lshr_b32 s62, s8, 16
+; GFX11-NEXT: s_lshr_b32 s61, s8, 8
+; GFX11-NEXT: v_writelane_b32 v77, s76, 16
+; GFX11-NEXT: s_lshr_b32 s85, s7, 24
+; GFX11-NEXT: s_lshr_b32 s84, s7, 16
+; GFX11-NEXT: s_lshr_b32 s82, s7, 8
+; GFX11-NEXT: s_lshr_b32 s60, s6, 16
+; GFX11-NEXT: v_writelane_b32 v77, s77, 17
+; GFX11-NEXT: s_lshr_b64 s[76:77], s[26:27], 24
+; GFX11-NEXT: s_lshr_b32 s57, s6, 8
+; GFX11-NEXT: s_lshr_b32 s70, s5, 24
+; GFX11-NEXT: s_lshr_b32 s69, s5, 16
+; GFX11-NEXT: v_writelane_b32 v77, s76, 14
+; GFX11-NEXT: s_lshr_b32 s68, s5, 8
+; GFX11-NEXT: s_lshr_b32 s47, s4, 16
+; GFX11-NEXT: s_lshr_b32 s44, s4, 8
+; GFX11-NEXT: s_lshr_b32 s67, s13, 24
+; GFX11-NEXT: v_writelane_b32 v77, s77, 15
+; GFX11-NEXT: s_lshr_b64 s[76:77], s[24:25], 24
+; GFX11-NEXT: s_lshr_b32 s66, s13, 16
+; GFX11-NEXT: s_lshr_b32 s65, s13, 8
+; GFX11-NEXT: s_lshr_b32 s93, s12, 16
+; GFX11-NEXT: v_writelane_b32 v77, s76, 12
+; GFX11-NEXT: s_lshr_b32 s79, s12, 8
+; GFX11-NEXT: s_lshr_b32 s64, s29, 24
+; GFX11-NEXT: s_lshr_b32 s55, s29, 16
+; GFX11-NEXT: s_lshr_b32 s54, s29, 8
+; GFX11-NEXT: v_writelane_b32 v77, s77, 13
+; GFX11-NEXT: s_lshr_b64 s[76:77], s[22:23], 24
+; GFX11-NEXT: s_lshr_b32 s103, s28, 8
+; GFX11-NEXT: s_lshr_b32 s53, s27, 24
+; GFX11-NEXT: s_lshr_b32 s52, s27, 16
+; GFX11-NEXT: v_writelane_b32 v77, s76, 10
+; GFX11-NEXT: s_lshr_b32 s51, s27, 8
+; GFX11-NEXT: s_lshr_b32 s100, s26, 16
+; GFX11-NEXT: s_lshr_b32 s97, s26, 8
+; GFX11-NEXT: s_lshr_b32 s50, s25, 24
+; GFX11-NEXT: v_writelane_b32 v77, s77, 11
+; GFX11-NEXT: s_lshr_b64 s[76:77], s[20:21], 24
+; GFX11-NEXT: s_lshr_b32 s49, s25, 16
+; GFX11-NEXT: s_lshr_b32 s48, s25, 8
+; GFX11-NEXT: s_lshr_b32 s87, s24, 16
+; GFX11-NEXT: v_writelane_b32 v77, s76, 8
+; GFX11-NEXT: s_lshr_b32 s86, s24, 8
+; GFX11-NEXT: s_lshr_b32 s39, s23, 24
+; GFX11-NEXT: s_lshr_b32 s37, s23, 8
+; GFX11-NEXT: s_lshr_b32 s83, s22, 16
+; GFX11-NEXT: v_writelane_b32 v77, s77, 9
+; GFX11-NEXT: s_lshr_b64 s[76:77], s[18:19], 24
+; GFX11-NEXT: s_lshr_b32 s81, s22, 8
+; GFX11-NEXT: s_lshr_b32 s80, s20, 16
+; GFX11-NEXT: s_lshr_b32 s71, s20, 8
+; GFX11-NEXT: v_writelane_b32 v77, s76, 6
+; GFX11-NEXT: s_lshr_b32 s46, s18, 16
+; GFX11-NEXT: s_lshr_b32 s42, s18, 8
+; GFX11-NEXT: s_lshr_b32 s75, s16, 8
+; GFX11-NEXT: s_lshr_b32 s102, s2, 8
+; GFX11-NEXT: v_writelane_b32 v77, s77, 7
+; GFX11-NEXT: s_lshr_b64 s[76:77], s[16:17], 24
+; GFX11-NEXT: v_writelane_b32 v76, s43, 10
+; GFX11-NEXT: s_lshr_b32 s45, s0, 8
+; GFX11-NEXT: s_mov_b32 s43, s38
+; GFX11-NEXT: v_writelane_b32 v77, s76, 4
+; GFX11-NEXT: s_mov_b32 s91, s104
+; GFX11-NEXT: s_mov_b32 s38, s98
+; GFX11-NEXT: s_mov_b32 s73, 0
+; GFX11-NEXT: s_mov_b32 s98, s78
+; GFX11-NEXT: v_writelane_b32 v77, s77, 5
+; GFX11-NEXT: s_lshr_b64 s[76:77], s[2:3], 24
+; GFX11-NEXT: s_mov_b32 s104, s92
+; GFX11-NEXT: s_mov_b32 s89, vcc_lo
+; GFX11-NEXT: v_writelane_b32 v77, s76, 2
+; GFX11-NEXT: v_writelane_b32 v77, s77, 3
+; GFX11-NEXT: s_lshr_b64 s[76:77], s[0:1], 24
; GFX11-NEXT: s_delay_alu instid0(SALU_CYCLE_1)
-; GFX11-NEXT: v_writelane_b32 v77, s4, 0
-; GFX11-NEXT: v_writelane_b32 v77, s5, 1
-; GFX11-NEXT: s_mov_b32 s5, s92
-; GFX11-NEXT: s_mov_b32 s92, s94
-; GFX11-NEXT: s_mov_b32 s94, 0
+; GFX11-NEXT: v_writelane_b32 v77, s76, 0
+; GFX11-NEXT: v_writelane_b32 v77, s77, 1
; GFX11-NEXT: s_branch .LBB73_3
; GFX11-NEXT: .LBB73_2:
; GFX11-NEXT: ; implicit-def: $sgpr42
-; GFX11-NEXT: ; implicit-def: $sgpr4
-; GFX11-NEXT: ; kill: killed $sgpr4
-; GFX11-NEXT: ; implicit-def: $sgpr46
-; GFX11-NEXT: s_mov_b32 s94, -1
+; GFX11-NEXT: ; implicit-def: $sgpr45
+; GFX11-NEXT: ; implicit-def: $sgpr44
+; GFX11-NEXT: ; implicit-def: $sgpr76
+; GFX11-NEXT: s_mov_b32 s73, -1
; GFX11-NEXT: v_writelane_b32 v77, s42, 0
-; GFX11-NEXT: ; implicit-def: $sgpr4
+; GFX11-NEXT: ; implicit-def: $sgpr98
+; GFX11-NEXT: ; implicit-def: $sgpr102
+; GFX11-NEXT: ; implicit-def: $sgpr104
+; GFX11-NEXT: ; implicit-def: $sgpr75
+; GFX11-NEXT: ; implicit-def: $sgpr89
+; GFX11-NEXT: ; implicit-def: $sgpr46
+; GFX11-NEXT: ; implicit-def: $sgpr71
+; GFX11-NEXT: ; implicit-def: $sgpr80
+; GFX11-NEXT: ; implicit-def: $sgpr81
+; GFX11-NEXT: ; implicit-def: $sgpr83
+; GFX11-NEXT: ; implicit-def: $sgpr37
+; GFX11-NEXT: ; implicit-def: $sgpr38
+; GFX11-NEXT: ; implicit-def: $sgpr39
+; GFX11-NEXT: ; implicit-def: $sgpr86
+; GFX11-NEXT: ; implicit-def: $sgpr87
+; GFX11-NEXT: ; implicit-def: $sgpr48
+; GFX11-NEXT: ; implicit-def: $sgpr49
+; GFX11-NEXT: ; implicit-def: $sgpr50
+; GFX11-NEXT: ; implicit-def: $sgpr97
+; GFX11-NEXT: ; implicit-def: $sgpr100
+; GFX11-NEXT: ; implicit-def: $sgpr51
+; GFX11-NEXT: ; implicit-def: $sgpr52
+; GFX11-NEXT: ; implicit-def: $sgpr53
+; GFX11-NEXT: ; implicit-def: $sgpr103
; GFX11-NEXT: ; implicit-def: $sgpr54
+; GFX11-NEXT: ; implicit-def: $sgpr55
+; GFX11-NEXT: ; implicit-def: $sgpr64
+; GFX11-NEXT: ; implicit-def: $sgpr79
+; GFX11-NEXT: ; implicit-def: $sgpr93
+; GFX11-NEXT: ; implicit-def: $sgpr65
; GFX11-NEXT: ; implicit-def: $sgpr66
+; GFX11-NEXT: ; implicit-def: $sgpr67
+; GFX11-NEXT: ; implicit-def: $sgpr47
; GFX11-NEXT: ; implicit-def: $sgpr68
-; GFX11-NEXT: ; implicit-def: $sgpr80
-; GFX11-NEXT: ; implicit-def: $sgpr81
-; GFX11-NEXT: ; implicit-def: $sgpr90
+; GFX11-NEXT: ; implicit-def: $sgpr69
+; GFX11-NEXT: ; implicit-def: $sgpr70
+; GFX11-NEXT: ; implicit-def: $sgpr57
+; GFX11-NEXT: ; implicit-def: $sgpr60
+; GFX11-NEXT: ; implicit-def: $sgpr82
+; GFX11-NEXT: ; implicit-def: $sgpr84
; GFX11-NEXT: ; implicit-def: $sgpr85
-; GFX11-NEXT: ; implicit-def: $sgpr87
-; GFX11-NEXT: ; implicit-def: $vcc_lo
-; GFX11-NEXT: ; implicit-def: $sgpr92
+; GFX11-NEXT: ; implicit-def: $sgpr61
+; GFX11-NEXT: ; implicit-def: $sgpr62
+; GFX11-NEXT: ; implicit-def: $sgpr96
; GFX11-NEXT: ; implicit-def: $sgpr99
-; GFX11-NEXT: ; implicit-def: $sgpr100
+; GFX11-NEXT: ; implicit-def: $sgpr101
+; GFX11-NEXT: ; implicit-def: $sgpr30
+; GFX11-NEXT: ; implicit-def: $sgpr34
+; GFX11-NEXT: ; implicit-def: $sgpr94
; GFX11-NEXT: ; implicit-def: $sgpr91
-; GFX11-NEXT: ; implicit-def: $sgpr93
; GFX11-NEXT: ; implicit-def: $sgpr95
-; GFX11-NEXT: ; implicit-def: $sgpr104
-; GFX11-NEXT: ; implicit-def: $sgpr44
-; GFX11-NEXT: ; implicit-def: $sgpr30
-; GFX11-NEXT: ; implicit-def: $sgpr79
+; GFX11-NEXT: ; implicit-def: $sgpr72
+; GFX11-NEXT: ; implicit-def: $sgpr35
; GFX11-NEXT: ; implicit-def: $sgpr56
; GFX11-NEXT: ; implicit-def: $sgpr58
-; GFX11-NEXT: ; implicit-def: $sgpr34
-; GFX11-NEXT: ; implicit-def: $sgpr77
-; GFX11-NEXT: ; implicit-def: $sgpr36
-; GFX11-NEXT: ; implicit-def: $sgpr60
-; GFX11-NEXT: ; implicit-def: $sgpr62
-; GFX11-NEXT: ; implicit-def: $sgpr75
-; GFX11-NEXT: ; implicit-def: $sgpr38
-; GFX11-NEXT: ; implicit-def: $sgpr73
-; GFX11-NEXT: ; implicit-def: $sgpr72
-; GFX11-NEXT: ; implicit-def: $sgpr63
-; GFX11-NEXT: ; implicit-def: $sgpr61
; GFX11-NEXT: ; implicit-def: $sgpr59
-; GFX11-NEXT: ; implicit-def: $sgpr57
-; GFX11-NEXT: ; implicit-def: $sgpr45
-; GFX11-NEXT: ; implicit-def: $sgpr65
-; GFX11-NEXT: ; implicit-def: $sgpr103
-; GFX11-NEXT: ; implicit-def: $sgpr102
-; GFX11-NEXT: ; implicit-def: $sgpr101
-; GFX11-NEXT: ; implicit-def: $sgpr98
-; GFX11-NEXT: ; implicit-def: $sgpr97
-; GFX11-NEXT: ; implicit-def: $sgpr96
-; GFX11-NEXT: ; implicit-def: $sgpr86
-; GFX11-NEXT: ; implicit-def: $sgpr84
-; GFX11-NEXT: ; implicit-def: $sgpr83
-; GFX11-NEXT: ; implicit-def: $sgpr82
-; GFX11-NEXT: ; implicit-def: $sgpr71
-; GFX11-NEXT: ; implicit-def: $sgpr70
-; GFX11-NEXT: ; implicit-def: $sgpr69
-; GFX11-NEXT: ; implicit-def: $sgpr67
-; GFX11-NEXT: ; implicit-def: $sgpr53
-; GFX11-NEXT: ; implicit-def: $sgpr64
-; GFX11-NEXT: ; implicit-def: $sgpr55
-; GFX11-NEXT: ; implicit-def: $sgpr52
-; GFX11-NEXT: ; implicit-def: $sgpr51
-; GFX11-NEXT: ; implicit-def: $sgpr50
-; GFX11-NEXT: ; implicit-def: $sgpr49
-; GFX11-NEXT: ; implicit-def: $sgpr48
-; GFX11-NEXT: ; implicit-def: $sgpr39
+; GFX11-NEXT: ; implicit-def: $sgpr36
; GFX11-NEXT: ; implicit-def: $sgpr74
-; GFX11-NEXT: ; implicit-def: $sgpr37
-; GFX11-NEXT: ; implicit-def: $sgpr76
-; GFX11-NEXT: ; implicit-def: $sgpr35
-; GFX11-NEXT: ; implicit-def: $sgpr78
-; GFX11-NEXT: ; implicit-def: $sgpr31
+; GFX11-NEXT: ; implicit-def: $sgpr63
; GFX11-NEXT: ; implicit-def: $vcc_hi
+; GFX11-NEXT: ; implicit-def: $sgpr31
+; GFX11-NEXT: ; implicit-def: $sgpr90
+; GFX11-NEXT: ; implicit-def: $sgpr88
; GFX11-NEXT: v_writelane_b32 v77, s43, 1
; GFX11-NEXT: ; implicit-def: $sgpr42
; GFX11-NEXT: ; kill: killed $sgpr42
@@ -115042,404 +115091,416 @@ define inreg <128 x i8> @bitcast_v16f64_to_v128i8_scalar(<16 x double> inreg %a,
; GFX11-NEXT: ; implicit-def: $sgpr42
; GFX11-NEXT: ; kill: killed $sgpr42
; GFX11-NEXT: ; implicit-def: $sgpr42
-; GFX11-NEXT: ; kill: killed $sgpr42
+; GFX11-NEXT: v_writelane_b32 v77, s42, 2
+; GFX11-NEXT: v_writelane_b32 v77, s43, 3
; GFX11-NEXT: ; implicit-def: $sgpr42
-; GFX11-NEXT: v_writelane_b32 v77, s4, 2
; GFX11-NEXT: ; kill: killed $sgpr42
; GFX11-NEXT: ; implicit-def: $sgpr42
; GFX11-NEXT: ; kill: killed $sgpr42
; GFX11-NEXT: ; implicit-def: $sgpr42
; GFX11-NEXT: ; kill: killed $sgpr42
; GFX11-NEXT: ; implicit-def: $sgpr42
+; GFX11-NEXT: v_writelane_b32 v77, s42, 4
+; GFX11-NEXT: v_writelane_b32 v77, s43, 5
+; GFX11-NEXT: ; implicit-def: $sgpr43
+; GFX11-NEXT: ; kill: killed $sgpr43
+; GFX11-NEXT: ; implicit-def: $sgpr43
+; GFX11-NEXT: ; kill: killed $sgpr43
+; GFX11-NEXT: ; implicit-def: $sgpr43
+; GFX11-NEXT: ; implicit-def: $sgpr42
+; GFX11-NEXT: ; kill: killed $sgpr43
+; GFX11-NEXT: ; implicit-def: $sgpr43
; GFX11-NEXT: ; kill: killed $sgpr42
; GFX11-NEXT: ; implicit-def: $sgpr42
-; GFX11-NEXT: v_writelane_b32 v77, s5, 3
-; GFX11-NEXT: ; implicit-def: $sgpr4
-; GFX11-NEXT: v_writelane_b32 v77, s4, 4
-; GFX11-NEXT: v_writelane_b32 v77, s5, 5
-; GFX11-NEXT: ; implicit-def: $sgpr4
-; GFX11-NEXT: v_writelane_b32 v77, s4, 6
-; GFX11-NEXT: v_writelane_b32 v77, s5, 7
-; GFX11-NEXT: ; implicit-def: $sgpr5
-; GFX11-NEXT: ; implicit-def: $sgpr4
-; GFX11-NEXT: v_writelane_b32 v77, s42, 8
-; GFX11-NEXT: v_writelane_b32 v77, s43, 9
+; GFX11-NEXT: ; kill: killed $sgpr43
+; GFX11-NEXT: ; implicit-def: $sgpr43
+; GFX11-NEXT: v_writelane_b32 v77, s44, 6
+; GFX11-NEXT: ; kill: killed $sgpr42
; GFX11-NEXT: ; implicit-def: $sgpr42
-; GFX11-NEXT: v_writelane_b32 v77, s42, 10
-; GFX11-NEXT: v_writelane_b32 v77, s43, 11
+; GFX11-NEXT: ; kill: killed $sgpr43
+; GFX11-NEXT: ; implicit-def: $sgpr43
+; GFX11-NEXT: ; kill: killed $sgpr42
; GFX11-NEXT: ; implicit-def: $sgpr42
+; GFX11-NEXT: ; kill: killed $sgpr43
; GFX11-NEXT: ; implicit-def: $sgpr43
-; GFX11-NEXT: v_writelane_b32 v77, s46, 12
-; GFX11-NEXT: v_writelane_b32 v77, s47, 13
-; GFX11-NEXT: ; implicit-def: $sgpr47
-; GFX11-NEXT: ; implicit-def: $sgpr46
-; GFX11-NEXT: v_writelane_b32 v77, s4, 14
-; GFX11-NEXT: v_writelane_b32 v77, s5, 15
-; GFX11-NEXT: ; implicit-def: $sgpr4
-; GFX11-NEXT: v_writelane_b32 v77, s4, 16
-; GFX11-NEXT: v_writelane_b32 v77, s5, 17
-; GFX11-NEXT: ; implicit-def: $sgpr4
-; GFX11-NEXT: v_writelane_b32 v77, s4, 18
-; GFX11-NEXT: v_writelane_b32 v77, s5, 19
-; GFX11-NEXT: ; implicit-def: $sgpr4
-; GFX11-NEXT: v_writelane_b32 v77, s4, 20
-; GFX11-NEXT: v_writelane_b32 v77, s5, 21
-; GFX11-NEXT: ; implicit-def: $sgpr4
-; GFX11-NEXT: v_writelane_b32 v77, s4, 22
-; GFX11-NEXT: v_writelane_b32 v77, s5, 23
-; GFX11-NEXT: ; implicit-def: $sgpr4
-; GFX11-NEXT: v_writelane_b32 v77, s4, 24
-; GFX11-NEXT: v_writelane_b32 v77, s5, 25
-; GFX11-NEXT: ; implicit-def: $sgpr4
-; GFX11-NEXT: v_writelane_b32 v77, s4, 26
-; GFX11-NEXT: v_writelane_b32 v77, s5, 27
-; GFX11-NEXT: ; implicit-def: $sgpr4
-; GFX11-NEXT: v_writelane_b32 v77, s4, 28
-; GFX11-NEXT: v_writelane_b32 v77, s5, 29
-; GFX11-NEXT: ; implicit-def: $sgpr4
-; GFX11-NEXT: v_writelane_b32 v77, s4, 30
-; GFX11-NEXT: v_writelane_b32 v77, s5, 31
+; GFX11-NEXT: v_writelane_b32 v77, s45, 7
+; GFX11-NEXT: ; implicit-def: $sgpr44
+; GFX11-NEXT: v_writelane_b32 v77, s44, 8
+; GFX11-NEXT: v_writelane_b32 v77, s45, 9
+; GFX11-NEXT: ; implicit-def: $sgpr44
+; GFX11-NEXT: v_writelane_b32 v77, s44, 10
+; GFX11-NEXT: v_writelane_b32 v77, s45, 11
+; GFX11-NEXT: ; implicit-def: $sgpr44
+; GFX11-NEXT: v_writelane_b32 v77, s44, 12
+; GFX11-NEXT: v_writelane_b32 v77, s45, 13
+; GFX11-NEXT: ; implicit-def: $sgpr44
+; GFX11-NEXT: v_writelane_b32 v77, s76, 14
+; GFX11-NEXT: v_writelane_b32 v77, s77, 15
+; GFX11-NEXT: ; implicit-def: $sgpr76
+; GFX11-NEXT: v_writelane_b32 v77, s76, 16
+; GFX11-NEXT: v_writelane_b32 v77, s77, 17
+; GFX11-NEXT: ; implicit-def: $sgpr76
+; GFX11-NEXT: v_writelane_b32 v77, s76, 18
+; GFX11-NEXT: v_writelane_b32 v77, s77, 19
+; GFX11-NEXT: ; implicit-def: $sgpr76
+; GFX11-NEXT: v_writelane_b32 v77, s76, 20
+; GFX11-NEXT: v_writelane_b32 v77, s77, 21
+; GFX11-NEXT: ; implicit-def: $sgpr76
+; GFX11-NEXT: v_writelane_b32 v77, s76, 22
+; GFX11-NEXT: v_writelane_b32 v77, s77, 23
+; GFX11-NEXT: ; implicit-def: $sgpr76
+; GFX11-NEXT: v_writelane_b32 v77, s76, 24
+; GFX11-NEXT: v_writelane_b32 v77, s77, 25
+; GFX11-NEXT: ; implicit-def: $sgpr76
+; GFX11-NEXT: v_writelane_b32 v77, s76, 26
+; GFX11-NEXT: v_writelane_b32 v77, s77, 27
; GFX11-NEXT: .LBB73_3: ; %Flow
-; GFX11-NEXT: s_and_b32 s94, s94, exec_lo
-; GFX11-NEXT: s_cselect_b32 s94, 1, 0
+; GFX11-NEXT: s_and_b32 s73, s73, exec_lo
+; GFX11-NEXT: s_cselect_b32 s73, 1, 0
; GFX11-NEXT: s_delay_alu instid0(SALU_CYCLE_1)
-; GFX11-NEXT: s_cmp_lg_u32 s94, 1
+; GFX11-NEXT: s_cmp_lg_u32 s73, 1
; GFX11-NEXT: s_cbranch_scc1 .LBB73_5
; GFX11-NEXT: ; %bb.4: ; %cmp.true
-; GFX11-NEXT: v_add_f64 v[9:10], s[6:7], 1.0
-; GFX11-NEXT: v_add_f64 v[11:12], s[88:89], 1.0
-; GFX11-NEXT: v_add_f64 v[13:14], s[12:13], 1.0
-; GFX11-NEXT: v_add_f64 v[23:24], s[20:21], 1.0
-; GFX11-NEXT: v_add_f64 v[36:37], s[2:3], 1.0
-; GFX11-NEXT: v_add_f64 v[15:16], s[28:29], 1.0
-; GFX11-NEXT: v_add_f64 v[27:28], s[18:19], 1.0
-; GFX11-NEXT: v_add_f64 v[17:18], s[26:27], 1.0
-; GFX11-NEXT: v_add_f64 v[31:32], s[16:17], 1.0
-; GFX11-NEXT: v_add_f64 v[5:6], s[10:11], 1.0
; GFX11-NEXT: v_add_f64 v[19:20], s[24:25], 1.0
+; GFX11-NEXT: v_add_f64 v[21:22], s[22:23], 1.0
+; GFX11-NEXT: v_add_f64 v[23:24], s[20:21], 1.0
+; GFX11-NEXT: v_add_f64 v[37:38], s[2:3], 1.0
+; GFX11-NEXT: v_add_f64 v[28:29], s[18:19], 1.0
+; GFX11-NEXT: v_add_f64 v[13:14], s[12:13], 1.0
+; GFX11-NEXT: v_add_f64 v[32:33], s[16:17], 1.0
; GFX11-NEXT: v_add_f64 v[1:2], s[40:41], 1.0
-; GFX11-NEXT: v_add_f64 v[3:4], s[14:15], 1.0
; GFX11-NEXT: v_add_f64 v[7:8], s[8:9], 1.0
-; GFX11-NEXT: v_add_f64 v[21:22], s[22:23], 1.0
-; GFX11-NEXT: v_add_f64 v[38:39], s[0:1], 1.0
-; GFX11-NEXT: v_lshrrev_b64 v[48:49], 24, v[9:10]
-; GFX11-NEXT: v_lshrrev_b64 v[49:50], 24, v[11:12]
-; GFX11-NEXT: v_lshrrev_b64 v[50:51], 24, v[13:14]
-; GFX11-NEXT: v_lshrrev_b64 v[64:65], 24, v[23:24]
-; GFX11-NEXT: v_lshrrev_b32_e32 v73, 16, v36
-; GFX11-NEXT: v_lshrrev_b64 v[51:52], 24, v[15:16]
-; GFX11-NEXT: v_lshrrev_b64 v[65:66], 24, v[27:28]
-; GFX11-NEXT: v_lshrrev_b64 v[52:53], 24, v[17:18]
-; GFX11-NEXT: v_lshrrev_b64 v[66:67], 24, v[31:32]
-; GFX11-NEXT: v_lshrrev_b64 v[33:34], 24, v[5:6]
-; GFX11-NEXT: v_lshrrev_b64 v[53:54], 24, v[19:20]
-; GFX11-NEXT: v_lshrrev_b64 v[67:68], 24, v[36:37]
+; GFX11-NEXT: v_add_f64 v[15:16], s[28:29], 1.0
+; GFX11-NEXT: v_add_f64 v[3:4], s[14:15], 1.0
+; GFX11-NEXT: v_add_f64 v[5:6], s[10:11], 1.0
+; GFX11-NEXT: v_add_f64 v[9:10], s[6:7], 1.0
+; GFX11-NEXT: v_add_f64 v[11:12], s[4:5], 1.0
+; GFX11-NEXT: v_add_f64 v[17:18], s[26:27], 1.0
+; GFX11-NEXT: v_add_f64 v[50:51], s[0:1], 1.0
+; GFX11-NEXT: v_lshrrev_b64 v[64:65], 24, v[19:20]
+; GFX11-NEXT: v_lshrrev_b64 v[65:66], 24, v[21:22]
+; GFX11-NEXT: v_lshrrev_b64 v[66:67], 24, v[23:24]
+; GFX11-NEXT: v_lshrrev_b32_e32 v73, 8, v37
+; GFX11-NEXT: v_lshrrev_b64 v[67:68], 24, v[28:29]
+; GFX11-NEXT: v_lshrrev_b64 v[52:53], 24, v[13:14]
+; GFX11-NEXT: v_lshrrev_b64 v[68:69], 24, v[32:33]
; GFX11-NEXT: v_lshrrev_b64 v[25:26], 24, v[1:2]
-; GFX11-NEXT: v_lshrrev_b64 v[29:30], 24, v[3:4]
; GFX11-NEXT: v_lshrrev_b64 v[34:35], 24, v[7:8]
-; GFX11-NEXT: v_lshrrev_b64 v[54:55], 24, v[21:22]
-; GFX11-NEXT: v_lshrrev_b64 v[68:69], 24, v[38:39]
-; GFX11-NEXT: v_lshrrev_b32_e32 v55, 24, v2
-; GFX11-NEXT: v_lshrrev_b32_e32 v70, 16, v2
-; GFX11-NEXT: v_lshrrev_b32_e32 v35, 8, v2
-; GFX11-NEXT: v_lshrrev_b32_e32 v30, 16, v1
-; GFX11-NEXT: v_lshrrev_b32_e32 v26, 8, v1
+; GFX11-NEXT: v_lshrrev_b64 v[53:54], 24, v[15:16]
+; GFX11-NEXT: v_lshrrev_b64 v[69:70], 24, v[37:38]
+; GFX11-NEXT: v_lshrrev_b64 v[26:27], 24, v[3:4]
+; GFX11-NEXT: v_lshrrev_b64 v[30:31], 24, v[5:6]
+; GFX11-NEXT: v_lshrrev_b64 v[35:36], 24, v[9:10]
+; GFX11-NEXT: v_lshrrev_b64 v[48:49], 24, v[11:12]
+; GFX11-NEXT: v_lshrrev_b64 v[54:55], 24, v[17:18]
+; GFX11-NEXT: v_lshrrev_b64 v[70:71], 24, v[50:51]
+; GFX11-NEXT: v_lshrrev_b32_e32 v39, 24, v2
+; GFX11-NEXT: v_lshrrev_b32_e32 v49, 16, v2
+; GFX11-NEXT: v_lshrrev_b32_e32 v36, 8, v2
+; GFX11-NEXT: v_lshrrev_b32_e32 v31, 16, v1
+; GFX11-NEXT: v_lshrrev_b32_e32 v27, 8, v1
; GFX11-NEXT: v_lshrrev_b32_e32 v82, 24, v4
; GFX11-NEXT: v_lshrrev_b32_e32 v83, 16, v4
; GFX11-NEXT: v_lshrrev_b32_e32 v81, 8, v4
; GFX11-NEXT: v_lshrrev_b32_e32 v80, 16, v3
-; GFX11-NEXT: v_lshrrev_b32_e32 v71, 8, v3
+; GFX11-NEXT: v_lshrrev_b32_e32 v55, 8, v3
; GFX11-NEXT: v_lshrrev_b32_e32 v97, 24, v6
; GFX11-NEXT: v_lshrrev_b32_e32 v98, 16, v6
; GFX11-NEXT: v_lshrrev_b32_e32 v86, 8, v6
; GFX11-NEXT: v_lshrrev_b32_e32 v85, 16, v5
; GFX11-NEXT: v_lshrrev_b32_e32 v84, 8, v5
-; GFX11-NEXT: v_lshrrev_b32_e32 v102, 24, v8
-; GFX11-NEXT: v_lshrrev_b32_e32 v103, 16, v8
+; GFX11-NEXT: v_lshrrev_b32_e32 v100, 24, v8
+; GFX11-NEXT: v_lshrrev_b32_e32 v101, 16, v8
; GFX11-NEXT: v_lshrrev_b32_e32 v99, 8, v8
; GFX11-NEXT: v_lshrrev_b32_e32 v96, 16, v7
; GFX11-NEXT: v_lshrrev_b32_e32 v87, 8, v7
; GFX11-NEXT: v_lshrrev_b32_e32 v114, 24, v10
; GFX11-NEXT: v_lshrrev_b32_e32 v116, 16, v10
; GFX11-NEXT: v_lshrrev_b32_e32 v115, 8, v10
-; GFX11-NEXT: v_lshrrev_b32_e32 v101, 16, v9
-; GFX11-NEXT: v_lshrrev_b32_e32 v100, 8, v9
-; GFX11-NEXT: v_lshrrev_b32_e32 v129, 24, v12
-; GFX11-NEXT: v_lshrrev_b32_e32 v130, 16, v12
+; GFX11-NEXT: v_lshrrev_b32_e32 v103, 16, v9
+; GFX11-NEXT: v_lshrrev_b32_e32 v102, 8, v9
+; GFX11-NEXT: v_lshrrev_b32_e32 v128, 24, v12
+; GFX11-NEXT: v_lshrrev_b32_e32 v129, 16, v12
; GFX11-NEXT: v_lshrrev_b32_e32 v119, 8, v12
; GFX11-NEXT: v_lshrrev_b32_e32 v113, 16, v11
; GFX11-NEXT: v_lshrrev_b32_e32 v112, 8, v11
; GFX11-NEXT: v_lshrrev_b32_e32 v132, 24, v14
-; GFX11-NEXT: v_lshrrev_b32_e32 v135, 16, v14
-; GFX11-NEXT: v_lshrrev_b32_e32 v134, 8, v14
+; GFX11-NEXT: v_lshrrev_b32_e32 v134, 16, v14
+; GFX11-NEXT: v_lshrrev_b32_e32 v133, 8, v14
; GFX11-NEXT: v_lshrrev_b32_e32 v118, 16, v13
; GFX11-NEXT: v_lshrrev_b32_e32 v117, 8, v13
; GFX11-NEXT: v_lshrrev_b32_e32 v148, 24, v16
; GFX11-NEXT: v_lshrrev_b32_e32 v149, 16, v16
-; GFX11-NEXT: v_lshrrev_b32_e32 v147, 8, v16
+; GFX11-NEXT: v_lshrrev_b32_e32 v146, 8, v16
; GFX11-NEXT: v_lshrrev_b32_e32 v131, 16, v15
-; GFX11-NEXT: v_lshrrev_b32_e32 v128, 8, v15
+; GFX11-NEXT: v_lshrrev_b32_e32 v130, 8, v15
; GFX11-NEXT: v_lshrrev_b32_e32 v160, 24, v18
; GFX11-NEXT: v_lshrrev_b32_e32 v162, 16, v18
; GFX11-NEXT: v_lshrrev_b32_e32 v161, 8, v18
; GFX11-NEXT: v_lshrrev_b32_e32 v144, 16, v17
-; GFX11-NEXT: v_lshrrev_b32_e32 v133, 8, v17
+; GFX11-NEXT: v_lshrrev_b32_e32 v135, 8, v17
; GFX11-NEXT: v_lshrrev_b32_e32 v166, 24, v20
; GFX11-NEXT: v_lshrrev_b32_e32 v167, 16, v20
; GFX11-NEXT: v_lshrrev_b32_e32 v165, 8, v20
-; GFX11-NEXT: v_lshrrev_b32_e32 v146, 16, v19
+; GFX11-NEXT: v_lshrrev_b32_e32 v147, 16, v19
; GFX11-NEXT: v_lshrrev_b32_e32 v145, 8, v19
-; GFX11-NEXT: v_lshrrev_b32_e32 v180, 24, v22
-; GFX11-NEXT: v_lshrrev_b32_e32 v182, 16, v22
-; GFX11-NEXT: v_lshrrev_b32_e32 v181, 8, v22
+; GFX11-NEXT: v_lshrrev_b32_e32 v178, 24, v22
+; GFX11-NEXT: v_lshrrev_b32_e32 v181, 16, v22
+; GFX11-NEXT: v_lshrrev_b32_e32 v179, 8, v22
; GFX11-NEXT: v_lshrrev_b32_e32 v151, 16, v21
; GFX11-NEXT: v_lshrrev_b32_e32 v150, 8, v21
; GFX11-NEXT: v_lshrrev_b32_e32 v43, 24, v24
; GFX11-NEXT: v_lshrrev_b32_e32 v44, 16, v24
-; GFX11-NEXT: v_lshrrev_b32_e32 v42, 8, v24
+; GFX11-NEXT: v_lshrrev_b32_e32 v183, 8, v24
; GFX11-NEXT: v_lshrrev_b32_e32 v164, 16, v23
; GFX11-NEXT: v_lshrrev_b32_e32 v163, 8, v23
-; GFX11-NEXT: v_lshrrev_b32_e32 v46, 24, v28
-; GFX11-NEXT: v_lshrrev_b32_e32 v47, 16, v28
-; GFX11-NEXT: v_lshrrev_b32_e32 v45, 8, v28
-; GFX11-NEXT: v_lshrrev_b32_e32 v177, 16, v27
-; GFX11-NEXT: v_lshrrev_b32_e32 v176, 8, v27
-; GFX11-NEXT: v_lshrrev_b32_e32 v57, 24, v32
-; GFX11-NEXT: v_lshrrev_b32_e32 v58, 16, v32
-; GFX11-NEXT: v_lshrrev_b32_e32 v56, 8, v32
-; GFX11-NEXT: v_lshrrev_b32_e32 v179, 16, v31
-; GFX11-NEXT: v_lshrrev_b32_e32 v178, 8, v31
-; GFX11-NEXT: v_lshrrev_b32_e32 v60, 24, v37
-; GFX11-NEXT: v_lshrrev_b32_e32 v61, 16, v37
-; GFX11-NEXT: v_lshrrev_b32_e32 v59, 8, v37
-; GFX11-NEXT: v_lshrrev_b32_e32 v183, 8, v36
-; GFX11-NEXT: v_lshrrev_b32_e32 v62, 24, v39
-; GFX11-NEXT: v_lshrrev_b32_e32 v63, 16, v39
-; GFX11-NEXT: v_lshrrev_b32_e32 v72, 8, v39
-; GFX11-NEXT: v_lshrrev_b32_e32 v40, 16, v38
-; GFX11-NEXT: v_lshrrev_b32_e32 v41, 8, v38
-; GFX11-NEXT: v_mov_b32_e32 v69, v73
+; GFX11-NEXT: v_lshrrev_b32_e32 v46, 24, v29
+; GFX11-NEXT: v_lshrrev_b32_e32 v47, 16, v29
+; GFX11-NEXT: v_lshrrev_b32_e32 v45, 8, v29
+; GFX11-NEXT: v_lshrrev_b32_e32 v177, 16, v28
+; GFX11-NEXT: v_lshrrev_b32_e32 v176, 8, v28
+; GFX11-NEXT: v_lshrrev_b32_e32 v57, 24, v33
+; GFX11-NEXT: v_lshrrev_b32_e32 v58, 16, v33
+; GFX11-NEXT: v_lshrrev_b32_e32 v56, 8, v33
+; GFX11-NEXT: v_lshrrev_b32_e32 v182, 16, v32
+; GFX11-NEXT: v_lshrrev_b32_e32 v180, 8, v32
+; GFX11-NEXT: v_lshrrev_b32_e32 v60, 24, v38
+; GFX11-NEXT: v_lshrrev_b32_e32 v61, 16, v38
+; GFX11-NEXT: v_lshrrev_b32_e32 v59, 8, v38
+; GFX11-NEXT: v_lshrrev_b32_e32 v40, 16, v37
+; GFX11-NEXT: v_lshrrev_b32_e32 v62, 24, v51
+; GFX11-NEXT: v_lshrrev_b32_e32 v63, 16, v51
+; GFX11-NEXT: v_lshrrev_b32_e32 v72, 8, v51
+; GFX11-NEXT: v_lshrrev_b32_e32 v42, 16, v50
+; GFX11-NEXT: v_lshrrev_b32_e32 v41, 8, v50
+; GFX11-NEXT: v_mov_b32_e32 v71, v73
; GFX11-NEXT: s_branch .LBB73_6
; GFX11-NEXT: .LBB73_5:
-; GFX11-NEXT: v_dual_mov_b32 v38, s0 :: v_dual_mov_b32 v39, s1
-; GFX11-NEXT: v_readlane_b32 s0, v76, 0
-; GFX11-NEXT: v_dual_mov_b32 v40, s54 :: v_dual_mov_b32 v1, s40
-; GFX11-NEXT: v_dual_mov_b32 v2, s41 :: v_dual_mov_b32 v3, s14
+; GFX11-NEXT: v_dual_mov_b32 v50, s0 :: v_dual_mov_b32 v51, s1
+; GFX11-NEXT: v_readlane_b32 s0, v77, 28
+; GFX11-NEXT: v_dual_mov_b32 v1, s40 :: v_dual_mov_b32 v2, s41
+; GFX11-NEXT: v_dual_mov_b32 v3, s14 :: v_dual_mov_b32 v4, s15
; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_4) | instid1(VALU_DEP_4)
-; GFX11-NEXT: v_dual_mov_b32 v4, s15 :: v_dual_mov_b32 v41, s0
-; GFX11-NEXT: v_readlane_b32 s0, v76, 1
-; GFX11-NEXT: v_mov_b32_e32 v45, vcc_lo
+; GFX11-NEXT: v_mov_b32_e32 v43, s0
+; GFX11-NEXT: v_readlane_b32 s0, v77, 29
+; GFX11-NEXT: v_mov_b32_e32 v165, s48
; GFX11-NEXT: v_dual_mov_b32 v5, s10 :: v_dual_mov_b32 v6, s11
; GFX11-NEXT: v_dual_mov_b32 v7, s8 :: v_dual_mov_b32 v8, s9
-; GFX11-NEXT: v_mov_b32_e32 v58, s0
-; GFX11-NEXT: v_readlane_b32 s0, v76, 2
-; GFX11-NEXT: v_mov_b32_e32 v57, s90
+; GFX11-NEXT: v_mov_b32_e32 v44, s0
+; GFX11-NEXT: v_readlane_b32 s0, v77, 30
; GFX11-NEXT: v_dual_mov_b32 v9, s6 :: v_dual_mov_b32 v10, s7
-; GFX11-NEXT: v_dual_mov_b32 v11, s88 :: v_dual_mov_b32 v12, s89
-; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_3) | instid1(VALU_DEP_3)
-; GFX11-NEXT: v_mov_b32_e32 v56, s0
-; GFX11-NEXT: v_readlane_b32 s0, v76, 3
+; GFX11-NEXT: v_dual_mov_b32 v11, s4 :: v_dual_mov_b32 v12, s5
+; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_4) | instid1(VALU_DEP_4)
+; GFX11-NEXT: v_mov_b32_e32 v183, s0
+; GFX11-NEXT: v_readlane_b32 s0, v77, 31
+; GFX11-NEXT: v_mov_b32_e32 v181, s38
; GFX11-NEXT: v_dual_mov_b32 v13, s12 :: v_dual_mov_b32 v14, s13
; GFX11-NEXT: v_dual_mov_b32 v15, s28 :: v_dual_mov_b32 v16, s29
-; GFX11-NEXT: v_mov_b32_e32 v60, s0
-; GFX11-NEXT: v_readlane_b32 s0, v76, 4
+; GFX11-NEXT: v_mov_b32_e32 v46, s0
+; GFX11-NEXT: v_readlane_b32 s0, v76, 0
; GFX11-NEXT: v_dual_mov_b32 v17, s26 :: v_dual_mov_b32 v18, s27
; GFX11-NEXT: v_dual_mov_b32 v19, s24 :: v_dual_mov_b32 v20, s25
; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_3) | instid1(VALU_DEP_3)
-; GFX11-NEXT: v_mov_b32_e32 v61, s0
-; GFX11-NEXT: v_readlane_b32 s0, v76, 5
+; GFX11-NEXT: v_mov_b32_e32 v47, s0
+; GFX11-NEXT: v_readlane_b32 s0, v76, 1
; GFX11-NEXT: v_dual_mov_b32 v21, s22 :: v_dual_mov_b32 v22, s23
; GFX11-NEXT: v_dual_mov_b32 v23, s20 :: v_dual_mov_b32 v24, s21
-; GFX11-NEXT: v_mov_b32_e32 v59, s0
+; GFX11-NEXT: v_mov_b32_e32 v45, s0
+; GFX11-NEXT: v_readlane_b32 s0, v76, 2
+; GFX11-NEXT: v_dual_mov_b32 v28, s18 :: v_dual_mov_b32 v29, s19
+; GFX11-NEXT: v_dual_mov_b32 v32, s16 :: v_dual_mov_b32 v33, s17
+; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_4) | instid1(VALU_DEP_4)
+; GFX11-NEXT: v_mov_b32_e32 v57, s0
+; GFX11-NEXT: v_readlane_b32 s0, v76, 3
+; GFX11-NEXT: v_mov_b32_e32 v179, s37
+; GFX11-NEXT: v_dual_mov_b32 v37, s2 :: v_dual_mov_b32 v38, s3
+; GFX11-NEXT: v_dual_mov_b32 v42, s98 :: v_dual_mov_b32 v41, s45
+; GFX11-NEXT: v_mov_b32_e32 v58, s0
+; GFX11-NEXT: v_readlane_b32 s0, v76, 4
+; GFX11-NEXT: v_dual_mov_b32 v40, s104 :: v_dual_mov_b32 v71, s102
+; GFX11-NEXT: v_dual_mov_b32 v182, s89 :: v_dual_mov_b32 v177, s46
+; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_3) | instid1(VALU_DEP_3)
+; GFX11-NEXT: v_mov_b32_e32 v56, s0
+; GFX11-NEXT: v_readlane_b32 s0, v76, 5
+; GFX11-NEXT: v_dual_mov_b32 v180, s75 :: v_dual_mov_b32 v163, s71
+; GFX11-NEXT: v_dual_mov_b32 v176, s42 :: v_dual_mov_b32 v151, s83
+; GFX11-NEXT: v_mov_b32_e32 v60, s0
; GFX11-NEXT: v_readlane_b32 s0, v76, 6
-; GFX11-NEXT: v_dual_mov_b32 v27, s18 :: v_dual_mov_b32 v28, s19
-; GFX11-NEXT: v_dual_mov_b32 v31, s16 :: v_dual_mov_b32 v32, s17
+; GFX11-NEXT: v_dual_mov_b32 v164, s80 :: v_dual_mov_b32 v147, s87
+; GFX11-NEXT: v_dual_mov_b32 v150, s81 :: v_dual_mov_b32 v145, s86
; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_3) | instid1(VALU_DEP_3)
-; GFX11-NEXT: v_mov_b32_e32 v62, s0
+; GFX11-NEXT: v_mov_b32_e32 v61, s0
; GFX11-NEXT: v_readlane_b32 s0, v76, 7
-; GFX11-NEXT: v_dual_mov_b32 v36, s2 :: v_dual_mov_b32 v37, s3
-; GFX11-NEXT: v_dual_mov_b32 v69, s68 :: v_dual_mov_b32 v178, s80
-; GFX11-NEXT: v_mov_b32_e32 v63, s0
+; GFX11-NEXT: v_dual_mov_b32 v144, s100 :: v_dual_mov_b32 v135, s97
+; GFX11-NEXT: v_dual_mov_b32 v131, s43 :: v_dual_mov_b32 v130, s103
+; GFX11-NEXT: v_mov_b32_e32 v59, s0
; GFX11-NEXT: v_readlane_b32 s0, v76, 8
-; GFX11-NEXT: v_dual_mov_b32 v183, s66 :: v_dual_mov_b32 v176, s85
-; GFX11-NEXT: v_dual_mov_b32 v179, s81 :: v_dual_mov_b32 v164, s100
+; GFX11-NEXT: v_dual_mov_b32 v118, s93 :: v_dual_mov_b32 v117, s79
+; GFX11-NEXT: v_dual_mov_b32 v113, s47 :: v_dual_mov_b32 v112, s44
+; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_3) | instid1(VALU_DEP_3)
+; GFX11-NEXT: v_mov_b32_e32 v62, s0
+; GFX11-NEXT: v_readlane_b32 s0, v76, 9
+; GFX11-NEXT: v_dual_mov_b32 v103, s60 :: v_dual_mov_b32 v102, s57
+; GFX11-NEXT: v_dual_mov_b32 v96, s62 :: v_dual_mov_b32 v87, s61
+; GFX11-NEXT: v_mov_b32_e32 v63, s0
+; GFX11-NEXT: v_readlane_b32 s0, v76, 10
+; GFX11-NEXT: v_dual_mov_b32 v85, s34 :: v_dual_mov_b32 v84, s30
+; GFX11-NEXT: v_dual_mov_b32 v80, s35 :: v_dual_mov_b32 v55, s72
; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_4) | instid1(VALU_DEP_4)
; GFX11-NEXT: v_mov_b32_e32 v72, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 0
; GFX11-NEXT: v_readlane_b32 s1, v77, 1
-; GFX11-NEXT: v_dual_mov_b32 v177, s87 :: v_dual_mov_b32 v150, s104
-; GFX11-NEXT: v_dual_mov_b32 v163, s99 :: v_dual_mov_b32 v146, s58
-; GFX11-NEXT: v_mov_b32_e32 v68, s0
+; GFX11-NEXT: v_dual_mov_b32 v31, s74 :: v_dual_mov_b32 v36, s63
+; GFX11-NEXT: v_dual_mov_b32 v27, s36 :: v_dual_mov_b32 v82, s59
+; GFX11-NEXT: v_mov_b32_e32 v70, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 2
; GFX11-NEXT: v_readlane_b32 s1, v77, 3
-; GFX11-NEXT: v_dual_mov_b32 v151, s44 :: v_dual_mov_b32 v144, s62
-; GFX11-NEXT: v_dual_mov_b32 v145, s56 :: v_dual_mov_b32 v128, s72
+; GFX11-NEXT: v_dual_mov_b32 v39, s31 :: v_dual_mov_b32 v98, s91
+; GFX11-NEXT: v_dual_mov_b32 v49, vcc_hi :: v_dual_mov_b32 v86, s94
; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_4) | instid1(VALU_DEP_4)
-; GFX11-NEXT: v_mov_b32_e32 v67, s0
+; GFX11-NEXT: v_mov_b32_e32 v69, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 4
; GFX11-NEXT: v_readlane_b32 s1, v77, 5
-; GFX11-NEXT: v_dual_mov_b32 v133, s60 :: v_dual_mov_b32 v118, s46
-; GFX11-NEXT: v_dual_mov_b32 v131, s63 :: v_dual_mov_b32 v112, s103
-; GFX11-NEXT: v_mov_b32_e32 v66, s0
+; GFX11-NEXT: v_dual_mov_b32 v83, s58 :: v_dual_mov_b32 v100, s101
+; GFX11-NEXT: v_dual_mov_b32 v81, s56 :: v_dual_mov_b32 v114, s85
+; GFX11-NEXT: v_mov_b32_e32 v68, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 6
; GFX11-NEXT: v_readlane_b32 s1, v77, 7
-; GFX11-NEXT: v_dual_mov_b32 v117, s47 :: v_dual_mov_b32 v100, s96
-; GFX11-NEXT: v_dual_mov_b32 v113, s102 :: v_dual_mov_b32 v96, s70
+; GFX11-NEXT: v_dual_mov_b32 v97, s95 :: v_dual_mov_b32 v116, s84
+; GFX11-NEXT: v_dual_mov_b32 v101, s99 :: v_dual_mov_b32 v128, s70
; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_4) | instid1(VALU_DEP_4)
-; GFX11-NEXT: v_mov_b32_e32 v65, s0
+; GFX11-NEXT: v_mov_b32_e32 v67, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 8
; GFX11-NEXT: v_readlane_b32 s1, v77, 9
-; GFX11-NEXT: v_dual_mov_b32 v101, s86 :: v_dual_mov_b32 v84, s64
-; GFX11-NEXT: v_dual_mov_b32 v87, s71 :: v_dual_mov_b32 v80, s48
-; GFX11-NEXT: v_mov_b32_e32 v64, s0
+; GFX11-NEXT: v_dual_mov_b32 v99, s96 :: v_dual_mov_b32 v132, s67
+; GFX11-NEXT: v_dual_mov_b32 v115, s82 :: v_dual_mov_b32 v134, s66
+; GFX11-NEXT: v_mov_b32_e32 v66, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 10
; GFX11-NEXT: v_readlane_b32 s1, v77, 11
-; GFX11-NEXT: v_dual_mov_b32 v85, s55 :: v_dual_mov_b32 v30, s35
-; GFX11-NEXT: v_dual_mov_b32 v71, s49 :: v_dual_mov_b32 v26, s76
+; GFX11-NEXT: v_dual_mov_b32 v129, s69 :: v_dual_mov_b32 v148, s64
+; GFX11-NEXT: v_dual_mov_b32 v119, s68 :: v_dual_mov_b32 v146, s54
; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_4) | instid1(VALU_DEP_4)
-; GFX11-NEXT: v_mov_b32_e32 v54, s0
+; GFX11-NEXT: v_dual_mov_b32 v65, s0 :: v_dual_mov_b32 v48, s90
; GFX11-NEXT: v_readlane_b32 s0, v77, 12
; GFX11-NEXT: v_readlane_b32 s1, v77, 13
-; GFX11-NEXT: v_dual_mov_b32 v55, vcc_hi :: v_dual_mov_b32 v70, s31
-; GFX11-NEXT: v_dual_mov_b32 v35, s78 :: v_dual_mov_b32 v82, s37
-; GFX11-NEXT: v_mov_b32_e32 v53, s0
+; GFX11-NEXT: v_dual_mov_b32 v133, s65 :: v_dual_mov_b32 v160, s53
+; GFX11-NEXT: v_dual_mov_b32 v149, s55 :: v_dual_mov_b32 v162, s52
+; GFX11-NEXT: v_mov_b32_e32 v64, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 14
; GFX11-NEXT: v_readlane_b32 s1, v77, 15
-; GFX11-NEXT: v_dual_mov_b32 v83, s74 :: v_dual_mov_b32 v98, s51
-; GFX11-NEXT: v_dual_mov_b32 v81, s39 :: v_dual_mov_b32 v86, s52
-; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_4) | instid1(VALU_DEP_4)
-; GFX11-NEXT: v_mov_b32_e32 v52, s0
+; GFX11-NEXT: v_dual_mov_b32 v161, s51 :: v_dual_mov_b32 v166, s50
+; GFX11-NEXT: v_dual_mov_b32 v167, s49 :: v_dual_mov_b32 v178, s39
+; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_2) | instid1(VALU_DEP_2)
+; GFX11-NEXT: v_mov_b32_e32 v54, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 16
; GFX11-NEXT: v_readlane_b32 s1, v77, 17
-; GFX11-NEXT: v_dual_mov_b32 v97, s50 :: v_dual_mov_b32 v102, s53
-; GFX11-NEXT: v_dual_mov_b32 v103, s67 :: v_dual_mov_b32 v114, s82
-; GFX11-NEXT: v_mov_b32_e32 v51, s0
+; GFX11-NEXT: v_mov_b32_e32 v53, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 18
; GFX11-NEXT: v_readlane_b32 s1, v77, 19
-; GFX11-NEXT: v_dual_mov_b32 v99, s69 :: v_dual_mov_b32 v116, s83
-; GFX11-NEXT: v_dual_mov_b32 v115, s84 :: v_dual_mov_b32 v130, s98
-; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_4) | instid1(VALU_DEP_4)
-; GFX11-NEXT: v_mov_b32_e32 v50, s0
+; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_2) | instskip(SKIP_2) | instid1(VALU_DEP_2)
+; GFX11-NEXT: v_mov_b32_e32 v52, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 20
; GFX11-NEXT: v_readlane_b32 s1, v77, 21
-; GFX11-NEXT: v_dual_mov_b32 v129, s97 :: v_dual_mov_b32 v132, s65
-; GFX11-NEXT: v_dual_mov_b32 v119, s101 :: v_dual_mov_b32 v134, s45
-; GFX11-NEXT: v_mov_b32_e32 v49, s0
+; GFX11-NEXT: v_mov_b32_e32 v34, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 22
; GFX11-NEXT: v_readlane_b32 s1, v77, 23
-; GFX11-NEXT: v_dual_mov_b32 v135, s43 :: v_dual_mov_b32 v148, s57
-; GFX11-NEXT: v_dual_mov_b32 v149, s59 :: v_dual_mov_b32 v160, s73
-; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_4) | instid1(VALU_DEP_4)
-; GFX11-NEXT: v_mov_b32_e32 v48, s0
+; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_2) | instskip(SKIP_2) | instid1(VALU_DEP_2)
+; GFX11-NEXT: v_dual_mov_b32 v35, s88 :: v_dual_mov_b32 v30, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 24
; GFX11-NEXT: v_readlane_b32 s1, v77, 25
-; GFX11-NEXT: v_dual_mov_b32 v147, s61 :: v_dual_mov_b32 v162, s38
-; GFX11-NEXT: v_dual_mov_b32 v161, s75 :: v_dual_mov_b32 v166, s36
-; GFX11-NEXT: v_mov_b32_e32 v34, s0
+; GFX11-NEXT: v_mov_b32_e32 v26, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 26
; GFX11-NEXT: v_readlane_b32 s1, v77, 27
-; GFX11-NEXT: v_dual_mov_b32 v167, s77 :: v_dual_mov_b32 v180, s79
-; GFX11-NEXT: v_dual_mov_b32 v165, s34 :: v_dual_mov_b32 v182, s30
-; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_4) | instid1(VALU_DEP_4)
-; GFX11-NEXT: v_mov_b32_e32 v33, s0
-; GFX11-NEXT: v_readlane_b32 s0, v77, 28
-; GFX11-NEXT: v_readlane_b32 s1, v77, 29
-; GFX11-NEXT: v_dual_mov_b32 v181, s42 :: v_dual_mov_b32 v44, s93
-; GFX11-NEXT: v_dual_mov_b32 v43, s95 :: v_dual_mov_b32 v42, s91
-; GFX11-NEXT: v_mov_b32_e32 v29, s0
-; GFX11-NEXT: v_readlane_b32 s0, v77, 30
-; GFX11-NEXT: v_dual_mov_b32 v46, s5 :: v_dual_mov_b32 v47, s92
-; GFX11-NEXT: v_readlane_b32 s1, v77, 31
-; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3)
+; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_2)
; GFX11-NEXT: v_mov_b32_e32 v25, s0
; GFX11-NEXT: .LBB73_6: ; %end
-; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_2)
-; GFX11-NEXT: v_perm_b32 v68, v40, v68, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v67, v69, v67, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v38, v38, v41, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v40, v63, v62, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v69, v61, v60, 0xc0c0004
-; GFX11-NEXT: v_lshlrev_b32_e32 v68, 16, v68
-; GFX11-NEXT: v_perm_b32 v183, v36, v183, 0xc0c0004
-; GFX11-NEXT: v_lshlrev_b32_e32 v67, 16, v67
-; GFX11-NEXT: v_perm_b32 v39, v39, v72, 0xc0c0004
-; GFX11-NEXT: v_lshlrev_b32_e32 v40, 16, v40
-; GFX11-NEXT: v_perm_b32 v41, v37, v59, 0xc0c0004
+; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
+; GFX11-NEXT: v_perm_b32 v70, v42, v70, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v50, v50, v41, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v41, v63, v62, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v69, v40, v69, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v40, v61, v60, 0xc0c0004
+; GFX11-NEXT: v_lshlrev_b32_e32 v70, 16, v70
+; GFX11-NEXT: v_perm_b32 v51, v51, v72, 0xc0c0004
+; GFX11-NEXT: v_lshlrev_b32_e32 v41, 16, v41
+; GFX11-NEXT: v_perm_b32 v37, v37, v71, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v38, v38, v59, 0xc0c0004
+; GFX11-NEXT: v_lshlrev_b32_e32 v71, 16, v40
+; GFX11-NEXT: v_or_b32_e32 v59, v50, v70
+; GFX11-NEXT: v_perm_b32 v50, v182, v68, 0xc0c0004
+; GFX11-NEXT: v_or_b32_e32 v60, v51, v41
+; GFX11-NEXT: v_perm_b32 v51, v47, v46, 0xc0c0004
+; GFX11-NEXT: v_or_b32_e32 v62, v38, v71
; GFX11-NEXT: v_lshlrev_b32_e32 v69, 16, v69
-; GFX11-NEXT: v_or_b32_e32 v36, v38, v68
-; GFX11-NEXT: v_perm_b32 v66, v179, v66, 0xc0c0004
-; GFX11-NEXT: v_or_b32_e32 v38, v183, v67
-; GFX11-NEXT: v_perm_b32 v67, v58, v57, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v65, v177, v65, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v68, v47, v46, 0xc0c0004
-; GFX11-NEXT: v_or_b32_e32 v37, v39, v40
-; GFX11-NEXT: v_or_b32_e32 v39, v41, v69
-; GFX11-NEXT: v_perm_b32 v31, v31, v178, 0xc0c0004
-; GFX11-NEXT: v_lshlrev_b32_e32 v66, 16, v66
-; GFX11-NEXT: v_perm_b32 v32, v32, v56, 0xc0c0004
-; GFX11-NEXT: v_lshlrev_b32_e32 v67, 16, v67
-; GFX11-NEXT: v_perm_b32 v27, v27, v176, 0xc0c0004
-; GFX11-NEXT: v_lshlrev_b32_e32 v69, 16, v65
-; GFX11-NEXT: v_perm_b32 v28, v28, v45, 0xc0c0004
-; GFX11-NEXT: v_lshlrev_b32_e32 v68, 16, v68
-; GFX11-NEXT: v_or_b32_e32 v65, v31, v66
-; GFX11-NEXT: v_or_b32_e32 v66, v32, v67
-; GFX11-NEXT: v_or_b32_e32 v67, v27, v69
-; GFX11-NEXT: v_perm_b32 v27, v164, v64, 0xc0c0004
-; GFX11-NEXT: v_or_b32_e32 v68, v28, v68
-; GFX11-NEXT: v_perm_b32 v28, v44, v43, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v31, v151, v54, 0xc0c0004
+; GFX11-NEXT: v_lshlrev_b32_e32 v38, 16, v50
+; GFX11-NEXT: v_perm_b32 v50, v177, v67, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v32, v32, v180, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v28, v28, v176, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v29, v29, v45, 0xc0c0004
+; GFX11-NEXT: v_lshlrev_b32_e32 v51, 16, v51
+; GFX11-NEXT: v_lshlrev_b32_e32 v50, 16, v50
+; GFX11-NEXT: v_or_b32_e32 v61, v37, v69
+; GFX11-NEXT: v_perm_b32 v37, v58, v57, 0xc0c0004
+; GFX11-NEXT: v_or_b32_e32 v67, v32, v38
+; GFX11-NEXT: v_or_b32_e32 v70, v29, v51
+; GFX11-NEXT: v_or_b32_e32 v69, v28, v50
+; GFX11-NEXT: v_perm_b32 v28, v164, v66, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v29, v44, v43, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v32, v151, v65, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v33, v33, v56, 0xc0c0004
+; GFX11-NEXT: v_lshlrev_b32_e32 v37, 16, v37
; GFX11-NEXT: v_perm_b32 v23, v23, v163, 0xc0c0004
-; GFX11-NEXT: v_lshlrev_b32_e32 v27, 16, v27
-; GFX11-NEXT: v_perm_b32 v24, v24, v42, 0xc0c0004
; GFX11-NEXT: v_lshlrev_b32_e32 v28, 16, v28
+; GFX11-NEXT: v_perm_b32 v24, v24, v183, 0xc0c0004
+; GFX11-NEXT: v_lshlrev_b32_e32 v29, 16, v29
; GFX11-NEXT: v_perm_b32 v21, v21, v150, 0xc0c0004
-; GFX11-NEXT: v_lshlrev_b32_e32 v31, 16, v31
+; GFX11-NEXT: v_lshlrev_b32_e32 v32, 16, v32
+; GFX11-NEXT: v_or_b32_e32 v68, v33, v37
; GFX11-NEXT: s_clause 0x1
-; GFX11-NEXT: scratch_store_b128 v0, v[36:39], off
-; GFX11-NEXT: scratch_store_b128 v0, v[65:68], off offset:16
-; GFX11-NEXT: v_or_b32_e32 v36, v23, v27
-; GFX11-NEXT: v_perm_b32 v23, v182, v180, 0xc0c0004
-; GFX11-NEXT: v_or_b32_e32 v37, v24, v28
-; GFX11-NEXT: v_or_b32_e32 v38, v21, v31
-; GFX11-NEXT: v_perm_b32 v21, v22, v181, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v22, v146, v53, 0xc0c0004
+; GFX11-NEXT: scratch_store_b128 v0, v[59:62], off
+; GFX11-NEXT: scratch_store_b128 v0, v[67:70], off offset:16
+; GFX11-NEXT: v_or_b32_e32 v65, v23, v28
+; GFX11-NEXT: v_perm_b32 v23, v181, v178, 0xc0c0004
+; GFX11-NEXT: v_or_b32_e32 v66, v24, v29
+; GFX11-NEXT: v_or_b32_e32 v67, v21, v32
+; GFX11-NEXT: v_perm_b32 v21, v22, v179, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v22, v147, v64, 0xc0c0004
; GFX11-NEXT: v_perm_b32 v24, v167, v166, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v27, v144, v52, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v28, v144, v54, 0xc0c0004
; GFX11-NEXT: v_lshlrev_b32_e32 v23, 16, v23
; GFX11-NEXT: v_perm_b32 v19, v19, v145, 0xc0c0004
; GFX11-NEXT: v_lshlrev_b32_e32 v22, 16, v22
; GFX11-NEXT: v_perm_b32 v20, v20, v165, 0xc0c0004
; GFX11-NEXT: v_lshlrev_b32_e32 v24, 16, v24
-; GFX11-NEXT: v_perm_b32 v17, v17, v133, 0xc0c0004
-; GFX11-NEXT: v_lshlrev_b32_e32 v27, 16, v27
-; GFX11-NEXT: v_or_b32_e32 v39, v21, v23
+; GFX11-NEXT: v_perm_b32 v17, v17, v135, 0xc0c0004
+; GFX11-NEXT: v_lshlrev_b32_e32 v28, 16, v28
+; GFX11-NEXT: v_or_b32_e32 v68, v21, v23
; GFX11-NEXT: v_or_b32_e32 v19, v19, v22
; GFX11-NEXT: v_perm_b32 v22, v162, v160, 0xc0c0004
; GFX11-NEXT: v_or_b32_e32 v20, v20, v24
-; GFX11-NEXT: v_or_b32_e32 v21, v17, v27
+; GFX11-NEXT: v_or_b32_e32 v21, v17, v28
; GFX11-NEXT: v_perm_b32 v17, v18, v161, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v18, v131, v51, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v24, v118, v50, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v18, v131, v53, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v24, v118, v52, 0xc0c0004
; GFX11-NEXT: v_perm_b32 v23, v149, v148, 0xc0c0004
; GFX11-NEXT: v_lshlrev_b32_e32 v22, 16, v22
-; GFX11-NEXT: v_perm_b32 v15, v15, v128, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v15, v15, v130, 0xc0c0004
; GFX11-NEXT: v_lshlrev_b32_e32 v18, 16, v18
; GFX11-NEXT: v_perm_b32 v13, v13, v117, 0xc0c0004
; GFX11-NEXT: v_lshlrev_b32_e32 v24, 16, v24
-; GFX11-NEXT: v_perm_b32 v16, v16, v147, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v16, v16, v146, 0xc0c0004
; GFX11-NEXT: v_lshlrev_b32_e32 v23, 16, v23
; GFX11-NEXT: v_or_b32_e32 v22, v17, v22
; GFX11-NEXT: v_or_b32_e32 v15, v15, v18
-; GFX11-NEXT: v_perm_b32 v18, v135, v132, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v18, v134, v132, 0xc0c0004
; GFX11-NEXT: v_or_b32_e32 v17, v13, v24
-; GFX11-NEXT: v_perm_b32 v24, v101, v48, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v24, v103, v35, 0xc0c0004
; GFX11-NEXT: v_or_b32_e32 v16, v16, v23
-; GFX11-NEXT: v_perm_b32 v13, v14, v134, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v14, v113, v49, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v23, v130, v129, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v13, v14, v133, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v14, v113, v48, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v23, v129, v128, 0xc0c0004
; GFX11-NEXT: v_lshlrev_b32_e32 v18, 16, v18
-; GFX11-NEXT: v_perm_b32 v9, v9, v100, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v9, v9, v102, 0xc0c0004
; GFX11-NEXT: v_lshlrev_b32_e32 v24, 16, v24
; GFX11-NEXT: v_perm_b32 v11, v11, v112, 0xc0c0004
; GFX11-NEXT: v_lshlrev_b32_e32 v14, 16, v14
@@ -115452,8 +115513,8 @@ define inreg <128 x i8> @bitcast_v16f64_to_v128i8_scalar(<16 x double> inreg %a,
; GFX11-NEXT: v_or_b32_e32 v11, v11, v14
; GFX11-NEXT: v_perm_b32 v14, v116, v114, 0xc0c0004
; GFX11-NEXT: v_or_b32_e32 v12, v12, v23
-; GFX11-NEXT: v_perm_b32 v23, v103, v102, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v24, v85, v33, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v23, v101, v100, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v24, v85, v30, 0xc0c0004
; GFX11-NEXT: v_perm_b32 v7, v7, v87, 0xc0c0004
; GFX11-NEXT: v_lshlrev_b32_e32 v10, 16, v10
; GFX11-NEXT: v_lshlrev_b32_e32 v14, 16, v14
@@ -115466,19 +115527,19 @@ define inreg <128 x i8> @bitcast_v16f64_to_v128i8_scalar(<16 x double> inreg %a,
; GFX11-NEXT: v_or_b32_e32 v14, v9, v14
; GFX11-NEXT: v_or_b32_e32 v8, v8, v23
; GFX11-NEXT: v_or_b32_e32 v9, v5, v24
-; GFX11-NEXT: v_perm_b32 v5, v80, v29, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v5, v80, v26, 0xc0c0004
; GFX11-NEXT: v_perm_b32 v23, v83, v82, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v24, v30, v25, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v25, v70, v55, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v24, v31, v25, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v25, v49, v39, 0xc0c0004
; GFX11-NEXT: v_perm_b32 v6, v6, v86, 0xc0c0004
; GFX11-NEXT: v_lshlrev_b32_e32 v10, 16, v10
-; GFX11-NEXT: v_perm_b32 v3, v3, v71, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v3, v3, v55, 0xc0c0004
; GFX11-NEXT: v_lshlrev_b32_e32 v5, 16, v5
; GFX11-NEXT: v_perm_b32 v4, v4, v81, 0xc0c0004
; GFX11-NEXT: v_lshlrev_b32_e32 v23, 16, v23
-; GFX11-NEXT: v_perm_b32 v26, v1, v26, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v26, v1, v27, 0xc0c0004
; GFX11-NEXT: v_lshlrev_b32_e32 v24, 16, v24
-; GFX11-NEXT: v_perm_b32 v27, v2, v35, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v27, v2, v36, 0xc0c0004
; GFX11-NEXT: v_lshlrev_b32_e32 v25, 16, v25
; GFX11-NEXT: v_or_b32_e32 v10, v6, v10
; GFX11-NEXT: v_or_b32_e32 v1, v3, v5
@@ -115486,7 +115547,7 @@ define inreg <128 x i8> @bitcast_v16f64_to_v128i8_scalar(<16 x double> inreg %a,
; GFX11-NEXT: v_or_b32_e32 v3, v26, v24
; GFX11-NEXT: v_or_b32_e32 v4, v27, v25
; GFX11-NEXT: s_clause 0x5
-; GFX11-NEXT: scratch_store_b128 v0, v[36:39], off offset:32
+; GFX11-NEXT: scratch_store_b128 v0, v[65:68], off offset:32
; GFX11-NEXT: scratch_store_b128 v0, v[19:22], off offset:48
; GFX11-NEXT: scratch_store_b128 v0, v[15:18], off offset:64
; GFX11-NEXT: scratch_store_b128 v0, v[11:14], off offset:80
@@ -119755,8 +119816,8 @@ define <16 x double> @bitcast_v128i8_to_v16f64(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: scratch_store_b32 off, v127, s32 offset:392
; GFX11-TRUE16-NEXT: s_clause 0x1f
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v32, off, s32 offset:384
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v34, off, s32 offset:380
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v33, off, s32 offset:376
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v33, off, s32 offset:380
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v34, off, s32 offset:376
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v36, off, s32 offset:372
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v35, off, s32 offset:368
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v38, off, s32 offset:364
@@ -119765,118 +119826,118 @@ define <16 x double> @bitcast_v128i8_to_v16f64(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v48, off, s32 offset:352
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v49, off, s32 offset:348
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v50, off, s32 offset:344
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v52, off, s32 offset:340
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v51, off, s32 offset:336
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v51, off, s32 offset:340
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v52, off, s32 offset:336
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v54, off, s32 offset:332
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v53, off, s32 offset:328
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v55, off, s32 offset:324
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v64, off, s32 offset:320
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v66, off, s32 offset:316
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v65, off, s32 offset:312
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v65, off, s32 offset:316
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v66, off, s32 offset:312
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v67, off, s32 offset:308
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v68, off, s32 offset:304
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v69, off, s32 offset:300
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v70, off, s32 offset:296
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v80, off, s32 offset:292
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v71, off, s32 offset:288
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v71, off, s32 offset:292
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v80, off, s32 offset:288
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v81, off, s32 offset:284
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v82, off, s32 offset:280
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v84, off, s32 offset:276
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v83, off, s32 offset:272
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v83, off, s32 offset:276
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v84, off, s32 offset:272
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v85, off, s32 offset:268
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v86, off, s32 offset:264
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v87, off, s32 offset:260
; GFX11-TRUE16-NEXT: s_clause 0x1f
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v96, off, s32 offset:256
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v98, off, s32 offset:252
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v97, off, s32 offset:248
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v97, off, s32 offset:252
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v98, off, s32 offset:248
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v99, off, s32 offset:244
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v100, off, s32 offset:240
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v102, off, s32 offset:236
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v101, off, s32 offset:232
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v101, off, s32 offset:236
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v102, off, s32 offset:232
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v103, off, s32 offset:228
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v112, off, s32 offset:224
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v113, off, s32 offset:220
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v114, off, s32 offset:216
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v116, off, s32 offset:212
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v115, off, s32 offset:208
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v115, off, s32 offset:212
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v116, off, s32 offset:208
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v117, off, s32 offset:204
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v118, off, s32 offset:200
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v128, off, s32 offset:196
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v119, off, s32 offset:192
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v119, off, s32 offset:196
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v128, off, s32 offset:192
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v129, off, s32 offset:188
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v130, off, s32 offset:184
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v131, off, s32 offset:180
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v132, off, s32 offset:176
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v134, off, s32 offset:172
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v133, off, s32 offset:168
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v133, off, s32 offset:172
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v134, off, s32 offset:168
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v135, off, s32 offset:164
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v144, off, s32 offset:160
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v146, off, s32 offset:156
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v145, off, s32 offset:152
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v145, off, s32 offset:156
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v146, off, s32 offset:152
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v147, off, s32 offset:148
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v148, off, s32 offset:144
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v149, off, s32 offset:140
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v150, off, s32 offset:136
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v160, off, s32 offset:132
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v151, off, s32 offset:132
; GFX11-TRUE16-NEXT: s_clause 0x1f
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v151, off, s32 offset:128
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v160, off, s32 offset:128
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v161, off, s32 offset:124
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v162, off, s32 offset:120
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v164, off, s32 offset:116
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v163, off, s32 offset:112
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v163, off, s32 offset:116
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v164, off, s32 offset:112
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v165, off, s32 offset:108
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v166, off, s32 offset:104
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v167, off, s32 offset:100
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v176, off, s32 offset:96
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v178, off, s32 offset:92
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v177, off, s32 offset:88
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v177, off, s32 offset:92
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v178, off, s32 offset:88
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v179, off, s32 offset:84
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v180, off, s32 offset:80
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v182, off, s32 offset:76
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v181, off, s32 offset:72
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v181, off, s32 offset:76
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v182, off, s32 offset:72
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v183, off, s32 offset:68
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v40, off, s32 offset:64
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v41, off, s32 offset:60
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v42, off, s32 offset:56
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v44, off, s32 offset:52
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v43, off, s32 offset:48
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v43, off, s32 offset:52
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v44, off, s32 offset:48
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v45, off, s32 offset:44
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v46, off, s32 offset:40
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v56, off, s32 offset:36
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v47, off, s32 offset:32
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v47, off, s32 offset:36
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v56, off, s32 offset:32
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v57, off, s32 offset:28
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v58, off, s32 offset:24
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v59, off, s32 offset:20
; GFX11-TRUE16-NEXT: scratch_load_b32 v31, off, s32 offset:388
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v60, off, s32 offset:16
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v62, off, s32 offset:12
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v61, off, s32 offset:8
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v61, off, s32 offset:12
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v62, off, s32 offset:8
; GFX11-TRUE16-NEXT: s_clause 0x1
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v63, off, s32 offset:4
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v72, off, s32
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v74.l, v30.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v73.l, v29.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v73.l, v30.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v74.l, v29.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v75.l, v28.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v76.l, v27.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v77.l, v26.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v78.l, v25.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v88.l, v24.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v79.l, v23.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v79.l, v24.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v88.l, v23.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v89.l, v22.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v90.l, v21.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v92.l, v20.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v91.l, v19.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v91.l, v20.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v92.l, v19.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v93.l, v18.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v94.l, v17.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v95.l, v16.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v104.l, v15.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v106.l, v14.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v105.l, v13.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v105.l, v14.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v106.l, v13.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v107.l, v12.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v108.l, v11.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v110.l, v10.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v109.l, v9.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v109.l, v10.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v110.l, v9.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v111.l, v8.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v120.l, v7.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v121.l, v6.l
@@ -119898,99 +119959,99 @@ define <16 x double> @bitcast_v128i8_to_v16f64(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_perm_b32 v1, v125, v124, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v2, v123, v122, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v3, v121, v120, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v4, v107, v105, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v5, v106, v104, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v4, v107, v106, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v5, v105, v104, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v0, v1, 16, v0
; GFX11-TRUE16-NEXT: v_perm_b32 v6, v95, v94, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v1, v3, 16, v2
-; GFX11-TRUE16-NEXT: v_perm_b32 v2, v111, v109, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v3, v110, v108, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v7, v93, v91, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v8, v92, v90, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v9, v89, v79, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v10, v88, v78, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v2, v111, v110, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v3, v109, v108, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v7, v93, v92, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v8, v91, v90, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v9, v89, v88, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v10, v79, v78, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v11, v77, v76, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v2, v3, 16, v2
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v3, v5, 16, v4
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v4, v7, 16, v6
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v5, v9, 16, v8
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v6, v11, 16, v10
-; GFX11-TRUE16-NEXT: v_perm_b32 v7, v75, v73, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v7, v75, v74, 0xc0c0004
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0)
-; GFX11-TRUE16-NEXT: v_perm_b32 v8, v74, v72, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v9, v63, v61, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v10, v62, v60, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v8, v73, v72, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v9, v63, v62, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v10, v61, v60, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v11, v59, v58, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v12, v57, v47, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v13, v56, v46, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v14, v45, v43, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v15, v44, v42, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v12, v57, v56, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v13, v47, v46, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v14, v45, v44, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v15, v43, v42, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v16, v41, v40, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v7, v8, 16, v7
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v8, v10, 16, v9
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v9, v12, 16, v11
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v10, v14, 16, v13
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v11, v16, 16, v15
-; GFX11-TRUE16-NEXT: v_perm_b32 v12, v183, v181, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v13, v182, v180, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v14, v179, v177, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v15, v178, v176, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v12, v183, v182, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v13, v181, v180, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v14, v179, v178, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v15, v177, v176, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v16, v167, v166, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v17, v165, v163, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v18, v164, v162, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v19, v161, v151, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v20, v160, v150, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v17, v165, v164, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v18, v163, v162, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v19, v161, v160, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v20, v151, v150, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v21, v149, v148, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v12, v13, 16, v12
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v13, v15, 16, v14
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v14, v17, 16, v16
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v15, v19, 16, v18
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v16, v21, 16, v20
-; GFX11-TRUE16-NEXT: v_perm_b32 v17, v147, v145, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v18, v146, v144, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v19, v135, v133, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v20, v134, v132, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v17, v147, v146, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v18, v145, v144, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v19, v135, v134, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v20, v133, v132, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v21, v131, v130, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v22, v129, v119, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v23, v128, v118, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v24, v117, v115, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v25, v116, v114, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v22, v129, v128, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v23, v119, v118, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v24, v117, v116, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v25, v115, v114, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v26, v113, v112, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v17, v18, 16, v17
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v18, v20, 16, v19
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v19, v22, 16, v21
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v20, v24, 16, v23
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v21, v26, 16, v25
-; GFX11-TRUE16-NEXT: v_perm_b32 v22, v103, v101, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v23, v102, v100, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v24, v99, v97, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v25, v98, v96, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v22, v103, v102, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v23, v101, v100, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v24, v99, v98, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v25, v97, v96, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v26, v87, v86, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v27, v85, v83, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v28, v84, v82, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v29, v81, v71, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v30, v80, v70, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v27, v85, v84, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v28, v83, v82, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v29, v81, v80, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v30, v71, v70, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v31, v69, v68, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v22, v23, 16, v22
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v23, v25, 16, v24
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v24, v27, 16, v26
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v25, v29, 16, v28
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v26, v31, 16, v30
-; GFX11-TRUE16-NEXT: v_perm_b32 v27, v67, v65, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v28, v66, v64, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v27, v67, v66, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v28, v65, v64, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v29, v55, v53, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v30, v54, v51, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v31, v52, v50, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v30, v54, v52, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v31, v51, v50, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v48, v49, v48, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v37, v39, v37, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v35, v38, v35, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v33, v36, v33, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v32, v34, v32, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v34, v36, v34, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v32, v33, v32, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v27, v28, 16, v27
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v28, v30, 16, v29
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v29, v48, 16, v31
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v30, v35, 16, v37
-; GFX11-TRUE16-NEXT: v_lshl_or_b32 v31, v32, 16, v33
+; GFX11-TRUE16-NEXT: v_lshl_or_b32 v31, v32, 16, v34
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr127_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr126_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr125_lo16
@@ -120000,114 +120061,114 @@ define <16 x double> @bitcast_v128i8_to_v16f64(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr121_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr120_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr111_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr109_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr110_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr109_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr108_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr107_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr105_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr106_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr105_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr104_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr95_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr94_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr93_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr91_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr92_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr91_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr90_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr89_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr79_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr88_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr79_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr78_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr77_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr76_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr75_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr73_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr74_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr73_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr72_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr63_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr61_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr62_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr61_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr60_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr59_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr58_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr57_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr47_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr56_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr47_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr46_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr45_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr43_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr44_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr43_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr42_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr41_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr40_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr183_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr181_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr182_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr181_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr180_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr179_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr177_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr178_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr177_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr176_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr167_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr166_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr165_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr163_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr164_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr163_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr162_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr161_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr151_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr160_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr151_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr150_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr149_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr148_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr147_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr145_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr146_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr145_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr144_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr135_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr133_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr134_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr133_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr132_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr131_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr130_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr129_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr119_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr128_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr119_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr118_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr117_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr115_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr116_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr115_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr114_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr113_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr112_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr103_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr101_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr102_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr101_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr100_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr99_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr97_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr98_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr97_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr96_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr87_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr86_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr85_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr83_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr84_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr83_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr82_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr81_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr71_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr80_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr71_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr70_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr69_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr68_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr67_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr65_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr66_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr65_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr64_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr55_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr53_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr54_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr51_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr52_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr51_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr50_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr49_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr48_lo16
@@ -120116,8 +120177,8 @@ define <16 x double> @bitcast_v128i8_to_v16f64(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr38_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr35_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr36_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr33_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr34_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr33_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr32_lo16
; GFX11-TRUE16-NEXT: .LBB74_2: ; %Flow
; GFX11-TRUE16-NEXT: s_and_not1_saveexec_b32 s0, s0
@@ -120139,22 +120200,22 @@ define <16 x double> @bitcast_v128i8_to_v16f64(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_and_b16 v1.h, 0xff, v3.l
; GFX11-TRUE16-NEXT: v_or_b16 v1.l, v2.h, v2.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v111.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v110.l, 3
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v3.l, 8, v109.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v109.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v3.l, 8, v110.l
; GFX11-TRUE16-NEXT: v_or_b16 v1.h, v3.h, v1.h
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v3.h, 8, v108.l
; GFX11-TRUE16-NEXT: v_and_b16 v2.l, 0xff, v2.l
; GFX11-TRUE16-NEXT: v_and_b16 v2.h, 0xff, v2.h
; GFX11-TRUE16-NEXT: v_add_nc_u16 v4.l, v107.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v4.h, v106.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v4.h, v105.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v5.l, v95.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v2.l, v3.l, v2.l
; GFX11-TRUE16-NEXT: v_or_b16 v2.h, v3.h, v2.h
; GFX11-TRUE16-NEXT: v_and_b16 v3.l, 0xff, v4.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v3.h, 8, v105.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v3.h, 8, v106.l
; GFX11-TRUE16-NEXT: v_and_b16 v4.l, 0xff, v4.h
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v4.h, 8, v104.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v5.h, v92.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v5.h, v91.l, 3
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v6.l, 8, v90.l
; GFX11-TRUE16-NEXT: v_or_b16 v3.l, v3.h, v3.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v6.h, v89.l, 3
@@ -120163,26 +120224,26 @@ define <16 x double> @bitcast_v128i8_to_v16f64(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v4.h, 8, v94.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v5.l, v93.l, 3
; GFX11-TRUE16-NEXT: v_and_b16 v5.h, 0xff, v5.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v7.l, v88.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v7.l, v79.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v7.h, v77.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v4.l, v4.h, v4.l
; GFX11-TRUE16-NEXT: v_and_b16 v4.h, 0xff, v5.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v5.l, 8, v91.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v8.l, v74.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v5.l, 8, v92.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v8.l, v73.l, 3
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0)
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v8.h, 8, v72.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v9.l, v63.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v9.h, v62.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v9.h, v61.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v4.h, v5.l, v4.h
; GFX11-TRUE16-NEXT: v_or_b16 v5.l, v6.l, v5.h
; GFX11-TRUE16-NEXT: v_and_b16 v5.h, 0xff, v6.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v6.l, 8, v79.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v6.l, 8, v88.l
; GFX11-TRUE16-NEXT: v_and_b16 v6.h, 0xff, v7.l
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v7.l, 8, v78.l
; GFX11-TRUE16-NEXT: v_and_b16 v8.l, 0xff, v8.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v10.l, v59.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v5.h, v6.l, v5.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v10.h, v56.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v10.h, v47.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v6.l, v7.l, v6.h
; GFX11-TRUE16-NEXT: v_and_b16 v6.h, 0xff, v7.h
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v7.l, 8, v76.l
@@ -120192,42 +120253,42 @@ define <16 x double> @bitcast_v128i8_to_v16f64(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_add_nc_u16 v11.h, v45.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v6.h, v7.l, v6.h
; GFX11-TRUE16-NEXT: v_and_b16 v7.l, 0xff, v7.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v7.h, 8, v73.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v12.l, v44.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v7.h, 8, v74.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v12.l, v43.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v12.h, v41.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v13.l, v182.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v13.l, v181.l, 3
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v13.h, 8, v180.l
; GFX11-TRUE16-NEXT: v_or_b16 v7.l, v7.h, v7.l
; GFX11-TRUE16-NEXT: v_or_b16 v7.h, v8.h, v8.l
; GFX11-TRUE16-NEXT: v_and_b16 v8.l, 0xff, v9.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v8.h, 8, v61.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v8.h, 8, v62.l
; GFX11-TRUE16-NEXT: v_and_b16 v9.l, 0xff, v9.h
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v9.h, 8, v60.l
; GFX11-TRUE16-NEXT: v_and_b16 v13.l, 0xff, v13.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v14.l, v179.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v8.l, v8.h, v8.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v14.h, v178.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v14.h, v177.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v8.h, v9.h, v9.l
; GFX11-TRUE16-NEXT: v_and_b16 v9.l, 0xff, v10.l
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v9.h, 8, v58.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v10.l, v57.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v15.l, v167.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v15.h, v164.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v15.h, v163.l, 3
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v16.l, 8, v162.l
; GFX11-TRUE16-NEXT: v_or_b16 v9.l, v9.h, v9.l
; GFX11-TRUE16-NEXT: v_and_b16 v9.h, 0xff, v10.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v10.l, 8, v47.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v10.l, 8, v56.l
; GFX11-TRUE16-NEXT: v_and_b16 v15.h, 0xff, v15.h
; GFX11-TRUE16-NEXT: v_add_nc_u16 v16.h, v161.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v17.l, v160.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v17.l, v151.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v17.h, v149.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v9.h, v10.l, v9.h
; GFX11-TRUE16-NEXT: v_or_b16 v10.l, v11.l, v10.h
; GFX11-TRUE16-NEXT: v_and_b16 v10.h, 0xff, v11.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v11.l, 8, v43.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v11.l, 8, v44.l
; GFX11-TRUE16-NEXT: v_and_b16 v11.h, 0xff, v12.l
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v12.l, 8, v42.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v18.l, v146.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v18.l, v145.l, 3
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v18.h, 8, v144.l
; GFX11-TRUE16-NEXT: v_or_b16 v10.h, v11.l, v10.h
; GFX11-TRUE16-NEXT: v_add_nc_u16 v19.l, v135.l, 3
@@ -120236,25 +120297,25 @@ define <16 x double> @bitcast_v128i8_to_v16f64(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v12.l, 8, v40.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v12.h, v183.l, 3
; GFX11-TRUE16-NEXT: v_and_b16 v18.l, 0xff, v18.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v19.h, v134.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v19.h, v133.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v20.l, v131.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v11.h, v12.l, v11.h
; GFX11-TRUE16-NEXT: v_and_b16 v12.l, 0xff, v12.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v12.h, 8, v181.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v20.h, v128.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v12.h, 8, v182.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v20.h, v119.l, 3
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v21.l, 8, v118.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v21.h, v117.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v22.l, v116.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v22.l, v115.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v12.l, v12.h, v12.l
; GFX11-TRUE16-NEXT: v_or_b16 v12.h, v13.h, v13.l
; GFX11-TRUE16-NEXT: v_and_b16 v13.l, 0xff, v14.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v13.h, 8, v177.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v13.h, 8, v178.l
; GFX11-TRUE16-NEXT: v_and_b16 v14.l, 0xff, v14.h
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v14.h, 8, v176.l
; GFX11-TRUE16-NEXT: v_and_b16 v20.h, 0xff, v20.h
; GFX11-TRUE16-NEXT: v_add_nc_u16 v22.h, v113.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v13.l, v13.h, v13.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v23.l, v102.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v23.l, v101.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v13.h, v14.h, v14.l
; GFX11-TRUE16-NEXT: v_and_b16 v14.l, 0xff, v15.l
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v14.h, 8, v166.l
@@ -120264,43 +120325,43 @@ define <16 x double> @bitcast_v128i8_to_v16f64(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_add_nc_u16 v24.l, v99.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v14.l, v14.h, v14.l
; GFX11-TRUE16-NEXT: v_and_b16 v14.h, 0xff, v15.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v15.l, 8, v163.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v24.h, v98.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v15.l, 8, v164.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v24.h, v97.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v25.l, v87.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v25.h, v84.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v25.h, v83.l, 3
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v26.l, 8, v82.l
; GFX11-TRUE16-NEXT: v_or_b16 v14.h, v15.l, v14.h
; GFX11-TRUE16-NEXT: v_or_b16 v15.l, v16.l, v15.h
; GFX11-TRUE16-NEXT: v_and_b16 v15.h, 0xff, v16.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v16.l, 8, v151.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v16.l, 8, v160.l
; GFX11-TRUE16-NEXT: v_and_b16 v16.h, 0xff, v17.l
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v17.l, 8, v150.l
; GFX11-TRUE16-NEXT: v_and_b16 v25.h, 0xff, v25.h
; GFX11-TRUE16-NEXT: v_add_nc_u16 v26.h, v81.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v15.h, v16.l, v15.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v27.l, v80.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v27.l, v71.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v16.l, v17.l, v16.h
; GFX11-TRUE16-NEXT: v_and_b16 v16.h, 0xff, v17.h
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v17.l, 8, v148.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v17.h, v147.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v27.h, v69.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v28.l, v66.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v28.l, v65.l, 3
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v28.h, 8, v64.l
; GFX11-TRUE16-NEXT: v_or_b16 v16.h, v17.l, v16.h
; GFX11-TRUE16-NEXT: v_and_b16 v17.l, 0xff, v17.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v17.h, 8, v145.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v17.h, 8, v146.l
; GFX11-TRUE16-NEXT: v_and_b16 v28.l, 0xff, v28.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v29.l, v55.l, 3
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v29.h, 8, v53.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v30.l, 8, v51.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v30.l, 8, v52.l
; GFX11-TRUE16-NEXT: v_or_b16 v17.l, v17.h, v17.l
; GFX11-TRUE16-NEXT: v_or_b16 v17.h, v18.h, v18.l
; GFX11-TRUE16-NEXT: v_and_b16 v18.l, 0xff, v19.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v18.h, 8, v133.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v18.h, 8, v134.l
; GFX11-TRUE16-NEXT: v_and_b16 v19.l, 0xff, v19.h
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v19.h, 8, v132.l
; GFX11-TRUE16-NEXT: v_or_b16 v28.l, v28.h, v28.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v28.h, v52.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v28.h, v51.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v18.l, v18.h, v18.l
; GFX11-TRUE16-NEXT: v_and_b16 v29.l, 0xff, v29.l
; GFX11-TRUE16-NEXT: v_or_b16 v18.h, v19.h, v19.l
@@ -120312,39 +120373,39 @@ define <16 x double> @bitcast_v128i8_to_v16f64(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_or_b16 v29.l, v29.h, v29.l
; GFX11-TRUE16-NEXT: v_or_b16 v19.l, v19.h, v19.l
; GFX11-TRUE16-NEXT: v_and_b16 v19.h, 0xff, v20.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v20.l, 8, v119.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v20.l, 8, v128.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v31.l, v38.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v31.h, v36.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v33.h, v34.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v33.l, v33.l, 3
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v32.h, 8, v37.l
; GFX11-TRUE16-NEXT: v_or_b16 v19.h, v20.l, v19.h
; GFX11-TRUE16-NEXT: v_or_b16 v20.l, v21.l, v20.h
; GFX11-TRUE16-NEXT: v_and_b16 v20.h, 0xff, v21.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v21.l, 8, v115.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v21.l, 8, v116.l
; GFX11-TRUE16-NEXT: v_and_b16 v21.h, 0xff, v22.l
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v22.l, 8, v114.l
; GFX11-TRUE16-NEXT: v_and_b16 v31.l, 0xff, v31.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v34.l, 8, v35.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v33.h, 8, v35.l
; GFX11-TRUE16-NEXT: v_or_b16 v20.h, v21.l, v20.h
; GFX11-TRUE16-NEXT: v_and_b16 v31.h, 0xff, v31.h
; GFX11-TRUE16-NEXT: v_or_b16 v21.l, v22.l, v21.h
; GFX11-TRUE16-NEXT: v_and_b16 v21.h, 0xff, v22.h
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v22.l, 8, v112.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v22.h, v103.l, 3
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v33.l, 8, v33.l
-; GFX11-TRUE16-NEXT: v_and_b16 v33.h, 0xff, v33.h
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v34.l, 8, v34.l
+; GFX11-TRUE16-NEXT: v_and_b16 v33.l, 0xff, v33.l
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v32.l, 8, v32.l
; GFX11-TRUE16-NEXT: v_or_b16 v21.h, v22.l, v21.h
; GFX11-TRUE16-NEXT: v_and_b16 v22.l, 0xff, v22.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v22.h, 8, v101.l
-; GFX11-TRUE16-NEXT: v_or_b16 v31.l, v34.l, v31.l
-; GFX11-TRUE16-NEXT: v_or_b16 v31.h, v33.l, v31.h
-; GFX11-TRUE16-NEXT: v_or_b16 v32.l, v32.l, v33.h
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v22.h, 8, v102.l
+; GFX11-TRUE16-NEXT: v_or_b16 v31.l, v33.h, v31.l
+; GFX11-TRUE16-NEXT: v_or_b16 v31.h, v34.l, v31.h
+; GFX11-TRUE16-NEXT: v_or_b16 v32.l, v32.l, v33.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.l, 0x300, v0.l
; GFX11-TRUE16-NEXT: v_or_b16 v22.l, v22.h, v22.l
; GFX11-TRUE16-NEXT: v_or_b16 v22.h, v23.h, v23.l
; GFX11-TRUE16-NEXT: v_and_b16 v23.l, 0xff, v24.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v23.h, 8, v97.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v23.h, 8, v98.l
; GFX11-TRUE16-NEXT: v_and_b16 v24.l, 0xff, v24.h
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v24.h, 8, v96.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.h, 0x300, v0.h
@@ -120360,7 +120421,7 @@ define <16 x double> @bitcast_v128i8_to_v16f64(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_add_nc_u16 v3.l, 0x300, v3.l
; GFX11-TRUE16-NEXT: v_or_b16 v24.l, v24.h, v24.l
; GFX11-TRUE16-NEXT: v_and_b16 v24.h, 0xff, v25.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v25.l, 8, v83.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v25.l, 8, v84.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v3.h, 0x300, v3.h
; GFX11-TRUE16-NEXT: v_add_nc_u16 v4.l, 0x300, v4.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v4.h, 0x300, v4.h
@@ -120368,7 +120429,7 @@ define <16 x double> @bitcast_v128i8_to_v16f64(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_or_b16 v24.h, v25.l, v24.h
; GFX11-TRUE16-NEXT: v_or_b16 v25.l, v26.l, v25.h
; GFX11-TRUE16-NEXT: v_and_b16 v25.h, 0xff, v26.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v26.l, 8, v71.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v26.l, 8, v80.l
; GFX11-TRUE16-NEXT: v_and_b16 v26.h, 0xff, v27.l
; GFX11-TRUE16-NEXT: v_lshlrev_b16 v27.l, 8, v70.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v5.h, 0x300, v5.h
@@ -120384,7 +120445,7 @@ define <16 x double> @bitcast_v128i8_to_v16f64(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_add_nc_u16 v8.l, 0x300, v8.l
; GFX11-TRUE16-NEXT: v_or_b16 v26.h, v27.l, v26.h
; GFX11-TRUE16-NEXT: v_and_b16 v27.l, 0xff, v27.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v27.h, 8, v65.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v27.h, 8, v66.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v8.h, 0x300, v8.h
; GFX11-TRUE16-NEXT: v_add_nc_u16 v9.l, 0x300, v9.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v9.h, 0x300, v9.h
@@ -121458,8 +121519,8 @@ define inreg <16 x double> @bitcast_v128i8_to_v16f64_scalar(<128 x i8> inreg %a,
; SI-NEXT: v_readfirstlane_b32 s42, v17
; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32
; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:8
-; SI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:16
-; SI-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:24
+; SI-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:16
+; SI-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:24
; SI-NEXT: buffer_load_dword v36, off, s[0:3], s32 offset:32
; SI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:40
; SI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:48
@@ -121502,7 +121563,7 @@ define inreg <16 x double> @bitcast_v128i8_to_v16f64_scalar(<128 x i8> inreg %a,
; SI-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:296
; SI-NEXT: buffer_load_dword v39, off, s[0:3], s32 offset:304
; SI-NEXT: buffer_load_dword v37, off, s[0:3], s32 offset:312
-; SI-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:320
+; SI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:320
; SI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:328
; SI-NEXT: v_readfirstlane_b32 s43, v16
; SI-NEXT: v_readfirstlane_b32 s44, v15
@@ -121518,13 +121579,13 @@ define inreg <16 x double> @bitcast_v128i8_to_v16f64_scalar(<128 x i8> inreg %a,
; SI-NEXT: v_readfirstlane_b32 s75, v1
; SI-NEXT: s_waitcnt vmcnt(14)
; SI-NEXT: v_lshlrev_b32_e32 v15, 24, v19
-; SI-NEXT: v_lshlrev_b32_e32 v16, 8, v33
-; SI-NEXT: v_lshlrev_b32_e32 v38, 24, v34
+; SI-NEXT: v_lshlrev_b32_e32 v16, 8, v34
+; SI-NEXT: v_lshlrev_b32_e32 v38, 24, v35
; SI-NEXT: v_lshlrev_b32_e32 v19, 8, v42
; SI-NEXT: v_lshlrev_b32_e32 v14, 24, v43
; SI-NEXT: v_lshlrev_b32_e32 v51, 24, v45
; SI-NEXT: v_lshlrev_b32_e32 v48, 24, v47
-; SI-NEXT: v_lshlrev_b32_e32 v33, 24, v59
+; SI-NEXT: v_lshlrev_b32_e32 v35, 24, v59
; SI-NEXT: v_lshlrev_b32_e32 v42, 24, v61
; SI-NEXT: v_lshlrev_b32_e32 v20, 24, v20
; SI-NEXT: v_lshlrev_b32_e32 v21, 24, v21
@@ -121595,14 +121656,14 @@ define inreg <16 x double> @bitcast_v128i8_to_v16f64_scalar(<128 x i8> inreg %a,
; SI-NEXT: v_lshlrev_b32_e32 v56, 24, v26
; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:404 ; 4-byte Folded Spill
; SI-NEXT: v_lshlrev_b32_e32 v46, 8, v39
-; SI-NEXT: v_lshlrev_b32_e32 v36, 24, v37
-; SI-NEXT: v_lshlrev_b32_e32 v34, 8, v35
+; SI-NEXT: v_lshlrev_b32_e32 v34, 24, v37
+; SI-NEXT: v_lshlrev_b32_e32 v36, 8, v33
; SI-NEXT: s_waitcnt vmcnt(14)
; SI-NEXT: v_lshlrev_b32_e32 v37, 24, v32
; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:284
; SI-NEXT: buffer_load_dword v58, off, s[0:3], s32 offset:276
; SI-NEXT: buffer_load_dword v61, off, s[0:3], s32 offset:268
-; SI-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:260
+; SI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:260
; SI-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:252
; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:244
; SI-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:236
@@ -121645,11 +121706,11 @@ define inreg <16 x double> @bitcast_v128i8_to_v16f64_scalar(<128 x i8> inreg %a,
; SI-NEXT: s_waitcnt vmcnt(14)
; SI-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:496 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v61, off, s[0:3], s32 offset:500 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:504 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:504 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v30, off, s[0:3], s32 offset:508 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:512 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:516 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:520 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:516 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:520 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:524 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:528 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:532 ; 4-byte Folded Spill
@@ -121676,7 +121737,7 @@ define inreg <16 x double> @bitcast_v128i8_to_v16f64_scalar(<128 x i8> inreg %a,
; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:616 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:620 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:624 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:628 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:628 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:632 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:636 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:640 ; 4-byte Folded Spill
@@ -121722,7 +121783,7 @@ define inreg <16 x double> @bitcast_v128i8_to_v16f64_scalar(<128 x i8> inreg %a,
; SI-NEXT: v_mov_b32_e32 v38, v17
; SI-NEXT: v_and_b32_e32 v4, 0xff, v4
; SI-NEXT: v_lshlrev_b32_e32 v4, 16, v4
-; SI-NEXT: v_or_b32_e32 v4, v33, v4
+; SI-NEXT: v_or_b32_e32 v4, v35, v4
; SI-NEXT: v_and_b32_e32 v2, 0xff, v2
; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
; SI-NEXT: v_or_b32_e32 v2, v42, v2
@@ -121955,7 +122016,7 @@ define inreg <16 x double> @bitcast_v128i8_to_v16f64_scalar(<128 x i8> inreg %a,
; SI-NEXT: v_and_b32_e32 v0, 0xff, v30
; SI-NEXT: s_waitcnt vmcnt(0)
; SI-NEXT: v_or_b32_e32 v0, v0, v1
-; SI-NEXT: v_and_b32_e32 v1, 0xff, v35
+; SI-NEXT: v_and_b32_e32 v1, 0xff, v33
; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; SI-NEXT: v_and_b32_e32 v0, 0xffff, v0
; SI-NEXT: v_or_b32_e32 v1, v2, v1
@@ -121989,11 +122050,11 @@ define inreg <16 x double> @bitcast_v128i8_to_v16f64_scalar(<128 x i8> inreg %a,
; SI-NEXT: v_or_b32_e32 v0, v0, v46
; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; SI-NEXT: v_and_b32_e32 v0, 0xffff, v0
-; SI-NEXT: v_or_b32_e32 v1, v36, v1
+; SI-NEXT: v_or_b32_e32 v1, v34, v1
; SI-NEXT: v_or_b32_e32 v30, v0, v1
; SI-NEXT: v_and_b32_e32 v0, 0xff, v8
; SI-NEXT: v_and_b32_e32 v1, 0xff, v40
-; SI-NEXT: v_or_b32_e32 v0, v0, v34
+; SI-NEXT: v_or_b32_e32 v0, v0, v36
; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; SI-NEXT: v_and_b32_e32 v0, 0xffff, v0
; SI-NEXT: v_or_b32_e32 v1, v37, v1
@@ -122653,7 +122714,7 @@ define inreg <16 x double> @bitcast_v128i8_to_v16f64_scalar(<128 x i8> inreg %a,
; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:524 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v0, off, s[0:3], s32
; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v31
-; VI-NEXT: s_and_b64 s[4:5], vcc, exec
+; VI-NEXT: s_cmp_lg_u64 vcc, 0
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:528 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:280
@@ -123587,7 +123648,7 @@ define inreg <16 x double> @bitcast_v128i8_to_v16f64_scalar(<128 x i8> inreg %a,
; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:524 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32
; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v31
-; GFX9-NEXT: s_and_b64 s[4:5], vcc, exec
+; GFX9-NEXT: s_cmp_lg_u64 vcc, 0
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:528 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:280
@@ -123666,6 +123727,7 @@ define inreg <16 x double> @bitcast_v128i8_to_v16f64_scalar(<128 x i8> inreg %a,
; GFX9-NEXT: buffer_load_ushort v25, off, s[0:3], s32 offset:140
; GFX9-NEXT: buffer_load_ushort v24, off, s[0:3], s32 offset:136
; GFX9-NEXT: buffer_load_ushort v23, off, s[0:3], s32 offset:132
+; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:128
; GFX9-NEXT: buffer_load_ushort v62, off, s[0:3], s32 offset:124
; GFX9-NEXT: buffer_load_ushort v18, off, s[0:3], s32 offset:120
@@ -124453,81 +124515,81 @@ define inreg <16 x double> @bitcast_v128i8_to_v16f64_scalar(<128 x i8> inreg %a,
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v32, off, s32 offset:312
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v34, off, s32 offset:308
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v33, off, s32 offset:304
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v37, off, s32 offset:300
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v36, off, s32 offset:300
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v35, off, s32 offset:296
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v39, off, s32 offset:292
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v36, off, s32 offset:288
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v38, off, s32 offset:292
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v37, off, s32 offset:288
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v48, off, s32 offset:284
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v38, off, s32 offset:280
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v39, off, s32 offset:280
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v49, off, s32 offset:276
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v50, off, s32 offset:272
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v52, off, s32 offset:268
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v51, off, s32 offset:264
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v55, off, s32 offset:260
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v54, off, s32 offset:260
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v53, off, s32 offset:256
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v65, off, s32 offset:252
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v54, off, s32 offset:248
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v64, off, s32 offset:252
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v55, off, s32 offset:248
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v66, off, s32 offset:244
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v64, off, s32 offset:240
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v65, off, s32 offset:240
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v67, off, s32 offset:236
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v68, off, s32 offset:232
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v70, off, s32 offset:228
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v69, off, s32 offset:224
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v81, off, s32 offset:220
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v80, off, s32 offset:220
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v71, off, s32 offset:216
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v83, off, s32 offset:212
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v80, off, s32 offset:208
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v82, off, s32 offset:212
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v81, off, s32 offset:208
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v84, off, s32 offset:204
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v82, off, s32 offset:200
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v83, off, s32 offset:200
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v85, off, s32 offset:196
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v86, off, s32 offset:192
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v96, off, s32 offset:188
; GFX11-TRUE16-NEXT: s_clause 0x1f
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v87, off, s32 offset:184
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v99, off, s32 offset:180
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v98, off, s32 offset:180
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v97, off, s32 offset:176
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v101, off, s32 offset:172
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v98, off, s32 offset:168
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v100, off, s32 offset:172
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v99, off, s32 offset:168
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v102, off, s32 offset:164
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v100, off, s32 offset:160
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v101, off, s32 offset:160
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v103, off, s32 offset:156
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v112, off, s32 offset:152
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v114, off, s32 offset:148
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v113, off, s32 offset:144
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v117, off, s32 offset:140
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v116, off, s32 offset:140
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v115, off, s32 offset:136
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v119, off, s32 offset:132
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v116, off, s32 offset:128
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v118, off, s32 offset:132
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v117, off, s32 offset:128
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v128, off, s32 offset:124
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v118, off, s32 offset:120
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v119, off, s32 offset:120
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v129, off, s32 offset:116
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v130, off, s32 offset:112
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v132, off, s32 offset:108
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v131, off, s32 offset:104
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v135, off, s32 offset:100
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v134, off, s32 offset:100
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v133, off, s32 offset:96
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v145, off, s32 offset:92
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v134, off, s32 offset:88
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v144, off, s32 offset:92
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v135, off, s32 offset:88
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v146, off, s32 offset:84
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v144, off, s32 offset:80
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v145, off, s32 offset:80
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v147, off, s32 offset:76
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v148, off, s32 offset:72
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v150, off, s32 offset:68
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v149, off, s32 offset:64
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v161, off, s32 offset:60
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v160, off, s32 offset:60
; GFX11-TRUE16-NEXT: s_clause 0xf
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v151, off, s32 offset:56
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v163, off, s32 offset:52
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v160, off, s32 offset:48
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v162, off, s32 offset:52
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v161, off, s32 offset:48
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v164, off, s32 offset:44
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v162, off, s32 offset:40
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v163, off, s32 offset:40
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v165, off, s32 offset:36
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v166, off, s32 offset:32
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v167, off, s32 offset:28
; GFX11-TRUE16-NEXT: scratch_load_b32 v31, off, s32 offset:316
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v176, off, s32 offset:24
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v177, off, s32 offset:28
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v167, off, s32 offset:24
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v180, off, s32 offset:20
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v177, off, s32 offset:16
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v176, off, s32 offset:16
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v181, off, s32 offset:12
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v178, off, s32 offset:8
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v182, off, s32 offset:4
@@ -124564,21 +124626,21 @@ define inreg <16 x double> @bitcast_v128i8_to_v16f64_scalar(<128 x i8> inreg %a,
; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s73, v1
; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s74, v0
; GFX11-TRUE16-NEXT: s_mov_b32 s75, 0
-; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(7)
+; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(8)
; GFX11-TRUE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v31
-; GFX11-TRUE16-NEXT: s_and_b32 s76, vcc_lo, exec_lo
+; GFX11-TRUE16-NEXT: s_cmp_lg_u32 vcc_lo, 0
; GFX11-TRUE16-NEXT: s_cbranch_scc0 .LBB75_2
; GFX11-TRUE16-NEXT: ; %bb.1: ; %cmp.false
; GFX11-TRUE16-NEXT: v_mov_b32_e32 v10, 0xc0c0004
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(1)
; GFX11-TRUE16-NEXT: v_perm_b32 v15, v182, v178, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v17, v165, v162, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v17, v165, v163, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v19, v150, v148, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v21, v135, v131, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v21, v134, v131, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v1, s18, s19, v10
-; GFX11-TRUE16-NEXT: v_perm_b32 v23, v119, v115, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v25, v102, v98, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v27, v85, v82, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v23, v118, v115, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v25, v102, v99, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v27, v85, v83, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v29, v70, v68, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; GFX11-TRUE16-NEXT: v_perm_b32 v0, s2, s3, v10
@@ -124614,9 +124676,9 @@ define inreg <16 x double> @bitcast_v128i8_to_v16f64_scalar(<128 x i8> inreg %a,
; GFX11-TRUE16-NEXT: v_perm_b32 v8, s60, s59, v10
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v6, 16, v6
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v14, 16, v14
-; GFX11-TRUE16-NEXT: v_perm_b32 v31, v55, v51, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v31, v54, v51, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v7, 16, v7
-; GFX11-TRUE16-NEXT: v_perm_b32 v40, v39, v35, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v40, v38, v35, 0xc0c0004
; GFX11-TRUE16-NEXT: v_or_b32_e32 v6, v8, v6
; GFX11-TRUE16-NEXT: v_perm_b32 v8, s42, s41, v10
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_1) | instid1(VALU_DEP_3)
@@ -124630,35 +124692,35 @@ define inreg <16 x double> @bitcast_v128i8_to_v16f64_scalar(<128 x i8> inreg %a,
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v12, 16, v13
; GFX11-TRUE16-NEXT: v_perm_b32 v13, s8, s7, v10
; GFX11-TRUE16-NEXT: v_or_b32_e32 v10, v11, v12
-; GFX11-TRUE16-NEXT: v_perm_b32 v12, v180, v176, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v12, v180, v167, 0xc0c0004
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3)
; GFX11-TRUE16-NEXT: v_or_b32_e32 v11, v13, v14
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0)
; GFX11-TRUE16-NEXT: v_perm_b32 v13, s4, v179, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v14, 16, v15
-; GFX11-TRUE16-NEXT: v_perm_b32 v15, v181, v177, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v15, v181, v176, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v16, 16, v12
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_1) | instid1(VALU_DEP_3)
; GFX11-TRUE16-NEXT: v_or_b32_e32 v12, v13, v14
-; GFX11-TRUE16-NEXT: v_perm_b32 v14, v163, v151, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v14, v162, v151, 0xc0c0004
; GFX11-TRUE16-NEXT: v_or_b32_e32 v13, v15, v16
-; GFX11-TRUE16-NEXT: v_perm_b32 v15, v167, v166, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v15, v177, v166, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v16, 16, v17
-; GFX11-TRUE16-NEXT: v_perm_b32 v17, v164, v160, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v17, v164, v161, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v18, 16, v14
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_1) | instid1(VALU_DEP_3)
; GFX11-TRUE16-NEXT: v_or_b32_e32 v14, v15, v16
-; GFX11-TRUE16-NEXT: v_perm_b32 v16, v146, v134, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v16, v146, v135, 0xc0c0004
; GFX11-TRUE16-NEXT: v_or_b32_e32 v15, v17, v18
-; GFX11-TRUE16-NEXT: v_perm_b32 v17, v161, v149, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v17, v160, v149, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v18, 16, v19
-; GFX11-TRUE16-NEXT: v_perm_b32 v19, v147, v144, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v19, v147, v145, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v20, 16, v16
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_1) | instid1(VALU_DEP_3)
; GFX11-TRUE16-NEXT: v_or_b32_e32 v16, v17, v18
-; GFX11-TRUE16-NEXT: v_perm_b32 v18, v129, v118, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v18, v129, v119, 0xc0c0004
; GFX11-TRUE16-NEXT: v_or_b32_e32 v17, v19, v20
-; GFX11-TRUE16-NEXT: v_perm_b32 v19, v145, v133, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v19, v144, v133, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v20, 16, v21
; GFX11-TRUE16-NEXT: v_perm_b32 v21, v132, v130, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v22, 16, v18
@@ -124666,39 +124728,39 @@ define inreg <16 x double> @bitcast_v128i8_to_v16f64_scalar(<128 x i8> inreg %a,
; GFX11-TRUE16-NEXT: v_or_b32_e32 v18, v19, v20
; GFX11-TRUE16-NEXT: v_perm_b32 v20, v114, v112, 0xc0c0004
; GFX11-TRUE16-NEXT: v_or_b32_e32 v19, v21, v22
-; GFX11-TRUE16-NEXT: v_perm_b32 v21, v128, v116, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v21, v128, v117, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v22, 16, v23
-; GFX11-TRUE16-NEXT: v_perm_b32 v23, v117, v113, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v23, v116, v113, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v24, 16, v20
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_1) | instid1(VALU_DEP_3)
; GFX11-TRUE16-NEXT: v_or_b32_e32 v20, v21, v22
-; GFX11-TRUE16-NEXT: v_perm_b32 v22, v99, v87, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v22, v98, v87, 0xc0c0004
; GFX11-TRUE16-NEXT: v_or_b32_e32 v21, v23, v24
-; GFX11-TRUE16-NEXT: v_perm_b32 v23, v103, v100, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v23, v103, v101, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v24, 16, v25
-; GFX11-TRUE16-NEXT: v_perm_b32 v25, v101, v97, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v25, v100, v97, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v26, 16, v22
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_1) | instid1(VALU_DEP_3)
; GFX11-TRUE16-NEXT: v_or_b32_e32 v22, v23, v24
-; GFX11-TRUE16-NEXT: v_perm_b32 v24, v83, v71, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v24, v82, v71, 0xc0c0004
; GFX11-TRUE16-NEXT: v_or_b32_e32 v23, v25, v26
; GFX11-TRUE16-NEXT: v_perm_b32 v25, v96, v86, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v26, 16, v27
-; GFX11-TRUE16-NEXT: v_perm_b32 v27, v84, v80, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v27, v84, v81, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v28, 16, v24
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_1) | instid1(VALU_DEP_3)
; GFX11-TRUE16-NEXT: v_or_b32_e32 v24, v25, v26
-; GFX11-TRUE16-NEXT: v_perm_b32 v26, v66, v54, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v26, v66, v55, 0xc0c0004
; GFX11-TRUE16-NEXT: v_or_b32_e32 v25, v27, v28
-; GFX11-TRUE16-NEXT: v_perm_b32 v27, v81, v69, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v27, v80, v69, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v28, 16, v29
-; GFX11-TRUE16-NEXT: v_perm_b32 v29, v67, v64, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v29, v67, v65, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v30, 16, v26
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_1) | instid1(VALU_DEP_3)
; GFX11-TRUE16-NEXT: v_or_b32_e32 v26, v27, v28
-; GFX11-TRUE16-NEXT: v_perm_b32 v28, v49, v38, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v28, v49, v39, 0xc0c0004
; GFX11-TRUE16-NEXT: v_or_b32_e32 v27, v29, v30
-; GFX11-TRUE16-NEXT: v_perm_b32 v29, v65, v53, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v29, v64, v53, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v30, 16, v31
; GFX11-TRUE16-NEXT: v_perm_b32 v31, v52, v50, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v183, 16, v28
@@ -124706,9 +124768,9 @@ define inreg <16 x double> @bitcast_v128i8_to_v16f64_scalar(<128 x i8> inreg %a,
; GFX11-TRUE16-NEXT: v_or_b32_e32 v28, v29, v30
; GFX11-TRUE16-NEXT: v_perm_b32 v30, v34, v32, 0xc0c0004
; GFX11-TRUE16-NEXT: v_or_b32_e32 v29, v31, v183
-; GFX11-TRUE16-NEXT: v_perm_b32 v31, v48, v36, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v31, v48, v37, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v183, 16, v40
-; GFX11-TRUE16-NEXT: v_perm_b32 v40, v37, v33, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v40, v36, v33, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v41, 16, v30
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_2)
; GFX11-TRUE16-NEXT: v_or_b32_e32 v30, v31, v183
@@ -124815,16 +124877,17 @@ define inreg <16 x double> @bitcast_v128i8_to_v16f64_scalar(<128 x i8> inreg %a,
; GFX11-TRUE16-NEXT: v_perm_b32 v8, s44, s43, v10
; GFX11-TRUE16-NEXT: v_perm_b32 v9, s42, s41, v10
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v13, 0x300, v13
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v15, 3, v167
+; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(7)
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v15, 3, v177
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v17, 3, v165
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v8, 0x300, v8
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v9, 0x300, v9
; GFX11-TRUE16-NEXT: v_and_b32_e32 v13, 0xffff, v13
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v18, 3, v164
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v19, 3, v163
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v19, 3, v162
; GFX11-TRUE16-NEXT: v_and_b32_e32 v8, 0xffff, v8
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v9, 16, v9
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v20, 3, v161
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v20, 3, v160
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v21, 3, v150
; GFX11-TRUE16-NEXT: s_add_i32 s4, s4, 3
; GFX11-TRUE16-NEXT: v_perm_b32 v15, v15, v166, 0xc0c0004
@@ -124835,11 +124898,11 @@ define inreg <16 x double> @bitcast_v128i8_to_v16f64_scalar(<128 x i8> inreg %a,
; GFX11-TRUE16-NEXT: v_perm_b32 v10, s6, s5, v10
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0)
; GFX11-TRUE16-NEXT: v_perm_b32 v16, s4, v179, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v17, v17, v162, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v17, v17, v163, 0xc0c0004
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v11, 0x300, v11
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v12, 0x300, v12
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v10, 0x300, v10
-; GFX11-TRUE16-NEXT: v_perm_b32 v18, v18, v160, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v18, v18, v161, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v19, v19, v151, 0xc0c0004
; GFX11-TRUE16-NEXT: v_and_b32_e32 v11, 0xffff, v11
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v12, 16, v12
@@ -124855,8 +124918,8 @@ define inreg <16 x double> @bitcast_v128i8_to_v16f64_scalar(<128 x i8> inreg %a,
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v15, 0x300, v15
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v17, 0x300, v17
; GFX11-TRUE16-NEXT: v_perm_b32 v12, v12, v178, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v13, v13, v177, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v14, v14, v176, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v13, v13, v176, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v14, v14, v167, 0xc0c0004
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v18, 0x300, v18
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v19, 0x300, v19
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v12, 0x300, v12
@@ -124881,21 +124944,21 @@ define inreg <16 x double> @bitcast_v128i8_to_v16f64_scalar(<128 x i8> inreg %a,
; GFX11-TRUE16-NEXT: v_or_b32_e32 v16, v20, v21
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v17, 3, v147
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v18, 3, v146
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v19, 3, v145
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v20, 3, v135
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v19, 3, v144
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v20, 3, v134
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v21, 3, v132
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v22, 3, v129
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v23, 3, v128
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v24, 3, v119
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v25, 3, v117
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v24, 3, v118
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v25, 3, v116
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v26, 3, v114
-; GFX11-TRUE16-NEXT: v_perm_b32 v17, v17, v144, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v18, v18, v134, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v17, v17, v145, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v18, v18, v135, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v19, v19, v133, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v20, v20, v131, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v21, v21, v130, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v22, v22, v118, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v23, v23, v116, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v22, v22, v119, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v23, v23, v117, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v24, v24, v115, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v25, v25, v113, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v26, v26, v112, 0xc0c0004
@@ -124926,21 +124989,21 @@ define inreg <16 x double> @bitcast_v128i8_to_v16f64_scalar(<128 x i8> inreg %a,
; GFX11-TRUE16-NEXT: v_or_b32_e32 v21, v25, v26
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v22, 3, v103
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v23, 3, v102
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v24, 3, v101
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v25, 3, v99
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v24, 3, v100
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v25, 3, v98
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v26, 3, v96
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v27, 3, v85
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v28, 3, v84
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v29, 3, v83
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v30, 3, v81
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v29, 3, v82
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v30, 3, v80
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v31, 3, v70
-; GFX11-TRUE16-NEXT: v_perm_b32 v22, v22, v100, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v23, v23, v98, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v22, v22, v101, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v23, v23, v99, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v24, v24, v97, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v25, v25, v87, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v26, v26, v86, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v27, v27, v82, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v28, v28, v80, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v27, v27, v83, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v28, v28, v81, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v29, v29, v71, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v30, v30, v69, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v31, v31, v68, 0xc0c0004
@@ -124971,31 +125034,31 @@ define inreg <16 x double> @bitcast_v128i8_to_v16f64_scalar(<128 x i8> inreg %a,
; GFX11-TRUE16-NEXT: v_or_b32_e32 v26, v30, v31
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v27, 3, v67
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v28, 3, v66
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v29, 3, v65
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v30, 3, v55
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v29, 3, v64
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v30, 3, v54
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v31, 3, v52
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v49, 3, v49
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v48, 3, v48
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v39, 3, v39
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v37, 3, v37
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v38, 3, v38
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v36, 3, v36
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v34, 3, v34
-; GFX11-TRUE16-NEXT: v_perm_b32 v27, v27, v64, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v28, v28, v54, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v27, v27, v65, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v28, v28, v55, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v29, v29, v53, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v30, v30, v51, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v31, v31, v50, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v38, v49, v38, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v36, v48, v36, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v35, v39, v35, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v33, v37, v33, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v39, v49, v39, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v37, v48, v37, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v35, v38, v35, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v33, v36, v33, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v32, v34, v32, 0xc0c0004
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v27, 0x300, v27
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v28, 0x300, v28
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v29, 0x300, v29
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v30, 0x300, v30
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v31, 0x300, v31
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v34, 0x300, v38
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v36, 0x300, v36
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v34, 0x300, v39
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v36, 0x300, v37
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v35, 0x300, v35
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v33, 0x300, v33
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v32, 0x300, v32
@@ -125102,9 +125165,9 @@ define inreg <16 x double> @bitcast_v128i8_to_v16f64_scalar(<128 x i8> inreg %a,
; GFX11-FAKE16-NEXT: scratch_load_u16 v162, off, s32 offset:40
; GFX11-FAKE16-NEXT: scratch_load_u16 v165, off, s32 offset:36
; GFX11-FAKE16-NEXT: scratch_load_u16 v166, off, s32 offset:32
-; GFX11-FAKE16-NEXT: scratch_load_u16 v167, off, s32 offset:28
; GFX11-FAKE16-NEXT: scratch_load_b32 v31, off, s32 offset:316
-; GFX11-FAKE16-NEXT: scratch_load_u16 v176, off, s32 offset:24
+; GFX11-FAKE16-NEXT: scratch_load_u16 v176, off, s32 offset:28
+; GFX11-FAKE16-NEXT: scratch_load_u16 v167, off, s32 offset:24
; GFX11-FAKE16-NEXT: scratch_load_u16 v180, off, s32 offset:20
; GFX11-FAKE16-NEXT: scratch_load_u16 v177, off, s32 offset:16
; GFX11-FAKE16-NEXT: scratch_load_u16 v181, off, s32 offset:12
@@ -125143,9 +125206,9 @@ define inreg <16 x double> @bitcast_v128i8_to_v16f64_scalar(<128 x i8> inreg %a,
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s73, v1
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s74, v0
; GFX11-FAKE16-NEXT: s_mov_b32 s75, 0
-; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(7)
+; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(8)
; GFX11-FAKE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v31
-; GFX11-FAKE16-NEXT: s_and_b32 s76, vcc_lo, exec_lo
+; GFX11-FAKE16-NEXT: s_cmp_lg_u32 vcc_lo, 0
; GFX11-FAKE16-NEXT: s_cbranch_scc0 .LBB75_2
; GFX11-FAKE16-NEXT: ; %bb.1: ; %cmp.false
; GFX11-FAKE16-NEXT: v_mov_b32_e32 v10, 0xc0c0004
@@ -125209,7 +125272,7 @@ define inreg <16 x double> @bitcast_v128i8_to_v16f64_scalar(<128 x i8> inreg %a,
; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v12, 16, v13
; GFX11-FAKE16-NEXT: v_perm_b32 v13, s8, s7, v10
; GFX11-FAKE16-NEXT: v_or_b32_e32 v10, v11, v12
-; GFX11-FAKE16-NEXT: v_perm_b32 v12, v180, v176, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v12, v180, v167, 0xc0c0004
; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_3)
; GFX11-FAKE16-NEXT: v_or_b32_e32 v11, v13, v14
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0)
@@ -125221,7 +125284,7 @@ define inreg <16 x double> @bitcast_v128i8_to_v16f64_scalar(<128 x i8> inreg %a,
; GFX11-FAKE16-NEXT: v_or_b32_e32 v12, v13, v14
; GFX11-FAKE16-NEXT: v_perm_b32 v14, v163, v151, 0xc0c0004
; GFX11-FAKE16-NEXT: v_or_b32_e32 v13, v15, v16
-; GFX11-FAKE16-NEXT: v_perm_b32 v15, v167, v166, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v15, v176, v166, 0xc0c0004
; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v16, 16, v17
; GFX11-FAKE16-NEXT: v_perm_b32 v17, v164, v160, 0xc0c0004
; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v18, 16, v14
@@ -125394,7 +125457,8 @@ define inreg <16 x double> @bitcast_v128i8_to_v16f64_scalar(<128 x i8> inreg %a,
; GFX11-FAKE16-NEXT: v_perm_b32 v8, s44, s43, v10
; GFX11-FAKE16-NEXT: v_perm_b32 v9, s42, s41, v10
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v13, 0x300, v13
-; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v15, 3, v167
+; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(7)
+; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v15, 3, v176
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v17, 3, v165
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v8, 0x300, v8
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v9, 0x300, v9
@@ -125435,7 +125499,7 @@ define inreg <16 x double> @bitcast_v128i8_to_v16f64_scalar(<128 x i8> inreg %a,
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v17, 0x300, v17
; GFX11-FAKE16-NEXT: v_perm_b32 v12, v12, v178, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v13, v13, v177, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v14, v14, v176, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v14, v14, v167, 0xc0c0004
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v18, 0x300, v18
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v19, 0x300, v19
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v12, 0x300, v12
@@ -126338,8 +126402,8 @@ define inreg <64 x bfloat> @bitcast_v16f64_to_v64bf16_scalar(<16 x double> inreg
; SI: ; %bb.0:
; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
; SI-NEXT: s_or_saveexec_b64 s[4:5], -1
-; SI-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
; SI-NEXT: s_mov_b64 exec, s[4:5]
; SI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:52 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:48 ; 4-byte Folded Spill
@@ -126564,41 +126628,38 @@ define inreg <64 x bfloat> @bitcast_v16f64_to_v64bf16_scalar(<16 x double> inreg
; SI-NEXT: v_add_f64 v[24:25], s[6:7], 1.0
; SI-NEXT: v_and_b32_e32 v34, 0xffff0000, v23
; SI-NEXT: v_lshlrev_b32_e32 v23, 16, v23
+; SI-NEXT: v_add_f64 v[10:11], s[42:43], 1.0
+; SI-NEXT: v_add_f64 v[18:19], s[10:11], 1.0
; SI-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_and_b32_e32 v23, 0xffff0000, v22
; SI-NEXT: v_lshlrev_b32_e32 v22, 16, v22
-; SI-NEXT: v_add_f64 v[10:11], s[42:43], 1.0
-; SI-NEXT: v_add_f64 v[18:19], s[10:11], 1.0
-; SI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_and_b32_e32 v22, 0xffff0000, v25
-; SI-NEXT: v_and_b32_e32 v43, 0xffff0000, v17
-; SI-NEXT: v_lshlrev_b32_e32 v42, 16, v17
-; SI-NEXT: v_and_b32_e32 v47, 0xffff0000, v15
-; SI-NEXT: v_lshlrev_b32_e32 v46, 16, v15
-; SI-NEXT: v_and_b32_e32 v57, 0xffff0000, v14
-; SI-NEXT: v_lshlrev_b32_e32 v56, 16, v14
+; SI-NEXT: v_and_b32_e32 v61, 0xffff0000, v17
+; SI-NEXT: v_lshlrev_b32_e32 v60, 16, v17
+; SI-NEXT: v_and_b32_e32 v51, 0xffff0000, v15
+; SI-NEXT: v_lshlrev_b32_e32 v50, 16, v15
+; SI-NEXT: v_and_b32_e32 v49, 0xffff0000, v14
+; SI-NEXT: v_lshlrev_b32_e32 v48, 16, v14
; SI-NEXT: v_and_b32_e32 v17, 0xffff0000, v2
-; SI-NEXT: v_lshlrev_b32_e32 v49, 16, v2
+; SI-NEXT: v_lshlrev_b32_e32 v41, 16, v2
; SI-NEXT: v_and_b32_e32 v15, 0xffff0000, v1
; SI-NEXT: v_lshlrev_b32_e32 v14, 16, v1
; SI-NEXT: v_add_f64 v[1:2], s[20:21], 1.0
-; SI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshlrev_b32_e32 v22, 16, v25
+; SI-NEXT: v_and_b32_e32 v22, 0xffff0000, v25
; SI-NEXT: v_add_f64 v[4:5], s[26:27], 1.0
; SI-NEXT: v_add_f64 v[12:13], s[40:41], 1.0
; SI-NEXT: v_add_f64 v[20:21], s[8:9], 1.0
-; SI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_and_b32_e32 v22, 0xffff0000, v24
-; SI-NEXT: v_and_b32_e32 v55, 0xffff0000, v19
-; SI-NEXT: v_lshlrev_b32_e32 v54, 16, v19
-; SI-NEXT: v_and_b32_e32 v41, 0xffff0000, v18
-; SI-NEXT: v_lshlrev_b32_e32 v40, 16, v18
-; SI-NEXT: v_and_b32_e32 v38, 0xffff0000, v11
-; SI-NEXT: v_lshlrev_b32_e32 v37, 16, v11
+; SI-NEXT: v_lshlrev_b32_e32 v22, 16, v25
+; SI-NEXT: v_and_b32_e32 v57, 0xffff0000, v19
+; SI-NEXT: v_lshlrev_b32_e32 v56, 16, v19
+; SI-NEXT: v_and_b32_e32 v59, 0xffff0000, v18
+; SI-NEXT: v_lshlrev_b32_e32 v58, 16, v18
+; SI-NEXT: v_and_b32_e32 v40, 0xffff0000, v11
+; SI-NEXT: v_lshlrev_b32_e32 v55, 16, v11
; SI-NEXT: v_and_b32_e32 v33, 0xffff0000, v10
; SI-NEXT: v_lshlrev_b32_e32 v32, 16, v10
; SI-NEXT: v_and_b32_e32 v19, 0xffff0000, v3
@@ -126606,34 +126667,35 @@ define inreg <64 x bfloat> @bitcast_v16f64_to_v64bf16_scalar(<16 x double> inreg
; SI-NEXT: v_and_b32_e32 v11, 0xffff0000, v2
; SI-NEXT: v_lshlrev_b32_e32 v10, 16, v2
; SI-NEXT: v_add_f64 v[2:3], s[18:19], 1.0
-; SI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_lshlrev_b32_e32 v22, 16, v24
; SI-NEXT: v_add_f64 v[6:7], s[28:29], 1.0
; SI-NEXT: v_add_f64 v[8:9], s[44:45], 1.0
; SI-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
-; SI-NEXT: v_and_b32_e32 v51, 0xffff0000, v21
-; SI-NEXT: v_lshlrev_b32_e32 v50, 16, v21
-; SI-NEXT: v_and_b32_e32 v53, 0xffff0000, v20
-; SI-NEXT: v_lshlrev_b32_e32 v52, 16, v20
-; SI-NEXT: v_and_b32_e32 v59, 0xffff0000, v13
-; SI-NEXT: v_lshlrev_b32_e32 v58, 16, v13
+; SI-NEXT: v_and_b32_e32 v45, 0xffff0000, v21
+; SI-NEXT: v_lshlrev_b32_e32 v44, 16, v21
+; SI-NEXT: v_and_b32_e32 v47, 0xffff0000, v20
+; SI-NEXT: v_lshlrev_b32_e32 v46, 16, v20
+; SI-NEXT: v_and_b32_e32 v53, 0xffff0000, v16
+; SI-NEXT: v_lshlrev_b32_e32 v52, 16, v16
+; SI-NEXT: v_and_b32_e32 v39, 0xffff0000, v13
+; SI-NEXT: v_lshlrev_b32_e32 v38, 16, v13
; SI-NEXT: s_waitcnt expcnt(1)
; SI-NEXT: v_and_b32_e32 v23, 0xffff0000, v5
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_lshlrev_b32_e32 v22, 16, v5
; SI-NEXT: v_and_b32_e32 v21, 0xffff0000, v4
; SI-NEXT: v_lshlrev_b32_e32 v20, 16, v4
-; SI-NEXT: v_and_b32_e32 v39, 0xffff0000, v1
+; SI-NEXT: v_and_b32_e32 v16, 0xffff0000, v1
; SI-NEXT: v_lshlrev_b32_e32 v13, 16, v1
; SI-NEXT: v_and_b32_e32 v5, 0xffff0000, v2
; SI-NEXT: v_lshlrev_b32_e32 v4, 16, v2
; SI-NEXT: v_add_f64 v[1:2], s[16:17], 1.0
-; SI-NEXT: v_and_b32_e32 v45, 0xffff0000, v16
-; SI-NEXT: v_lshlrev_b32_e32 v44, 16, v16
-; SI-NEXT: v_and_b32_e32 v61, 0xffff0000, v12
-; SI-NEXT: v_lshlrev_b32_e32 v60, 16, v12
+; SI-NEXT: v_and_b32_e32 v43, 0xffff0000, v24
+; SI-NEXT: v_and_b32_e32 v37, 0xffff0000, v12
+; SI-NEXT: v_lshlrev_b32_e32 v36, 16, v12
; SI-NEXT: v_and_b32_e32 v31, 0xffff0000, v9
; SI-NEXT: v_lshlrev_b32_e32 v30, 16, v9
; SI-NEXT: v_and_b32_e32 v29, 0xffff0000, v8
@@ -126643,8 +126705,8 @@ define inreg <64 x bfloat> @bitcast_v16f64_to_v64bf16_scalar(<16 x double> inreg
; SI-NEXT: v_and_b32_e32 v25, 0xffff0000, v6
; SI-NEXT: v_lshlrev_b32_e32 v24, 16, v6
; SI-NEXT: v_and_b32_e32 v12, 0xffff0000, v0
-; SI-NEXT: v_lshlrev_b32_e32 v36, 16, v0
-; SI-NEXT: v_and_b32_e32 v48, 0xffff0000, v3
+; SI-NEXT: v_lshlrev_b32_e32 v54, 16, v0
+; SI-NEXT: v_and_b32_e32 v42, 0xffff0000, v3
; SI-NEXT: v_lshlrev_b32_e32 v6, 16, v3
; SI-NEXT: v_and_b32_e32 v3, 0xffff0000, v2
; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
@@ -126668,9 +126730,6 @@ define inreg <64 x bfloat> @bitcast_v16f64_to_v64bf16_scalar(<16 x double> inreg
; SI-NEXT: v_mov_b32_e32 v0, s96
; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mov_b32_e32 v0, s87
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v0, s86
; SI-NEXT: v_readlane_b32 s4, v62, 0
; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
@@ -126678,28 +126737,29 @@ define inreg <64 x bfloat> @bitcast_v16f64_to_v64bf16_scalar(<16 x double> inreg
; SI-NEXT: v_mov_b32_e32 v0, s4
; SI-NEXT: v_readlane_b32 s4, v62, 1
; SI-NEXT: v_mov_b32_e32 v1, s57
-; SI-NEXT: v_mov_b32_e32 v51, s85
-; SI-NEXT: v_mov_b32_e32 v50, s84
-; SI-NEXT: v_mov_b32_e32 v53, s83
-; SI-NEXT: v_mov_b32_e32 v52, s82
-; SI-NEXT: v_mov_b32_e32 v55, s81
-; SI-NEXT: v_mov_b32_e32 v54, s80
-; SI-NEXT: v_mov_b32_e32 v41, s71
-; SI-NEXT: v_mov_b32_e32 v40, s70
-; SI-NEXT: v_mov_b32_e32 v43, s69
-; SI-NEXT: v_mov_b32_e32 v42, s68
-; SI-NEXT: v_mov_b32_e32 v45, s67
-; SI-NEXT: v_mov_b32_e32 v44, s66
-; SI-NEXT: v_mov_b32_e32 v47, s65
-; SI-NEXT: v_mov_b32_e32 v46, s64
-; SI-NEXT: v_mov_b32_e32 v57, s55
-; SI-NEXT: v_mov_b32_e32 v56, s54
-; SI-NEXT: v_mov_b32_e32 v59, s53
-; SI-NEXT: v_mov_b32_e32 v58, s52
-; SI-NEXT: v_mov_b32_e32 v61, s51
-; SI-NEXT: v_mov_b32_e32 v60, s50
-; SI-NEXT: v_mov_b32_e32 v38, s49
-; SI-NEXT: v_mov_b32_e32 v37, s48
+; SI-NEXT: v_mov_b32_e32 v43, s87
+; SI-NEXT: v_mov_b32_e32 v45, s85
+; SI-NEXT: v_mov_b32_e32 v44, s84
+; SI-NEXT: v_mov_b32_e32 v47, s83
+; SI-NEXT: v_mov_b32_e32 v46, s82
+; SI-NEXT: v_mov_b32_e32 v57, s81
+; SI-NEXT: v_mov_b32_e32 v56, s80
+; SI-NEXT: v_mov_b32_e32 v59, s71
+; SI-NEXT: v_mov_b32_e32 v58, s70
+; SI-NEXT: v_mov_b32_e32 v61, s69
+; SI-NEXT: v_mov_b32_e32 v60, s68
+; SI-NEXT: v_mov_b32_e32 v53, s67
+; SI-NEXT: v_mov_b32_e32 v52, s66
+; SI-NEXT: v_mov_b32_e32 v51, s65
+; SI-NEXT: v_mov_b32_e32 v50, s64
+; SI-NEXT: v_mov_b32_e32 v49, s55
+; SI-NEXT: v_mov_b32_e32 v48, s54
+; SI-NEXT: v_mov_b32_e32 v39, s53
+; SI-NEXT: v_mov_b32_e32 v38, s52
+; SI-NEXT: v_mov_b32_e32 v37, s51
+; SI-NEXT: v_mov_b32_e32 v36, s50
+; SI-NEXT: v_mov_b32_e32 v40, s49
+; SI-NEXT: v_mov_b32_e32 v55, s48
; SI-NEXT: v_mov_b32_e32 v33, s39
; SI-NEXT: v_mov_b32_e32 v32, s38
; SI-NEXT: v_mov_b32_e32 v31, s37
@@ -126717,16 +126777,16 @@ define inreg <64 x bfloat> @bitcast_v16f64_to_v64bf16_scalar(<16 x double> inreg
; SI-NEXT: v_mov_b32_e32 v19, s91
; SI-NEXT: v_mov_b32_e32 v18, s90
; SI-NEXT: v_mov_b32_e32 v17, s89
-; SI-NEXT: v_mov_b32_e32 v49, s88
+; SI-NEXT: v_mov_b32_e32 v41, s88
; SI-NEXT: v_mov_b32_e32 v15, s79
; SI-NEXT: v_mov_b32_e32 v14, s78
; SI-NEXT: v_mov_b32_e32 v12, s77
-; SI-NEXT: v_mov_b32_e32 v36, s76
+; SI-NEXT: v_mov_b32_e32 v54, s76
; SI-NEXT: v_mov_b32_e32 v11, s75
; SI-NEXT: v_mov_b32_e32 v10, s74
-; SI-NEXT: v_mov_b32_e32 v39, s73
+; SI-NEXT: v_mov_b32_e32 v16, s73
; SI-NEXT: v_mov_b32_e32 v13, s72
-; SI-NEXT: v_mov_b32_e32 v48, s63
+; SI-NEXT: v_mov_b32_e32 v42, s63
; SI-NEXT: v_mov_b32_e32 v6, s62
; SI-NEXT: v_mov_b32_e32 v5, s61
; SI-NEXT: v_mov_b32_e32 v4, s60
@@ -126740,25 +126800,25 @@ define inreg <64 x bfloat> @bitcast_v16f64_to_v64bf16_scalar(<16 x double> inreg
; SI-NEXT: v_lshrrev_b32_e32 v3, 16, v0
; SI-NEXT: v_mul_f32_e32 v0, 1.0, v5
; SI-NEXT: v_lshrrev_b32_e32 v8, 16, v0
-; SI-NEXT: v_mul_f32_e32 v0, 1.0, v48
+; SI-NEXT: v_mul_f32_e32 v0, 1.0, v42
; SI-NEXT: v_lshrrev_b32_e32 v5, 16, v0
-; SI-NEXT: v_mul_f32_e32 v0, 1.0, v39
+; SI-NEXT: v_mul_f32_e32 v0, 1.0, v16
; SI-NEXT: v_mul_f32_e32 v7, 1.0, v4
; SI-NEXT: v_mul_f32_e32 v4, 1.0, v6
; SI-NEXT: v_lshrrev_b32_e32 v6, 16, v0
; SI-NEXT: v_mul_f32_e32 v0, 1.0, v11
; SI-NEXT: v_lshrrev_b32_e32 v11, 16, v0
; SI-NEXT: v_mul_f32_e32 v10, 1.0, v10
-; SI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
; SI-NEXT: v_mul_f32_e32 v0, 1.0, v12
; SI-NEXT: v_mul_f32_e32 v34, 1.0, v9
; SI-NEXT: s_waitcnt expcnt(1)
; SI-NEXT: v_lshrrev_b32_e32 v10, 16, v0
-; SI-NEXT: v_mul_f32_e32 v9, 1.0, v36
+; SI-NEXT: v_mul_f32_e32 v9, 1.0, v54
; SI-NEXT: v_mul_f32_e32 v0, 1.0, v15
-; SI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
; SI-NEXT: v_lshrrev_b32_e32 v16, 16, v0
; SI-NEXT: v_mul_f32_e32 v0, 1.0, v17
; SI-NEXT: s_waitcnt expcnt(0)
@@ -126779,15 +126839,25 @@ define inreg <64 x bfloat> @bitcast_v16f64_to_v64bf16_scalar(<16 x double> inreg
; SI-NEXT: v_mul_f32_e32 v0, 1.0, v31
; SI-NEXT: v_lshrrev_b32_e32 v31, 16, v0
; SI-NEXT: v_mul_f32_e32 v0, 1.0, v33
-; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
; SI-NEXT: v_mul_f32_e32 v11, 1.0, v18
; SI-NEXT: v_lshrrev_b32_e32 v18, 16, v0
-; SI-NEXT: v_mul_f32_e32 v0, 1.0, v38
+; SI-NEXT: v_mul_f32_e32 v0, 1.0, v40
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mul_f32_e32 v5, 1.0, v13
; SI-NEXT: v_mul_f32_e32 v13, 1.0, v20
; SI-NEXT: v_lshrrev_b32_e32 v20, 16, v0
+; SI-NEXT: v_mul_f32_e32 v0, 1.0, v37
+; SI-NEXT: v_lshrrev_b32_e32 v37, 16, v0
+; SI-NEXT: v_mul_f32_e32 v0, 1.0, v39
+; SI-NEXT: v_lshrrev_b32_e32 v39, 16, v0
+; SI-NEXT: v_mul_f32_e32 v0, 1.0, v49
+; SI-NEXT: v_lshrrev_b32_e32 v49, 16, v0
+; SI-NEXT: v_mul_f32_e32 v0, 1.0, v51
+; SI-NEXT: v_lshrrev_b32_e32 v51, 16, v0
+; SI-NEXT: v_mul_f32_e32 v0, 1.0, v53
+; SI-NEXT: v_lshrrev_b32_e32 v53, 16, v0
; SI-NEXT: v_mul_f32_e32 v0, 1.0, v61
; SI-NEXT: v_lshrrev_b32_e32 v61, 16, v0
; SI-NEXT: v_mul_f32_e32 v0, 1.0, v59
@@ -126800,39 +126870,31 @@ define inreg <64 x bfloat> @bitcast_v16f64_to_v64bf16_scalar(<16 x double> inreg
; SI-NEXT: v_lshrrev_b32_e32 v45, 16, v0
; SI-NEXT: v_mul_f32_e32 v0, 1.0, v43
; SI-NEXT: v_lshrrev_b32_e32 v43, 16, v0
-; SI-NEXT: v_mul_f32_e32 v0, 1.0, v41
-; SI-NEXT: v_lshrrev_b32_e32 v41, 16, v0
-; SI-NEXT: v_mul_f32_e32 v0, 1.0, v55
-; SI-NEXT: v_lshrrev_b32_e32 v55, 16, v0
-; SI-NEXT: v_mul_f32_e32 v0, 1.0, v53
-; SI-NEXT: v_lshrrev_b32_e32 v53, 16, v0
-; SI-NEXT: v_mul_f32_e32 v0, 1.0, v51
-; SI-NEXT: v_lshrrev_b32_e32 v51, 16, v0
-; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
-; SI-NEXT: v_mul_f32_e32 v9, 1.0, v49
+; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
; SI-NEXT: v_mul_f32_e32 v2, 1.0, v2
; SI-NEXT: v_lshr_b64 v[33:34], v[34:35], 16
; SI-NEXT: v_lshr_b64 v[34:35], v[2:3], 16
; SI-NEXT: v_lshr_b64 v[2:3], v[7:8], 16
-; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
-; SI-NEXT: v_mul_f32_e32 v19, 1.0, v37
+; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
+; SI-NEXT: v_mul_f32_e32 v9, 1.0, v41
+; SI-NEXT: v_mul_f32_e32 v19, 1.0, v55
; SI-NEXT: v_mul_f32_e32 v22, 1.0, v22
; SI-NEXT: v_mul_f32_e32 v24, 1.0, v24
; SI-NEXT: v_mul_f32_e32 v26, 1.0, v26
; SI-NEXT: v_mul_f32_e32 v28, 1.0, v28
; SI-NEXT: v_mul_f32_e32 v30, 1.0, v30
; SI-NEXT: v_mul_f32_e32 v17, 1.0, v32
+; SI-NEXT: v_mul_f32_e32 v36, 1.0, v36
+; SI-NEXT: v_mul_f32_e32 v38, 1.0, v38
+; SI-NEXT: v_mul_f32_e32 v48, 1.0, v48
+; SI-NEXT: v_mul_f32_e32 v50, 1.0, v50
+; SI-NEXT: v_mul_f32_e32 v52, 1.0, v52
; SI-NEXT: v_mul_f32_e32 v60, 1.0, v60
; SI-NEXT: v_mul_f32_e32 v58, 1.0, v58
; SI-NEXT: v_mul_f32_e32 v56, 1.0, v56
; SI-NEXT: v_mul_f32_e32 v46, 1.0, v46
; SI-NEXT: v_mul_f32_e32 v44, 1.0, v44
-; SI-NEXT: v_mul_f32_e32 v42, 1.0, v42
-; SI-NEXT: v_mul_f32_e32 v40, 1.0, v40
-; SI-NEXT: v_mul_f32_e32 v54, 1.0, v54
-; SI-NEXT: v_mul_f32_e32 v52, 1.0, v52
-; SI-NEXT: v_mul_f32_e32 v50, 1.0, v50
; SI-NEXT: v_readlane_b32 s30, v63, 34
; SI-NEXT: v_readlane_b32 s31, v63, 35
; SI-NEXT: v_readlane_b32 s99, v63, 33
@@ -126870,25 +126932,24 @@ define inreg <64 x bfloat> @bitcast_v16f64_to_v64bf16_scalar(<16 x double> inreg
; SI-NEXT: v_readlane_b32 s35, v63, 1
; SI-NEXT: v_readlane_b32 s34, v63, 0
; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_mul_f32_e32 v0, 1.0, v0
-; SI-NEXT: v_lshrrev_b32_e32 v49, 16, v0
-; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
+; SI-NEXT: v_mul_f32_e32 v42, 1.0, v0
+; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(1)
; SI-NEXT: v_lshr_b64 v[3:4], v[3:4], 16
; SI-NEXT: v_lshr_b64 v[4:5], v[5:6], 16
-; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_mul_f32_e32 v48, 1.0, v0
-; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload
+; SI-NEXT: v_mul_f32_e32 v0, 1.0, v0
+; SI-NEXT: v_lshrrev_b32_e32 v41, 16, v0
+; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(1)
; SI-NEXT: v_lshr_b64 v[5:6], v[5:6], 16
-; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_mul_f32_e32 v0, 1.0, v0
-; SI-NEXT: v_lshrrev_b32_e32 v39, 16, v0
-; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload
+; SI-NEXT: v_mul_f32_e32 v40, 1.0, v0
+; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(1)
; SI-NEXT: v_lshr_b64 v[6:7], v[6:7], 16
; SI-NEXT: v_lshr_b64 v[7:8], v[15:16], 16
@@ -126902,13 +126963,18 @@ define inreg <64 x bfloat> @bitcast_v16f64_to_v64bf16_scalar(<16 x double> inreg
; SI-NEXT: v_lshr_b64 v[15:16], v[30:31], 16
; SI-NEXT: v_lshr_b64 v[16:17], v[17:18], 16
; SI-NEXT: v_lshr_b64 v[17:18], v[19:20], 16
-; SI-NEXT: v_lshr_b64 v[18:19], v[60:61], 16
-; SI-NEXT: v_lshr_b64 v[19:20], v[58:59], 16
-; SI-NEXT: v_lshr_b64 v[20:21], v[56:57], 16
-; SI-NEXT: v_lshr_b64 v[21:22], v[46:47], 16
-; SI-NEXT: v_lshr_b64 v[22:23], v[44:45], 16
-; SI-NEXT: v_lshr_b64 v[23:24], v[42:43], 16
-; SI-NEXT: v_lshr_b64 v[24:25], v[40:41], 16
+; SI-NEXT: v_lshr_b64 v[18:19], v[36:37], 16
+; SI-NEXT: v_lshr_b64 v[19:20], v[38:39], 16
+; SI-NEXT: v_lshr_b64 v[20:21], v[48:49], 16
+; SI-NEXT: v_lshr_b64 v[21:22], v[50:51], 16
+; SI-NEXT: v_lshr_b64 v[22:23], v[52:53], 16
+; SI-NEXT: v_lshr_b64 v[23:24], v[60:61], 16
+; SI-NEXT: v_lshr_b64 v[24:25], v[58:59], 16
+; SI-NEXT: v_lshr_b64 v[25:26], v[56:57], 16
+; SI-NEXT: v_lshr_b64 v[26:27], v[46:47], 16
+; SI-NEXT: v_lshr_b64 v[27:28], v[44:45], 16
+; SI-NEXT: v_lshr_b64 v[28:29], v[42:43], 16
+; SI-NEXT: v_lshr_b64 v[29:30], v[40:41], 16
; SI-NEXT: buffer_load_dword v61, off, s[0:3], s32 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v60, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v59, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload
@@ -126923,32 +126989,24 @@ define inreg <64 x bfloat> @bitcast_v16f64_to_v64bf16_scalar(<16 x double> inreg
; SI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:44 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:48 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:52 ; 4-byte Folded Reload
-; SI-NEXT: v_lshr_b64 v[25:26], v[54:55], 16
-; SI-NEXT: v_lshr_b64 v[26:27], v[52:53], 16
-; SI-NEXT: v_lshr_b64 v[27:28], v[50:51], 16
-; SI-NEXT: v_lshr_b64 v[28:29], v[48:49], 16
; SI-NEXT: s_waitcnt vmcnt(14)
-; SI-NEXT: v_mul_f32_e32 v38, 1.0, v0
-; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload
-; SI-NEXT: v_lshr_b64 v[29:30], v[38:39], 16
-; SI-NEXT: s_waitcnt vmcnt(0)
; SI-NEXT: v_mul_f32_e32 v0, 1.0, v0
-; SI-NEXT: v_lshrrev_b32_e32 v37, 16, v0
+; SI-NEXT: v_lshrrev_b32_e32 v55, 16, v0
; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_mul_f32_e32 v36, 1.0, v0
+; SI-NEXT: v_mul_f32_e32 v54, 1.0, v0
; SI-NEXT: v_mul_f32_e32 v0, 1.0, v1
; SI-NEXT: v_lshrrev_b32_e32 v1, 16, v0
; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:56 ; 4-byte Folded Reload
-; SI-NEXT: v_lshr_b64 v[30:31], v[36:37], 16
+; SI-NEXT: v_lshr_b64 v[30:31], v[54:55], 16
; SI-NEXT: s_waitcnt vmcnt(0)
; SI-NEXT: v_mul_f32_e32 v0, 1.0, v0
; SI-NEXT: v_lshr_b64 v[31:32], v[0:1], 16
; SI-NEXT: v_mov_b32_e32 v0, v33
; SI-NEXT: v_mov_b32_e32 v1, v34
; SI-NEXT: s_or_saveexec_b64 s[4:5], -1
-; SI-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
; SI-NEXT: s_mov_b64 exec, s[4:5]
; SI-NEXT: s_waitcnt vmcnt(0)
; SI-NEXT: s_setpc_b64 s[30:31]
@@ -130355,7 +130413,7 @@ define inreg <16 x double> @bitcast_v64bf16_to_v16f64_scalar(<64 x bfloat> inreg
; SI: ; %bb.0:
; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
; SI-NEXT: s_or_saveexec_b64 s[4:5], -1
-; SI-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
; SI-NEXT: s_mov_b64 exec, s[4:5]
; SI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:52 ; 4-byte Folded Spill
@@ -130377,76 +130435,61 @@ define inreg <16 x double> @bitcast_v64bf16_to_v16f64_scalar(<64 x bfloat> inreg
; SI-NEXT: v_writelane_b32 v63, s36, 2
; SI-NEXT: v_writelane_b32 v63, s30, 3
; SI-NEXT: v_writelane_b32 v63, s31, 4
-; SI-NEXT: v_readfirstlane_b32 s78, v7
-; SI-NEXT: v_readfirstlane_b32 s74, v9
-; SI-NEXT: s_and_b32 s79, s78, 0xffff0000
; SI-NEXT: v_readfirstlane_b32 s72, v10
-; SI-NEXT: s_and_b32 s75, s74, 0xffff0000
-; SI-NEXT: v_readfirstlane_b32 s34, v0
-; SI-NEXT: v_mul_f32_e64 v0, 1.0, s79
-; SI-NEXT: v_readfirstlane_b32 s62, v11
-; SI-NEXT: s_and_b32 s73, s72, 0xffff0000
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mul_f32_e64 v0, 1.0, s75
-; SI-NEXT: v_readfirstlane_b32 s60, v12
-; SI-NEXT: s_and_b32 s63, s62, 0xffff0000
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mul_f32_e64 v0, 1.0, s73
-; SI-NEXT: v_readfirstlane_b32 s58, v13
-; SI-NEXT: s_and_b32 s61, s60, 0xffff0000
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mul_f32_e64 v0, 1.0, s63
-; SI-NEXT: v_readfirstlane_b32 s56, v14
-; SI-NEXT: s_and_b32 s59, s58, 0xffff0000
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mul_f32_e64 v0, 1.0, s61
; SI-NEXT: v_readfirstlane_b32 s44, v16
-; SI-NEXT: s_and_b32 s57, s56, 0xffff0000
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mul_f32_e64 v0, 1.0, s59
+; SI-NEXT: s_and_b32 s73, s72, 0xffff0000
; SI-NEXT: v_readfirstlane_b32 s42, v17
; SI-NEXT: s_and_b32 s45, s44, 0xffff0000
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mul_f32_e64 v0, 1.0, s57
+; SI-NEXT: v_readfirstlane_b32 s34, v0
+; SI-NEXT: v_mul_f32_e64 v0, 1.0, s73
; SI-NEXT: s_and_b32 s43, s42, 0xffff0000
-; SI-NEXT: v_readfirstlane_b32 s94, v3
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; SI-NEXT: v_readfirstlane_b32 vcc_lo, v2
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mul_f32_e64 v0, 1.0, s45
-; SI-NEXT: s_and_b32 s95, s94, 0xffff0000
-; SI-NEXT: s_lshl_b32 s94, s94, 16
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; SI-NEXT: s_and_b32 s40, s17, 0xffff0000
+; SI-NEXT: s_and_b32 vcc_hi, vcc_lo, 0xffff0000
+; SI-NEXT: s_lshl_b32 vcc_lo, vcc_lo, 16
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mul_f32_e64 v0, 1.0, s43
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; SI-NEXT: v_readfirstlane_b32 s30, v1
+; SI-NEXT: v_mul_f32_e64 v1, 1.0, s40
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_mul_f32_e64 v0, 1.0, vcc_lo
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; SI-NEXT: v_readfirstlane_b32 s94, v3
+; SI-NEXT: s_and_b32 s95, s94, 0xffff0000
+; SI-NEXT: s_lshl_b32 s94, s94, 16
+; SI-NEXT: s_waitcnt expcnt(1)
; SI-NEXT: v_mul_f32_e64 v0, 1.0, s94
-; SI-NEXT: v_readfirstlane_b32 s30, v1
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
; SI-NEXT: v_readfirstlane_b32 s92, v4
; SI-NEXT: s_and_b32 s93, s92, 0xffff0000
; SI-NEXT: s_lshl_b32 s92, s92, 16
-; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_mul_f32_e64 v0, 1.0, s92
; SI-NEXT: v_readfirstlane_b32 s90, v5
; SI-NEXT: s_and_b32 s91, s90, 0xffff0000
; SI-NEXT: s_lshl_b32 s90, s90, 16
; SI-NEXT: v_readfirstlane_b32 s88, v6
; SI-NEXT: s_and_b32 s89, s88, 0xffff0000
; SI-NEXT: s_lshl_b32 s88, s88, 16
+; SI-NEXT: v_readfirstlane_b32 s78, v7
+; SI-NEXT: s_and_b32 s79, s78, 0xffff0000
; SI-NEXT: s_lshl_b32 s78, s78, 16
; SI-NEXT: v_readfirstlane_b32 s76, v8
; SI-NEXT: s_and_b32 s77, s76, 0xffff0000
; SI-NEXT: s_lshl_b32 s76, s76, 16
+; SI-NEXT: v_readfirstlane_b32 s74, v9
+; SI-NEXT: s_and_b32 s75, s74, 0xffff0000
+; SI-NEXT: s_lshl_b32 s74, s74, 16
; SI-NEXT: v_readfirstlane_b32 s46, v15
-; SI-NEXT: v_readfirstlane_b32 vcc_lo, v2
+; SI-NEXT: s_and_b32 s47, s46, 0xffff0000
+; SI-NEXT: s_lshl_b32 s46, s46, 16
+; SI-NEXT: v_readfirstlane_b32 s56, v14
+; SI-NEXT: v_readfirstlane_b32 s58, v13
+; SI-NEXT: v_readfirstlane_b32 s60, v12
+; SI-NEXT: v_readfirstlane_b32 s62, v11
; SI-NEXT: s_and_b32 s4, s29, 0xffff0000
; SI-NEXT: s_lshl_b32 s5, s29, 16
; SI-NEXT: s_and_b32 s6, s28, 0xffff0000
@@ -130471,105 +130514,94 @@ define inreg <16 x double> @bitcast_v64bf16_to_v16f64_scalar(<64 x bfloat> inreg
; SI-NEXT: s_lshl_b32 s19, s19, 16
; SI-NEXT: s_and_b32 s29, s18, 0xffff0000
; SI-NEXT: s_lshl_b32 s18, s18, 16
-; SI-NEXT: s_and_b32 s40, s17, 0xffff0000
; SI-NEXT: s_lshl_b32 s17, s17, 16
; SI-NEXT: s_and_b32 s41, s16, 0xffff0000
; SI-NEXT: s_lshl_b32 s16, s16, 16
; SI-NEXT: s_lshl_b32 s42, s42, 16
; SI-NEXT: s_lshl_b32 s44, s44, 16
-; SI-NEXT: s_and_b32 s47, s46, 0xffff0000
-; SI-NEXT: s_lshl_b32 s46, s46, 16
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_mul_f32_e64 v0, 1.0, s90
+; SI-NEXT: s_and_b32 s57, s56, 0xffff0000
; SI-NEXT: s_lshl_b32 s56, s56, 16
+; SI-NEXT: s_and_b32 s59, s58, 0xffff0000
; SI-NEXT: s_lshl_b32 s58, s58, 16
+; SI-NEXT: s_and_b32 s61, s60, 0xffff0000
; SI-NEXT: s_lshl_b32 s60, s60, 16
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(1)
+; SI-NEXT: v_mul_f32_e64 v0, 1.0, s92
+; SI-NEXT: s_and_b32 s63, s62, 0xffff0000
; SI-NEXT: s_lshl_b32 s62, s62, 16
; SI-NEXT: s_lshl_b32 s72, s72, 16
-; SI-NEXT: s_lshl_b32 s74, s74, 16
-; SI-NEXT: s_and_b32 vcc_hi, vcc_lo, 0xffff0000
-; SI-NEXT: s_lshl_b32 vcc_lo, vcc_lo, 16
; SI-NEXT: s_and_b32 s31, s30, 0xffff0000
; SI-NEXT: s_lshl_b32 s30, s30, 16
; SI-NEXT: s_and_b32 s35, s34, 0xffff0000
; SI-NEXT: s_lshl_b32 s34, s34, 16
; SI-NEXT: v_readfirstlane_b32 s36, v18
; SI-NEXT: s_cmp_lg_u32 s36, 0
-; SI-NEXT: v_mul_f32_e64 v37, 1.0, s41
-; SI-NEXT: v_mul_f32_e64 v39, 1.0, s40
-; SI-NEXT: v_mul_f32_e64 v35, 1.0, s29
-; SI-NEXT: v_mul_f32_e64 v33, 1.0, s28
-; SI-NEXT: v_mul_f32_e64 v5, 1.0, s27
+; SI-NEXT: v_mul_f32_e64 v39, 1.0, s41
+; SI-NEXT: v_mul_f32_e64 v42, 1.0, s29
+; SI-NEXT: v_mul_f32_e64 v54, 1.0, s28
+; SI-NEXT: v_mul_f32_e64 v10, 1.0, s27
; SI-NEXT: v_mul_f32_e64 v6, 1.0, s26
; SI-NEXT: v_mul_f32_e64 v7, 1.0, s25
; SI-NEXT: v_mul_f32_e64 v8, 1.0, s24
; SI-NEXT: v_mul_f32_e64 v9, 1.0, s14
-; SI-NEXT: v_mul_f32_e64 v10, 1.0, s12
+; SI-NEXT: v_mul_f32_e64 v35, 1.0, s12
; SI-NEXT: v_mul_f32_e64 v61, 1.0, s10
; SI-NEXT: v_mul_f32_e64 v12, 1.0, s8
; SI-NEXT: v_mul_f32_e64 v15, 1.0, s6
; SI-NEXT: v_mul_f32_e64 v16, 1.0, s4
; SI-NEXT: v_mul_f32_e64 v17, 1.0, s35
-; SI-NEXT: v_mul_f32_e64 v19, 1.0, s31
-; SI-NEXT: v_mul_f32_e64 v18, 1.0, vcc_hi
-; SI-NEXT: v_mul_f32_e64 v20, 1.0, s95
-; SI-NEXT: v_mul_f32_e64 v54, 1.0, s93
+; SI-NEXT: v_mul_f32_e64 v20, 1.0, s31
+; SI-NEXT: v_mul_f32_e64 v19, 1.0, vcc_hi
+; SI-NEXT: v_mul_f32_e64 v18, 1.0, s95
+; SI-NEXT: v_mul_f32_e64 v25, 1.0, s93
; SI-NEXT: v_mul_f32_e64 v21, 1.0, s91
-; SI-NEXT: v_mul_f32_e64 v22, 1.0, s89
-; SI-NEXT: v_mul_f32_e64 v50, 1.0, s77
-; SI-NEXT: v_mul_f32_e64 v46, 1.0, s47
-; SI-NEXT: v_mul_f32_e64 v36, 1.0, s16
-; SI-NEXT: v_mul_f32_e64 v38, 1.0, s17
-; SI-NEXT: v_mul_f32_e64 v34, 1.0, s18
-; SI-NEXT: v_mul_f32_e64 v32, 1.0, s19
-; SI-NEXT: v_mul_f32_e64 v41, 1.0, s20
-; SI-NEXT: v_mul_f32_e64 v26, 1.0, s21
-; SI-NEXT: v_mul_f32_e64 v25, 1.0, s22
-; SI-NEXT: v_mul_f32_e64 v24, 1.0, s23
-; SI-NEXT: v_mul_f32_e64 v23, 1.0, s15
+; SI-NEXT: v_mul_f32_e64 v24, 1.0, s89
+; SI-NEXT: v_mul_f32_e64 v22, 1.0, s79
+; SI-NEXT: v_mul_f32_e64 v23, 1.0, s77
+; SI-NEXT: v_mul_f32_e64 v26, 1.0, s75
+; SI-NEXT: v_mul_f32_e64 v27, 1.0, s63
+; SI-NEXT: v_mul_f32_e64 v62, 1.0, s61
+; SI-NEXT: v_mul_f32_e64 v40, 1.0, s59
+; SI-NEXT: v_mul_f32_e64 v47, 1.0, s57
+; SI-NEXT: v_mul_f32_e64 v37, 1.0, s47
+; SI-NEXT: v_mul_f32_e64 v38, 1.0, s16
+; SI-NEXT: v_mul_f32_e64 v36, 1.0, s17
+; SI-NEXT: v_mul_f32_e64 v49, 1.0, s18
+; SI-NEXT: v_mul_f32_e64 v46, 1.0, s19
+; SI-NEXT: v_mul_f32_e64 v45, 1.0, s20
+; SI-NEXT: v_mul_f32_e64 v44, 1.0, s21
+; SI-NEXT: v_mul_f32_e64 v52, 1.0, s22
+; SI-NEXT: v_mul_f32_e64 v33, 1.0, s23
+; SI-NEXT: v_mul_f32_e64 v41, 1.0, s15
; SI-NEXT: v_mul_f32_e64 v13, 1.0, s13
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_mul_f32_e64 v0, 1.0, s88
; SI-NEXT: v_mul_f32_e64 v60, 1.0, s11
; SI-NEXT: v_mul_f32_e64 v59, 1.0, s9
; SI-NEXT: v_mul_f32_e64 v58, 1.0, s7
; SI-NEXT: v_mul_f32_e64 v57, 1.0, s5
; SI-NEXT: v_mul_f32_e64 v56, 1.0, s34
; SI-NEXT: v_mul_f32_e64 v55, 1.0, s30
-; SI-NEXT: v_mul_f32_e64 v51, 1.0, vcc_lo
-; SI-NEXT: v_mul_f32_e64 v53, 1.0, s72
-; SI-NEXT: v_mul_f32_e64 v40, 1.0, s62
-; SI-NEXT: v_mul_f32_e64 v43, 1.0, s60
+; SI-NEXT: v_mul_f32_e64 v32, 1.0, s72
+; SI-NEXT: v_mul_f32_e64 v43, 1.0, s62
+; SI-NEXT: v_mul_f32_e64 v51, 1.0, s60
; SI-NEXT: v_mul_f32_e64 v28, 1.0, s58
-; SI-NEXT: v_mul_f32_e64 v45, 1.0, s56
-; SI-NEXT: v_mul_f32_e64 v44, 1.0, s46
-; SI-NEXT: v_mul_f32_e64 v49, 1.0, s44
-; SI-NEXT: v_mul_f32_e64 v47, 1.0, s42
-; SI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
+; SI-NEXT: v_mul_f32_e64 v53, 1.0, s56
+; SI-NEXT: v_mul_f32_e64 v48, 1.0, s44
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(1)
+; SI-NEXT: v_mul_f32_e64 v0, 1.0, s90
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(1)
+; SI-NEXT: v_mul_f32_e64 v0, 1.0, s88
; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
; SI-NEXT: v_mul_f32_e64 v0, 1.0, s78
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
; SI-NEXT: v_mul_f32_e64 v0, 1.0, s76
; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
@@ -130578,72 +130610,129 @@ define inreg <16 x double> @bitcast_v64bf16_to_v16f64_scalar(<64 x bfloat> inreg
; SI-NEXT: v_mul_f32_e64 v0, 1.0, s74
; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(1)
+; SI-NEXT: v_mul_f32_e64 v0, 1.0, s46
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(1)
+; SI-NEXT: v_mul_f32_e64 v0, 1.0, s42
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
; SI-NEXT: s_cbranch_scc0 .LBB79_2
; SI-NEXT: ; %bb.1: ; %cmp.false
-; SI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(2)
-; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
-; SI-NEXT: v_mov_b32_e32 v48, v37
-; SI-NEXT: v_lshrrev_b32_e32 v37, 16, v48
-; SI-NEXT: v_mov_b32_e32 v62, v35
-; SI-NEXT: v_lshrrev_b32_e32 v35, 16, v62
-; SI-NEXT: v_lshrrev_b32_e32 v42, 16, v5
-; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v6
-; SI-NEXT: v_lshrrev_b32_e32 v14, 16, v10
-; SI-NEXT: v_lshrrev_b32_e32 v52, 16, v18
-; SI-NEXT: v_mov_b32_e32 v29, v54
-; SI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
-; SI-NEXT: v_mov_b32_e32 v30, v46
-; SI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
+; SI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
+; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
+; SI-NEXT: v_mov_b32_e32 v3, v37
+; SI-NEXT: v_lshrrev_b32_e32 v37, 16, v1
+; SI-NEXT: v_mov_b32_e32 v30, v3
+; SI-NEXT: v_lshrrev_b32_e32 v50, 16, v42
+; SI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_mov_b32_e32 v42, v53
+; SI-NEXT: v_lshrrev_b32_e32 v53, 16, v7
+; SI-NEXT: v_lshrrev_b32_e32 v34, 16, v8
+; SI-NEXT: v_mov_b32_e32 v29, v40
+; SI-NEXT: v_lshrrev_b32_e32 v40, 16, v9
+; SI-NEXT: v_lshrrev_b32_e32 v14, 16, v35
+; SI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_mov_b32_e32 v35, v61
+; SI-NEXT: v_lshrrev_b32_e32 v61, 16, v35
+; SI-NEXT: v_lshrrev_b32_e32 v18, 16, v18
+; SI-NEXT: v_lshrrev_b32_e32 v22, 16, v22
+; SI-NEXT: v_lshrrev_b32_e32 v23, 16, v23
+; SI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
; SI-NEXT: s_mov_b64 s[4:5], 0
-; SI-NEXT: s_waitcnt vmcnt(2) expcnt(0)
+; SI-NEXT: s_waitcnt vmcnt(4)
; SI-NEXT: v_lshrrev_b32_e32 v39, 16, v0
-; SI-NEXT: v_lshr_b64 v[0:1], v[36:37], 16
-; SI-NEXT: v_lshr_b64 v[1:2], v[38:39], 16
-; SI-NEXT: v_mov_b32_e32 v39, v33
-; SI-NEXT: v_lshr_b64 v[2:3], v[34:35], 16
-; SI-NEXT: v_lshrrev_b32_e32 v33, 16, v39
-; SI-NEXT: v_lshr_b64 v[3:4], v[32:33], 16
-; SI-NEXT: v_mov_b32_e32 v4, v41
-; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[4:5], v[41:42], 16
-; SI-NEXT: v_mov_b32_e32 v5, v26
-; SI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
+; SI-NEXT: v_lshr_b64 v[0:1], v[38:39], 16
+; SI-NEXT: v_lshr_b64 v[1:2], v[36:37], 16
+; SI-NEXT: v_mov_b32_e32 v2, v49
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[5:6], v[26:27], 16
-; SI-NEXT: v_mov_b32_e32 v6, v25
-; SI-NEXT: v_lshrrev_b32_e32 v26, 16, v7
-; SI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
+; SI-NEXT: v_lshr_b64 v[2:3], v[49:50], 16
+; SI-NEXT: v_mov_b32_e32 v3, v46
+; SI-NEXT: v_mov_b32_e32 v39, v41
+; SI-NEXT: v_mov_b32_e32 v41, v47
+; SI-NEXT: v_lshrrev_b32_e32 v47, 16, v54
+; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[6:7], v[25:26], 16
-; SI-NEXT: v_mov_b32_e32 v7, v24
-; SI-NEXT: v_lshrrev_b32_e32 v25, 16, v8
-; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
+; SI-NEXT: v_lshr_b64 v[3:4], v[46:47], 16
+; SI-NEXT: v_mov_b32_e32 v4, v45
+; SI-NEXT: v_lshrrev_b32_e32 v46, 16, v10
+; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_lshr_b64 v[4:5], v[45:46], 16
+; SI-NEXT: v_mov_b32_e32 v5, v44
+; SI-NEXT: v_lshrrev_b32_e32 v45, 16, v6
+; SI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[7:8], v[24:25], 16
-; SI-NEXT: v_mov_b32_e32 v8, v23
-; SI-NEXT: v_lshrrev_b32_e32 v24, 16, v9
-; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
+; SI-NEXT: v_lshr_b64 v[5:6], v[44:45], 16
+; SI-NEXT: v_mov_b32_e32 v6, v52
+; SI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_lshr_b64 v[6:7], v[52:53], 16
+; SI-NEXT: v_mov_b32_e32 v7, v33
+; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[8:9], v[23:24], 16
+; SI-NEXT: v_lshr_b64 v[7:8], v[33:34], 16
+; SI-NEXT: v_lshr_b64 v[8:9], v[39:40], 16
; SI-NEXT: v_mov_b32_e32 v9, v13
-; SI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
-; SI-NEXT: v_mov_b32_e32 v33, v61
+; SI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_lshr_b64 v[9:10], v[13:14], 16
-; SI-NEXT: v_lshrrev_b32_e32 v61, 16, v33
-; SI-NEXT: v_lshr_b64 v[10:11], v[60:61], 16
+; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
; SI-NEXT: v_mov_b32_e32 v13, v60
+; SI-NEXT: v_mov_b32_e32 v14, v59
+; SI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v54, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
+; SI-NEXT: v_lshrrev_b32_e32 v44, 16, v27
+; SI-NEXT: v_lshrrev_b32_e32 v52, 16, v62
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_lshrrev_b32_e32 v50, 16, v30
+; SI-NEXT: v_mov_b32_e32 v40, v29
+; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v29
+; SI-NEXT: v_mov_b32_e32 v34, v32
+; SI-NEXT: v_mov_b32_e32 v37, v30
+; SI-NEXT: v_mov_b32_e32 v47, v41
+; SI-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v50, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; SI-NEXT: v_mov_b32_e32 v53, v10
+; SI-NEXT: v_lshr_b64 v[10:11], v[60:61], 16
; SI-NEXT: v_lshrrev_b32_e32 v60, 16, v12
; SI-NEXT: v_lshr_b64 v[11:12], v[59:60], 16
-; SI-NEXT: v_mov_b32_e32 v14, v59
; SI-NEXT: v_lshrrev_b32_e32 v59, 16, v15
; SI-NEXT: v_mov_b32_e32 v60, v13
; SI-NEXT: v_lshr_b64 v[12:13], v[58:59], 16
@@ -130656,35 +130745,32 @@ define inreg <16 x double> @bitcast_v64bf16_to_v16f64_scalar(<64 x bfloat> inreg
; SI-NEXT: v_mov_b32_e32 v58, v15
; SI-NEXT: v_lshr_b64 v[14:15], v[56:57], 16
; SI-NEXT: v_mov_b32_e32 v17, v56
-; SI-NEXT: v_lshrrev_b32_e32 v56, 16, v19
+; SI-NEXT: v_lshrrev_b32_e32 v56, 16, v20
; SI-NEXT: v_mov_b32_e32 v57, v16
; SI-NEXT: v_lshr_b64 v[15:16], v[55:56], 16
; SI-NEXT: v_mov_b32_e32 v56, v17
-; SI-NEXT: v_lshr_b64 v[16:17], v[51:52], 16
-; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v18, 16, v20
-; SI-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
+; SI-NEXT: v_lshrrev_b32_e32 v17, 16, v19
+; SI-NEXT: v_lshrrev_b32_e32 v54, 16, v54
+; SI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_lshr_b64 v[16:17], v[16:17], 16
+; SI-NEXT: v_mov_b32_e32 v17, v33
; SI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
-; SI-NEXT: v_mov_b32_e32 v42, v49
-; SI-NEXT: v_mov_b32_e32 v49, v44
-; SI-NEXT: v_mov_b32_e32 v52, v40
-; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_lshrrev_b32_e32 v44, 16, v27
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_lshr_b64 v[17:18], v[17:18], 16
-; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v19, 16, v54
-; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
-; SI-NEXT: v_lshrrev_b32_e32 v54, 16, v25
+; SI-NEXT: v_lshrrev_b32_e32 v19, 16, v25
+; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_lshr_b64 v[18:19], v[18:19], 16
; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
@@ -130698,24 +130784,23 @@ define inreg <16 x double> @bitcast_v64bf16_to_v16f64_scalar(<64 x bfloat> inreg
; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v21, 16, v22
+; SI-NEXT: v_lshrrev_b32_e32 v21, 16, v24
+; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_lshr_b64 v[20:21], v[20:21], 16
-; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v22, 16, v22
-; SI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt vmcnt(3)
+; SI-NEXT: v_mov_b32_e32 v21, v24
+; SI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
+; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_lshr_b64 v[21:22], v[21:22], 16
-; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v23, 16, v50
+; SI-NEXT: s_waitcnt vmcnt(1)
+; SI-NEXT: v_mov_b32_e32 v22, v24
; SI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
@@ -130728,187 +130813,173 @@ define inreg <16 x double> @bitcast_v64bf16_to_v16f64_scalar(<64 x bfloat> inreg
; SI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_lshr_b64 v[23:24], v[23:24], 16
-; SI-NEXT: v_mov_b32_e32 v24, v53
-; SI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[24:25], v[53:54], 16
-; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v37, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
-; SI-NEXT: v_mov_b32_e32 v54, v29
-; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v46
-; SI-NEXT: v_lshrrev_b32_e32 v46, 16, v31
-; SI-NEXT: v_mov_b32_e32 v31, v50
-; SI-NEXT: v_lshrrev_b32_e32 v50, 16, v30
-; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_lshrrev_b32_e32 v41, 16, v25
-; SI-NEXT: v_lshr_b64 v[25:26], v[40:41], 16
-; SI-NEXT: v_mov_b32_e32 v26, v43
-; SI-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
+; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_lshrrev_b32_e32 v33, 16, v24
+; SI-NEXT: v_lshr_b64 v[24:25], v[32:33], 16
+; SI-NEXT: v_lshr_b64 v[25:26], v[43:44], 16
+; SI-NEXT: v_mov_b32_e32 v26, v51
+; SI-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[26:27], v[43:44], 16
+; SI-NEXT: v_lshr_b64 v[26:27], v[51:52], 16
; SI-NEXT: v_mov_b32_e32 v27, v28
-; SI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt vmcnt(4)
-; SI-NEXT: v_lshrrev_b32_e32 v43, 16, v37
-; SI-NEXT: v_mov_b32_e32 v37, v48
-; SI-NEXT: v_lshrrev_b32_e32 v48, 16, v35
-; SI-NEXT: v_mov_b32_e32 v35, v62
-; SI-NEXT: v_lshr_b64 v[61:62], v[47:48], 16
-; SI-NEXT: v_mov_b32_e32 v44, v49
+; SI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
+; SI-NEXT: v_mov_b32_e32 v32, v43
+; SI-NEXT: v_lshrrev_b32_e32 v43, 16, v41
+; SI-NEXT: v_mov_b32_e32 v41, v39
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_lshr_b64 v[27:28], v[28:29], 16
-; SI-NEXT: v_lshr_b64 v[28:29], v[45:46], 16
-; SI-NEXT: v_mov_b32_e32 v46, v30
+; SI-NEXT: v_lshr_b64 v[28:29], v[42:43], 16
; SI-NEXT: v_lshr_b64 v[29:30], v[49:50], 16
-; SI-NEXT: v_mov_b32_e32 v50, v31
-; SI-NEXT: v_lshr_b64 v[30:31], v[42:43], 16
+; SI-NEXT: v_lshrrev_b32_e32 v49, 16, v31
+; SI-NEXT: v_lshr_b64 v[30:31], v[48:49], 16
+; SI-NEXT: v_mov_b32_e32 v31, v62
+; SI-NEXT: v_lshr_b64 v[61:62], v[53:54], 16
+; SI-NEXT: buffer_load_dword v54, off, s[0:3], s32 offset:308 ; 4-byte Folded Reload
+; SI-NEXT: v_mov_b32_e32 v62, v31
; SI-NEXT: v_mov_b32_e32 v31, v61
-; SI-NEXT: v_mov_b32_e32 v61, v33
-; SI-NEXT: v_mov_b32_e32 v33, v39
-; SI-NEXT: buffer_load_dword v39, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
-; SI-NEXT: v_mov_b32_e32 v49, v42
+; SI-NEXT: v_mov_b32_e32 v61, v35
+; SI-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:316 ; 4-byte Folded Reload
+; SI-NEXT: v_mov_b32_e32 v53, v42
+; SI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:312 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v39, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload
; SI-NEXT: s_branch .LBB79_3
; SI-NEXT: .LBB79_2:
-; SI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
-; SI-NEXT: v_mov_b32_e32 v52, v40
-; SI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v50, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(2)
+; SI-NEXT: v_mov_b32_e32 v34, v32
+; SI-NEXT: v_mov_b32_e32 v32, v43
; SI-NEXT: s_mov_b64 s[4:5], -1
+; SI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
; SI-NEXT: ; implicit-def: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31
; SI-NEXT: .LBB79_3: ; %Flow
+; SI-NEXT: v_mov_b32_e32 v50, v32
+; SI-NEXT: v_mov_b32_e32 v32, v34
+; SI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt expcnt(3)
+; SI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt expcnt(2)
+; SI-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload
; SI-NEXT: s_and_b64 s[4:5], s[4:5], exec
; SI-NEXT: s_cselect_b32 s4, 1, 0
; SI-NEXT: s_cmp_lg_u32 s4, 1
+; SI-NEXT: s_waitcnt vmcnt(1)
+; SI-NEXT: v_mov_b32_e32 v34, v51
+; SI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload
; SI-NEXT: s_cbranch_scc1 .LBB79_5
; SI-NEXT: ; %bb.4: ; %cmp.true
-; SI-NEXT: v_and_b32_e32 v1, 0xffff0000, v37
-; SI-NEXT: v_and_b32_e32 v0, 0xffff0000, v36
+; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:276 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:272 ; 4-byte Folded Reload
+; SI-NEXT: v_and_b32_e32 v1, 0xffff0000, v39
+; SI-NEXT: v_and_b32_e32 v0, 0xffff0000, v38
; SI-NEXT: v_add_f32_e32 v1, 0x40c00000, v1
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v3, 0xffff0000, v39
; SI-NEXT: v_add_f32_e32 v0, 0x40c00000, v0
; SI-NEXT: v_lshrrev_b32_e32 v1, 16, v1
-; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v38
-; SI-NEXT: v_add_f32_e32 v3, 0x40c00000, v3
+; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v36
; SI-NEXT: v_add_f32_e32 v2, 0x40c00000, v2
-; SI-NEXT: v_lshrrev_b32_e32 v3, 16, v3
; SI-NEXT: v_lshr_b64 v[0:1], v[0:1], 16
+; SI-NEXT: s_waitcnt vmcnt(4)
+; SI-NEXT: v_mov_b32_e32 v49, v43
+; SI-NEXT: v_and_b32_e32 v4, 0xffff0000, v54
+; SI-NEXT: v_add_f32_e32 v4, 0x40c00000, v4
+; SI-NEXT: v_lshrrev_b32_e32 v4, 16, v4
+; SI-NEXT: v_and_b32_e32 v11, 0xffff0000, v61
+; SI-NEXT: v_add_f32_e32 v11, 0x40c00000, v11
+; SI-NEXT: v_lshrrev_b32_e32 v11, 16, v11
+; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_and_b32_e32 v29, 0xffff0000, v47
+; SI-NEXT: v_add_f32_e32 v29, 0x40c00000, v29
+; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v29
+; SI-NEXT: s_waitcnt vmcnt(11)
+; SI-NEXT: v_and_b32_e32 v3, 0xffff0000, v3
+; SI-NEXT: v_add_f32_e32 v3, 0x40c00000, v3
+; SI-NEXT: v_lshrrev_b32_e32 v3, 16, v3
; SI-NEXT: v_lshr_b64 v[1:2], v[2:3], 16
-; SI-NEXT: v_and_b32_e32 v3, 0xffff0000, v35
-; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v34
+; SI-NEXT: v_and_b32_e32 v3, 0xffff0000, v42
+; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v49
; SI-NEXT: v_add_f32_e32 v3, 0x40c00000, v3
; SI-NEXT: v_add_f32_e32 v2, 0x40c00000, v2
; SI-NEXT: v_lshrrev_b32_e32 v3, 16, v3
; SI-NEXT: v_lshr_b64 v[2:3], v[2:3], 16
-; SI-NEXT: v_and_b32_e32 v4, 0xffff0000, v33
-; SI-NEXT: v_and_b32_e32 v3, 0xffff0000, v32
-; SI-NEXT: v_add_f32_e32 v4, 0x40c00000, v4
+; SI-NEXT: v_and_b32_e32 v3, 0xffff0000, v51
; SI-NEXT: v_add_f32_e32 v3, 0x40c00000, v3
-; SI-NEXT: v_lshrrev_b32_e32 v4, 16, v4
; SI-NEXT: v_lshr_b64 v[3:4], v[3:4], 16
-; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:280 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload
-; SI-NEXT: v_and_b32_e32 v11, 0xffff0000, v61
-; SI-NEXT: v_add_f32_e32 v11, 0x40c00000, v11
-; SI-NEXT: v_lshrrev_b32_e32 v11, 16, v11
-; SI-NEXT: v_and_b32_e32 v30, 0xffff0000, v46
-; SI-NEXT: v_add_f32_e32 v30, 0x40c00000, v30
-; SI-NEXT: v_lshrrev_b32_e32 v30, 16, v30
-; SI-NEXT: v_and_b32_e32 v32, 0xffff0000, v47
-; SI-NEXT: v_add_f32_e32 v32, 0x40c00000, v32
-; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt expcnt(6)
-; SI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(12)
-; SI-NEXT: v_and_b32_e32 v4, 0xffff0000, v4
-; SI-NEXT: v_add_f32_e32 v4, 0x40c00000, v4
; SI-NEXT: s_waitcnt vmcnt(10)
; SI-NEXT: v_and_b32_e32 v5, 0xffff0000, v5
+; SI-NEXT: v_and_b32_e32 v4, 0xffff0000, v34
; SI-NEXT: v_add_f32_e32 v5, 0x40c00000, v5
+; SI-NEXT: v_add_f32_e32 v4, 0x40c00000, v4
; SI-NEXT: v_lshrrev_b32_e32 v5, 16, v5
; SI-NEXT: v_lshr_b64 v[4:5], v[4:5], 16
-; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:272 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:276 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(12)
+; SI-NEXT: s_waitcnt vmcnt(9)
+; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v6
+; SI-NEXT: v_and_b32_e32 v5, 0xffff0000, v33
+; SI-NEXT: v_add_f32_e32 v6, 0x40c00000, v6
+; SI-NEXT: v_add_f32_e32 v5, 0x40c00000, v5
+; SI-NEXT: v_lshrrev_b32_e32 v6, 16, v6
+; SI-NEXT: v_lshr_b64 v[5:6], v[5:6], 16
+; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:300 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:304 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:268 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(8)
+; SI-NEXT: v_and_b32_e32 v9, 0xffff0000, v9
+; SI-NEXT: v_add_f32_e32 v9, 0x40c00000, v9
+; SI-NEXT: v_lshrrev_b32_e32 v9, 16, v9
+; SI-NEXT: s_waitcnt vmcnt(7)
; SI-NEXT: v_and_b32_e32 v12, 0xffff0000, v12
; SI-NEXT: v_add_f32_e32 v12, 0x40c00000, v12
; SI-NEXT: v_lshrrev_b32_e32 v12, 16, v12
-; SI-NEXT: s_waitcnt vmcnt(11)
+; SI-NEXT: s_waitcnt vmcnt(6)
; SI-NEXT: v_and_b32_e32 v13, 0xffff0000, v13
; SI-NEXT: v_add_f32_e32 v13, 0x40c00000, v13
; SI-NEXT: v_lshrrev_b32_e32 v13, 16, v13
-; SI-NEXT: s_waitcnt vmcnt(10)
+; SI-NEXT: s_waitcnt vmcnt(5)
; SI-NEXT: v_and_b32_e32 v14, 0xffff0000, v14
; SI-NEXT: v_add_f32_e32 v14, 0x40c00000, v14
; SI-NEXT: v_lshrrev_b32_e32 v14, 16, v14
-; SI-NEXT: s_waitcnt vmcnt(9)
+; SI-NEXT: s_waitcnt vmcnt(4)
; SI-NEXT: v_and_b32_e32 v15, 0xffff0000, v15
; SI-NEXT: v_add_f32_e32 v15, 0x40c00000, v15
; SI-NEXT: v_lshrrev_b32_e32 v15, 16, v15
-; SI-NEXT: s_waitcnt vmcnt(8)
+; SI-NEXT: s_waitcnt vmcnt(3)
; SI-NEXT: v_and_b32_e32 v16, 0xffff0000, v16
; SI-NEXT: v_add_f32_e32 v16, 0x40c00000, v16
; SI-NEXT: v_lshrrev_b32_e32 v16, 16, v16
-; SI-NEXT: s_waitcnt vmcnt(7)
-; SI-NEXT: v_and_b32_e32 v17, 0xffff0000, v17
-; SI-NEXT: v_add_f32_e32 v17, 0x40c00000, v17
-; SI-NEXT: v_lshrrev_b32_e32 v17, 16, v17
-; SI-NEXT: s_waitcnt vmcnt(6)
; SI-NEXT: v_and_b32_e32 v26, 0xffff0000, v26
; SI-NEXT: v_add_f32_e32 v26, 0x40c00000, v26
; SI-NEXT: v_lshrrev_b32_e32 v26, 16, v26
-; SI-NEXT: s_waitcnt vmcnt(4)
-; SI-NEXT: v_and_b32_e32 v29, 0xffff0000, v29
-; SI-NEXT: v_and_b32_e32 v31, 0xffff0000, v31
-; SI-NEXT: v_add_f32_e32 v31, 0x40c00000, v31
-; SI-NEXT: v_lshrrev_b32_e32 v31, 16, v31
-; SI-NEXT: v_add_f32_e32 v29, 0x40c00000, v29
-; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v29
-; SI-NEXT: s_waitcnt vmcnt(3)
-; SI-NEXT: v_and_b32_e32 v33, 0xffff0000, v33
-; SI-NEXT: v_add_f32_e32 v33, 0x40c00000, v33
-; SI-NEXT: v_lshrrev_b32_e32 v33, 16, v33
-; SI-NEXT: v_lshr_b64 v[32:33], v[32:33], 16
-; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_and_b32_e32 v5, 0xffff0000, v5
-; SI-NEXT: v_add_f32_e32 v5, 0x40c00000, v5
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v6
-; SI-NEXT: v_add_f32_e32 v6, 0x40c00000, v6
-; SI-NEXT: v_lshrrev_b32_e32 v6, 16, v6
-; SI-NEXT: v_lshr_b64 v[5:6], v[5:6], 16
-; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:268 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(2)
; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v6
; SI-NEXT: v_add_f32_e32 v6, 0x40c00000, v6
@@ -130917,9 +130988,9 @@ define inreg <16 x double> @bitcast_v64bf16_to_v16f64_scalar(<64 x bfloat> inreg
; SI-NEXT: v_add_f32_e32 v7, 0x40c00000, v7
; SI-NEXT: v_lshrrev_b32_e32 v7, 16, v7
; SI-NEXT: v_lshr_b64 v[6:7], v[6:7], 16
-; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(2)
; SI-NEXT: v_and_b32_e32 v7, 0xffff0000, v7
; SI-NEXT: v_add_f32_e32 v7, 0x40c00000, v7
@@ -130928,27 +130999,17 @@ define inreg <16 x double> @bitcast_v64bf16_to_v16f64_scalar(<64 x bfloat> inreg
; SI-NEXT: v_add_f32_e32 v8, 0x40c00000, v8
; SI-NEXT: v_lshrrev_b32_e32 v8, 16, v8
; SI-NEXT: v_lshr_b64 v[7:8], v[7:8], 16
-; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v8
+; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v41
; SI-NEXT: v_add_f32_e32 v8, 0x40c00000, v8
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v9, 0xffff0000, v9
-; SI-NEXT: v_add_f32_e32 v9, 0x40c00000, v9
-; SI-NEXT: v_lshrrev_b32_e32 v9, 16, v9
; SI-NEXT: v_lshr_b64 v[8:9], v[8:9], 16
-; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_and_b32_e32 v9, 0xffff0000, v9
-; SI-NEXT: v_add_f32_e32 v9, 0x40c00000, v9
+; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:280 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v10, 0xffff0000, v10
+; SI-NEXT: v_and_b32_e32 v10, 0xffff0000, v35
; SI-NEXT: v_add_f32_e32 v10, 0x40c00000, v10
; SI-NEXT: v_lshrrev_b32_e32 v10, 16, v10
+; SI-NEXT: v_and_b32_e32 v9, 0xffff0000, v9
+; SI-NEXT: v_add_f32_e32 v9, 0x40c00000, v9
; SI-NEXT: v_lshr_b64 v[9:10], v[9:10], 16
; SI-NEXT: v_and_b32_e32 v10, 0xffff0000, v60
; SI-NEXT: v_add_f32_e32 v10, 0x40c00000, v10
@@ -130968,12 +131029,20 @@ define inreg <16 x double> @bitcast_v64bf16_to_v16f64_scalar(<64 x bfloat> inreg
; SI-NEXT: v_and_b32_e32 v15, 0xffff0000, v55
; SI-NEXT: v_add_f32_e32 v15, 0x40c00000, v15
; SI-NEXT: v_lshr_b64 v[15:16], v[15:16], 16
-; SI-NEXT: v_and_b32_e32 v16, 0xffff0000, v51
+; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(2)
+; SI-NEXT: v_and_b32_e32 v16, 0xffff0000, v16
; SI-NEXT: v_add_f32_e32 v16, 0x40c00000, v16
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_and_b32_e32 v17, 0xffff0000, v17
+; SI-NEXT: v_add_f32_e32 v17, 0x40c00000, v17
+; SI-NEXT: v_lshrrev_b32_e32 v17, 16, v17
; SI-NEXT: v_lshr_b64 v[16:17], v[16:17], 16
; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(2)
; SI-NEXT: v_and_b32_e32 v17, 0xffff0000, v17
; SI-NEXT: v_add_f32_e32 v17, 0x40c00000, v17
@@ -130982,18 +131051,20 @@ define inreg <16 x double> @bitcast_v64bf16_to_v16f64_scalar(<64 x bfloat> inreg
; SI-NEXT: v_add_f32_e32 v18, 0x40c00000, v18
; SI-NEXT: v_lshrrev_b32_e32 v18, 16, v18
; SI-NEXT: v_lshr_b64 v[17:18], v[17:18], 16
-; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(2)
+; SI-NEXT: v_and_b32_e32 v18, 0xffff0000, v18
+; SI-NEXT: v_add_f32_e32 v18, 0x40c00000, v18
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v19, 0xffff0000, v54
+; SI-NEXT: v_and_b32_e32 v19, 0xffff0000, v19
; SI-NEXT: v_add_f32_e32 v19, 0x40c00000, v19
; SI-NEXT: v_lshrrev_b32_e32 v19, 16, v19
-; SI-NEXT: v_and_b32_e32 v18, 0xffff0000, v18
-; SI-NEXT: v_add_f32_e32 v18, 0x40c00000, v18
; SI-NEXT: v_lshr_b64 v[18:19], v[18:19], 16
; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(2)
; SI-NEXT: v_and_b32_e32 v19, 0xffff0000, v19
; SI-NEXT: v_add_f32_e32 v19, 0x40c00000, v19
@@ -131004,7 +131075,7 @@ define inreg <16 x double> @bitcast_v64bf16_to_v16f64_scalar(<64 x bfloat> inreg
; SI-NEXT: v_lshr_b64 v[19:20], v[19:20], 16
; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(2)
; SI-NEXT: v_and_b32_e32 v20, 0xffff0000, v20
; SI-NEXT: v_add_f32_e32 v20, 0x40c00000, v20
@@ -131013,9 +131084,9 @@ define inreg <16 x double> @bitcast_v64bf16_to_v16f64_scalar(<64 x bfloat> inreg
; SI-NEXT: v_add_f32_e32 v21, 0x40c00000, v21
; SI-NEXT: v_lshrrev_b32_e32 v21, 16, v21
; SI-NEXT: v_lshr_b64 v[20:21], v[20:21], 16
-; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(2)
; SI-NEXT: v_and_b32_e32 v21, 0xffff0000, v21
; SI-NEXT: v_add_f32_e32 v21, 0x40c00000, v21
@@ -131026,16 +131097,18 @@ define inreg <16 x double> @bitcast_v64bf16_to_v16f64_scalar(<64 x bfloat> inreg
; SI-NEXT: v_lshr_b64 v[21:22], v[21:22], 16
; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(2)
+; SI-NEXT: v_and_b32_e32 v22, 0xffff0000, v22
+; SI-NEXT: v_add_f32_e32 v22, 0x40c00000, v22
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v23, 0xffff0000, v50
+; SI-NEXT: v_and_b32_e32 v23, 0xffff0000, v23
; SI-NEXT: v_add_f32_e32 v23, 0x40c00000, v23
; SI-NEXT: v_lshrrev_b32_e32 v23, 16, v23
-; SI-NEXT: v_and_b32_e32 v22, 0xffff0000, v22
-; SI-NEXT: v_add_f32_e32 v22, 0x40c00000, v22
; SI-NEXT: v_lshr_b64 v[22:23], v[22:23], 16
; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(2)
; SI-NEXT: v_and_b32_e32 v23, 0xffff0000, v23
; SI-NEXT: v_add_f32_e32 v23, 0x40c00000, v23
@@ -131044,49 +131117,58 @@ define inreg <16 x double> @bitcast_v64bf16_to_v16f64_scalar(<64 x bfloat> inreg
; SI-NEXT: v_add_f32_e32 v24, 0x40c00000, v24
; SI-NEXT: v_lshrrev_b32_e32 v24, 16, v24
; SI-NEXT: v_lshr_b64 v[23:24], v[23:24], 16
-; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_and_b32_e32 v24, 0xffff0000, v24
-; SI-NEXT: v_add_f32_e32 v24, 0x40c00000, v24
-; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_and_b32_e32 v24, 0xffff0000, v32
+; SI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
; SI-NEXT: v_and_b32_e32 v25, 0xffff0000, v25
; SI-NEXT: v_add_f32_e32 v25, 0x40c00000, v25
+; SI-NEXT: v_add_f32_e32 v24, 0x40c00000, v24
; SI-NEXT: v_lshrrev_b32_e32 v25, 16, v25
; SI-NEXT: v_lshr_b64 v[24:25], v[24:25], 16
-; SI-NEXT: v_and_b32_e32 v25, 0xffff0000, v52
+; SI-NEXT: v_and_b32_e32 v25, 0xffff0000, v50
; SI-NEXT: v_add_f32_e32 v25, 0x40c00000, v25
; SI-NEXT: v_lshr_b64 v[25:26], v[25:26], 16
-; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_and_b32_e32 v26, 0xffff0000, v26
-; SI-NEXT: v_add_f32_e32 v26, 0x40c00000, v26
+; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v27, 0xffff0000, v27
+; SI-NEXT: v_and_b32_e32 v27, 0xffff0000, v62
; SI-NEXT: v_add_f32_e32 v27, 0x40c00000, v27
; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v27
+; SI-NEXT: v_and_b32_e32 v31, 0xffff0000, v31
+; SI-NEXT: v_add_f32_e32 v31, 0x40c00000, v31
+; SI-NEXT: v_lshrrev_b32_e32 v31, 16, v31
+; SI-NEXT: v_and_b32_e32 v32, 0xffff0000, v32
+; SI-NEXT: v_add_f32_e32 v32, 0x40c00000, v32
+; SI-NEXT: v_and_b32_e32 v33, 0xffff0000, v33
+; SI-NEXT: v_add_f32_e32 v33, 0x40c00000, v33
+; SI-NEXT: v_lshrrev_b32_e32 v33, 16, v33
+; SI-NEXT: v_lshr_b64 v[32:33], v[32:33], 16
+; SI-NEXT: v_and_b32_e32 v26, 0xffff0000, v26
+; SI-NEXT: v_add_f32_e32 v26, 0x40c00000, v26
; SI-NEXT: v_lshr_b64 v[26:27], v[26:27], 16
-; SI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_and_b32_e32 v27, 0xffff0000, v27
-; SI-NEXT: v_add_f32_e32 v27, 0x40c00000, v27
+; SI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v28, 0xffff0000, v28
+; SI-NEXT: v_and_b32_e32 v28, 0xffff0000, v40
; SI-NEXT: v_add_f32_e32 v28, 0x40c00000, v28
; SI-NEXT: v_lshrrev_b32_e32 v28, 16, v28
+; SI-NEXT: v_and_b32_e32 v27, 0xffff0000, v27
+; SI-NEXT: v_add_f32_e32 v27, 0x40c00000, v27
; SI-NEXT: v_lshr_b64 v[27:28], v[27:28], 16
-; SI-NEXT: v_and_b32_e32 v28, 0xffff0000, v45
+; SI-NEXT: v_and_b32_e32 v28, 0xffff0000, v53
; SI-NEXT: v_add_f32_e32 v28, 0x40c00000, v28
; SI-NEXT: v_lshr_b64 v[28:29], v[28:29], 16
-; SI-NEXT: v_and_b32_e32 v29, 0xffff0000, v44
+; SI-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_and_b32_e32 v30, 0xffff0000, v37
+; SI-NEXT: v_add_f32_e32 v30, 0x40c00000, v30
+; SI-NEXT: v_lshrrev_b32_e32 v30, 16, v30
+; SI-NEXT: v_and_b32_e32 v29, 0xffff0000, v29
; SI-NEXT: v_add_f32_e32 v29, 0x40c00000, v29
; SI-NEXT: v_lshr_b64 v[29:30], v[29:30], 16
-; SI-NEXT: v_and_b32_e32 v30, 0xffff0000, v49
+; SI-NEXT: v_and_b32_e32 v30, 0xffff0000, v48
; SI-NEXT: v_add_f32_e32 v30, 0x40c00000, v30
; SI-NEXT: v_lshr_b64 v[30:31], v[30:31], 16
; SI-NEXT: v_mov_b32_e32 v31, v32
@@ -131101,7 +131183,6 @@ define inreg <16 x double> @bitcast_v64bf16_to_v16f64_scalar(<64 x bfloat> inreg
; SI-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:28 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:32 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:36 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt expcnt(2)
; SI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:40 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:44 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:48 ; 4-byte Folded Reload
@@ -131113,7 +131194,7 @@ define inreg <16 x double> @bitcast_v64bf16_to_v16f64_scalar(<64 x bfloat> inreg
; SI-NEXT: v_readlane_b32 s35, v63, 1
; SI-NEXT: v_readlane_b32 s34, v63, 0
; SI-NEXT: s_or_saveexec_b64 s[4:5], -1
-; SI-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:320 ; 4-byte Folded Reload
; SI-NEXT: s_mov_b64 exec, s[4:5]
; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0)
; SI-NEXT: s_setpc_b64 s[30:31]
@@ -134526,8 +134607,11 @@ define inreg <64 x half> @bitcast_v16f64_to_v64f16_scalar(<16 x double> inreg %a
; SI-NEXT: v_writelane_b32 v63, s54, 12
; SI-NEXT: v_writelane_b32 v63, s55, 13
; SI-NEXT: v_writelane_b32 v63, s64, 14
-; SI-NEXT: v_writelane_b32 v63, s30, 15
-; SI-NEXT: v_writelane_b32 v63, s31, 16
+; SI-NEXT: v_writelane_b32 v63, s65, 15
+; SI-NEXT: v_writelane_b32 v63, s66, 16
+; SI-NEXT: v_writelane_b32 v63, s67, 17
+; SI-NEXT: v_writelane_b32 v63, s30, 18
+; SI-NEXT: v_writelane_b32 v63, s31, 19
; SI-NEXT: v_readfirstlane_b32 s4, v18
; SI-NEXT: v_readfirstlane_b32 s45, v17
; SI-NEXT: v_readfirstlane_b32 s44, v16
@@ -134550,35 +134634,32 @@ define inreg <64 x half> @bitcast_v16f64_to_v64f16_scalar(<16 x double> inreg %a
; SI-NEXT: v_readfirstlane_b32 s4, v0
; SI-NEXT: s_cbranch_scc0 .LBB81_2
; SI-NEXT: ; %bb.1: ; %cmp.false
-; SI-NEXT: s_lshr_b32 s58, s27, 16
-; SI-NEXT: s_lshr_b32 s59, s25, 16
; SI-NEXT: s_lshr_b32 s56, s17, 16
; SI-NEXT: s_lshr_b64 s[46:47], s[44:45], 16
-; SI-NEXT: s_lshr_b64 s[60:61], s[42:43], 16
-; SI-NEXT: s_lshr_b64 s[76:77], s[40:41], 16
-; SI-NEXT: s_lshr_b32 s62, s41, 16
-; SI-NEXT: s_lshr_b32 s63, s23, 16
+; SI-NEXT: s_lshr_b32 s58, s27, 16
; SI-NEXT: s_mov_b32 s47, s56
-; SI-NEXT: s_lshr_b64 s[56:57], s[14:15], 16
-; SI-NEXT: s_mov_b32 s77, s58
-; SI-NEXT: s_mov_b32 s61, s59
-; SI-NEXT: s_lshr_b64 s[58:59], s[12:13], 16
-; SI-NEXT: s_lshr_b32 s64, s45, 16
-; SI-NEXT: s_lshr_b32 s55, s43, 16
-; SI-NEXT: s_lshr_b32 s54, s15, 16
-; SI-NEXT: s_lshr_b32 s53, s13, 16
-; SI-NEXT: s_lshr_b32 s52, s11, 16
-; SI-NEXT: s_lshr_b32 s51, s9, 16
-; SI-NEXT: s_lshr_b32 s50, s7, 16
-; SI-NEXT: s_lshr_b32 s49, s5, 16
-; SI-NEXT: s_lshr_b32 s48, s29, 16
+; SI-NEXT: s_lshr_b64 s[56:57], s[42:43], 16
+; SI-NEXT: s_lshr_b32 s67, s45, 16
+; SI-NEXT: s_lshr_b32 s66, s43, 16
+; SI-NEXT: s_lshr_b32 s65, s41, 16
+; SI-NEXT: s_lshr_b32 s64, s15, 16
+; SI-NEXT: s_lshr_b32 s55, s13, 16
+; SI-NEXT: s_lshr_b32 s54, s11, 16
+; SI-NEXT: s_lshr_b32 s53, s9, 16
+; SI-NEXT: s_lshr_b32 s52, s7, 16
+; SI-NEXT: s_lshr_b32 s51, s5, 16
+; SI-NEXT: s_lshr_b32 s50, s29, 16
+; SI-NEXT: s_lshr_b32 s49, s25, 16
+; SI-NEXT: s_lshr_b32 s48, s23, 16
; SI-NEXT: s_lshr_b32 s39, s21, 16
; SI-NEXT: s_lshr_b32 s38, s19, 16
-; SI-NEXT: s_mov_b32 s57, s63
-; SI-NEXT: s_mov_b32 s59, s62
-; SI-NEXT: s_lshr_b64 s[62:63], s[10:11], 16
-; SI-NEXT: s_lshr_b64 s[72:73], s[8:9], 16
-; SI-NEXT: s_lshr_b64 s[74:75], s[6:7], 16
+; SI-NEXT: s_mov_b32 s57, s58
+; SI-NEXT: s_lshr_b64 s[62:63], s[40:41], 16
+; SI-NEXT: s_lshr_b64 s[58:59], s[14:15], 16
+; SI-NEXT: s_lshr_b64 s[60:61], s[12:13], 16
+; SI-NEXT: s_lshr_b64 s[72:73], s[10:11], 16
+; SI-NEXT: s_lshr_b64 s[74:75], s[8:9], 16
+; SI-NEXT: s_lshr_b64 s[76:77], s[6:7], 16
; SI-NEXT: s_lshr_b64 s[78:79], s[4:5], 16
; SI-NEXT: s_lshr_b64 s[88:89], s[28:29], 16
; SI-NEXT: s_lshr_b64 s[90:91], s[26:27], 16
@@ -134598,35 +134679,35 @@ define inreg <64 x half> @bitcast_v16f64_to_v64f16_scalar(<16 x double> inreg %a
; SI-NEXT: ; implicit-def: $vcc_lo
; SI-NEXT: ; implicit-def: $sgpr39
; SI-NEXT: ; implicit-def: $sgpr94
-; SI-NEXT: ; implicit-def: $sgpr57
+; SI-NEXT: ; implicit-def: $sgpr48
; SI-NEXT: ; implicit-def: $sgpr92
-; SI-NEXT: ; implicit-def: $sgpr61
+; SI-NEXT: ; implicit-def: $sgpr49
; SI-NEXT: ; implicit-def: $sgpr90
-; SI-NEXT: ; implicit-def: $sgpr77
+; SI-NEXT: ; implicit-def: $sgpr57
; SI-NEXT: ; implicit-def: $sgpr88
-; SI-NEXT: ; implicit-def: $sgpr48
-; SI-NEXT: ; implicit-def: $sgpr78
-; SI-NEXT: ; implicit-def: $sgpr49
-; SI-NEXT: ; implicit-def: $sgpr74
; SI-NEXT: ; implicit-def: $sgpr50
-; SI-NEXT: ; implicit-def: $sgpr72
+; SI-NEXT: ; implicit-def: $sgpr78
; SI-NEXT: ; implicit-def: $sgpr51
-; SI-NEXT: ; implicit-def: $sgpr62
+; SI-NEXT: ; implicit-def: $sgpr76
; SI-NEXT: ; implicit-def: $sgpr52
-; SI-NEXT: ; implicit-def: $sgpr58
+; SI-NEXT: ; implicit-def: $sgpr74
; SI-NEXT: ; implicit-def: $sgpr53
-; SI-NEXT: ; implicit-def: $sgpr56
+; SI-NEXT: ; implicit-def: $sgpr72
; SI-NEXT: ; implicit-def: $sgpr54
-; SI-NEXT: ; implicit-def: $sgpr59
+; SI-NEXT: ; implicit-def: $sgpr60
; SI-NEXT: ; implicit-def: $sgpr55
+; SI-NEXT: ; implicit-def: $sgpr58
; SI-NEXT: ; implicit-def: $sgpr64
-; SI-NEXT: ; implicit-def: $sgpr76
-; SI-NEXT: ; implicit-def: $sgpr60
+; SI-NEXT: ; implicit-def: $sgpr65
+; SI-NEXT: ; implicit-def: $sgpr66
+; SI-NEXT: ; implicit-def: $sgpr67
+; SI-NEXT: ; implicit-def: $sgpr62
+; SI-NEXT: ; implicit-def: $sgpr56
; SI-NEXT: ; implicit-def: $sgpr46
; SI-NEXT: .LBB81_3: ; %Flow
; SI-NEXT: s_and_b64 s[36:37], s[36:37], exec
-; SI-NEXT: s_cselect_b32 s63, 1, 0
-; SI-NEXT: s_cmp_lg_u32 s63, 1
+; SI-NEXT: s_cselect_b32 s59, 1, 0
+; SI-NEXT: s_cmp_lg_u32 s59, 1
; SI-NEXT: s_cbranch_scc1 .LBB81_5
; SI-NEXT: ; %bb.4: ; %cmp.true
; SI-NEXT: v_add_f64 v[30:31], s[44:45], 1.0
@@ -134682,7 +134763,7 @@ define inreg <64 x half> @bitcast_v16f64_to_v64f16_scalar(<16 x double> inreg %a
; SI-NEXT: v_lshrrev_b32_e32 v41, 16, v19
; SI-NEXT: s_branch .LBB81_6
; SI-NEXT: .LBB81_5:
-; SI-NEXT: v_mov_b32_e32 v32, s64
+; SI-NEXT: v_mov_b32_e32 v32, s67
; SI-NEXT: v_mov_b32_e32 v1, s17
; SI-NEXT: v_mov_b32_e32 v0, s16
; SI-NEXT: v_mov_b32_e32 v3, s19
@@ -134716,22 +134797,22 @@ define inreg <64 x half> @bitcast_v16f64_to_v64f16_scalar(<16 x double> inreg %a
; SI-NEXT: v_mov_b32_e32 v28, s42
; SI-NEXT: v_mov_b32_e32 v30, s44
; SI-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
-; SI-NEXT: v_mov_b32_e32 v42, s55
-; SI-NEXT: v_mov_b32_e32 v43, s59
-; SI-NEXT: v_mov_b32_e32 v44, s54
-; SI-NEXT: v_mov_b32_e32 v45, s53
-; SI-NEXT: v_mov_b32_e32 v46, s52
-; SI-NEXT: v_mov_b32_e32 v41, s51
-; SI-NEXT: v_mov_b32_e32 v47, s50
-; SI-NEXT: v_mov_b32_e32 v56, s49
+; SI-NEXT: v_mov_b32_e32 v42, s66
+; SI-NEXT: v_mov_b32_e32 v43, s65
+; SI-NEXT: v_mov_b32_e32 v44, s64
+; SI-NEXT: v_mov_b32_e32 v45, s55
+; SI-NEXT: v_mov_b32_e32 v46, s54
+; SI-NEXT: v_mov_b32_e32 v41, s53
+; SI-NEXT: v_mov_b32_e32 v47, s52
+; SI-NEXT: v_mov_b32_e32 v56, s51
; SI-NEXT: s_waitcnt expcnt(6)
-; SI-NEXT: v_mov_b32_e32 v57, s48
+; SI-NEXT: v_mov_b32_e32 v57, s50
; SI-NEXT: s_waitcnt expcnt(5)
-; SI-NEXT: v_mov_b32_e32 v58, s77
+; SI-NEXT: v_mov_b32_e32 v58, s57
; SI-NEXT: s_waitcnt expcnt(4)
-; SI-NEXT: v_mov_b32_e32 v59, s61
+; SI-NEXT: v_mov_b32_e32 v59, s49
; SI-NEXT: s_waitcnt expcnt(3)
-; SI-NEXT: v_mov_b32_e32 v60, s57
+; SI-NEXT: v_mov_b32_e32 v60, s48
; SI-NEXT: s_waitcnt expcnt(2)
; SI-NEXT: v_mov_b32_e32 v61, s39
; SI-NEXT: s_waitcnt expcnt(1)
@@ -134745,13 +134826,13 @@ define inreg <64 x half> @bitcast_v16f64_to_v64f16_scalar(<16 x double> inreg %a
; SI-NEXT: v_mov_b32_e32 v51, s90
; SI-NEXT: v_mov_b32_e32 v50, s88
; SI-NEXT: v_mov_b32_e32 v49, s78
-; SI-NEXT: v_mov_b32_e32 v48, s74
-; SI-NEXT: v_mov_b32_e32 v38, s72
-; SI-NEXT: v_mov_b32_e32 v37, s62
-; SI-NEXT: v_mov_b32_e32 v36, s58
-; SI-NEXT: v_mov_b32_e32 v35, s56
-; SI-NEXT: v_mov_b32_e32 v34, s76
-; SI-NEXT: v_mov_b32_e32 v33, s60
+; SI-NEXT: v_mov_b32_e32 v48, s76
+; SI-NEXT: v_mov_b32_e32 v38, s74
+; SI-NEXT: v_mov_b32_e32 v37, s72
+; SI-NEXT: v_mov_b32_e32 v36, s60
+; SI-NEXT: v_mov_b32_e32 v35, s58
+; SI-NEXT: v_mov_b32_e32 v34, s62
+; SI-NEXT: v_mov_b32_e32 v33, s56
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v32, s46
; SI-NEXT: .LBB81_6: ; %end
@@ -134857,7 +134938,7 @@ define inreg <64 x half> @bitcast_v16f64_to_v64f16_scalar(<16 x double> inreg %a
; SI-NEXT: v_and_b32_e32 v25, 0xffff, v25
; SI-NEXT: v_and_b32_e32 v27, 0xffff, v27
; SI-NEXT: v_and_b32_e32 v29, 0xffff, v29
-; SI-NEXT: v_readlane_b32 s30, v63, 15
+; SI-NEXT: v_readlane_b32 s30, v63, 18
; SI-NEXT: v_or_b32_e32 v1, v1, v55
; SI-NEXT: v_or_b32_e32 v17, v17, v39
; SI-NEXT: v_or_b32_e32 v19, v19, v38
@@ -134866,7 +134947,10 @@ define inreg <64 x half> @bitcast_v16f64_to_v64f16_scalar(<16 x double> inreg %a
; SI-NEXT: v_or_b32_e32 v25, v25, v35
; SI-NEXT: v_or_b32_e32 v27, v27, v34
; SI-NEXT: v_or_b32_e32 v29, v29, v33
-; SI-NEXT: v_readlane_b32 s31, v63, 16
+; SI-NEXT: v_readlane_b32 s31, v63, 19
+; SI-NEXT: v_readlane_b32 s67, v63, 17
+; SI-NEXT: v_readlane_b32 s66, v63, 16
+; SI-NEXT: v_readlane_b32 s65, v63, 15
; SI-NEXT: v_readlane_b32 s64, v63, 14
; SI-NEXT: v_readlane_b32 s55, v63, 13
; SI-NEXT: v_readlane_b32 s54, v63, 12
@@ -137783,8 +137867,11 @@ define inreg <64 x i16> @bitcast_v16f64_to_v64i16_scalar(<16 x double> inreg %a,
; SI-NEXT: v_writelane_b32 v63, s54, 12
; SI-NEXT: v_writelane_b32 v63, s55, 13
; SI-NEXT: v_writelane_b32 v63, s64, 14
-; SI-NEXT: v_writelane_b32 v63, s30, 15
-; SI-NEXT: v_writelane_b32 v63, s31, 16
+; SI-NEXT: v_writelane_b32 v63, s65, 15
+; SI-NEXT: v_writelane_b32 v63, s66, 16
+; SI-NEXT: v_writelane_b32 v63, s67, 17
+; SI-NEXT: v_writelane_b32 v63, s30, 18
+; SI-NEXT: v_writelane_b32 v63, s31, 19
; SI-NEXT: v_readfirstlane_b32 s4, v18
; SI-NEXT: v_readfirstlane_b32 s45, v17
; SI-NEXT: v_readfirstlane_b32 s44, v16
@@ -137807,35 +137894,32 @@ define inreg <64 x i16> @bitcast_v16f64_to_v64i16_scalar(<16 x double> inreg %a,
; SI-NEXT: v_readfirstlane_b32 s4, v0
; SI-NEXT: s_cbranch_scc0 .LBB85_2
; SI-NEXT: ; %bb.1: ; %cmp.false
-; SI-NEXT: s_lshr_b32 s58, s27, 16
-; SI-NEXT: s_lshr_b32 s59, s25, 16
; SI-NEXT: s_lshr_b32 s56, s17, 16
; SI-NEXT: s_lshr_b64 s[46:47], s[44:45], 16
-; SI-NEXT: s_lshr_b64 s[60:61], s[42:43], 16
-; SI-NEXT: s_lshr_b64 s[76:77], s[40:41], 16
-; SI-NEXT: s_lshr_b32 s62, s41, 16
-; SI-NEXT: s_lshr_b32 s63, s23, 16
+; SI-NEXT: s_lshr_b32 s58, s27, 16
; SI-NEXT: s_mov_b32 s47, s56
-; SI-NEXT: s_lshr_b64 s[56:57], s[14:15], 16
-; SI-NEXT: s_mov_b32 s77, s58
-; SI-NEXT: s_mov_b32 s61, s59
-; SI-NEXT: s_lshr_b64 s[58:59], s[12:13], 16
-; SI-NEXT: s_lshr_b32 s64, s45, 16
-; SI-NEXT: s_lshr_b32 s55, s43, 16
-; SI-NEXT: s_lshr_b32 s54, s15, 16
-; SI-NEXT: s_lshr_b32 s53, s13, 16
-; SI-NEXT: s_lshr_b32 s52, s11, 16
-; SI-NEXT: s_lshr_b32 s51, s9, 16
-; SI-NEXT: s_lshr_b32 s50, s7, 16
-; SI-NEXT: s_lshr_b32 s49, s5, 16
-; SI-NEXT: s_lshr_b32 s48, s29, 16
+; SI-NEXT: s_lshr_b64 s[56:57], s[42:43], 16
+; SI-NEXT: s_lshr_b32 s67, s45, 16
+; SI-NEXT: s_lshr_b32 s66, s43, 16
+; SI-NEXT: s_lshr_b32 s65, s41, 16
+; SI-NEXT: s_lshr_b32 s64, s15, 16
+; SI-NEXT: s_lshr_b32 s55, s13, 16
+; SI-NEXT: s_lshr_b32 s54, s11, 16
+; SI-NEXT: s_lshr_b32 s53, s9, 16
+; SI-NEXT: s_lshr_b32 s52, s7, 16
+; SI-NEXT: s_lshr_b32 s51, s5, 16
+; SI-NEXT: s_lshr_b32 s50, s29, 16
+; SI-NEXT: s_lshr_b32 s49, s25, 16
+; SI-NEXT: s_lshr_b32 s48, s23, 16
; SI-NEXT: s_lshr_b32 s39, s21, 16
; SI-NEXT: s_lshr_b32 s38, s19, 16
-; SI-NEXT: s_mov_b32 s57, s63
-; SI-NEXT: s_mov_b32 s59, s62
-; SI-NEXT: s_lshr_b64 s[62:63], s[10:11], 16
-; SI-NEXT: s_lshr_b64 s[72:73], s[8:9], 16
-; SI-NEXT: s_lshr_b64 s[74:75], s[6:7], 16
+; SI-NEXT: s_mov_b32 s57, s58
+; SI-NEXT: s_lshr_b64 s[62:63], s[40:41], 16
+; SI-NEXT: s_lshr_b64 s[58:59], s[14:15], 16
+; SI-NEXT: s_lshr_b64 s[60:61], s[12:13], 16
+; SI-NEXT: s_lshr_b64 s[72:73], s[10:11], 16
+; SI-NEXT: s_lshr_b64 s[74:75], s[8:9], 16
+; SI-NEXT: s_lshr_b64 s[76:77], s[6:7], 16
; SI-NEXT: s_lshr_b64 s[78:79], s[4:5], 16
; SI-NEXT: s_lshr_b64 s[88:89], s[28:29], 16
; SI-NEXT: s_lshr_b64 s[90:91], s[26:27], 16
@@ -137855,35 +137939,35 @@ define inreg <64 x i16> @bitcast_v16f64_to_v64i16_scalar(<16 x double> inreg %a,
; SI-NEXT: ; implicit-def: $vcc_lo
; SI-NEXT: ; implicit-def: $sgpr39
; SI-NEXT: ; implicit-def: $sgpr94
-; SI-NEXT: ; implicit-def: $sgpr57
+; SI-NEXT: ; implicit-def: $sgpr48
; SI-NEXT: ; implicit-def: $sgpr92
-; SI-NEXT: ; implicit-def: $sgpr61
+; SI-NEXT: ; implicit-def: $sgpr49
; SI-NEXT: ; implicit-def: $sgpr90
-; SI-NEXT: ; implicit-def: $sgpr77
+; SI-NEXT: ; implicit-def: $sgpr57
; SI-NEXT: ; implicit-def: $sgpr88
-; SI-NEXT: ; implicit-def: $sgpr48
-; SI-NEXT: ; implicit-def: $sgpr78
-; SI-NEXT: ; implicit-def: $sgpr49
-; SI-NEXT: ; implicit-def: $sgpr74
; SI-NEXT: ; implicit-def: $sgpr50
-; SI-NEXT: ; implicit-def: $sgpr72
+; SI-NEXT: ; implicit-def: $sgpr78
; SI-NEXT: ; implicit-def: $sgpr51
-; SI-NEXT: ; implicit-def: $sgpr62
+; SI-NEXT: ; implicit-def: $sgpr76
; SI-NEXT: ; implicit-def: $sgpr52
-; SI-NEXT: ; implicit-def: $sgpr58
+; SI-NEXT: ; implicit-def: $sgpr74
; SI-NEXT: ; implicit-def: $sgpr53
-; SI-NEXT: ; implicit-def: $sgpr56
+; SI-NEXT: ; implicit-def: $sgpr72
; SI-NEXT: ; implicit-def: $sgpr54
-; SI-NEXT: ; implicit-def: $sgpr59
+; SI-NEXT: ; implicit-def: $sgpr60
; SI-NEXT: ; implicit-def: $sgpr55
+; SI-NEXT: ; implicit-def: $sgpr58
; SI-NEXT: ; implicit-def: $sgpr64
-; SI-NEXT: ; implicit-def: $sgpr76
-; SI-NEXT: ; implicit-def: $sgpr60
+; SI-NEXT: ; implicit-def: $sgpr65
+; SI-NEXT: ; implicit-def: $sgpr66
+; SI-NEXT: ; implicit-def: $sgpr67
+; SI-NEXT: ; implicit-def: $sgpr62
+; SI-NEXT: ; implicit-def: $sgpr56
; SI-NEXT: ; implicit-def: $sgpr46
; SI-NEXT: .LBB85_3: ; %Flow
; SI-NEXT: s_and_b64 s[36:37], s[36:37], exec
-; SI-NEXT: s_cselect_b32 s63, 1, 0
-; SI-NEXT: s_cmp_lg_u32 s63, 1
+; SI-NEXT: s_cselect_b32 s59, 1, 0
+; SI-NEXT: s_cmp_lg_u32 s59, 1
; SI-NEXT: s_cbranch_scc1 .LBB85_5
; SI-NEXT: ; %bb.4: ; %cmp.true
; SI-NEXT: v_add_f64 v[30:31], s[44:45], 1.0
@@ -137939,7 +138023,7 @@ define inreg <64 x i16> @bitcast_v16f64_to_v64i16_scalar(<16 x double> inreg %a,
; SI-NEXT: v_lshrrev_b32_e32 v41, 16, v19
; SI-NEXT: s_branch .LBB85_6
; SI-NEXT: .LBB85_5:
-; SI-NEXT: v_mov_b32_e32 v32, s64
+; SI-NEXT: v_mov_b32_e32 v32, s67
; SI-NEXT: v_mov_b32_e32 v1, s17
; SI-NEXT: v_mov_b32_e32 v0, s16
; SI-NEXT: v_mov_b32_e32 v3, s19
@@ -137973,22 +138057,22 @@ define inreg <64 x i16> @bitcast_v16f64_to_v64i16_scalar(<16 x double> inreg %a,
; SI-NEXT: v_mov_b32_e32 v28, s42
; SI-NEXT: v_mov_b32_e32 v30, s44
; SI-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
-; SI-NEXT: v_mov_b32_e32 v42, s55
-; SI-NEXT: v_mov_b32_e32 v43, s59
-; SI-NEXT: v_mov_b32_e32 v44, s54
-; SI-NEXT: v_mov_b32_e32 v45, s53
-; SI-NEXT: v_mov_b32_e32 v46, s52
-; SI-NEXT: v_mov_b32_e32 v41, s51
-; SI-NEXT: v_mov_b32_e32 v47, s50
-; SI-NEXT: v_mov_b32_e32 v56, s49
+; SI-NEXT: v_mov_b32_e32 v42, s66
+; SI-NEXT: v_mov_b32_e32 v43, s65
+; SI-NEXT: v_mov_b32_e32 v44, s64
+; SI-NEXT: v_mov_b32_e32 v45, s55
+; SI-NEXT: v_mov_b32_e32 v46, s54
+; SI-NEXT: v_mov_b32_e32 v41, s53
+; SI-NEXT: v_mov_b32_e32 v47, s52
+; SI-NEXT: v_mov_b32_e32 v56, s51
; SI-NEXT: s_waitcnt expcnt(6)
-; SI-NEXT: v_mov_b32_e32 v57, s48
+; SI-NEXT: v_mov_b32_e32 v57, s50
; SI-NEXT: s_waitcnt expcnt(5)
-; SI-NEXT: v_mov_b32_e32 v58, s77
+; SI-NEXT: v_mov_b32_e32 v58, s57
; SI-NEXT: s_waitcnt expcnt(4)
-; SI-NEXT: v_mov_b32_e32 v59, s61
+; SI-NEXT: v_mov_b32_e32 v59, s49
; SI-NEXT: s_waitcnt expcnt(3)
-; SI-NEXT: v_mov_b32_e32 v60, s57
+; SI-NEXT: v_mov_b32_e32 v60, s48
; SI-NEXT: s_waitcnt expcnt(2)
; SI-NEXT: v_mov_b32_e32 v61, s39
; SI-NEXT: s_waitcnt expcnt(1)
@@ -138002,13 +138086,13 @@ define inreg <64 x i16> @bitcast_v16f64_to_v64i16_scalar(<16 x double> inreg %a,
; SI-NEXT: v_mov_b32_e32 v51, s90
; SI-NEXT: v_mov_b32_e32 v50, s88
; SI-NEXT: v_mov_b32_e32 v49, s78
-; SI-NEXT: v_mov_b32_e32 v48, s74
-; SI-NEXT: v_mov_b32_e32 v38, s72
-; SI-NEXT: v_mov_b32_e32 v37, s62
-; SI-NEXT: v_mov_b32_e32 v36, s58
-; SI-NEXT: v_mov_b32_e32 v35, s56
-; SI-NEXT: v_mov_b32_e32 v34, s76
-; SI-NEXT: v_mov_b32_e32 v33, s60
+; SI-NEXT: v_mov_b32_e32 v48, s76
+; SI-NEXT: v_mov_b32_e32 v38, s74
+; SI-NEXT: v_mov_b32_e32 v37, s72
+; SI-NEXT: v_mov_b32_e32 v36, s60
+; SI-NEXT: v_mov_b32_e32 v35, s58
+; SI-NEXT: v_mov_b32_e32 v34, s62
+; SI-NEXT: v_mov_b32_e32 v33, s56
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v32, s46
; SI-NEXT: .LBB85_6: ; %end
@@ -138114,7 +138198,7 @@ define inreg <64 x i16> @bitcast_v16f64_to_v64i16_scalar(<16 x double> inreg %a,
; SI-NEXT: v_and_b32_e32 v25, 0xffff, v25
; SI-NEXT: v_and_b32_e32 v27, 0xffff, v27
; SI-NEXT: v_and_b32_e32 v29, 0xffff, v29
-; SI-NEXT: v_readlane_b32 s30, v63, 15
+; SI-NEXT: v_readlane_b32 s30, v63, 18
; SI-NEXT: v_or_b32_e32 v1, v1, v55
; SI-NEXT: v_or_b32_e32 v17, v17, v39
; SI-NEXT: v_or_b32_e32 v19, v19, v38
@@ -138123,7 +138207,10 @@ define inreg <64 x i16> @bitcast_v16f64_to_v64i16_scalar(<16 x double> inreg %a,
; SI-NEXT: v_or_b32_e32 v25, v25, v35
; SI-NEXT: v_or_b32_e32 v27, v27, v34
; SI-NEXT: v_or_b32_e32 v29, v29, v33
-; SI-NEXT: v_readlane_b32 s31, v63, 16
+; SI-NEXT: v_readlane_b32 s31, v63, 19
+; SI-NEXT: v_readlane_b32 s67, v63, 17
+; SI-NEXT: v_readlane_b32 s66, v63, 16
+; SI-NEXT: v_readlane_b32 s65, v63, 15
; SI-NEXT: v_readlane_b32 s64, v63, 14
; SI-NEXT: v_readlane_b32 s55, v63, 13
; SI-NEXT: v_readlane_b32 s54, v63, 12
@@ -139364,11 +139451,11 @@ define inreg <16 x double> @bitcast_v64i16_to_v16f64_scalar(<64 x i16> inreg %a,
; SI-NEXT: s_lshr_b32 s67, s7, 16
; SI-NEXT: s_lshr_b32 s10, s9, 16
; SI-NEXT: s_lshr_b32 s12, s11, 16
-; SI-NEXT: s_lshr_b32 s14, s13, 16
+; SI-NEXT: s_lshr_b32 s64, s13, 16
; SI-NEXT: s_lshr_b32 s63, s15, 16
-; SI-NEXT: s_lshr_b32 s62, s73, 16
-; SI-NEXT: s_lshr_b32 s61, s75, 16
-; SI-NEXT: s_lshr_b32 s60, s77, 16
+; SI-NEXT: s_lshr_b32 s72, s73, 16
+; SI-NEXT: s_lshr_b32 s74, s75, 16
+; SI-NEXT: s_lshr_b32 s76, s77, 16
; SI-NEXT: s_lshr_b32 s78, s79, 16
; SI-NEXT: s_lshr_b32 s88, s89, 16
; SI-NEXT: s_lshr_b32 s90, s91, 16
@@ -139383,8 +139470,8 @@ define inreg <16 x double> @bitcast_v64i16_to_v16f64_scalar(<64 x i16> inreg %a,
; SI-NEXT: ; implicit-def: $vgpr33 : SGPR spill to VGPR lane
; SI-NEXT: s_cmp_lg_u32 s5, 0
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_writelane_b32 v33, s14, 0
-; SI-NEXT: v_writelane_b32 v33, s63, 1
+; SI-NEXT: v_writelane_b32 v33, s12, 0
+; SI-NEXT: v_writelane_b32 v33, s64, 1
; SI-NEXT: s_cbranch_scc0 .LBB87_2
; SI-NEXT: ; %bb.1: ; %cmp.false
; SI-NEXT: s_and_b32 s5, s16, 0xffff
@@ -139461,22 +139548,20 @@ define inreg <16 x double> @bitcast_v64i16_to_v16f64_scalar(<64 x i16> inreg %a,
; SI-NEXT: s_lshl_b32 s5, s78, 16
; SI-NEXT: s_or_b32 s59, s4, s5
; SI-NEXT: s_and_b32 s4, s77, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s60, 16
-; SI-NEXT: s_mov_b32 s74, s60
+; SI-NEXT: s_lshl_b32 s5, s76, 16
; SI-NEXT: s_or_b32 s60, s4, s5
; SI-NEXT: s_and_b32 s4, s75, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s61, 16
-; SI-NEXT: s_mov_b32 s76, s61
+; SI-NEXT: s_lshl_b32 s5, s74, 16
; SI-NEXT: s_or_b32 s61, s4, s5
; SI-NEXT: s_and_b32 s4, s73, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s62, 16
-; SI-NEXT: s_mov_b32 s72, s62
+; SI-NEXT: s_lshl_b32 s5, s72, 16
; SI-NEXT: s_or_b32 s62, s4, s5
; SI-NEXT: s_and_b32 s4, s15, 0xffff
; SI-NEXT: s_lshl_b32 s5, s63, 16
+; SI-NEXT: s_mov_b32 s14, s63
; SI-NEXT: s_or_b32 s63, s4, s5
; SI-NEXT: s_and_b32 s4, s13, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s14, 16
+; SI-NEXT: s_lshl_b32 s5, s64, 16
; SI-NEXT: s_or_b32 s64, s4, s5
; SI-NEXT: s_and_b32 s4, s11, 0xffff
; SI-NEXT: s_lshl_b32 s5, s12, 16
@@ -139486,17 +139571,13 @@ define inreg <16 x double> @bitcast_v64i16_to_v16f64_scalar(<64 x i16> inreg %a,
; SI-NEXT: s_or_b32 s66, s4, s5
; SI-NEXT: s_and_b32 s4, s7, 0xffff
; SI-NEXT: s_lshl_b32 s5, s67, 16
-; SI-NEXT: s_mov_b32 s14, s12
; SI-NEXT: s_mov_b32 s12, s10
; SI-NEXT: s_mov_b32 s10, s67
; SI-NEXT: s_or_b32 s67, s4, s5
; SI-NEXT: s_mov_b64 s[4:5], 0
; SI-NEXT: s_branch .LBB87_3
; SI-NEXT: .LBB87_2:
-; SI-NEXT: s_mov_b32 s74, s60
-; SI-NEXT: s_mov_b32 s76, s61
-; SI-NEXT: s_mov_b32 s72, s62
-; SI-NEXT: s_mov_b32 s14, s12
+; SI-NEXT: s_mov_b32 s14, s63
; SI-NEXT: s_mov_b32 s12, s10
; SI-NEXT: s_mov_b32 s10, s67
; SI-NEXT: s_mov_b32 s8, s4
@@ -139630,12 +139711,12 @@ define inreg <16 x double> @bitcast_v64i16_to_v16f64_scalar(<64 x i16> inreg %a,
; SI-NEXT: s_add_i32 s77, s77, 3
; SI-NEXT: s_add_i32 s59, s4, 0x30000
; SI-NEXT: s_and_b32 s4, s77, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s74, 16
+; SI-NEXT: s_lshl_b32 s5, s76, 16
; SI-NEXT: s_or_b32 s4, s5, s4
; SI-NEXT: s_add_i32 s75, s75, 3
; SI-NEXT: s_add_i32 s60, s4, 0x30000
; SI-NEXT: s_and_b32 s4, s75, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s76, 16
+; SI-NEXT: s_lshl_b32 s5, s74, 16
; SI-NEXT: s_or_b32 s4, s5, s4
; SI-NEXT: s_add_i32 s73, s73, 3
; SI-NEXT: s_add_i32 s61, s4, 0x30000
@@ -139643,21 +139724,21 @@ define inreg <16 x double> @bitcast_v64i16_to_v16f64_scalar(<64 x i16> inreg %a,
; SI-NEXT: s_lshl_b32 s5, s72, 16
; SI-NEXT: s_or_b32 s4, s5, s4
; SI-NEXT: s_add_i32 s15, s15, 3
-; SI-NEXT: v_readlane_b32 s5, v33, 1
; SI-NEXT: s_add_i32 s62, s4, 0x30000
; SI-NEXT: s_and_b32 s4, s15, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s5, 16
+; SI-NEXT: s_lshl_b32 s5, s14, 16
; SI-NEXT: s_or_b32 s4, s5, s4
; SI-NEXT: s_add_i32 s13, s13, 3
-; SI-NEXT: v_readlane_b32 s5, v33, 0
+; SI-NEXT: v_readlane_b32 s5, v33, 1
; SI-NEXT: s_add_i32 s63, s4, 0x30000
; SI-NEXT: s_and_b32 s4, s13, 0xffff
; SI-NEXT: s_lshl_b32 s5, s5, 16
; SI-NEXT: s_or_b32 s4, s5, s4
; SI-NEXT: s_add_i32 s11, s11, 3
+; SI-NEXT: v_readlane_b32 s5, v33, 0
; SI-NEXT: s_add_i32 s64, s4, 0x30000
; SI-NEXT: s_and_b32 s4, s11, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s14, 16
+; SI-NEXT: s_lshl_b32 s5, s5, 16
; SI-NEXT: s_or_b32 s4, s5, s4
; SI-NEXT: s_add_i32 s9, s9, 3
; SI-NEXT: s_add_i32 s65, s4, 0x30000
@@ -142359,7 +142440,7 @@ define <64 x bfloat> @bitcast_v128i8_to_v64bf16(<128 x i8> %a, i32 %b) #0 {
; VI-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:396 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:392 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v30, off, s[0:3], s32 offset:684 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:672 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:676 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:680 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:696 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:700 ; 4-byte Folded Spill
@@ -142381,14 +142462,14 @@ define <64 x bfloat> @bitcast_v128i8_to_v64bf16(<128 x i8> %a, i32 %b) #0 {
; VI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:764 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:752 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:756 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:792 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:796 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:780 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:788 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:776 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:784 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:768 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:772 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:824 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:828 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:812 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:820 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:808 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:816 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:800 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:804 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:388
; VI-NEXT: buffer_load_ushort v1, off, s[0:3], s32
; VI-NEXT: buffer_load_ushort v49, off, s[0:3], s32 offset:116
@@ -142401,25 +142482,25 @@ define <64 x bfloat> @bitcast_v128i8_to_v64bf16(<128 x i8> %a, i32 %b) #0 {
; VI-NEXT: buffer_load_ushort v40, off, s[0:3], s32 offset:88
; VI-NEXT: buffer_load_ushort v41, off, s[0:3], s32 offset:84
; VI-NEXT: buffer_load_ushort v46, off, s[0:3], s32 offset:80
-; VI-NEXT: buffer_load_ushort v47, off, s[0:3], s32 offset:76
+; VI-NEXT: buffer_load_ushort v63, off, s[0:3], s32 offset:76
; VI-NEXT: buffer_load_ushort v44, off, s[0:3], s32 offset:72
; VI-NEXT: buffer_load_ushort v45, off, s[0:3], s32 offset:68
-; VI-NEXT: buffer_load_ushort v32, off, s[0:3], s32 offset:64
-; VI-NEXT: buffer_load_ushort v57, off, s[0:3], s32 offset:60
-; VI-NEXT: buffer_load_ushort v56, off, s[0:3], s32 offset:56
-; VI-NEXT: buffer_load_ushort v63, off, s[0:3], s32 offset:52
-; VI-NEXT: buffer_load_ushort v34, off, s[0:3], s32 offset:48
-; VI-NEXT: buffer_load_ushort v59, off, s[0:3], s32 offset:44
-; VI-NEXT: buffer_load_ushort v58, off, s[0:3], s32 offset:40
-; VI-NEXT: buffer_load_ushort v33, off, s[0:3], s32 offset:36
-; VI-NEXT: buffer_load_ushort v36, off, s[0:3], s32 offset:32
-; VI-NEXT: buffer_load_ushort v37, off, s[0:3], s32 offset:28
-; VI-NEXT: buffer_load_ushort v60, off, s[0:3], s32 offset:24
-; VI-NEXT: buffer_load_ushort v35, off, s[0:3], s32 offset:20
+; VI-NEXT: buffer_load_ushort v34, off, s[0:3], s32 offset:64
+; VI-NEXT: buffer_load_ushort v35, off, s[0:3], s32 offset:60
+; VI-NEXT: buffer_load_ushort v32, off, s[0:3], s32 offset:56
+; VI-NEXT: buffer_load_ushort v33, off, s[0:3], s32 offset:52
+; VI-NEXT: buffer_load_ushort v38, off, s[0:3], s32 offset:48
+; VI-NEXT: buffer_load_ushort v47, off, s[0:3], s32 offset:44
+; VI-NEXT: buffer_load_ushort v36, off, s[0:3], s32 offset:40
+; VI-NEXT: buffer_load_ushort v37, off, s[0:3], s32 offset:36
+; VI-NEXT: buffer_load_ushort v58, off, s[0:3], s32 offset:32
+; VI-NEXT: buffer_load_ushort v59, off, s[0:3], s32 offset:28
+; VI-NEXT: buffer_load_ushort v56, off, s[0:3], s32 offset:24
+; VI-NEXT: buffer_load_ushort v57, off, s[0:3], s32 offset:20
; VI-NEXT: buffer_load_ushort v62, off, s[0:3], s32 offset:16
; VI-NEXT: buffer_load_ushort v39, off, s[0:3], s32 offset:12
-; VI-NEXT: buffer_load_ushort v61, off, s[0:3], s32 offset:8
-; VI-NEXT: buffer_load_ushort v38, off, s[0:3], s32 offset:4
+; VI-NEXT: buffer_load_ushort v60, off, s[0:3], s32 offset:8
+; VI-NEXT: buffer_load_ushort v61, off, s[0:3], s32 offset:4
; VI-NEXT: ; implicit-def: $vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31
; VI-NEXT: s_waitcnt vmcnt(14)
; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v0
@@ -142498,7 +142579,7 @@ define <64 x bfloat> @bitcast_v128i8_to_v64bf16(<128 x i8> %a, i32 %b) #0 {
; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:492 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:204
; VI-NEXT: s_waitcnt vmcnt(2)
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:676 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:672 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v48, off, s[0:3], s32 offset:376
; VI-NEXT: buffer_load_ushort v1, off, s[0:3], s32 offset:372
; VI-NEXT: s_waitcnt vmcnt(3)
@@ -142568,49 +142649,49 @@ define <64 x bfloat> @bitcast_v128i8_to_v64bf16(<128 x i8> %a, i32 %b) #0 {
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:592 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v1, off, s[0:3], s32 offset:328
; VI-NEXT: s_waitcnt vmcnt(2)
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:824 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:792 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:156
; VI-NEXT: s_waitcnt vmcnt(2)
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:544 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v1, off, s[0:3], s32 offset:324
; VI-NEXT: s_waitcnt vmcnt(2)
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:828 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:796 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:152
; VI-NEXT: s_waitcnt vmcnt(2)
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:560 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v1, off, s[0:3], s32 offset:320
; VI-NEXT: s_waitcnt vmcnt(2)
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:812 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:780 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:148
; VI-NEXT: s_waitcnt vmcnt(2)
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:540 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v1, off, s[0:3], s32 offset:316
; VI-NEXT: s_waitcnt vmcnt(2)
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:820 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:788 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:144
; VI-NEXT: s_waitcnt vmcnt(2)
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:556 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v1, off, s[0:3], s32 offset:312
; VI-NEXT: s_waitcnt vmcnt(2)
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:808 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:776 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:140
; VI-NEXT: s_waitcnt vmcnt(2)
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:548 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v1, off, s[0:3], s32 offset:308
; VI-NEXT: s_waitcnt vmcnt(2)
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:816 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:784 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:136
; VI-NEXT: s_waitcnt vmcnt(2)
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:528 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v1, off, s[0:3], s32 offset:304
; VI-NEXT: s_waitcnt vmcnt(2)
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:800 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:768 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:132
; VI-NEXT: s_waitcnt vmcnt(2)
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:508 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v1, off, s[0:3], s32 offset:300
; VI-NEXT: s_waitcnt vmcnt(2)
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:804 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:772 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v50, off, s[0:3], s32 offset:128
; VI-NEXT: buffer_load_ushort v51, off, s[0:3], s32 offset:124
; VI-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:120
@@ -142623,16 +142704,16 @@ define <64 x bfloat> @bitcast_v128i8_to_v64bf16(<128 x i8> %a, i32 %b) #0 {
; VI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]
; VI-NEXT: s_cbranch_execz .LBB88_2
; VI-NEXT: ; %bb.1: ; %cmp.false
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:768 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:772 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:800 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:804 ; 4-byte Folded Reload
; VI-NEXT: s_mov_b32 s6, 0xc0c0004
-; VI-NEXT: v_perm_b32 v10, v37, v36, s6
+; VI-NEXT: v_perm_b32 v10, v59, v58, s6
; VI-NEXT: v_lshlrev_b32_e32 v10, 16, v10
-; VI-NEXT: v_perm_b32 v11, v59, v34, s6
+; VI-NEXT: v_perm_b32 v11, v47, v38, s6
; VI-NEXT: v_lshlrev_b32_e32 v11, 16, v11
-; VI-NEXT: v_perm_b32 v12, v57, v32, s6
+; VI-NEXT: v_perm_b32 v12, v35, v34, s6
; VI-NEXT: v_lshlrev_b32_e32 v12, 16, v12
-; VI-NEXT: v_perm_b32 v13, v47, v46, s6
+; VI-NEXT: v_perm_b32 v13, v63, v46, s6
; VI-NEXT: v_lshlrev_b32_e32 v13, 16, v13
; VI-NEXT: v_perm_b32 v14, v43, v42, s6
; VI-NEXT: v_lshlrev_b32_e32 v14, 16, v14
@@ -142640,12 +142721,13 @@ define <64 x bfloat> @bitcast_v128i8_to_v64bf16(<128 x i8> %a, i32 %b) #0 {
; VI-NEXT: v_lshlrev_b32_e32 v15, 16, v15
; VI-NEXT: v_perm_b32 v16, v51, v50, s6
; VI-NEXT: v_lshlrev_b32_e32 v16, 16, v16
-; VI-NEXT: ; implicit-def: $vgpr37
-; VI-NEXT: ; implicit-def: $vgpr36
; VI-NEXT: ; implicit-def: $vgpr59
-; VI-NEXT: ; implicit-def: $vgpr34
-; VI-NEXT: ; implicit-def: $vgpr57
+; VI-NEXT: ; implicit-def: $vgpr58
; VI-NEXT: ; implicit-def: $vgpr47
+; VI-NEXT: ; implicit-def: $vgpr38
+; VI-NEXT: ; implicit-def: $vgpr35
+; VI-NEXT: ; implicit-def: $vgpr34
+; VI-NEXT: ; implicit-def: $vgpr63
; VI-NEXT: ; implicit-def: $vgpr46
; VI-NEXT: ; implicit-def: $vgpr43
; VI-NEXT: ; implicit-def: $vgpr42
@@ -142655,18 +142737,18 @@ define <64 x bfloat> @bitcast_v128i8_to_v64bf16(<128 x i8> %a, i32 %b) #0 {
; VI-NEXT: ; implicit-def: $vgpr50
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v0, v1, v0, s6
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:776 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:784 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:808 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:816 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s6
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:780 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:788 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:812 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:820 ; 4-byte Folded Reload
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v0, v0, v1
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v2, v3, v2, s6
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:792 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:796 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:824 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:828 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v3, v4, v3, s6
; VI-NEXT: v_lshlrev_b32_e32 v3, 16, v3
@@ -142721,7 +142803,7 @@ define <64 x bfloat> @bitcast_v128i8_to_v64bf16(<128 x i8> %a, i32 %b) #0 {
; VI-NEXT: v_perm_b32 v7, v8, v7, s6
; VI-NEXT: v_lshlrev_b32_e32 v7, 16, v7
; VI-NEXT: v_or_b32_e32 v6, v6, v7
-; VI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:672 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:676 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:680 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v7, v8, v7, s6
@@ -142732,14 +142814,14 @@ define <64 x bfloat> @bitcast_v128i8_to_v64bf16(<128 x i8> %a, i32 %b) #0 {
; VI-NEXT: v_lshlrev_b32_e32 v8, 16, v8
; VI-NEXT: v_perm_b32 v9, v39, v62, s6
; VI-NEXT: v_or_b32_e32 v7, v7, v8
-; VI-NEXT: v_perm_b32 v8, v38, v61, s6
+; VI-NEXT: v_perm_b32 v8, v61, v60, s6
; VI-NEXT: v_lshlrev_b32_e32 v9, 16, v9
; VI-NEXT: v_or_b32_e32 v8, v8, v9
-; VI-NEXT: v_perm_b32 v9, v35, v60, s6
+; VI-NEXT: v_perm_b32 v9, v57, v56, s6
; VI-NEXT: v_or_b32_e32 v9, v9, v10
-; VI-NEXT: v_perm_b32 v10, v33, v58, s6
+; VI-NEXT: v_perm_b32 v10, v37, v36, s6
; VI-NEXT: v_or_b32_e32 v10, v10, v11
-; VI-NEXT: v_perm_b32 v11, v63, v56, s6
+; VI-NEXT: v_perm_b32 v11, v33, v32, s6
; VI-NEXT: v_or_b32_e32 v11, v11, v12
; VI-NEXT: v_perm_b32 v12, v45, v44, s6
; VI-NEXT: v_or_b32_e32 v12, v12, v13
@@ -142748,15 +142830,14 @@ define <64 x bfloat> @bitcast_v128i8_to_v64bf16(<128 x i8> %a, i32 %b) #0 {
; VI-NEXT: v_perm_b32 v14, v53, v52, s6
; VI-NEXT: v_or_b32_e32 v14, v14, v15
; VI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:836 ; 4-byte Folded Reload
-; VI-NEXT: ; implicit-def: $vgpr38
; VI-NEXT: ; implicit-def: $vgpr61
+; VI-NEXT: ; implicit-def: $vgpr60
; VI-NEXT: ; implicit-def: $vgpr39
; VI-NEXT: ; implicit-def: $vgpr62
-; VI-NEXT: ; implicit-def: $vgpr35
-; VI-NEXT: ; implicit-def: $vgpr60
-; VI-NEXT: ; implicit-def: $vgpr58
-; VI-NEXT: ; implicit-def: $vgpr63
+; VI-NEXT: ; implicit-def: $vgpr57
; VI-NEXT: ; implicit-def: $vgpr56
+; VI-NEXT: ; implicit-def: $vgpr37
+; VI-NEXT: ; implicit-def: $vgpr36
; VI-NEXT: ; implicit-def: $vgpr45
; VI-NEXT: ; implicit-def: $vgpr44
; VI-NEXT: ; implicit-def: $vgpr41
@@ -142766,23 +142847,23 @@ define <64 x bfloat> @bitcast_v128i8_to_v64bf16(<128 x i8> %a, i32 %b) #0 {
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v15, v49, v15, s6
; VI-NEXT: v_or_b32_e32 v15, v15, v16
-; VI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:800 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:804 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:768 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:772 ; 4-byte Folded Reload
; VI-NEXT: ; implicit-def: $vgpr49
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v16, v17, v16, s6
-; VI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:808 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:816 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:776 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:784 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v17, v18, v17, s6
-; VI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:812 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:820 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:780 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:788 ; 4-byte Folded Reload
; VI-NEXT: v_lshlrev_b32_e32 v17, 16, v17
; VI-NEXT: v_or_b32_e32 v16, v16, v17
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v18, v19, v18, s6
-; VI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:824 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:828 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:792 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:796 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v19, v20, v19, s6
; VI-NEXT: v_lshlrev_b32_e32 v19, 16, v19
@@ -142919,7 +143000,7 @@ define <64 x bfloat> @bitcast_v128i8_to_v64bf16(<128 x i8> %a, i32 %b) #0 {
; VI-NEXT: v_or_b32_e32 v30, v30, v31
; VI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:660 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:668 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:676 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:672 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(2)
; VI-NEXT: v_perm_b32 v31, v31, v48, s6
; VI-NEXT: ; implicit-def: $vgpr48
@@ -143125,70 +143206,72 @@ define <64 x bfloat> @bitcast_v128i8_to_v64bf16(<128 x i8> %a, i32 %b) #0 {
; VI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]
; VI-NEXT: s_cbranch_execz .LBB88_4
; VI-NEXT: ; %bb.3: ; %cmp.true
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:796 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:792 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:828 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:824 ; 4-byte Folded Reload
; VI-NEXT: v_mov_b32_e32 v18, 0x300
-; VI-NEXT: v_lshlrev_b16_e32 v10, 8, v61
-; VI-NEXT: v_lshlrev_b16_e32 v11, 8, v60
-; VI-NEXT: v_lshlrev_b16_e32 v12, 8, v58
-; VI-NEXT: v_lshlrev_b16_e32 v13, 8, v56
+; VI-NEXT: v_lshlrev_b16_e32 v10, 8, v60
+; VI-NEXT: v_lshlrev_b16_e32 v11, 8, v56
+; VI-NEXT: v_lshlrev_b16_e32 v12, 8, v36
+; VI-NEXT: v_lshlrev_b16_e32 v13, 8, v32
; VI-NEXT: v_lshlrev_b16_e32 v14, 8, v44
; VI-NEXT: v_lshlrev_b16_e32 v15, 8, v40
; VI-NEXT: v_lshlrev_b16_e32 v16, 8, v52
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:780 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:776 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:768 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:812 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:808 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:800 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:736 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:720 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:704 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:836 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:812 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:780 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:688 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:808 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:800 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:672 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:776 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:768 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:676 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:616 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:516 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(14)
; VI-NEXT: v_add_u16_e32 v0, 3, v0
-; VI-NEXT: s_waitcnt vmcnt(13)
; VI-NEXT: v_lshlrev_b16_e32 v1, 8, v1
; VI-NEXT: v_or_b32_sdwa v0, v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:788 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(13)
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:820 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(14)
; VI-NEXT: v_lshlrev_b16_e32 v2, 8, v2
-; VI-NEXT: s_waitcnt vmcnt(12)
+; VI-NEXT: s_waitcnt vmcnt(13)
; VI-NEXT: v_lshlrev_b16_e32 v3, 8, v3
-; VI-NEXT: s_waitcnt vmcnt(11)
+; VI-NEXT: s_waitcnt vmcnt(12)
; VI-NEXT: v_lshlrev_b16_e32 v4, 8, v4
-; VI-NEXT: s_waitcnt vmcnt(10)
+; VI-NEXT: s_waitcnt vmcnt(11)
; VI-NEXT: v_lshlrev_b16_e32 v5, 8, v5
-; VI-NEXT: s_waitcnt vmcnt(9)
+; VI-NEXT: s_waitcnt vmcnt(10)
; VI-NEXT: v_lshlrev_b16_e32 v6, 8, v6
-; VI-NEXT: s_waitcnt vmcnt(8)
+; VI-NEXT: s_waitcnt vmcnt(9)
; VI-NEXT: v_lshlrev_b16_e32 v7, 8, v7
-; VI-NEXT: s_waitcnt vmcnt(7)
+; VI-NEXT: s_waitcnt vmcnt(8)
; VI-NEXT: v_lshlrev_b16_e32 v17, 8, v17
-; VI-NEXT: s_waitcnt vmcnt(6)
+; VI-NEXT: s_waitcnt vmcnt(7)
; VI-NEXT: v_lshlrev_b16_e32 v19, 8, v19
-; VI-NEXT: s_waitcnt vmcnt(5)
+; VI-NEXT: s_waitcnt vmcnt(6)
; VI-NEXT: v_lshlrev_b16_e32 v8, 8, v8
-; VI-NEXT: s_waitcnt vmcnt(4)
+; VI-NEXT: s_waitcnt vmcnt(5)
; VI-NEXT: v_lshlrev_b16_e32 v20, 8, v20
-; VI-NEXT: s_waitcnt vmcnt(3)
+; VI-NEXT: s_waitcnt vmcnt(4)
; VI-NEXT: v_lshlrev_b16_e32 v21, 8, v21
-; VI-NEXT: s_waitcnt vmcnt(2)
+; VI-NEXT: s_waitcnt vmcnt(3)
; VI-NEXT: v_lshlrev_b16_e32 v9, 8, v9
-; VI-NEXT: s_waitcnt vmcnt(1)
+; VI-NEXT: s_waitcnt vmcnt(2)
; VI-NEXT: v_lshlrev_b16_e32 v22, 8, v22
+; VI-NEXT: s_waitcnt vmcnt(1)
+; VI-NEXT: v_lshlrev_b16_e32 v32, 8, v32
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u16_e32 v1, 3, v1
; VI-NEXT: v_or_b32_sdwa v1, v2, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:784 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:816 ; 4-byte Folded Reload
; VI-NEXT: v_add_u16_e32 v1, 0x300, v1
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u16_e32 v2, 3, v2
; VI-NEXT: v_or_b32_sdwa v2, v3, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:772 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:804 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u16_e32 v3, 3, v3
; VI-NEXT: v_or_b32_sdwa v3, v4, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
@@ -143287,36 +143370,36 @@ define <64 x bfloat> @bitcast_v128i8_to_v64bf16(<128 x i8> %a, i32 %b) #0 {
; VI-NEXT: v_add_u16_e32 v8, 3, v39
; VI-NEXT: v_lshlrev_b16_e32 v9, 8, v62
; VI-NEXT: v_or_b32_sdwa v8, v9, v8 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; VI-NEXT: v_add_u16_e32 v9, 3, v38
+; VI-NEXT: v_add_u16_e32 v9, 3, v61
; VI-NEXT: v_or_b32_sdwa v9, v10, v9 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; VI-NEXT: v_add_u16_sdwa v8, v8, v18 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
; VI-NEXT: v_add_u16_e32 v9, 0x300, v9
; VI-NEXT: v_or_b32_e32 v8, v9, v8
-; VI-NEXT: v_add_u16_e32 v9, 3, v37
-; VI-NEXT: v_lshlrev_b16_e32 v10, 8, v36
+; VI-NEXT: v_add_u16_e32 v9, 3, v59
+; VI-NEXT: v_lshlrev_b16_e32 v10, 8, v58
; VI-NEXT: v_or_b32_sdwa v9, v10, v9 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; VI-NEXT: v_add_u16_e32 v10, 3, v35
+; VI-NEXT: v_add_u16_e32 v10, 3, v57
; VI-NEXT: v_or_b32_sdwa v10, v11, v10 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; VI-NEXT: v_add_u16_sdwa v9, v9, v18 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
; VI-NEXT: v_add_u16_e32 v10, 0x300, v10
; VI-NEXT: v_or_b32_e32 v9, v10, v9
-; VI-NEXT: v_add_u16_e32 v10, 3, v59
-; VI-NEXT: v_lshlrev_b16_e32 v11, 8, v34
+; VI-NEXT: v_add_u16_e32 v10, 3, v47
+; VI-NEXT: v_lshlrev_b16_e32 v11, 8, v38
; VI-NEXT: v_or_b32_sdwa v10, v11, v10 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; VI-NEXT: v_add_u16_e32 v11, 3, v33
+; VI-NEXT: v_add_u16_e32 v11, 3, v37
; VI-NEXT: v_or_b32_sdwa v11, v12, v11 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; VI-NEXT: v_add_u16_sdwa v10, v10, v18 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
; VI-NEXT: v_add_u16_e32 v11, 0x300, v11
; VI-NEXT: v_or_b32_e32 v10, v11, v10
-; VI-NEXT: v_add_u16_e32 v11, 3, v57
-; VI-NEXT: v_lshlrev_b16_e32 v12, 8, v32
+; VI-NEXT: v_add_u16_e32 v11, 3, v35
+; VI-NEXT: v_lshlrev_b16_e32 v12, 8, v34
; VI-NEXT: v_or_b32_sdwa v11, v12, v11 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; VI-NEXT: v_add_u16_e32 v12, 3, v63
+; VI-NEXT: v_add_u16_e32 v12, 3, v33
; VI-NEXT: v_or_b32_sdwa v12, v13, v12 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; VI-NEXT: v_add_u16_sdwa v11, v11, v18 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
; VI-NEXT: v_add_u16_e32 v12, 0x300, v12
; VI-NEXT: v_or_b32_e32 v11, v12, v11
-; VI-NEXT: v_add_u16_e32 v12, 3, v47
+; VI-NEXT: v_add_u16_e32 v12, 3, v63
; VI-NEXT: v_lshlrev_b16_e32 v13, 8, v46
; VI-NEXT: v_or_b32_sdwa v12, v13, v12 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; VI-NEXT: v_add_u16_e32 v13, 3, v45
@@ -143348,29 +143431,26 @@ define <64 x bfloat> @bitcast_v128i8_to_v64bf16(<128 x i8> %a, i32 %b) #0 {
; VI-NEXT: v_add_u16_sdwa v15, v15, v18 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
; VI-NEXT: v_add_u16_e32 v16, 0x300, v16
; VI-NEXT: v_or_b32_e32 v15, v16, v15
-; VI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:828 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:824 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:516 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:796 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:792 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:492 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(3)
-; VI-NEXT: v_add_u16_e32 v16, 3, v16
; VI-NEXT: s_waitcnt vmcnt(2)
+; VI-NEXT: v_add_u16_e32 v16, 3, v16
+; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_lshlrev_b16_e32 v17, 8, v17
; VI-NEXT: v_or_b32_sdwa v16, v17, v16 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; VI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:820 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(2)
-; VI-NEXT: v_lshlrev_b16_e32 v32, 8, v32
+; VI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:788 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_lshlrev_b16_e32 v34, 8, v34
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u16_e32 v17, 3, v17
; VI-NEXT: v_or_b32_sdwa v17, v19, v17 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; VI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:816 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:784 ; 4-byte Folded Reload
; VI-NEXT: v_add_u16_e32 v17, 0x300, v17
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u16_e32 v19, 3, v19
; VI-NEXT: v_or_b32_sdwa v19, v20, v19 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; VI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:804 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:772 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u16_e32 v20, 3, v20
; VI-NEXT: v_or_b32_sdwa v20, v21, v20 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
@@ -143378,7 +143458,7 @@ define <64 x bfloat> @bitcast_v128i8_to_v64bf16(<128 x i8> %a, i32 %b) #0 {
; VI-NEXT: v_add_u16_sdwa v16, v19, v18 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
; VI-NEXT: v_add_u16_e32 v19, 0x300, v20
; VI-NEXT: v_or_b32_e32 v16, v19, v16
-; VI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:676 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:672 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:668 ; 4-byte Folded Reload
; VI-NEXT: v_or_b32_e32 v17, v17, v21
; VI-NEXT: v_lshlrev_b16_e32 v21, 8, v48
@@ -143667,16 +143747,16 @@ define <64 x bfloat> @bitcast_v128i8_to_v64bf16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:528 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:532 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:536 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:540 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:544 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:556 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:564 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:572 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:576 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:548 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:552 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:560 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:568 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:548 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:552 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:588 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:596 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:604 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:608 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:580 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:584 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:592 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:600 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:388
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_ushort v1, off, s[0:3], s32 offset:8
@@ -143698,14 +143778,14 @@ define <64 x bfloat> @bitcast_v128i8_to_v64bf16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: buffer_load_ushort v17, off, s[0:3], s32 offset:304
; GFX9-NEXT: buffer_load_ushort v18, off, s[0:3], s32 offset:320
; GFX9-NEXT: buffer_load_ushort v19, off, s[0:3], s32 offset:108
-; GFX9-NEXT: buffer_load_ushort v46, off, s[0:3], s32 offset:160
-; GFX9-NEXT: buffer_load_ushort v63, off, s[0:3], s32 offset:156
-; GFX9-NEXT: buffer_load_ushort v57, off, s[0:3], s32 offset:152
-; GFX9-NEXT: buffer_load_ushort v58, off, s[0:3], s32 offset:148
-; GFX9-NEXT: buffer_load_ushort v42, off, s[0:3], s32 offset:144
-; GFX9-NEXT: buffer_load_ushort v43, off, s[0:3], s32 offset:140
-; GFX9-NEXT: buffer_load_ushort v56, off, s[0:3], s32 offset:136
-; GFX9-NEXT: buffer_load_ushort v32, off, s[0:3], s32 offset:132
+; GFX9-NEXT: buffer_load_ushort v63, off, s[0:3], s32 offset:160
+; GFX9-NEXT: buffer_load_ushort v42, off, s[0:3], s32 offset:156
+; GFX9-NEXT: buffer_load_ushort v34, off, s[0:3], s32 offset:152
+; GFX9-NEXT: buffer_load_ushort v44, off, s[0:3], s32 offset:148
+; GFX9-NEXT: buffer_load_ushort v40, off, s[0:3], s32 offset:144
+; GFX9-NEXT: buffer_load_ushort v32, off, s[0:3], s32 offset:140
+; GFX9-NEXT: buffer_load_ushort v41, off, s[0:3], s32 offset:136
+; GFX9-NEXT: buffer_load_ushort v33, off, s[0:3], s32 offset:132
; GFX9-NEXT: s_waitcnt vmcnt(27)
; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v0
; GFX9-NEXT: s_waitcnt vmcnt(26)
@@ -143717,27 +143797,27 @@ define <64 x bfloat> @bitcast_v128i8_to_v64bf16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: s_waitcnt vmcnt(23)
; GFX9-NEXT: v_lshlrev_b16_e32 v39, 8, v4
; GFX9-NEXT: s_waitcnt vmcnt(22)
-; GFX9-NEXT: v_lshlrev_b16_e32 v38, 8, v5
+; GFX9-NEXT: v_lshlrev_b16_e32 v62, 8, v5
; GFX9-NEXT: s_waitcnt vmcnt(21)
-; GFX9-NEXT: v_lshlrev_b16_e32 v34, 8, v6
+; GFX9-NEXT: v_lshlrev_b16_e32 v57, 8, v6
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:292
; GFX9-NEXT: s_waitcnt vmcnt(9)
-; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:664 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:704 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v19, off, s[0:3], s32 offset:100
; GFX9-NEXT: s_waitcnt vmcnt(2)
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:600 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:568 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:300
; GFX9-NEXT: s_waitcnt vmcnt(2)
-; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:668 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:708 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v19, off, s[0:3], s32 offset:92
; GFX9-NEXT: s_waitcnt vmcnt(2)
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:596 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:564 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:316
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:604 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:572 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:312
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:608 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:576 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshlrev_b16_e32 v0, 8, v7
; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:836 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshlrev_b16_e32 v0, 8, v8
@@ -143769,16 +143849,16 @@ define <64 x bfloat> @bitcast_v128i8_to_v64bf16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: buffer_load_ushort v3, off, s[0:3], s32 offset:324
; GFX9-NEXT: s_waitcnt vmcnt(3)
; GFX9-NEXT: v_lshlrev_b16_e32 v0, 8, v0
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:684 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:676 ; 4-byte Folded Spill
; GFX9-NEXT: s_waitcnt vmcnt(3)
; GFX9-NEXT: v_lshlrev_b16_e32 v0, 8, v1
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:624 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v3, off, s[0:3], s32 offset:332
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:672 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:664 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshlrev_b16_e32 v0, 8, v2
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:680 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:672 ; 4-byte Folded Spill
; GFX9-NEXT: s_waitcnt vmcnt(2)
; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:632 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v3, off, s[0:3], s32 offset:348
@@ -143801,48 +143881,49 @@ define <64 x bfloat> @bitcast_v128i8_to_v64bf16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: s_waitcnt vmcnt(3)
; GFX9-NEXT: v_lshlrev_b16_e32 v0, 8, v2
; GFX9-NEXT: s_waitcnt vmcnt(2)
-; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:700 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:688 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v3, off, s[0:3], s32 offset:364
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:756 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:116
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:720 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:712 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v19, off, s[0:3], s32 offset:260
; GFX9-NEXT: s_waitcnt vmcnt(4)
-; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:692 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:680 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v3, off, s[0:3], s32 offset:380
; GFX9-NEXT: s_waitcnt vmcnt(4)
; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:824 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:276
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:688 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:720 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:308
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:696 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:684 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:340
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:712 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_ushort v36, off, s[0:3], s32 offset:88
-; GFX9-NEXT: buffer_load_ushort v37, off, s[0:3], s32 offset:84
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:700 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v60, off, s[0:3], s32 offset:88
+; GFX9-NEXT: buffer_load_ushort v61, off, s[0:3], s32 offset:84
; GFX9-NEXT: buffer_load_ushort v48, off, s[0:3], s32 offset:76
; GFX9-NEXT: buffer_load_ushort v50, off, s[0:3], s32 offset:68
; GFX9-NEXT: buffer_load_ushort v52, off, s[0:3], s32 offset:60
; GFX9-NEXT: buffer_load_ushort v54, off, s[0:3], s32 offset:56
; GFX9-NEXT: buffer_load_ushort v55, off, s[0:3], s32 offset:52
-; GFX9-NEXT: buffer_load_ushort v40, off, s[0:3], s32 offset:44
-; GFX9-NEXT: buffer_load_ushort v41, off, s[0:3], s32 offset:36
-; GFX9-NEXT: buffer_load_ushort v44, off, s[0:3], s32 offset:28
+; GFX9-NEXT: buffer_load_ushort v43, off, s[0:3], s32 offset:44
+; GFX9-NEXT: buffer_load_ushort v35, off, s[0:3], s32 offset:36
+; GFX9-NEXT: buffer_load_ushort v36, off, s[0:3], s32 offset:28
; GFX9-NEXT: buffer_load_ushort v45, off, s[0:3], s32 offset:24
-; GFX9-NEXT: buffer_load_ushort v47, off, s[0:3], s32 offset:20
-; GFX9-NEXT: buffer_load_ushort v59, off, s[0:3], s32 offset:12
-; GFX9-NEXT: buffer_load_ushort v60, off, s[0:3], s32 offset:4
-; GFX9-NEXT: buffer_load_ushort v62, off, s[0:3], s32 offset:124
-; GFX9-NEXT: buffer_load_ushort v35, off, s[0:3], s32 offset:120
+; GFX9-NEXT: buffer_load_ushort v46, off, s[0:3], s32 offset:20
+; GFX9-NEXT: buffer_load_ushort v37, off, s[0:3], s32 offset:12
+; GFX9-NEXT: buffer_load_ushort v38, off, s[0:3], s32 offset:4
+; GFX9-NEXT: buffer_load_ushort v58, off, s[0:3], s32 offset:124
+; GFX9-NEXT: buffer_load_ushort v59, off, s[0:3], s32 offset:120
+; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:372
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:744 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_ushort v33, off, s[0:3], s32
+; GFX9-NEXT: buffer_load_ushort v47, off, s[0:3], s32
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:256
; GFX9-NEXT: s_waitcnt vmcnt(0)
@@ -143886,7 +143967,7 @@ define <64 x bfloat> @bitcast_v128i8_to_v64bf16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:204
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:740 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_ushort v61, off, s[0:3], s32 offset:200
+; GFX9-NEXT: buffer_load_ushort v56, off, s[0:3], s32 offset:200
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:196
; GFX9-NEXT: s_waitcnt vmcnt(0)
@@ -143905,85 +143986,84 @@ define <64 x bfloat> @bitcast_v128i8_to_v64bf16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:748 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:176
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:676 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:668 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:172
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:704 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:692 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v3, off, s[0:3], s32 offset:376
; GFX9-NEXT: s_waitcnt vmcnt(2)
; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:652 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:168
; GFX9-NEXT: s_waitcnt vmcnt(2)
-; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:708 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:696 ; 4-byte Folded Spill
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:656 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:164
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:584 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:544 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v19, off, s[0:3], s32 offset:268
; GFX9-NEXT: s_waitcnt vmcnt(2)
; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:660 ; 4-byte Folded Spill
; GFX9-NEXT: ; implicit-def: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15
; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:580 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:540 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v19, off, s[0:3], s32 offset:284
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:588 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:556 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v19, off, s[0:3], s32 offset:280
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:592 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:560 ; 4-byte Folded Spill
; GFX9-NEXT: ; implicit-def: $vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31
; GFX9-NEXT: s_and_saveexec_b64 s[4:5], vcc
; GFX9-NEXT: s_xor_b64 s[4:5], exec, s[4:5]
; GFX9-NEXT: s_cbranch_execz .LBB88_2
; GFX9-NEXT: ; %bb.1: ; %cmp.false
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:560 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:568 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:592 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:600 ; 4-byte Folded Reload
; GFX9-NEXT: s_mov_b32 s6, 0xc0c0004
; GFX9-NEXT: s_mov_b32 s7, 0x5040100
-; GFX9-NEXT: v_or_b32_sdwa v9, v59, v51 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
-; GFX9-NEXT: v_perm_b32 v10, v47, v45, s6
-; GFX9-NEXT: v_or_b32_sdwa v11, v40, v38 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+; GFX9-NEXT: v_or_b32_sdwa v9, v37, v51 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+; GFX9-NEXT: v_perm_b32 v10, v46, v45, s6
+; GFX9-NEXT: v_or_b32_sdwa v11, v43, v62 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
; GFX9-NEXT: v_perm_b32 v12, v55, v54, s6
-; GFX9-NEXT: v_perm_b32 v17, v43, v42, s6
-; GFX9-NEXT: v_perm_b32 v18, v58, v57, s6
-; GFX9-NEXT: v_perm_b32 v19, v63, v46, s6
-; GFX9-NEXT: ; implicit-def: $vgpr59
-; GFX9-NEXT: ; implicit-def: $vgpr47
+; GFX9-NEXT: v_perm_b32 v17, v32, v40, s6
+; GFX9-NEXT: v_perm_b32 v18, v44, v34, s6
+; GFX9-NEXT: v_perm_b32 v19, v42, v63, s6
+; GFX9-NEXT: ; implicit-def: $vgpr37
+; GFX9-NEXT: ; implicit-def: $vgpr46
; GFX9-NEXT: ; implicit-def: $vgpr45
-; GFX9-NEXT: ; implicit-def: $vgpr40
+; GFX9-NEXT: ; implicit-def: $vgpr43
; GFX9-NEXT: ; implicit-def: $vgpr55
; GFX9-NEXT: ; implicit-def: $vgpr54
-; GFX9-NEXT: ; implicit-def: $vgpr43
+; GFX9-NEXT: ; implicit-def: $vgpr40
+; GFX9-NEXT: ; implicit-def: $vgpr44
+; GFX9-NEXT: ; implicit-def: $vgpr34
; GFX9-NEXT: ; implicit-def: $vgpr42
-; GFX9-NEXT: ; implicit-def: $vgpr58
-; GFX9-NEXT: ; implicit-def: $vgpr57
; GFX9-NEXT: ; implicit-def: $vgpr63
-; GFX9-NEXT: ; implicit-def: $vgpr46
; GFX9-NEXT: ; implicit-def: $vgpr51
-; GFX9-NEXT: ; implicit-def: $vgpr38
+; GFX9-NEXT: ; implicit-def: $vgpr62
; GFX9-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:832 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_perm_b32 v0, v1, v0, s6
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:548 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:552 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:580 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:584 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(2)
; GFX9-NEXT: v_or_b32_sdwa v13, v48, v13 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
; GFX9-NEXT: ; implicit-def: $vgpr48
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v2, v1, s6
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:572 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:576 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:604 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:608 ; 4-byte Folded Reload
; GFX9-NEXT: v_perm_b32 v0, v1, v0, s7
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v2, v3, v2, s6
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:556 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:564 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:588 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:596 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v3, v4, v3, s6
; GFX9-NEXT: v_perm_b32 v1, v3, v2, s7
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:540 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:544 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:548 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:552 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v2, v3, v2, s6
; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:532 ; 4-byte Folded Reload
@@ -144033,124 +144113,123 @@ define <64 x bfloat> @bitcast_v128i8_to_v64bf16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: v_perm_b32 v7, v8, v7, s6
; GFX9-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:456 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v8, v8, v33, s6
+; GFX9-NEXT: v_perm_b32 v8, v8, v47, s6
; GFX9-NEXT: v_perm_b32 v7, v8, v7, s7
-; GFX9-NEXT: v_or_b32_sdwa v8, v60, v53 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+; GFX9-NEXT: v_or_b32_sdwa v8, v38, v53 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
; GFX9-NEXT: v_perm_b32 v8, v9, v8, s7
-; GFX9-NEXT: v_or_b32_sdwa v9, v44, v49 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+; GFX9-NEXT: v_or_b32_sdwa v9, v36, v49 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
; GFX9-NEXT: v_perm_b32 v9, v9, v10, s7
-; GFX9-NEXT: v_or_b32_sdwa v10, v41, v39 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+; GFX9-NEXT: v_or_b32_sdwa v10, v35, v39 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
; GFX9-NEXT: v_perm_b32 v10, v11, v10, s7
-; GFX9-NEXT: v_or_b32_sdwa v11, v52, v34 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+; GFX9-NEXT: v_or_b32_sdwa v11, v52, v57 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
; GFX9-NEXT: v_perm_b32 v11, v11, v12, s7
; GFX9-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:836 ; 4-byte Folded Reload
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr60
-; GFX9-NEXT: ; implicit-def: $vgpr44
-; GFX9-NEXT: ; implicit-def: $vgpr41
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr47
+; GFX9-NEXT: ; implicit-def: $vgpr38
+; GFX9-NEXT: ; implicit-def: $vgpr36
+; GFX9-NEXT: ; implicit-def: $vgpr35
; GFX9-NEXT: ; implicit-def: $vgpr52
-; GFX9-NEXT: ; kill: killed $vgpr34
+; GFX9-NEXT: ; kill: killed $vgpr39
; GFX9-NEXT: ; implicit-def: $vgpr53
; GFX9-NEXT: ; implicit-def: $vgpr49
; GFX9-NEXT: ; implicit-def: $vgpr39
-; GFX9-NEXT: ; implicit-def: $vgpr34
+; GFX9-NEXT: ; implicit-def: $vgpr57
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v12, v50, v12 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
; GFX9-NEXT: v_perm_b32 v12, v13, v12, s7
-; GFX9-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:720 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:712 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:828 ; 4-byte Folded Reload
; GFX9-NEXT: ; implicit-def: $vgpr50
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v13, v13, v14 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
-; GFX9-NEXT: v_perm_b32 v14, v37, v36, s6
+; GFX9-NEXT: v_perm_b32 v14, v61, v60, s6
; GFX9-NEXT: v_perm_b32 v13, v13, v14, s7
-; GFX9-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:668 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:708 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:820 ; 4-byte Folded Reload
-; GFX9-NEXT: ; implicit-def: $vgpr37
-; GFX9-NEXT: ; implicit-def: $vgpr36
+; GFX9-NEXT: ; implicit-def: $vgpr61
+; GFX9-NEXT: ; implicit-def: $vgpr60
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v14, v14, v15 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:664 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:704 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:816 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v15, v15, v16 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
@@ -144158,22 +144237,22 @@ define <64 x bfloat> @bitcast_v128i8_to_v64bf16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:812 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:824 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_or_b32_sdwa v15, v62, v15 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+; GFX9-NEXT: v_or_b32_sdwa v15, v58, v15 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v16, v16, v35, s6
+; GFX9-NEXT: v_perm_b32 v16, v16, v59, s6
; GFX9-NEXT: v_perm_b32 v15, v15, v16, s7
-; GFX9-NEXT: v_perm_b32 v16, v32, v56, s6
+; GFX9-NEXT: v_perm_b32 v16, v33, v41, s6
; GFX9-NEXT: v_perm_b32 v16, v17, v16, s7
; GFX9-NEXT: v_perm_b32 v17, v19, v18, s7
; GFX9-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:656 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:660 ; 4-byte Folded Reload
-; GFX9-NEXT: ; implicit-def: $vgpr35
-; GFX9-NEXT: ; implicit-def: $vgpr62
-; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr59
+; GFX9-NEXT: ; implicit-def: $vgpr58
+; GFX9-NEXT: ; implicit-def: $vgpr41
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v18, v19, v18, s6
; GFX9-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:652 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:676 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:668 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v19, v19, v20, s6
; GFX9-NEXT: v_perm_b32 v18, v19, v18, s7
@@ -144190,55 +144269,55 @@ define <64 x bfloat> @bitcast_v128i8_to_v64bf16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:732 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:740 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(2)
-; GFX9-NEXT: v_perm_b32 v20, v20, v61, s6
+; GFX9-NEXT: v_perm_b32 v20, v20, v56, s6
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v21, v22, v21, s6
; GFX9-NEXT: v_perm_b32 v20, v21, v20, s7
; GFX9-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:776 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:784 ; 4-byte Folded Reload
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v21, v22, v21, s6
; GFX9-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:752 ; 4-byte Folded Reload
@@ -144264,74 +144343,74 @@ define <64 x bfloat> @bitcast_v128i8_to_v64bf16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v24, v25, v24, s6
; GFX9-NEXT: v_perm_b32 v23, v24, v23, s7
-; GFX9-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:584 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:544 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:620 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v24, v24, v25 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:580 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:540 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:612 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v25, v25, v26 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
; GFX9-NEXT: v_perm_b32 v24, v25, v24, s7
-; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:588 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:556 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:616 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v25, v25, v26 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:592 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:688 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:560 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:720 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v26, v27, v26, s6
; GFX9-NEXT: v_perm_b32 v25, v25, v26, s7
-; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:600 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:568 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:648 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v26, v26, v27 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:596 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:564 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:628 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v27, v27, v28 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
; GFX9-NEXT: v_perm_b32 v26, v27, v26, s7
-; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:604 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:572 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:644 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v27, v27, v28 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:608 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:696 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:576 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:684 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v28, v29, v28, s6
; GFX9-NEXT: v_perm_b32 v27, v27, v28, s7
; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:624 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:684 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:676 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v28, v28, v29 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
; GFX9-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:632 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:672 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:664 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v29, v29, v30 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
; GFX9-NEXT: v_perm_b32 v28, v29, v28, s7
; GFX9-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:636 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:680 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:672 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v29, v29, v30 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
; GFX9-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:640 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:712 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:700 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v30, v31, v30, s6
; GFX9-NEXT: v_perm_b32 v29, v29, v30, s7
-; GFX9-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:700 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:688 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:760 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v30, v30, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:692 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:680 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:716 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v31, v31, v32 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
; GFX9-NEXT: v_perm_b32 v30, v31, v30, s7
-; GFX9-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:704 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:692 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:756 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v31, v31, v32 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:708 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:696 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:744 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v32, v33, v32, s6
@@ -144403,29 +144482,23 @@ define <64 x bfloat> @bitcast_v128i8_to_v64bf16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: ; implicit-def: $vgpr32
; GFX9-NEXT: ; kill: killed $vgpr32
; GFX9-NEXT: ; implicit-def: $vgpr32
-; GFX9-NEXT: ; implicit-def: $vgpr33
; GFX9-NEXT: ; kill: killed $vgpr32
; GFX9-NEXT: ; implicit-def: $vgpr32
+; GFX9-NEXT: ; kill: killed $vgpr32
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: ; implicit-def: $vgpr32
; GFX9-NEXT: .LBB88_2: ; %Flow
; GFX9-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]
; GFX9-NEXT: s_cbranch_execz .LBB88_4
; GFX9-NEXT: ; %bb.3: ; %cmp.true
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:576 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:572 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:556 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:560 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:608 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:604 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:588 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:592 ; 4-byte Folded Reload
; GFX9-NEXT: s_mov_b32 s6, 0x5040100
-; GFX9-NEXT: v_lshlrev_b16_e32 v9, 8, v33
-; GFX9-NEXT: v_lshlrev_b16_e32 v10, 8, v45
-; GFX9-NEXT: v_add_u16_e32 v11, 3, v40
-; GFX9-NEXT: v_or_b32_sdwa v11, v38, v11 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: v_add_u16_e32 v11, 0x300, v11
-; GFX9-NEXT: v_lshlrev_b16_e32 v12, 8, v54
-; GFX9-NEXT: v_lshlrev_b16_e32 v18, 8, v46
-; GFX9-NEXT: v_lshlrev_b16_e32 v19, 8, v56
-; GFX9-NEXT: v_lshlrev_b16_e32 v20, 8, v42
; GFX9-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:836 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:548 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:576 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:580 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:832 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:828 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:816 ; 4-byte Folded Reload
@@ -144434,47 +144507,55 @@ define <64 x bfloat> @bitcast_v128i8_to_v64bf16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:760 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:716 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:500 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:684 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:680 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:676 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:672 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:484 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:672 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:664 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:644 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:468 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:640 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:608 ; 4-byte Folded Reload
+; GFX9-NEXT: v_lshlrev_b16_e32 v9, 8, v47
+; GFX9-NEXT: v_lshlrev_b16_e32 v10, 8, v45
+; GFX9-NEXT: v_add_u16_e32 v11, 3, v43
+; GFX9-NEXT: v_or_b32_sdwa v11, v62, v11 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
+; GFX9-NEXT: v_add_u16_e32 v11, 0x300, v11
+; GFX9-NEXT: v_lshlrev_b16_e32 v12, 8, v54
+; GFX9-NEXT: v_lshlrev_b16_e32 v18, 8, v63
+; GFX9-NEXT: v_lshlrev_b16_e32 v19, 8, v41
+; GFX9-NEXT: v_lshlrev_b16_e32 v20, 8, v40
; GFX9-NEXT: s_waitcnt vmcnt(21)
; GFX9-NEXT: v_add_u16_e32 v0, 3, v0
; GFX9-NEXT: s_waitcnt vmcnt(20)
; GFX9-NEXT: v_lshlrev_b16_e32 v1, 8, v1
; GFX9-NEXT: v_or_b32_sdwa v0, v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:564 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:596 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(20)
; GFX9-NEXT: v_lshlrev_b16_e32 v2, 8, v2
; GFX9-NEXT: s_waitcnt vmcnt(19)
; GFX9-NEXT: v_lshlrev_b16_e32 v3, 8, v3
; GFX9-NEXT: s_waitcnt vmcnt(17)
+; GFX9-NEXT: v_lshlrev_b16_e32 v27, 8, v27
+; GFX9-NEXT: s_waitcnt vmcnt(16)
; GFX9-NEXT: v_lshlrev_b16_e32 v4, 8, v4
-; GFX9-NEXT: s_waitcnt vmcnt(12)
+; GFX9-NEXT: s_waitcnt vmcnt(11)
; GFX9-NEXT: v_lshlrev_b16_e32 v5, 8, v5
-; GFX9-NEXT: s_waitcnt vmcnt(9)
+; GFX9-NEXT: s_waitcnt vmcnt(8)
; GFX9-NEXT: v_lshlrev_b16_e32 v6, 8, v6
-; GFX9-NEXT: s_waitcnt vmcnt(6)
+; GFX9-NEXT: s_waitcnt vmcnt(5)
; GFX9-NEXT: v_lshlrev_b16_e32 v7, 8, v7
-; GFX9-NEXT: s_waitcnt vmcnt(3)
-; GFX9-NEXT: v_lshlrev_b16_e32 v8, 8, v8
; GFX9-NEXT: s_waitcnt vmcnt(2)
-; GFX9-NEXT: v_lshlrev_b16_e32 v23, 8, v23
+; GFX9-NEXT: v_lshlrev_b16_e32 v8, 8, v8
; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_lshlrev_b16_e32 v27, 8, v27
+; GFX9-NEXT: v_lshlrev_b16_e32 v23, 8, v23
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u16_e32 v1, 3, v1
; GFX9-NEXT: v_or_b32_sdwa v1, v2, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:568 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:600 ; 4-byte Folded Reload
; GFX9-NEXT: v_add_u16_e32 v1, 0x300, v1
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u16_e32 v2, 3, v2
; GFX9-NEXT: v_or_b32_sdwa v2, v3, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:552 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:584 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u16_e32 v3, 3, v3
; GFX9-NEXT: v_or_b32_sdwa v3, v4, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
@@ -144482,8 +144563,8 @@ define <64 x bfloat> @bitcast_v128i8_to_v64bf16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: v_add_u16_e32 v0, 0x300, v2
; GFX9-NEXT: v_add_u16_e32 v2, 0x300, v3
; GFX9-NEXT: v_perm_b32 v0, v2, v0, s6
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:544 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:540 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:552 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:548 ; 4-byte Folded Reload
; GFX9-NEXT: v_perm_b32 v1, v1, v4, s6
; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:532 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(2)
@@ -144570,28 +144651,28 @@ define <64 x bfloat> @bitcast_v128i8_to_v64bf16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: v_or_b32_sdwa v8, v9, v8 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; GFX9-NEXT: v_add_u16_e32 v8, 0x300, v8
; GFX9-NEXT: v_perm_b32 v7, v8, v7, s6
-; GFX9-NEXT: v_add_u16_e32 v8, 3, v60
-; GFX9-NEXT: v_add_u16_e32 v9, 3, v59
+; GFX9-NEXT: v_add_u16_e32 v8, 3, v38
+; GFX9-NEXT: v_add_u16_e32 v9, 3, v37
; GFX9-NEXT: v_or_b32_sdwa v8, v53, v8 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; GFX9-NEXT: v_or_b32_sdwa v9, v51, v9 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; GFX9-NEXT: v_add_u16_e32 v8, 0x300, v8
; GFX9-NEXT: v_add_u16_e32 v9, 0x300, v9
; GFX9-NEXT: v_perm_b32 v8, v9, v8, s6
-; GFX9-NEXT: v_add_u16_e32 v9, 3, v47
+; GFX9-NEXT: v_add_u16_e32 v9, 3, v46
; GFX9-NEXT: v_or_b32_sdwa v9, v10, v9 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: v_add_u16_e32 v10, 3, v44
+; GFX9-NEXT: v_add_u16_e32 v10, 3, v36
; GFX9-NEXT: v_or_b32_sdwa v10, v49, v10 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; GFX9-NEXT: v_add_u16_e32 v9, 0x300, v9
; GFX9-NEXT: v_add_u16_e32 v10, 0x300, v10
; GFX9-NEXT: v_perm_b32 v9, v10, v9, s6
-; GFX9-NEXT: v_add_u16_e32 v10, 3, v41
+; GFX9-NEXT: v_add_u16_e32 v10, 3, v35
; GFX9-NEXT: v_or_b32_sdwa v10, v39, v10 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; GFX9-NEXT: v_add_u16_e32 v10, 0x300, v10
; GFX9-NEXT: v_perm_b32 v10, v11, v10, s6
; GFX9-NEXT: v_add_u16_e32 v11, 3, v55
; GFX9-NEXT: v_or_b32_sdwa v11, v12, v11 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; GFX9-NEXT: v_add_u16_e32 v12, 3, v52
-; GFX9-NEXT: v_or_b32_sdwa v12, v34, v12 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
+; GFX9-NEXT: v_or_b32_sdwa v12, v57, v12 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; GFX9-NEXT: v_add_u16_e32 v11, 0x300, v11
; GFX9-NEXT: v_add_u16_e32 v12, 0x300, v12
; GFX9-NEXT: v_perm_b32 v11, v12, v11, s6
@@ -144602,23 +144683,23 @@ define <64 x bfloat> @bitcast_v128i8_to_v64bf16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: v_add_u16_e32 v12, 0x300, v12
; GFX9-NEXT: v_add_u16_e32 v13, 0x300, v13
; GFX9-NEXT: v_perm_b32 v12, v13, v12, s6
-; GFX9-NEXT: v_add_u16_e32 v13, 3, v37
-; GFX9-NEXT: v_lshlrev_b16_e32 v14, 8, v36
+; GFX9-NEXT: v_add_u16_e32 v13, 3, v61
+; GFX9-NEXT: v_lshlrev_b16_e32 v14, 8, v60
; GFX9-NEXT: v_or_b32_sdwa v13, v14, v13 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:720 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:712 ; 4-byte Folded Reload
; GFX9-NEXT: v_add_u16_e32 v13, 0x300, v13
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u16_e32 v14, 3, v14
; GFX9-NEXT: v_or_b32_sdwa v14, v15, v14 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; GFX9-NEXT: v_add_u16_e32 v14, 0x300, v14
; GFX9-NEXT: v_perm_b32 v13, v14, v13, s6
-; GFX9-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:668 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:708 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:820 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_add_u16_e32 v14, 3, v14
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v14, v15, v14 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:664 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:704 ; 4-byte Folded Reload
; GFX9-NEXT: v_add_u16_e32 v14, 0x300, v14
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u16_e32 v15, 3, v15
@@ -144626,30 +144707,30 @@ define <64 x bfloat> @bitcast_v128i8_to_v64bf16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: v_add_u16_e32 v15, 0x300, v15
; GFX9-NEXT: v_perm_b32 v14, v15, v14, s6
; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:824 ; 4-byte Folded Reload
-; GFX9-NEXT: v_lshlrev_b16_e32 v16, 8, v35
+; GFX9-NEXT: v_lshlrev_b16_e32 v16, 8, v59
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u16_e32 v15, 3, v15
; GFX9-NEXT: v_or_b32_sdwa v15, v16, v15 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: v_add_u16_e32 v16, 3, v62
+; GFX9-NEXT: v_add_u16_e32 v16, 3, v58
; GFX9-NEXT: v_or_b32_sdwa v16, v17, v16 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; GFX9-NEXT: v_add_u16_e32 v15, 0x300, v15
; GFX9-NEXT: v_add_u16_e32 v16, 0x300, v16
; GFX9-NEXT: v_perm_b32 v15, v16, v15, s6
-; GFX9-NEXT: v_add_u16_e32 v16, 3, v58
-; GFX9-NEXT: v_lshlrev_b16_e32 v17, 8, v57
+; GFX9-NEXT: v_add_u16_e32 v16, 3, v44
+; GFX9-NEXT: v_lshlrev_b16_e32 v17, 8, v34
; GFX9-NEXT: v_or_b32_sdwa v16, v17, v16 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: v_add_u16_e32 v17, 3, v63
+; GFX9-NEXT: v_add_u16_e32 v17, 3, v42
; GFX9-NEXT: v_or_b32_sdwa v17, v18, v17 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: v_add_u16_e32 v18, 3, v32
+; GFX9-NEXT: v_add_u16_e32 v18, 3, v33
; GFX9-NEXT: v_or_b32_sdwa v18, v19, v18 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: v_add_u16_e32 v19, 3, v43
+; GFX9-NEXT: v_add_u16_e32 v19, 3, v32
; GFX9-NEXT: v_or_b32_sdwa v19, v20, v19 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; GFX9-NEXT: v_add_u16_e32 v20, 0x300, v16
; GFX9-NEXT: v_add_u16_e32 v16, 0x300, v18
; GFX9-NEXT: v_add_u16_e32 v18, 0x300, v19
; GFX9-NEXT: v_perm_b32 v16, v18, v16, s6
; GFX9-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:744 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:708 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:696 ; 4-byte Folded Reload
; GFX9-NEXT: v_add_u16_e32 v17, 0x300, v17
; GFX9-NEXT: v_perm_b32 v17, v17, v20, s6
; GFX9-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:756 ; 4-byte Folded Reload
@@ -144658,23 +144739,23 @@ define <64 x bfloat> @bitcast_v128i8_to_v64bf16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_lshlrev_b16_e32 v19, 8, v19
; GFX9-NEXT: v_or_b32_sdwa v18, v19, v18 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:704 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:692 ; 4-byte Folded Reload
; GFX9-NEXT: v_add_u16_e32 v31, 0x300, v18
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u16_e32 v19, 3, v19
; GFX9-NEXT: v_or_b32_sdwa v19, v20, v19 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:700 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:688 ; 4-byte Folded Reload
; GFX9-NEXT: v_add_u16_e32 v32, 0x300, v19
; GFX9-NEXT: v_perm_b32 v31, v32, v31, s6
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u16_e32 v20, 3, v20
; GFX9-NEXT: v_or_b32_sdwa v20, v21, v20 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:692 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:680 ; 4-byte Folded Reload
; GFX9-NEXT: v_add_u16_e32 v30, 0x300, v20
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u16_e32 v21, 3, v21
; GFX9-NEXT: v_or_b32_sdwa v21, v22, v21 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:712 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:700 ; 4-byte Folded Reload
; GFX9-NEXT: v_add_u16_e32 v33, 0x300, v21
; GFX9-NEXT: v_perm_b32 v30, v33, v30, s6
; GFX9-NEXT: s_waitcnt vmcnt(0)
@@ -144695,49 +144776,49 @@ define <64 x bfloat> @bitcast_v128i8_to_v64bf16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u16_e32 v25, 3, v25
; GFX9-NEXT: v_or_b32_sdwa v25, v26, v25 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:696 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:684 ; 4-byte Folded Reload
; GFX9-NEXT: v_add_u16_e32 v35, 0x300, v25
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u16_e32 v26, 3, v26
; GFX9-NEXT: v_or_b32_sdwa v26, v27, v26 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:604 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:572 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u16_e32 v27, 3, v27
; GFX9-NEXT: v_or_b32_sdwa v36, v28, v27 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:600 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:568 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:648 ; 4-byte Folded Reload
; GFX9-NEXT: v_add_u16_e32 v36, 0x300, v36
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_add_u16_e32 v27, 3, v27
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v37, v28, v27 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:596 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:564 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:628 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_add_u16_e32 v27, 3, v27
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v38, v28, v27 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:688 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:592 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:720 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:560 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_add_u16_e32 v27, 3, v27
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_lshlrev_b16_e32 v28, 8, v28
; GFX9-NEXT: v_or_b32_sdwa v39, v28, v27 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:588 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:556 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:616 ; 4-byte Folded Reload
; GFX9-NEXT: v_add_u16_e32 v25, 0x300, v39
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_add_u16_e32 v27, 3, v27
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v48, v28, v27 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:584 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:544 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:620 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_add_u16_e32 v27, 3, v27
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v49, v28, v27 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:580 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:540 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:612 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_add_u16_e32 v27, 3, v27
@@ -144790,7 +144871,7 @@ define <64 x bfloat> @bitcast_v128i8_to_v64bf16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: v_lshlrev_b16_e32 v28, 8, v28
; GFX9-NEXT: v_or_b32_sdwa v40, v28, v27 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:768 ; 4-byte Folded Reload
-; GFX9-NEXT: v_lshlrev_b16_e32 v28, 8, v61
+; GFX9-NEXT: v_lshlrev_b16_e32 v28, 8, v56
; GFX9-NEXT: v_add_u16_e32 v50, 0x300, v40
; GFX9-NEXT: v_perm_b32 v21, v50, v21, s6
; GFX9-NEXT: s_waitcnt vmcnt(0)
@@ -144829,7 +144910,7 @@ define <64 x bfloat> @bitcast_v128i8_to_v64bf16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: v_lshlrev_b16_e32 v28, 8, v28
; GFX9-NEXT: v_or_b32_sdwa v45, v28, v27 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:652 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:676 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:668 ; 4-byte Folded Reload
; GFX9-NEXT: v_add_u16_e32 v18, 0x300, v45
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_add_u16_e32 v27, 3, v27
@@ -144879,766 +144960,763 @@ define <64 x bfloat> @bitcast_v128i8_to_v64bf16(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-LABEL: bitcast_v128i8_to_v64bf16:
; GFX11-TRUE16: ; %bb.0:
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX11-TRUE16-NEXT: s_clause 0x18 ; 100-byte Folded Spill
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v40, s32 offset:488
+; GFX11-TRUE16-NEXT: s_clause 0x17 ; 96-byte Folded Spill
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v40, s32 offset:484
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v41, s32 offset:484
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v41, s32 offset:480
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v42, s32 offset:480
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v42, s32 offset:476
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v43, s32 offset:476
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v43, s32 offset:472
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v44, s32 offset:472
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v44, s32 offset:468
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v45, s32 offset:468
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v45, s32 offset:464
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v46, s32 offset:464
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v46, s32 offset:460
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v47, s32 offset:460
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v47, s32 offset:456
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v56, s32 offset:456
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v56, s32 offset:452
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v57, s32 offset:452
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v57, s32 offset:448
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v58, s32 offset:448
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v58, s32 offset:444
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v59, s32 offset:444
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v59, s32 offset:440
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v60, s32 offset:440
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v60, s32 offset:436
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v61, s32 offset:436
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v61, s32 offset:432
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v62, s32 offset:432
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v62, s32 offset:428
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v63, s32 offset:428
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v63, s32 offset:424
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v72, s32 offset:424
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v72, s32 offset:420
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v73, s32 offset:420
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v73, s32 offset:416
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v74, s32 offset:416
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v74, s32 offset:412
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v75, s32 offset:412
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v75, s32 offset:408
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v76, s32 offset:408
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v76, s32 offset:404
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v77, s32 offset:404
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v77, s32 offset:400
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v78, s32 offset:400
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v78, s32 offset:396
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v79, s32 offset:396
-; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v88, s32 offset:392
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v79, s32 offset:392
; GFX11-TRUE16-NEXT: s_clause 0x1f
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v31, off, s32 offset:384
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v48, off, s32 offset:380
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v75, off, s32 offset:376
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v78, off, s32 offset:372
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v33, off, s32 offset:380
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v82, off, s32 offset:376
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v87, off, s32 offset:372
; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v31, off, s32 offset:368
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v36, off, s32 offset:364
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v70, off, s32 offset:360
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v39, off, s32 offset:356
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v69, off, s32 offset:352
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v39, off, s32 offset:348
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v46, off, s32 offset:344
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v74, off, s32 offset:340
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v70, off, s32 offset:336
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v35, off, s32 offset:332
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v69, off, s32 offset:328
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v38, off, s32 offset:324
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v68, off, s32 offset:320
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v32, off, s32 offset:364
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v54, off, s32 offset:360
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v32, off, s32 offset:356
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v53, off, s32 offset:352
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v35, off, s32 offset:348
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v80, off, s32 offset:344
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v84, off, s32 offset:340
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v64, off, s32 offset:336
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v33, off, s32 offset:332
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v64, off, s32 offset:328
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v36, off, s32 offset:324
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v55, off, s32 offset:320
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v35, off, s32 offset:316
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v61, off, s32 offset:312
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v72, off, s32 offset:308
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v67, off, s32 offset:304
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v33, off, s32 offset:300
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v68, off, s32 offset:296
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v36, off, s32 offset:292
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v67, off, s32 offset:288
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v34, off, s32 offset:284
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v183, off, s32 offset:280
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v59, off, s32 offset:276
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v66, off, s32 offset:272
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v32, off, s32 offset:268
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v66, off, s32 offset:264
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v33, off, s32 offset:260
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v85, off, s32 offset:312
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v98, off, s32 offset:308
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v53, off, s32 offset:304
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v34, off, s32 offset:300
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v54, off, s32 offset:296
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v37, off, s32 offset:292
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v55, off, s32 offset:288
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v36, off, s32 offset:284
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v83, off, s32 offset:280
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v96, off, s32 offset:276
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v52, off, s32 offset:272
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v34, off, s32 offset:268
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v52, off, s32 offset:264
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v37, off, s32 offset:260
; GFX11-TRUE16-NEXT: s_clause 0x1f
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v176, off, s32 offset:256
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v44, off, s32 offset:252
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v151, off, s32 offset:248
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v180, off, s32 offset:244
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v150, off, s32 offset:240
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v179, off, s32 offset:236
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v167, off, s32 offset:232
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v43, off, s32 offset:228
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v131, off, s32 offset:224
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v163, off, s32 offset:220
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v134, off, s32 offset:216
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v161, off, s32 offset:212
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v129, off, s32 offset:208
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v149, off, s32 offset:204
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v118, off, s32 offset:200
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v145, off, s32 offset:196
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v116, off, s32 offset:192
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v144, off, s32 offset:188
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v115, off, s32 offset:184
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v148, off, s32 offset:180
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v112, off, s32 offset:176
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v119, off, s32 offset:172
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v86, off, s32 offset:168
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v103, off, s32 offset:164
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v84, off, s32 offset:160
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v102, off, s32 offset:156
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v85, off, s32 offset:152
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v99, off, s32 offset:148
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v81, off, s32 offset:144
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v98, off, s32 offset:140
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v82, off, s32 offset:136
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v96, off, s32 offset:132
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v99, off, s32 offset:256
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v103, off, s32 offset:252
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v81, off, s32 offset:248
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v86, off, s32 offset:244
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v100, off, s32 offset:240
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v116, off, s32 offset:236
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v114, off, s32 offset:232
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v117, off, s32 offset:228
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v112, off, s32 offset:224
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v119, off, s32 offset:220
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v97, off, s32 offset:216
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v101, off, s32 offset:212
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v118, off, s32 offset:208
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v130, off, s32 offset:204
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v102, off, s32 offset:200
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v113, off, s32 offset:196
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v132, off, s32 offset:192
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v135, off, s32 offset:188
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v131, off, s32 offset:184
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v147, off, s32 offset:180
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v145, off, s32 offset:176
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v149, off, s32 offset:172
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v115, off, s32 offset:168
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v128, off, s32 offset:164
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v144, off, s32 offset:160
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v151, off, s32 offset:156
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v129, off, s32 offset:152
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v133, off, s32 offset:148
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v150, off, s32 offset:144
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v161, off, s32 offset:140
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v134, off, s32 offset:136
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v148, off, s32 offset:132
; GFX11-TRUE16-NEXT: s_clause 0x1f
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v65, off, s32 offset:128
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v32, off, s32 offset:124
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v80, off, s32 offset:120
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v83, off, s32 offset:116
-; GFX11-TRUE16-NEXT: scratch_load_b32 v88, off, s32 offset:388
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v52, off, s32 offset:8
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v52, off, s32 offset:16
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v53, off, s32 offset:32
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v53, off, s32 offset:40
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v54, off, s32 offset:48
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v55, off, s32 offset:64
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v55, off, s32 offset:72
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v64, off, s32 offset:80
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v64, off, s32 offset:96
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v71, off, s32 offset:104
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v71, off, s32 offset:112
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v50, off, s32 offset:108
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v51, off, s32 offset:100
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v51, off, s32 offset:92
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v76, off, s32 offset:88
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v79, off, s32 offset:84
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v49, off, s32 offset:76
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v50, off, s32 offset:68
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v48, off, s32 offset:60
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v73, off, s32 offset:56
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v77, off, s32 offset:52
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v38, off, s32 offset:44
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v49, off, s32 offset:36
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v37, off, s32 offset:28
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v56, off, s32 offset:24
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v63, off, s32 offset:20
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v34, off, s32 offset:12
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v65, off, s32 offset:128
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v38, off, s32 offset:124
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v146, off, s32 offset:120
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v160, off, s32 offset:116
+; GFX11-TRUE16-NEXT: scratch_load_b32 v68, off, s32 offset:388
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v65, off, s32 offset:8
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v66, off, s32 offset:16
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v67, off, s32 offset:32
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v67, off, s32 offset:40
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v69, off, s32 offset:48
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v69, off, s32 offset:64
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v70, off, s32 offset:72
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v71, off, s32 offset:80
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v71, off, s32 offset:96
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v80, off, s32 offset:104
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v81, off, s32 offset:112
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v38, off, s32 offset:108
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v39, off, s32 offset:100
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v50, off, s32 offset:92
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v163, off, s32 offset:88
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v176, off, s32 offset:84
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v39, off, s32 offset:76
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v51, off, s32 offset:68
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v49, off, s32 offset:60
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v164, off, s32 offset:56
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v178, off, s32 offset:52
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v48, off, s32 offset:44
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v51, off, s32 offset:36
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v49, off, s32 offset:28
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v162, off, s32 offset:24
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v167, off, s32 offset:20
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v48, off, s32 offset:12
; GFX11-TRUE16-NEXT: s_clause 0x1
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v37, off, s32 offset:4
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v41, off, s32
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v60.l, v30.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v42.l, v29.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v58.l, v28.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v182.l, v27.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v57.l, v26.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v47.l, v25.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v62.l, v24.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v178.l, v23.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v45.l, v22.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v166.l, v21.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v40.l, v20.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v162.l, v19.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v181.l, v18.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v133.l, v17.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v164.l, v16.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v135.l, v15.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v165.l, v14.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v132.l, v13.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v177.l, v12.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v114.l, v11.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v146.l, v10.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v128.l, v9.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v147.l, v8.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v97.l, v7.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v130.l, v6.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v101.l, v5.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v160.l, v4.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v100.l, v3.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v117.l, v2.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v87.l, v1.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v113.l, v0.l
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v50, off, s32 offset:4
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v166, off, s32
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v182.l, v30.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v165.l, v29.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v177.l, v28.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v181.l, v27.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v43.l, v26.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v41.l, v25.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v44.l, v24.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v42.l, v23.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v47.l, v22.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v180.l, v21.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v183.l, v20.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v46.l, v19.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v61.l, v18.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v179.l, v17.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v40.l, v16.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v57.l, v15.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v63.l, v14.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v56.l, v13.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v75.l, v12.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v60.l, v11.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v74.l, v10.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v45.l, v9.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v59.l, v8.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v62.l, v7.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v76.l, v6.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v72.l, v5.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v78.l, v4.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v77.l, v3.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v79.l, v2.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v58.l, v1.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v73.l, v0.l
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(62)
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v69.l, 8, v69.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v70.l, 8, v70.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v69.h, 8, v69.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v68.h, 8, v68.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v67.l, 8, v67.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v68.l, 8, v68.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v67.h, 8, v67.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v66.h, 8, v66.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v66.l, 8, v66.l
-; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(33)
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v65.h, 8, v65.h
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v53.h, 8, v53.h
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v64.h, 8, v64.h
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v64.l, 8, v64.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v55.h, 8, v55.h
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v53.l, 8, v53.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v54.l, 8, v54.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v55.l, 8, v55.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v52.h, 8, v52.h
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v52.l, 8, v52.l
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(29)
-; GFX11-TRUE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v88
+; GFX11-TRUE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v68
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(27)
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v52.l, 8, v52.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v52.h, 8, v52.h
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v66.l, 8, v65.h
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v66.h, 8, v66.h
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(25)
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v53.l, 8, v53.l
-; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(24)
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v54.l, 8, v53.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v53.h, 8, v54.h
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v68.l, 8, v67.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v68.h, 8, v67.h
+; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(23)
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v67.l, 8, v69.l
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(22)
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v55.l, 8, v55.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v55.h, 8, v55.h
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v70.h, 8, v69.h
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v70.l, 8, v70.l
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(20)
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v54.h, 8, v64.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v65.l, 8, v64.h
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v67.h, 8, v71.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v71.l, 8, v71.h
+; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(19)
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v69.l, 8, v80.h
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(18)
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v64.l, 8, v71.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v64.h, 8, v71.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v71.l, 8, v70.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v70.h, 8, v31.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v71.h, 8, v31.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v69.h, 8, v81.h
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v71.h, 8, v65.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v65.l, 8, v54.h
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v54.h, 8, v31.h
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v65.h, 8, v31.l
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31
; GFX11-TRUE16-NEXT: s_and_saveexec_b32 s0, vcc_lo
; GFX11-TRUE16-NEXT: s_delay_alu instid0(SALU_CYCLE_1)
; GFX11-TRUE16-NEXT: s_xor_b32 s0, exec_lo, s0
; GFX11-TRUE16-NEXT: s_cbranch_execz .LBB88_2
; GFX11-TRUE16-NEXT: ; %bb.1: ; %cmp.false
-; GFX11-TRUE16-NEXT: v_perm_b32 v3, v130, v97, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v5, v165, v135, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v7, v45, v178, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v3, v76, v62, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v5, v63, v57, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v7, v47, v42, 0xc0c0004
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0)
-; GFX11-TRUE16-NEXT: v_perm_b32 v10, v60, v41, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_and_b16 v9.l, 0xff, v37.h
-; GFX11-TRUE16-NEXT: v_perm_b32 v1, v160, v101, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_and_b16 v11.h, 0xff, v48.h
+; GFX11-TRUE16-NEXT: v_perm_b32 v10, v182, v166, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_and_b16 v9.l, 0xff, v49.l
+; GFX11-TRUE16-NEXT: v_perm_b32 v1, v78, v72, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_and_b16 v11.h, 0xff, v49.h
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v1.h, v3.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v3, v177, v132, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_and_b16 v13.h, 0xff, v51.l
+; GFX11-TRUE16-NEXT: v_perm_b32 v3, v75, v56, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_and_b16 v13.h, 0xff, v50.h
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v3.h, v5.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v5, v40, v166, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_and_b16 v14.h, 0xff, v32.l
+; GFX11-TRUE16-NEXT: v_perm_b32 v5, v183, v180, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_and_b16 v14.h, 0xff, v38.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v5.h, v7.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v7, v58, v42, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v7, v177, v165, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v7.h, v10.l
-; GFX11-TRUE16-NEXT: v_or_b16 v10.l, v9.l, v53.l
-; GFX11-TRUE16-NEXT: v_and_b16 v10.h, 0xff, v49.h
-; GFX11-TRUE16-NEXT: v_and_b16 v11.l, 0xff, v38.l
-; GFX11-TRUE16-NEXT: v_or_b16 v12.l, v11.h, v55.l
-; GFX11-TRUE16-NEXT: v_and_b16 v12.h, 0xff, v50.h
-; GFX11-TRUE16-NEXT: v_and_b16 v13.l, 0xff, v49.l
-; GFX11-TRUE16-NEXT: v_or_b16 v14.l, v13.h, v65.l
-; GFX11-TRUE16-NEXT: v_and_b16 v15.l, 0xff, v51.h
-; GFX11-TRUE16-NEXT: v_and_b16 v15.h, 0xff, v50.l
-; GFX11-TRUE16-NEXT: v_or_b16 v16.l, v14.h, v65.h
-; GFX11-TRUE16-NEXT: v_perm_b32 v9, v63, v56, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v17, v98, v81, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_or_b16 v10.l, v9.l, v68.l
+; GFX11-TRUE16-NEXT: v_and_b16 v10.h, 0xff, v51.h
+; GFX11-TRUE16-NEXT: v_and_b16 v11.l, 0xff, v48.l
+; GFX11-TRUE16-NEXT: v_or_b16 v12.l, v11.h, v70.h
+; GFX11-TRUE16-NEXT: v_and_b16 v12.h, 0xff, v51.l
+; GFX11-TRUE16-NEXT: v_and_b16 v13.l, 0xff, v39.h
+; GFX11-TRUE16-NEXT: v_or_b16 v14.l, v13.h, v71.l
+; GFX11-TRUE16-NEXT: v_and_b16 v15.l, 0xff, v39.l
+; GFX11-TRUE16-NEXT: v_and_b16 v15.h, 0xff, v38.h
+; GFX11-TRUE16-NEXT: v_or_b16 v16.l, v14.h, v71.h
+; GFX11-TRUE16-NEXT: v_perm_b32 v9, v167, v162, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v17, v161, v150, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v9.h, v10.l
-; GFX11-TRUE16-NEXT: v_or_b16 v10.l, v10.h, v54.l
-; GFX11-TRUE16-NEXT: v_or_b16 v10.h, v11.l, v53.h
-; GFX11-TRUE16-NEXT: v_perm_b32 v11, v77, v73, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v18, v102, v84, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_or_b16 v10.l, v10.h, v68.h
+; GFX11-TRUE16-NEXT: v_or_b16 v10.h, v11.l, v67.l
+; GFX11-TRUE16-NEXT: v_perm_b32 v11, v178, v164, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v18, v151, v144, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v11.h, v12.l
-; GFX11-TRUE16-NEXT: v_or_b16 v12.l, v12.h, v55.h
-; GFX11-TRUE16-NEXT: v_or_b16 v12.h, v13.l, v54.h
-; GFX11-TRUE16-NEXT: v_perm_b32 v13, v79, v76, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v19, v119, v112, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_or_b16 v12.l, v12.h, v70.l
+; GFX11-TRUE16-NEXT: v_or_b16 v12.h, v13.l, v67.h
+; GFX11-TRUE16-NEXT: v_perm_b32 v13, v176, v163, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v19, v149, v145, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v13.h, v14.l
-; GFX11-TRUE16-NEXT: v_or_b16 v14.l, v15.l, v64.l
-; GFX11-TRUE16-NEXT: v_or_b16 v14.h, v15.h, v64.h
-; GFX11-TRUE16-NEXT: v_perm_b32 v15, v83, v80, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v20, v144, v116, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_or_b16 v14.l, v15.l, v69.l
+; GFX11-TRUE16-NEXT: v_or_b16 v14.h, v15.h, v69.h
+; GFX11-TRUE16-NEXT: v_perm_b32 v15, v160, v146, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v20, v135, v132, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v15.h, v16.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v16, v96, v82, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v21, v149, v129, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v16, v148, v134, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v21, v130, v118, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v16.h, v17.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v17, v99, v85, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v22, v163, v131, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v17, v133, v129, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v22, v119, v112, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v17.h, v18.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v18, v103, v86, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v23, v179, v150, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v2, v117, v100, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v18, v128, v115, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v23, v116, v100, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v2, v79, v77, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v18.h, v19.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v19, v148, v115, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v26, v44, v176, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_and_b16 v25.l, 0xff, v34.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v4, v146, v114, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v19, v147, v131, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v26, v103, v99, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_and_b16 v25.l, 0xff, v36.h
+; GFX11-TRUE16-NEXT: v_perm_b32 v4, v74, v60, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v19.h, v20.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v20, v145, v118, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v20, v113, v102, 0xc0c0004
; GFX11-TRUE16-NEXT: v_and_b16 v27.h, 0xff, v35.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v6, v181, v162, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v6, v61, v46, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v20.h, v21.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v21, v161, v134, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_and_b16 v29.h, 0xff, v39.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v8, v57, v182, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v21, v101, v97, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_and_b16 v29.h, 0xff, v35.h
+; GFX11-TRUE16-NEXT: v_perm_b32 v8, v43, v181, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v21.h, v22.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v22, v43, v167, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_and_b16 v30.l, 0xff, v48.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, v113, v87, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v22, v117, v114, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_and_b16 v30.l, 0xff, v33.h
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, v73, v58, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v22.h, v23.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v23, v180, v151, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v23, v86, v81, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v0.h, v2.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v2, v147, v128, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v2, v59, v45, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v23.h, v26.l
-; GFX11-TRUE16-NEXT: v_or_b16 v26.l, v25.l, v67.h
-; GFX11-TRUE16-NEXT: v_and_b16 v26.h, 0xff, v36.h
-; GFX11-TRUE16-NEXT: v_and_b16 v27.l, 0xff, v33.l
+; GFX11-TRUE16-NEXT: v_or_b16 v26.l, v25.l, v55.l
+; GFX11-TRUE16-NEXT: v_and_b16 v26.h, 0xff, v37.h
+; GFX11-TRUE16-NEXT: v_and_b16 v27.l, 0xff, v34.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v2.h, v4.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v4, v164, v133, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_or_b16 v28.l, v27.h, v68.h
-; GFX11-TRUE16-NEXT: v_and_b16 v28.h, 0xff, v38.h
-; GFX11-TRUE16-NEXT: v_and_b16 v29.l, 0xff, v35.h
+; GFX11-TRUE16-NEXT: v_perm_b32 v4, v40, v179, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_or_b16 v28.l, v27.h, v55.h
+; GFX11-TRUE16-NEXT: v_and_b16 v28.h, 0xff, v36.l
+; GFX11-TRUE16-NEXT: v_and_b16 v29.l, 0xff, v33.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v4.h, v6.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v6, v62, v47, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_or_b16 v30.h, v29.h, v69.l
-; GFX11-TRUE16-NEXT: v_and_b16 v31.l, 0xff, v39.h
-; GFX11-TRUE16-NEXT: v_and_b16 v31.h, 0xff, v36.l
+; GFX11-TRUE16-NEXT: v_perm_b32 v6, v44, v41, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_or_b16 v30.h, v29.h, v53.h
+; GFX11-TRUE16-NEXT: v_and_b16 v31.l, 0xff, v32.h
+; GFX11-TRUE16-NEXT: v_and_b16 v31.h, 0xff, v32.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v6.h, v8.l
-; GFX11-TRUE16-NEXT: v_and_b16 v8.l, 0xff, v37.l
-; GFX11-TRUE16-NEXT: v_and_b16 v8.h, 0xff, v34.h
-; GFX11-TRUE16-NEXT: v_and_b16 v24.l, 0xff, v33.h
-; GFX11-TRUE16-NEXT: v_and_b16 v24.h, 0xff, v32.h
-; GFX11-TRUE16-NEXT: v_or_b16 v32.l, v30.l, v71.h
-; GFX11-TRUE16-NEXT: v_perm_b32 v25, v59, v183, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_and_b16 v8.l, 0xff, v50.l
+; GFX11-TRUE16-NEXT: v_and_b16 v8.h, 0xff, v48.h
+; GFX11-TRUE16-NEXT: v_and_b16 v24.l, 0xff, v37.l
+; GFX11-TRUE16-NEXT: v_and_b16 v24.h, 0xff, v34.h
+; GFX11-TRUE16-NEXT: v_or_b16 v32.l, v30.l, v65.h
+; GFX11-TRUE16-NEXT: v_perm_b32 v25, v96, v83, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v25.h, v26.l
-; GFX11-TRUE16-NEXT: v_or_b16 v26.l, v26.h, v68.l
-; GFX11-TRUE16-NEXT: v_or_b16 v26.h, v27.l, v67.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v27, v72, v61, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_or_b16 v26.l, v26.h, v54.l
+; GFX11-TRUE16-NEXT: v_or_b16 v26.h, v27.l, v53.l
+; GFX11-TRUE16-NEXT: v_perm_b32 v27, v98, v85, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v27.h, v28.l
-; GFX11-TRUE16-NEXT: v_or_b16 v28.l, v28.h, v69.h
-; GFX11-TRUE16-NEXT: v_or_b16 v28.h, v29.l, v70.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v29, v74, v46, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_or_b16 v28.l, v28.h, v64.l
+; GFX11-TRUE16-NEXT: v_or_b16 v28.h, v29.l, v64.h
+; GFX11-TRUE16-NEXT: v_perm_b32 v29, v84, v80, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v29.h, v30.h
-; GFX11-TRUE16-NEXT: v_or_b16 v30.l, v31.l, v71.l
-; GFX11-TRUE16-NEXT: v_or_b16 v30.h, v31.h, v70.h
-; GFX11-TRUE16-NEXT: v_perm_b32 v31, v78, v75, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_or_b16 v8.l, v8.l, v52.l
-; GFX11-TRUE16-NEXT: v_or_b16 v8.h, v8.h, v52.h
-; GFX11-TRUE16-NEXT: v_or_b16 v24.l, v24.l, v66.l
-; GFX11-TRUE16-NEXT: v_or_b16 v24.h, v24.h, v66.h
+; GFX11-TRUE16-NEXT: v_or_b16 v30.l, v31.l, v65.l
+; GFX11-TRUE16-NEXT: v_or_b16 v30.h, v31.h, v54.h
+; GFX11-TRUE16-NEXT: v_perm_b32 v31, v87, v82, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_or_b16 v8.l, v8.l, v66.l
+; GFX11-TRUE16-NEXT: v_or_b16 v8.h, v8.h, v66.h
+; GFX11-TRUE16-NEXT: v_or_b16 v24.l, v24.l, v52.l
+; GFX11-TRUE16-NEXT: v_or_b16 v24.h, v24.h, v52.h
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v31.h, v32.l
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr113_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr87_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr117_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr100_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr160_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr101_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr130_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr97_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr147_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr128_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr146_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr114_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr177_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr132_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr165_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr135_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr164_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr133_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr181_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr162_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr40_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr166_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr45_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr178_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr73_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr58_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr79_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr77_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr78_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr72_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr76_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr62_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr47_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr59_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr45_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr74_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr60_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr75_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr56_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr63_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr57_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr182_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr58_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr40_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr179_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr61_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr46_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr183_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr180_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr47_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr42_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr60_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr44_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr41_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr37_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr34_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr63_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr56_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr37_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr49_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr38_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr77_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr73_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr43_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr181_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr177_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr165_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr182_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr166_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr50_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr48_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr50_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr167_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr162_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr49_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr79_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr76_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr51_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr51_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr50_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr83_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr80_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr32_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr96_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr82_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr98_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr81_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr99_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr85_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr102_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr84_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr103_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr86_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr119_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr112_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr48_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr178_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr164_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr49_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr51_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr39_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr176_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr163_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr50_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr39_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr38_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr160_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr146_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr38_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr148_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr115_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr144_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr116_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr145_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr118_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr149_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr129_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr161_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr134_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr163_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr131_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr43_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr167_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr179_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr161_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr150_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr180_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr133_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr129_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr151_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr44_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr176_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr33_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr32_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr59_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr183_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr34_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr144_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr128_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr115_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr149_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr145_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr147_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr131_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr135_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr132_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr113_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr102_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr130_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr118_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr101_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr97_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr119_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr112_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr117_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr114_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr116_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr100_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr86_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr81_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr103_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr99_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr37_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr34_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr96_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr83_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr36_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr33_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr72_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr61_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr37_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr34_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr98_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr85_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr35_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr38_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr35_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr74_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr46_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr39_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr39_hi16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr36_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr78_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr75_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr48_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr52_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr52_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr53_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr54_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr53_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr55_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr55_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr54_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr65_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr64_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr64_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr65_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr33_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr84_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr80_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr35_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr32_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr32_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr87_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr82_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr33_hi16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr66_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr66_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr67_hi16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr68_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr67_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr68_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr69_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr67_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr70_hi16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr70_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr69_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr67_hi16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr71_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr70_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr69_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr69_hi16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr71_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr52_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr52_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr55_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr54_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr53_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr55_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr64_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr64_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr53_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr65_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr54_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr65_hi16
; GFX11-TRUE16-NEXT: .LBB88_2: ; %Flow
; GFX11-TRUE16-NEXT: s_and_not1_saveexec_b32 s0, s0
; GFX11-TRUE16-NEXT: s_cbranch_execz .LBB88_4
; GFX11-TRUE16-NEXT: ; %bb.3: ; %cmp.true
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.l, v78.l, 3
-; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(10)
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.h, v48.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.l, v39.h, 3
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v75.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v36.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.l, v87.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.h, v33.h, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.l, v32.h, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v82.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v32.l, 3
; GFX11-TRUE16-NEXT: v_and_b16 v0.l, 0xff, v0.l
; GFX11-TRUE16-NEXT: v_and_b16 v0.h, 0xff, v0.h
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v1.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v74.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v3.l, v43.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v84.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v3.l, v117.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v1.h, v0.l
-; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v71.h, v0.h
-; GFX11-TRUE16-NEXT: v_or_b16 v1.l, v71.l, v1.l
+; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v65.h, v0.h
+; GFX11-TRUE16-NEXT: v_or_b16 v1.l, v65.l, v1.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.h, 0xff, v2.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v39.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v35.h, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v31.l, 0x300, v0.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v31.h, 0x300, v0.h
; GFX11-TRUE16-NEXT: v_add_nc_u16 v30.l, 0x300, v1.l
-; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v70.h, v1.h
+; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v54.h, v1.h
; GFX11-TRUE16-NEXT: v_and_b16 v0.h, 0xff, v2.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.l, 8, v46.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.l, 8, v80.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.h, 0xff, v2.l
-; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(7)
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v38.h, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v35.h, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v36.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v33.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v30.h, 0x300, v0.l
; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v1.l, v0.h
-; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v69.l, v1.h
+; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v53.h, v1.h
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v2.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.h, 0xff, v2.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v72.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v98.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v29.l, 0x300, v0.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v29.h, 0x300, v0.h
-; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v69.h, v1.l
-; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v70.l, v1.h
+; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v64.l, v1.l
+; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v64.h, v1.h
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v2.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v61.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v85.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v35.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v36.h, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v37.h, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v28.l, 0x300, v0.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v28.h, 0x300, v0.h
; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v1.h, v1.l
; GFX11-TRUE16-NEXT: v_and_b16 v0.h, 0xff, v2.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v2.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v33.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v59.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v34.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v96.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v27.l, 0x300, v0.l
-; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v68.h, v0.h
-; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v68.l, v1.l
+; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v55.h, v0.h
+; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v54.l, v1.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v1.h
; GFX11-TRUE16-NEXT: v_and_b16 v1.h, 0xff, v2.l
-; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(2)
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v34.l, 3
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.h, 8, v183.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v36.h, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.h, 8, v83.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v27.h, 0x300, v0.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v26.l, 0x300, v0.h
-; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v67.l, v1.l
+; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v53.l, v1.l
; GFX11-TRUE16-NEXT: v_and_b16 v0.h, 0xff, v2.l
; GFX11-TRUE16-NEXT: v_or_b16 v1.l, v2.h, v1.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v33.h, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v32.h, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v37.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v34.h, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v26.h, 0x300, v0.l
-; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v67.h, v0.h
+; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v55.l, v0.h
; GFX11-TRUE16-NEXT: v_add_nc_u16 v25.l, 0x300, v1.l
; GFX11-TRUE16-NEXT: v_and_b16 v0.h, 0xff, v1.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v180.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v86.l, 3
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v2.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v25.h, 0x300, v0.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.l, v44.l, 3
-; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v66.l, v0.h
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.l, v103.l, 3
+; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v52.l, v0.h
; GFX11-TRUE16-NEXT: v_and_b16 v1.h, 0xff, v1.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v151.l
-; GFX11-TRUE16-NEXT: v_or_b16 v1.l, v66.h, v1.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v81.l
+; GFX11-TRUE16-NEXT: v_or_b16 v1.l, v52.h, v1.l
; GFX11-TRUE16-NEXT: v_and_b16 v0.l, 0xff, v0.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.h, 8, v176.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.h, 8, v99.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v24.l, 0x300, v0.h
; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v2.l, v1.h
; GFX11-TRUE16-NEXT: v_add_nc_u16 v24.h, 0x300, v1.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v3.l
; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v2.h, v0.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v167.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v179.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v114.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v116.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v23.l, 0x300, v0.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.h, v161.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.h, v101.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v23.h, 0x300, v0.l
; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v1.h, v1.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v2.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v150.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v100.l
; GFX11-TRUE16-NEXT: v_and_b16 v0.h, 0xff, v0.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v134.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v163.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v97.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v119.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v22.l, 0x300, v0.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.l, v145.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.l, v113.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v1.l, v1.h, v1.l
; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v2.l, v0.h
; GFX11-TRUE16-NEXT: v_and_b16 v1.h, 0xff, v2.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v131.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v112.l
; GFX11-TRUE16-NEXT: v_and_b16 v0.l, 0xff, v0.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.h, 8, v118.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v3.l, v149.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.h, 8, v102.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v3.l, v130.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v21.l, 0x300, v0.h
; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v2.l, v1.h
; GFX11-TRUE16-NEXT: v_add_nc_u16 v22.h, 0x300, v1.l
; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v2.h, v0.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v3.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v129.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v148.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v118.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v147.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v21.h, 0x300, v0.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.h, v144.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.h, v135.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v20.l, 0x300, v0.l
; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v1.h, v1.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v2.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v115.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v131.l
; GFX11-TRUE16-NEXT: v_and_b16 v0.h, 0xff, v0.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v116.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v103.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v132.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v128.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v20.h, 0x300, v0.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.l, v119.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.l, v149.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v1.l, v1.h, v1.l
; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v2.l, v0.h
; GFX11-TRUE16-NEXT: v_and_b16 v1.h, 0xff, v2.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v86.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v115.l
; GFX11-TRUE16-NEXT: v_and_b16 v0.l, 0xff, v0.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.h, 8, v112.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v3.l, v99.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.h, 8, v145.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v3.l, v133.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v19.h, 0x300, v0.h
; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v2.l, v1.h
; GFX11-TRUE16-NEXT: v_add_nc_u16 v19.l, 0x300, v1.l
; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v2.h, v0.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v3.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v85.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v102.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v129.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v151.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v18.l, 0x300, v0.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.h, v96.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.h, v148.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v18.h, 0x300, v0.l
; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v1.h, v1.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v2.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v84.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v144.l
; GFX11-TRUE16-NEXT: v_and_b16 v0.h, 0xff, v0.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v82.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v98.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v134.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v161.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v17.l, 0x300, v0.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.l, v83.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.l, v160.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v1.l, v1.h, v1.l
; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v2.l, v0.h
; GFX11-TRUE16-NEXT: v_and_b16 v1.h, 0xff, v2.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v81.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v32.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v150.l
+; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(17)
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v38.l, 3
; GFX11-TRUE16-NEXT: v_and_b16 v0.l, 0xff, v0.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v3.l, 8, v80.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v3.l, 8, v146.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v17.h, 0x300, v1.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v16.l, 0x300, v0.h
; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v2.l, v1.h
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v2.h
; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v3.l, v0.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v51.h, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v50.l, 3
+; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(12)
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v39.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v38.h, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v16.h, 0x300, v0.h
-; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v65.h, v1.l
+; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v71.h, v1.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v15.l, 0x300, v0.l
; GFX11-TRUE16-NEXT: v_and_b16 v0.l, 0xff, v1.h
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v2.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v79.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v176.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v15.h, 0x300, v0.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.h, v51.l, 3
-; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v64.l, v0.l
-; GFX11-TRUE16-NEXT: v_or_b16 v1.l, v64.h, v1.l
+; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(1)
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.h, v50.h, 3
+; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v69.l, v0.l
+; GFX11-TRUE16-NEXT: v_or_b16 v1.l, v69.h, v1.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.h, 0xff, v1.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v76.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v163.l
; GFX11-TRUE16-NEXT: v_and_b16 v0.h, 0xff, v0.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v50.h, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v51.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v14.l, 0x300, v0.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v14.h, 0x300, v1.l
; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v2.l, v1.h
-; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v65.l, v0.h
+; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v71.l, v0.h
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v2.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v49.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v77.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v39.h, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v178.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v13.l, 0x300, v0.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v13.h, 0x300, v0.h
-; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v55.h, v1.l
+; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v70.l, v1.l
; GFX11-TRUE16-NEXT: v_and_b16 v0.h, 0xff, v1.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v48.h, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v49.h, 3
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v2.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v73.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v49.h, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v164.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v51.h, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v12.l, 0x300, v0.l
-; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v54.h, v0.h
+; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v67.h, v0.h
; GFX11-TRUE16-NEXT: v_and_b16 v0.h, 0xff, v1.h
; GFX11-TRUE16-NEXT: v_or_b16 v1.l, v2.l, v1.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.h, 0xff, v2.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v38.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v48.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v12.h, 0x300, v0.l
-; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v55.l, v0.h
+; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v70.h, v0.h
; GFX11-TRUE16-NEXT: v_add_nc_u16 v11.l, 0x300, v1.l
-; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v54.l, v1.h
+; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v68.h, v1.h
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v2.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v63.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v167.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v11.h, 0x300, v0.l
-; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(1)
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.l, v37.h, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.l, v49.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v10.l, 0x300, v0.h
-; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v53.h, v1.l
+; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v67.l, v1.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v1.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v56.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v162.l
; GFX11-TRUE16-NEXT: v_and_b16 v0.l, 0xff, v0.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v37.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v34.h, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v50.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v48.h, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v10.h, 0x300, v0.h
; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v1.h, v1.l
-; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v53.l, v0.l
+; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v68.l, v0.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v2.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.h, 0xff, v2.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v58.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v177.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v9.l, 0x300, v0.h
; GFX11-TRUE16-NEXT: v_add_nc_u16 v9.h, 0x300, v0.l
-; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v52.l, v1.l
-; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v52.h, v1.h
+; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v66.l, v1.l
+; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v66.h, v1.h
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v2.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v42.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v60.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v165.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v182.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v8.l, 0x300, v0.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.l, v62.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.l, v44.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v8.h, 0x300, v0.h
; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v1.h, v1.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v2.l
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0)
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v41.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v166.l
; GFX11-TRUE16-NEXT: v_and_b16 v0.l, 0xff, v0.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v47.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v57.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v41.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v43.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v7.l, 0x300, v0.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.h, v40.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.h, v183.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v1.l, v1.h, v1.l
; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v2.l, v0.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.h, 0xff, v2.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v182.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v181.l
; GFX11-TRUE16-NEXT: v_and_b16 v0.h, 0xff, v0.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.h, 8, v166.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v3.l, v45.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.h, 8, v180.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v3.l, v47.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v6.l, 0x300, v0.l
; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v2.l, v1.h
; GFX11-TRUE16-NEXT: v_add_nc_u16 v7.h, 0x300, v1.l
; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v2.h, v0.h
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v3.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v178.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v164.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v42.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v40.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v6.h, 0x300, v0.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.l, v181.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.l, v61.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v5.l, 0x300, v0.h
; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v1.h, v1.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v2.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v133.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v179.l
; GFX11-TRUE16-NEXT: v_and_b16 v0.l, 0xff, v0.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v162.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v46.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v5.h, 0x300, v0.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.h, v177.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.h, v75.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v1.l, v1.h, v1.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v165.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v63.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v2.l, v0.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v147.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v59.l, 3
; GFX11-TRUE16-NEXT: v_and_b16 v0.h, 0xff, v0.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.h, 8, v132.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.h, 8, v56.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.h, 0xff, v1.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v3.l, 8, v135.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v3.l, 8, v57.l
; GFX11-TRUE16-NEXT: v_and_b16 v2.l, 0xff, v2.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v3.h, 8, v128.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v3.h, 8, v45.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v4.l, 0x300, v1.l
; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v2.h, v0.h
; GFX11-TRUE16-NEXT: v_or_b16 v1.l, v3.l, v1.h
; GFX11-TRUE16-NEXT: v_add_nc_u16 v4.h, 0x300, v0.l
; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v3.h, v2.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v146.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v74.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v3.l, 0x300, v0.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.h, v160.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v113.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.h, v78.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v73.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, 0x300, v0.l
; GFX11-TRUE16-NEXT: v_and_b16 v0.l, 0xff, v1.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v130.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v32.h, v117.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v76.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v32.h, v79.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v3.h, 0x300, v1.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.l, 8, v114.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.l, 8, v60.l
; GFX11-TRUE16-NEXT: v_and_b16 v0.h, 0xff, v0.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v32.l, 8, v101.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v32.l, 8, v72.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.h, 0xff, v1.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v33.l, 8, v97.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v33.l, 8, v62.l
; GFX11-TRUE16-NEXT: v_and_b16 v2.h, 0xff, v2.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v33.h, 8, v87.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v33.h, 8, v58.l
; GFX11-TRUE16-NEXT: v_and_b16 v32.h, 0xff, v32.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v34.l, 8, v100.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v34.l, 8, v77.l
; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v1.l, v0.l
; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v32.l, v0.h
; GFX11-TRUE16-NEXT: v_or_b16 v1.h, v33.l, v1.h
@@ -145651,32 +145729,31 @@ define <64 x bfloat> @bitcast_v128i8_to_v64bf16(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.h, 0x300, v32.h
; GFX11-TRUE16-NEXT: .LBB88_4: ; %end
; GFX11-TRUE16-NEXT: s_or_b32 exec_lo, exec_lo, s0
-; GFX11-TRUE16-NEXT: s_clause 0x18 ; 100-byte Folded Reload
-; GFX11-TRUE16-NEXT: scratch_load_b32 v88, off, s32 offset:392
-; GFX11-TRUE16-NEXT: scratch_load_b32 v79, off, s32 offset:396
-; GFX11-TRUE16-NEXT: scratch_load_b32 v78, off, s32 offset:400
-; GFX11-TRUE16-NEXT: scratch_load_b32 v77, off, s32 offset:404
-; GFX11-TRUE16-NEXT: scratch_load_b32 v76, off, s32 offset:408
-; GFX11-TRUE16-NEXT: scratch_load_b32 v75, off, s32 offset:412
-; GFX11-TRUE16-NEXT: scratch_load_b32 v74, off, s32 offset:416
-; GFX11-TRUE16-NEXT: scratch_load_b32 v73, off, s32 offset:420
-; GFX11-TRUE16-NEXT: scratch_load_b32 v72, off, s32 offset:424
-; GFX11-TRUE16-NEXT: scratch_load_b32 v63, off, s32 offset:428
-; GFX11-TRUE16-NEXT: scratch_load_b32 v62, off, s32 offset:432
-; GFX11-TRUE16-NEXT: scratch_load_b32 v61, off, s32 offset:436
-; GFX11-TRUE16-NEXT: scratch_load_b32 v60, off, s32 offset:440
-; GFX11-TRUE16-NEXT: scratch_load_b32 v59, off, s32 offset:444
-; GFX11-TRUE16-NEXT: scratch_load_b32 v58, off, s32 offset:448
-; GFX11-TRUE16-NEXT: scratch_load_b32 v57, off, s32 offset:452
-; GFX11-TRUE16-NEXT: scratch_load_b32 v56, off, s32 offset:456
-; GFX11-TRUE16-NEXT: scratch_load_b32 v47, off, s32 offset:460
-; GFX11-TRUE16-NEXT: scratch_load_b32 v46, off, s32 offset:464
-; GFX11-TRUE16-NEXT: scratch_load_b32 v45, off, s32 offset:468
-; GFX11-TRUE16-NEXT: scratch_load_b32 v44, off, s32 offset:472
-; GFX11-TRUE16-NEXT: scratch_load_b32 v43, off, s32 offset:476
-; GFX11-TRUE16-NEXT: scratch_load_b32 v42, off, s32 offset:480
-; GFX11-TRUE16-NEXT: scratch_load_b32 v41, off, s32 offset:484
-; GFX11-TRUE16-NEXT: scratch_load_b32 v40, off, s32 offset:488
+; GFX11-TRUE16-NEXT: s_clause 0x17 ; 96-byte Folded Reload
+; GFX11-TRUE16-NEXT: scratch_load_b32 v79, off, s32 offset:392
+; GFX11-TRUE16-NEXT: scratch_load_b32 v78, off, s32 offset:396
+; GFX11-TRUE16-NEXT: scratch_load_b32 v77, off, s32 offset:400
+; GFX11-TRUE16-NEXT: scratch_load_b32 v76, off, s32 offset:404
+; GFX11-TRUE16-NEXT: scratch_load_b32 v75, off, s32 offset:408
+; GFX11-TRUE16-NEXT: scratch_load_b32 v74, off, s32 offset:412
+; GFX11-TRUE16-NEXT: scratch_load_b32 v73, off, s32 offset:416
+; GFX11-TRUE16-NEXT: scratch_load_b32 v72, off, s32 offset:420
+; GFX11-TRUE16-NEXT: scratch_load_b32 v63, off, s32 offset:424
+; GFX11-TRUE16-NEXT: scratch_load_b32 v62, off, s32 offset:428
+; GFX11-TRUE16-NEXT: scratch_load_b32 v61, off, s32 offset:432
+; GFX11-TRUE16-NEXT: scratch_load_b32 v60, off, s32 offset:436
+; GFX11-TRUE16-NEXT: scratch_load_b32 v59, off, s32 offset:440
+; GFX11-TRUE16-NEXT: scratch_load_b32 v58, off, s32 offset:444
+; GFX11-TRUE16-NEXT: scratch_load_b32 v57, off, s32 offset:448
+; GFX11-TRUE16-NEXT: scratch_load_b32 v56, off, s32 offset:452
+; GFX11-TRUE16-NEXT: scratch_load_b32 v47, off, s32 offset:456
+; GFX11-TRUE16-NEXT: scratch_load_b32 v46, off, s32 offset:460
+; GFX11-TRUE16-NEXT: scratch_load_b32 v45, off, s32 offset:464
+; GFX11-TRUE16-NEXT: scratch_load_b32 v44, off, s32 offset:468
+; GFX11-TRUE16-NEXT: scratch_load_b32 v43, off, s32 offset:472
+; GFX11-TRUE16-NEXT: scratch_load_b32 v42, off, s32 offset:476
+; GFX11-TRUE16-NEXT: scratch_load_b32 v41, off, s32 offset:480
+; GFX11-TRUE16-NEXT: scratch_load_b32 v40, off, s32 offset:484
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0)
; GFX11-TRUE16-NEXT: s_setpc_b64 s[30:31]
;
@@ -145794,75 +145871,75 @@ define <64 x bfloat> @bitcast_v128i8_to_v64bf16(<128 x i8> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: v_mov_b32_e32 v38, v0
; GFX11-FAKE16-NEXT: s_clause 0x1f
; GFX11-FAKE16-NEXT: scratch_load_u16 v0, off, s32 offset:384
-; GFX11-FAKE16-NEXT: scratch_load_u16 v105, off, s32 offset:380
-; GFX11-FAKE16-NEXT: scratch_load_u16 v93, off, s32 offset:376
-; GFX11-FAKE16-NEXT: scratch_load_u16 v104, off, s32 offset:372
+; GFX11-FAKE16-NEXT: scratch_load_u16 v95, off, s32 offset:380
+; GFX11-FAKE16-NEXT: scratch_load_u16 v91, off, s32 offset:376
+; GFX11-FAKE16-NEXT: scratch_load_u16 v94, off, s32 offset:372
; GFX11-FAKE16-NEXT: scratch_load_u16 v1, off, s32 offset:368
-; GFX11-FAKE16-NEXT: scratch_load_u16 v94, off, s32 offset:364
+; GFX11-FAKE16-NEXT: scratch_load_u16 v93, off, s32 offset:364
; GFX11-FAKE16-NEXT: scratch_load_u16 v2, off, s32 offset:360
-; GFX11-FAKE16-NEXT: scratch_load_u16 v106, off, s32 offset:356
+; GFX11-FAKE16-NEXT: scratch_load_u16 v105, off, s32 offset:356
; GFX11-FAKE16-NEXT: scratch_load_u16 v3, off, s32 offset:352
-; GFX11-FAKE16-NEXT: scratch_load_u16 v91, off, s32 offset:348
-; GFX11-FAKE16-NEXT: scratch_load_u16 v77, off, s32 offset:344
-; GFX11-FAKE16-NEXT: scratch_load_u16 v89, off, s32 offset:340
+; GFX11-FAKE16-NEXT: scratch_load_u16 v88, off, s32 offset:348
+; GFX11-FAKE16-NEXT: scratch_load_u16 v75, off, s32 offset:344
+; GFX11-FAKE16-NEXT: scratch_load_u16 v79, off, s32 offset:340
; GFX11-FAKE16-NEXT: scratch_load_u16 v4, off, s32 offset:336
-; GFX11-FAKE16-NEXT: scratch_load_u16 v88, off, s32 offset:332
+; GFX11-FAKE16-NEXT: scratch_load_u16 v78, off, s32 offset:332
; GFX11-FAKE16-NEXT: scratch_load_u16 v5, off, s32 offset:328
-; GFX11-FAKE16-NEXT: scratch_load_u16 v92, off, s32 offset:324
+; GFX11-FAKE16-NEXT: scratch_load_u16 v90, off, s32 offset:324
; GFX11-FAKE16-NEXT: scratch_load_u16 v6, off, s32 offset:320
-; GFX11-FAKE16-NEXT: scratch_load_u16 v78, off, s32 offset:316
-; GFX11-FAKE16-NEXT: scratch_load_u16 v62, off, s32 offset:312
-; GFX11-FAKE16-NEXT: scratch_load_u16 v76, off, s32 offset:308
+; GFX11-FAKE16-NEXT: scratch_load_u16 v76, off, s32 offset:316
+; GFX11-FAKE16-NEXT: scratch_load_u16 v58, off, s32 offset:312
+; GFX11-FAKE16-NEXT: scratch_load_u16 v74, off, s32 offset:308
; GFX11-FAKE16-NEXT: scratch_load_u16 v7, off, s32 offset:304
-; GFX11-FAKE16-NEXT: scratch_load_u16 v73, off, s32 offset:300
+; GFX11-FAKE16-NEXT: scratch_load_u16 v72, off, s32 offset:300
; GFX11-FAKE16-NEXT: scratch_load_u16 v8, off, s32 offset:296
-; GFX11-FAKE16-NEXT: scratch_load_u16 v79, off, s32 offset:292
+; GFX11-FAKE16-NEXT: scratch_load_u16 v77, off, s32 offset:292
; GFX11-FAKE16-NEXT: scratch_load_u16 v9, off, s32 offset:288
-; GFX11-FAKE16-NEXT: scratch_load_u16 v63, off, s32 offset:284
+; GFX11-FAKE16-NEXT: scratch_load_u16 v59, off, s32 offset:284
; GFX11-FAKE16-NEXT: scratch_load_u16 v45, off, s32 offset:280
-; GFX11-FAKE16-NEXT: scratch_load_u16 v61, off, s32 offset:276
+; GFX11-FAKE16-NEXT: scratch_load_u16 v57, off, s32 offset:276
; GFX11-FAKE16-NEXT: scratch_load_u16 v10, off, s32 offset:272
-; GFX11-FAKE16-NEXT: scratch_load_u16 v58, off, s32 offset:268
+; GFX11-FAKE16-NEXT: scratch_load_u16 v47, off, s32 offset:268
; GFX11-FAKE16-NEXT: scratch_load_u16 v11, off, s32 offset:264
-; GFX11-FAKE16-NEXT: scratch_load_u16 v72, off, s32 offset:260
+; GFX11-FAKE16-NEXT: scratch_load_u16 v60, off, s32 offset:260
; GFX11-FAKE16-NEXT: s_clause 0x1f
-; GFX11-FAKE16-NEXT: scratch_load_u16 v41, off, s32 offset:256
+; GFX11-FAKE16-NEXT: scratch_load_u16 v183, off, s32 offset:256
; GFX11-FAKE16-NEXT: scratch_load_u16 v44, off, s32 offset:252
-; GFX11-FAKE16-NEXT: scratch_load_u16 v57, off, s32 offset:248
-; GFX11-FAKE16-NEXT: scratch_load_u16 v60, off, s32 offset:244
-; GFX11-FAKE16-NEXT: scratch_load_u16 v181, off, s32 offset:240
-; GFX11-FAKE16-NEXT: scratch_load_u16 v40, off, s32 offset:236
-; GFX11-FAKE16-NEXT: scratch_load_u16 v42, off, s32 offset:232
-; GFX11-FAKE16-NEXT: scratch_load_u16 v43, off, s32 offset:228
-; GFX11-FAKE16-NEXT: scratch_load_u16 v176, off, s32 offset:224
-; GFX11-FAKE16-NEXT: scratch_load_u16 v179, off, s32 offset:220
-; GFX11-FAKE16-NEXT: scratch_load_u16 v178, off, s32 offset:216
-; GFX11-FAKE16-NEXT: scratch_load_u16 v183, off, s32 offset:212
-; GFX11-FAKE16-NEXT: scratch_load_u16 v161, off, s32 offset:208
-; GFX11-FAKE16-NEXT: scratch_load_u16 v165, off, s32 offset:204
-; GFX11-FAKE16-NEXT: scratch_load_u16 v163, off, s32 offset:200
-; GFX11-FAKE16-NEXT: scratch_load_u16 v177, off, s32 offset:196
-; GFX11-FAKE16-NEXT: scratch_load_u16 v144, off, s32 offset:192
-; GFX11-FAKE16-NEXT: scratch_load_u16 v149, off, s32 offset:188
-; GFX11-FAKE16-NEXT: scratch_load_u16 v160, off, s32 offset:184
-; GFX11-FAKE16-NEXT: scratch_load_u16 v164, off, s32 offset:180
-; GFX11-FAKE16-NEXT: scratch_load_u16 v119, off, s32 offset:176
-; GFX11-FAKE16-NEXT: scratch_load_u16 v133, off, s32 offset:172
-; GFX11-FAKE16-NEXT: scratch_load_u16 v146, off, s32 offset:168
-; GFX11-FAKE16-NEXT: scratch_load_u16 v147, off, s32 offset:164
-; GFX11-FAKE16-NEXT: scratch_load_u16 v102, off, s32 offset:160
-; GFX11-FAKE16-NEXT: scratch_load_u16 v117, off, s32 offset:156
-; GFX11-FAKE16-NEXT: scratch_load_u16 v128, off, s32 offset:152
-; GFX11-FAKE16-NEXT: scratch_load_u16 v131, off, s32 offset:148
-; GFX11-FAKE16-NEXT: scratch_load_u16 v96, off, s32 offset:144
-; GFX11-FAKE16-NEXT: scratch_load_u16 v98, off, s32 offset:140
-; GFX11-FAKE16-NEXT: scratch_load_u16 v97, off, s32 offset:136
-; GFX11-FAKE16-NEXT: scratch_load_u16 v103, off, s32 offset:132
+; GFX11-FAKE16-NEXT: scratch_load_u16 v46, off, s32 offset:248
+; GFX11-FAKE16-NEXT: scratch_load_u16 v56, off, s32 offset:244
+; GFX11-FAKE16-NEXT: scratch_load_u16 v178, off, s32 offset:240
+; GFX11-FAKE16-NEXT: scratch_load_u16 v182, off, s32 offset:236
+; GFX11-FAKE16-NEXT: scratch_load_u16 v40, off, s32 offset:232
+; GFX11-FAKE16-NEXT: scratch_load_u16 v42, off, s32 offset:228
+; GFX11-FAKE16-NEXT: scratch_load_u16 v163, off, s32 offset:224
+; GFX11-FAKE16-NEXT: scratch_load_u16 v176, off, s32 offset:220
+; GFX11-FAKE16-NEXT: scratch_load_u16 v167, off, s32 offset:216
+; GFX11-FAKE16-NEXT: scratch_load_u16 v179, off, s32 offset:212
+; GFX11-FAKE16-NEXT: scratch_load_u16 v147, off, s32 offset:208
+; GFX11-FAKE16-NEXT: scratch_load_u16 v161, off, s32 offset:204
+; GFX11-FAKE16-NEXT: scratch_load_u16 v151, off, s32 offset:200
+; GFX11-FAKE16-NEXT: scratch_load_u16 v165, off, s32 offset:196
+; GFX11-FAKE16-NEXT: scratch_load_u16 v118, off, s32 offset:192
+; GFX11-FAKE16-NEXT: scratch_load_u16 v134, off, s32 offset:188
+; GFX11-FAKE16-NEXT: scratch_load_u16 v145, off, s32 offset:184
+; GFX11-FAKE16-NEXT: scratch_load_u16 v160, off, s32 offset:180
+; GFX11-FAKE16-NEXT: scratch_load_u16 v102, off, s32 offset:176
+; GFX11-FAKE16-NEXT: scratch_load_u16 v116, off, s32 offset:172
+; GFX11-FAKE16-NEXT: scratch_load_u16 v131, off, s32 offset:168
+; GFX11-FAKE16-NEXT: scratch_load_u16 v133, off, s32 offset:164
+; GFX11-FAKE16-NEXT: scratch_load_u16 v99, off, s32 offset:160
+; GFX11-FAKE16-NEXT: scratch_load_u16 v101, off, s32 offset:156
+; GFX11-FAKE16-NEXT: scratch_load_u16 v103, off, s32 offset:152
+; GFX11-FAKE16-NEXT: scratch_load_u16 v115, off, s32 offset:148
+; GFX11-FAKE16-NEXT: scratch_load_u16 v87, off, s32 offset:144
+; GFX11-FAKE16-NEXT: scratch_load_u16 v97, off, s32 offset:140
+; GFX11-FAKE16-NEXT: scratch_load_u16 v96, off, s32 offset:136
+; GFX11-FAKE16-NEXT: scratch_load_u16 v100, off, s32 offset:132
; GFX11-FAKE16-NEXT: s_clause 0x1f
; GFX11-FAKE16-NEXT: scratch_load_u16 v12, off, s32 offset:128
-; GFX11-FAKE16-NEXT: scratch_load_u16 v116, off, s32 offset:124
-; GFX11-FAKE16-NEXT: scratch_load_u16 v100, off, s32 offset:120
-; GFX11-FAKE16-NEXT: scratch_load_u16 v115, off, s32 offset:116
+; GFX11-FAKE16-NEXT: scratch_load_u16 v130, off, s32 offset:124
+; GFX11-FAKE16-NEXT: scratch_load_u16 v113, off, s32 offset:120
+; GFX11-FAKE16-NEXT: scratch_load_u16 v129, off, s32 offset:116
; GFX11-FAKE16-NEXT: scratch_load_b32 v13, off, s32 offset:388
; GFX11-FAKE16-NEXT: scratch_load_u16 v14, off, s32 offset:8
; GFX11-FAKE16-NEXT: scratch_load_u16 v15, off, s32 offset:16
@@ -145875,25 +145952,25 @@ define <64 x bfloat> @bitcast_v128i8_to_v64bf16(<128 x i8> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: scratch_load_u16 v22, off, s32 offset:96
; GFX11-FAKE16-NEXT: scratch_load_u16 v23, off, s32 offset:104
; GFX11-FAKE16-NEXT: scratch_load_u16 v24, off, s32 offset:112
-; GFX11-FAKE16-NEXT: scratch_load_u16 v162, off, s32 offset:108
-; GFX11-FAKE16-NEXT: scratch_load_u16 v167, off, s32 offset:100
-; GFX11-FAKE16-NEXT: scratch_load_u16 v150, off, s32 offset:92
-; GFX11-FAKE16-NEXT: scratch_load_u16 v135, off, s32 offset:88
-; GFX11-FAKE16-NEXT: scratch_load_u16 v148, off, s32 offset:84
-; GFX11-FAKE16-NEXT: scratch_load_u16 v145, off, s32 offset:76
-; GFX11-FAKE16-NEXT: scratch_load_u16 v151, off, s32 offset:68
-; GFX11-FAKE16-NEXT: scratch_load_u16 v132, off, s32 offset:60
-; GFX11-FAKE16-NEXT: scratch_load_u16 v114, off, s32 offset:56
-; GFX11-FAKE16-NEXT: scratch_load_u16 v130, off, s32 offset:52
-; GFX11-FAKE16-NEXT: scratch_load_u16 v129, off, s32 offset:44
-; GFX11-FAKE16-NEXT: scratch_load_u16 v134, off, s32 offset:36
-; GFX11-FAKE16-NEXT: scratch_load_u16 v113, off, s32 offset:28
-; GFX11-FAKE16-NEXT: scratch_load_u16 v101, off, s32 offset:24
-; GFX11-FAKE16-NEXT: scratch_load_u16 v112, off, s32 offset:20
-; GFX11-FAKE16-NEXT: scratch_load_u16 v99, off, s32 offset:12
+; GFX11-FAKE16-NEXT: scratch_load_u16 v177, off, s32 offset:108
+; GFX11-FAKE16-NEXT: scratch_load_u16 v181, off, s32 offset:100
+; GFX11-FAKE16-NEXT: scratch_load_u16 v164, off, s32 offset:92
+; GFX11-FAKE16-NEXT: scratch_load_u16 v149, off, s32 offset:88
+; GFX11-FAKE16-NEXT: scratch_load_u16 v162, off, s32 offset:84
+; GFX11-FAKE16-NEXT: scratch_load_u16 v150, off, s32 offset:76
+; GFX11-FAKE16-NEXT: scratch_load_u16 v166, off, s32 offset:68
+; GFX11-FAKE16-NEXT: scratch_load_u16 v146, off, s32 offset:60
+; GFX11-FAKE16-NEXT: scratch_load_u16 v128, off, s32 offset:56
+; GFX11-FAKE16-NEXT: scratch_load_u16 v144, off, s32 offset:52
+; GFX11-FAKE16-NEXT: scratch_load_u16 v135, off, s32 offset:44
+; GFX11-FAKE16-NEXT: scratch_load_u16 v148, off, s32 offset:36
+; GFX11-FAKE16-NEXT: scratch_load_u16 v119, off, s32 offset:28
+; GFX11-FAKE16-NEXT: scratch_load_u16 v114, off, s32 offset:24
+; GFX11-FAKE16-NEXT: scratch_load_u16 v117, off, s32 offset:20
+; GFX11-FAKE16-NEXT: scratch_load_u16 v112, off, s32 offset:12
; GFX11-FAKE16-NEXT: s_clause 0x1
-; GFX11-FAKE16-NEXT: scratch_load_u16 v118, off, s32 offset:4
-; GFX11-FAKE16-NEXT: scratch_load_u16 v87, off, s32
+; GFX11-FAKE16-NEXT: scratch_load_u16 v132, off, s32 offset:4
+; GFX11-FAKE16-NEXT: scratch_load_u16 v98, off, s32
; GFX11-FAKE16-NEXT: v_dual_mov_b32 v83, v30 :: v_dual_mov_b32 v80, v27
; GFX11-FAKE16-NEXT: v_dual_mov_b32 v85, v29 :: v_dual_mov_b32 v86, v28
; GFX11-FAKE16-NEXT: v_dual_mov_b32 v82, v26 :: v_dual_mov_b32 v81, v25
@@ -145915,27 +145992,27 @@ define <64 x bfloat> @bitcast_v128i8_to_v64bf16(<128 x i8> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(29)
; GFX11-FAKE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v13
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(28)
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v182, 8, v14
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v43, 8, v14
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(27)
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v166, 8, v15
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v180, 8, v15
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(26)
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v180, 8, v16
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v41, 8, v16
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(25)
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v46, 8, v17
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v61, 8, v17
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(24)
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v47, 8, v18
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v62, 8, v18
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(23)
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v56, 8, v19
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v63, 8, v19
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(22)
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v75, 8, v20
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v92, 8, v20
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(21)
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v59, 8, v21
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v73, 8, v21
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(20)
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v74, 8, v22
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v89, 8, v22
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(19)
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v95, 8, v23
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v106, 8, v23
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(18)
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v90, 8, v24
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v104, 8, v24
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31
; GFX11-FAKE16-NEXT: s_and_saveexec_b32 s0, vcc_lo
@@ -145964,102 +146041,102 @@ define <64 x bfloat> @bitcast_v128i8_to_v64bf16(<128 x i8> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: v_perm_b32 v4, v7, v6, 0x5040100
; GFX11-FAKE16-NEXT: v_perm_b32 v6, v11, v10, 0x5040100
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(1)
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v7, 0xff, v118
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v11, 0xff, v113
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v7, 0xff, v132
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v11, 0xff, v119
; GFX11-FAKE16-NEXT: v_perm_b32 v5, v9, v8, 0x5040100
; GFX11-FAKE16-NEXT: v_perm_b32 v8, v86, v85, 0xc0c0004
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0)
-; GFX11-FAKE16-NEXT: v_perm_b32 v9, v83, v87, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v10, 0xff, v99
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v12, v7, v182
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v7, 0xff, v134
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v13, 0xff, v129
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v11, v11, v180
-; GFX11-FAKE16-NEXT: v_perm_b32 v14, v112, v101, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v10, v10, v166
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v15, v7, v46
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v13, v13, v47
+; GFX11-FAKE16-NEXT: v_perm_b32 v9, v83, v98, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v10, 0xff, v112
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v12, v7, v43
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v7, 0xff, v148
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v13, 0xff, v135
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v11, v11, v41
+; GFX11-FAKE16-NEXT: v_perm_b32 v14, v117, v114, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v10, v10, v180
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v15, v7, v61
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v13, v13, v62
; GFX11-FAKE16-NEXT: v_perm_b32 v7, v9, v8, 0x5040100
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v16, 0xff, v132
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v16, 0xff, v146
; GFX11-FAKE16-NEXT: v_perm_b32 v9, v11, v14, 0x5040100
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v11, 0xff, v151
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v11, 0xff, v166
; GFX11-FAKE16-NEXT: v_perm_b32 v8, v10, v12, 0x5040100
; GFX11-FAKE16-NEXT: v_perm_b32 v10, v13, v15, 0x5040100
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v12, v16, v56
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v14, 0xff, v145
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v15, 0xff, v150
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v16, v11, v75
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v11, 0xff, v167
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v17, 0xff, v162
-; GFX11-FAKE16-NEXT: v_perm_b32 v13, v130, v114, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v14, v14, v59
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v15, v15, v74
-; GFX11-FAKE16-NEXT: v_perm_b32 v18, v148, v135, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v19, v11, v95
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v17, v17, v90
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v20, 0xff, v116
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v12, v16, v63
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v14, 0xff, v150
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v15, 0xff, v164
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v16, v11, v92
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v11, 0xff, v181
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v17, 0xff, v177
+; GFX11-FAKE16-NEXT: v_perm_b32 v13, v144, v128, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v14, v14, v73
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v15, v15, v89
+; GFX11-FAKE16-NEXT: v_perm_b32 v18, v162, v149, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v19, v11, v106
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v17, v17, v104
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v20, 0xff, v130
; GFX11-FAKE16-NEXT: v_perm_b32 v11, v12, v13, 0x5040100
; GFX11-FAKE16-NEXT: v_perm_b32 v12, v14, v16, 0x5040100
; GFX11-FAKE16-NEXT: v_perm_b32 v13, v15, v18, 0x5040100
; GFX11-FAKE16-NEXT: v_perm_b32 v14, v17, v19, 0x5040100
; GFX11-FAKE16-NEXT: v_or_b32_e32 v15, v20, v107
-; GFX11-FAKE16-NEXT: v_perm_b32 v16, v115, v100, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v17, v103, v97, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v18, v98, v96, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v19, v131, v128, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v20, v117, v102, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v21, v147, v146, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v22, v133, v119, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v23, v164, v160, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v24, v149, v144, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v16, v129, v113, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v17, v100, v96, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v18, v97, v87, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v19, v115, v103, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v20, v101, v99, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v21, v133, v131, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v22, v116, v102, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v23, v160, v145, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v24, v134, v118, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v15, v15, v16, 0x5040100
; GFX11-FAKE16-NEXT: v_perm_b32 v16, v18, v17, 0x5040100
; GFX11-FAKE16-NEXT: v_perm_b32 v17, v20, v19, 0x5040100
; GFX11-FAKE16-NEXT: v_perm_b32 v18, v22, v21, 0x5040100
; GFX11-FAKE16-NEXT: v_perm_b32 v19, v24, v23, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v20, v177, v163, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v21, v165, v161, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v22, v183, v178, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v23, v179, v176, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v24, v43, v42, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v25, v40, v181, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v26, v60, v57, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v27, v44, v41, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v28, 0xff, v72
+; GFX11-FAKE16-NEXT: v_perm_b32 v20, v165, v151, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v21, v161, v147, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v22, v179, v167, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v23, v176, v163, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v24, v42, v40, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v25, v182, v178, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v26, v56, v46, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v27, v44, v183, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v28, 0xff, v60
; GFX11-FAKE16-NEXT: v_perm_b32 v20, v21, v20, 0x5040100
; GFX11-FAKE16-NEXT: v_perm_b32 v21, v23, v22, 0x5040100
; GFX11-FAKE16-NEXT: v_perm_b32 v22, v25, v24, 0x5040100
; GFX11-FAKE16-NEXT: v_perm_b32 v23, v27, v26, 0x5040100
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v24, 0xff, v58
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v24, 0xff, v47
; GFX11-FAKE16-NEXT: v_or_b32_e32 v26, v28, v109
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v27, 0xff, v79
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v28, 0xff, v73
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v25, 0xff, v63
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v27, 0xff, v77
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v28, 0xff, v72
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v25, 0xff, v59
; GFX11-FAKE16-NEXT: v_or_b32_e32 v24, v24, v108
-; GFX11-FAKE16-NEXT: v_perm_b32 v29, v61, v45, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v29, v57, v45, 0xc0c0004
; GFX11-FAKE16-NEXT: v_or_b32_e32 v27, v27, v111
; GFX11-FAKE16-NEXT: v_or_b32_e32 v28, v28, v120
; GFX11-FAKE16-NEXT: v_or_b32_e32 v25, v25, v110
; GFX11-FAKE16-NEXT: v_perm_b32 v24, v24, v26, 0x5040100
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v30, 0xff, v78
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v31, 0xff, v91
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v30, 0xff, v76
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v31, 0xff, v88
; GFX11-FAKE16-NEXT: v_perm_b32 v26, v28, v27, 0x5040100
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v27, 0xff, v88
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v27, 0xff, v78
; GFX11-FAKE16-NEXT: v_perm_b32 v25, v25, v29, 0x5040100
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v29, 0xff, v92
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v33, 0xff, v94
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v34, 0xff, v105
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v29, 0xff, v90
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v33, 0xff, v93
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v34, 0xff, v95
; GFX11-FAKE16-NEXT: v_or_b32_e32 v32, v27, v122
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v27, 0xff, v106
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v27, 0xff, v105
; GFX11-FAKE16-NEXT: v_or_b32_e32 v28, v30, v121
-; GFX11-FAKE16-NEXT: v_perm_b32 v30, v76, v62, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v30, v74, v58, 0xc0c0004
; GFX11-FAKE16-NEXT: v_or_b32_e32 v29, v29, v124
; GFX11-FAKE16-NEXT: v_or_b32_e32 v31, v31, v123
-; GFX11-FAKE16-NEXT: v_perm_b32 v35, v89, v77, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v35, v79, v75, 0xc0c0004
; GFX11-FAKE16-NEXT: v_or_b32_e32 v36, v27, v125
; GFX11-FAKE16-NEXT: v_or_b32_e32 v33, v33, v126
; GFX11-FAKE16-NEXT: v_or_b32_e32 v34, v34, v127
-; GFX11-FAKE16-NEXT: v_perm_b32 v37, v104, v93, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v37, v94, v91, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v27, v28, v30, 0x5040100
; GFX11-FAKE16-NEXT: v_perm_b32 v28, v32, v29, 0x5040100
; GFX11-FAKE16-NEXT: v_perm_b32 v29, v31, v35, 0x5040100
@@ -146096,90 +146173,90 @@ define <64 x bfloat> @bitcast_v128i8_to_v64bf16(<128 x i8> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr86
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr85
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr83
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr87
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr118
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr99
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr98
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr132
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr112
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr101
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr113
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr134
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr129
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr130
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr117
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr114
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr132
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr151
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr145
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr119
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr148
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr135
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr144
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr128
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr146
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr166
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr150
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr167
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr162
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr115
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr149
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr164
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr181
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr177
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr129
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr113
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr130
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr100
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr116
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr103
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr97
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr98
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr96
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr97
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr87
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr115
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr103
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr101
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr99
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr133
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr131
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr128
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr117
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr116
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr102
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr147
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr146
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr133
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr119
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr164
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr160
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr149
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr144
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr177
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr163
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr145
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr134
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr118
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr165
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr151
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr161
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr183
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr178
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr147
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr179
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr167
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr176
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr43
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr163
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr42
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr40
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr181
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr182
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr178
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr56
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr46
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr44
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr183
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr60
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr47
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr57
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr44
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr41
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr45
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr59
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr77
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr72
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr74
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr58
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr61
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr45
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr63
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr79
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr73
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr76
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr62
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr90
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr78
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr92
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr79
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr75
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr88
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr89
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr77
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr105
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr93
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr94
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr91
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr95
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr43
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr180
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr41
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr61
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr62
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr63
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr92
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr73
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr89
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr106
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr94
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr104
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr93
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr105
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr182
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr166
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr180
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr46
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr47
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr56
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr75
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr59
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr74
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr95
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr90
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr107
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr109
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr108
@@ -146197,56 +146274,56 @@ define <64 x bfloat> @bitcast_v128i8_to_v64bf16(<128 x i8> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: s_and_not1_saveexec_b32 s0, s0
; GFX11-FAKE16-NEXT: s_cbranch_execz .LBB88_4
; GFX11-FAKE16-NEXT: ; %bb.3: ; %cmp.true
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v0, v104, 3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v1, v105, 3
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v2, 8, v93
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v3, v106, 3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v94, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v0, v94, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v1, v95, 3
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v2, 8, v91
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v3, v105, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v93, 3
; GFX11-FAKE16-NEXT: v_and_b32_e32 v0, 0xff, v0
; GFX11-FAKE16-NEXT: v_and_b32_e32 v1, 0xff, v1
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v5, v92, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v5, v90, 3
; GFX11-FAKE16-NEXT: v_and_b32_e32 v3, 0xff, v3
; GFX11-FAKE16-NEXT: v_and_b32_e32 v4, 0xff, v4
; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v2, v0
; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v127, v1
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v2, v89, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v2, v79, 3
; GFX11-FAKE16-NEXT: v_or_b32_e32 v3, v125, v3
; GFX11-FAKE16-NEXT: v_or_b32_e32 v4, v126, v4
; GFX11-FAKE16-NEXT: v_add_nc_u16 v31, 0x300, v0
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v89, 0x300, v1
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v79, 0x300, v1
; GFX11-FAKE16-NEXT: v_and_b32_e32 v0, 0xff, v2
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v1, 8, v77
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v2, v91, 3
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v1, 8, v75
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v2, v88, 3
; GFX11-FAKE16-NEXT: v_add_nc_u16 v30, 0x300, v3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v77, 0x300, v4
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v3, v88, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v75, 0x300, v4
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v3, v78, 3
; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v1, v0
; GFX11-FAKE16-NEXT: v_and_b32_e32 v1, 0xff, v2
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xff, v5
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v76, 3
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v5, 8, v62
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v74, 3
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v5, 8, v58
; GFX11-FAKE16-NEXT: v_add_nc_u16 v29, 0x300, v0
; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v123, v1
; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v124, v2
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xff, v3
; GFX11-FAKE16-NEXT: v_and_b32_e32 v3, 0xff, v4
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v78, 3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v62, 0x300, v0
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v76, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v58, 0x300, v0
; GFX11-FAKE16-NEXT: v_add_nc_u16 v28, 0x300, v1
; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v122, v2
; GFX11-FAKE16-NEXT: v_or_b32_e32 v2, v5, v3
; GFX11-FAKE16-NEXT: v_and_b32_e32 v1, 0xff, v4
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v3, v79, 3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v73, 3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v73, 0x300, v0
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v3, v77, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v72, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v72, 0x300, v0
; GFX11-FAKE16-NEXT: v_add_nc_u16 v27, 0x300, v2
; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v121, v1
; GFX11-FAKE16-NEXT: v_and_b32_e32 v1, 0xff, v3
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xff, v4
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v3, v61, 3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v5, v72, 3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v61, 0x300, v0
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v0, v63, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v3, v57, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v5, v60, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v57, 0x300, v0
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v0, v59, 3
; GFX11-FAKE16-NEXT: v_or_b32_e32 v2, v120, v2
; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v111, v1
; GFX11-FAKE16-NEXT: v_and_b32_e32 v3, 0xff, v3
@@ -146257,176 +146334,176 @@ define <64 x bfloat> @bitcast_v128i8_to_v64bf16(<128 x i8> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: v_add_nc_u16 v26, 0x300, v1
; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v4, v3
; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v110, v0
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v3, v58, 3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v60, 3
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v5, 8, v42
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v3, v47, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v56, 3
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v5, 8, v40
; GFX11-FAKE16-NEXT: v_add_nc_u16 v25, 0x300, v1
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v58, 0x300, v0
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v47, 0x300, v0
; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v109, v2
; GFX11-FAKE16-NEXT: v_and_b32_e32 v1, 0xff, v3
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xff, v4
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v57
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v46
; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v44, 3
; GFX11-FAKE16-NEXT: v_add_nc_u16 v24, 0x300, v0
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v0, v43, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v0, v42, 3
; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v108, v1
; GFX11-FAKE16-NEXT: v_or_b32_e32 v2, v3, v2
; GFX11-FAKE16-NEXT: v_and_b32_e32 v3, 0xff, v4
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v4, 8, v41
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v4, 8, v183
; GFX11-FAKE16-NEXT: v_and_b32_e32 v0, 0xff, v0
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v6, v40, 3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v40, 0x300, v1
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v6, v182, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v182, 0x300, v1
; GFX11-FAKE16-NEXT: v_add_nc_u16 v23, 0x300, v2
; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v4, v3
; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v5, v0
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xff, v6
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v181
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v183, 3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v181, 0x300, v1
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v1, v179, 3
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v178
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v179, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v178, 0x300, v1
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v1, v176, 3
; GFX11-FAKE16-NEXT: v_add_nc_u16 v22, 0x300, v0
; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v3, v2
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xff, v4
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v178
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v167
; GFX11-FAKE16-NEXT: v_and_b32_e32 v1, 0xff, v1
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v4, 8, v176
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v5, v177, 3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v176, 0x300, v0
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v0, v165, 3
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v4, 8, v163
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v5, v165, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v163, 0x300, v0
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v0, v161, 3
; GFX11-FAKE16-NEXT: v_or_b32_e32 v2, v3, v2
; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v4, v1
; GFX11-FAKE16-NEXT: v_and_b32_e32 v3, 0xff, v5
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v4, 8, v163
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v4, 8, v151
; GFX11-FAKE16-NEXT: v_and_b32_e32 v0, 0xff, v0
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v5, 8, v161
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v6, v164, 3
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v5, 8, v147
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v6, v160, 3
; GFX11-FAKE16-NEXT: v_add_nc_u16 v21, 0x300, v2
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v161, 0x300, v1
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v147, 0x300, v1
; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v4, v3
; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v5, v0
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xff, v6
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v160
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v149, 3
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v145
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v134, 3
; GFX11-FAKE16-NEXT: v_add_nc_u16 v20, 0x300, v1
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v1, v147, 3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v147, 0x300, v0
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v1, v133, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v133, 0x300, v0
; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v3, v2
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xff, v4
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v144
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v118
; GFX11-FAKE16-NEXT: v_and_b32_e32 v1, 0xff, v1
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v4, 8, v146
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v5, v133, 3
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v4, 8, v131
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v5, v116, 3
; GFX11-FAKE16-NEXT: v_add_nc_u16 v19, 0x300, v0
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v0, v131, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v0, v115, 3
; GFX11-FAKE16-NEXT: v_or_b32_e32 v2, v3, v2
; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v4, v1
; GFX11-FAKE16-NEXT: v_and_b32_e32 v3, 0xff, v5
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v4, 8, v119
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v4, 8, v102
; GFX11-FAKE16-NEXT: v_and_b32_e32 v0, 0xff, v0
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v5, 8, v128
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v6, v117, 3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v117, 0x300, v2
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v5, 8, v103
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v6, v101, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v101, 0x300, v2
; GFX11-FAKE16-NEXT: v_add_nc_u16 v18, 0x300, v1
; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v4, v3
; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v5, v0
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xff, v6
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v102
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v103, 3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v102, 0x300, v1
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v1, v98, 3
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v99
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v100, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v99, 0x300, v1
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v1, v97, 3
; GFX11-FAKE16-NEXT: v_add_nc_u16 v17, 0x300, v0
; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v3, v2
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xff, v4
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v97
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v96
; GFX11-FAKE16-NEXT: v_and_b32_e32 v1, 0xff, v1
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v4, 8, v96
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v5, v115, 3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v96, 0x300, v0
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v0, v116, 3
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v4, 8, v87
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v5, v129, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v87, 0x300, v0
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v0, v130, 3
; GFX11-FAKE16-NEXT: v_or_b32_e32 v2, v3, v2
; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v4, v1
; GFX11-FAKE16-NEXT: v_and_b32_e32 v3, 0xff, v5
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v4, 8, v100
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v4, 8, v113
; GFX11-FAKE16-NEXT: v_and_b32_e32 v0, 0xff, v0
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(16)
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v5, v167, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v5, v181, 3
; GFX11-FAKE16-NEXT: v_add_nc_u16 v16, 0x300, v2
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v97, 0x300, v1
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v96, 0x300, v1
; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v4, v3
; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v107, v0
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xff, v5
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v3, v162, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v3, v177, 3
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(13)
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v148, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v162, 3
; GFX11-FAKE16-NEXT: v_add_nc_u16 v15, 0x300, v1
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v98, 0x300, v0
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v95, v2
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v97, 0x300, v0
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v106, v2
; GFX11-FAKE16-NEXT: v_and_b32_e32 v1, 0xff, v3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v3, v150, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v3, v164, 3
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xff, v4
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v4, 8, v135
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v4, 8, v149
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(11)
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v5, v151, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v5, v166, 3
; GFX11-FAKE16-NEXT: v_add_nc_u16 v14, 0x300, v0
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v90, v1
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v104, v1
; GFX11-FAKE16-NEXT: v_and_b32_e32 v1, 0xff, v3
; GFX11-FAKE16-NEXT: v_or_b32_e32 v2, v4, v2
; GFX11-FAKE16-NEXT: v_and_b32_e32 v3, 0xff, v5
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v145, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v150, 3
; GFX11-FAKE16-NEXT: v_add_nc_u16 v100, 0x300, v0
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v74, v1
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v89, v1
; GFX11-FAKE16-NEXT: v_add_nc_u16 v13, 0x300, v2
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v75, v3
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v92, v3
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xff, v4
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(8)
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v3, v130, 3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v103, 0x300, v0
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v0, v132, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v3, v144, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v102, 0x300, v0
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v0, v146, 3
; GFX11-FAKE16-NEXT: v_add_nc_u16 v12, 0x300, v1
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v59, v2
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v73, v2
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xff, v3
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v114
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v128
; GFX11-FAKE16-NEXT: v_and_b32_e32 v0, 0xff, v0
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(6)
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v134, 3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v5, v129, 3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v114, 0x300, v1
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v148, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v5, v135, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v103, 0x300, v1
; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v3, v2
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v56, v0
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v63, v0
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xff, v4
; GFX11-FAKE16-NEXT: v_and_b32_e32 v3, 0xff, v5
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(3)
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v112, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v117, 3
; GFX11-FAKE16-NEXT: v_add_nc_u16 v11, 0x300, v1
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v112, 0x300, v0
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v46, v2
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v47, v3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v113, 0x300, v0
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v61, v2
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v62, v3
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xff, v4
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v101
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v113, 3
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v114
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v119, 3
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(1)
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v5, v118, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v5, v132, 3
; GFX11-FAKE16-NEXT: v_add_nc_u16 v10, 0x300, v0
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v101, 0x300, v1
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v114, 0x300, v1
; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v3, v2
; GFX11-FAKE16-NEXT: v_and_b32_e32 v1, 0xff, v4
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xff, v5
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v3, v99, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v3, v112, 3
; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v86, 3
; GFX11-FAKE16-NEXT: v_add_nc_u16 v9, 0x300, v0
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v180, v1
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v182, v2
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v41, v1
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v43, v2
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xff, v3
; GFX11-FAKE16-NEXT: v_and_b32_e32 v3, 0xff, v4
; GFX11-FAKE16-NEXT: v_lshlrev_b16 v4, 8, v85
; GFX11-FAKE16-NEXT: v_add_nc_u16 v5, v83, 3
; GFX11-FAKE16-NEXT: v_add_nc_u16 v83, 0x300, v0
; GFX11-FAKE16-NEXT: v_add_nc_u16 v8, 0x300, v1
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v166, v2
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v180, v2
; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v4, v3
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xff, v5
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0)
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v87
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v98
; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v84, 3
; GFX11-FAKE16-NEXT: v_add_nc_u16 v84, 0x300, v0
; GFX11-FAKE16-NEXT: v_add_nc_u16 v7, 0x300, v1
@@ -146511,28 +146588,28 @@ define <64 x bfloat> @bitcast_v128i8_to_v64bf16(<128 x i8> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: v_perm_b32 v7, v80, v7, 0x5040100
; GFX11-FAKE16-NEXT: v_perm_b32 v8, v84, v8, 0x5040100
; GFX11-FAKE16-NEXT: v_perm_b32 v9, v83, v9, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v10, v101, v10, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v11, v112, v11, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v12, v114, v12, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v13, v103, v13, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v10, v114, v10, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v11, v113, v11, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v12, v103, v12, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v13, v102, v13, 0x5040100
; GFX11-FAKE16-NEXT: v_perm_b32 v14, v100, v14, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v15, v98, v15, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v16, v97, v16, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v17, v96, v17, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v18, v102, v18, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v19, v117, v19, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v20, v147, v20, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v21, v161, v21, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v22, v176, v22, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v23, v181, v23, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v24, v40, v24, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v25, v58, v25, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v15, v97, v15, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v16, v96, v16, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v17, v87, v17, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v18, v99, v18, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v19, v101, v19, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v20, v133, v20, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v21, v147, v21, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v22, v163, v22, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v23, v178, v23, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v24, v182, v24, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v25, v47, v25, 0x5040100
; GFX11-FAKE16-NEXT: v_perm_b32 v26, v45, v26, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v27, v61, v27, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v28, v73, v28, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v29, v62, v29, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v30, v77, v30, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v31, v89, v31, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v27, v57, v27, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v28, v72, v28, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v29, v58, v29, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v30, v75, v30, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v31, v79, v31, 0x5040100
; GFX11-FAKE16-NEXT: .LBB88_4: ; %end
; GFX11-FAKE16-NEXT: s_or_b32 exec_lo, exec_lo, s0
; GFX11-FAKE16-NEXT: s_clause 0x1f ; 128-byte Folded Reload
@@ -146667,1510 +146744,1503 @@ define inreg <64 x bfloat> @bitcast_v128i8_to_v64bf16_scalar(<128 x i8> inreg %a
; SI-NEXT: v_writelane_b32 v56, s23, 6
; SI-NEXT: v_writelane_b32 v56, s22, 7
; SI-NEXT: v_writelane_b32 v56, s21, 8
-; SI-NEXT: v_writelane_b32 v56, s4, 9
+; SI-NEXT: v_writelane_b32 v56, s20, 9
+; SI-NEXT: v_writelane_b32 v56, s19, 10
+; SI-NEXT: v_writelane_b32 v56, s18, 11
+; SI-NEXT: v_writelane_b32 v56, s4, 12
; SI-NEXT: v_readfirstlane_b32 s4, v29
-; SI-NEXT: v_writelane_b32 v56, s4, 10
+; SI-NEXT: v_writelane_b32 v56, s4, 13
; SI-NEXT: v_readfirstlane_b32 s4, v28
-; SI-NEXT: v_writelane_b32 v56, s4, 11
+; SI-NEXT: v_writelane_b32 v56, s4, 14
; SI-NEXT: v_readfirstlane_b32 s4, v27
-; SI-NEXT: v_writelane_b32 v56, s4, 12
+; SI-NEXT: v_writelane_b32 v56, s4, 15
; SI-NEXT: v_readfirstlane_b32 s4, v26
-; SI-NEXT: v_writelane_b32 v56, s4, 13
+; SI-NEXT: v_writelane_b32 v56, s4, 16
; SI-NEXT: v_readfirstlane_b32 s4, v25
-; SI-NEXT: v_writelane_b32 v56, s4, 14
+; SI-NEXT: v_writelane_b32 v56, s4, 17
; SI-NEXT: v_readfirstlane_b32 s4, v24
-; SI-NEXT: v_writelane_b32 v56, s4, 15
+; SI-NEXT: v_writelane_b32 v56, s4, 18
; SI-NEXT: v_readfirstlane_b32 s4, v23
-; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:332
-; SI-NEXT: s_mov_b32 s6, s19
-; SI-NEXT: v_writelane_b32 v56, s4, 16
+; SI-NEXT: v_writelane_b32 v56, s4, 19
; SI-NEXT: v_readfirstlane_b32 s4, v22
-; SI-NEXT: v_readfirstlane_b32 s19, v18
-; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:328
-; SI-NEXT: v_writelane_b32 v56, s4, 17
+; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:332
+; SI-NEXT: v_writelane_b32 v56, s4, 20
; SI-NEXT: v_readfirstlane_b32 s4, v21
-; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:324
-; SI-NEXT: v_writelane_b32 v56, s4, 18
+; SI-NEXT: v_writelane_b32 v56, s4, 21
; SI-NEXT: v_readfirstlane_b32 s4, v20
-; SI-NEXT: v_writelane_b32 v56, s4, 19
+; SI-NEXT: v_writelane_b32 v56, s4, 22
; SI-NEXT: v_readfirstlane_b32 s4, v19
-; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:320
-; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:316
-; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:312
-; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:308
-; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:304
-; SI-NEXT: v_writelane_b32 v56, s4, 20
-; SI-NEXT: v_readfirstlane_b32 s75, v15
-; SI-NEXT: v_readfirstlane_b32 s44, v16
-; SI-NEXT: v_readfirstlane_b32 s27, v12
-; SI-NEXT: v_readfirstlane_b32 s52, v0
-; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:244
-; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:240
-; SI-NEXT: v_readfirstlane_b32 s89, v10
-; SI-NEXT: v_readfirstlane_b32 s62, v9
-; SI-NEXT: v_readfirstlane_b32 s92, v17
-; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:300
-; SI-NEXT: v_readfirstlane_b32 s88, v14
-; SI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:296
-; SI-NEXT: v_readfirstlane_b32 s59, v13
-; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:292
-; SI-NEXT: v_readfirstlane_b32 s77, v11
-; SI-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:288
-; SI-NEXT: s_mov_b32 s7, s20
-; SI-NEXT: v_readfirstlane_b32 s79, v8
-; SI-NEXT: v_readfirstlane_b32 s12, v7
-; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:284
-; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:264
-; SI-NEXT: v_readfirstlane_b32 s46, v6
+; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:328
+; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:324
+; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:320
+; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:316
+; SI-NEXT: v_writelane_b32 v56, s4, 23
+; SI-NEXT: v_readfirstlane_b32 s4, v18
+; SI-NEXT: v_writelane_b32 v56, s4, 24
+; SI-NEXT: v_readfirstlane_b32 s4, v17
+; SI-NEXT: v_writelane_b32 v56, s4, 25
+; SI-NEXT: v_readfirstlane_b32 s4, v16
+; SI-NEXT: v_writelane_b32 v56, s4, 26
+; SI-NEXT: v_readfirstlane_b32 s4, v15
+; SI-NEXT: v_writelane_b32 v56, s4, 27
+; SI-NEXT: v_readfirstlane_b32 s4, v14
+; SI-NEXT: v_writelane_b32 v56, s4, 28
+; SI-NEXT: v_readfirstlane_b32 s4, v13
+; SI-NEXT: v_writelane_b32 v56, s4, 29
+; SI-NEXT: v_readfirstlane_b32 s4, v12
+; SI-NEXT: v_writelane_b32 v56, s4, 30
+; SI-NEXT: v_readfirstlane_b32 s4, v11
+; SI-NEXT: v_writelane_b32 v56, s4, 31
+; SI-NEXT: v_readfirstlane_b32 s4, v10
+; SI-NEXT: v_writelane_b32 v56, s4, 32
+; SI-NEXT: v_readfirstlane_b32 s4, v9
+; SI-NEXT: v_writelane_b32 v56, s4, 33
+; SI-NEXT: s_mov_b32 s9, s16
+; SI-NEXT: v_readfirstlane_b32 s93, v8
+; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:288
+; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:264
+; SI-NEXT: v_readfirstlane_b32 s94, v7
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:284
+; SI-NEXT: v_readfirstlane_b32 s18, v6
; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:280
-; SI-NEXT: v_readfirstlane_b32 s22, v5
+; SI-NEXT: v_readfirstlane_b32 s16, v5
; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:276
-; SI-NEXT: v_readfirstlane_b32 s36, v4
+; SI-NEXT: v_readfirstlane_b32 s22, v4
; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:272
-; SI-NEXT: v_readfirstlane_b32 s20, v3
+; SI-NEXT: v_readfirstlane_b32 s52, v3
; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:268
+; SI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:312
+; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:308
+; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:304
+; SI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:300
+; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:296
+; SI-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:292
+; SI-NEXT: v_readfirstlane_b32 s51, v0
+; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:244
+; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:240
; SI-NEXT: ; implicit-def: $vgpr47 : SGPR spill to VGPR lane
+; SI-NEXT: s_mov_b32 s11, s17
; SI-NEXT: ; implicit-def: $vgpr46 : SGPR spill to VGPR lane
; SI-NEXT: s_waitcnt vmcnt(14)
-; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v23
+; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v22
; SI-NEXT: s_and_b64 s[4:5], vcc, exec
; SI-NEXT: v_readfirstlane_b32 vcc_lo, v1
-; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:256
+; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:256
; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:252
-; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:248
+; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:248
; SI-NEXT: v_readfirstlane_b32 vcc_hi, v2
-; SI-NEXT: v_readfirstlane_b32 s83, v18
-; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:236
-; SI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:232
; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:260
-; SI-NEXT: v_readfirstlane_b32 s4, v21
-; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:228
-; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:224
-; SI-NEXT: v_readfirstlane_b32 s51, v19
-; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:220
-; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:216
-; SI-NEXT: v_readfirstlane_b32 s10, v25
-; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:212
-; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:208
+; SI-NEXT: v_readfirstlane_b32 s69, v19
+; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:236
+; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:232
+; SI-NEXT: v_readfirstlane_b32 s37, v23
+; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:220
+; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:216
+; SI-NEXT: v_readfirstlane_b32 s49, v20
+; SI-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:212
+; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:208
+; SI-NEXT: v_readfirstlane_b32 s55, v21
+; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:228
+; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:224
+; SI-NEXT: v_readfirstlane_b32 s41, v8
; SI-NEXT: s_waitcnt vmcnt(14)
-; SI-NEXT: v_readfirstlane_b32 s8, v22
-; SI-NEXT: v_writelane_b32 v56, s8, 21
-; SI-NEXT: v_readfirstlane_b32 s8, v20
-; SI-NEXT: v_writelane_b32 v56, s8, 22
-; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:188
-; SI-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:184
-; SI-NEXT: v_readfirstlane_b32 s39, v12
-; SI-NEXT: v_readfirstlane_b32 s31, v0
-; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:60
-; SI-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:56
-; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:68
-; SI-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:64
-; SI-NEXT: v_readfirstlane_b32 s5, v24
-; SI-NEXT: v_readfirstlane_b32 s8, v17
-; SI-NEXT: v_writelane_b32 v56, s8, 23
-; SI-NEXT: v_readfirstlane_b32 s8, v14
-; SI-NEXT: v_writelane_b32 v56, s8, 24
-; SI-NEXT: v_readfirstlane_b32 s8, v13
-; SI-NEXT: v_writelane_b32 v56, s8, 25
-; SI-NEXT: v_readfirstlane_b32 s8, v11
-; SI-NEXT: v_writelane_b32 v56, s8, 26
-; SI-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:156
-; SI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:152
-; SI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:172
-; SI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:168
-; SI-NEXT: v_readfirstlane_b32 s8, v8
-; SI-NEXT: v_readfirstlane_b32 s37, v7
-; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:108
+; SI-NEXT: v_readfirstlane_b32 s92, v9
+; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:108
; SI-NEXT: buffer_load_dword v39, off, s[0:3], s32 offset:104
-; SI-NEXT: v_writelane_b32 v56, s8, 27
-; SI-NEXT: v_readfirstlane_b32 s8, v6
-; SI-NEXT: v_writelane_b32 v56, s8, 28
-; SI-NEXT: v_readfirstlane_b32 s8, v5
-; SI-NEXT: v_writelane_b32 v56, s8, 29
-; SI-NEXT: s_waitcnt vmcnt(14)
-; SI-NEXT: v_readfirstlane_b32 s8, v4
-; SI-NEXT: v_writelane_b32 v56, s8, 30
-; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:124
-; SI-NEXT: buffer_load_dword v37, off, s[0:3], s32 offset:120
-; SI-NEXT: v_readfirstlane_b32 s8, v3
-; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:116
-; SI-NEXT: buffer_load_dword v38, off, s[0:3], s32 offset:112
+; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:156
+; SI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:152
+; SI-NEXT: v_readfirstlane_b32 s68, v7
+; SI-NEXT: v_readfirstlane_b32 s23, v6
; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:140
; SI-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:136
+; SI-NEXT: v_readfirstlane_b32 s76, v5
; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:132
; SI-NEXT: buffer_load_dword v36, off, s[0:3], s32 offset:128
-; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:148
+; SI-NEXT: v_readfirstlane_b32 s73, v4
+; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:124
+; SI-NEXT: buffer_load_dword v37, off, s[0:3], s32 offset:120
+; SI-NEXT: v_readfirstlane_b32 s53, v3
+; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:116
+; SI-NEXT: buffer_load_dword v38, off, s[0:3], s32 offset:112
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:148
; SI-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:144
-; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:164
+; SI-NEXT: v_readfirstlane_b32 s95, v12
+; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:188
+; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:184
+; SI-NEXT: v_readfirstlane_b32 s38, v10
+; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:172
+; SI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:168
+; SI-NEXT: v_readfirstlane_b32 s26, v11
+; SI-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:164
; SI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:160
-; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:180
+; SI-NEXT: v_readfirstlane_b32 s91, v15
+; SI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:180
; SI-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:176
-; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:204
+; SI-NEXT: v_readfirstlane_b32 s64, v14
+; SI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:204
; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:200
-; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:196
+; SI-NEXT: v_readfirstlane_b32 s54, v13
+; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:196
; SI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:192
-; SI-NEXT: v_writelane_b32 v56, s8, 31
-; SI-NEXT: v_readfirstlane_b32 s85, v9
-; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:92
-; SI-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:88
-; SI-NEXT: v_readfirstlane_b32 s35, v10
-; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:76
-; SI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:72
-; SI-NEXT: v_readfirstlane_b32 s48, v18
-; SI-NEXT: v_readfirstlane_b32 s63, v15
-; SI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:44
-; SI-NEXT: buffer_load_dword v55, off, s[0:3], s32 offset:40
-; SI-NEXT: v_readfirstlane_b32 s38, v21
-; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:36
-; SI-NEXT: s_waitcnt expcnt(4)
-; SI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:32
+; SI-NEXT: s_waitcnt vmcnt(14)
+; SI-NEXT: v_readfirstlane_b32 s89, v0
+; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:60
+; SI-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:56
+; SI-NEXT: v_readfirstlane_b32 s72, v18
+; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:68
+; SI-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:64
; SI-NEXT: v_readfirstlane_b32 s30, v16
-; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:28
-; SI-NEXT: s_waitcnt expcnt(3)
-; SI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:24
-; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:52
-; SI-NEXT: buffer_load_dword v54, off, s[0:3], s32 offset:48
-; SI-NEXT: v_readfirstlane_b32 s82, v1
+; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:92
+; SI-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:88
+; SI-NEXT: v_readfirstlane_b32 s90, v1
; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:84
; SI-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:80
-; SI-NEXT: v_readfirstlane_b32 s78, v2
+; SI-NEXT: v_readfirstlane_b32 s31, v17
+; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:76
+; SI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:72
+; SI-NEXT: v_readfirstlane_b32 s28, v2
; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:100
; SI-NEXT: buffer_load_dword v48, off, s[0:3], s32 offset:96
-; SI-NEXT: v_readfirstlane_b32 s86, v19
-; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:12
+; SI-NEXT: v_readfirstlane_b32 s19, v22
+; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:52
+; SI-NEXT: buffer_load_dword v54, off, s[0:3], s32 offset:48
+; SI-NEXT: v_readfirstlane_b32 s66, v23
+; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:12
; SI-NEXT: s_waitcnt expcnt(1)
; SI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:8
-; SI-NEXT: s_waitcnt vmcnt(14)
-; SI-NEXT: v_readfirstlane_b32 s61, v28
-; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:4
+; SI-NEXT: v_readfirstlane_b32 s88, v29
+; SI-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:4
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: buffer_load_dword v44, off, s[0:3], s32
-; SI-NEXT: v_readfirstlane_b32 s84, v23
-; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:20
+; SI-NEXT: v_readfirstlane_b32 s21, v21
+; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:28
+; SI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:24
+; SI-NEXT: v_readfirstlane_b32 s78, v25
+; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:20
; SI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:16
-; SI-NEXT: v_readfirstlane_b32 s11, v0
-; SI-NEXT: v_readfirstlane_b32 s8, v53
-; SI-NEXT: v_readfirstlane_b32 s24, v12
-; SI-NEXT: v_readfirstlane_b32 s29, v52
-; SI-NEXT: v_readfirstlane_b32 s97, v29
-; SI-NEXT: v_readfirstlane_b32 s98, v20
-; SI-NEXT: v_readfirstlane_b32 s49, v25
-; SI-NEXT: v_readfirstlane_b32 s73, v11
-; SI-NEXT: v_readfirstlane_b32 s96, v33
-; SI-NEXT: v_readfirstlane_b32 s26, v31
-; SI-NEXT: v_readfirstlane_b32 s94, v14
-; SI-NEXT: v_readfirstlane_b32 s72, v7
-; SI-NEXT: v_readfirstlane_b32 s58, v39
-; SI-NEXT: v_readfirstlane_b32 s81, v4
+; SI-NEXT: v_readfirstlane_b32 s77, v19
+; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:44
+; SI-NEXT: buffer_load_dword v55, off, s[0:3], s32 offset:40
+; SI-NEXT: v_readfirstlane_b32 s27, v24
+; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:36
+; SI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:32
+; SI-NEXT: v_readfirstlane_b32 s36, v20
+; SI-NEXT: v_readfirstlane_b32 s75, v9
+; SI-NEXT: v_readfirstlane_b32 s57, v39
+; SI-NEXT: v_readfirstlane_b32 s48, v33
+; SI-NEXT: v_readfirstlane_b32 s24, v8
+; SI-NEXT: v_readfirstlane_b32 s46, v6
+; SI-NEXT: v_readfirstlane_b32 s61, v35
+; SI-NEXT: v_readfirstlane_b32 s79, v5
+; SI-NEXT: v_readfirstlane_b32 s25, v36
+; SI-NEXT: v_readfirstlane_b32 s42, v4
; SI-NEXT: v_readfirstlane_b32 s60, v37
-; SI-NEXT: v_readfirstlane_b32 s47, v3
-; SI-NEXT: v_readfirstlane_b32 s76, v38
-; SI-NEXT: v_readfirstlane_b32 s91, v5
-; SI-NEXT: v_readfirstlane_b32 s21, v35
-; SI-NEXT: v_readfirstlane_b32 s57, v36
-; SI-NEXT: v_readfirstlane_b32 s87, v8
-; SI-NEXT: v_readfirstlane_b32 s99, v34
-; SI-NEXT: v_readfirstlane_b32 s90, v6
-; SI-NEXT: v_readfirstlane_b32 s28, v13
-; SI-NEXT: v_readfirstlane_b32 s25, v32
-; SI-NEXT: v_readfirstlane_b32 s74, v17
-; SI-NEXT: v_readfirstlane_b32 s93, v30
-; SI-NEXT: v_readfirstlane_b32 s23, v22
-; SI-NEXT: v_readfirstlane_b32 s50, v26
-; SI-NEXT: v_readfirstlane_b32 s95, v27
-; SI-NEXT: v_readfirstlane_b32 s34, v24
-; SI-NEXT: v_readfirstlane_b32 s45, v9
-; SI-NEXT: v_readfirstlane_b32 s15, v49
-; SI-NEXT: v_readfirstlane_b32 s56, v10
-; SI-NEXT: v_readfirstlane_b32 s13, v51
+; SI-NEXT: v_readfirstlane_b32 s59, v3
+; SI-NEXT: v_readfirstlane_b32 s62, v38
; SI-NEXT: s_waitcnt vmcnt(14)
-; SI-NEXT: v_readfirstlane_b32 s9, v15
-; SI-NEXT: v_readfirstlane_b32 s69, v55
-; SI-NEXT: v_readfirstlane_b32 s68, v21
-; SI-NEXT: v_writelane_b32 v47, s68, 0
-; SI-NEXT: v_readfirstlane_b32 s70, v40
-; SI-NEXT: v_writelane_b32 v47, s69, 1
-; SI-NEXT: s_waitcnt vmcnt(13)
-; SI-NEXT: v_readfirstlane_b32 s71, v16
-; SI-NEXT: v_writelane_b32 v47, s70, 2
-; SI-NEXT: s_waitcnt vmcnt(11)
-; SI-NEXT: v_readfirstlane_b32 s80, v18
-; SI-NEXT: v_writelane_b32 v47, s71, 3
-; SI-NEXT: v_writelane_b32 v47, s80, 4
-; SI-NEXT: v_writelane_b32 v47, s8, 5
-; SI-NEXT: v_writelane_b32 v47, s9, 6
-; SI-NEXT: v_writelane_b32 v47, s24, 7
-; SI-NEXT: v_writelane_b32 v47, s13, 8
-; SI-NEXT: v_writelane_b32 v47, s29, 9
-; SI-NEXT: s_waitcnt vmcnt(9)
-; SI-NEXT: v_readfirstlane_b32 s14, v1
-; SI-NEXT: v_writelane_b32 v47, s11, 10
-; SI-NEXT: v_writelane_b32 v47, s14, 11
-; SI-NEXT: s_waitcnt vmcnt(8)
-; SI-NEXT: v_readfirstlane_b32 s40, v50
-; SI-NEXT: v_writelane_b32 v47, s15, 12
-; SI-NEXT: v_writelane_b32 v47, s40, 13
-; SI-NEXT: s_waitcnt vmcnt(7)
-; SI-NEXT: v_readfirstlane_b32 s42, v2
-; SI-NEXT: v_writelane_b32 v47, s56, 14
+; SI-NEXT: v_readfirstlane_b32 s39, v7
+; SI-NEXT: v_readfirstlane_b32 s70, v34
+; SI-NEXT: v_readfirstlane_b32 s74, v28
+; SI-NEXT: v_readfirstlane_b32 s35, v10
+; SI-NEXT: v_readfirstlane_b32 s44, v31
+; SI-NEXT: v_readfirstlane_b32 s40, v11
+; SI-NEXT: v_readfirstlane_b32 s12, v32
+; SI-NEXT: v_readfirstlane_b32 s17, v15
+; SI-NEXT: v_readfirstlane_b32 s34, v30
+; SI-NEXT: v_readfirstlane_b32 s20, v12
+; SI-NEXT: v_readfirstlane_b32 s65, v26
+; SI-NEXT: v_readfirstlane_b32 s50, v13
+; SI-NEXT: v_readfirstlane_b32 s67, v27
+; SI-NEXT: v_readfirstlane_b32 s7, v14
+; SI-NEXT: v_readfirstlane_b32 s99, v53
+; SI-NEXT: v_readfirstlane_b32 s29, v18
+; SI-NEXT: v_readfirstlane_b32 s10, v52
+; SI-NEXT: v_readfirstlane_b32 s15, v0
+; SI-NEXT: v_readfirstlane_b32 s58, v16
+; SI-NEXT: v_readfirstlane_b32 s13, v49
+; SI-NEXT: v_readfirstlane_b32 s45, v1
+; SI-NEXT: v_writelane_b32 v47, s45, 0
+; SI-NEXT: v_readfirstlane_b32 s43, v50
+; SI-NEXT: v_writelane_b32 v47, s13, 1
+; SI-NEXT: v_readfirstlane_b32 s47, v17
+; SI-NEXT: v_writelane_b32 v47, s43, 2
+; SI-NEXT: v_readfirstlane_b32 s56, v2
+; SI-NEXT: v_writelane_b32 v47, s47, 3
+; SI-NEXT: v_writelane_b32 v47, s56, 4
+; SI-NEXT: v_readfirstlane_b32 s63, v48
+; SI-NEXT: v_writelane_b32 v47, s57, 5
+; SI-NEXT: v_writelane_b32 v47, s63, 6
+; SI-NEXT: v_writelane_b32 v47, s58, 7
+; SI-NEXT: v_writelane_b32 v47, s59, 8
+; SI-NEXT: v_writelane_b32 v47, s60, 9
+; SI-NEXT: v_writelane_b32 v47, s62, 10
+; SI-NEXT: v_writelane_b32 v47, s75, 11
+; SI-NEXT: v_writelane_b32 v47, s79, 12
+; SI-NEXT: v_writelane_b32 v47, s61, 13
+; SI-NEXT: v_writelane_b32 v47, s25, 14
; SI-NEXT: v_writelane_b32 v47, s42, 15
-; SI-NEXT: s_waitcnt vmcnt(6)
-; SI-NEXT: v_readfirstlane_b32 s43, v48
-; SI-NEXT: v_writelane_b32 v47, s58, 16
-; SI-NEXT: v_writelane_b32 v47, s43, 17
-; SI-NEXT: v_writelane_b32 v47, s45, 18
-; SI-NEXT: v_writelane_b32 v47, s47, 19
-; SI-NEXT: v_writelane_b32 v47, s60, 20
-; SI-NEXT: v_writelane_b32 v47, s76, 21
-; SI-NEXT: v_writelane_b32 v47, s72, 22
-; SI-NEXT: v_writelane_b32 v47, s91, 23
-; SI-NEXT: v_writelane_b32 v47, s21, 24
-; SI-NEXT: v_writelane_b32 v47, s57, 25
-; SI-NEXT: v_readfirstlane_b32 s41, v54
-; SI-NEXT: v_writelane_b32 v47, s81, 26
-; SI-NEXT: v_writelane_b32 v56, s41, 32
-; SI-NEXT: v_writelane_b32 v47, s87, 27
-; SI-NEXT: v_writelane_b32 v56, s18, 33
-; SI-NEXT: v_writelane_b32 v47, s96, 28
+; SI-NEXT: v_writelane_b32 v47, s38, 16
+; SI-NEXT: v_writelane_b32 v47, s95, 17
+; SI-NEXT: v_writelane_b32 v47, s26, 18
+; SI-NEXT: v_writelane_b32 v47, s39, 19
+; SI-NEXT: v_writelane_b32 v47, s48, 20
+; SI-NEXT: v_writelane_b32 v47, s23, 21
+; SI-NEXT: v_writelane_b32 v47, s91, 22
+; SI-NEXT: v_writelane_b32 v47, s70, 23
+; SI-NEXT: v_writelane_b32 v47, s76, 24
+; SI-NEXT: v_writelane_b32 v47, s46, 25
+; SI-NEXT: v_writelane_b32 v47, s41, 26
+; SI-NEXT: s_waitcnt vmcnt(12)
+; SI-NEXT: v_readfirstlane_b32 s6, v54
+; SI-NEXT: v_writelane_b32 v47, s40, 27
; SI-NEXT: v_writelane_b32 v56, s6, 34
-; SI-NEXT: v_writelane_b32 v47, s99, 29
-; SI-NEXT: v_writelane_b32 v56, s17, 35
-; SI-NEXT: v_writelane_b32 v47, s90, 30
-; SI-NEXT: v_writelane_b32 v56, s16, 36
-; SI-NEXT: v_writelane_b32 v47, s28, 31
-; SI-NEXT: v_writelane_b32 v56, s7, 37
-; SI-NEXT: v_writelane_b32 v47, s26, 32
-; SI-NEXT: v_writelane_b32 v56, s92, 38
-; SI-NEXT: v_writelane_b32 v47, s37, 33
-; SI-NEXT: v_writelane_b32 v56, s44, 39
-; SI-NEXT: v_writelane_b32 v47, s25, 34
-; SI-NEXT: v_writelane_b32 v56, s59, 40
-; SI-NEXT: v_writelane_b32 v47, s78, 35
-; SI-NEXT: v_writelane_b32 v56, s27, 41
-; SI-NEXT: v_writelane_b32 v47, s73, 36
-; SI-NEXT: v_writelane_b32 v56, s62, 42
-; SI-NEXT: v_writelane_b32 v47, s74, 37
-; SI-NEXT: v_writelane_b32 v56, s79, 43
-; SI-NEXT: v_writelane_b32 v47, s97, 38
-; SI-NEXT: v_writelane_b32 v56, s22, 44
-; SI-NEXT: v_writelane_b32 v47, s35, 39
-; SI-NEXT: v_writelane_b32 v56, s75, 45
-; SI-NEXT: v_writelane_b32 v47, s39, 40
-; SI-NEXT: v_writelane_b32 v56, s36, 46
-; SI-NEXT: v_writelane_b32 v47, s85, 41
-; SI-NEXT: v_writelane_b32 v56, s19, 47
-; SI-NEXT: v_writelane_b32 v47, s93, 42
-; SI-NEXT: v_writelane_b32 v56, s77, 48
-; SI-NEXT: v_writelane_b32 v47, s63, 43
-; SI-NEXT: v_writelane_b32 v56, s88, 49
-; SI-NEXT: v_writelane_b32 v47, s86, 44
-; SI-NEXT: v_writelane_b32 v56, s12, 50
-; SI-NEXT: v_writelane_b32 v47, s94, 45
-; SI-NEXT: v_writelane_b32 v56, s89, 51
-; SI-NEXT: v_writelane_b32 v47, s38, 46
-; SI-NEXT: v_writelane_b32 v56, s46, 52
-; SI-NEXT: v_writelane_b32 v47, s61, 47
-; SI-NEXT: v_writelane_b32 v56, s20, 53
-; SI-NEXT: v_writelane_b32 v47, s23, 48
-; SI-NEXT: v_writelane_b32 v56, vcc_lo, 54
-; SI-NEXT: v_writelane_b32 v47, s50, 49
-; SI-NEXT: v_writelane_b32 v56, vcc_hi, 55
-; SI-NEXT: v_writelane_b32 v47, s82, 50
-; SI-NEXT: s_waitcnt vmcnt(3)
-; SI-NEXT: v_readfirstlane_b32 s53, v28
-; SI-NEXT: v_writelane_b32 v56, s52, 56
-; SI-NEXT: v_writelane_b32 v47, s31, 51
-; SI-NEXT: v_readfirstlane_b32 s54, v43
-; SI-NEXT: v_writelane_b32 v56, s53, 57
-; SI-NEXT: v_writelane_b32 v47, s95, 52
-; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_readfirstlane_b32 s55, v44
-; SI-NEXT: v_writelane_b32 v56, s54, 58
-; SI-NEXT: v_writelane_b32 v47, s30, 53
-; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_readfirstlane_b32 s64, v23
-; SI-NEXT: v_writelane_b32 v56, s55, 59
-; SI-NEXT: v_writelane_b32 v47, s98, 54
-; SI-NEXT: v_readfirstlane_b32 s65, v41
-; SI-NEXT: v_writelane_b32 v56, s64, 60
-; SI-NEXT: v_writelane_b32 v47, s48, 55
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_readfirstlane_b32 s66, v42
-; SI-NEXT: v_writelane_b32 v56, s65, 61
-; SI-NEXT: v_writelane_b32 v47, s84, 56
-; SI-NEXT: v_readfirstlane_b32 s67, v19
-; SI-NEXT: v_writelane_b32 v56, s66, 62
-; SI-NEXT: v_writelane_b32 v47, s49, 57
-; SI-NEXT: v_writelane_b32 v56, s67, 63
-; SI-NEXT: v_writelane_b32 v47, s34, 58
+; SI-NEXT: v_writelane_b32 v47, s44, 28
+; SI-NEXT: v_writelane_b32 v56, s11, 35
+; SI-NEXT: v_writelane_b32 v47, s92, 29
+; SI-NEXT: v_writelane_b32 v56, s9, 36
+; SI-NEXT: v_writelane_b32 v47, s68, 30
+; SI-NEXT: v_writelane_b32 v56, s93, 37
+; SI-NEXT: v_writelane_b32 v47, s12, 31
+; SI-NEXT: v_writelane_b32 v56, s16, 38
+; SI-NEXT: v_writelane_b32 v47, s28, 32
+; SI-NEXT: v_writelane_b32 v56, s22, 39
+; SI-NEXT: v_writelane_b32 v47, s73, 33
+; SI-NEXT: v_writelane_b32 v56, s94, 40
+; SI-NEXT: v_writelane_b32 v47, s24, 34
+; SI-NEXT: v_writelane_b32 v56, s18, 41
+; SI-NEXT: v_writelane_b32 v47, s17, 35
+; SI-NEXT: v_writelane_b32 v56, s52, 42
+; SI-NEXT: v_writelane_b32 v47, s74, 36
+; SI-NEXT: v_writelane_b32 v56, vcc_lo, 43
+; SI-NEXT: v_writelane_b32 v47, s31, 37
+; SI-NEXT: v_writelane_b32 v56, vcc_hi, 44
+; SI-NEXT: v_writelane_b32 v47, s53, 38
+; SI-NEXT: s_waitcnt vmcnt(9)
+; SI-NEXT: v_readfirstlane_b32 s71, v29
+; SI-NEXT: v_writelane_b32 v56, s51, 45
+; SI-NEXT: v_writelane_b32 v47, s72, 39
+; SI-NEXT: v_readfirstlane_b32 s80, v43
+; SI-NEXT: v_writelane_b32 v56, s71, 46
+; SI-NEXT: v_writelane_b32 v47, s30, 40
+; SI-NEXT: s_waitcnt vmcnt(8)
+; SI-NEXT: v_readfirstlane_b32 s81, v44
+; SI-NEXT: v_writelane_b32 v56, s80, 47
+; SI-NEXT: v_writelane_b32 v47, s34, 41
+; SI-NEXT: s_waitcnt vmcnt(5)
+; SI-NEXT: v_readfirstlane_b32 s82, v25
+; SI-NEXT: v_writelane_b32 v56, s81, 48
+; SI-NEXT: v_writelane_b32 v47, s77, 42
+; SI-NEXT: v_readfirstlane_b32 s83, v41
+; SI-NEXT: v_writelane_b32 v56, s82, 49
+; SI-NEXT: v_writelane_b32 v47, s66, 43
+; SI-NEXT: s_waitcnt vmcnt(4)
+; SI-NEXT: v_readfirstlane_b32 s84, v42
+; SI-NEXT: v_writelane_b32 v56, s83, 50
+; SI-NEXT: v_writelane_b32 v47, s35, 44
+; SI-NEXT: v_readfirstlane_b32 s85, v23
+; SI-NEXT: v_writelane_b32 v56, s84, 51
+; SI-NEXT: v_writelane_b32 v47, s27, 45
+; SI-NEXT: s_waitcnt vmcnt(1)
+; SI-NEXT: v_readfirstlane_b32 s86, v24
+; SI-NEXT: v_writelane_b32 v56, s85, 52
+; SI-NEXT: v_writelane_b32 v47, s88, 46
+; SI-NEXT: v_readfirstlane_b32 s87, v55
+; SI-NEXT: v_writelane_b32 v56, s86, 53
+; SI-NEXT: v_writelane_b32 v47, s50, 47
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_readfirstlane_b32 s96, v40
+; SI-NEXT: v_writelane_b32 v56, s87, 54
+; SI-NEXT: v_writelane_b32 v47, s65, 48
+; SI-NEXT: v_readfirstlane_b32 s97, v21
+; SI-NEXT: v_writelane_b32 v56, s96, 55
+; SI-NEXT: v_writelane_b32 v47, s90, 49
+; SI-NEXT: v_readfirstlane_b32 s98, v22
+; SI-NEXT: v_writelane_b32 v56, s97, 56
+; SI-NEXT: v_writelane_b32 v47, s89, 50
+; SI-NEXT: v_writelane_b32 v56, s98, 57
+; SI-NEXT: v_writelane_b32 v47, s67, 51
+; SI-NEXT: v_readfirstlane_b32 s8, v19
+; SI-NEXT: v_writelane_b32 v56, s99, 58
+; SI-NEXT: v_writelane_b32 v47, s21, 52
+; SI-NEXT: v_writelane_b32 v56, s8, 59
+; SI-NEXT: v_writelane_b32 v47, s20, 53
+; SI-NEXT: v_readfirstlane_b32 s14, v51
+; SI-NEXT: v_writelane_b32 v56, s29, 60
+; SI-NEXT: v_writelane_b32 v47, s19, 54
+; SI-NEXT: v_writelane_b32 v56, s14, 61
+; SI-NEXT: v_writelane_b32 v47, s78, 55
+; SI-NEXT: v_writelane_b32 v56, s10, 62
+; SI-NEXT: v_writelane_b32 v47, s36, 56
+; SI-NEXT: v_writelane_b32 v56, s15, 63
+; SI-NEXT: v_writelane_b32 v47, s7, 57
; SI-NEXT: s_cbranch_scc0 .LBB89_2
; SI-NEXT: ; %bb.1: ; %cmp.false
-; SI-NEXT: v_writelane_b32 v46, s83, 7
-; SI-NEXT: v_writelane_b32 v46, s4, 8
-; SI-NEXT: s_and_b32 s4, s16, 0xff
+; SI-NEXT: s_and_b32 s4, s9, 0xff
; SI-NEXT: s_lshl_b32 s4, s4, 16
-; SI-NEXT: s_mov_b32 s83, s51
-; SI-NEXT: s_mov_b32 s51, s10
-; SI-NEXT: s_mov_b32 s10, s5
-; SI-NEXT: s_lshl_b32 s5, s17, 24
+; SI-NEXT: s_lshl_b32 s5, s11, 24
; SI-NEXT: s_or_b32 s4, s5, s4
-; SI-NEXT: v_writelane_b32 v47, s4, 59
-; SI-NEXT: s_and_b32 s4, s18, 0xff
+; SI-NEXT: v_writelane_b32 v47, s4, 58
+; SI-NEXT: v_readlane_b32 s4, v56, 11
+; SI-NEXT: s_and_b32 s4, s4, 0xff
+; SI-NEXT: v_readlane_b32 s5, v56, 10
; SI-NEXT: s_lshl_b32 s4, s4, 16
-; SI-NEXT: s_lshl_b32 s5, s6, 24
+; SI-NEXT: s_lshl_b32 s5, s5, 24
; SI-NEXT: s_or_b32 s4, s5, s4
-; SI-NEXT: v_readlane_b32 s5, v56, 8
; SI-NEXT: v_writelane_b32 v47, s4, 60
-; SI-NEXT: s_and_b32 s4, s7, 0xff
+; SI-NEXT: v_readlane_b32 s4, v56, 9
+; SI-NEXT: v_readlane_b32 s5, v56, 8
+; SI-NEXT: s_and_b32 s4, s4, 0xff
; SI-NEXT: s_lshl_b32 s5, s5, 8
; SI-NEXT: s_or_b32 s4, s4, s5
-; SI-NEXT: v_writelane_b32 v46, s4, 9
-; SI-NEXT: v_readlane_b32 s4, v56, 7
-; SI-NEXT: s_and_b32 s5, s4, 0xff
-; SI-NEXT: v_readlane_b32 s4, v56, 6
-; SI-NEXT: s_lshl_b32 s5, s5, 16
-; SI-NEXT: s_lshl_b32 s6, s4, 24
-; SI-NEXT: s_or_b32 s5, s6, s5
-; SI-NEXT: v_readlane_b32 s4, v56, 5
-; SI-NEXT: v_writelane_b32 v47, s5, 62
-; SI-NEXT: s_and_b32 s5, s4, 0xff
-; SI-NEXT: v_readlane_b32 s4, v56, 4
+; SI-NEXT: v_readlane_b32 s5, v56, 7
+; SI-NEXT: s_and_b32 s5, s5, 0xff
+; SI-NEXT: v_readlane_b32 s9, v56, 6
; SI-NEXT: s_lshl_b32 s5, s5, 16
-; SI-NEXT: s_lshl_b32 s6, s4, 24
-; SI-NEXT: s_or_b32 s5, s6, s5
-; SI-NEXT: v_readlane_b32 s4, v56, 3
+; SI-NEXT: s_lshl_b32 s9, s9, 24
+; SI-NEXT: s_or_b32 s5, s9, s5
; SI-NEXT: v_writelane_b32 v47, s5, 61
-; SI-NEXT: s_and_b32 s5, s4, 0xff
-; SI-NEXT: v_readlane_b32 s4, v56, 2
+; SI-NEXT: v_readlane_b32 s5, v56, 5
+; SI-NEXT: s_and_b32 s5, s5, 0xff
+; SI-NEXT: v_readlane_b32 s9, v56, 4
; SI-NEXT: s_lshl_b32 s5, s5, 16
-; SI-NEXT: s_lshl_b32 s6, s4, 24
-; SI-NEXT: s_or_b32 s5, s6, s5
-; SI-NEXT: v_readlane_b32 s4, v56, 1
-; SI-NEXT: v_writelane_b32 v47, s5, 63
-; SI-NEXT: s_and_b32 s5, s4, 0xff
-; SI-NEXT: v_readlane_b32 s4, v56, 0
-; SI-NEXT: s_lshl_b32 s6, s4, 8
-; SI-NEXT: s_or_b32 s4, s5, s6
-; SI-NEXT: s_and_b32 s6, s52, 0xff
-; SI-NEXT: s_lshl_b32 s6, s6, 16
-; SI-NEXT: s_lshl_b32 s7, vcc_lo, 24
+; SI-NEXT: s_lshl_b32 s9, s9, 24
+; SI-NEXT: s_or_b32 s5, s9, s5
+; SI-NEXT: v_writelane_b32 v47, s5, 59
+; SI-NEXT: v_readlane_b32 s5, v56, 3
+; SI-NEXT: s_and_b32 s5, s5, 0xff
+; SI-NEXT: v_readlane_b32 s9, v56, 2
+; SI-NEXT: s_lshl_b32 s5, s5, 16
+; SI-NEXT: s_lshl_b32 s9, s9, 24
+; SI-NEXT: s_or_b32 s5, s9, s5
+; SI-NEXT: v_writelane_b32 v47, s5, 62
+; SI-NEXT: v_readlane_b32 s5, v56, 1
+; SI-NEXT: v_readlane_b32 s9, v56, 0
+; SI-NEXT: s_and_b32 s5, s5, 0xff
+; SI-NEXT: s_lshl_b32 s9, s9, 8
; SI-NEXT: v_writelane_b32 v46, s4, 10
-; SI-NEXT: s_or_b32 s6, s7, s6
-; SI-NEXT: v_writelane_b32 v46, s6, 1
-; SI-NEXT: s_and_b32 s6, vcc_hi, 0xff
+; SI-NEXT: s_or_b32 s4, s5, s9
+; SI-NEXT: s_and_b32 s9, s51, 0xff
+; SI-NEXT: s_lshl_b32 s9, s9, 16
+; SI-NEXT: s_lshl_b32 s11, vcc_lo, 24
+; SI-NEXT: v_writelane_b32 v46, s4, 11
+; SI-NEXT: s_or_b32 s4, s11, s9
+; SI-NEXT: s_and_b32 s9, vcc_hi, 0xff
+; SI-NEXT: s_lshl_b32 s9, s9, 16
+; SI-NEXT: s_lshl_b32 s11, s52, 24
+; SI-NEXT: s_or_b32 s52, s11, s9
+; SI-NEXT: s_and_b32 s9, s22, 0xff
+; SI-NEXT: s_lshl_b32 s9, s9, 16
+; SI-NEXT: s_lshl_b32 s11, s16, 24
+; SI-NEXT: s_or_b32 s9, s11, s9
+; SI-NEXT: v_writelane_b32 v46, s9, 1
+; SI-NEXT: s_and_b32 s9, s18, 0xff
+; SI-NEXT: s_lshl_b32 s11, s94, 8
+; SI-NEXT: v_writelane_b32 v47, s4, 63
+; SI-NEXT: s_or_b32 s51, s9, s11
+; SI-NEXT: s_and_b32 s9, s93, 0xff
+; SI-NEXT: v_readlane_b32 s4, v56, 33
+; SI-NEXT: s_lshl_b32 s9, s9, 16
+; SI-NEXT: s_lshl_b32 s11, s4, 24
+; SI-NEXT: s_or_b32 s9, s11, s9
+; SI-NEXT: v_readlane_b32 s4, v56, 32
+; SI-NEXT: v_writelane_b32 v46, s9, 2
+; SI-NEXT: s_and_b32 s9, s4, 0xff
+; SI-NEXT: v_readlane_b32 s11, v56, 31
+; SI-NEXT: s_lshl_b32 s9, s9, 16
+; SI-NEXT: s_lshl_b32 s11, s11, 24
+; SI-NEXT: s_or_b32 s9, s11, s9
+; SI-NEXT: v_writelane_b32 v46, s9, 0
+; SI-NEXT: v_readlane_b32 s9, v56, 30
+; SI-NEXT: s_and_b32 s9, s9, 0xff
+; SI-NEXT: v_readlane_b32 s11, v56, 29
+; SI-NEXT: s_lshl_b32 s9, s9, 16
+; SI-NEXT: s_lshl_b32 s11, s11, 24
+; SI-NEXT: s_or_b32 s9, s11, s9
+; SI-NEXT: v_writelane_b32 v46, s9, 4
+; SI-NEXT: v_readlane_b32 s9, v56, 28
+; SI-NEXT: v_readlane_b32 s11, v56, 27
+; SI-NEXT: s_and_b32 s9, s9, 0xff
+; SI-NEXT: s_lshl_b32 s11, s11, 8
+; SI-NEXT: s_or_b32 vcc_lo, s9, s11
+; SI-NEXT: v_readlane_b32 s9, v56, 26
+; SI-NEXT: s_and_b32 s9, s9, 0xff
+; SI-NEXT: v_readlane_b32 s11, v56, 25
+; SI-NEXT: s_lshl_b32 s9, s9, 16
+; SI-NEXT: s_lshl_b32 s11, s11, 24
+; SI-NEXT: s_or_b32 s9, s11, s9
+; SI-NEXT: v_writelane_b32 v46, s9, 5
+; SI-NEXT: v_readlane_b32 s9, v56, 24
+; SI-NEXT: s_and_b32 s9, s9, 0xff
+; SI-NEXT: v_readlane_b32 s11, v56, 23
+; SI-NEXT: s_lshl_b32 s9, s9, 16
+; SI-NEXT: s_lshl_b32 s11, s11, 24
+; SI-NEXT: s_or_b32 s9, s11, s9
+; SI-NEXT: v_writelane_b32 v46, s9, 3
+; SI-NEXT: v_readlane_b32 s9, v56, 22
+; SI-NEXT: s_and_b32 s9, s9, 0xff
+; SI-NEXT: v_readlane_b32 s11, v56, 21
+; SI-NEXT: s_lshl_b32 s9, s9, 16
+; SI-NEXT: s_lshl_b32 s11, s11, 24
+; SI-NEXT: s_or_b32 s9, s11, s9
+; SI-NEXT: v_writelane_b32 v46, s9, 7
+; SI-NEXT: v_readlane_b32 s9, v56, 20
+; SI-NEXT: v_readlane_b32 s11, v56, 19
+; SI-NEXT: s_and_b32 s9, s9, 0xff
+; SI-NEXT: s_lshl_b32 s11, s11, 8
+; SI-NEXT: s_or_b32 s5, s9, s11
+; SI-NEXT: v_readlane_b32 s9, v56, 18
+; SI-NEXT: s_and_b32 s9, s9, 0xff
+; SI-NEXT: v_readlane_b32 s11, v56, 17
+; SI-NEXT: s_lshl_b32 s9, s9, 16
+; SI-NEXT: s_lshl_b32 s11, s11, 24
+; SI-NEXT: s_or_b32 s9, s11, s9
+; SI-NEXT: v_writelane_b32 v46, s9, 8
+; SI-NEXT: v_readlane_b32 s9, v56, 16
+; SI-NEXT: s_and_b32 s9, s9, 0xff
+; SI-NEXT: v_readlane_b32 s11, v56, 15
+; SI-NEXT: s_lshl_b32 s9, s9, 16
+; SI-NEXT: s_lshl_b32 s11, s11, 24
+; SI-NEXT: s_or_b32 s9, s11, s9
+; SI-NEXT: v_writelane_b32 v46, s9, 6
+; SI-NEXT: v_readlane_b32 s9, v56, 14
+; SI-NEXT: s_and_b32 s9, s9, 0xff
+; SI-NEXT: v_readlane_b32 s11, v56, 13
+; SI-NEXT: s_lshl_b32 s9, s9, 16
+; SI-NEXT: s_lshl_b32 s11, s11, 24
+; SI-NEXT: s_or_b32 s9, s11, s9
+; SI-NEXT: v_writelane_b32 v46, s9, 9
+; SI-NEXT: v_readlane_b32 s9, v56, 12
+; SI-NEXT: s_and_b32 s9, s9, 0xff
+; SI-NEXT: s_lshl_b32 s11, s81, 8
+; SI-NEXT: s_or_b32 vcc_hi, s9, s11
+; SI-NEXT: s_and_b32 s9, s71, 0xff
+; SI-NEXT: s_lshl_b32 s9, s9, 16
+; SI-NEXT: s_lshl_b32 s11, s80, 24
+; SI-NEXT: s_or_b32 s71, s11, s9
+; SI-NEXT: s_and_b32 s9, s85, 0xff
+; SI-NEXT: s_lshl_b32 s9, s9, 16
+; SI-NEXT: s_lshl_b32 s11, s84, 24
+; SI-NEXT: s_or_b32 s80, s11, s9
+; SI-NEXT: s_and_b32 s9, s82, 0xff
+; SI-NEXT: s_lshl_b32 s9, s9, 16
+; SI-NEXT: s_lshl_b32 s11, s83, 24
+; SI-NEXT: s_or_b32 s81, s11, s9
+; SI-NEXT: s_and_b32 s9, s97, 0xff
+; SI-NEXT: s_lshl_b32 s11, s96, 8
+; SI-NEXT: s_or_b32 s4, s9, s11
+; SI-NEXT: s_and_b32 s9, s86, 0xff
+; SI-NEXT: s_lshl_b32 s9, s9, 16
+; SI-NEXT: s_lshl_b32 s11, s87, 24
+; SI-NEXT: s_or_b32 s82, s11, s9
+; SI-NEXT: s_and_b32 s9, s8, 0xff
+; SI-NEXT: s_lshl_b32 s9, s9, 16
+; SI-NEXT: s_lshl_b32 s6, s6, 24
+; SI-NEXT: s_or_b32 s83, s6, s9
+; SI-NEXT: s_and_b32 s6, s98, 0xff
; SI-NEXT: s_lshl_b32 s6, s6, 16
-; SI-NEXT: s_lshl_b32 s7, s20, 24
-; SI-NEXT: s_or_b32 s6, s7, s6
-; SI-NEXT: v_writelane_b32 v46, s6, 0
-; SI-NEXT: s_and_b32 s6, s36, 0xff
+; SI-NEXT: s_lshl_b32 s9, s99, 24
+; SI-NEXT: s_or_b32 s84, s9, s6
+; SI-NEXT: s_and_b32 s6, s15, 0xff
+; SI-NEXT: s_lshl_b32 s9, s10, 8
+; SI-NEXT: s_or_b32 s93, s6, s9
+; SI-NEXT: s_and_b32 s6, s29, 0xff
; SI-NEXT: s_lshl_b32 s6, s6, 16
-; SI-NEXT: s_lshl_b32 s7, s22, 24
-; SI-NEXT: s_or_b32 s6, s7, s6
-; SI-NEXT: v_writelane_b32 v46, s6, 2
-; SI-NEXT: s_and_b32 s6, s46, 0xff
-; SI-NEXT: s_lshl_b32 s7, s12, 8
-; SI-NEXT: s_or_b32 s4, s6, s7
-; SI-NEXT: s_and_b32 s6, s79, 0xff
+; SI-NEXT: s_lshl_b32 s9, s14, 24
+; SI-NEXT: s_or_b32 s85, s9, s6
+; SI-NEXT: s_and_b32 s6, s47, 0xff
; SI-NEXT: s_lshl_b32 s6, s6, 16
-; SI-NEXT: s_lshl_b32 s7, s62, 24
-; SI-NEXT: v_writelane_b32 v46, s4, 11
-; SI-NEXT: s_or_b32 s6, s7, s6
-; SI-NEXT: v_writelane_b32 v46, s6, 4
-; SI-NEXT: s_and_b32 s6, s89, 0xff
+; SI-NEXT: s_lshl_b32 s9, s43, 24
+; SI-NEXT: s_or_b32 s86, s9, s6
+; SI-NEXT: s_and_b32 s6, s45, 0xff
; SI-NEXT: s_lshl_b32 s6, s6, 16
-; SI-NEXT: s_lshl_b32 s7, s77, 24
-; SI-NEXT: s_or_b32 s6, s7, s6
-; SI-NEXT: v_writelane_b32 v46, s6, 3
-; SI-NEXT: s_and_b32 s6, s27, 0xff
+; SI-NEXT: s_lshl_b32 s9, s13, 24
+; SI-NEXT: s_or_b32 s87, s9, s6
+; SI-NEXT: s_and_b32 s6, s58, 0xff
+; SI-NEXT: s_lshl_b32 s9, s63, 8
+; SI-NEXT: s_or_b32 s94, s6, s9
+; SI-NEXT: s_and_b32 s6, s56, 0xff
; SI-NEXT: s_lshl_b32 s6, s6, 16
-; SI-NEXT: s_lshl_b32 s7, s59, 24
-; SI-NEXT: s_or_b32 s6, s7, s6
-; SI-NEXT: v_writelane_b32 v46, s6, 5
-; SI-NEXT: s_and_b32 s6, s88, 0xff
-; SI-NEXT: s_lshl_b32 s7, s75, 8
-; SI-NEXT: s_or_b32 s4, s6, s7
-; SI-NEXT: s_and_b32 s6, s44, 0xff
+; SI-NEXT: s_lshl_b32 s9, s57, 24
+; SI-NEXT: s_or_b32 s96, s9, s6
+; SI-NEXT: s_and_b32 s6, s75, 0xff
; SI-NEXT: s_lshl_b32 s6, s6, 16
-; SI-NEXT: s_lshl_b32 s7, s92, 24
-; SI-NEXT: v_writelane_b32 v46, s4, 12
-; SI-NEXT: s_or_b32 s4, s7, s6
-; SI-NEXT: v_writelane_b32 v46, s4, 6
-; SI-NEXT: s_and_b32 s7, s19, 0xff
-; SI-NEXT: v_readlane_b32 s4, v56, 20
-; SI-NEXT: s_lshl_b32 s7, s7, 16
-; SI-NEXT: s_lshl_b32 s12, s4, 24
-; SI-NEXT: v_readlane_b32 s4, v56, 19
-; SI-NEXT: s_or_b32 s7, s12, s7
-; SI-NEXT: s_and_b32 s12, s4, 0xff
-; SI-NEXT: v_readlane_b32 s4, v56, 18
-; SI-NEXT: s_lshl_b32 s12, s12, 16
-; SI-NEXT: s_lshl_b32 s18, s4, 24
-; SI-NEXT: v_readlane_b32 s4, v56, 17
-; SI-NEXT: s_or_b32 s18, s18, s12
-; SI-NEXT: s_and_b32 s12, s4, 0xff
-; SI-NEXT: v_readlane_b32 s4, v56, 16
-; SI-NEXT: s_lshl_b32 s19, s4, 8
-; SI-NEXT: v_readlane_b32 s4, v56, 15
-; SI-NEXT: s_or_b32 s6, s12, s19
-; SI-NEXT: s_and_b32 s12, s4, 0xff
-; SI-NEXT: v_readlane_b32 s4, v56, 14
-; SI-NEXT: s_lshl_b32 s12, s12, 16
-; SI-NEXT: s_lshl_b32 s19, s4, 24
-; SI-NEXT: v_readlane_b32 s4, v56, 13
-; SI-NEXT: s_or_b32 s16, s19, s12
-; SI-NEXT: s_and_b32 s12, s4, 0xff
-; SI-NEXT: v_readlane_b32 s4, v56, 12
-; SI-NEXT: s_lshl_b32 s12, s12, 16
-; SI-NEXT: s_lshl_b32 s20, s4, 24
-; SI-NEXT: v_readlane_b32 s4, v56, 11
-; SI-NEXT: s_or_b32 s5, s20, s12
-; SI-NEXT: s_and_b32 s12, s4, 0xff
-; SI-NEXT: v_readlane_b32 s4, v56, 10
-; SI-NEXT: s_lshl_b32 s12, s12, 16
-; SI-NEXT: s_lshl_b32 s20, s4, 24
-; SI-NEXT: s_or_b32 s4, s20, s12
-; SI-NEXT: v_readlane_b32 s12, v56, 9
-; SI-NEXT: s_and_b32 s12, s12, 0xff
-; SI-NEXT: s_lshl_b32 s27, s55, 8
-; SI-NEXT: s_or_b32 s52, s12, s27
+; SI-NEXT: s_lshl_b32 s9, s62, 24
+; SI-NEXT: s_or_b32 s97, s9, s6
+; SI-NEXT: s_and_b32 s6, s59, 0xff
+; SI-NEXT: s_lshl_b32 s6, s6, 16
+; SI-NEXT: s_lshl_b32 s9, s60, 24
+; SI-NEXT: s_or_b32 s98, s9, s6
+; SI-NEXT: s_and_b32 s6, s42, 0xff
+; SI-NEXT: s_lshl_b32 s9, s25, 8
+; SI-NEXT: s_or_b32 s16, s6, s9
+; SI-NEXT: s_and_b32 s6, s79, 0xff
+; SI-NEXT: s_lshl_b32 s6, s6, 16
+; SI-NEXT: s_lshl_b32 s9, s61, 24
+; SI-NEXT: s_or_b32 s99, s9, s6
+; SI-NEXT: s_and_b32 s6, s46, 0xff
+; SI-NEXT: s_lshl_b32 s6, s6, 16
+; SI-NEXT: s_lshl_b32 s9, s70, 24
+; SI-NEXT: s_or_b32 s6, s9, s6
+; SI-NEXT: s_and_b32 s9, s39, 0xff
+; SI-NEXT: s_lshl_b32 s9, s9, 16
+; SI-NEXT: s_lshl_b32 s11, s48, 24
+; SI-NEXT: s_or_b32 s10, s11, s9
+; SI-NEXT: s_and_b32 s9, s24, 0xff
+; SI-NEXT: s_lshl_b32 s11, s12, 8
+; SI-NEXT: s_or_b32 s22, s9, s11
+; SI-NEXT: s_and_b32 s9, s40, 0xff
+; SI-NEXT: s_lshl_b32 s9, s9, 16
+; SI-NEXT: s_lshl_b32 s11, s44, 24
+; SI-NEXT: s_or_b32 s29, s11, s9
+; SI-NEXT: s_and_b32 s9, s35, 0xff
+; SI-NEXT: s_lshl_b32 s9, s9, 16
+; SI-NEXT: s_lshl_b32 s11, s34, 24
+; SI-NEXT: s_or_b32 s8, s11, s9
+; SI-NEXT: s_and_b32 s9, s17, 0xff
+; SI-NEXT: s_lshl_b32 s9, s9, 16
+; SI-NEXT: s_lshl_b32 s11, s74, 24
+; SI-NEXT: s_or_b32 s15, s11, s9
+; SI-NEXT: s_and_b32 s9, s20, 0xff
+; SI-NEXT: s_lshl_b32 s11, s67, 8
+; SI-NEXT: s_or_b32 s18, s9, s11
+; SI-NEXT: s_and_b32 s9, s50, 0xff
+; SI-NEXT: s_lshl_b32 s9, s9, 16
+; SI-NEXT: s_lshl_b32 s11, s65, 24
+; SI-NEXT: s_or_b32 s43, s11, s9
+; SI-NEXT: s_and_b32 s9, s7, 0xff
+; SI-NEXT: s_lshl_b32 s9, s9, 16
+; SI-NEXT: s_lshl_b32 s11, s36, 24
+; SI-NEXT: s_or_b32 s14, s11, s9
+; SI-NEXT: s_and_b32 s9, s88, 0xff
+; SI-NEXT: s_lshl_b32 s9, s9, 16
+; SI-NEXT: s_lshl_b32 s11, s66, 24
+; SI-NEXT: s_or_b32 s47, s11, s9
+; SI-NEXT: s_and_b32 s9, s78, 0xff
+; SI-NEXT: s_lshl_b32 s11, s21, 8
+; SI-NEXT: s_or_b32 s20, s9, s11
+; SI-NEXT: s_and_b32 s9, s27, 0xff
+; SI-NEXT: s_lshl_b32 s9, s9, 16
+; SI-NEXT: s_lshl_b32 s11, s77, 24
+; SI-NEXT: s_or_b32 s42, s11, s9
+; SI-NEXT: s_and_b32 s9, s19, 0xff
+; SI-NEXT: s_lshl_b32 s9, s9, 16
+; SI-NEXT: s_lshl_b32 s11, s89, 24
+; SI-NEXT: s_or_b32 s45, s11, s9
+; SI-NEXT: s_and_b32 s9, s72, 0xff
+; SI-NEXT: s_lshl_b32 s9, s9, 16
+; SI-NEXT: s_lshl_b32 s11, s31, 24
+; SI-NEXT: s_or_b32 s13, s11, s9
+; SI-NEXT: s_and_b32 s11, s90, 0xff
+; SI-NEXT: s_lshl_b32 s12, s30, 8
+; SI-NEXT: s_or_b32 s19, s11, s12
+; SI-NEXT: s_and_b32 s11, s28, 0xff
+; SI-NEXT: s_lshl_b32 s11, s11, 16
+; SI-NEXT: s_lshl_b32 s12, s92, 24
+; SI-NEXT: s_or_b32 s11, s12, s11
; SI-NEXT: s_and_b32 s12, s53, 0xff
; SI-NEXT: s_lshl_b32 s12, s12, 16
-; SI-NEXT: s_lshl_b32 s27, s54, 24
-; SI-NEXT: s_or_b32 s17, s27, s12
-; SI-NEXT: s_and_b32 s12, s67, 0xff
+; SI-NEXT: s_lshl_b32 s27, s73, 24
+; SI-NEXT: s_or_b32 s27, s27, s12
+; SI-NEXT: s_and_b32 s12, s76, 0xff
+; SI-NEXT: s_lshl_b32 s12, s12, 16
+; SI-NEXT: s_lshl_b32 s40, s23, 24
+; SI-NEXT: s_or_b32 s40, s40, s12
+; SI-NEXT: s_and_b32 s12, s68, 0xff
+; SI-NEXT: s_lshl_b32 s41, s41, 8
+; SI-NEXT: s_or_b32 s21, s12, s41
+; SI-NEXT: s_and_b32 s12, s26, 0xff
; SI-NEXT: s_lshl_b32 s12, s12, 16
-; SI-NEXT: s_lshl_b32 s27, s66, 24
-; SI-NEXT: s_or_b32 s19, s27, s12
-; SI-NEXT: s_and_b32 s12, s64, 0xff
+; SI-NEXT: s_lshl_b32 s41, s38, 24
+; SI-NEXT: s_or_b32 s41, s41, s12
+; SI-NEXT: s_and_b32 s12, s91, 0xff
; SI-NEXT: s_lshl_b32 s12, s12, 16
-; SI-NEXT: s_lshl_b32 s44, s65, 24
+; SI-NEXT: s_lshl_b32 s44, s95, 24
; SI-NEXT: s_or_b32 s12, s44, s12
-; SI-NEXT: s_and_b32 s44, s71, 0xff
-; SI-NEXT: s_lshl_b32 s46, s70, 8
-; SI-NEXT: s_or_b32 s53, s44, s46
-; SI-NEXT: s_and_b32 s44, s68, 0xff
+; SI-NEXT: s_and_b32 s44, s54, 0xff
; SI-NEXT: s_lshl_b32 s44, s44, 16
-; SI-NEXT: s_lshl_b32 s46, s69, 24
+; SI-NEXT: s_lshl_b32 s46, s64, 24
; SI-NEXT: s_or_b32 s44, s46, s44
-; SI-NEXT: s_and_b32 s46, s9, 0xff
+; SI-NEXT: s_and_b32 s46, s49, 0xff
+; SI-NEXT: s_lshl_b32 s95, s37, 8
+; SI-NEXT: s_or_b32 s23, s46, s95
+; SI-NEXT: s_and_b32 s46, s55, 0xff
+; SI-NEXT: v_readlane_b32 s7, v46, 10
+; SI-NEXT: s_mov_b32 s25, s37
; SI-NEXT: s_lshl_b32 s46, s46, 16
-; SI-NEXT: s_lshl_b32 s41, s41, 24
-; SI-NEXT: s_or_b32 s41, s41, s46
-; SI-NEXT: s_and_b32 s46, s80, 0xff
-; SI-NEXT: s_lshl_b32 s46, s46, 16
-; SI-NEXT: s_lshl_b32 s59, s8, 24
-; SI-NEXT: s_or_b32 s59, s59, s46
-; SI-NEXT: s_and_b32 s46, s11, 0xff
-; SI-NEXT: s_lshl_b32 s62, s29, 8
-; SI-NEXT: s_or_b32 s54, s46, s62
-; SI-NEXT: s_and_b32 s46, s24, 0xff
-; SI-NEXT: s_lshl_b32 s46, s46, 16
-; SI-NEXT: s_lshl_b32 s62, s13, 24
-; SI-NEXT: s_or_b32 s27, s62, s46
-; SI-NEXT: s_and_b32 s46, s56, 0xff
-; SI-NEXT: s_lshl_b32 s46, s46, 16
-; SI-NEXT: s_lshl_b32 s62, s40, 24
-; SI-NEXT: s_or_b32 s62, s62, s46
-; SI-NEXT: s_and_b32 s46, s14, 0xff
-; SI-NEXT: s_lshl_b32 s46, s46, 16
-; SI-NEXT: s_lshl_b32 s75, s15, 24
-; SI-NEXT: s_or_b32 s75, s75, s46
-; SI-NEXT: s_and_b32 s46, s45, 0xff
-; SI-NEXT: s_lshl_b32 s77, s43, 8
-; SI-NEXT: s_or_b32 s55, s46, s77
-; SI-NEXT: s_and_b32 s46, s42, 0xff
-; SI-NEXT: s_lshl_b32 s46, s46, 16
-; SI-NEXT: s_lshl_b32 s77, s58, 24
-; SI-NEXT: s_or_b32 s29, s77, s46
-; SI-NEXT: s_and_b32 s46, s72, 0xff
-; SI-NEXT: s_lshl_b32 s46, s46, 16
-; SI-NEXT: s_lshl_b32 s79, s76, 24
-; SI-NEXT: s_or_b32 s46, s79, s46
-; SI-NEXT: s_and_b32 s79, s47, 0xff
-; SI-NEXT: s_lshl_b32 s79, s79, 16
-; SI-NEXT: s_lshl_b32 s88, s60, 24
-; SI-NEXT: s_or_b32 s24, s88, s79
-; SI-NEXT: s_and_b32 s88, s81, 0xff
-; SI-NEXT: s_lshl_b32 s89, s57, 8
-; SI-NEXT: s_mov_b32 s42, s16
-; SI-NEXT: s_or_b32 s16, s88, s89
-; SI-NEXT: s_and_b32 s88, s91, 0xff
-; SI-NEXT: s_lshl_b32 s88, s88, 16
-; SI-NEXT: s_lshl_b32 s89, s21, 24
-; SI-NEXT: s_or_b32 s21, s89, s88
-; SI-NEXT: s_and_b32 s88, s90, 0xff
-; SI-NEXT: s_lshl_b32 s88, s88, 16
-; SI-NEXT: s_lshl_b32 s90, s99, 24
-; SI-NEXT: s_or_b32 s88, s90, s88
-; SI-NEXT: s_and_b32 s90, s87, 0xff
-; SI-NEXT: s_lshl_b32 s90, s90, 16
-; SI-NEXT: s_lshl_b32 s91, s96, 24
-; SI-NEXT: s_or_b32 s40, s91, s90
-; SI-NEXT: s_and_b32 s91, s73, 0xff
-; SI-NEXT: s_lshl_b32 s92, s25, 8
-; SI-NEXT: s_mov_b32 s45, s19
-; SI-NEXT: s_or_b32 s19, s91, s92
-; SI-NEXT: s_and_b32 s91, s28, 0xff
-; SI-NEXT: s_lshl_b32 s91, s91, 16
-; SI-NEXT: s_lshl_b32 s92, s26, 24
-; SI-NEXT: s_or_b32 s92, s92, s91
-; SI-NEXT: s_and_b32 s91, s94, 0xff
-; SI-NEXT: s_lshl_b32 s91, s91, 16
-; SI-NEXT: s_lshl_b32 s93, s93, 24
-; SI-NEXT: s_or_b32 s91, s93, s91
-; SI-NEXT: s_and_b32 s93, s74, 0xff
-; SI-NEXT: s_lshl_b32 s93, s93, 16
-; SI-NEXT: s_lshl_b32 s94, s97, 24
-; SI-NEXT: s_or_b32 s93, s94, s93
-; SI-NEXT: s_and_b32 s94, s98, 0xff
-; SI-NEXT: s_lshl_b32 s95, s95, 8
-; SI-NEXT: s_or_b32 s22, s94, s95
-; SI-NEXT: s_and_b32 s94, s23, 0xff
-; SI-NEXT: s_lshl_b32 s94, s94, 16
-; SI-NEXT: s_lshl_b32 s95, s50, 24
-; SI-NEXT: s_or_b32 s95, s95, s94
-; SI-NEXT: s_and_b32 s94, s34, 0xff
-; SI-NEXT: s_lshl_b32 s94, s94, 16
-; SI-NEXT: s_lshl_b32 vcc_lo, s49, 24
-; SI-NEXT: s_or_b32 s94, vcc_lo, s94
-; SI-NEXT: s_and_b32 vcc_lo, s61, 0xff
-; SI-NEXT: s_lshl_b32 vcc_lo, vcc_lo, 16
-; SI-NEXT: s_lshl_b32 vcc_hi, s86, 24
-; SI-NEXT: s_or_b32 vcc_lo, vcc_hi, vcc_lo
-; SI-NEXT: s_and_b32 vcc_hi, s84, 0xff
-; SI-NEXT: s_lshl_b32 s30, s30, 8
-; SI-NEXT: s_mov_b32 s43, s17
-; SI-NEXT: s_or_b32 s17, vcc_hi, s30
-; SI-NEXT: s_and_b32 vcc_hi, s38, 0xff
-; SI-NEXT: s_lshl_b32 vcc_hi, vcc_hi, 16
-; SI-NEXT: s_lshl_b32 s30, s63, 24
-; SI-NEXT: s_or_b32 s30, s30, vcc_hi
-; SI-NEXT: s_and_b32 vcc_hi, s48, 0xff
-; SI-NEXT: s_lshl_b32 vcc_hi, vcc_hi, 16
-; SI-NEXT: s_lshl_b32 s31, s31, 24
-; SI-NEXT: s_or_b32 vcc_hi, s31, vcc_hi
-; SI-NEXT: s_and_b32 s31, s39, 0xff
-; SI-NEXT: s_lshl_b32 s31, s31, 16
-; SI-NEXT: s_lshl_b32 s34, s35, 24
-; SI-NEXT: s_or_b32 s31, s34, s31
-; SI-NEXT: s_and_b32 s34, s82, 0xff
-; SI-NEXT: s_lshl_b32 s35, s85, 8
-; SI-NEXT: s_or_b32 s20, s34, s35
-; SI-NEXT: s_and_b32 s34, s78, 0xff
-; SI-NEXT: s_lshl_b32 s34, s34, 16
-; SI-NEXT: s_lshl_b32 s35, s37, 24
-; SI-NEXT: v_readlane_b32 s8, v56, 31
-; SI-NEXT: s_or_b32 s35, s35, s34
-; SI-NEXT: s_and_b32 s34, s8, 0xff
-; SI-NEXT: v_readlane_b32 s8, v56, 30
-; SI-NEXT: s_lshl_b32 s34, s34, 16
-; SI-NEXT: s_lshl_b32 s36, s8, 24
-; SI-NEXT: v_readlane_b32 s8, v56, 29
-; SI-NEXT: s_or_b32 s34, s36, s34
-; SI-NEXT: s_and_b32 s36, s8, 0xff
-; SI-NEXT: v_readlane_b32 s8, v56, 28
-; SI-NEXT: s_lshl_b32 s36, s36, 16
-; SI-NEXT: s_lshl_b32 s37, s8, 24
-; SI-NEXT: v_readlane_b32 s8, v56, 27
-; SI-NEXT: s_or_b32 s36, s37, s36
-; SI-NEXT: s_and_b32 s37, s8, 0xff
-; SI-NEXT: v_readlane_b32 s8, v56, 26
-; SI-NEXT: s_lshl_b32 s38, s8, 8
-; SI-NEXT: v_readlane_b32 s8, v56, 25
-; SI-NEXT: s_or_b32 s23, s37, s38
-; SI-NEXT: s_and_b32 s37, s8, 0xff
-; SI-NEXT: v_readlane_b32 s8, v56, 24
-; SI-NEXT: s_lshl_b32 s37, s37, 16
-; SI-NEXT: s_lshl_b32 s38, s8, 24
-; SI-NEXT: v_readlane_b32 s8, v56, 23
-; SI-NEXT: s_or_b32 s38, s38, s37
-; SI-NEXT: s_mov_b32 s90, s8
-; SI-NEXT: s_and_b32 s37, s8, 0xff
-; SI-NEXT: v_readlane_b32 s8, v56, 22
-; SI-NEXT: s_lshl_b32 s37, s37, 16
-; SI-NEXT: s_mov_b32 s28, s8
-; SI-NEXT: s_lshl_b32 s39, s8, 24
-; SI-NEXT: v_readlane_b32 s8, v56, 21
-; SI-NEXT: s_or_b32 s37, s39, s37
-; SI-NEXT: s_and_b32 s39, s8, 0xff
-; SI-NEXT: s_lshl_b32 s39, s39, 16
-; SI-NEXT: s_lshl_b32 s48, s10, 24
-; SI-NEXT: s_or_b32 s39, s48, s39
-; SI-NEXT: s_and_b32 s48, s51, 0xff
-; SI-NEXT: s_lshl_b32 s64, s83, 8
-; SI-NEXT: v_readlane_b32 s8, v46, 8
-; SI-NEXT: s_or_b32 s25, s48, s64
-; SI-NEXT: s_mov_b32 s57, s8
-; SI-NEXT: s_and_b32 s48, s8, 0xff
-; SI-NEXT: v_readlane_b32 s8, v46, 7
-; SI-NEXT: s_mov_b32 s76, s8
-; SI-NEXT: s_lshl_b32 s64, s8, 24
-; SI-NEXT: v_readlane_b32 s8, v46, 9
-; SI-NEXT: s_lshl_b32 s80, s8, 16
-; SI-NEXT: v_readlane_b32 s8, v46, 10
-; SI-NEXT: s_lshl_b32 s71, s8, 16
-; SI-NEXT: v_readlane_b32 s8, v46, 11
-; SI-NEXT: s_lshl_b32 s48, s48, 16
-; SI-NEXT: s_lshl_b32 s70, s8, 16
-; SI-NEXT: v_readlane_b32 s8, v46, 12
-; SI-NEXT: s_mov_b32 s74, s10
-; SI-NEXT: s_mov_b32 s26, s51
-; SI-NEXT: s_mov_b32 s73, s83
-; SI-NEXT: s_or_b32 s48, s64, s48
-; SI-NEXT: s_lshl_b32 s69, s8, 16
-; SI-NEXT: s_lshl_b32 s68, s6, 16
-; SI-NEXT: s_lshl_b32 s67, s52, 16
-; SI-NEXT: s_lshl_b32 s66, s53, 16
-; SI-NEXT: s_lshl_b32 s65, s54, 16
-; SI-NEXT: s_lshl_b32 s64, s55, 16
-; SI-NEXT: s_lshl_b32 s55, s16, 16
-; SI-NEXT: s_lshl_b32 s54, s19, 16
-; SI-NEXT: s_mov_b32 s19, s5
-; SI-NEXT: s_lshl_b32 s53, s22, 16
-; SI-NEXT: s_lshl_b32 s52, s17, 16
-; SI-NEXT: s_lshl_b32 s51, s20, 16
-; SI-NEXT: s_mov_b32 s20, s4
-; SI-NEXT: s_lshl_b32 s50, s23, 16
-; SI-NEXT: s_lshl_b32 s49, s25, 16
+; SI-NEXT: s_lshl_b32 s95, s69, 24
+; SI-NEXT: s_lshl_b32 s37, s7, 16
+; SI-NEXT: v_readlane_b32 s7, v46, 11
+; SI-NEXT: s_mov_b32 s78, s54
+; SI-NEXT: s_mov_b32 s77, s64
+; SI-NEXT: s_mov_b32 s30, s49
+; SI-NEXT: s_mov_b32 s75, s55
+; SI-NEXT: s_mov_b32 s17, s69
+; SI-NEXT: s_or_b32 s46, s95, s46
+; SI-NEXT: s_lshl_b32 s36, s7, 16
+; SI-NEXT: s_lshl_b32 s35, s51, 16
+; SI-NEXT: s_lshl_b32 s34, vcc_lo, 16
+; SI-NEXT: s_lshl_b32 s31, s5, 16
+; SI-NEXT: s_lshl_b32 s28, vcc_hi, 16
+; SI-NEXT: s_lshl_b32 s24, s4, 16
+; SI-NEXT: s_lshl_b32 s26, s93, 16
+; SI-NEXT: s_lshl_b32 s95, s94, 16
+; SI-NEXT: s_lshl_b32 s94, s16, 16
+; SI-NEXT: s_lshl_b32 s93, s22, 16
+; SI-NEXT: s_lshl_b32 s92, s18, 16
+; SI-NEXT: s_lshl_b32 s91, s20, 16
+; SI-NEXT: s_lshl_b32 s90, s19, 16
+; SI-NEXT: s_lshl_b32 s89, s21, 16
+; SI-NEXT: s_lshl_b32 s76, s23, 16
; SI-NEXT: s_mov_b64 s[4:5], 0
; SI-NEXT: s_branch .LBB89_3
; SI-NEXT: .LBB89_2:
; SI-NEXT: ; implicit-def: $sgpr6
; SI-NEXT: ; kill: killed $sgpr6
-; SI-NEXT: v_readlane_b32 s90, v56, 23
-; SI-NEXT: ; implicit-def: $sgpr6
-; SI-NEXT: ; kill: killed $sgpr6
-; SI-NEXT: v_readlane_b32 s28, v56, 22
+; SI-NEXT: s_mov_b32 s78, s54
; SI-NEXT: ; implicit-def: $sgpr6
; SI-NEXT: ; kill: killed $sgpr6
-; SI-NEXT: s_mov_b32 s26, s10
+; SI-NEXT: s_mov_b32 s77, s64
; SI-NEXT: ; implicit-def: $sgpr6
; SI-NEXT: ; kill: killed $sgpr6
-; SI-NEXT: s_mov_b32 s74, s5
+; SI-NEXT: s_mov_b32 s30, s49
; SI-NEXT: ; implicit-def: $sgpr6
; SI-NEXT: ; kill: killed $sgpr6
-; SI-NEXT: s_mov_b32 s73, s51
+; SI-NEXT: s_mov_b32 s25, s37
; SI-NEXT: ; implicit-def: $sgpr6
; SI-NEXT: ; kill: killed $sgpr6
-; SI-NEXT: s_mov_b32 s57, s4
+; SI-NEXT: s_mov_b32 s75, s55
; SI-NEXT: ; implicit-def: $sgpr6
; SI-NEXT: ; kill: killed $sgpr6
-; SI-NEXT: s_mov_b32 s76, s83
+; SI-NEXT: s_mov_b32 s17, s69
; SI-NEXT: ; implicit-def: $sgpr6
; SI-NEXT: ; kill: killed $sgpr6
; SI-NEXT: s_mov_b64 s[4:5], -1
; SI-NEXT: ; implicit-def: $sgpr6
; SI-NEXT: ; kill: killed $sgpr6
-; SI-NEXT: ; implicit-def: $sgpr80
+; SI-NEXT: ; implicit-def: $sgpr37
+; SI-NEXT: ; implicit-def: $sgpr36
+; SI-NEXT: ; implicit-def: $sgpr52
+; SI-NEXT: ; implicit-def: $sgpr35
+; SI-NEXT: ; implicit-def: $sgpr34
+; SI-NEXT: ; implicit-def: $sgpr31
+; SI-NEXT: ; implicit-def: $sgpr28
; SI-NEXT: ; implicit-def: $sgpr71
-; SI-NEXT: ; implicit-def: $sgpr70
-; SI-NEXT: ; implicit-def: $sgpr69
-; SI-NEXT: ; implicit-def: $sgpr7
-; SI-NEXT: ; implicit-def: $sgpr18
-; SI-NEXT: ; implicit-def: $sgpr68
-; SI-NEXT: ; implicit-def: $sgpr42
-; SI-NEXT: ; implicit-def: $sgpr19
-; SI-NEXT: ; implicit-def: $sgpr20
-; SI-NEXT: ; implicit-def: $sgpr67
+; SI-NEXT: ; implicit-def: $sgpr80
+; SI-NEXT: ; implicit-def: $sgpr81
+; SI-NEXT: ; implicit-def: $sgpr24
+; SI-NEXT: ; implicit-def: $sgpr82
+; SI-NEXT: ; implicit-def: $sgpr83
+; SI-NEXT: ; implicit-def: $sgpr84
+; SI-NEXT: ; implicit-def: $sgpr26
+; SI-NEXT: ; implicit-def: $sgpr85
+; SI-NEXT: ; implicit-def: $sgpr86
+; SI-NEXT: ; implicit-def: $sgpr87
+; SI-NEXT: ; implicit-def: $sgpr95
+; SI-NEXT: ; implicit-def: $sgpr96
+; SI-NEXT: ; implicit-def: $sgpr97
+; SI-NEXT: ; implicit-def: $sgpr98
+; SI-NEXT: ; implicit-def: $sgpr94
+; SI-NEXT: ; implicit-def: $sgpr99
+; SI-NEXT: ; implicit-def: $sgpr10
+; SI-NEXT: ; implicit-def: $sgpr93
+; SI-NEXT: ; implicit-def: $sgpr29
+; SI-NEXT: ; implicit-def: $sgpr8
+; SI-NEXT: ; implicit-def: $sgpr15
+; SI-NEXT: ; implicit-def: $sgpr92
; SI-NEXT: ; implicit-def: $sgpr43
+; SI-NEXT: ; implicit-def: $sgpr14
+; SI-NEXT: ; implicit-def: $sgpr47
+; SI-NEXT: ; implicit-def: $sgpr91
+; SI-NEXT: ; implicit-def: $sgpr42
; SI-NEXT: ; implicit-def: $sgpr45
+; SI-NEXT: ; implicit-def: $sgpr13
+; SI-NEXT: ; implicit-def: $sgpr90
+; SI-NEXT: ; implicit-def: $sgpr11
+; SI-NEXT: ; implicit-def: $sgpr27
+; SI-NEXT: ; implicit-def: $sgpr40
+; SI-NEXT: ; implicit-def: $sgpr89
+; SI-NEXT: ; implicit-def: $sgpr41
; SI-NEXT: ; implicit-def: $sgpr12
-; SI-NEXT: ; implicit-def: $sgpr66
; SI-NEXT: ; implicit-def: $sgpr44
-; SI-NEXT: ; implicit-def: $sgpr41
-; SI-NEXT: ; implicit-def: $sgpr59
-; SI-NEXT: ; implicit-def: $sgpr65
-; SI-NEXT: ; implicit-def: $sgpr27
-; SI-NEXT: ; implicit-def: $sgpr62
-; SI-NEXT: ; implicit-def: $sgpr75
-; SI-NEXT: ; implicit-def: $sgpr64
-; SI-NEXT: ; implicit-def: $sgpr29
+; SI-NEXT: ; implicit-def: $sgpr76
; SI-NEXT: ; implicit-def: $sgpr46
-; SI-NEXT: ; implicit-def: $sgpr24
-; SI-NEXT: ; implicit-def: $sgpr55
-; SI-NEXT: ; implicit-def: $sgpr21
-; SI-NEXT: ; implicit-def: $sgpr88
-; SI-NEXT: ; implicit-def: $sgpr40
-; SI-NEXT: ; implicit-def: $sgpr54
-; SI-NEXT: ; implicit-def: $sgpr92
-; SI-NEXT: ; implicit-def: $sgpr91
-; SI-NEXT: ; implicit-def: $sgpr93
-; SI-NEXT: ; implicit-def: $sgpr53
-; SI-NEXT: ; implicit-def: $sgpr95
-; SI-NEXT: ; implicit-def: $sgpr94
-; SI-NEXT: ; implicit-def: $vcc_lo
-; SI-NEXT: ; implicit-def: $sgpr52
-; SI-NEXT: ; implicit-def: $sgpr30
-; SI-NEXT: ; implicit-def: $vcc_hi
-; SI-NEXT: ; implicit-def: $sgpr31
-; SI-NEXT: ; implicit-def: $sgpr51
-; SI-NEXT: ; implicit-def: $sgpr35
-; SI-NEXT: ; implicit-def: $sgpr34
-; SI-NEXT: ; implicit-def: $sgpr36
-; SI-NEXT: ; implicit-def: $sgpr50
-; SI-NEXT: ; implicit-def: $sgpr38
-; SI-NEXT: ; implicit-def: $sgpr37
-; SI-NEXT: ; implicit-def: $sgpr39
-; SI-NEXT: ; implicit-def: $sgpr49
-; SI-NEXT: ; implicit-def: $sgpr48
; SI-NEXT: ; implicit-def: $sgpr6
; SI-NEXT: ; kill: killed $sgpr6
; SI-NEXT: ; implicit-def: $sgpr6
; SI-NEXT: ; kill: killed $sgpr6
; SI-NEXT: ; implicit-def: $sgpr6
; SI-NEXT: ; kill: killed $sgpr6
+; SI-NEXT: ; implicit-def: $sgpr6
+; SI-NEXT: ; kill: killed $sgpr6
+; SI-NEXT: ; implicit-def: $sgpr6
+; SI-NEXT: ; kill: killed $sgpr6
+; SI-NEXT: ; implicit-def: $sgpr6
+; SI-NEXT: ; kill: killed $sgpr6
+; SI-NEXT: ; implicit-def: $sgpr6
+; SI-NEXT: ; kill: killed $sgpr6
+; SI-NEXT: ; implicit-def: $sgpr6
+; SI-NEXT: ; kill: killed $sgpr6
+; SI-NEXT: ; implicit-def: $sgpr6
; SI-NEXT: .LBB89_3: ; %Flow
; SI-NEXT: s_and_b64 s[4:5], s[4:5], exec
; SI-NEXT: s_cselect_b32 s4, 1, 0
; SI-NEXT: s_cmp_lg_u32 s4, 1
-; SI-NEXT: v_readlane_b32 s81, v47, 59
-; SI-NEXT: v_readlane_b32 s82, v47, 60
-; SI-NEXT: v_readlane_b32 s84, v47, 61
-; SI-NEXT: v_readlane_b32 s83, v47, 62
-; SI-NEXT: v_readlane_b32 s85, v47, 63
-; SI-NEXT: v_readlane_b32 s87, v46, 0
-; SI-NEXT: v_readlane_b32 s86, v46, 1
-; SI-NEXT: v_readlane_b32 s96, v46, 2
-; SI-NEXT: v_readlane_b32 s98, v46, 3
-; SI-NEXT: v_readlane_b32 s97, v46, 4
-; SI-NEXT: v_readlane_b32 s99, v46, 5
-; SI-NEXT: v_readlane_b32 s6, v46, 6
+; SI-NEXT: v_readlane_b32 s7, v47, 58
+; SI-NEXT: v_readlane_b32 s49, v47, 59
+; SI-NEXT: v_readlane_b32 s39, v47, 60
+; SI-NEXT: v_readlane_b32 s48, v47, 61
+; SI-NEXT: v_readlane_b32 s50, v47, 62
+; SI-NEXT: v_readlane_b32 s51, v47, 63
+; SI-NEXT: v_readlane_b32 s55, v46, 0
+; SI-NEXT: v_readlane_b32 s53, v46, 1
+; SI-NEXT: v_readlane_b32 s54, v46, 2
+; SI-NEXT: v_readlane_b32 s66, v46, 3
+; SI-NEXT: v_readlane_b32 s64, v46, 4
+; SI-NEXT: v_readlane_b32 s65, v46, 5
+; SI-NEXT: v_readlane_b32 s69, v46, 6
+; SI-NEXT: v_readlane_b32 s67, v46, 7
+; SI-NEXT: v_readlane_b32 s68, v46, 8
+; SI-NEXT: v_readlane_b32 s70, v46, 9
+; SI-NEXT: s_mov_b32 s5, s6
+; SI-NEXT: s_mov_b32 s4, s8
+; SI-NEXT: s_mov_b32 s38, s10
; SI-NEXT: s_cbranch_scc1 .LBB89_5
; SI-NEXT: ; %bb.4: ; %cmp.true
-; SI-NEXT: s_add_i32 s4, s26, 3
+; SI-NEXT: s_add_i32 s4, s30, 3
; SI-NEXT: s_and_b32 s4, s4, 0xff
-; SI-NEXT: s_lshl_b32 s5, s73, 8
-; SI-NEXT: s_add_i32 s6, s57, 3
+; SI-NEXT: s_lshl_b32 s5, s25, 8
+; SI-NEXT: s_add_i32 s6, s75, 3
; SI-NEXT: s_or_b32 s4, s5, s4
; SI-NEXT: s_and_b32 s6, s6, 0xff
-; SI-NEXT: s_lshl_b32 s5, s76, 24
+; SI-NEXT: s_lshl_b32 s5, s17, 24
; SI-NEXT: s_lshl_b32 s6, s6, 16
; SI-NEXT: s_addk_i32 s4, 0x300
; SI-NEXT: s_or_b32 s5, s5, s6
; SI-NEXT: s_and_b32 s4, s4, 0xffff
+; SI-NEXT: s_or_b32 s6, s5, s4
+; SI-NEXT: v_readlane_b32 s4, v47, 22
+; SI-NEXT: s_add_i32 s4, s4, 3
+; SI-NEXT: v_readlane_b32 s5, v47, 17
+; SI-NEXT: s_and_b32 s4, s4, 0xff
+; SI-NEXT: s_lshl_b32 s5, s5, 8
+; SI-NEXT: s_add_i32 s7, s78, 3
; SI-NEXT: s_or_b32 s4, s5, s4
-; SI-NEXT: s_add_i32 s5, s90, 3
-; SI-NEXT: v_readlane_b32 s7, v56, 21
-; SI-NEXT: s_and_b32 s5, s5, 0xff
-; SI-NEXT: s_lshl_b32 s6, s28, 8
-; SI-NEXT: s_add_i32 s7, s7, 3
-; SI-NEXT: s_or_b32 s5, s6, s5
; SI-NEXT: s_and_b32 s7, s7, 0xff
-; SI-NEXT: s_lshl_b32 s6, s74, 24
+; SI-NEXT: s_lshl_b32 s5, s77, 24
; SI-NEXT: s_lshl_b32 s7, s7, 16
-; SI-NEXT: s_addk_i32 s5, 0x300
-; SI-NEXT: s_or_b32 s6, s6, s7
-; SI-NEXT: s_and_b32 s5, s5, 0xffff
-; SI-NEXT: s_or_b32 s5, s6, s5
-; SI-NEXT: v_readlane_b32 s6, v56, 27
-; SI-NEXT: s_add_i32 s21, s6, 3
-; SI-NEXT: v_readlane_b32 s7, v56, 26
-; SI-NEXT: v_readlane_b32 s8, v56, 25
-; SI-NEXT: s_and_b32 s6, s21, 0xff
+; SI-NEXT: s_addk_i32 s4, 0x300
+; SI-NEXT: s_or_b32 s5, s5, s7
+; SI-NEXT: s_and_b32 s4, s4, 0xffff
+; SI-NEXT: s_or_b32 s4, s5, s4
+; SI-NEXT: v_readlane_b32 s5, v47, 30
+; SI-NEXT: s_add_i32 s25, s5, 3
+; SI-NEXT: v_readlane_b32 s7, v47, 26
+; SI-NEXT: v_readlane_b32 s8, v47, 18
+; SI-NEXT: s_and_b32 s5, s25, 0xff
; SI-NEXT: s_lshl_b32 s7, s7, 8
-; SI-NEXT: s_add_i32 s12, s8, 3
-; SI-NEXT: s_or_b32 s6, s7, s6
-; SI-NEXT: v_readlane_b32 s7, v56, 24
-; SI-NEXT: s_and_b32 s12, s12, 0xff
+; SI-NEXT: s_add_i32 s9, s8, 3
+; SI-NEXT: s_or_b32 s5, s7, s5
+; SI-NEXT: v_readlane_b32 s7, v47, 16
+; SI-NEXT: s_and_b32 s9, s9, 0xff
; SI-NEXT: s_lshl_b32 s7, s7, 24
-; SI-NEXT: s_lshl_b32 s12, s12, 16
-; SI-NEXT: s_addk_i32 s6, 0x300
-; SI-NEXT: s_or_b32 s7, s7, s12
-; SI-NEXT: s_and_b32 s6, s6, 0xffff
-; SI-NEXT: s_or_b32 s6, s7, s6
-; SI-NEXT: v_readlane_b32 s7, v56, 31
-; SI-NEXT: s_add_i32 s10, s7, 3
-; SI-NEXT: v_readlane_b32 s8, v56, 30
-; SI-NEXT: s_and_b32 s7, s10, 0xff
-; SI-NEXT: s_lshl_b32 s10, s8, 8
-; SI-NEXT: v_readlane_b32 s8, v56, 28
-; SI-NEXT: s_or_b32 s7, s10, s7
-; SI-NEXT: s_lshl_b32 s10, s8, 24
-; SI-NEXT: v_readlane_b32 s8, v56, 29
-; SI-NEXT: s_add_i32 s12, s8, 3
-; SI-NEXT: s_and_b32 s12, s12, 0xff
-; SI-NEXT: s_lshl_b32 s12, s12, 16
+; SI-NEXT: s_lshl_b32 s9, s9, 16
+; SI-NEXT: s_addk_i32 s5, 0x300
+; SI-NEXT: s_or_b32 s7, s7, s9
+; SI-NEXT: s_and_b32 s5, s5, 0xffff
+; SI-NEXT: s_or_b32 s5, s7, s5
+; SI-NEXT: v_readlane_b32 s7, v47, 38
+; SI-NEXT: s_add_i32 s42, s7, 3
+; SI-NEXT: v_readlane_b32 s8, v47, 33
+; SI-NEXT: v_readlane_b32 s9, v47, 24
+; SI-NEXT: s_and_b32 s7, s42, 0xff
+; SI-NEXT: s_lshl_b32 s8, s8, 8
+; SI-NEXT: s_add_i32 s9, s9, 3
+; SI-NEXT: s_or_b32 s7, s8, s7
+; SI-NEXT: v_readlane_b32 s8, v47, 21
+; SI-NEXT: s_and_b32 s9, s9, 0xff
+; SI-NEXT: s_lshl_b32 s8, s8, 24
+; SI-NEXT: s_lshl_b32 s9, s9, 16
; SI-NEXT: s_addk_i32 s7, 0x300
-; SI-NEXT: v_readlane_b32 s8, v47, 50
-; SI-NEXT: s_or_b32 s10, s10, s12
+; SI-NEXT: s_or_b32 s8, s8, s9
; SI-NEXT: s_and_b32 s7, s7, 0xffff
-; SI-NEXT: s_add_i32 s57, s8, 3
-; SI-NEXT: v_readlane_b32 s8, v47, 41
-; SI-NEXT: s_or_b32 s7, s10, s7
-; SI-NEXT: s_and_b32 s10, s57, 0xff
-; SI-NEXT: s_lshl_b32 s12, s8, 8
-; SI-NEXT: v_readlane_b32 s8, v47, 33
-; SI-NEXT: s_or_b32 s10, s12, s10
-; SI-NEXT: s_lshl_b32 s12, s8, 24
-; SI-NEXT: v_readlane_b32 s8, v47, 35
-; SI-NEXT: s_add_i32 s26, s8, 3
-; SI-NEXT: s_and_b32 s13, s26, 0xff
-; SI-NEXT: v_readlane_b32 s8, v47, 55
-; SI-NEXT: s_lshl_b32 s13, s13, 16
-; SI-NEXT: s_add_i32 s73, s8, 3
-; SI-NEXT: v_readlane_b32 s8, v47, 51
-; SI-NEXT: s_or_b32 s12, s12, s13
-; SI-NEXT: s_addk_i32 s10, 0x300
-; SI-NEXT: s_lshl_b32 s13, s8, 8
-; SI-NEXT: v_readlane_b32 s8, v47, 39
-; SI-NEXT: s_and_b32 s10, s10, 0xffff
-; SI-NEXT: s_lshl_b32 s9, s8, 24
-; SI-NEXT: v_readlane_b32 s8, v47, 40
-; SI-NEXT: s_or_b32 s10, s12, s10
-; SI-NEXT: s_and_b32 s12, s73, 0xff
-; SI-NEXT: s_add_i32 s11, s8, 3
-; SI-NEXT: s_or_b32 s12, s13, s12
-; SI-NEXT: s_and_b32 s11, s11, 0xff
+; SI-NEXT: s_or_b32 s7, s8, s7
+; SI-NEXT: v_readlane_b32 s8, v47, 49
+; SI-NEXT: s_add_i32 s72, s8, 3
+; SI-NEXT: v_readlane_b32 s9, v47, 40
+; SI-NEXT: v_readlane_b32 s10, v47, 32
+; SI-NEXT: s_and_b32 s8, s72, 0xff
+; SI-NEXT: s_lshl_b32 s9, s9, 8
+; SI-NEXT: s_add_i32 s29, s10, 3
+; SI-NEXT: s_or_b32 s8, s9, s8
+; SI-NEXT: v_readlane_b32 s9, v47, 29
+; SI-NEXT: s_and_b32 s11, s29, 0xff
+; SI-NEXT: s_lshl_b32 s9, s9, 24
; SI-NEXT: s_lshl_b32 s11, s11, 16
-; SI-NEXT: s_addk_i32 s12, 0x300
-; SI-NEXT: v_readlane_b32 s8, v47, 56
+; SI-NEXT: s_addk_i32 s8, 0x300
; SI-NEXT: s_or_b32 s9, s9, s11
-; SI-NEXT: s_and_b32 s11, s12, 0xffff
-; SI-NEXT: s_add_i32 s74, s8, 3
-; SI-NEXT: v_readlane_b32 s8, v47, 53
+; SI-NEXT: s_and_b32 s8, s8, 0xffff
+; SI-NEXT: s_or_b32 s12, s9, s8
+; SI-NEXT: v_readlane_b32 s8, v47, 54
+; SI-NEXT: s_add_i32 s77, s8, 3
+; SI-NEXT: v_readlane_b32 s9, v47, 50
+; SI-NEXT: v_readlane_b32 s10, v47, 39
+; SI-NEXT: s_and_b32 s8, s77, 0xff
+; SI-NEXT: s_lshl_b32 s9, s9, 8
+; SI-NEXT: s_add_i32 s43, s10, 3
+; SI-NEXT: s_or_b32 s8, s9, s8
+; SI-NEXT: v_readlane_b32 s9, v47, 37
+; SI-NEXT: s_and_b32 s11, s43, 0xff
+; SI-NEXT: s_lshl_b32 s9, s9, 24
+; SI-NEXT: s_lshl_b32 s11, s11, 16
+; SI-NEXT: s_addk_i32 s8, 0x300
; SI-NEXT: s_or_b32 s9, s9, s11
-; SI-NEXT: s_and_b32 s11, s74, 0xff
-; SI-NEXT: s_lshl_b32 s12, s8, 8
-; SI-NEXT: v_readlane_b32 s8, v47, 43
-; SI-NEXT: s_or_b32 s11, s12, s11
-; SI-NEXT: s_lshl_b32 s12, s8, 24
-; SI-NEXT: v_readlane_b32 s8, v47, 46
-; SI-NEXT: s_add_i32 s43, s8, 3
-; SI-NEXT: s_and_b32 s13, s43, 0xff
-; SI-NEXT: s_lshl_b32 s13, s13, 16
-; SI-NEXT: s_addk_i32 s11, 0x300
-; SI-NEXT: v_readlane_b32 s8, v47, 58
-; SI-NEXT: s_or_b32 s12, s12, s13
-; SI-NEXT: s_and_b32 s11, s11, 0xffff
+; SI-NEXT: s_and_b32 s8, s8, 0xffff
+; SI-NEXT: s_or_b32 s11, s9, s8
+; SI-NEXT: v_readlane_b32 s8, v47, 55
; SI-NEXT: s_add_i32 s78, s8, 3
-; SI-NEXT: v_readlane_b32 s8, v47, 57
-; SI-NEXT: s_or_b32 s11, s12, s11
-; SI-NEXT: s_and_b32 s12, s78, 0xff
-; SI-NEXT: s_lshl_b32 s13, s8, 8
-; SI-NEXT: v_readlane_b32 s8, v47, 44
-; SI-NEXT: s_or_b32 s12, s13, s12
-; SI-NEXT: s_lshl_b32 s13, s8, 24
-; SI-NEXT: v_readlane_b32 s8, v47, 47
-; SI-NEXT: s_add_i32 s45, s8, 3
-; SI-NEXT: s_and_b32 s15, s45, 0xff
-; SI-NEXT: s_lshl_b32 s15, s15, 16
-; SI-NEXT: s_addk_i32 s12, 0x300
-; SI-NEXT: v_readlane_b32 s8, v47, 54
-; SI-NEXT: s_or_b32 s13, s13, s15
-; SI-NEXT: s_and_b32 s12, s12, 0xffff
-; SI-NEXT: s_add_i32 s72, s8, 3
-; SI-NEXT: v_readlane_b32 s8, v47, 52
-; SI-NEXT: s_or_b32 s12, s13, s12
-; SI-NEXT: s_and_b32 s13, s72, 0xff
-; SI-NEXT: s_lshl_b32 s15, s8, 8
-; SI-NEXT: v_readlane_b32 s8, v47, 49
-; SI-NEXT: s_or_b32 s13, s15, s13
-; SI-NEXT: s_lshl_b32 s15, s8, 24
-; SI-NEXT: v_readlane_b32 s8, v47, 48
-; SI-NEXT: s_add_i32 s47, s8, 3
-; SI-NEXT: s_and_b32 s18, s47, 0xff
-; SI-NEXT: s_lshl_b32 s18, s18, 16
-; SI-NEXT: s_addk_i32 s13, 0x300
-; SI-NEXT: v_readlane_b32 s8, v47, 45
-; SI-NEXT: s_or_b32 s15, s15, s18
-; SI-NEXT: s_and_b32 s13, s13, 0xffff
-; SI-NEXT: s_add_i32 s42, s8, 3
-; SI-NEXT: v_readlane_b32 s8, v47, 42
-; SI-NEXT: s_or_b32 s13, s15, s13
-; SI-NEXT: s_and_b32 s15, s42, 0xff
-; SI-NEXT: s_lshl_b32 s14, s8, 8
-; SI-NEXT: s_or_b32 s14, s14, s15
-; SI-NEXT: v_readlane_b32 s15, v47, 37
-; SI-NEXT: s_add_i32 s29, s15, 3
-; SI-NEXT: v_readlane_b32 s8, v47, 38
-; SI-NEXT: s_and_b32 s15, s29, 0xff
-; SI-NEXT: s_lshl_b32 s8, s8, 24
+; SI-NEXT: v_readlane_b32 s9, v47, 52
+; SI-NEXT: v_readlane_b32 s10, v47, 45
+; SI-NEXT: s_and_b32 s8, s78, 0xff
+; SI-NEXT: s_lshl_b32 s9, s9, 8
+; SI-NEXT: s_add_i32 s59, s10, 3
+; SI-NEXT: s_or_b32 s8, s9, s8
+; SI-NEXT: v_readlane_b32 s9, v47, 42
+; SI-NEXT: s_and_b32 s15, s59, 0xff
+; SI-NEXT: s_lshl_b32 s9, s9, 24
; SI-NEXT: s_lshl_b32 s15, s15, 16
-; SI-NEXT: s_addk_i32 s14, 0x300
-; SI-NEXT: s_or_b32 s8, s8, s15
-; SI-NEXT: s_and_b32 s14, s14, 0xffff
-; SI-NEXT: s_or_b32 s14, s8, s14
-; SI-NEXT: v_readlane_b32 s8, v47, 36
-; SI-NEXT: s_add_i32 s24, s8, 3
-; SI-NEXT: v_readlane_b32 s15, v47, 34
-; SI-NEXT: v_readlane_b32 s16, v47, 31
-; SI-NEXT: s_and_b32 s8, s24, 0xff
-; SI-NEXT: s_lshl_b32 s15, s15, 8
-; SI-NEXT: s_add_i32 s17, s16, 3
+; SI-NEXT: s_addk_i32 s8, 0x300
+; SI-NEXT: s_or_b32 s9, s9, s15
+; SI-NEXT: s_and_b32 s8, s8, 0xffff
+; SI-NEXT: s_or_b32 s9, s9, s8
+; SI-NEXT: v_readlane_b32 s8, v47, 57
+; SI-NEXT: s_add_i32 s88, s8, 3
+; SI-NEXT: v_readlane_b32 s10, v47, 56
+; SI-NEXT: s_and_b32 s8, s88, 0xff
+; SI-NEXT: s_lshl_b32 s15, s10, 8
+; SI-NEXT: v_readlane_b32 s10, v47, 43
; SI-NEXT: s_or_b32 s8, s15, s8
-; SI-NEXT: v_readlane_b32 s15, v47, 32
-; SI-NEXT: s_and_b32 s16, s17, 0xff
-; SI-NEXT: s_lshl_b32 s15, s15, 24
+; SI-NEXT: s_lshl_b32 s15, s10, 24
+; SI-NEXT: v_readlane_b32 s10, v47, 46
+; SI-NEXT: s_add_i32 s60, s10, 3
+; SI-NEXT: s_and_b32 s16, s60, 0xff
; SI-NEXT: s_lshl_b32 s16, s16, 16
; SI-NEXT: s_addk_i32 s8, 0x300
; SI-NEXT: s_or_b32 s15, s15, s16
; SI-NEXT: s_and_b32 s8, s8, 0xffff
; SI-NEXT: s_or_b32 s15, s15, s8
-; SI-NEXT: v_readlane_b32 s8, v47, 30
-; SI-NEXT: s_add_i32 s8, s8, 3
-; SI-NEXT: v_readlane_b32 s16, v47, 29
-; SI-NEXT: v_readlane_b32 s17, v47, 27
-; SI-NEXT: s_and_b32 s8, s8, 0xff
-; SI-NEXT: s_lshl_b32 s16, s16, 8
-; SI-NEXT: s_add_i32 s17, s17, 3
+; SI-NEXT: v_readlane_b32 s8, v47, 53
+; SI-NEXT: s_add_i32 s61, s8, 3
+; SI-NEXT: v_readlane_b32 s10, v47, 51
+; SI-NEXT: s_and_b32 s8, s61, 0xff
+; SI-NEXT: s_lshl_b32 s16, s10, 8
+; SI-NEXT: v_readlane_b32 s10, v47, 48
; SI-NEXT: s_or_b32 s8, s16, s8
-; SI-NEXT: v_readlane_b32 s16, v47, 28
-; SI-NEXT: s_and_b32 s17, s17, 0xff
-; SI-NEXT: s_lshl_b32 s16, s16, 24
+; SI-NEXT: s_lshl_b32 s16, s10, 24
+; SI-NEXT: v_readlane_b32 s10, v47, 47
+; SI-NEXT: s_add_i32 s62, s10, 3
+; SI-NEXT: s_and_b32 s17, s62, 0xff
; SI-NEXT: s_lshl_b32 s17, s17, 16
; SI-NEXT: s_addk_i32 s8, 0x300
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: s_and_b32 s8, s8, 0xffff
-; SI-NEXT: s_add_i32 s23, s6, 0x3000000
-; SI-NEXT: v_readlane_b32 s6, v47, 26
+; SI-NEXT: v_readlane_b32 s10, v47, 41
; SI-NEXT: s_or_b32 s16, s16, s8
-; SI-NEXT: s_add_i32 s22, s7, 0x3000000
-; SI-NEXT: s_add_i32 s8, s10, 0x3000000
-; SI-NEXT: s_add_i32 s10, s11, 0x3000000
-; SI-NEXT: s_add_i32 s11, s12, 0x3000000
-; SI-NEXT: s_add_i32 s6, s6, 3
-; SI-NEXT: v_readlane_b32 s7, v47, 25
-; SI-NEXT: v_readlane_b32 s12, v47, 23
-; SI-NEXT: s_and_b32 s6, s6, 0xff
-; SI-NEXT: s_lshl_b32 s7, s7, 8
-; SI-NEXT: s_add_i32 s12, s12, 3
-; SI-NEXT: s_or_b32 s6, s7, s6
-; SI-NEXT: v_readlane_b32 s7, v47, 24
-; SI-NEXT: s_and_b32 s12, s12, 0xff
-; SI-NEXT: s_addk_i32 s6, 0x300
-; SI-NEXT: s_lshl_b32 s7, s7, 24
-; SI-NEXT: s_lshl_b32 s12, s12, 16
-; SI-NEXT: s_and_b32 s6, s6, 0xffff
-; SI-NEXT: s_or_b32 s7, s7, s12
-; SI-NEXT: s_or_b32 s17, s7, s6
-; SI-NEXT: v_readlane_b32 s6, v47, 22
-; SI-NEXT: s_add_i32 s6, s6, 3
-; SI-NEXT: v_readlane_b32 s7, v47, 21
-; SI-NEXT: v_readlane_b32 s12, v47, 19
-; SI-NEXT: s_and_b32 s6, s6, 0xff
-; SI-NEXT: s_lshl_b32 s7, s7, 8
-; SI-NEXT: s_add_i32 s12, s12, 3
-; SI-NEXT: s_or_b32 s6, s7, s6
-; SI-NEXT: v_readlane_b32 s7, v47, 20
-; SI-NEXT: s_and_b32 s12, s12, 0xff
-; SI-NEXT: s_addk_i32 s6, 0x300
-; SI-NEXT: s_lshl_b32 s7, s7, 24
-; SI-NEXT: s_lshl_b32 s12, s12, 16
-; SI-NEXT: s_and_b32 s6, s6, 0xffff
-; SI-NEXT: s_or_b32 s7, s7, s12
-; SI-NEXT: s_or_b32 s21, s7, s6
-; SI-NEXT: v_readlane_b32 s6, v47, 18
-; SI-NEXT: s_add_i32 s6, s6, 3
-; SI-NEXT: v_readlane_b32 s7, v47, 17
-; SI-NEXT: v_readlane_b32 s12, v47, 15
-; SI-NEXT: s_and_b32 s6, s6, 0xff
-; SI-NEXT: s_lshl_b32 s7, s7, 8
-; SI-NEXT: s_add_i32 s12, s12, 3
-; SI-NEXT: s_or_b32 s6, s7, s6
-; SI-NEXT: v_readlane_b32 s7, v47, 16
-; SI-NEXT: s_and_b32 s12, s12, 0xff
-; SI-NEXT: s_addk_i32 s6, 0x300
-; SI-NEXT: s_lshl_b32 s7, s7, 24
-; SI-NEXT: s_lshl_b32 s12, s12, 16
-; SI-NEXT: s_and_b32 s6, s6, 0xffff
-; SI-NEXT: s_or_b32 s7, s7, s12
-; SI-NEXT: s_or_b32 s24, s7, s6
-; SI-NEXT: v_readlane_b32 s6, v47, 14
-; SI-NEXT: s_add_i32 s6, s6, 3
-; SI-NEXT: v_readlane_b32 s7, v47, 13
-; SI-NEXT: v_readlane_b32 s12, v47, 11
-; SI-NEXT: s_and_b32 s6, s6, 0xff
-; SI-NEXT: s_lshl_b32 s7, s7, 8
-; SI-NEXT: s_add_i32 s12, s12, 3
-; SI-NEXT: s_or_b32 s6, s7, s6
-; SI-NEXT: v_readlane_b32 s7, v47, 12
-; SI-NEXT: s_and_b32 s12, s12, 0xff
-; SI-NEXT: s_addk_i32 s6, 0x300
-; SI-NEXT: s_lshl_b32 s7, s7, 24
-; SI-NEXT: s_lshl_b32 s12, s12, 16
-; SI-NEXT: s_and_b32 s6, s6, 0xffff
-; SI-NEXT: s_or_b32 s7, s7, s12
-; SI-NEXT: s_or_b32 s25, s7, s6
-; SI-NEXT: v_readlane_b32 s6, v47, 10
-; SI-NEXT: s_add_i32 s6, s6, 3
-; SI-NEXT: v_readlane_b32 s7, v47, 9
-; SI-NEXT: v_readlane_b32 s12, v47, 7
-; SI-NEXT: s_and_b32 s6, s6, 0xff
-; SI-NEXT: s_lshl_b32 s7, s7, 8
-; SI-NEXT: s_add_i32 s12, s12, 3
-; SI-NEXT: s_or_b32 s6, s7, s6
-; SI-NEXT: v_readlane_b32 s7, v47, 8
-; SI-NEXT: s_and_b32 s12, s12, 0xff
-; SI-NEXT: s_addk_i32 s6, 0x300
-; SI-NEXT: s_lshl_b32 s7, s7, 24
-; SI-NEXT: s_lshl_b32 s12, s12, 16
-; SI-NEXT: s_and_b32 s6, s6, 0xffff
-; SI-NEXT: s_or_b32 s7, s7, s12
-; SI-NEXT: s_or_b32 s26, s7, s6
-; SI-NEXT: v_readlane_b32 s6, v47, 6
-; SI-NEXT: s_add_i32 s6, s6, 3
-; SI-NEXT: s_and_b32 s7, s6, 0xff
-; SI-NEXT: v_readlane_b32 s6, v56, 32
-; SI-NEXT: v_readlane_b32 s12, v47, 4
-; SI-NEXT: s_lshl_b32 s6, s6, 8
-; SI-NEXT: s_add_i32 s12, s12, 3
-; SI-NEXT: s_or_b32 s6, s6, s7
-; SI-NEXT: v_readlane_b32 s7, v47, 5
-; SI-NEXT: s_and_b32 s12, s12, 0xff
-; SI-NEXT: s_addk_i32 s6, 0x300
-; SI-NEXT: s_lshl_b32 s7, s7, 24
-; SI-NEXT: s_lshl_b32 s12, s12, 16
-; SI-NEXT: s_and_b32 s6, s6, 0xffff
-; SI-NEXT: s_or_b32 s7, s7, s12
-; SI-NEXT: s_or_b32 s29, s7, s6
-; SI-NEXT: v_readlane_b32 s6, v47, 3
-; SI-NEXT: s_add_i32 s6, s6, 3
-; SI-NEXT: v_readlane_b32 s7, v47, 2
-; SI-NEXT: v_readlane_b32 s12, v47, 0
-; SI-NEXT: s_and_b32 s6, s6, 0xff
-; SI-NEXT: s_lshl_b32 s7, s7, 8
-; SI-NEXT: s_add_i32 s12, s12, 3
-; SI-NEXT: s_or_b32 s6, s7, s6
-; SI-NEXT: v_readlane_b32 s7, v47, 1
-; SI-NEXT: s_and_b32 s12, s12, 0xff
-; SI-NEXT: s_addk_i32 s6, 0x300
-; SI-NEXT: s_lshl_b32 s7, s7, 24
-; SI-NEXT: s_lshl_b32 s12, s12, 16
-; SI-NEXT: s_and_b32 s6, s6, 0xffff
-; SI-NEXT: s_or_b32 s7, s7, s12
-; SI-NEXT: s_or_b32 s40, s7, s6
-; SI-NEXT: v_readlane_b32 s6, v56, 63
-; SI-NEXT: s_add_i32 s6, s6, 3
-; SI-NEXT: v_readlane_b32 s7, v56, 62
-; SI-NEXT: v_readlane_b32 s12, v56, 60
-; SI-NEXT: s_and_b32 s6, s6, 0xff
-; SI-NEXT: s_lshl_b32 s7, s7, 8
-; SI-NEXT: s_add_i32 s12, s12, 3
-; SI-NEXT: s_or_b32 s6, s7, s6
-; SI-NEXT: v_readlane_b32 s7, v56, 61
-; SI-NEXT: s_and_b32 s12, s12, 0xff
-; SI-NEXT: s_addk_i32 s6, 0x300
-; SI-NEXT: s_lshl_b32 s7, s7, 24
-; SI-NEXT: s_lshl_b32 s12, s12, 16
-; SI-NEXT: s_and_b32 s6, s6, 0xffff
-; SI-NEXT: s_or_b32 s7, s7, s12
-; SI-NEXT: s_or_b32 s6, s7, s6
-; SI-NEXT: s_add_i32 s27, s6, 0x3000000
-; SI-NEXT: v_readlane_b32 s6, v56, 9
-; SI-NEXT: s_add_i32 s6, s6, 3
+; SI-NEXT: v_readlane_b32 s8, v47, 44
+; SI-NEXT: s_lshl_b32 s17, s10, 8
+; SI-NEXT: v_readlane_b32 s10, v47, 36
+; SI-NEXT: s_add_i32 s58, s8, 3
+; SI-NEXT: s_lshl_b32 s14, s10, 24
+; SI-NEXT: v_readlane_b32 s10, v47, 35
+; SI-NEXT: s_and_b32 s8, s58, 0xff
+; SI-NEXT: s_add_i32 s13, s10, 3
+; SI-NEXT: s_or_b32 s8, s17, s8
+; SI-NEXT: s_and_b32 s13, s13, 0xff
+; SI-NEXT: s_lshl_b32 s13, s13, 16
+; SI-NEXT: s_addk_i32 s8, 0x300
+; SI-NEXT: s_or_b32 s13, s14, s13
+; SI-NEXT: s_and_b32 s8, s8, 0xffff
+; SI-NEXT: s_or_b32 s17, s13, s8
+; SI-NEXT: v_readlane_b32 s8, v47, 34
+; SI-NEXT: s_add_i32 s10, s8, 3
+; SI-NEXT: s_and_b32 s8, s10, 0xff
+; SI-NEXT: v_readlane_b32 s10, v47, 31
+; SI-NEXT: v_readlane_b32 s13, v47, 27
+; SI-NEXT: s_lshl_b32 s10, s10, 8
+; SI-NEXT: s_add_i32 s19, s13, 3
+; SI-NEXT: s_or_b32 s8, s10, s8
+; SI-NEXT: v_readlane_b32 s10, v47, 28
+; SI-NEXT: s_and_b32 s13, s19, 0xff
+; SI-NEXT: s_lshl_b32 s10, s10, 24
+; SI-NEXT: s_lshl_b32 s13, s13, 16
+; SI-NEXT: s_addk_i32 s8, 0x300
+; SI-NEXT: s_or_b32 s10, s10, s13
+; SI-NEXT: s_and_b32 s8, s8, 0xffff
+; SI-NEXT: s_or_b32 s19, s10, s8
+; SI-NEXT: v_readlane_b32 s8, v47, 25
+; SI-NEXT: s_add_i32 s18, s8, 3
+; SI-NEXT: v_readlane_b32 s10, v47, 23
+; SI-NEXT: v_readlane_b32 s13, v47, 19
+; SI-NEXT: s_and_b32 s8, s18, 0xff
+; SI-NEXT: s_lshl_b32 s10, s10, 8
+; SI-NEXT: s_add_i32 s13, s13, 3
+; SI-NEXT: s_or_b32 s8, s10, s8
+; SI-NEXT: v_readlane_b32 s10, v47, 20
+; SI-NEXT: s_and_b32 s13, s13, 0xff
+; SI-NEXT: s_lshl_b32 s10, s10, 24
+; SI-NEXT: s_lshl_b32 s13, s13, 16
+; SI-NEXT: s_addk_i32 s8, 0x300
+; SI-NEXT: s_or_b32 s10, s10, s13
+; SI-NEXT: s_and_b32 s8, s8, 0xffff
+; SI-NEXT: s_or_b32 s20, s10, s8
+; SI-NEXT: s_add_i32 s10, s7, 0x3000000
+; SI-NEXT: v_readlane_b32 s7, v47, 15
+; SI-NEXT: s_add_i32 s18, s4, 0x3000000
+; SI-NEXT: s_add_i32 s14, s16, 0x3000000
+; SI-NEXT: s_add_i32 s4, s17, 0x3000000
+; SI-NEXT: s_add_i32 s7, s7, 3
+; SI-NEXT: v_readlane_b32 s16, v47, 14
+; SI-NEXT: v_readlane_b32 s17, v47, 12
+; SI-NEXT: s_and_b32 s7, s7, 0xff
+; SI-NEXT: s_lshl_b32 s16, s16, 8
+; SI-NEXT: s_add_i32 s17, s17, 3
+; SI-NEXT: s_or_b32 s7, s16, s7
+; SI-NEXT: v_readlane_b32 s16, v47, 13
+; SI-NEXT: s_and_b32 s17, s17, 0xff
+; SI-NEXT: s_addk_i32 s7, 0x300
+; SI-NEXT: s_lshl_b32 s16, s16, 24
+; SI-NEXT: s_lshl_b32 s17, s17, 16
+; SI-NEXT: s_and_b32 s7, s7, 0xffff
+; SI-NEXT: s_or_b32 s16, s16, s17
+; SI-NEXT: s_or_b32 s16, s16, s7
+; SI-NEXT: v_readlane_b32 s7, v47, 11
+; SI-NEXT: s_add_i32 s13, s15, 0x3000000
+; SI-NEXT: s_add_i32 s15, s19, 0x3000000
+; SI-NEXT: s_add_i32 s7, s7, 3
+; SI-NEXT: v_readlane_b32 s17, v47, 10
+; SI-NEXT: v_readlane_b32 s19, v47, 8
+; SI-NEXT: s_and_b32 s7, s7, 0xff
+; SI-NEXT: s_lshl_b32 s17, s17, 8
+; SI-NEXT: s_add_i32 s19, s19, 3
+; SI-NEXT: s_or_b32 s7, s17, s7
+; SI-NEXT: v_readlane_b32 s17, v47, 9
+; SI-NEXT: s_and_b32 s19, s19, 0xff
+; SI-NEXT: s_addk_i32 s7, 0x300
+; SI-NEXT: s_lshl_b32 s17, s17, 24
+; SI-NEXT: s_lshl_b32 s19, s19, 16
+; SI-NEXT: s_and_b32 s7, s7, 0xffff
+; SI-NEXT: s_or_b32 s17, s17, s19
+; SI-NEXT: s_or_b32 s17, s17, s7
+; SI-NEXT: v_readlane_b32 s7, v47, 7
+; SI-NEXT: s_add_i32 s8, s5, 0x3000000
+; SI-NEXT: s_add_i32 s5, s20, 0x3000000
+; SI-NEXT: s_add_i32 s7, s7, 3
+; SI-NEXT: v_readlane_b32 s19, v47, 6
+; SI-NEXT: v_readlane_b32 s20, v47, 4
+; SI-NEXT: s_and_b32 s7, s7, 0xff
+; SI-NEXT: s_lshl_b32 s19, s19, 8
+; SI-NEXT: s_add_i32 s20, s20, 3
+; SI-NEXT: s_or_b32 s7, s19, s7
+; SI-NEXT: v_readlane_b32 s19, v47, 5
+; SI-NEXT: s_and_b32 s20, s20, 0xff
+; SI-NEXT: s_addk_i32 s7, 0x300
+; SI-NEXT: s_lshl_b32 s19, s19, 24
+; SI-NEXT: s_lshl_b32 s20, s20, 16
+; SI-NEXT: s_and_b32 s7, s7, 0xffff
+; SI-NEXT: s_or_b32 s19, s19, s20
+; SI-NEXT: s_or_b32 s19, s19, s7
+; SI-NEXT: v_readlane_b32 s7, v47, 3
+; SI-NEXT: s_add_i32 s7, s7, 3
+; SI-NEXT: v_readlane_b32 s20, v47, 2
+; SI-NEXT: v_readlane_b32 s21, v47, 0
+; SI-NEXT: s_and_b32 s7, s7, 0xff
+; SI-NEXT: s_lshl_b32 s20, s20, 8
+; SI-NEXT: s_add_i32 s21, s21, 3
+; SI-NEXT: s_or_b32 s7, s20, s7
+; SI-NEXT: v_readlane_b32 s20, v47, 1
+; SI-NEXT: s_and_b32 s21, s21, 0xff
+; SI-NEXT: s_addk_i32 s7, 0x300
+; SI-NEXT: s_lshl_b32 s20, s20, 24
+; SI-NEXT: s_lshl_b32 s21, s21, 16
+; SI-NEXT: s_and_b32 s7, s7, 0xffff
+; SI-NEXT: s_or_b32 s20, s20, s21
+; SI-NEXT: s_or_b32 s20, s20, s7
+; SI-NEXT: v_readlane_b32 s7, v56, 63
+; SI-NEXT: s_add_i32 s7, s7, 3
+; SI-NEXT: v_readlane_b32 s21, v56, 62
+; SI-NEXT: v_readlane_b32 s22, v56, 60
+; SI-NEXT: s_and_b32 s7, s7, 0xff
+; SI-NEXT: s_lshl_b32 s21, s21, 8
+; SI-NEXT: s_add_i32 s22, s22, 3
+; SI-NEXT: s_or_b32 s7, s21, s7
+; SI-NEXT: v_readlane_b32 s21, v56, 61
+; SI-NEXT: s_and_b32 s22, s22, 0xff
+; SI-NEXT: s_addk_i32 s7, 0x300
+; SI-NEXT: s_lshl_b32 s21, s21, 24
+; SI-NEXT: s_lshl_b32 s22, s22, 16
+; SI-NEXT: s_and_b32 s7, s7, 0xffff
+; SI-NEXT: s_or_b32 s21, s21, s22
+; SI-NEXT: s_or_b32 s21, s21, s7
; SI-NEXT: v_readlane_b32 s7, v56, 59
-; SI-NEXT: v_readlane_b32 s12, v56, 57
-; SI-NEXT: s_and_b32 s6, s6, 0xff
+; SI-NEXT: s_add_i32 s7, s7, 3
+; SI-NEXT: s_and_b32 s22, s7, 0xff
+; SI-NEXT: v_readlane_b32 s7, v56, 34
+; SI-NEXT: v_readlane_b32 s23, v56, 57
; SI-NEXT: s_lshl_b32 s7, s7, 8
-; SI-NEXT: s_add_i32 s12, s12, 3
-; SI-NEXT: s_or_b32 s6, s7, s6
-; SI-NEXT: v_readlane_b32 s7, v56, 58
-; SI-NEXT: s_and_b32 s12, s12, 0xff
-; SI-NEXT: s_addk_i32 s6, 0x300
-; SI-NEXT: s_lshl_b32 s7, s7, 24
-; SI-NEXT: s_lshl_b32 s12, s12, 16
-; SI-NEXT: s_and_b32 s6, s6, 0xffff
-; SI-NEXT: s_or_b32 s7, s7, s12
-; SI-NEXT: s_or_b32 s6, s7, s6
-; SI-NEXT: s_add_i32 s12, s6, 0x3000000
-; SI-NEXT: v_readlane_b32 s6, v56, 13
-; SI-NEXT: s_add_i32 s6, s6, 3
+; SI-NEXT: s_add_i32 s23, s23, 3
+; SI-NEXT: s_or_b32 s7, s7, s22
+; SI-NEXT: v_readlane_b32 s22, v56, 58
+; SI-NEXT: s_and_b32 s23, s23, 0xff
+; SI-NEXT: s_addk_i32 s7, 0x300
+; SI-NEXT: s_lshl_b32 s22, s22, 24
+; SI-NEXT: s_lshl_b32 s23, s23, 16
+; SI-NEXT: s_and_b32 s7, s7, 0xffff
+; SI-NEXT: s_or_b32 s22, s22, s23
+; SI-NEXT: s_or_b32 s22, s22, s7
+; SI-NEXT: v_readlane_b32 s7, v56, 56
+; SI-NEXT: s_add_i32 s7, s7, 3
+; SI-NEXT: v_readlane_b32 s23, v56, 55
+; SI-NEXT: v_readlane_b32 s24, v56, 53
+; SI-NEXT: s_and_b32 s7, s7, 0xff
+; SI-NEXT: s_lshl_b32 s23, s23, 8
+; SI-NEXT: s_add_i32 s24, s24, 3
+; SI-NEXT: s_or_b32 s7, s23, s7
+; SI-NEXT: v_readlane_b32 s23, v56, 54
+; SI-NEXT: s_and_b32 s24, s24, 0xff
+; SI-NEXT: s_addk_i32 s7, 0x300
+; SI-NEXT: s_lshl_b32 s23, s23, 24
+; SI-NEXT: s_lshl_b32 s24, s24, 16
+; SI-NEXT: s_and_b32 s7, s7, 0xffff
+; SI-NEXT: s_or_b32 s23, s23, s24
+; SI-NEXT: s_or_b32 s23, s23, s7
+; SI-NEXT: v_readlane_b32 s7, v56, 52
+; SI-NEXT: s_add_i32 s7, s7, 3
+; SI-NEXT: v_readlane_b32 s24, v56, 51
+; SI-NEXT: v_readlane_b32 s25, v56, 49
+; SI-NEXT: s_and_b32 s7, s7, 0xff
+; SI-NEXT: s_lshl_b32 s24, s24, 8
+; SI-NEXT: s_add_i32 s25, s25, 3
+; SI-NEXT: s_or_b32 s7, s24, s7
+; SI-NEXT: v_readlane_b32 s24, v56, 50
+; SI-NEXT: s_and_b32 s25, s25, 0xff
+; SI-NEXT: s_addk_i32 s7, 0x300
+; SI-NEXT: s_lshl_b32 s24, s24, 24
+; SI-NEXT: s_lshl_b32 s25, s25, 16
+; SI-NEXT: s_and_b32 s7, s7, 0xffff
+; SI-NEXT: s_or_b32 s24, s24, s25
+; SI-NEXT: s_or_b32 s7, s24, s7
+; SI-NEXT: s_add_i32 s24, s7, 0x3000000
; SI-NEXT: v_readlane_b32 s7, v56, 12
-; SI-NEXT: v_readlane_b32 s18, v56, 11
-; SI-NEXT: s_and_b32 s6, s6, 0xff
-; SI-NEXT: s_lshl_b32 s7, s7, 8
-; SI-NEXT: s_add_i32 s18, s18, 3
-; SI-NEXT: s_or_b32 s6, s7, s6
-; SI-NEXT: v_readlane_b32 s7, v56, 10
-; SI-NEXT: s_and_b32 s18, s18, 0xff
-; SI-NEXT: s_addk_i32 s6, 0x300
-; SI-NEXT: s_lshl_b32 s7, s7, 24
-; SI-NEXT: s_lshl_b32 s18, s18, 16
-; SI-NEXT: s_and_b32 s6, s6, 0xffff
-; SI-NEXT: s_or_b32 s7, s7, s18
-; SI-NEXT: s_or_b32 s6, s7, s6
-; SI-NEXT: s_add_i32 s28, s6, 0x3000000
-; SI-NEXT: v_readlane_b32 s6, v56, 17
-; SI-NEXT: s_add_i32 s6, s6, 3
+; SI-NEXT: s_add_i32 s7, s7, 3
+; SI-NEXT: v_readlane_b32 s25, v56, 48
+; SI-NEXT: v_readlane_b32 s26, v56, 46
+; SI-NEXT: s_and_b32 s7, s7, 0xff
+; SI-NEXT: s_lshl_b32 s25, s25, 8
+; SI-NEXT: s_add_i32 s26, s26, 3
+; SI-NEXT: s_or_b32 s7, s25, s7
+; SI-NEXT: v_readlane_b32 s25, v56, 47
+; SI-NEXT: s_and_b32 s26, s26, 0xff
+; SI-NEXT: s_addk_i32 s7, 0x300
+; SI-NEXT: s_lshl_b32 s25, s25, 24
+; SI-NEXT: s_lshl_b32 s26, s26, 16
+; SI-NEXT: s_and_b32 s7, s7, 0xffff
+; SI-NEXT: s_or_b32 s25, s25, s26
+; SI-NEXT: s_or_b32 s7, s25, s7
+; SI-NEXT: s_add_i32 s25, s7, 0x3000000
; SI-NEXT: v_readlane_b32 s7, v56, 16
-; SI-NEXT: v_readlane_b32 s18, v56, 15
-; SI-NEXT: s_and_b32 s6, s6, 0xff
-; SI-NEXT: s_lshl_b32 s7, s7, 8
-; SI-NEXT: s_add_i32 s18, s18, 3
-; SI-NEXT: s_or_b32 s6, s7, s6
-; SI-NEXT: v_readlane_b32 s7, v56, 14
-; SI-NEXT: s_and_b32 s18, s18, 0xff
-; SI-NEXT: s_addk_i32 s6, 0x300
-; SI-NEXT: s_lshl_b32 s7, s7, 24
-; SI-NEXT: s_lshl_b32 s18, s18, 16
-; SI-NEXT: s_and_b32 s6, s6, 0xffff
-; SI-NEXT: s_or_b32 s7, s7, s18
-; SI-NEXT: s_or_b32 s6, s7, s6
-; SI-NEXT: s_add_i32 s20, s6, 0x3000000
-; SI-NEXT: v_readlane_b32 s6, v56, 47
-; SI-NEXT: s_add_i32 s6, s6, 3
+; SI-NEXT: s_add_i32 s7, s7, 3
+; SI-NEXT: v_readlane_b32 s26, v56, 15
+; SI-NEXT: v_readlane_b32 s27, v56, 14
+; SI-NEXT: s_and_b32 s7, s7, 0xff
+; SI-NEXT: s_lshl_b32 s26, s26, 8
+; SI-NEXT: s_add_i32 s27, s27, 3
+; SI-NEXT: s_or_b32 s7, s26, s7
+; SI-NEXT: v_readlane_b32 s26, v56, 13
+; SI-NEXT: s_and_b32 s27, s27, 0xff
+; SI-NEXT: s_addk_i32 s7, 0x300
+; SI-NEXT: s_lshl_b32 s26, s26, 24
+; SI-NEXT: s_lshl_b32 s27, s27, 16
+; SI-NEXT: s_and_b32 s7, s7, 0xffff
+; SI-NEXT: s_or_b32 s26, s26, s27
+; SI-NEXT: s_or_b32 s7, s26, s7
+; SI-NEXT: s_add_i32 s26, s7, 0x3000000
; SI-NEXT: v_readlane_b32 s7, v56, 20
-; SI-NEXT: v_readlane_b32 s18, v56, 19
-; SI-NEXT: s_and_b32 s6, s6, 0xff
-; SI-NEXT: s_lshl_b32 s7, s7, 8
-; SI-NEXT: s_add_i32 s18, s18, 3
-; SI-NEXT: s_or_b32 s6, s7, s6
-; SI-NEXT: v_readlane_b32 s7, v56, 18
-; SI-NEXT: s_and_b32 s18, s18, 0xff
-; SI-NEXT: s_addk_i32 s6, 0x300
-; SI-NEXT: s_lshl_b32 s7, s7, 24
-; SI-NEXT: s_lshl_b32 s18, s18, 16
-; SI-NEXT: s_and_b32 s6, s6, 0xffff
-; SI-NEXT: s_or_b32 s7, s7, s18
-; SI-NEXT: s_or_b32 s6, s7, s6
-; SI-NEXT: s_add_i32 s7, s6, 0x3000000
-; SI-NEXT: v_readlane_b32 s6, v56, 49
-; SI-NEXT: s_add_i32 s6, s6, 3
-; SI-NEXT: v_readlane_b32 s18, v56, 45
-; SI-NEXT: v_readlane_b32 s19, v56, 39
-; SI-NEXT: s_and_b32 s6, s6, 0xff
-; SI-NEXT: s_lshl_b32 s18, s18, 8
-; SI-NEXT: s_add_i32 s19, s19, 3
-; SI-NEXT: s_or_b32 s6, s18, s6
-; SI-NEXT: v_readlane_b32 s18, v56, 38
-; SI-NEXT: s_and_b32 s19, s19, 0xff
-; SI-NEXT: s_addk_i32 s6, 0x300
-; SI-NEXT: s_lshl_b32 s18, s18, 24
-; SI-NEXT: s_lshl_b32 s19, s19, 16
-; SI-NEXT: s_and_b32 s6, s6, 0xffff
-; SI-NEXT: s_or_b32 s18, s18, s19
-; SI-NEXT: s_or_b32 s6, s18, s6
-; SI-NEXT: s_add_i32 s18, s6, 0x3000000
-; SI-NEXT: v_readlane_b32 s6, v56, 51
-; SI-NEXT: s_add_i32 s6, s6, 3
-; SI-NEXT: v_readlane_b32 s19, v56, 48
-; SI-NEXT: v_readlane_b32 s41, v56, 41
-; SI-NEXT: s_and_b32 s6, s6, 0xff
-; SI-NEXT: s_lshl_b32 s19, s19, 8
+; SI-NEXT: s_add_i32 s7, s7, 3
+; SI-NEXT: v_readlane_b32 s27, v56, 19
+; SI-NEXT: v_readlane_b32 s28, v56, 18
+; SI-NEXT: s_and_b32 s7, s7, 0xff
+; SI-NEXT: s_lshl_b32 s27, s27, 8
+; SI-NEXT: s_add_i32 s28, s28, 3
+; SI-NEXT: s_or_b32 s7, s27, s7
+; SI-NEXT: v_readlane_b32 s27, v56, 17
+; SI-NEXT: s_and_b32 s28, s28, 0xff
+; SI-NEXT: s_addk_i32 s7, 0x300
+; SI-NEXT: s_lshl_b32 s27, s27, 24
+; SI-NEXT: s_lshl_b32 s28, s28, 16
+; SI-NEXT: s_and_b32 s7, s7, 0xffff
+; SI-NEXT: s_or_b32 s27, s27, s28
+; SI-NEXT: s_or_b32 s7, s27, s7
+; SI-NEXT: s_add_i32 s27, s7, 0x3000000
+; SI-NEXT: v_readlane_b32 s7, v56, 24
+; SI-NEXT: s_add_i32 s7, s7, 3
+; SI-NEXT: v_readlane_b32 s28, v56, 23
+; SI-NEXT: v_readlane_b32 s29, v56, 22
+; SI-NEXT: s_and_b32 s7, s7, 0xff
+; SI-NEXT: s_lshl_b32 s28, s28, 8
+; SI-NEXT: s_add_i32 s29, s29, 3
+; SI-NEXT: s_or_b32 s7, s28, s7
+; SI-NEXT: v_readlane_b32 s28, v56, 21
+; SI-NEXT: s_and_b32 s29, s29, 0xff
+; SI-NEXT: s_addk_i32 s7, 0x300
+; SI-NEXT: s_lshl_b32 s28, s28, 24
+; SI-NEXT: s_lshl_b32 s29, s29, 16
+; SI-NEXT: s_and_b32 s7, s7, 0xffff
+; SI-NEXT: s_or_b32 s28, s28, s29
+; SI-NEXT: s_or_b32 s7, s28, s7
+; SI-NEXT: s_add_i32 s28, s7, 0x3000000
+; SI-NEXT: v_readlane_b32 s7, v56, 28
+; SI-NEXT: s_add_i32 s7, s7, 3
+; SI-NEXT: v_readlane_b32 s29, v56, 27
+; SI-NEXT: v_readlane_b32 s40, v56, 26
+; SI-NEXT: s_and_b32 s7, s7, 0xff
+; SI-NEXT: s_lshl_b32 s29, s29, 8
+; SI-NEXT: s_add_i32 s40, s40, 3
+; SI-NEXT: s_or_b32 s7, s29, s7
+; SI-NEXT: v_readlane_b32 s29, v56, 25
+; SI-NEXT: s_and_b32 s40, s40, 0xff
+; SI-NEXT: s_addk_i32 s7, 0x300
+; SI-NEXT: s_lshl_b32 s29, s29, 24
+; SI-NEXT: s_lshl_b32 s40, s40, 16
+; SI-NEXT: s_and_b32 s7, s7, 0xffff
+; SI-NEXT: s_or_b32 s29, s29, s40
+; SI-NEXT: s_or_b32 s7, s29, s7
+; SI-NEXT: s_add_i32 s29, s7, 0x3000000
+; SI-NEXT: v_readlane_b32 s7, v56, 32
+; SI-NEXT: s_add_i32 s7, s7, 3
+; SI-NEXT: v_readlane_b32 s40, v56, 31
+; SI-NEXT: v_readlane_b32 s41, v56, 30
+; SI-NEXT: s_and_b32 s7, s7, 0xff
+; SI-NEXT: s_lshl_b32 s40, s40, 8
; SI-NEXT: s_add_i32 s41, s41, 3
-; SI-NEXT: s_or_b32 s6, s19, s6
-; SI-NEXT: v_readlane_b32 s19, v56, 40
+; SI-NEXT: s_or_b32 s7, s40, s7
+; SI-NEXT: v_readlane_b32 s40, v56, 29
; SI-NEXT: s_and_b32 s41, s41, 0xff
-; SI-NEXT: s_addk_i32 s6, 0x300
-; SI-NEXT: s_lshl_b32 s19, s19, 24
+; SI-NEXT: s_addk_i32 s7, 0x300
+; SI-NEXT: s_lshl_b32 s40, s40, 24
; SI-NEXT: s_lshl_b32 s41, s41, 16
-; SI-NEXT: s_and_b32 s6, s6, 0xffff
-; SI-NEXT: s_or_b32 s19, s19, s41
-; SI-NEXT: s_or_b32 s6, s19, s6
-; SI-NEXT: v_readlane_b32 s19, v56, 52
-; SI-NEXT: s_add_i32 s19, s19, 3
-; SI-NEXT: v_readlane_b32 s41, v56, 50
-; SI-NEXT: v_readlane_b32 s42, v56, 43
-; SI-NEXT: s_and_b32 s19, s19, 0xff
+; SI-NEXT: s_and_b32 s7, s7, 0xffff
+; SI-NEXT: s_or_b32 s40, s40, s41
+; SI-NEXT: s_or_b32 s7, s40, s7
+; SI-NEXT: s_add_i32 s40, s7, 0x3000000
+; SI-NEXT: v_readlane_b32 s7, v56, 41
+; SI-NEXT: s_add_i32 s7, s7, 3
+; SI-NEXT: v_readlane_b32 s41, v56, 40
+; SI-NEXT: v_readlane_b32 s42, v56, 37
+; SI-NEXT: s_and_b32 s7, s7, 0xff
; SI-NEXT: s_lshl_b32 s41, s41, 8
; SI-NEXT: s_add_i32 s42, s42, 3
-; SI-NEXT: s_or_b32 s19, s41, s19
-; SI-NEXT: v_readlane_b32 s41, v56, 42
+; SI-NEXT: s_or_b32 s7, s41, s7
+; SI-NEXT: v_readlane_b32 s41, v56, 33
; SI-NEXT: s_and_b32 s42, s42, 0xff
-; SI-NEXT: s_addk_i32 s19, 0x300
+; SI-NEXT: s_addk_i32 s7, 0x300
; SI-NEXT: s_lshl_b32 s41, s41, 24
; SI-NEXT: s_lshl_b32 s42, s42, 16
-; SI-NEXT: s_and_b32 s19, s19, 0xffff
+; SI-NEXT: s_and_b32 s7, s7, 0xffff
; SI-NEXT: s_or_b32 s41, s41, s42
-; SI-NEXT: s_or_b32 s19, s41, s19
-; SI-NEXT: v_readlane_b32 s41, v56, 55
-; SI-NEXT: s_add_i32 s41, s41, 3
-; SI-NEXT: v_readlane_b32 s42, v56, 53
-; SI-NEXT: v_readlane_b32 s43, v56, 46
-; SI-NEXT: s_and_b32 s41, s41, 0xff
+; SI-NEXT: s_or_b32 s7, s41, s7
+; SI-NEXT: s_add_i32 s41, s7, 0x3000000
+; SI-NEXT: v_readlane_b32 s7, v56, 44
+; SI-NEXT: s_add_i32 s7, s7, 3
+; SI-NEXT: v_readlane_b32 s42, v56, 42
+; SI-NEXT: v_readlane_b32 s43, v56, 39
+; SI-NEXT: s_and_b32 s7, s7, 0xff
; SI-NEXT: s_lshl_b32 s42, s42, 8
; SI-NEXT: s_add_i32 s43, s43, 3
-; SI-NEXT: s_or_b32 s41, s42, s41
-; SI-NEXT: v_readlane_b32 s42, v56, 44
+; SI-NEXT: s_or_b32 s7, s42, s7
+; SI-NEXT: v_readlane_b32 s42, v56, 38
; SI-NEXT: s_and_b32 s43, s43, 0xff
-; SI-NEXT: s_addk_i32 s41, 0x300
+; SI-NEXT: s_addk_i32 s7, 0x300
; SI-NEXT: s_lshl_b32 s42, s42, 24
; SI-NEXT: s_lshl_b32 s43, s43, 16
-; SI-NEXT: s_and_b32 s41, s41, 0xffff
+; SI-NEXT: s_and_b32 s7, s7, 0xffff
; SI-NEXT: s_or_b32 s42, s42, s43
-; SI-NEXT: s_or_b32 s41, s42, s41
-; SI-NEXT: v_readlane_b32 s42, v56, 1
-; SI-NEXT: s_add_i32 s42, s42, 3
+; SI-NEXT: s_or_b32 s7, s42, s7
+; SI-NEXT: s_add_i32 s42, s7, 0x3000000
+; SI-NEXT: v_readlane_b32 s7, v56, 1
+; SI-NEXT: s_add_i32 s7, s7, 3
; SI-NEXT: v_readlane_b32 s43, v56, 0
-; SI-NEXT: v_readlane_b32 s44, v56, 56
-; SI-NEXT: s_and_b32 s42, s42, 0xff
+; SI-NEXT: v_readlane_b32 s44, v56, 45
+; SI-NEXT: s_and_b32 s7, s7, 0xff
; SI-NEXT: s_lshl_b32 s43, s43, 8
; SI-NEXT: s_add_i32 s44, s44, 3
-; SI-NEXT: s_or_b32 s42, s43, s42
-; SI-NEXT: v_readlane_b32 s43, v56, 54
+; SI-NEXT: s_or_b32 s7, s43, s7
+; SI-NEXT: v_readlane_b32 s43, v56, 43
; SI-NEXT: s_and_b32 s44, s44, 0xff
-; SI-NEXT: s_addk_i32 s42, 0x300
+; SI-NEXT: s_addk_i32 s7, 0x300
; SI-NEXT: s_lshl_b32 s43, s43, 24
; SI-NEXT: s_lshl_b32 s44, s44, 16
-; SI-NEXT: s_and_b32 s42, s42, 0xffff
+; SI-NEXT: s_and_b32 s7, s7, 0xffff
; SI-NEXT: s_or_b32 s43, s43, s44
-; SI-NEXT: s_or_b32 s42, s43, s42
-; SI-NEXT: v_readlane_b32 s43, v56, 5
-; SI-NEXT: s_add_i32 s43, s43, 3
+; SI-NEXT: s_or_b32 s7, s43, s7
+; SI-NEXT: s_add_i32 s43, s7, 0x3000000
+; SI-NEXT: v_readlane_b32 s7, v56, 5
+; SI-NEXT: s_add_i32 s7, s7, 3
; SI-NEXT: v_readlane_b32 s44, v56, 4
; SI-NEXT: v_readlane_b32 s45, v56, 3
-; SI-NEXT: s_and_b32 s43, s43, 0xff
+; SI-NEXT: s_and_b32 s7, s7, 0xff
; SI-NEXT: s_lshl_b32 s44, s44, 8
; SI-NEXT: s_add_i32 s45, s45, 3
-; SI-NEXT: s_or_b32 s43, s44, s43
+; SI-NEXT: s_or_b32 s7, s44, s7
; SI-NEXT: v_readlane_b32 s44, v56, 2
; SI-NEXT: s_and_b32 s45, s45, 0xff
-; SI-NEXT: s_addk_i32 s43, 0x300
+; SI-NEXT: s_addk_i32 s7, 0x300
; SI-NEXT: s_lshl_b32 s44, s44, 24
; SI-NEXT: s_lshl_b32 s45, s45, 16
-; SI-NEXT: s_and_b32 s43, s43, 0xffff
+; SI-NEXT: s_and_b32 s7, s7, 0xffff
; SI-NEXT: s_or_b32 s44, s44, s45
-; SI-NEXT: s_or_b32 s43, s44, s43
-; SI-NEXT: v_readlane_b32 s44, v56, 37
-; SI-NEXT: s_add_i32 s44, s44, 3
+; SI-NEXT: s_or_b32 s7, s44, s7
+; SI-NEXT: s_add_i32 s44, s7, 0x3000000
+; SI-NEXT: v_readlane_b32 s7, v56, 9
+; SI-NEXT: s_add_i32 s7, s7, 3
; SI-NEXT: v_readlane_b32 s45, v56, 8
; SI-NEXT: v_readlane_b32 s46, v56, 7
-; SI-NEXT: s_and_b32 s44, s44, 0xff
+; SI-NEXT: s_and_b32 s7, s7, 0xff
; SI-NEXT: s_lshl_b32 s45, s45, 8
; SI-NEXT: s_add_i32 s46, s46, 3
-; SI-NEXT: s_or_b32 s44, s45, s44
+; SI-NEXT: s_or_b32 s7, s45, s7
; SI-NEXT: v_readlane_b32 s45, v56, 6
; SI-NEXT: s_and_b32 s46, s46, 0xff
-; SI-NEXT: s_addk_i32 s44, 0x300
+; SI-NEXT: s_addk_i32 s7, 0x300
; SI-NEXT: s_lshl_b32 s45, s45, 24
; SI-NEXT: s_lshl_b32 s46, s46, 16
-; SI-NEXT: s_and_b32 s44, s44, 0xffff
+; SI-NEXT: s_and_b32 s7, s7, 0xffff
; SI-NEXT: s_or_b32 s45, s45, s46
-; SI-NEXT: s_or_b32 s44, s45, s44
-; SI-NEXT: v_readlane_b32 s45, v56, 36
-; SI-NEXT: s_add_i32 s45, s45, 3
+; SI-NEXT: s_or_b32 s7, s45, s7
+; SI-NEXT: s_add_i32 s45, s7, 0x3000000
+; SI-NEXT: v_readlane_b32 s7, v56, 36
+; SI-NEXT: s_add_i32 s7, s7, 3
; SI-NEXT: v_readlane_b32 s46, v56, 35
-; SI-NEXT: v_readlane_b32 s47, v56, 33
-; SI-NEXT: s_and_b32 s45, s45, 0xff
+; SI-NEXT: v_readlane_b32 s47, v56, 11
+; SI-NEXT: s_and_b32 s7, s7, 0xff
; SI-NEXT: s_lshl_b32 s46, s46, 8
; SI-NEXT: s_add_i32 s47, s47, 3
-; SI-NEXT: s_or_b32 s45, s46, s45
-; SI-NEXT: v_readlane_b32 s46, v56, 34
+; SI-NEXT: s_or_b32 s7, s46, s7
+; SI-NEXT: v_readlane_b32 s46, v56, 10
; SI-NEXT: s_and_b32 s47, s47, 0xff
-; SI-NEXT: s_addk_i32 s45, 0x300
+; SI-NEXT: s_addk_i32 s7, 0x300
; SI-NEXT: s_lshl_b32 s46, s46, 24
; SI-NEXT: s_lshl_b32 s47, s47, 16
-; SI-NEXT: s_and_b32 s45, s45, 0xffff
+; SI-NEXT: s_and_b32 s7, s7, 0xffff
; SI-NEXT: s_or_b32 s46, s46, s47
-; SI-NEXT: s_or_b32 s45, s46, s45
-; SI-NEXT: s_add_i32 s4, s4, 0x3000000
-; SI-NEXT: s_add_i32 s5, s5, 0x3000000
+; SI-NEXT: s_or_b32 s7, s46, s7
+; SI-NEXT: s_add_i32 s6, s6, 0x3000000
+; SI-NEXT: s_add_i32 s12, s12, 0x3000000
+; SI-NEXT: s_add_i32 s11, s11, 0x3000000
; SI-NEXT: s_add_i32 s9, s9, 0x3000000
-; SI-NEXT: s_add_i32 s13, s13, 0x3000000
-; SI-NEXT: s_add_i32 s14, s14, 0x3000000
-; SI-NEXT: s_add_i32 s15, s15, 0x3000000
; SI-NEXT: s_add_i32 s16, s16, 0x3000000
; SI-NEXT: s_add_i32 s17, s17, 0x3000000
-; SI-NEXT: s_add_i32 s21, s21, 0x3000000
-; SI-NEXT: s_add_i32 s24, s24, 0x3000000
-; SI-NEXT: s_add_i32 s25, s25, 0x3000000
-; SI-NEXT: s_add_i32 s26, s26, 0x3000000
-; SI-NEXT: s_add_i32 s29, s29, 0x3000000
-; SI-NEXT: s_add_i32 s40, s40, 0x3000000
-; SI-NEXT: s_add_i32 s6, s6, 0x3000000
; SI-NEXT: s_add_i32 s19, s19, 0x3000000
-; SI-NEXT: s_add_i32 s41, s41, 0x3000000
-; SI-NEXT: s_add_i32 s42, s42, 0x3000000
-; SI-NEXT: s_add_i32 s43, s43, 0x3000000
-; SI-NEXT: s_add_i32 s44, s44, 0x3000000
-; SI-NEXT: s_add_i32 s45, s45, 0x3000000
-; SI-NEXT: s_and_b32 s82, s45, 0xffff0000
-; SI-NEXT: s_lshl_b32 s81, s45, 16
-; SI-NEXT: s_and_b32 s83, s44, 0xffff0000
-; SI-NEXT: s_lshl_b32 s80, s44, 16
-; SI-NEXT: s_and_b32 s85, s43, 0xffff0000
-; SI-NEXT: s_lshl_b32 s84, s43, 16
-; SI-NEXT: s_and_b32 s86, s42, 0xffff0000
-; SI-NEXT: s_lshl_b32 s71, s42, 16
-; SI-NEXT: s_and_b32 s96, s41, 0xffff0000
-; SI-NEXT: s_lshl_b32 s87, s41, 16
-; SI-NEXT: s_and_b32 s97, s19, 0xffff0000
-; SI-NEXT: s_lshl_b32 s70, s19, 16
-; SI-NEXT: s_and_b32 s99, s6, 0xffff0000
-; SI-NEXT: s_lshl_b32 s98, s6, 16
-; SI-NEXT: s_and_b32 s6, s18, 0xffff0000
-; SI-NEXT: s_lshl_b32 s69, s18, 16
-; SI-NEXT: s_and_b32 s18, s7, 0xffff0000
+; SI-NEXT: s_add_i32 s20, s20, 0x3000000
+; SI-NEXT: s_add_i32 s21, s21, 0x3000000
+; SI-NEXT: s_add_i32 s22, s22, 0x3000000
+; SI-NEXT: s_add_i32 s23, s23, 0x3000000
+; SI-NEXT: s_add_i32 s7, s7, 0x3000000
+; SI-NEXT: s_and_b32 s39, s7, 0xffff0000
; SI-NEXT: s_lshl_b32 s7, s7, 16
-; SI-NEXT: s_and_b32 s42, s20, 0xffff0000
-; SI-NEXT: s_lshl_b32 s68, s20, 16
-; SI-NEXT: s_and_b32 s20, s28, 0xffff0000
-; SI-NEXT: s_lshl_b32 s19, s28, 16
-; SI-NEXT: s_and_b32 s43, s12, 0xffff0000
-; SI-NEXT: s_lshl_b32 s67, s12, 16
-; SI-NEXT: s_and_b32 s12, s27, 0xffff0000
-; SI-NEXT: s_lshl_b32 s45, s27, 16
-; SI-NEXT: s_and_b32 s44, s40, 0xffff0000
-; SI-NEXT: s_lshl_b32 s66, s40, 16
-; SI-NEXT: s_and_b32 s59, s29, 0xffff0000
-; SI-NEXT: s_lshl_b32 s41, s29, 16
-; SI-NEXT: s_and_b32 s27, s26, 0xffff0000
-; SI-NEXT: s_lshl_b32 s65, s26, 16
-; SI-NEXT: s_and_b32 s75, s25, 0xffff0000
-; SI-NEXT: s_lshl_b32 s62, s25, 16
-; SI-NEXT: s_and_b32 s29, s24, 0xffff0000
-; SI-NEXT: s_lshl_b32 s64, s24, 16
-; SI-NEXT: s_and_b32 s24, s21, 0xffff0000
-; SI-NEXT: s_lshl_b32 s46, s21, 16
-; SI-NEXT: s_and_b32 s21, s17, 0xffff0000
-; SI-NEXT: s_lshl_b32 s55, s17, 16
-; SI-NEXT: s_and_b32 s40, s16, 0xffff0000
-; SI-NEXT: s_lshl_b32 s88, s16, 16
-; SI-NEXT: s_and_b32 s92, s15, 0xffff0000
-; SI-NEXT: s_lshl_b32 s54, s15, 16
-; SI-NEXT: s_and_b32 s93, s14, 0xffff0000
-; SI-NEXT: s_lshl_b32 s91, s14, 16
-; SI-NEXT: s_and_b32 s95, s13, 0xffff0000
-; SI-NEXT: s_lshl_b32 s53, s13, 16
-; SI-NEXT: s_and_b32 vcc_lo, s11, 0xffff0000
-; SI-NEXT: s_lshl_b32 s94, s11, 16
-; SI-NEXT: s_and_b32 s30, s10, 0xffff0000
-; SI-NEXT: s_lshl_b32 s52, s10, 16
-; SI-NEXT: s_and_b32 s31, s9, 0xffff0000
-; SI-NEXT: s_lshl_b32 vcc_hi, s9, 16
-; SI-NEXT: s_and_b32 s35, s8, 0xffff0000
-; SI-NEXT: s_lshl_b32 s51, s8, 16
-; SI-NEXT: s_and_b32 s36, s22, 0xffff0000
-; SI-NEXT: s_lshl_b32 s34, s22, 16
-; SI-NEXT: s_and_b32 s38, s23, 0xffff0000
-; SI-NEXT: s_lshl_b32 s50, s23, 16
-; SI-NEXT: s_and_b32 s39, s5, 0xffff0000
-; SI-NEXT: s_lshl_b32 s37, s5, 16
-; SI-NEXT: s_and_b32 s48, s4, 0xffff0000
-; SI-NEXT: s_lshl_b32 s49, s4, 16
+; SI-NEXT: s_and_b32 s48, s45, 0xffff0000
+; SI-NEXT: s_lshl_b32 s37, s45, 16
+; SI-NEXT: s_and_b32 s50, s44, 0xffff0000
+; SI-NEXT: s_lshl_b32 s49, s44, 16
+; SI-NEXT: s_and_b32 s51, s43, 0xffff0000
+; SI-NEXT: s_lshl_b32 s36, s43, 16
+; SI-NEXT: s_and_b32 s53, s42, 0xffff0000
+; SI-NEXT: s_lshl_b32 s52, s42, 16
+; SI-NEXT: s_and_b32 s54, s41, 0xffff0000
+; SI-NEXT: s_lshl_b32 s35, s41, 16
+; SI-NEXT: s_and_b32 s64, s40, 0xffff0000
+; SI-NEXT: s_lshl_b32 s55, s40, 16
+; SI-NEXT: s_and_b32 s65, s29, 0xffff0000
+; SI-NEXT: s_lshl_b32 s34, s29, 16
+; SI-NEXT: s_and_b32 s67, s28, 0xffff0000
+; SI-NEXT: s_lshl_b32 s66, s28, 16
+; SI-NEXT: s_and_b32 s68, s27, 0xffff0000
+; SI-NEXT: s_lshl_b32 s31, s27, 16
+; SI-NEXT: s_and_b32 s70, s26, 0xffff0000
+; SI-NEXT: s_lshl_b32 s69, s26, 16
+; SI-NEXT: s_and_b32 s71, s25, 0xffff0000
+; SI-NEXT: s_lshl_b32 s28, s25, 16
+; SI-NEXT: s_and_b32 s81, s24, 0xffff0000
+; SI-NEXT: s_lshl_b32 s80, s24, 16
+; SI-NEXT: s_and_b32 s82, s23, 0xffff0000
+; SI-NEXT: s_lshl_b32 s24, s23, 16
+; SI-NEXT: s_and_b32 s84, s22, 0xffff0000
+; SI-NEXT: s_lshl_b32 s83, s22, 16
+; SI-NEXT: s_and_b32 s85, s21, 0xffff0000
+; SI-NEXT: s_lshl_b32 s26, s21, 16
+; SI-NEXT: s_and_b32 s87, s20, 0xffff0000
+; SI-NEXT: s_lshl_b32 s86, s20, 16
+; SI-NEXT: s_and_b32 s96, s19, 0xffff0000
+; SI-NEXT: s_lshl_b32 s95, s19, 16
+; SI-NEXT: s_and_b32 s98, s17, 0xffff0000
+; SI-NEXT: s_lshl_b32 s97, s17, 16
+; SI-NEXT: s_and_b32 s99, s16, 0xffff0000
+; SI-NEXT: s_lshl_b32 s94, s16, 16
+; SI-NEXT: s_and_b32 s38, s5, 0xffff0000
+; SI-NEXT: s_lshl_b32 s5, s5, 16
+; SI-NEXT: s_and_b32 s29, s15, 0xffff0000
+; SI-NEXT: s_lshl_b32 s93, s15, 16
+; SI-NEXT: s_and_b32 s15, s4, 0xffff0000
+; SI-NEXT: s_lshl_b32 s4, s4, 16
+; SI-NEXT: s_and_b32 s43, s14, 0xffff0000
+; SI-NEXT: s_lshl_b32 s92, s14, 16
+; SI-NEXT: s_and_b32 s47, s13, 0xffff0000
+; SI-NEXT: s_lshl_b32 s14, s13, 16
+; SI-NEXT: s_and_b32 s42, s9, 0xffff0000
+; SI-NEXT: s_lshl_b32 s91, s9, 16
+; SI-NEXT: s_and_b32 s13, s11, 0xffff0000
+; SI-NEXT: s_lshl_b32 s45, s11, 16
+; SI-NEXT: s_and_b32 s11, s12, 0xffff0000
+; SI-NEXT: s_lshl_b32 s90, s12, 16
+; SI-NEXT: s_and_b32 s40, s10, 0xffff0000
+; SI-NEXT: s_lshl_b32 s27, s10, 16
+; SI-NEXT: s_and_b32 s41, s8, 0xffff0000
+; SI-NEXT: s_lshl_b32 s89, s8, 16
+; SI-NEXT: s_and_b32 s44, s18, 0xffff0000
+; SI-NEXT: s_lshl_b32 s12, s18, 16
+; SI-NEXT: s_and_b32 s46, s6, 0xffff0000
+; SI-NEXT: s_lshl_b32 s76, s6, 16
; SI-NEXT: .LBB89_5: ; %end
-; SI-NEXT: v_mul_f32_e64 v0, 1.0, s82
+; SI-NEXT: v_mul_f32_e64 v0, 1.0, s39
; SI-NEXT: v_lshrrev_b32_e32 v1, 16, v0
-; SI-NEXT: v_mul_f32_e64 v0, 1.0, s81
+; SI-NEXT: v_mul_f32_e64 v0, 1.0, s7
; SI-NEXT: v_lshr_b64 v[0:1], v[0:1], 16
-; SI-NEXT: v_mul_f32_e64 v1, 1.0, s83
+; SI-NEXT: v_mul_f32_e64 v1, 1.0, s48
; SI-NEXT: v_lshrrev_b32_e32 v2, 16, v1
-; SI-NEXT: v_mul_f32_e64 v1, 1.0, s80
+; SI-NEXT: v_mul_f32_e64 v1, 1.0, s37
; SI-NEXT: v_lshr_b64 v[1:2], v[1:2], 16
-; SI-NEXT: v_mul_f32_e64 v2, 1.0, s85
+; SI-NEXT: v_mul_f32_e64 v2, 1.0, s50
; SI-NEXT: v_lshrrev_b32_e32 v3, 16, v2
-; SI-NEXT: v_mul_f32_e64 v2, 1.0, s84
+; SI-NEXT: v_mul_f32_e64 v2, 1.0, s49
; SI-NEXT: v_lshr_b64 v[2:3], v[2:3], 16
-; SI-NEXT: v_mul_f32_e64 v3, 1.0, s86
+; SI-NEXT: v_mul_f32_e64 v3, 1.0, s51
; SI-NEXT: v_lshrrev_b32_e32 v4, 16, v3
-; SI-NEXT: v_mul_f32_e64 v3, 1.0, s71
+; SI-NEXT: v_mul_f32_e64 v3, 1.0, s36
; SI-NEXT: v_lshr_b64 v[3:4], v[3:4], 16
-; SI-NEXT: v_mul_f32_e64 v4, 1.0, s96
+; SI-NEXT: v_mul_f32_e64 v4, 1.0, s53
; SI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:336 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:340 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:344 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:348 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:352 ; 4-byte Folded Reload
; SI-NEXT: v_lshrrev_b32_e32 v5, 16, v4
-; SI-NEXT: v_mul_f32_e64 v4, 1.0, s87
+; SI-NEXT: v_mul_f32_e64 v4, 1.0, s52
; SI-NEXT: v_lshr_b64 v[4:5], v[4:5], 16
-; SI-NEXT: v_mul_f32_e64 v5, 1.0, s97
+; SI-NEXT: v_mul_f32_e64 v5, 1.0, s54
; SI-NEXT: v_lshrrev_b32_e32 v6, 16, v5
-; SI-NEXT: v_mul_f32_e64 v5, 1.0, s70
+; SI-NEXT: v_mul_f32_e64 v5, 1.0, s35
; SI-NEXT: v_lshr_b64 v[5:6], v[5:6], 16
-; SI-NEXT: v_mul_f32_e64 v6, 1.0, s99
+; SI-NEXT: v_mul_f32_e64 v6, 1.0, s64
; SI-NEXT: v_lshrrev_b32_e32 v7, 16, v6
-; SI-NEXT: v_mul_f32_e64 v6, 1.0, s98
+; SI-NEXT: v_mul_f32_e64 v6, 1.0, s55
; SI-NEXT: v_lshr_b64 v[6:7], v[6:7], 16
-; SI-NEXT: v_mul_f32_e64 v7, 1.0, s6
+; SI-NEXT: v_mul_f32_e64 v7, 1.0, s65
; SI-NEXT: v_lshrrev_b32_e32 v8, 16, v7
-; SI-NEXT: v_mul_f32_e64 v7, 1.0, s69
+; SI-NEXT: v_mul_f32_e64 v7, 1.0, s34
; SI-NEXT: v_lshr_b64 v[7:8], v[7:8], 16
-; SI-NEXT: v_mul_f32_e64 v8, 1.0, s18
+; SI-NEXT: v_mul_f32_e64 v8, 1.0, s67
; SI-NEXT: v_lshrrev_b32_e32 v9, 16, v8
-; SI-NEXT: v_mul_f32_e64 v8, 1.0, s7
+; SI-NEXT: v_mul_f32_e64 v8, 1.0, s66
; SI-NEXT: v_lshr_b64 v[8:9], v[8:9], 16
-; SI-NEXT: v_mul_f32_e64 v9, 1.0, s42
-; SI-NEXT: v_lshrrev_b32_e32 v10, 16, v9
; SI-NEXT: v_mul_f32_e64 v9, 1.0, s68
+; SI-NEXT: v_lshrrev_b32_e32 v10, 16, v9
+; SI-NEXT: v_mul_f32_e64 v9, 1.0, s31
; SI-NEXT: v_lshr_b64 v[9:10], v[9:10], 16
-; SI-NEXT: v_mul_f32_e64 v10, 1.0, s20
+; SI-NEXT: v_mul_f32_e64 v10, 1.0, s70
; SI-NEXT: v_lshrrev_b32_e32 v11, 16, v10
-; SI-NEXT: v_mul_f32_e64 v10, 1.0, s19
+; SI-NEXT: v_mul_f32_e64 v10, 1.0, s69
; SI-NEXT: v_lshr_b64 v[10:11], v[10:11], 16
-; SI-NEXT: v_mul_f32_e64 v11, 1.0, s43
+; SI-NEXT: v_mul_f32_e64 v11, 1.0, s71
; SI-NEXT: v_lshrrev_b32_e32 v12, 16, v11
-; SI-NEXT: v_mul_f32_e64 v11, 1.0, s67
+; SI-NEXT: v_mul_f32_e64 v11, 1.0, s28
; SI-NEXT: v_lshr_b64 v[11:12], v[11:12], 16
-; SI-NEXT: v_mul_f32_e64 v12, 1.0, s12
+; SI-NEXT: v_mul_f32_e64 v12, 1.0, s81
; SI-NEXT: v_lshrrev_b32_e32 v13, 16, v12
-; SI-NEXT: v_mul_f32_e64 v12, 1.0, s45
+; SI-NEXT: v_mul_f32_e64 v12, 1.0, s80
; SI-NEXT: v_lshr_b64 v[12:13], v[12:13], 16
-; SI-NEXT: v_mul_f32_e64 v13, 1.0, s44
+; SI-NEXT: v_mul_f32_e64 v13, 1.0, s82
; SI-NEXT: v_lshrrev_b32_e32 v14, 16, v13
-; SI-NEXT: v_mul_f32_e64 v13, 1.0, s66
+; SI-NEXT: v_mul_f32_e64 v13, 1.0, s24
; SI-NEXT: v_lshr_b64 v[13:14], v[13:14], 16
-; SI-NEXT: v_mul_f32_e64 v14, 1.0, s59
+; SI-NEXT: v_mul_f32_e64 v14, 1.0, s84
; SI-NEXT: v_lshrrev_b32_e32 v15, 16, v14
-; SI-NEXT: v_mul_f32_e64 v14, 1.0, s41
+; SI-NEXT: v_mul_f32_e64 v14, 1.0, s83
; SI-NEXT: v_lshr_b64 v[14:15], v[14:15], 16
-; SI-NEXT: v_mul_f32_e64 v15, 1.0, s27
+; SI-NEXT: v_mul_f32_e64 v15, 1.0, s85
; SI-NEXT: v_lshrrev_b32_e32 v16, 16, v15
-; SI-NEXT: v_mul_f32_e64 v15, 1.0, s65
+; SI-NEXT: v_mul_f32_e64 v15, 1.0, s26
; SI-NEXT: v_lshr_b64 v[15:16], v[15:16], 16
-; SI-NEXT: v_mul_f32_e64 v16, 1.0, s75
+; SI-NEXT: v_mul_f32_e64 v16, 1.0, s87
; SI-NEXT: v_lshrrev_b32_e32 v17, 16, v16
-; SI-NEXT: v_mul_f32_e64 v16, 1.0, s62
+; SI-NEXT: v_mul_f32_e64 v16, 1.0, s86
; SI-NEXT: v_lshr_b64 v[16:17], v[16:17], 16
-; SI-NEXT: v_mul_f32_e64 v17, 1.0, s29
+; SI-NEXT: v_mul_f32_e64 v17, 1.0, s96
; SI-NEXT: v_lshrrev_b32_e32 v18, 16, v17
-; SI-NEXT: v_mul_f32_e64 v17, 1.0, s64
+; SI-NEXT: v_mul_f32_e64 v17, 1.0, s95
; SI-NEXT: v_lshr_b64 v[17:18], v[17:18], 16
-; SI-NEXT: v_mul_f32_e64 v18, 1.0, s24
+; SI-NEXT: v_mul_f32_e64 v18, 1.0, s98
; SI-NEXT: v_lshrrev_b32_e32 v19, 16, v18
-; SI-NEXT: v_mul_f32_e64 v18, 1.0, s46
+; SI-NEXT: v_mul_f32_e64 v18, 1.0, s97
; SI-NEXT: v_lshr_b64 v[18:19], v[18:19], 16
-; SI-NEXT: v_mul_f32_e64 v19, 1.0, s21
+; SI-NEXT: v_mul_f32_e64 v19, 1.0, s99
; SI-NEXT: v_lshrrev_b32_e32 v20, 16, v19
-; SI-NEXT: v_mul_f32_e64 v19, 1.0, s55
+; SI-NEXT: v_mul_f32_e64 v19, 1.0, s94
; SI-NEXT: v_lshr_b64 v[19:20], v[19:20], 16
-; SI-NEXT: v_mul_f32_e64 v20, 1.0, s40
+; SI-NEXT: v_mul_f32_e64 v20, 1.0, s38
; SI-NEXT: v_lshrrev_b32_e32 v21, 16, v20
-; SI-NEXT: v_mul_f32_e64 v20, 1.0, s88
+; SI-NEXT: v_mul_f32_e64 v20, 1.0, s5
; SI-NEXT: v_lshr_b64 v[20:21], v[20:21], 16
-; SI-NEXT: v_mul_f32_e64 v21, 1.0, s92
+; SI-NEXT: v_mul_f32_e64 v21, 1.0, s29
; SI-NEXT: v_lshrrev_b32_e32 v22, 16, v21
-; SI-NEXT: v_mul_f32_e64 v21, 1.0, s54
+; SI-NEXT: v_mul_f32_e64 v21, 1.0, s93
; SI-NEXT: v_lshr_b64 v[21:22], v[21:22], 16
-; SI-NEXT: v_mul_f32_e64 v22, 1.0, s93
+; SI-NEXT: v_mul_f32_e64 v22, 1.0, s15
; SI-NEXT: v_lshrrev_b32_e32 v23, 16, v22
-; SI-NEXT: v_mul_f32_e64 v22, 1.0, s91
+; SI-NEXT: v_mul_f32_e64 v22, 1.0, s4
; SI-NEXT: v_lshr_b64 v[22:23], v[22:23], 16
-; SI-NEXT: v_mul_f32_e64 v23, 1.0, s95
+; SI-NEXT: v_mul_f32_e64 v23, 1.0, s43
; SI-NEXT: v_lshrrev_b32_e32 v24, 16, v23
-; SI-NEXT: v_mul_f32_e64 v23, 1.0, s53
+; SI-NEXT: v_mul_f32_e64 v23, 1.0, s92
; SI-NEXT: v_lshr_b64 v[23:24], v[23:24], 16
-; SI-NEXT: v_mul_f32_e64 v24, 1.0, vcc_lo
+; SI-NEXT: v_mul_f32_e64 v24, 1.0, s47
; SI-NEXT: v_lshrrev_b32_e32 v25, 16, v24
-; SI-NEXT: v_mul_f32_e64 v24, 1.0, s94
+; SI-NEXT: v_mul_f32_e64 v24, 1.0, s14
; SI-NEXT: v_lshr_b64 v[24:25], v[24:25], 16
-; SI-NEXT: v_mul_f32_e64 v25, 1.0, s30
+; SI-NEXT: v_mul_f32_e64 v25, 1.0, s42
; SI-NEXT: v_lshrrev_b32_e32 v26, 16, v25
-; SI-NEXT: v_mul_f32_e64 v25, 1.0, s52
+; SI-NEXT: v_mul_f32_e64 v25, 1.0, s91
; SI-NEXT: v_lshr_b64 v[25:26], v[25:26], 16
-; SI-NEXT: v_mul_f32_e64 v26, 1.0, s31
+; SI-NEXT: v_mul_f32_e64 v26, 1.0, s13
; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v26
-; SI-NEXT: v_mul_f32_e64 v26, 1.0, vcc_hi
+; SI-NEXT: v_mul_f32_e64 v26, 1.0, s45
; SI-NEXT: v_lshr_b64 v[26:27], v[26:27], 16
-; SI-NEXT: v_mul_f32_e64 v27, 1.0, s35
+; SI-NEXT: v_mul_f32_e64 v27, 1.0, s11
; SI-NEXT: v_lshrrev_b32_e32 v28, 16, v27
-; SI-NEXT: v_mul_f32_e64 v27, 1.0, s51
+; SI-NEXT: v_mul_f32_e64 v27, 1.0, s90
; SI-NEXT: v_lshr_b64 v[27:28], v[27:28], 16
-; SI-NEXT: v_mul_f32_e64 v28, 1.0, s36
+; SI-NEXT: v_mul_f32_e64 v28, 1.0, s40
; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v28
-; SI-NEXT: v_mul_f32_e64 v28, 1.0, s34
+; SI-NEXT: v_mul_f32_e64 v28, 1.0, s27
; SI-NEXT: v_lshr_b64 v[28:29], v[28:29], 16
-; SI-NEXT: v_mul_f32_e64 v29, 1.0, s38
+; SI-NEXT: v_mul_f32_e64 v29, 1.0, s41
; SI-NEXT: v_lshrrev_b32_e32 v30, 16, v29
-; SI-NEXT: v_mul_f32_e64 v29, 1.0, s50
+; SI-NEXT: v_mul_f32_e64 v29, 1.0, s89
; SI-NEXT: v_lshr_b64 v[29:30], v[29:30], 16
-; SI-NEXT: v_mul_f32_e64 v30, 1.0, s39
+; SI-NEXT: v_mul_f32_e64 v30, 1.0, s44
; SI-NEXT: v_lshrrev_b32_e32 v31, 16, v30
-; SI-NEXT: v_mul_f32_e64 v30, 1.0, s37
+; SI-NEXT: v_mul_f32_e64 v30, 1.0, s12
; SI-NEXT: v_lshr_b64 v[30:31], v[30:31], 16
-; SI-NEXT: v_mul_f32_e64 v31, 1.0, s48
+; SI-NEXT: v_mul_f32_e64 v31, 1.0, s46
; SI-NEXT: v_lshrrev_b32_e32 v32, 16, v31
-; SI-NEXT: v_mul_f32_e64 v31, 1.0, s49
+; SI-NEXT: v_mul_f32_e64 v31, 1.0, s76
; SI-NEXT: v_readlane_b32 s30, v45, 34
; SI-NEXT: v_lshr_b64 v[31:32], v[31:32], 16
; SI-NEXT: v_readlane_b32 s31, v45, 35
@@ -148240,13 +148310,13 @@ define inreg <64 x bfloat> @bitcast_v128i8_to_v64bf16_scalar(<128 x i8> inreg %a
; VI-NEXT: v_readfirstlane_b32 s63, v12
; VI-NEXT: v_readfirstlane_b32 s45, v11
; VI-NEXT: v_readfirstlane_b32 s58, v10
-; VI-NEXT: v_readfirstlane_b32 s75, v30
; VI-NEXT: v_readfirstlane_b32 s74, v14
-; VI-NEXT: v_readfirstlane_b32 s60, v26
-; VI-NEXT: v_readfirstlane_b32 s43, v25
+; VI-NEXT: v_readfirstlane_b32 s75, v30
; VI-NEXT: v_readfirstlane_b32 s59, v29
; VI-NEXT: v_readfirstlane_b32 s72, v28
; VI-NEXT: v_readfirstlane_b32 s47, v27
+; VI-NEXT: v_readfirstlane_b32 s60, v26
+; VI-NEXT: v_readfirstlane_b32 s43, v25
; VI-NEXT: v_readfirstlane_b32 s56, v24
; VI-NEXT: v_readfirstlane_b32 s15, v23
; VI-NEXT: v_readfirstlane_b32 s44, v22
@@ -148268,7 +148338,7 @@ define inreg <64 x bfloat> @bitcast_v128i8_to_v64bf16_scalar(<128 x i8> inreg %a
; VI-NEXT: v_readfirstlane_b32 s11, v2
; VI-NEXT: v_readfirstlane_b32 s6, v1
; VI-NEXT: v_readfirstlane_b32 s8, v0
-; VI-NEXT: buffer_load_ushort v32, off, s[0:3], s32 offset:8
+; VI-NEXT: buffer_load_ushort v34, off, s[0:3], s32 offset:8
; VI-NEXT: buffer_load_ushort v35, off, s[0:3], s32 offset:4
; VI-NEXT: buffer_load_ushort v13, off, s[0:3], s32
; VI-NEXT: buffer_load_ushort v1, off, s[0:3], s32 offset:328
@@ -148276,65 +148346,67 @@ define inreg <64 x bfloat> @bitcast_v128i8_to_v64bf16_scalar(<128 x i8> inreg %a
; VI-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:320
; VI-NEXT: buffer_load_ushort v3, off, s[0:3], s32 offset:316
; VI-NEXT: buffer_load_ushort v5, off, s[0:3], s32 offset:312
-; VI-NEXT: buffer_load_ushort v8, off, s[0:3], s32 offset:308
+; VI-NEXT: buffer_load_ushort v9, off, s[0:3], s32 offset:308
; VI-NEXT: buffer_load_ushort v2, off, s[0:3], s32 offset:304
; VI-NEXT: buffer_load_ushort v6, off, s[0:3], s32 offset:300
-; VI-NEXT: buffer_load_ushort v33, off, s[0:3], s32 offset:296
-; VI-NEXT: buffer_load_ushort v54, off, s[0:3], s32 offset:292
+; VI-NEXT: buffer_load_ushort v8, off, s[0:3], s32 offset:296
+; VI-NEXT: buffer_load_ushort v42, off, s[0:3], s32 offset:292
; VI-NEXT: buffer_load_ushort v7, off, s[0:3], s32 offset:288
-; VI-NEXT: buffer_load_ushort v9, off, s[0:3], s32 offset:284
+; VI-NEXT: buffer_load_ushort v49, off, s[0:3], s32 offset:284
; VI-NEXT: s_waitcnt vmcnt(14)
; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v31
-; VI-NEXT: buffer_load_ushort v31, off, s[0:3], s32 offset:280
-; VI-NEXT: buffer_load_ushort v55, off, s[0:3], s32 offset:276
-; VI-NEXT: buffer_load_ushort v49, off, s[0:3], s32 offset:272
-; VI-NEXT: buffer_load_ushort v10, off, s[0:3], s32 offset:268
+; VI-NEXT: buffer_load_ushort v52, off, s[0:3], s32 offset:280
+; VI-NEXT: buffer_load_ushort v11, off, s[0:3], s32 offset:276
+; VI-NEXT: buffer_load_ushort v55, off, s[0:3], s32 offset:272
+; VI-NEXT: buffer_load_ushort v31, off, s[0:3], s32 offset:268
; VI-NEXT: buffer_load_ushort v12, off, s[0:3], s32 offset:264
-; VI-NEXT: buffer_load_ushort v11, off, s[0:3], s32 offset:260
-; VI-NEXT: s_and_b64 s[4:5], vcc, exec
-; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:456 ; 4-byte Folded Spill
-; VI-NEXT: buffer_load_ushort v11, off, s[0:3], s32 offset:256
-; VI-NEXT: buffer_load_ushort v42, off, s[0:3], s32 offset:252
-; VI-NEXT: buffer_load_ushort v30, off, s[0:3], s32 offset:248
-; VI-NEXT: buffer_load_ushort v40, off, s[0:3], s32 offset:244
-; VI-NEXT: buffer_load_ushort v41, off, s[0:3], s32 offset:240
+; VI-NEXT: buffer_load_ushort v10, off, s[0:3], s32 offset:260
+; VI-NEXT: s_cmp_lg_u64 vcc, 0
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:452 ; 4-byte Folded Spill
+; VI-NEXT: buffer_load_ushort v10, off, s[0:3], s32 offset:256
+; VI-NEXT: buffer_load_ushort v41, off, s[0:3], s32 offset:252
+; VI-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:248
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:436 ; 4-byte Folded Spill
+; VI-NEXT: buffer_load_ushort v53, off, s[0:3], s32 offset:244
+; VI-NEXT: buffer_load_ushort v40, off, s[0:3], s32 offset:240
; VI-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:236
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:452 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:448 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:232
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:440 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:444 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:228
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:432 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:428 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:224
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:436 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:440 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:220
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:428 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:432 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:216
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:444 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:456 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:212
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:420 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:208
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:448 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:460 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:204
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:424 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:200
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:464 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:472 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:196
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:412 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:192
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:460 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:468 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:188
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:416 ; 4-byte Folded Spill
@@ -148346,112 +148418,156 @@ define inreg <64 x bfloat> @bitcast_v128i8_to_v64bf16_scalar(<128 x i8> inreg %a
; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:404 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:176
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:472 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:476 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:172
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:408 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v25, off, s[0:3], s32 offset:168
-; VI-NEXT: buffer_load_ushort v26, off, s[0:3], s32 offset:164
-; VI-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:160
-; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:468 ; 4-byte Folded Spill
-; VI-NEXT: buffer_load_ushort v22, off, s[0:3], s32 offset:156
-; VI-NEXT: buffer_load_ushort v27, off, s[0:3], s32 offset:152
-; VI-NEXT: buffer_load_ushort v24, off, s[0:3], s32 offset:148
+; VI-NEXT: buffer_load_ushort v22, off, s[0:3], s32 offset:164
+; VI-NEXT: buffer_load_ushort v54, off, s[0:3], s32 offset:160
+; VI-NEXT: buffer_load_ushort v23, off, s[0:3], s32 offset:156
+; VI-NEXT: buffer_load_ushort v24, off, s[0:3], s32 offset:152
+; VI-NEXT: buffer_load_ushort v21, off, s[0:3], s32 offset:148
; VI-NEXT: buffer_load_ushort v20, off, s[0:3], s32 offset:144
-; VI-NEXT: buffer_load_ushort v23, off, s[0:3], s32 offset:140
-; VI-NEXT: buffer_load_ushort v21, off, s[0:3], s32 offset:136
+; VI-NEXT: buffer_load_ushort v26, off, s[0:3], s32 offset:140
+; VI-NEXT: buffer_load_ushort v30, off, s[0:3], s32 offset:136
; VI-NEXT: buffer_load_ushort v44, off, s[0:3], s32 offset:132
; VI-NEXT: buffer_load_ushort v19, off, s[0:3], s32 offset:128
; VI-NEXT: buffer_load_ushort v43, off, s[0:3], s32 offset:124
; VI-NEXT: buffer_load_ushort v45, off, s[0:3], s32 offset:120
-; VI-NEXT: buffer_load_ushort v46, off, s[0:3], s32 offset:116
+; VI-NEXT: buffer_load_ushort v47, off, s[0:3], s32 offset:116
; VI-NEXT: buffer_load_ushort v18, off, s[0:3], s32 offset:112
; VI-NEXT: buffer_load_ushort v29, off, s[0:3], s32 offset:108
-; VI-NEXT: buffer_load_ushort v47, off, s[0:3], s32 offset:104
-; VI-NEXT: buffer_load_ushort v56, off, s[0:3], s32 offset:100
+; VI-NEXT: buffer_load_ushort v56, off, s[0:3], s32 offset:104
+; VI-NEXT: buffer_load_ushort v57, off, s[0:3], s32 offset:100
; VI-NEXT: buffer_load_ushort v16, off, s[0:3], s32 offset:96
; VI-NEXT: buffer_load_ushort v17, off, s[0:3], s32 offset:92
-; VI-NEXT: buffer_load_ushort v59, off, s[0:3], s32 offset:88
-; VI-NEXT: buffer_load_ushort v60, off, s[0:3], s32 offset:84
+; VI-NEXT: buffer_load_ushort v61, off, s[0:3], s32 offset:88
+; VI-NEXT: buffer_load_ushort v32, off, s[0:3], s32 offset:84
; VI-NEXT: buffer_load_ushort v28, off, s[0:3], s32 offset:80
-; VI-NEXT: buffer_load_ushort v58, off, s[0:3], s32 offset:76
-; VI-NEXT: buffer_load_ushort v34, off, s[0:3], s32 offset:72
-; VI-NEXT: buffer_load_ushort v61, off, s[0:3], s32 offset:68
+; VI-NEXT: buffer_load_ushort v60, off, s[0:3], s32 offset:76
+; VI-NEXT: buffer_load_ushort v33, off, s[0:3], s32 offset:72
+; VI-NEXT: buffer_load_ushort v27, off, s[0:3], s32 offset:68
; VI-NEXT: buffer_load_ushort v62, off, s[0:3], s32 offset:64
; VI-NEXT: buffer_load_ushort v15, off, s[0:3], s32 offset:60
-; VI-NEXT: buffer_load_ushort v53, off, s[0:3], s32 offset:56
+; VI-NEXT: buffer_load_ushort v58, off, s[0:3], s32 offset:56
; VI-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:52
; VI-NEXT: buffer_load_ushort v51, off, s[0:3], s32 offset:48
; VI-NEXT: buffer_load_ushort v63, off, s[0:3], s32 offset:44
; VI-NEXT: buffer_load_ushort v48, off, s[0:3], s32 offset:40
-; VI-NEXT: buffer_load_ushort v57, off, s[0:3], s32 offset:36
+; VI-NEXT: buffer_load_ushort v59, off, s[0:3], s32 offset:36
; VI-NEXT: buffer_load_ushort v38, off, s[0:3], s32 offset:32
-; VI-NEXT: buffer_load_ushort v52, off, s[0:3], s32 offset:28
+; VI-NEXT: buffer_load_ushort v46, off, s[0:3], s32 offset:28
; VI-NEXT: buffer_load_ushort v37, off, s[0:3], s32 offset:24
; VI-NEXT: buffer_load_ushort v50, off, s[0:3], s32 offset:20
; VI-NEXT: buffer_load_ushort v36, off, s[0:3], s32 offset:16
; VI-NEXT: buffer_load_ushort v39, off, s[0:3], s32 offset:12
; VI-NEXT: s_waitcnt vmcnt(10)
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:476 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:480 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v61, off, s[0:3], s32 offset:484 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v60, off, s[0:3], s32 offset:488 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v59, off, s[0:3], s32 offset:492 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:496 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:500 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:504 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:508 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:512 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:516 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:520 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:524 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:528 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:532 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:536 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:540 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:544 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:548 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:552 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:556 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:560 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:564 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:484 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:488 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:492 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v61, off, s[0:3], s32 offset:496 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:500 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:504 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v30, off, s[0:3], s32 offset:508 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v60, off, s[0:3], s32 offset:512 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:516 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:520 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:524 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v57, off, s[0:3], s32 offset:528 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:532 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:536 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:540 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:544 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:548 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:552 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:556 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:560 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:564 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:568 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:572 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v30, off, s[0:3], s32 offset:576 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:580 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:584 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:588 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:592 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:596 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:600 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:572 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:576 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:580 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:584 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:588 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:592 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:464 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:596 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:600 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:604 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:608 ; 4-byte Folded Spill
; VI-NEXT: s_waitcnt vmcnt(14)
-; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:604 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:608 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v38, off, s[0:3], s32 offset:612 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:616 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v48, off, s[0:3], s32 offset:620 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v50, off, s[0:3], s32 offset:624 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:628 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:632 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:636 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v57, off, s[0:3], s32 offset:640 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:644 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:648 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:652 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:656 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:612 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:616 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v38, off, s[0:3], s32 offset:620 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:624 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v48, off, s[0:3], s32 offset:628 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v50, off, s[0:3], s32 offset:632 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:636 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:640 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:644 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v59, off, s[0:3], s32 offset:648 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:652 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:656 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:480 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:660 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:664 ; 4-byte Folded Spill
; VI-NEXT: s_cbranch_scc0 .LBB89_2
; VI-NEXT: ; %bb.1: ; %cmp.false
-; VI-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:676 ; 4-byte Folded Spill
+; VI-NEXT: s_mov_b32 s4, 0xc0c0004
+; VI-NEXT: v_perm_b32 v27, v27, v33, s4
+; VI-NEXT: v_lshlrev_b32_e32 v27, 16, v27
+; VI-NEXT: v_perm_b32 v15, v15, v62, s4
+; VI-NEXT: v_or_b32_e32 v15, v15, v27
+; VI-NEXT: v_perm_b32 v27, v32, v61, s4
+; VI-NEXT: v_lshlrev_b32_e32 v27, 16, v27
+; VI-NEXT: v_perm_b32 v28, v60, v28, s4
+; VI-NEXT: v_perm_b32 v17, v17, v16, s4
+; VI-NEXT: v_or_b32_e32 v16, v28, v27
+; VI-NEXT: v_perm_b32 v27, v47, v45, s4
+; VI-NEXT: v_lshlrev_b32_e32 v27, 16, v27
+; VI-NEXT: v_perm_b32 v18, v29, v18, s4
+; VI-NEXT: v_or_b32_e32 v18, v18, v27
+; VI-NEXT: v_perm_b32 v27, v44, v30, s4
+; VI-NEXT: v_lshlrev_b32_e32 v27, 16, v27
+; VI-NEXT: v_perm_b32 v19, v43, v19, s4
+; VI-NEXT: v_or_b32_e32 v19, v19, v27
+; VI-NEXT: v_perm_b32 v27, v21, v24, s4
+; VI-NEXT: v_lshlrev_b32_e32 v27, 16, v27
+; VI-NEXT: v_mov_b32_e32 v43, v20
+; VI-NEXT: v_perm_b32 v20, v26, v20, s4
+; VI-NEXT: v_or_b32_e32 v20, v20, v27
+; VI-NEXT: v_perm_b32 v27, v22, v25, s4
+; VI-NEXT: v_perm_b32 v21, v23, v54, s4
+; VI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:400 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:404 ; 4-byte Folded Reload
+; VI-NEXT: v_lshlrev_b32_e32 v27, 16, v27
+; VI-NEXT: v_or_b32_e32 v21, v21, v27
+; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:676 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:708 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:712 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v49, v31
+; VI-NEXT: v_mov_b32_e32 v62, v49
+; VI-NEXT: v_perm_b32 v29, v49, v55, s4
+; VI-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:712 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:676 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v32, v57, v56, s4
+; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:692 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v42, v41
+; VI-NEXT: v_mov_b32_e32 v41, v12
+; VI-NEXT: v_lshlrev_b32_e32 v32, 16, v32
+; VI-NEXT: v_mov_b32_e32 v31, v10
+; VI-NEXT: v_or_b32_e32 v17, v17, v32
+; VI-NEXT: v_perm_b32 v28, v42, v31, s4
+; VI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:700 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v11, 0xc0c0004
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:664 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:672 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v1, s19
-; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:668 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v3, s23
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:660 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:668 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v0, s17
; VI-NEXT: v_perm_b32 v1, s18, v1, v11
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:672 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:680 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v2, s21
; VI-NEXT: v_perm_b32 v3, s22, v3, v11
; VI-NEXT: v_perm_b32 v0, s16, v0, v11
@@ -148465,36 +148581,33 @@ define inreg <64 x bfloat> @bitcast_v128i8_to_v64bf16_scalar(<128 x i8> inreg %a
; VI-NEXT: v_perm_b32 v3, s26, v3, v11
; VI-NEXT: v_perm_b32 v2, s24, v2, v11
; VI-NEXT: v_lshlrev_b32_e32 v3, 16, v3
-; VI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:680 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:684 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v4, s6
; VI-NEXT: v_or_b32_e32 v2, v2, v3
; VI-NEXT: v_mov_b32_e32 v3, s29
; VI-NEXT: v_perm_b32 v4, s8, v4, v11
; VI-NEXT: v_perm_b32 v3, s28, v3, v11
; VI-NEXT: v_lshlrev_b32_e32 v4, 16, v4
-; VI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:684 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:688 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v5, s10
; VI-NEXT: v_or_b32_e32 v3, v3, v4
; VI-NEXT: v_mov_b32_e32 v4, s7
; VI-NEXT: v_perm_b32 v5, s14, v5, v11
; VI-NEXT: v_perm_b32 v4, s11, v4, v11
; VI-NEXT: v_lshlrev_b32_e32 v5, 16, v5
-; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:688 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v6, s41
; VI-NEXT: v_or_b32_e32 v4, v4, v5
; VI-NEXT: v_mov_b32_e32 v5, s13
; VI-NEXT: v_perm_b32 v6, s46, v6, v11
; VI-NEXT: v_perm_b32 v5, s42, v5, v11
; VI-NEXT: v_lshlrev_b32_e32 v6, 16, v6
-; VI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:692 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:696 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v7, s57
; VI-NEXT: v_or_b32_e32 v5, v5, v6
; VI-NEXT: v_mov_b32_e32 v6, s45
; VI-NEXT: v_perm_b32 v7, s63, v7, v11
; VI-NEXT: v_perm_b32 v6, s58, v6, v11
; VI-NEXT: v_lshlrev_b32_e32 v7, 16, v7
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:700 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:696 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v8, s61
; VI-NEXT: v_or_b32_e32 v6, v6, v7
; VI-NEXT: v_mov_b32_e32 v7, s62
@@ -148508,27 +148621,25 @@ define inreg <64 x bfloat> @bitcast_v128i8_to_v64bf16_scalar(<128 x i8> inreg %a
; VI-NEXT: v_perm_b32 v9, s40, v9, v11
; VI-NEXT: v_perm_b32 v8, s76, v8, v11
; VI-NEXT: v_lshlrev_b32_e32 v9, 16, v9
-; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:708 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v54, v49
-; VI-NEXT: v_mov_b32_e32 v49, v10
+; VI-NEXT: s_waitcnt vmcnt(14)
+; VI-NEXT: v_perm_b32 v27, v23, v22, s4
+; VI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:476 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:408 ; 4-byte Folded Reload
+; VI-NEXT: v_lshlrev_b32_e32 v27, 16, v27
; VI-NEXT: v_mov_b32_e32 v10, s43
; VI-NEXT: v_or_b32_e32 v8, v8, v9
; VI-NEXT: v_mov_b32_e32 v9, s15
; VI-NEXT: v_perm_b32 v10, s56, v10, v11
; VI-NEXT: v_perm_b32 v9, s44, v9, v11
-; VI-NEXT: v_mov_b32_e32 v33, v31
; VI-NEXT: v_lshlrev_b32_e32 v10, 16, v10
-; VI-NEXT: v_mov_b32_e32 v31, v42
-; VI-NEXT: v_mov_b32_e32 v42, v12
; VI-NEXT: v_mov_b32_e32 v12, s59
; VI-NEXT: v_or_b32_e32 v9, v9, v10
; VI-NEXT: v_mov_b32_e32 v10, s47
; VI-NEXT: v_perm_b32 v12, s72, v12, v11
; VI-NEXT: v_perm_b32 v10, s60, v10, v11
; VI-NEXT: v_lshlrev_b32_e32 v12, 16, v12
-; VI-NEXT: s_mov_b32 s4, 0xc0c0004
; VI-NEXT: v_or_b32_e32 v10, v10, v12
-; VI-NEXT: v_perm_b32 v12, v35, v32, s4
+; VI-NEXT: v_perm_b32 v12, v35, v34, s4
; VI-NEXT: v_perm_b32 v11, s75, v13, v11
; VI-NEXT: v_lshlrev_b32_e32 v12, 16, v12
; VI-NEXT: v_or_b32_e32 v11, v11, v12
@@ -148536,206 +148647,159 @@ define inreg <64 x bfloat> @bitcast_v128i8_to_v64bf16_scalar(<128 x i8> inreg %a
; VI-NEXT: v_lshlrev_b32_e32 v12, 16, v12
; VI-NEXT: v_perm_b32 v13, v39, v36, s4
; VI-NEXT: v_or_b32_e32 v12, v13, v12
-; VI-NEXT: v_perm_b32 v13, v57, v48, s4
+; VI-NEXT: v_perm_b32 v13, v59, v48, s4
; VI-NEXT: v_lshlrev_b32_e32 v13, 16, v13
-; VI-NEXT: v_perm_b32 v32, v52, v38, s4
-; VI-NEXT: v_perm_b32 v14, v14, v53, s4
-; VI-NEXT: v_or_b32_e32 v13, v32, v13
+; VI-NEXT: v_perm_b32 v34, v46, v38, s4
+; VI-NEXT: v_perm_b32 v14, v14, v58, s4
+; VI-NEXT: v_or_b32_e32 v13, v34, v13
; VI-NEXT: v_lshlrev_b32_e32 v14, 16, v14
-; VI-NEXT: v_perm_b32 v32, v63, v51, s4
-; VI-NEXT: v_or_b32_e32 v14, v32, v14
-; VI-NEXT: v_perm_b32 v32, v61, v34, s4
-; VI-NEXT: v_lshlrev_b32_e32 v32, 16, v32
-; VI-NEXT: v_perm_b32 v15, v15, v62, s4
-; VI-NEXT: v_or_b32_e32 v15, v15, v32
-; VI-NEXT: v_perm_b32 v32, v60, v59, s4
-; VI-NEXT: v_lshlrev_b32_e32 v32, 16, v32
-; VI-NEXT: v_perm_b32 v28, v58, v28, s4
-; VI-NEXT: v_perm_b32 v17, v17, v16, s4
-; VI-NEXT: v_or_b32_e32 v16, v28, v32
-; VI-NEXT: v_perm_b32 v28, v46, v45, s4
-; VI-NEXT: v_lshlrev_b32_e32 v28, 16, v28
-; VI-NEXT: v_perm_b32 v18, v29, v18, s4
-; VI-NEXT: v_or_b32_e32 v18, v18, v28
-; VI-NEXT: v_perm_b32 v28, v44, v21, s4
-; VI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:468 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v38, off, s[0:3], s32 offset:688 ; 4-byte Folded Reload
-; VI-NEXT: v_perm_b32 v19, v43, v19, s4
-; VI-NEXT: v_mov_b32_e32 v43, v20
-; VI-NEXT: v_perm_b32 v20, v23, v20, s4
-; VI-NEXT: v_lshlrev_b32_e32 v28, 16, v28
-; VI-NEXT: v_or_b32_e32 v19, v19, v28
-; VI-NEXT: v_perm_b32 v28, v24, v27, s4
-; VI-NEXT: v_lshlrev_b32_e32 v28, 16, v28
-; VI-NEXT: v_or_b32_e32 v20, v20, v28
-; VI-NEXT: v_perm_b32 v28, v26, v25, s4
-; VI-NEXT: v_mov_b32_e32 v37, v54
-; VI-NEXT: v_perm_b32 v29, v49, v54, s4
-; VI-NEXT: v_lshlrev_b32_e32 v28, 16, v28
-; VI-NEXT: v_mov_b32_e32 v53, v49
-; VI-NEXT: v_mov_b32_e32 v52, v33
-; VI-NEXT: v_perm_b32 v35, v56, v47, s4
-; VI-NEXT: v_lshlrev_b32_e32 v35, 16, v35
-; VI-NEXT: v_or_b32_e32 v17, v17, v35
-; VI-NEXT: v_mov_b32_e32 v39, v55
-; VI-NEXT: buffer_load_dword v54, off, s[0:3], s32 offset:660 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(2)
-; VI-NEXT: v_perm_b32 v21, v22, v21, s4
-; VI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:400 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:404 ; 4-byte Folded Reload
-; VI-NEXT: v_or_b32_e32 v21, v21, v28
-; VI-NEXT: s_waitcnt vmcnt(3)
-; VI-NEXT: v_mov_b32_e32 v36, v38
-; VI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:676 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(3)
-; VI-NEXT: v_mov_b32_e32 v48, v54
-; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_perm_b32 v24, v23, v22, s4
-; VI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:472 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:408 ; 4-byte Folded Reload
-; VI-NEXT: v_lshlrev_b32_e32 v24, 16, v24
+; VI-NEXT: v_perm_b32 v34, v63, v51, s4
+; VI-NEXT: v_or_b32_e32 v14, v34, v14
+; VI-NEXT: s_waitcnt vmcnt(12)
+; VI-NEXT: v_mov_b32_e32 v34, v30
+; VI-NEXT: v_mov_b32_e32 v35, v52
+; VI-NEXT: v_mov_b32_e32 v48, v55
+; VI-NEXT: s_waitcnt vmcnt(11)
+; VI-NEXT: v_mov_b32_e32 v37, v49
+; VI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:692 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:708 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(2)
-; VI-NEXT: v_mov_b32_e32 v50, v28
-; VI-NEXT: v_perm_b32 v28, v31, v28, s4
-; VI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:704 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_perm_b32 v22, v23, v22, s4
-; VI-NEXT: v_or_b32_e32 v22, v22, v24
-; VI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:412 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:464 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:472 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:412 ; 4-byte Folded Reload
+; VI-NEXT: v_or_b32_e32 v22, v22, v27
+; VI-NEXT: s_waitcnt vmcnt(3)
+; VI-NEXT: v_mov_b32_e32 v58, v32
; VI-NEXT: s_waitcnt vmcnt(2)
-; VI-NEXT: v_mov_b32_e32 v57, v31
+; VI-NEXT: v_mov_b32_e32 v51, v31
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v23, v23, v24, s4
-; VI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:416 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:460 ; 4-byte Folded Reload
-; VI-NEXT: v_lshlrev_b32_e32 v23, 16, v23
+; VI-NEXT: v_perm_b32 v24, v24, v23, s4
+; VI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:468 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:416 ; 4-byte Folded Reload
+; VI-NEXT: v_lshlrev_b32_e32 v24, 16, v24
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v24, v24, v25, s4
-; VI-NEXT: v_or_b32_e32 v23, v24, v23
-; VI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:444 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v23, v25, v23, s4
+; VI-NEXT: v_or_b32_e32 v23, v23, v24
+; VI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:456 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:420 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v24, v25, v24, s4
-; VI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:448 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:460 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:424 ; 4-byte Folded Reload
; VI-NEXT: v_lshlrev_b32_e32 v24, 16, v24
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v25, v26, v25, s4
; VI-NEXT: v_or_b32_e32 v24, v25, v24
-; VI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:432 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:440 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v25, v25, v26, s4
+; VI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:444 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:428 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:436 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_perm_b32 v25, v26, v25, s4
+; VI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:440 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:432 ; 4-byte Folded Reload
; VI-NEXT: v_lshlrev_b32_e32 v25, 16, v25
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v26, v26, v27, s4
-; VI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:452 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v26, v27, v26, s4
; VI-NEXT: v_or_b32_e32 v25, v26, v25
-; VI-NEXT: v_perm_b32 v26, v40, v30, s4
-; VI-NEXT: v_lshlrev_b32_e32 v26, 16, v26
-; VI-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:708 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:436 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:448 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_perm_b32 v27, v27, v41, s4
+; VI-NEXT: v_perm_b32 v26, v53, v26, s4
+; VI-NEXT: v_lshlrev_b32_e32 v26, 16, v26
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_perm_b32 v27, v27, v40, s4
; VI-NEXT: v_or_b32_e32 v26, v27, v26
-; VI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:456 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_mov_b32_e32 v34, v30
+; VI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:452 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v27, v27, v42, s4
+; VI-NEXT: v_perm_b32 v27, v27, v41, s4
; VI-NEXT: v_lshlrev_b32_e32 v27, 16, v27
; VI-NEXT: v_or_b32_e32 v27, v28, v27
-; VI-NEXT: v_perm_b32 v28, v55, v33, s4
+; VI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:464 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_perm_b32 v28, v28, v52, s4
; VI-NEXT: v_lshlrev_b32_e32 v28, 16, v28
; VI-NEXT: v_or_b32_e32 v28, v29, v28
; VI-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:700 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v55, off, s[0:3], s32 offset:668 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_mov_b32_e32 v49, v29
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_mov_b32_e32 v50, v29
; VI-NEXT: v_perm_b32 v29, v30, v29, s4
-; VI-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:692 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:696 ; 4-byte Folded Reload
; VI-NEXT: v_lshlrev_b32_e32 v29, 16, v29
-; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_perm_b32 v41, v55, v54, s4
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_mov_b32_e32 v33, v30
+; VI-NEXT: v_mov_b32_e32 v46, v30
; VI-NEXT: v_perm_b32 v30, v31, v30, s4
; VI-NEXT: v_or_b32_e32 v29, v30, v29
-; VI-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:684 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:696 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:688 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:704 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_mov_b32_e32 v32, v30
+; VI-NEXT: v_mov_b32_e32 v33, v30
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_mov_b32_e32 v35, v31
+; VI-NEXT: v_mov_b32_e32 v63, v31
; VI-NEXT: v_perm_b32 v30, v31, v30, s4
-; VI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:672 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:680 ; 4-byte Folded Reload
; VI-NEXT: v_lshlrev_b32_e32 v30, 16, v30
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_mov_b32_e32 v62, v31
-; VI-NEXT: v_perm_b32 v31, v38, v31, s4
+; VI-NEXT: v_mov_b32_e32 v59, v31
+; VI-NEXT: v_perm_b32 v31, v32, v31, s4
; VI-NEXT: v_or_b32_e32 v30, v31, v30
-; VI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:664 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v38, off, s[0:3], s32 offset:680 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:672 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:684 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_mov_b32_e32 v63, v31
+; VI-NEXT: v_mov_b32_e32 v36, v31
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v31, v38, v31, s4
+; VI-NEXT: v_mov_b32_e32 v39, v32
+; VI-NEXT: v_perm_b32 v31, v32, v31, s4
+; VI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:668 ; 4-byte Folded Reload
; VI-NEXT: v_lshlrev_b32_e32 v31, 16, v31
-; VI-NEXT: v_mov_b32_e32 v51, v38
-; VI-NEXT: v_mov_b32_e32 v38, v55
-; VI-NEXT: v_or_b32_e32 v31, v41, v31
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_mov_b32_e32 v38, v32
+; VI-NEXT: v_perm_b32 v32, v49, v32, s4
+; VI-NEXT: v_or_b32_e32 v31, v32, v31
; VI-NEXT: s_mov_b64 s[4:5], 0
; VI-NEXT: s_branch .LBB89_3
; VI-NEXT: .LBB89_2:
-; VI-NEXT: v_mov_b32_e32 v51, v4
-; VI-NEXT: v_mov_b32_e32 v39, v55
-; VI-NEXT: v_mov_b32_e32 v53, v10
-; VI-NEXT: v_mov_b32_e32 v38, v3
-; VI-NEXT: v_mov_b32_e32 v52, v31
-; VI-NEXT: v_mov_b32_e32 v35, v8
-; VI-NEXT: v_mov_b32_e32 v63, v1
-; VI-NEXT: v_mov_b32_e32 v37, v49
-; VI-NEXT: v_mov_b32_e32 v36, v6
-; VI-NEXT: v_mov_b32_e32 v48, v0
-; VI-NEXT: v_mov_b32_e32 v34, v54
-; VI-NEXT: v_mov_b32_e32 v32, v5
-; VI-NEXT: v_mov_b32_e32 v50, v11
-; VI-NEXT: v_mov_b32_e32 v57, v9
-; VI-NEXT: v_mov_b32_e32 v62, v2
-; VI-NEXT: v_mov_b32_e32 v49, v33
-; VI-NEXT: v_mov_b32_e32 v33, v7
+; VI-NEXT: v_mov_b32_e32 v39, v4
+; VI-NEXT: v_mov_b32_e32 v62, v31
+; VI-NEXT: v_mov_b32_e32 v37, v3
+; VI-NEXT: v_mov_b32_e32 v35, v52
+; VI-NEXT: v_mov_b32_e32 v63, v9
+; VI-NEXT: v_mov_b32_e32 v36, v1
+; VI-NEXT: v_mov_b32_e32 v48, v55
+; VI-NEXT: v_mov_b32_e32 v58, v6
+; VI-NEXT: v_mov_b32_e32 v38, v0
+; VI-NEXT: v_mov_b32_e32 v34, v42
+; VI-NEXT: v_mov_b32_e32 v33, v5
+; VI-NEXT: v_mov_b32_e32 v51, v49
+; VI-NEXT: v_mov_b32_e32 v59, v2
+; VI-NEXT: v_mov_b32_e32 v50, v8
+; VI-NEXT: v_mov_b32_e32 v46, v7
; VI-NEXT: v_mov_b32_e32 v43, v20
; VI-NEXT: s_mov_b64 s[4:5], -1
; VI-NEXT: ; implicit-def: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15
; VI-NEXT: ; implicit-def: $vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31
; VI-NEXT: .LBB89_3: ; %Flow
+; VI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:480 ; 4-byte Folded Reload
; VI-NEXT: s_and_b64 s[4:5], s[4:5], exec
; VI-NEXT: s_cselect_b32 s4, 1, 0
; VI-NEXT: s_cmp_lg_u32 s4, 1
; VI-NEXT: s_cbranch_scc1 .LBB89_5
; VI-NEXT: ; %bb.4: ; %cmp.true
-; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v51
+; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v39
; VI-NEXT: s_mov_b32 s4, 0xc0c0004
-; VI-NEXT: v_perm_b32 v0, v0, v63, s4
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:660 ; 4-byte Folded Spill
-; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v38
-; VI-NEXT: v_perm_b32 v0, v0, v48, s4
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:664 ; 4-byte Folded Spill
-; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v35
-; VI-NEXT: v_perm_b32 v20, v0, v32, s4
-; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v36
-; VI-NEXT: v_perm_b32 v21, v0, v62, s4
+; VI-NEXT: v_perm_b32 v0, v0, v36, s4
+; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:668 ; 4-byte Folded Spill
+; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v37
+; VI-NEXT: v_perm_b32 v0, v0, v38, s4
+; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:672 ; 4-byte Folded Spill
+; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v63
+; VI-NEXT: v_perm_b32 v0, v0, v33, s4
+; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:676 ; 4-byte Folded Spill
+; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v58
+; VI-NEXT: v_perm_b32 v63, v0, v59, s4
; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v34
-; VI-NEXT: v_perm_b32 v22, v0, v49, s4
-; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v57
-; VI-NEXT: v_perm_b32 v23, v0, v33, s4
-; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v39
-; VI-NEXT: v_perm_b32 v24, v0, v52, s4
-; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v53
-; VI-NEXT: v_perm_b32 v25, v0, v37, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:456 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v22, v0, v50, s4
+; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v51
+; VI-NEXT: v_perm_b32 v23, v0, v46, s4
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:464 ; 4-byte Folded Reload
; VI-NEXT: s_add_i32 s75, s75, 3
; VI-NEXT: s_add_i32 s72, s72, 3
; VI-NEXT: s_add_i32 s60, s60, 3
@@ -148757,212 +148821,217 @@ define inreg <64 x bfloat> @bitcast_v128i8_to_v64bf16_scalar(<128 x i8> inreg %a
; VI-NEXT: s_add_i32 s24, s24, 3
; VI-NEXT: s_add_i32 s22, s22, 3
; VI-NEXT: s_add_i32 s20, s20, 3
-; VI-NEXT: v_mov_b32_e32 v57, s21
+; VI-NEXT: v_mov_b32_e32 v46, s21
; VI-NEXT: s_add_i32 s18, s18, 3
-; VI-NEXT: v_mov_b32_e32 v62, s19
+; VI-NEXT: v_mov_b32_e32 v58, s19
; VI-NEXT: s_add_i32 s16, s16, 3
-; VI-NEXT: v_mov_b32_e32 v63, s17
+; VI-NEXT: v_mov_b32_e32 v59, s17
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v0
+; VI-NEXT: v_perm_b32 v24, v0, v35, s4
+; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v62
+; VI-NEXT: v_perm_b32 v25, v0, v48, s4
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:452 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:588 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:592 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v26, v1, v0, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:584 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:588 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v0
-; VI-NEXT: v_perm_b32 v27, v0, v50, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:572 ; 4-byte Folded Reload
+; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:596 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_perm_b32 v27, v1, v0, s4
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:580 ; 4-byte Folded Reload
; VI-NEXT: v_add_u32_e32 v27, vcc, 0x300, v27
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:576 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:436 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v28, v1, v0, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:452 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:448 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:580 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:584 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v29, v1, v0, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:432 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:428 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:440 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:444 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v30, v1, v0, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:428 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:432 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:436 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:440 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v31, v1, v0, s4
; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:420 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:444 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:456 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v41, v1, v0, s4
+; VI-NEXT: v_perm_b32 v62, v1, v0, s4
; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:424 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:448 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:460 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v19, v1, v0, s4
+; VI-NEXT: v_perm_b32 v21, v1, v0, s4
; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:412 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:472 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(1)
+; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v0
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:464 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v44, v1, v0, s4
+; VI-NEXT: v_perm_b32 v44, v0, v1, s4
; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:416 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:468 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(1)
+; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v0
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:460 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v45, v1, v0, s4
+; VI-NEXT: v_perm_b32 v45, v0, v1, s4
; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:404 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:400 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v46, v1, v0, s4
+; VI-NEXT: v_perm_b32 v20, v1, v0, s4
; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:408 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:472 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:476 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v0
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v47, v0, v1, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:568 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:656 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:576 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:664 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v0
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v56, v0, v1, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:564 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:468 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:572 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:660 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v0
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v18, v0, v1, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:540 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v57, v0, v1, s4
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:548 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:536 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:544 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v58, v1, v0, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:560 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v19, v1, v0, s4
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:568 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v0
-; VI-NEXT: v_perm_b32 v59, v0, v43, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:512 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v18, v0, v43, s4
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:520 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:500 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:508 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v60, v1, v0, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:508 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:516 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:496 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:504 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v61, v1, v0, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:544 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:552 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:552 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:560 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v40, v1, v0, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:548 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:556 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:556 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:564 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v42, v1, v0, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:520 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:528 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:524 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:532 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v10, v1, v0, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:528 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:536 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:532 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:540 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v11, v1, v0, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:488 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:500 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:492 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:496 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v12, v1, v0, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:504 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:512 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:516 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:524 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v13, v1, v0, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:484 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:488 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:652 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v0
+; VI-NEXT: v_perm_b32 v14, v0, v32, s4
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:492 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v14, v0, v1, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:480 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:644 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v0
-; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v15, v0, v1, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:476 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:636 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:484 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:644 ; 4-byte Folded Reload
; VI-NEXT: v_add_u32_e32 v15, vcc, 0x300, v15
; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v0
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v16, v0, v1, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:648 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:628 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:656 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:636 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v0
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v17, v0, v1, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:640 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:620 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:648 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:628 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v0
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v32, v0, v1, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:632 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:612 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:640 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:620 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v0
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v34, v0, v1, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:624 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:608 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:632 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:616 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v0
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v36, v0, v1, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:616 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:604 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:624 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:612 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v0
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v37, v0, v1, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:600 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:596 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:608 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:604 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v0
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v38, v0, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:592 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:600 ; 4-byte Folded Reload
; VI-NEXT: v_mov_b32_e32 v0, 0xc0c0004
-; VI-NEXT: v_perm_b32 v57, s20, v57, v0
-; VI-NEXT: v_perm_b32 v62, s18, v62, v0
-; VI-NEXT: v_lshlrev_b32_e32 v62, 16, v62
-; VI-NEXT: v_add_u32_e32 v57, vcc, 0x300, v57
+; VI-NEXT: v_perm_b32 v46, s20, v46, v0
+; VI-NEXT: v_perm_b32 v58, s18, v58, v0
+; VI-NEXT: v_lshlrev_b32_e32 v58, 16, v58
+; VI-NEXT: v_add_u32_e32 v46, vcc, 0x300, v46
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v39, s75, v1, v0
; VI-NEXT: v_mov_b32_e32 v1, s59
@@ -148985,31 +149054,46 @@ define inreg <64 x bfloat> @bitcast_v128i8_to_v64bf16_scalar(<128 x i8> inreg %a
; VI-NEXT: v_perm_b32 v6, s63, v1, v0
; VI-NEXT: v_mov_b32_e32 v1, s45
; VI-NEXT: v_perm_b32 v51, s58, v1, v0
+; VI-NEXT: v_mov_b32_e32 v1, s41
+; VI-NEXT: v_perm_b32 v5, s46, v1, v0
+; VI-NEXT: v_mov_b32_e32 v1, s13
+; VI-NEXT: v_perm_b32 v52, s42, v1, v0
+; VI-NEXT: v_lshlrev_b32_e32 v5, 16, v5
+; VI-NEXT: v_add_u32_e32 v52, vcc, 0x300, v52
; VI-NEXT: v_lshlrev_b32_e32 v6, 16, v6
; VI-NEXT: v_add_u32_e32 v51, vcc, 0x300, v51
; VI-NEXT: v_lshlrev_b32_e32 v7, 16, v7
; VI-NEXT: v_add_u32_e32 v50, vcc, 0x300, v50
+; VI-NEXT: v_lshlrev_b32_e32 v8, 16, v8
+; VI-NEXT: v_add_u32_e32 v49, vcc, 0x300, v49
; VI-NEXT: v_lshlrev_b32_e32 v9, 16, v9
; VI-NEXT: v_add_u32_e32 v48, vcc, 0x300, v48
+; VI-NEXT: v_or_b32_sdwa v5, v5, v52 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; VI-NEXT: v_or_b32_sdwa v6, v6, v51 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; VI-NEXT: v_or_b32_sdwa v7, v7, v50 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; VI-NEXT: v_or_b32_sdwa v8, v8, v49 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; VI-NEXT: v_or_b32_sdwa v9, v9, v48 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; VI-NEXT: v_lshlrev_b32_e32 v48, 16, v10
+; VI-NEXT: v_add_u32_e32 v49, vcc, 0x300, v11
; VI-NEXT: v_lshlrev_b32_e32 v50, 16, v12
; VI-NEXT: v_add_u32_e32 v51, vcc, 0x300, v13
+; VI-NEXT: v_lshlrev_b32_e32 v52, 16, v14
+; VI-NEXT: v_lshlrev_b32_e32 v14, 16, v16
+; VI-NEXT: v_add_u32_e32 v16, vcc, 0x300, v17
; VI-NEXT: v_lshlrev_b32_e32 v13, 16, v32
+; VI-NEXT: v_add_u32_e32 v17, vcc, 0x300, v34
; VI-NEXT: v_lshlrev_b32_e32 v12, 16, v36
; VI-NEXT: v_add_u32_e32 v32, vcc, 0x300, v37
+; VI-NEXT: v_lshlrev_b32_e32 v11, 16, v38
+; VI-NEXT: v_add_u32_e32 v34, vcc, 0x300, v39
; VI-NEXT: v_lshlrev_b32_e32 v10, 16, v33
; VI-NEXT: v_add_u32_e32 v33, vcc, 0x300, v35
; VI-NEXT: v_or_b32_sdwa v10, v10, v33 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; VI-NEXT: v_or_b32_sdwa v11, v11, v34 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; VI-NEXT: v_or_b32_sdwa v12, v12, v32 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; VI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:660 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:664 ; 4-byte Folded Reload
-; VI-NEXT: v_mov_b32_e32 v1, s41
-; VI-NEXT: v_perm_b32 v5, s46, v1, v0
-; VI-NEXT: v_mov_b32_e32 v1, s13
-; VI-NEXT: v_perm_b32 v52, s42, v1, v0
+; VI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:668 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:672 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:676 ; 4-byte Folded Reload
; VI-NEXT: v_mov_b32_e32 v1, s10
; VI-NEXT: v_perm_b32 v4, s14, v1, v0
; VI-NEXT: v_mov_b32_e32 v1, s7
@@ -149023,23 +149107,10 @@ define inreg <64 x bfloat> @bitcast_v128i8_to_v64bf16_scalar(<128 x i8> inreg %a
; VI-NEXT: v_mov_b32_e32 v1, s25
; VI-NEXT: v_perm_b32 v55, s24, v1, v0
; VI-NEXT: v_mov_b32_e32 v1, s23
-; VI-NEXT: v_lshlrev_b32_e32 v5, 16, v5
-; VI-NEXT: v_add_u32_e32 v52, vcc, 0x300, v52
-; VI-NEXT: v_lshlrev_b32_e32 v8, 16, v8
-; VI-NEXT: v_add_u32_e32 v49, vcc, 0x300, v49
; VI-NEXT: v_perm_b32 v1, s22, v1, v0
-; VI-NEXT: v_perm_b32 v0, s16, v63, v0
+; VI-NEXT: v_perm_b32 v0, s16, v59, v0
; VI-NEXT: v_lshlrev_b32_e32 v4, 16, v4
; VI-NEXT: v_add_u32_e32 v53, vcc, 0x300, v53
-; VI-NEXT: v_or_b32_sdwa v5, v5, v52 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; VI-NEXT: v_or_b32_sdwa v8, v8, v49 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; VI-NEXT: v_add_u32_e32 v49, vcc, 0x300, v11
-; VI-NEXT: v_lshlrev_b32_e32 v52, 16, v14
-; VI-NEXT: v_lshlrev_b32_e32 v14, 16, v16
-; VI-NEXT: v_add_u32_e32 v16, vcc, 0x300, v17
-; VI-NEXT: v_add_u32_e32 v17, vcc, 0x300, v34
-; VI-NEXT: v_lshlrev_b32_e32 v11, 16, v38
-; VI-NEXT: v_add_u32_e32 v34, vcc, 0x300, v39
; VI-NEXT: v_add_u32_e32 v0, vcc, 0x300, v0
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
@@ -149047,14 +149118,12 @@ define inreg <64 x bfloat> @bitcast_v128i8_to_v64bf16_scalar(<128 x i8> inreg %a
; VI-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; VI-NEXT: v_add_u32_e32 v54, vcc, 0x300, v54
; VI-NEXT: v_or_b32_sdwa v4, v4, v53 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; VI-NEXT: v_or_b32_sdwa v11, v11, v34 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; VI-NEXT: v_or_b32_sdwa v13, v13, v17 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; VI-NEXT: v_or_b32_sdwa v14, v14, v16 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; VI-NEXT: v_or_b32_sdwa v15, v52, v15 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; VI-NEXT: v_or_b32_sdwa v16, v50, v51 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; VI-NEXT: v_or_b32_sdwa v17, v48, v49 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; VI-NEXT: v_lshlrev_b32_e32 v34, 16, v20
-; VI-NEXT: v_add_u32_e32 v35, vcc, 0x300, v21
+; VI-NEXT: v_add_u32_e32 v35, vcc, 0x300, v63
; VI-NEXT: v_lshlrev_b32_e32 v36, 16, v22
; VI-NEXT: v_add_u32_e32 v37, vcc, 0x300, v23
; VI-NEXT: v_lshlrev_b32_e32 v38, 16, v24
@@ -149064,32 +149133,34 @@ define inreg <64 x bfloat> @bitcast_v128i8_to_v64bf16_scalar(<128 x i8> inreg %a
; VI-NEXT: v_add_u32_e32 v28, vcc, 0x300, v29
; VI-NEXT: v_lshlrev_b32_e32 v25, 16, v30
; VI-NEXT: v_add_u32_e32 v29, vcc, 0x300, v31
-; VI-NEXT: v_lshlrev_b32_e32 v24, 16, v41
-; VI-NEXT: v_add_u32_e32 v30, vcc, 0x300, v19
+; VI-NEXT: v_lshlrev_b32_e32 v24, 16, v62
+; VI-NEXT: v_add_u32_e32 v30, vcc, 0x300, v21
; VI-NEXT: v_lshlrev_b32_e32 v23, 16, v44
; VI-NEXT: v_add_u32_e32 v31, vcc, 0x300, v45
-; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_lshlrev_b32_e32 v32, 16, v32
-; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_add_u32_e32 v33, vcc, 0x300, v33
-; VI-NEXT: v_lshlrev_b32_e32 v22, 16, v46
+; VI-NEXT: v_lshlrev_b32_e32 v22, 16, v20
; VI-NEXT: v_add_u32_e32 v49, vcc, 0x300, v47
; VI-NEXT: v_lshlrev_b32_e32 v21, 16, v56
-; VI-NEXT: v_add_u32_e32 v50, vcc, 0x300, v18
-; VI-NEXT: v_lshlrev_b32_e32 v20, 16, v58
-; VI-NEXT: v_add_u32_e32 v51, vcc, 0x300, v59
+; VI-NEXT: v_add_u32_e32 v50, vcc, 0x300, v57
+; VI-NEXT: v_lshlrev_b32_e32 v20, 16, v19
+; VI-NEXT: v_add_u32_e32 v51, vcc, 0x300, v18
; VI-NEXT: v_lshlrev_b32_e32 v19, 16, v60
; VI-NEXT: v_add_u32_e32 v52, vcc, 0x300, v61
; VI-NEXT: v_lshlrev_b32_e32 v18, 16, v40
; VI-NEXT: v_add_u32_e32 v53, vcc, 0x300, v42
-; VI-NEXT: v_or_b32_sdwa v0, v62, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; VI-NEXT: v_or_b32_sdwa v1, v1, v57 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; VI-NEXT: v_or_b32_sdwa v0, v58, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; VI-NEXT: v_or_b32_sdwa v1, v1, v46 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; VI-NEXT: v_or_b32_sdwa v2, v2, v55 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; VI-NEXT: v_or_b32_sdwa v3, v3, v54 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; VI-NEXT: v_or_b32_sdwa v18, v18, v53 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; VI-NEXT: v_or_b32_sdwa v19, v19, v52 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; VI-NEXT: v_or_b32_sdwa v20, v20, v51 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; VI-NEXT: v_or_b32_sdwa v21, v21, v50 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; VI-NEXT: s_waitcnt vmcnt(2)
+; VI-NEXT: v_lshlrev_b32_e32 v32, 16, v32
+; VI-NEXT: s_waitcnt vmcnt(1)
+; VI-NEXT: v_add_u32_e32 v33, vcc, 0x300, v33
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_lshlrev_b32_e32 v34, 16, v34
; VI-NEXT: v_or_b32_sdwa v22, v22, v49 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; VI-NEXT: v_or_b32_sdwa v23, v23, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; VI-NEXT: v_or_b32_sdwa v24, v24, v30 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
@@ -149179,559 +149250,539 @@ define inreg <64 x bfloat> @bitcast_v128i8_to_v64bf16_scalar(<128 x i8> inreg %a
; GFX9-NEXT: buffer_load_ushort v12, off, s[0:3], s32 offset:4
; GFX9-NEXT: buffer_load_ushort v13, off, s[0:3], s32
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:328
-; GFX9-NEXT: v_readfirstlane_b32 s11, v20
-; GFX9-NEXT: v_readfirstlane_b32 s6, v1
-; GFX9-NEXT: v_readfirstlane_b32 s9, v21
+; GFX9-NEXT: v_readfirstlane_b32 s13, v25
+; GFX9-NEXT: v_readfirstlane_b32 s40, v24
+; GFX9-NEXT: v_readfirstlane_b32 s60, v22
; GFX9-NEXT: v_readfirstlane_b32 s43, v2
+; GFX9-NEXT: v_readfirstlane_b32 s6, v1
; GFX9-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:332
-; GFX9-NEXT: v_readfirstlane_b32 s40, v24
-; GFX9-NEXT: v_readfirstlane_b32 s57, v23
-; GFX9-NEXT: v_readfirstlane_b32 s12, v9
-; GFX9-NEXT: v_readfirstlane_b32 s14, v8
; GFX9-NEXT: v_readfirstlane_b32 s59, v6
; GFX9-NEXT: v_readfirstlane_b32 s15, v3
; GFX9-NEXT: v_readfirstlane_b32 s10, v4
+; GFX9-NEXT: v_readfirstlane_b32 s47, v7
; GFX9-NEXT: v_readfirstlane_b32 s8, v5
+; GFX9-NEXT: v_readfirstlane_b32 s12, v9
+; GFX9-NEXT: v_readfirstlane_b32 s14, v8
; GFX9-NEXT: v_readfirstlane_b32 s63, v10
-; GFX9-NEXT: v_readfirstlane_b32 s47, v7
-; GFX9-NEXT: v_readfirstlane_b32 s75, v14
-; GFX9-NEXT: v_readfirstlane_b32 s13, v25
+; GFX9-NEXT: v_readfirstlane_b32 s11, v20
; GFX9-NEXT: v_readfirstlane_b32 s74, v30
; GFX9-NEXT: v_readfirstlane_b32 s44, v29
; GFX9-NEXT: v_readfirstlane_b32 s56, v28
; GFX9-NEXT: v_readfirstlane_b32 s62, v27
; GFX9-NEXT: v_readfirstlane_b32 s72, v26
-; GFX9-NEXT: v_readfirstlane_b32 s60, v22
+; GFX9-NEXT: v_readfirstlane_b32 s57, v23
+; GFX9-NEXT: v_readfirstlane_b32 s9, v21
; GFX9-NEXT: v_readfirstlane_b32 s41, v19
; GFX9-NEXT: v_readfirstlane_b32 s76, v18
; GFX9-NEXT: v_readfirstlane_b32 s45, v17
; GFX9-NEXT: v_readfirstlane_b32 s58, v16
; GFX9-NEXT: v_readfirstlane_b32 s73, v15
-; GFX9-NEXT: buffer_load_ushort v22, off, s[0:3], s32 offset:288
-; GFX9-NEXT: buffer_load_ushort v45, off, s[0:3], s32 offset:284
+; GFX9-NEXT: v_readfirstlane_b32 s75, v14
+; GFX9-NEXT: buffer_load_ushort v23, off, s[0:3], s32 offset:288
+; GFX9-NEXT: buffer_load_ushort v51, off, s[0:3], s32 offset:284
; GFX9-NEXT: s_waitcnt vmcnt(3)
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:448 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:468 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v63, off, s[0:3], s32 offset:324
-; GFX9-NEXT: buffer_load_ushort v20, off, s[0:3], s32 offset:320
+; GFX9-NEXT: buffer_load_ushort v22, off, s[0:3], s32 offset:320
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:316
-; GFX9-NEXT: buffer_load_ushort v1, off, s[0:3], s32 offset:312
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:452 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_ushort v49, off, s[0:3], s32 offset:308
-; GFX9-NEXT: buffer_load_ushort v21, off, s[0:3], s32 offset:304
-; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_load_ushort v24, off, s[0:3], s32 offset:312
+; GFX9-NEXT: buffer_load_ushort v53, off, s[0:3], s32 offset:308
+; GFX9-NEXT: buffer_load_ushort v48, off, s[0:3], s32 offset:304
; GFX9-NEXT: buffer_load_ushort v1, off, s[0:3], s32 offset:300
-; GFX9-NEXT: buffer_load_ushort v2, off, s[0:3], s32 offset:296
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:460 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v25, off, s[0:3], s32 offset:296
; GFX9-NEXT: buffer_load_ushort v2, off, s[0:3], s32 offset:292
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:428 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v2, off, s[0:3], s32 offset:280
; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v31
-; GFX9-NEXT: s_and_b64 s[4:5], vcc, exec
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:456 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_ushort v23, off, s[0:3], s32 offset:280
-; GFX9-NEXT: buffer_load_ushort v33, off, s[0:3], s32 offset:276
-; GFX9-NEXT: buffer_load_ushort v6, off, s[0:3], s32 offset:272
-; GFX9-NEXT: buffer_load_ushort v8, off, s[0:3], s32 offset:268
-; GFX9-NEXT: buffer_load_ushort v41, off, s[0:3], s32 offset:264
-; GFX9-NEXT: buffer_load_ushort v2, off, s[0:3], s32 offset:260
-; GFX9-NEXT: buffer_load_ushort v24, off, s[0:3], s32 offset:256
-; GFX9-NEXT: buffer_load_ushort v9, off, s[0:3], s32 offset:252
+; GFX9-NEXT: buffer_load_ushort v41, off, s[0:3], s32 offset:116
+; GFX9-NEXT: buffer_load_ushort v18, off, s[0:3], s32 offset:112
+; GFX9-NEXT: buffer_load_ushort v50, off, s[0:3], s32 offset:108
+; GFX9-NEXT: buffer_load_ushort v21, off, s[0:3], s32 offset:104
+; GFX9-NEXT: buffer_load_ushort v35, off, s[0:3], s32 offset:100
+; GFX9-NEXT: buffer_load_ushort v16, off, s[0:3], s32 offset:96
+; GFX9-NEXT: buffer_load_ushort v17, off, s[0:3], s32 offset:92
+; GFX9-NEXT: buffer_load_ushort v46, off, s[0:3], s32 offset:88
+; GFX9-NEXT: buffer_load_ushort v38, off, s[0:3], s32 offset:84
+; GFX9-NEXT: buffer_load_ushort v57, off, s[0:3], s32 offset:80
+; GFX9-NEXT: buffer_load_ushort v59, off, s[0:3], s32 offset:76
+; GFX9-NEXT: buffer_load_ushort v15, off, s[0:3], s32 offset:72
+; GFX9-NEXT: buffer_load_ushort v56, off, s[0:3], s32 offset:68
+; GFX9-NEXT: buffer_load_ushort v31, off, s[0:3], s32 offset:64
+; GFX9-NEXT: buffer_load_ushort v30, off, s[0:3], s32 offset:60
+; GFX9-NEXT: buffer_load_ushort v62, off, s[0:3], s32 offset:56
+; GFX9-NEXT: buffer_load_ushort v55, off, s[0:3], s32 offset:52
+; GFX9-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:48
+; GFX9-NEXT: buffer_load_ushort v29, off, s[0:3], s32 offset:44
+; GFX9-NEXT: buffer_load_ushort v49, off, s[0:3], s32 offset:40
+; GFX9-NEXT: buffer_load_ushort v39, off, s[0:3], s32 offset:36
+; GFX9-NEXT: buffer_load_ushort v28, off, s[0:3], s32 offset:32
+; GFX9-NEXT: buffer_load_ushort v27, off, s[0:3], s32 offset:28
+; GFX9-NEXT: buffer_load_ushort v34, off, s[0:3], s32 offset:24
+; GFX9-NEXT: buffer_load_ushort v36, off, s[0:3], s32 offset:20
+; GFX9-NEXT: buffer_load_ushort v37, off, s[0:3], s32 offset:16
+; GFX9-NEXT: buffer_load_ushort v26, off, s[0:3], s32 offset:12
+; GFX9-NEXT: s_cmp_lg_u64 vcc, 0
+; GFX9-NEXT: s_waitcnt vmcnt(27)
+; GFX9-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:484 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v52, off, s[0:3], s32 offset:276
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_load_ushort v2, off, s[0:3], s32 offset:272
+; GFX9-NEXT: buffer_load_ushort v6, off, s[0:3], s32 offset:268
+; GFX9-NEXT: buffer_load_ushort v3, off, s[0:3], s32 offset:264
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:444 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v44, off, s[0:3], s32 offset:260
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_load_ushort v3, off, s[0:3], s32 offset:256
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:488 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v58, off, s[0:3], s32 offset:252
+; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_ushort v3, off, s[0:3], s32 offset:248
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:436 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_ushort v44, off, s[0:3], s32 offset:244
+; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:452 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v47, off, s[0:3], s32 offset:244
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_ushort v3, off, s[0:3], s32 offset:240
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:444 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_ushort v55, off, s[0:3], s32 offset:236
+; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:492 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v42, off, s[0:3], s32 offset:236
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_ushort v3, off, s[0:3], s32 offset:232
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:440 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:448 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v61, off, s[0:3], s32 offset:228
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_ushort v3, off, s[0:3], s32 offset:224
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:476 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_ushort v37, off, s[0:3], s32 offset:220
+; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:496 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v43, off, s[0:3], s32 offset:220
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_ushort v3, off, s[0:3], s32 offset:216
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:432 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_ushort v3, off, s[0:3], s32 offset:212
+; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:440 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v33, off, s[0:3], s32 offset:212
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_ushort v4, off, s[0:3], s32 offset:208
+; GFX9-NEXT: buffer_load_ushort v3, off, s[0:3], s32 offset:208
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:416 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_ushort v47, off, s[0:3], s32 offset:204
+; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:412 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v32, off, s[0:3], s32 offset:204
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_ushort v4, off, s[0:3], s32 offset:200
+; GFX9-NEXT: buffer_load_ushort v3, off, s[0:3], s32 offset:200
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:424 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_ushort v4, off, s[0:3], s32 offset:196
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_ushort v5, off, s[0:3], s32 offset:192
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:412 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_ushort v10, off, s[0:3], s32 offset:188
+; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:436 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v3, off, s[0:3], s32 offset:196
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_ushort v5, off, s[0:3], s32 offset:184
+; GFX9-NEXT: buffer_load_ushort v4, off, s[0:3], s32 offset:192
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:420 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_ushort v7, off, s[0:3], s32 offset:180
+; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:408 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v7, off, s[0:3], s32 offset:188
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_ushort v5, off, s[0:3], s32 offset:176
+; GFX9-NEXT: buffer_load_ushort v4, off, s[0:3], s32 offset:184
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:404 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_ushort v58, off, s[0:3], s32 offset:172
+; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:432 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v5, off, s[0:3], s32 offset:180
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_ushort v5, off, s[0:3], s32 offset:168
+; GFX9-NEXT: buffer_load_ushort v4, off, s[0:3], s32 offset:176
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:464 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_ushort v5, off, s[0:3], s32 offset:164
+; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:404 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v9, off, s[0:3], s32 offset:172
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:160
+; GFX9-NEXT: buffer_load_ushort v4, off, s[0:3], s32 offset:168
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:408 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_ushort v25, off, s[0:3], s32 offset:156
+; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:424 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v4, off, s[0:3], s32 offset:164
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:152
+; GFX9-NEXT: buffer_load_ushort v8, off, s[0:3], s32 offset:160
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:468 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_ushort v54, off, s[0:3], s32 offset:148
+; GFX9-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:400 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v8, off, s[0:3], s32 offset:156
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:144
+; GFX9-NEXT: buffer_load_ushort v10, off, s[0:3], s32 offset:152
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:400 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_ushort v50, off, s[0:3], s32 offset:140
+; GFX9-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:472 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v60, off, s[0:3], s32 offset:148
+; GFX9-NEXT: buffer_load_ushort v20, off, s[0:3], s32 offset:144
+; GFX9-NEXT: buffer_load_ushort v54, off, s[0:3], s32 offset:140
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:136
+; GFX9-NEXT: buffer_load_ushort v10, off, s[0:3], s32 offset:136
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:472 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_ushort v59, off, s[0:3], s32 offset:132
+; GFX9-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:476 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v40, off, s[0:3], s32 offset:132
; GFX9-NEXT: buffer_load_ushort v19, off, s[0:3], s32 offset:128
-; GFX9-NEXT: buffer_load_ushort v51, off, s[0:3], s32 offset:124
-; GFX9-NEXT: buffer_load_ushort v36, off, s[0:3], s32 offset:120
-; GFX9-NEXT: buffer_load_ushort v57, off, s[0:3], s32 offset:116
-; GFX9-NEXT: buffer_load_ushort v18, off, s[0:3], s32 offset:112
-; GFX9-NEXT: buffer_load_ushort v48, off, s[0:3], s32 offset:108
-; GFX9-NEXT: buffer_load_ushort v17, off, s[0:3], s32 offset:104
-; GFX9-NEXT: buffer_load_ushort v40, off, s[0:3], s32 offset:100
-; GFX9-NEXT: buffer_load_ushort v16, off, s[0:3], s32 offset:96
-; GFX9-NEXT: buffer_load_ushort v32, off, s[0:3], s32 offset:92
-; GFX9-NEXT: buffer_load_ushort v38, off, s[0:3], s32 offset:88
-; GFX9-NEXT: buffer_load_ushort v43, off, s[0:3], s32 offset:84
-; GFX9-NEXT: buffer_load_ushort v60, off, s[0:3], s32 offset:80
-; GFX9-NEXT: buffer_load_ushort v46, off, s[0:3], s32 offset:76
-; GFX9-NEXT: buffer_load_ushort v15, off, s[0:3], s32 offset:72
-; GFX9-NEXT: buffer_load_ushort v56, off, s[0:3], s32 offset:68
-; GFX9-NEXT: buffer_load_ushort v31, off, s[0:3], s32 offset:64
-; GFX9-NEXT: buffer_load_ushort v30, off, s[0:3], s32 offset:60
-; GFX9-NEXT: buffer_load_ushort v62, off, s[0:3], s32 offset:56
-; GFX9-NEXT: buffer_load_ushort v52, off, s[0:3], s32 offset:52
-; GFX9-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:48
-; GFX9-NEXT: buffer_load_ushort v29, off, s[0:3], s32 offset:44
-; GFX9-NEXT: buffer_load_ushort v39, off, s[0:3], s32 offset:40
-; GFX9-NEXT: buffer_load_ushort v34, off, s[0:3], s32 offset:36
-; GFX9-NEXT: buffer_load_ushort v28, off, s[0:3], s32 offset:32
-; GFX9-NEXT: buffer_load_ushort v27, off, s[0:3], s32 offset:28
-; GFX9-NEXT: buffer_load_ushort v35, off, s[0:3], s32 offset:24
-; GFX9-NEXT: buffer_load_ushort v53, off, s[0:3], s32 offset:20
-; GFX9-NEXT: buffer_load_ushort v26, off, s[0:3], s32 offset:16
-; GFX9-NEXT: buffer_load_ushort v42, off, s[0:3], s32 offset:12
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:480 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:484 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:488 ; 4-byte Folded Spill
-; GFX9-NEXT: s_waitcnt vmcnt(7)
-; GFX9-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:492 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:496 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:500 ; 4-byte Folded Spill
-; GFX9-NEXT: s_waitcnt vmcnt(9)
-; GFX9-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:504 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:508 ; 4-byte Folded Spill
-; GFX9-NEXT: s_waitcnt vmcnt(10)
-; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:512 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:516 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:520 ; 4-byte Folded Spill
-; GFX9-NEXT: s_waitcnt vmcnt(12)
-; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:524 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:528 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:532 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:536 ; 4-byte Folded Spill
-; GFX9-NEXT: s_waitcnt vmcnt(15)
-; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:540 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:544 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:548 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v30, off, s[0:3], s32 offset:552 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v38, off, s[0:3], s32 offset:556 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:560 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:564 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:568 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v60, off, s[0:3], s32 offset:572 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:576 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:580 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:584 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:588 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v57, off, s[0:3], s32 offset:592 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v48, off, s[0:3], s32 offset:596 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v45, off, s[0:3], s32 offset:124
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_load_ushort v10, off, s[0:3], s32 offset:120
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:500 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:504 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:508 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:512 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:516 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:520 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:524 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:528 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v30, off, s[0:3], s32 offset:532 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:536 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:540 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:544 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:548 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:552 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:556 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:560 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:564 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:568 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v38, off, s[0:3], s32 offset:572 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:576 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v57, off, s[0:3], s32 offset:580 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v59, off, s[0:3], s32 offset:584 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:588 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:592 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:596 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:600 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:604 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:608 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v50, off, s[0:3], s32 offset:612 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:616 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:620 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:624 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:628 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:632 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:636 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:428 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v59, off, s[0:3], s32 offset:640 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v50, off, s[0:3], s32 offset:604 ; 4-byte Folded Spill
+; GFX9-NEXT: s_waitcnt vmcnt(30)
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:608 ; 4-byte Folded Spill
+; GFX9-NEXT: s_waitcnt vmcnt(29)
+; GFX9-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:612 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:616 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:620 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:624 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:628 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:632 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:636 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:640 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:644 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:648 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:456 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:460 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:464 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:416 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:420 ; 4-byte Folded Spill
+; GFX9-NEXT: s_waitcnt vmcnt(43)
+; GFX9-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:480 ; 4-byte Folded Spill
; GFX9-NEXT: s_cbranch_scc0 .LBB89_2
; GFX9-NEXT: ; %bb.1: ; %cmp.false
-; GFX9-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:676 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v24, 0xc0c0004
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:648 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:660 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:672 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:664 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:680 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:684 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:692 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:688 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:700 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:696 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v49, v3
+; GFX9-NEXT: v_mov_b32_e32 v25, 0xc0c0004
+; GFX9-NEXT: buffer_store_dword v48, off, s[0:3], s32 offset:652 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v48, s19
+; GFX9-NEXT: v_mov_b32_e32 v10, s17
+; GFX9-NEXT: v_perm_b32 v48, s18, v48, v25
+; GFX9-NEXT: v_perm_b32 v10, s16, v10, v25
+; GFX9-NEXT: v_lshlrev_b32_e32 v24, 16, v48
+; GFX9-NEXT: s_mov_b32 s5, 0xc0c0004
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:660 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:664 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:676 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:668 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:680 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:684 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:692 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:688 ; 4-byte Folded Spill
+; GFX9-NEXT: v_or_b32_sdwa v0, v24, v10 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_perm_b32 v24, v59, v57, s5
+; GFX9-NEXT: buffer_load_dword v57, off, s[0:3], s32 offset:480 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v59, off, s[0:3], s32 offset:476 ; 4-byte Folded Reload
+; GFX9-NEXT: v_mov_b32_e32 v52, v3
; GFX9-NEXT: v_mov_b32_e32 v3, s27
; GFX9-NEXT: v_mov_b32_e32 v2, s25
-; GFX9-NEXT: v_perm_b32 v3, s26, v3, v24
-; GFX9-NEXT: v_mov_b32_e32 v63, v55
-; GFX9-NEXT: v_mov_b32_e32 v55, v4
-; GFX9-NEXT: v_perm_b32 v2, s24, v2, v24
+; GFX9-NEXT: v_perm_b32 v3, s26, v3, v25
+; GFX9-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:696 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v58, v4
+; GFX9-NEXT: v_perm_b32 v2, s24, v2, v25
; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; GFX9-NEXT: v_mov_b32_e32 v4, s6
; GFX9-NEXT: v_or_b32_sdwa v2, v3, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: v_mov_b32_e32 v3, s29
-; GFX9-NEXT: v_perm_b32 v4, s7, v4, v24
-; GFX9-NEXT: v_mov_b32_e32 v33, v5
-; GFX9-NEXT: v_perm_b32 v3, s28, v3, v24
+; GFX9-NEXT: v_perm_b32 v4, s7, v4, v25
+; GFX9-NEXT: v_mov_b32_e32 v63, v44
+; GFX9-NEXT: v_mov_b32_e32 v44, v42
+; GFX9-NEXT: v_mov_b32_e32 v42, v5
+; GFX9-NEXT: v_perm_b32 v3, s28, v3, v25
; GFX9-NEXT: v_lshlrev_b32_e32 v4, 16, v4
; GFX9-NEXT: v_mov_b32_e32 v5, s8
+; GFX9-NEXT: v_mov_b32_e32 v48, s21
; GFX9-NEXT: v_or_b32_sdwa v3, v4, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: v_mov_b32_e32 v4, s15
-; GFX9-NEXT: v_perm_b32 v5, s10, v5, v24
-; GFX9-NEXT: v_mov_b32_e32 v41, s17
-; GFX9-NEXT: v_perm_b32 v4, s43, v4, v24
+; GFX9-NEXT: v_perm_b32 v5, s10, v5, v25
+; GFX9-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:672 ; 4-byte Folded Spill
+; GFX9-NEXT: v_perm_b32 v23, s20, v48, v25
+; GFX9-NEXT: v_mov_b32_e32 v48, s23
+; GFX9-NEXT: v_perm_b32 v4, s43, v4, v25
; GFX9-NEXT: v_lshlrev_b32_e32 v5, 16, v5
; GFX9-NEXT: v_mov_b32_e32 v6, s12
-; GFX9-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:668 ; 4-byte Folded Spill
-; GFX9-NEXT: v_perm_b32 v23, s16, v41, v24
-; GFX9-NEXT: v_mov_b32_e32 v41, s19
+; GFX9-NEXT: v_perm_b32 v48, s22, v48, v25
; GFX9-NEXT: v_or_b32_sdwa v4, v5, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: v_mov_b32_e32 v5, s47
-; GFX9-NEXT: v_perm_b32 v6, s14, v6, v24
-; GFX9-NEXT: v_perm_b32 v41, s18, v41, v24
-; GFX9-NEXT: v_mov_b32_e32 v45, v44
-; GFX9-NEXT: v_mov_b32_e32 v44, v37
-; GFX9-NEXT: v_mov_b32_e32 v37, v7
-; GFX9-NEXT: v_perm_b32 v5, s59, v5, v24
+; GFX9-NEXT: v_perm_b32 v6, s14, v6, v25
+; GFX9-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:656 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshlrev_b32_e32 v22, 16, v48
+; GFX9-NEXT: v_mov_b32_e32 v48, v33
+; GFX9-NEXT: v_mov_b32_e32 v33, v7
+; GFX9-NEXT: v_perm_b32 v5, s59, v5, v25
; GFX9-NEXT: v_lshlrev_b32_e32 v6, 16, v6
; GFX9-NEXT: v_mov_b32_e32 v7, s42
-; GFX9-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:656 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshlrev_b32_e32 v22, 16, v41
-; GFX9-NEXT: v_mov_b32_e32 v41, s21
; GFX9-NEXT: v_or_b32_sdwa v5, v6, v5 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: v_mov_b32_e32 v6, s61
-; GFX9-NEXT: v_perm_b32 v7, s46, v7, v24
-; GFX9-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:652 ; 4-byte Folded Spill
-; GFX9-NEXT: v_perm_b32 v21, s20, v41, v24
-; GFX9-NEXT: v_mov_b32_e32 v41, s23
-; GFX9-NEXT: v_perm_b32 v6, s63, v6, v24
+; GFX9-NEXT: v_perm_b32 v7, s46, v7, v25
+; GFX9-NEXT: v_mov_b32_e32 v53, v47
+; GFX9-NEXT: v_mov_b32_e32 v47, v43
+; GFX9-NEXT: v_mov_b32_e32 v43, v8
+; GFX9-NEXT: v_perm_b32 v6, s63, v6, v25
; GFX9-NEXT: v_lshlrev_b32_e32 v7, 16, v7
; GFX9-NEXT: v_mov_b32_e32 v8, s45
-; GFX9-NEXT: v_perm_b32 v41, s22, v41, v24
; GFX9-NEXT: v_or_b32_sdwa v6, v7, v6 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: v_mov_b32_e32 v7, s73
-; GFX9-NEXT: v_perm_b32 v8, s58, v8, v24
-; GFX9-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:644 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshlrev_b32_e32 v20, 16, v41
-; GFX9-NEXT: v_mov_b32_e32 v41, v61
-; GFX9-NEXT: v_mov_b32_e32 v61, v47
-; GFX9-NEXT: v_mov_b32_e32 v47, v10
-; GFX9-NEXT: v_perm_b32 v7, s75, v7, v24
+; GFX9-NEXT: v_perm_b32 v8, s58, v8, v25
+; GFX9-NEXT: v_mov_b32_e32 v51, v61
+; GFX9-NEXT: v_mov_b32_e32 v61, v32
+; GFX9-NEXT: v_mov_b32_e32 v32, v9
+; GFX9-NEXT: v_perm_b32 v7, s75, v7, v25
; GFX9-NEXT: v_lshlrev_b32_e32 v8, 16, v8
; GFX9-NEXT: v_mov_b32_e32 v10, 0x6050400
; GFX9-NEXT: v_mov_b32_e32 v9, s11
; GFX9-NEXT: v_or_b32_sdwa v7, v8, v7 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: v_mov_b32_e32 v8, s76
; GFX9-NEXT: v_perm_b32 v9, s9, v9, v10
-; GFX9-NEXT: v_or_b32_sdwa v1, v20, v21 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_or_b32_sdwa v1, v22, v23 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: v_perm_b32 v8, s41, v8, v10
; GFX9-NEXT: v_lshlrev_b32_e32 v9, 16, v9
-; GFX9-NEXT: v_mov_b32_e32 v20, s40
+; GFX9-NEXT: v_mov_b32_e32 v22, s40
; GFX9-NEXT: v_or_b32_sdwa v8, v9, v8 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: v_mov_b32_e32 v9, s57
-; GFX9-NEXT: v_perm_b32 v20, s13, v20, v10
+; GFX9-NEXT: v_perm_b32 v22, s13, v22, v10
; GFX9-NEXT: s_mov_b32 s4, 0x6050400
-; GFX9-NEXT: v_perm_b32 v9, s60, v9, v24
-; GFX9-NEXT: v_lshlrev_b32_e32 v20, 16, v20
+; GFX9-NEXT: v_perm_b32 v9, s60, v9, v25
+; GFX9-NEXT: v_lshlrev_b32_e32 v22, 16, v22
; GFX9-NEXT: v_perm_b32 v11, v11, v12, s4
-; GFX9-NEXT: v_or_b32_sdwa v9, v20, v9 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_mov_b32_e32 v20, s72
-; GFX9-NEXT: v_mov_b32_e32 v21, s56
-; GFX9-NEXT: v_perm_b32 v13, s74, v13, v24
+; GFX9-NEXT: v_or_b32_sdwa v9, v22, v9 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_mov_b32_e32 v22, s72
+; GFX9-NEXT: v_mov_b32_e32 v23, s56
+; GFX9-NEXT: v_perm_b32 v13, s74, v13, v25
; GFX9-NEXT: v_lshlrev_b32_e32 v11, 16, v11
-; GFX9-NEXT: v_perm_b32 v12, v35, v53, s4
-; GFX9-NEXT: v_perm_b32 v20, s62, v20, v10
-; GFX9-NEXT: v_perm_b32 v10, s44, v21, v10
+; GFX9-NEXT: v_perm_b32 v12, v34, v36, s4
+; GFX9-NEXT: v_perm_b32 v22, s62, v22, v10
+; GFX9-NEXT: v_perm_b32 v10, s44, v23, v10
; GFX9-NEXT: v_or_b32_sdwa v11, v11, v13 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: v_lshlrev_b32_e32 v12, 16, v12
-; GFX9-NEXT: v_perm_b32 v13, v26, v42, s4
+; GFX9-NEXT: v_perm_b32 v13, v37, v26, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v10, 16, v10
; GFX9-NEXT: v_or_b32_sdwa v12, v12, v13 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: s_mov_b32 s5, 0xc0c0004
-; GFX9-NEXT: v_perm_b32 v13, v39, v34, s4
-; GFX9-NEXT: v_or_b32_sdwa v10, v10, v20 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_perm_b32 v13, v49, v39, s4
+; GFX9-NEXT: v_or_b32_sdwa v10, v10, v22 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: v_lshlrev_b32_e32 v13, 16, v13
-; GFX9-NEXT: v_perm_b32 v20, v27, v28, s5
-; GFX9-NEXT: v_or_b32_sdwa v13, v13, v20 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_perm_b32 v20, v62, v52, s4
-; GFX9-NEXT: v_lshlrev_b32_e32 v20, 16, v20
+; GFX9-NEXT: v_perm_b32 v22, v27, v28, s5
+; GFX9-NEXT: v_or_b32_sdwa v13, v13, v22 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_perm_b32 v22, v62, v55, s4
+; GFX9-NEXT: v_lshlrev_b32_e32 v22, 16, v22
; GFX9-NEXT: v_perm_b32 v14, v14, v29, s4
; GFX9-NEXT: v_perm_b32 v15, v15, v56, s4
-; GFX9-NEXT: v_or_b32_sdwa v14, v20, v14 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_or_b32_sdwa v14, v22, v14 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: v_lshlrev_b32_e32 v15, 16, v15
-; GFX9-NEXT: v_perm_b32 v20, v30, v31, s5
-; GFX9-NEXT: v_or_b32_sdwa v0, v22, v23 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_or_b32_sdwa v15, v15, v20 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_perm_b32 v20, v43, v38, s5
-; GFX9-NEXT: v_perm_b32 v22, v32, v16, s5
-; GFX9-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:472 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:412 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:444 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v22, v30, v31, s5
+; GFX9-NEXT: v_or_b32_sdwa v15, v15, v22 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_perm_b32 v22, v38, v46, s5
+; GFX9-NEXT: v_lshlrev_b32_e32 v22, 16, v22
+; GFX9-NEXT: v_perm_b32 v17, v17, v16, s5
+; GFX9-NEXT: v_or_b32_sdwa v16, v22, v24 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: s_waitcnt vmcnt(4)
+; GFX9-NEXT: v_perm_b32 v22, v41, v57, s5
+; GFX9-NEXT: v_lshlrev_b32_e32 v22, 16, v22
+; GFX9-NEXT: v_perm_b32 v18, v50, v18, s5
+; GFX9-NEXT: v_or_b32_sdwa v18, v22, v18 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: s_waitcnt vmcnt(3)
+; GFX9-NEXT: v_perm_b32 v22, v40, v59, s5
+; GFX9-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:472 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v23, v35, v21, s5
+; GFX9-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:424 ; 4-byte Folded Reload
+; GFX9-NEXT: v_lshlrev_b32_e32 v22, 16, v22
+; GFX9-NEXT: v_perm_b32 v19, v45, v19, s5
+; GFX9-NEXT: v_or_b32_sdwa v19, v22, v19 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_perm_b32 v20, v54, v20, s5
+; GFX9-NEXT: v_lshlrev_b32_e32 v23, 16, v23
+; GFX9-NEXT: v_or_b32_sdwa v17, v23, v17 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:696 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:404 ; 4-byte Folded Reload
-; GFX9-NEXT: v_lshlrev_b32_e32 v20, 16, v20
-; GFX9-NEXT: v_perm_b32 v21, v46, v60, s5
-; GFX9-NEXT: v_or_b32_sdwa v16, v20, v21 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_perm_b32 v20, v57, v36, s5
-; GFX9-NEXT: buffer_load_dword v57, off, s[0:3], s32 offset:468 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:400 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v60, off, s[0:3], s32 offset:464 ; 4-byte Folded Reload
-; GFX9-NEXT: v_perm_b32 v17, v40, v17, s5
-; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v17
-; GFX9-NEXT: v_or_b32_sdwa v17, v17, v22 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:408 ; 4-byte Folded Reload
-; GFX9-NEXT: v_lshlrev_b32_e32 v20, 16, v20
-; GFX9-NEXT: v_perm_b32 v18, v48, v18, s5
-; GFX9-NEXT: v_or_b32_sdwa v18, v20, v18 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_perm_b32 v19, v51, v19, s5
+; GFX9-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:408 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:412 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v38, off, s[0:3], s32 offset:468 ; 4-byte Folded Reload
+; GFX9-NEXT: v_mov_b32_e32 v45, v58
+; GFX9-NEXT: v_mov_b32_e32 v54, v42
+; GFX9-NEXT: v_mov_b32_e32 v50, v60
+; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:488 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:492 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:496 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:680 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:448 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:688 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:452 ; 4-byte Folded Reload
-; GFX9-NEXT: v_mov_b32_e32 v51, v33
-; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:700 ; 4-byte Folded Reload
-; GFX9-NEXT: v_mov_b32_e32 v48, v54
-; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:476 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:696 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(14)
-; GFX9-NEXT: v_perm_b32 v20, v59, v32, s5
-; GFX9-NEXT: v_lshlrev_b32_e32 v20, 16, v20
-; GFX9-NEXT: v_or_b32_sdwa v19, v20, v19 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: s_waitcnt vmcnt(11)
-; GFX9-NEXT: v_perm_b32 v23, v58, v23, s5
-; GFX9-NEXT: v_perm_b32 v24, v47, v24, s5
-; GFX9-NEXT: v_perm_b32 v27, v27, v63, s4
-; GFX9-NEXT: buffer_load_dword v59, off, s[0:3], s32 offset:456 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:460 ; 4-byte Folded Reload
-; GFX9-NEXT: v_mov_b32_e32 v58, v49
+; GFX9-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:668 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(12)
-; GFX9-NEXT: v_perm_b32 v20, v54, v57, s5
-; GFX9-NEXT: v_lshlrev_b32_e32 v20, 16, v20
+; GFX9-NEXT: v_perm_b32 v22, v60, v40, s5
+; GFX9-NEXT: v_lshlrev_b32_e32 v22, 16, v22
+; GFX9-NEXT: v_or_b32_sdwa v20, v22, v20 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: s_waitcnt vmcnt(11)
-; GFX9-NEXT: v_perm_b32 v21, v50, v21, s5
-; GFX9-NEXT: v_or_b32_sdwa v20, v20, v21 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_perm_b32 v22, v58, v21, s5
+; GFX9-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:400 ; 4-byte Folded Reload
+; GFX9-NEXT: v_lshlrev_b32_e32 v22, 16, v22
+; GFX9-NEXT: v_mov_b32_e32 v60, v40
+; GFX9-NEXT: s_waitcnt vmcnt(11)
+; GFX9-NEXT: v_mov_b32_e32 v58, v29
; GFX9-NEXT: s_waitcnt vmcnt(10)
-; GFX9-NEXT: v_perm_b32 v21, v33, v60, s5
-; GFX9-NEXT: v_lshlrev_b32_e32 v21, 16, v21
+; GFX9-NEXT: v_perm_b32 v23, v32, v23, s5
; GFX9-NEXT: s_waitcnt vmcnt(9)
-; GFX9-NEXT: v_perm_b32 v22, v25, v22, s5
-; GFX9-NEXT: v_or_b32_sdwa v21, v21, v22 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:420 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:416 ; 4-byte Folded Reload
-; GFX9-NEXT: v_mov_b32_e32 v50, v37
-; GFX9-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:664 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v54, off, s[0:3], s32 offset:644 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(10)
-; GFX9-NEXT: v_mov_b32_e32 v62, v30
-; GFX9-NEXT: s_waitcnt vmcnt(7)
-; GFX9-NEXT: v_mov_b32_e32 v47, v26
-; GFX9-NEXT: v_perm_b32 v26, v44, v26, s5
-; GFX9-NEXT: s_waitcnt vmcnt(6)
-; GFX9-NEXT: v_mov_b32_e32 v42, v29
-; GFX9-NEXT: v_mov_b32_e32 v44, v45
-; GFX9-NEXT: s_waitcnt vmcnt(3)
-; GFX9-NEXT: v_perm_b32 v22, v37, v22, s5
-; GFX9-NEXT: v_lshlrev_b32_e32 v22, 16, v22
-; GFX9-NEXT: v_or_b32_sdwa v22, v22, v23 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:424 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(3)
+; GFX9-NEXT: v_perm_b32 v24, v33, v24, s5
+; GFX9-NEXT: s_waitcnt vmcnt(8)
; GFX9-NEXT: v_perm_b32 v25, v25, v61, s4
-; GFX9-NEXT: v_mov_b32_e32 v61, v41
-; GFX9-NEXT: v_mov_b32_e32 v37, v28
+; GFX9-NEXT: v_mov_b32_e32 v61, v51
+; GFX9-NEXT: v_mov_b32_e32 v33, v48
+; GFX9-NEXT: s_waitcnt vmcnt(6)
+; GFX9-NEXT: v_mov_b32_e32 v36, v28
+; GFX9-NEXT: v_perm_b32 v28, v29, v28, s5
+; GFX9-NEXT: s_waitcnt vmcnt(4)
+; GFX9-NEXT: v_mov_b32_e32 v32, v26
+; GFX9-NEXT: v_perm_b32 v26, v47, v26, s5
; GFX9-NEXT: s_waitcnt vmcnt(2)
-; GFX9-NEXT: v_mov_b32_e32 v38, v33
+; GFX9-NEXT: v_mov_b32_e32 v34, v30
+; GFX9-NEXT: v_mov_b32_e32 v39, v31
+; GFX9-NEXT: v_mov_b32_e32 v47, v53
+; GFX9-NEXT: s_waitcnt vmcnt(1)
+; GFX9-NEXT: v_mov_b32_e32 v55, v35
+; GFX9-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:692 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_mov_b32_e32 v56, v54
+; GFX9-NEXT: v_perm_b32 v21, v43, v21, s5
+; GFX9-NEXT: v_or_b32_sdwa v21, v22, v21 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:432 ; 4-byte Folded Reload
+; GFX9-NEXT: v_mov_b32_e32 v43, v27
+; GFX9-NEXT: v_perm_b32 v27, v27, v44, s4
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_perm_b32 v22, v42, v22, s5
+; GFX9-NEXT: v_lshlrev_b32_e32 v22, 16, v22
+; GFX9-NEXT: v_or_b32_sdwa v22, v22, v23 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:436 ; 4-byte Folded Reload
+; GFX9-NEXT: v_mov_b32_e32 v42, v44
+; GFX9-NEXT: v_mov_b32_e32 v44, v63
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v23, v55, v23, s5
+; GFX9-NEXT: v_perm_b32 v23, v52, v23, s5
; GFX9-NEXT: v_lshlrev_b32_e32 v23, 16, v23
; GFX9-NEXT: v_or_b32_sdwa v23, v23, v24 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:432 ; 4-byte Folded Reload
-; GFX9-NEXT: v_mov_b32_e32 v55, v63
+; GFX9-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:440 ; 4-byte Folded Reload
+; GFX9-NEXT: v_mov_b32_e32 v52, v29
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v24, v24, v49, s4
+; GFX9-NEXT: v_perm_b32 v24, v24, v48, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v24, 16, v24
; GFX9-NEXT: v_or_b32_sdwa v24, v24, v25 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:440 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:448 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v25, v25, v41, s4
+; GFX9-NEXT: v_perm_b32 v25, v25, v51, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v25, 16, v25
; GFX9-NEXT: v_or_b32_sdwa v25, v25, v26 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:436 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:648 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_perm_b32 v26, v26, v45, s4
+; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:452 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_perm_b32 v26, v26, v53, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v26, 16, v26
; GFX9-NEXT: v_or_b32_sdwa v26, v26, v27 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:428 ; 4-byte Folded Reload
-; GFX9-NEXT: v_mov_b32_e32 v45, v31
+; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:444 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:660 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_perm_b32 v54, v41, v54, s5
-; GFX9-NEXT: v_mov_b32_e32 v52, v41
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v27, v27, v28, s4
-; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:676 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v27, v27, v63, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v27, 16, v27
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_mov_b32_e32 v53, v28
-; GFX9-NEXT: v_perm_b32 v28, v29, v28, s5
; GFX9-NEXT: v_or_b32_sdwa v27, v27, v28 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:668 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:692 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:484 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_mov_b32_e32 v35, v28
+; GFX9-NEXT: v_mov_b32_e32 v46, v53
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_mov_b32_e32 v39, v29
+; GFX9-NEXT: v_mov_b32_e32 v37, v28
; GFX9-NEXT: v_perm_b32 v28, v28, v29, s4
; GFX9-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:684 ; 4-byte Folded Reload
; GFX9-NEXT: v_lshlrev_b32_e32 v28, 16, v28
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_mov_b32_e32 v34, v29
+; GFX9-NEXT: v_mov_b32_e32 v62, v29
; GFX9-NEXT: v_perm_b32 v29, v29, v30, s4
-; GFX9-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:656 ; 4-byte Folded Reload
; GFX9-NEXT: v_or_b32_sdwa v28, v28, v29 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_perm_b32 v29, v46, v59, s4
+; GFX9-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:428 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:420 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_perm_b32 v29, v30, v29, s4
+; GFX9-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:672 ; 4-byte Folded Reload
; GFX9-NEXT: v_lshlrev_b32_e32 v29, 16, v29
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_mov_b32_e32 v63, v30
+; GFX9-NEXT: v_mov_b32_e32 v49, v30
; GFX9-NEXT: v_perm_b32 v30, v31, v30, s5
; GFX9-NEXT: v_or_b32_sdwa v29, v29, v30 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:672 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:652 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:676 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:416 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_mov_b32_e32 v49, v30
-; GFX9-NEXT: v_perm_b32 v30, v43, v30, s4
+; GFX9-NEXT: v_mov_b32_e32 v51, v31
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_perm_b32 v30, v30, v31, s4
+; GFX9-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:652 ; 4-byte Folded Reload
; GFX9-NEXT: v_lshlrev_b32_e32 v30, 16, v30
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_mov_b32_e32 v36, v31
-; GFX9-NEXT: v_perm_b32 v31, v31, v33, s4
+; GFX9-NEXT: v_mov_b32_e32 v48, v31
+; GFX9-NEXT: v_perm_b32 v31, v31, v35, s4
; GFX9-NEXT: v_or_b32_sdwa v30, v30, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:660 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_mov_b32_e32 v33, v31
-; GFX9-NEXT: v_perm_b32 v31, v40, v31, s4
+; GFX9-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:664 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:656 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(1)
+; GFX9-NEXT: v_mov_b32_e32 v63, v31
+; GFX9-NEXT: v_perm_b32 v31, v38, v31, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v31, 16, v31
-; GFX9-NEXT: v_or_b32_sdwa v31, v31, v54 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_mov_b32_e32 v56, v35
+; GFX9-NEXT: v_perm_b32 v35, v53, v35, s5
+; GFX9-NEXT: v_or_b32_sdwa v31, v31, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: s_mov_b64 s[4:5], 0
-; GFX9-NEXT: v_mov_b32_e32 v54, v40
+; GFX9-NEXT: v_mov_b32_e32 v53, v57
+; GFX9-NEXT: v_mov_b32_e32 v35, v38
; GFX9-NEXT: s_branch .LBB89_3
; GFX9-NEXT: .LBB89_2:
-; GFX9-NEXT: v_mov_b32_e32 v48, v54
-; GFX9-NEXT: buffer_load_dword v54, off, s[0:3], s32 offset:448 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:472 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:452 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:460 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v57, off, s[0:3], s32 offset:468 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v59, off, s[0:3], s32 offset:456 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v60, off, s[0:3], s32 offset:464 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:476 ; 4-byte Folded Reload
-; GFX9-NEXT: v_mov_b32_e32 v52, v0
-; GFX9-NEXT: v_mov_b32_e32 v56, v20
-; GFX9-NEXT: v_mov_b32_e32 v62, v8
-; GFX9-NEXT: v_mov_b32_e32 v42, v9
+; GFX9-NEXT: v_mov_b32_e32 v39, v51
+; GFX9-NEXT: v_mov_b32_e32 v51, v53
+; GFX9-NEXT: v_mov_b32_e32 v50, v60
+; GFX9-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:480 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v59, off, s[0:3], s32 offset:476 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:468 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v60, off, s[0:3], s32 offset:472 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v36, off, s[0:3], s32 offset:488 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:492 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:496 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v37, off, s[0:3], s32 offset:484 ; 4-byte Folded Reload
+; GFX9-NEXT: v_mov_b32_e32 v46, v0
+; GFX9-NEXT: v_mov_b32_e32 v56, v22
; GFX9-NEXT: v_mov_b32_e32 v34, v6
-; GFX9-NEXT: v_mov_b32_e32 v38, v1
-; GFX9-NEXT: v_mov_b32_e32 v53, v24
-; GFX9-NEXT: v_mov_b32_e32 v36, v21
-; GFX9-NEXT: v_mov_b32_e32 v39, v33
-; GFX9-NEXT: v_mov_b32_e32 v33, v63
-; GFX9-NEXT: v_mov_b32_e32 v63, v22
-; GFX9-NEXT: v_mov_b32_e32 v37, v2
-; GFX9-NEXT: v_mov_b32_e32 v35, v23
-; GFX9-NEXT: v_mov_b32_e32 v58, v3
-; GFX9-NEXT: v_mov_b32_e32 v50, v7
-; GFX9-NEXT: v_mov_b32_e32 v51, v5
+; GFX9-NEXT: v_mov_b32_e32 v62, v2
+; GFX9-NEXT: v_mov_b32_e32 v55, v1
+; GFX9-NEXT: v_mov_b32_e32 v49, v23
+; GFX9-NEXT: v_mov_b32_e32 v54, v5
+; GFX9-NEXT: v_mov_b32_e32 v45, v4
; GFX9-NEXT: s_mov_b64 s[4:5], -1
; GFX9-NEXT: ; implicit-def: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15
; GFX9-NEXT: ; implicit-def: $vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31
; GFX9-NEXT: .LBB89_3: ; %Flow
+; GFX9-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:456 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:460 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v57, off, s[0:3], s32 offset:464 ; 4-byte Folded Reload
; GFX9-NEXT: s_and_b64 s[4:5], s[4:5], exec
; GFX9-NEXT: s_cselect_b32 s4, 1, 0
; GFX9-NEXT: s_cmp_lg_u32 s4, 1
; GFX9-NEXT: s_cbranch_scc1 .LBB89_5
; GFX9-NEXT: ; %bb.4: ; %cmp.true
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:428 ; 4-byte Folded Reload
-; GFX9-NEXT: v_add_u32_e32 v0, 3, v52
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:416 ; 4-byte Folded Reload
+; GFX9-NEXT: v_add_u32_e32 v0, 3, v46
; GFX9-NEXT: s_mov_b32 s5, 0xc0c0004
; GFX9-NEXT: v_perm_b32 v0, v0, v56, s5
-; GFX9-NEXT: v_add_u32_e32 v0, 0x300, v0
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:448 ; 4-byte Folded Spill
-; GFX9-NEXT: v_add_u32_e32 v0, 3, v33
+; GFX9-NEXT: v_add_u32_e32 v38, 0x300, v0
+; GFX9-NEXT: v_add_u32_e32 v0, 3, v63
; GFX9-NEXT: s_movk_i32 s4, 0x300
; GFX9-NEXT: s_waitcnt vmcnt(9)
-; GFX9-NEXT: v_perm_b32 v0, v0, v54, s5
-; GFX9-NEXT: v_add_u32_sdwa v0, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:452 ; 4-byte Folded Spill
-; GFX9-NEXT: v_add_u32_e32 v0, 3, v38
-; GFX9-NEXT: v_perm_b32 v0, v0, v36, s5
-; GFX9-NEXT: v_add_u32_e32 v36, 0x300, v0
-; GFX9-NEXT: v_add_u32_e32 v0, 3, v49
-; GFX9-NEXT: s_waitcnt vmcnt(8)
-; GFX9-NEXT: v_perm_b32 v0, v0, v43, s5
-; GFX9-NEXT: v_add_u32_sdwa v38, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-; GFX9-NEXT: v_add_u32_e32 v0, 3, v45
-; GFX9-NEXT: v_perm_b32 v0, v0, v63, s5
-; GFX9-NEXT: v_add_u32_e32 v0, 0x300, v0
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:456 ; 4-byte Folded Spill
-; GFX9-NEXT: s_waitcnt vmcnt(6)
-; GFX9-NEXT: v_add_u32_e32 v0, 3, v59
-; GFX9-NEXT: v_perm_b32 v0, v0, v46, s5
-; GFX9-NEXT: v_add_u32_sdwa v0, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:460 ; 4-byte Folded Spill
-; GFX9-NEXT: v_add_u32_e32 v0, 3, v62
-; GFX9-NEXT: v_perm_b32 v0, v0, v34, s5
-; GFX9-NEXT: v_add_u32_e32 v31, 0x300, v0
-; GFX9-NEXT: v_add_u32_e32 v0, 3, v39
; GFX9-NEXT: v_perm_b32 v0, v0, v35, s5
-; GFX9-NEXT: v_add_u32_sdwa v35, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-; GFX9-NEXT: v_add_u32_e32 v0, 3, v42
-; GFX9-NEXT: v_perm_b32 v0, v0, v53, s5
-; GFX9-NEXT: v_add_u32_e32 v30, 0x300, v0
-; GFX9-NEXT: v_add_u32_e32 v0, 3, v37
+; GFX9-NEXT: v_add_u32_sdwa v0, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:468 ; 4-byte Folded Spill
+; GFX9-NEXT: v_add_u32_e32 v0, 3, v55
+; GFX9-NEXT: v_perm_b32 v0, v0, v48, s5
+; GFX9-NEXT: v_add_u32_e32 v48, 0x300, v0
+; GFX9-NEXT: v_add_u32_e32 v0, 3, v51
; GFX9-NEXT: s_add_i32 s74, s74, 3
; GFX9-NEXT: s_add_i32 s72, s72, 3
; GFX9-NEXT: s_add_i32 s56, s56, 3
@@ -149754,118 +149805,145 @@ define inreg <64 x bfloat> @bitcast_v128i8_to_v64bf16_scalar(<128 x i8> inreg %a
; GFX9-NEXT: s_add_i32 s20, s20, 3
; GFX9-NEXT: s_add_i32 s22, s22, 3
; GFX9-NEXT: s_add_i32 s16, s16, 3
-; GFX9-NEXT: v_mov_b32_e32 v33, s17
; GFX9-NEXT: s_add_i32 s18, s18, 3
-; GFX9-NEXT: v_mov_b32_e32 v34, s19
-; GFX9-NEXT: s_waitcnt vmcnt(4)
+; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_perm_b32 v0, v0, v1, s5
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:444 ; 4-byte Folded Reload
-; GFX9-NEXT: v_add_u32_sdwa v29, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-; GFX9-NEXT: v_add_u32_e32 v0, 3, v55
+; GFX9-NEXT: v_add_u32_sdwa v0, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:416 ; 4-byte Folded Spill
+; GFX9-NEXT: v_add_u32_e32 v0, 3, v39
+; GFX9-NEXT: v_perm_b32 v0, v0, v49, s5
+; GFX9-NEXT: v_add_u32_e32 v31, 0x300, v0
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:428 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:420 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(1)
+; GFX9-NEXT: v_add_u32_e32 v0, 3, v0
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v0, v1, s5
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:436 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:444 ; 4-byte Folded Reload
+; GFX9-NEXT: v_add_u32_sdwa v35, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+; GFX9-NEXT: v_add_u32_e32 v0, 3, v34
+; GFX9-NEXT: v_perm_b32 v0, v0, v62, s5
+; GFX9-NEXT: v_add_u32_e32 v30, 0x300, v0
+; GFX9-NEXT: v_add_u32_e32 v0, 3, v52
+; GFX9-NEXT: v_perm_b32 v0, v0, v37, s5
+; GFX9-NEXT: v_add_u32_sdwa v29, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+; GFX9-NEXT: v_add_u32_e32 v0, 3, v58
+; GFX9-NEXT: v_perm_b32 v0, v0, v36, s5
; GFX9-NEXT: v_add_u32_e32 v28, 0x300, v0
; GFX9-NEXT: v_add_u32_e32 v0, 3, v44
+; GFX9-NEXT: v_mov_b32_e32 v34, s19
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v0, v1, s5
-; GFX9-NEXT: v_add_u32_sdwa v27, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:636 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:440 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:452 ; 4-byte Folded Reload
+; GFX9-NEXT: v_add_u32_sdwa v36, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+; GFX9-NEXT: v_add_u32_e32 v0, 3, v42
+; GFX9-NEXT: v_perm_b32 v0, v0, v43, s5
+; GFX9-NEXT: v_add_u32_e32 v27, 0x300, v0
+; GFX9-NEXT: v_add_u32_e32 v0, 3, v47
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_perm_b32 v0, v0, v1, s5
+; GFX9-NEXT: v_add_u32_sdwa v37, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:648 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:448 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_add_u32_e32 v0, 3, v0
-; GFX9-NEXT: v_perm_b32 v0, v0, v47, s5
+; GFX9-NEXT: v_perm_b32 v0, v0, v32, s5
; GFX9-NEXT: v_add_u32_e32 v26, 0x300, v0
; GFX9-NEXT: v_add_u32_e32 v0, 3, v61
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v0, v1, s5
; GFX9-NEXT: v_add_u32_sdwa v25, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:632 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:644 ; 4-byte Folded Reload
; GFX9-NEXT: v_or_b32_sdwa v25, v25, v26 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_or_b32_sdwa v26, v27, v28 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_or_b32_sdwa v27, v29, v30 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_or_b32_sdwa v28, v35, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:456 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:460 ; 4-byte Folded Reload
+; GFX9-NEXT: v_or_b32_sdwa v26, v37, v27 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_or_b32_sdwa v27, v36, v28 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_or_b32_sdwa v28, v29, v30 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_or_b32_sdwa v29, v35, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_mov_b32_e32 v32, s23
+; GFX9-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:468 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:416 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(2)
; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:416 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:412 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(2)
+; GFX9-NEXT: v_or_b32_sdwa v31, v31, v38 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_or_b32_sdwa v29, v30, v29 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_or_b32_sdwa v30, v38, v36 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_or_b32_sdwa v30, v30, v48 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:432 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:440 ; 4-byte Folded Reload
; GFX9-NEXT: v_add_u32_e32 v24, 0x300, v0
-; GFX9-NEXT: v_add_u32_e32 v0, 3, v58
+; GFX9-NEXT: v_add_u32_e32 v0, 3, v33
+; GFX9-NEXT: v_mov_b32_e32 v33, s17
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v0, v1, s5
; GFX9-NEXT: v_add_u32_sdwa v39, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:628 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:640 ; 4-byte Folded Reload
; GFX9-NEXT: v_or_b32_sdwa v24, v39, v24 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:412 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:408 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
; GFX9-NEXT: v_add_u32_e32 v23, 0x300, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:624 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:424 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:636 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:436 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_add_u32_e32 v0, 3, v0
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v0, v1, s5
; GFX9-NEXT: v_add_u32_sdwa v63, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:620 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:632 ; 4-byte Folded Reload
; GFX9-NEXT: v_or_b32_sdwa v23, v63, v23 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:404 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:420 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:432 ; 4-byte Folded Reload
; GFX9-NEXT: v_add_u32_e32 v22, 0x300, v0
-; GFX9-NEXT: v_add_u32_e32 v0, 3, v50
+; GFX9-NEXT: v_add_u32_e32 v0, 3, v54
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v0, v1, s5
; GFX9-NEXT: v_add_u32_sdwa v49, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:616 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:628 ; 4-byte Folded Reload
; GFX9-NEXT: v_or_b32_sdwa v22, v49, v22 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:408 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:400 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:424 ; 4-byte Folded Reload
; GFX9-NEXT: v_add_u32_e32 v21, 0x300, v0
-; GFX9-NEXT: v_add_u32_e32 v0, 3, v51
-; GFX9-NEXT: v_perm_b32 v0, v0, v60, s5
-; GFX9-NEXT: v_add_u32_sdwa v50, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:612 ; 4-byte Folded Reload
-; GFX9-NEXT: v_or_b32_sdwa v21, v50, v21 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_add_u32_e32 v0, 3, v45
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_perm_b32 v0, v0, v1, s5
+; GFX9-NEXT: v_add_u32_sdwa v62, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:620 ; 4-byte Folded Reload
+; GFX9-NEXT: v_or_b32_sdwa v21, v62, v21 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:400 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:624 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
; GFX9-NEXT: v_add_u32_e32 v20, 0x300, v0
-; GFX9-NEXT: v_add_u32_e32 v0, 3, v48
-; GFX9-NEXT: v_perm_b32 v0, v0, v57, s5
+; GFX9-NEXT: v_add_u32_e32 v0, 3, v50
+; GFX9-NEXT: v_perm_b32 v0, v0, v60, s5
; GFX9-NEXT: v_add_u32_sdwa v51, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:604 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:612 ; 4-byte Folded Reload
; GFX9-NEXT: v_or_b32_sdwa v20, v51, v20 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:608 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:616 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
; GFX9-NEXT: v_add_u32_e32 v19, 0x300, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:640 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:608 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u32_e32 v0, 3, v0
-; GFX9-NEXT: v_perm_b32 v0, v0, v32, s5
+; GFX9-NEXT: v_perm_b32 v0, v0, v59, s5
; GFX9-NEXT: v_add_u32_sdwa v52, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:596 ; 4-byte Folded Reload
-; GFX9-NEXT: v_mov_b32_e32 v32, s23
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:604 ; 4-byte Folded Reload
; GFX9-NEXT: v_or_b32_sdwa v19, v52, v19 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
@@ -149873,117 +149951,109 @@ define inreg <64 x bfloat> @bitcast_v128i8_to_v64bf16_scalar(<128 x i8> inreg %a
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
; GFX9-NEXT: v_add_u32_e32 v18, 0x300, v0
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:596 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_add_u32_e32 v0, 3, v0
+; GFX9-NEXT: v_perm_b32 v0, v0, v53, s5
+; GFX9-NEXT: v_add_u32_sdwa v53, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:592 ; 4-byte Folded Reload
+; GFX9-NEXT: v_or_b32_sdwa v18, v53, v18 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:588 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
-; GFX9-NEXT: v_add_u32_sdwa v62, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:584 ; 4-byte Folded Reload
-; GFX9-NEXT: v_or_b32_sdwa v18, v62, v18 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:580 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
; GFX9-NEXT: v_add_u32_e32 v17, 0x300, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:568 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:564 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:576 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
+; GFX9-NEXT: v_add_u32_e32 v0, 3, v0
+; GFX9-NEXT: v_perm_b32 v0, v0, v57, s5
; GFX9-NEXT: v_add_u32_sdwa v54, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:576 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:584 ; 4-byte Folded Reload
; GFX9-NEXT: v_or_b32_sdwa v17, v54, v17 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:572 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:580 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
; GFX9-NEXT: v_add_u32_e32 v16, 0x300, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:560 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:556 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:572 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
+; GFX9-NEXT: v_add_u32_e32 v0, 3, v0
+; GFX9-NEXT: v_perm_b32 v0, v0, v40, s5
; GFX9-NEXT: v_add_u32_sdwa v55, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:552 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:532 ; 4-byte Folded Reload
; GFX9-NEXT: v_or_b32_sdwa v16, v55, v16 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:548 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:524 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
; GFX9-NEXT: v_add_u32_e32 v15, 0x300, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:544 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:528 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:556 ; 4-byte Folded Reload
+; GFX9-NEXT: v_add_u32_e32 v1, 3, v41
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
; GFX9-NEXT: v_add_u32_sdwa v40, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:496 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:516 ; 4-byte Folded Reload
; GFX9-NEXT: v_or_b32_sdwa v15, v40, v15 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:500 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:520 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
; GFX9-NEXT: v_add_u32_e32 v14, 0x300, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:532 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:560 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:516 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:544 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
; GFX9-NEXT: v_add_u32_sdwa v41, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:492 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:512 ; 4-byte Folded Reload
; GFX9-NEXT: v_or_b32_sdwa v14, v41, v14 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:536 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:564 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
; GFX9-NEXT: v_add_u32_e32 v13, 0x300, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:520 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:548 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:508 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:536 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
; GFX9-NEXT: v_add_u32_sdwa v42, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:540 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:568 ; 4-byte Folded Reload
; GFX9-NEXT: v_or_b32_sdwa v13, v42, v13 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:524 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:552 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
; GFX9-NEXT: v_add_u32_e32 v12, 0x300, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:512 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:540 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:504 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:528 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:488 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:508 ; 4-byte Folded Reload
; GFX9-NEXT: v_add_u32_sdwa v43, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
; GFX9-NEXT: v_mov_b32_e32 v0, 0xc0c0004
; GFX9-NEXT: v_perm_b32 v32, s22, v32, v0
-; GFX9-NEXT: v_add_u32_sdwa v32, v32, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
; GFX9-NEXT: v_perm_b32 v33, s16, v33, v0
+; GFX9-NEXT: v_add_u32_sdwa v32, v32, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
; GFX9-NEXT: v_add_u32_e32 v33, 0x300, v33
; GFX9-NEXT: v_or_b32_sdwa v12, v43, v12 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, s74, v1, v0
; GFX9-NEXT: v_add_u32_e32 v11, 0x300, v1
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:484 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:504 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u32_e32 v2, 3, v1
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:480 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:500 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v2, v1, s5
; GFX9-NEXT: v_add_u32_sdwa v44, v1, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
@@ -150043,13 +150113,11 @@ define inreg <64 x bfloat> @bitcast_v128i8_to_v64bf16_scalar(<128 x i8> inreg %a
; GFX9-NEXT: v_add_u32_sdwa v61, v1, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
; GFX9-NEXT: v_mov_b32_e32 v1, s21
; GFX9-NEXT: v_perm_b32 v1, s20, v1, v0
-; GFX9-NEXT: v_add_u32_e32 v1, 0x300, v1
-; GFX9-NEXT: v_or_b32_sdwa v1, v32, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:448 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:452 ; 4-byte Folded Reload
; GFX9-NEXT: v_perm_b32 v0, s18, v34, v0
+; GFX9-NEXT: v_add_u32_e32 v1, 0x300, v1
; GFX9-NEXT: v_add_u32_sdwa v0, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
; GFX9-NEXT: v_or_b32_sdwa v0, v0, v33 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_or_b32_sdwa v1, v32, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: v_or_b32_sdwa v2, v61, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: v_or_b32_sdwa v3, v60, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: v_or_b32_sdwa v4, v59, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
@@ -150060,8 +150128,6 @@ define inreg <64 x bfloat> @bitcast_v128i8_to_v64bf16_scalar(<128 x i8> inreg %a
; GFX9-NEXT: v_or_b32_sdwa v9, v46, v9 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: v_or_b32_sdwa v10, v45, v10 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: v_or_b32_sdwa v11, v44, v11 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_or_b32_sdwa v31, v32, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: .LBB89_5: ; %end
; GFX9-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:336 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:340 ; 4-byte Folded Reload
@@ -150086,131 +150152,131 @@ define inreg <64 x bfloat> @bitcast_v128i8_to_v64bf16_scalar(<128 x i8> inreg %a
; GFX11-TRUE16: ; %bb.0:
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
; GFX11-TRUE16-NEXT: s_clause 0x1f
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v133, off, s32 offset:312
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v166, off, s32 offset:308
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v161, off, s32 offset:304
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v180, off, s32 offset:300
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v129, off, s32 offset:296
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v165, off, s32 offset:292
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v178, off, s32 offset:288
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v182, off, s32 offset:284
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v102, off, s32 offset:280
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v160, off, s32 offset:276
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v163, off, s32 offset:272
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v181, off, s32 offset:268
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v132, off, s32 offset:264
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v162, off, s32 offset:260
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v150, off, s32 offset:256
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v179, off, s32 offset:252
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v101, off, s32 offset:248
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v149, off, s32 offset:244
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v146, off, s32 offset:240
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v177, off, s32 offset:236
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v87, off, s32 offset:232
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v144, off, s32 offset:228
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v128, off, s32 offset:224
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v167, off, s32 offset:220
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v82, off, s32 offset:216
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v131, off, s32 offset:212
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v148, off, s32 offset:208
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v176, off, s32 offset:204
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v64, off, s32 offset:200
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v117, off, s32 offset:196
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v119, off, s32 offset:192
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v164, off, s32 offset:188
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v32, off, s32 offset:312
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v35, off, s32 offset:308
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v34, off, s32 offset:304
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v38, off, s32 offset:300
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v33, off, s32 offset:296
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v37, off, s32 offset:292
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v49, off, s32 offset:288
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v52, off, s32 offset:284
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v36, off, s32 offset:280
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v48, off, s32 offset:276
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v51, off, s32 offset:272
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v67, off, s32 offset:268
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v39, off, s32 offset:264
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v55, off, s32 offset:260
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v54, off, s32 offset:256
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v71, off, s32 offset:252
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v50, off, s32 offset:248
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v64, off, s32 offset:244
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v66, off, s32 offset:240
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v81, off, s32 offset:236
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v53, off, s32 offset:232
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v70, off, s32 offset:228
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v69, off, s32 offset:224
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v85, off, s32 offset:220
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v65, off, s32 offset:216
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v80, off, s32 offset:212
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v84, off, s32 offset:208
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v99, off, s32 offset:204
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v68, off, s32 offset:200
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v83, off, s32 offset:196
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v87, off, s32 offset:192
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v101, off, s32 offset:188
; GFX11-TRUE16-NEXT: s_clause 0x1f
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v85, off, s32 offset:184
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v118, off, s32 offset:180
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v115, off, s32 offset:176
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v151, off, s32 offset:172
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v55, off, s32 offset:168
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v113, off, s32 offset:164
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v100, off, s32 offset:160
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v147, off, s32 offset:156
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v52, off, s32 offset:152
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v98, off, s32 offset:148
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v81, off, s32 offset:144
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v135, off, s32 offset:140
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v49, off, s32 offset:136
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v84, off, s32 offset:132
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v112, off, s32 offset:128
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v145, off, s32 offset:124
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v36, off, s32 offset:120
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v69, off, s32 offset:116
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v80, off, s32 offset:112
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v130, off, s32 offset:108
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v51, off, s32 offset:104
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v71, off, s32 offset:100
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v67, off, s32 offset:96
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v116, off, s32 offset:92
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v35, off, s32 offset:88
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v66, off, s32 offset:84
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v54, off, s32 offset:80
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v103, off, s32 offset:76
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v34, off, s32 offset:72
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v53, off, s32 offset:68
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v48, off, s32 offset:64
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v97, off, s32 offset:60
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v82, off, s32 offset:184
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v98, off, s32 offset:180
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v97, off, s32 offset:176
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v115, off, s32 offset:172
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v86, off, s32 offset:168
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v100, off, s32 offset:164
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v103, off, s32 offset:160
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v117, off, s32 offset:156
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v96, off, s32 offset:152
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v114, off, s32 offset:148
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v113, off, s32 offset:144
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v129, off, s32 offset:140
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v102, off, s32 offset:136
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v116, off, s32 offset:132
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v128, off, s32 offset:128
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v135, off, s32 offset:124
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v112, off, s32 offset:120
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v119, off, s32 offset:116
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v131, off, s32 offset:112
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v145, off, s32 offset:108
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v118, off, s32 offset:104
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v134, off, s32 offset:100
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v133, off, s32 offset:96
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v151, off, s32 offset:92
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v130, off, s32 offset:88
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v144, off, s32 offset:84
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v147, off, s32 offset:80
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v161, off, s32 offset:76
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v132, off, s32 offset:72
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v150, off, s32 offset:68
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v149, off, s32 offset:64
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v164, off, s32 offset:60
; GFX11-TRUE16-NEXT: s_clause 0xf
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v33, off, s32 offset:56
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v50, off, s32 offset:52
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v65, off, s32 offset:48
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v99, off, s32 offset:44
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v32, off, s32 offset:40
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v38, off, s32 offset:36
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v39, off, s32 offset:32
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v83, off, s32 offset:28
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v146, off, s32 offset:56
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v160, off, s32 offset:52
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v163, off, s32 offset:48
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v166, off, s32 offset:44
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v148, off, s32 offset:40
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v162, off, s32 offset:36
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v165, off, s32 offset:32
; GFX11-TRUE16-NEXT: scratch_load_b32 v31, off, s32 offset:316
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v70, off, s32 offset:24
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v114, off, s32 offset:20
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v96, off, s32 offset:16
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v134, off, s32 offset:12
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v37, off, s32 offset:8
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v68, off, s32 offset:4
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v86, off, s32
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v182, off, s32 offset:28
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v177, off, s32 offset:24
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v180, off, s32 offset:20
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v179, off, s32 offset:16
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v181, off, s32 offset:12
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v167, off, s32 offset:8
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v176, off, s32 offset:4
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v178, off, s32
; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s74, v30
; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s10, v29
-; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s41, v28
-; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s42, v27
+; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s40, v28
+; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s41, v27
; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s73, v26
-; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s13, v25
+; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s14, v25
; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s46, v24
; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s47, v23
-; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s62, v22
+; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s61, v22
; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s11, v21
-; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s43, v20
-; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s44, v19
+; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s42, v20
+; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s43, v19
; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s59, v18
-; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s5, v17
+; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s6, v17
; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s56, v16
; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s57, v15
-; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s63, v14
-; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s6, v13
+; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s62, v14
+; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s7, v13
; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s12, v12
; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s58, v11
-; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s72, v10
-; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s7, v9
-; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s14, v8
-; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s15, v7
+; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s63, v10
+; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s4, v9
+; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s15, v8
+; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s44, v7
; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s60, v6
; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s8, v5
-; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s40, v4
+; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s13, v4
; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s45, v3
-; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s61, v2
-; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s4, v1
+; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s72, v2
+; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s5, v1
; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s9, v0
; GFX11-TRUE16-NEXT: s_mov_b32 s75, 0
-; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(7)
+; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(8)
; GFX11-TRUE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v31
-; GFX11-TRUE16-NEXT: s_and_b32 s76, vcc_lo, exec_lo
+; GFX11-TRUE16-NEXT: s_cmp_lg_u32 vcc_lo, 0
; GFX11-TRUE16-NEXT: s_cbranch_scc0 .LBB89_2
; GFX11-TRUE16-NEXT: ; %bb.1: ; %cmp.false
; GFX11-TRUE16-NEXT: v_mov_b32_e32 v11, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b32_e32 v10, 0x6050400
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(5)
-; GFX11-TRUE16-NEXT: v_perm_b32 v14, v70, v114, 0x6050400
-; GFX11-TRUE16-NEXT: v_perm_b32 v15, v32, v38, 0x6050400
-; GFX11-TRUE16-NEXT: v_perm_b32 v16, v33, v50, 0x6050400
+; GFX11-TRUE16-NEXT: v_perm_b32 v14, v177, v180, 0x6050400
+; GFX11-TRUE16-NEXT: v_perm_b32 v15, v148, v162, 0x6050400
+; GFX11-TRUE16-NEXT: v_perm_b32 v16, v146, v160, 0x6050400
; GFX11-TRUE16-NEXT: v_perm_b32 v3, s2, s3, v11
; GFX11-TRUE16-NEXT: v_perm_b32 v5, s22, s23, v11
; GFX11-TRUE16-NEXT: v_perm_b32 v6, s26, s27, v11
@@ -150219,92 +150285,92 @@ define inreg <64 x bfloat> @bitcast_v128i8_to_v64bf16_scalar(<128 x i8> inreg %a
; GFX11-TRUE16-NEXT: v_perm_b32 v2, s20, s21, v11
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v0.h, v3.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v2.h, v5.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v5, s9, s4, v11
+; GFX11-TRUE16-NEXT: v_perm_b32 v5, s9, s5, v11
; GFX11-TRUE16-NEXT: v_perm_b32 v3, s24, s25, v11
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v3.h, v6.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v6, s40, s8, v11
-; GFX11-TRUE16-NEXT: v_perm_b32 v7, s14, s7, v11
+; GFX11-TRUE16-NEXT: v_perm_b32 v6, s13, s8, v11
+; GFX11-TRUE16-NEXT: v_perm_b32 v7, s15, s4, v11
; GFX11-TRUE16-NEXT: v_perm_b32 v1, s16, s17, v11
-; GFX11-TRUE16-NEXT: v_perm_b32 v8, s12, s6, v11
+; GFX11-TRUE16-NEXT: v_perm_b32 v8, s12, s7, v11
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v1.h, v4.l
; GFX11-TRUE16-NEXT: v_perm_b32 v4, s28, s29, v11
-; GFX11-TRUE16-NEXT: v_perm_b32 v9, s5, s56, v10
+; GFX11-TRUE16-NEXT: v_perm_b32 v9, s6, s56, v10
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v4.h, v5.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v5, s61, s45, v11
-; GFX11-TRUE16-NEXT: v_perm_b32 v12, s11, s43, v10
+; GFX11-TRUE16-NEXT: v_perm_b32 v5, s72, s45, v11
+; GFX11-TRUE16-NEXT: v_perm_b32 v12, s11, s42, v10
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v5.h, v6.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v6, s60, s15, v11
-; GFX11-TRUE16-NEXT: v_perm_b32 v13, s13, s46, v10
+; GFX11-TRUE16-NEXT: v_perm_b32 v6, s60, s44, v11
+; GFX11-TRUE16-NEXT: v_perm_b32 v13, s14, s46, v10
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v6.h, v7.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v7, s72, s58, v11
+; GFX11-TRUE16-NEXT: v_perm_b32 v7, s63, s58, v11
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v7.h, v8.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v8, s57, s63, v10
+; GFX11-TRUE16-NEXT: v_perm_b32 v8, s57, s62, v10
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v8.h, v9.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v9, s59, s44, v11
+; GFX11-TRUE16-NEXT: v_perm_b32 v9, s59, s43, v11
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v9.h, v12.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v12, s10, s41, v10
-; GFX11-TRUE16-NEXT: v_perm_b32 v10, s47, s62, v10
+; GFX11-TRUE16-NEXT: v_perm_b32 v12, s10, s40, v10
+; GFX11-TRUE16-NEXT: v_perm_b32 v10, s47, s61, v10
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v10.h, v13.l
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(1)
-; GFX11-TRUE16-NEXT: v_perm_b32 v13, v37, v68, 0x6050400
-; GFX11-TRUE16-NEXT: v_perm_b32 v11, s73, s42, v11
+; GFX11-TRUE16-NEXT: v_perm_b32 v13, v167, v176, 0x6050400
+; GFX11-TRUE16-NEXT: v_perm_b32 v11, s73, s41, v11
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v11.h, v12.l
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0)
-; GFX11-TRUE16-NEXT: v_perm_b32 v12, v86, s74, 0x6050400
-; GFX11-TRUE16-NEXT: v_perm_b32 v17, v53, v34, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v12, v178, s74, 0x6050400
+; GFX11-TRUE16-NEXT: v_perm_b32 v17, v150, v132, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v12.h, v13.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v13, v134, v96, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v18, v66, v35, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v13, v181, v179, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v18, v144, v130, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v13.h, v14.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v14, v39, v83, 0x6050400
-; GFX11-TRUE16-NEXT: v_perm_b32 v19, v71, v51, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v14, v165, v182, 0x6050400
+; GFX11-TRUE16-NEXT: v_perm_b32 v19, v134, v118, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v14.h, v15.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v15, v99, v65, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v20, v69, v36, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v15, v166, v163, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v20, v119, v112, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v15.h, v16.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v16, v97, v48, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v21, v84, v49, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v16, v164, v149, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v21, v116, v102, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v16.h, v17.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v17, v103, v54, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v22, v98, v52, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v17, v161, v147, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v22, v114, v96, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v17.h, v18.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v18, v116, v67, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v23, v113, v55, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v18, v151, v133, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v23, v100, v86, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v18.h, v19.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v19, v130, v80, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v24, v118, v85, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v19, v145, v131, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v24, v98, v82, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v19.h, v20.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v20, v145, v112, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v25, v64, v117, 0x6050400
+; GFX11-TRUE16-NEXT: v_perm_b32 v20, v135, v128, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v25, v68, v83, 0x6050400
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v20.h, v21.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v21, v135, v81, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v26, v82, v131, 0x6050400
+; GFX11-TRUE16-NEXT: v_perm_b32 v21, v129, v113, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v26, v65, v80, 0x6050400
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v21.h, v22.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v22, v147, v100, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v27, v87, v144, 0x6050400
+; GFX11-TRUE16-NEXT: v_perm_b32 v22, v117, v103, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v27, v53, v70, 0x6050400
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v22.h, v23.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v23, v151, v115, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v28, v101, v149, 0x6050400
+; GFX11-TRUE16-NEXT: v_perm_b32 v23, v115, v97, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v28, v50, v64, 0x6050400
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v23.h, v24.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v24, v119, v164, 0x6050400
-; GFX11-TRUE16-NEXT: v_perm_b32 v29, v132, v162, 0x6050400
+; GFX11-TRUE16-NEXT: v_perm_b32 v24, v87, v101, 0x6050400
+; GFX11-TRUE16-NEXT: v_perm_b32 v29, v39, v55, 0x6050400
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v24.h, v25.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v25, v176, v148, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v30, v102, v160, 0x6050400
+; GFX11-TRUE16-NEXT: v_perm_b32 v25, v99, v84, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v30, v36, v48, 0x6050400
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v25.h, v26.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v26, v128, v167, 0x6050400
-; GFX11-TRUE16-NEXT: v_perm_b32 v31, v129, v165, 0x6050400
+; GFX11-TRUE16-NEXT: v_perm_b32 v26, v69, v85, 0x6050400
+; GFX11-TRUE16-NEXT: v_perm_b32 v31, v33, v37, 0x6050400
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v26.h, v27.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v27, v177, v146, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v183, v133, v166, 0x6050400
+; GFX11-TRUE16-NEXT: v_perm_b32 v27, v81, v66, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v183, v32, v35, 0x6050400
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v27.h, v28.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v28, v150, v179, 0x6050400
+; GFX11-TRUE16-NEXT: v_perm_b32 v28, v54, v71, 0x6050400
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v28.h, v29.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v29, v181, v163, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v29, v67, v51, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v29.h, v30.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v30, v178, v182, 0x6050400
+; GFX11-TRUE16-NEXT: v_perm_b32 v30, v49, v52, 0x6050400
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v30.h, v31.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v31, v180, v161, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v31, v38, v34, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e64 v31.h, v183.l
; GFX11-TRUE16-NEXT: s_branch .LBB89_3
; GFX11-TRUE16-NEXT: .LBB89_2:
@@ -150318,234 +150384,235 @@ define inreg <64 x bfloat> @bitcast_v128i8_to_v64bf16_scalar(<128 x i8> inreg %a
; GFX11-TRUE16-NEXT: s_cmp_lg_u32 s75, 1
; GFX11-TRUE16-NEXT: s_cbranch_scc1 .LBB89_5
; GFX11-TRUE16-NEXT: ; %bb.4: ; %cmp.true
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v0, 3, v180
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v1, 3, v166
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v2, 3, v182
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v165
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v4, 3, v181
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, v0, v161, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v1, v1, v133, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v2, v2, v178, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v0, 3, v38
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v1, 3, v35
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v2, 3, v52
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v37
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v4, 3, v67
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, v0, v34, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v1, v1, v32, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v2, v2, v49, 0xc0c0004
; GFX11-TRUE16-NEXT: s_add_i32 s74, s74, 3
; GFX11-TRUE16-NEXT: s_add_i32 s59, s59, 3
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v31, 0x300, v0
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v133, 0x300, v1
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, v3, v129, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v1, 3, v160
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v32, 0x300, v1
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, v3, v33, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v1, 3, v48
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v30, 0x300, v2
-; GFX11-TRUE16-NEXT: v_perm_b32 v2, v4, v163, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v179
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v4, 3, v162
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v129, 0x300, v0
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, v1, v102, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v2, v4, v51, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v71
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v4, 3, v55
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v33, 0x300, v0
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, v1, v36, 0xc0c0004
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v29, 0x300, v2
-; GFX11-TRUE16-NEXT: v_perm_b32 v1, v3, v150, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v2, v4, v132, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v177
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v102, 0x300, v0
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v0, 3, v149
+; GFX11-TRUE16-NEXT: v_perm_b32 v1, v3, v54, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v2, v4, v39, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v81
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v34, 0x300, v0
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v0, 3, v64
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v28, 0x300, v1
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v132, 0x300, v2
-; GFX11-TRUE16-NEXT: v_perm_b32 v1, v3, v146, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v2, 3, v167
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, v0, v101, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v144
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v4, 3, v176
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v35, 0x300, v2
+; GFX11-TRUE16-NEXT: v_perm_b32 v1, v3, v66, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v2, 3, v85
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, v0, v50, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v70
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v4, 3, v99
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v27, 0x300, v1
-; GFX11-TRUE16-NEXT: v_perm_b32 v1, v2, v128, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v101, 0x300, v0
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, v3, v87, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v2, v4, v148, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v131
+; GFX11-TRUE16-NEXT: v_perm_b32 v1, v2, v69, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v36, 0x300, v0
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, v3, v53, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v2, v4, v84, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v80
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v26, 0x300, v1
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v1, 3, v164
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v87, 0x300, v0
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v1, 3, v101
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v37, 0x300, v0
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v25, 0x300, v2
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, v3, v82, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v2, 3, v117
-; GFX11-TRUE16-NEXT: v_perm_b32 v1, v1, v119, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v151
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v4, 3, v118
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v82, 0x300, v0
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, v2, v64, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, v3, v65, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v2, 3, v83
+; GFX11-TRUE16-NEXT: v_perm_b32 v1, v1, v87, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v115
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v4, 3, v98
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v38, 0x300, v0
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, v2, v68, 0xc0c0004
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v24, 0x300, v1
-; GFX11-TRUE16-NEXT: v_perm_b32 v1, v3, v115, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v2, v4, v85, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v147
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v64, 0x300, v0
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v0, 3, v113
+; GFX11-TRUE16-NEXT: v_perm_b32 v1, v3, v97, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v2, v4, v82, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v117
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v39, 0x300, v0
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v0, 3, v100
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v23, 0x300, v1
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v85, 0x300, v2
-; GFX11-TRUE16-NEXT: v_perm_b32 v1, v3, v100, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v2, 3, v135
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, v0, v55, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v98
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v4, 3, v145
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v48, 0x300, v2
+; GFX11-TRUE16-NEXT: v_perm_b32 v1, v3, v103, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v2, 3, v129
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, v0, v86, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v114
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v4, 3, v135
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v22, 0x300, v1
-; GFX11-TRUE16-NEXT: v_perm_b32 v1, v2, v81, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v55, 0x300, v0
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, v3, v52, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v2, v4, v112, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v84
+; GFX11-TRUE16-NEXT: v_perm_b32 v1, v2, v113, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v49, 0x300, v0
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, v3, v96, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v2, v4, v128, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v116
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v21, 0x300, v1
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v1, 3, v130
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v52, 0x300, v0
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v1, 3, v145
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v50, 0x300, v0
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v20, 0x300, v2
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, v3, v49, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v2, 3, v69
-; GFX11-TRUE16-NEXT: v_perm_b32 v1, v1, v80, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v116
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v4, 3, v71
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v49, 0x300, v0
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, v2, v36, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, v3, v102, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v2, 3, v119
+; GFX11-TRUE16-NEXT: v_perm_b32 v1, v1, v131, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v151
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v4, 3, v134
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v51, 0x300, v0
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, v2, v112, 0xc0c0004
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v19, 0x300, v1
-; GFX11-TRUE16-NEXT: v_perm_b32 v1, v3, v67, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v2, v4, v51, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v103
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v36, 0x300, v0
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v0, 3, v66
+; GFX11-TRUE16-NEXT: v_perm_b32 v1, v3, v133, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v2, v4, v118, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v161
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v52, 0x300, v0
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v0, 3, v144
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v18, 0x300, v1
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v51, 0x300, v2
-; GFX11-TRUE16-NEXT: v_perm_b32 v1, v3, v54, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v2, 3, v97
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, v0, v35, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v53
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v4, 3, v99
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v53, 0x300, v2
+; GFX11-TRUE16-NEXT: v_perm_b32 v1, v3, v147, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v2, 3, v164
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, v0, v130, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v150
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v4, 3, v166
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v17, 0x300, v1
-; GFX11-TRUE16-NEXT: v_perm_b32 v1, v2, v48, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v35, 0x300, v0
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, v3, v34, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v2, v4, v65, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v50
+; GFX11-TRUE16-NEXT: v_perm_b32 v1, v2, v149, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v54, 0x300, v0
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, v3, v132, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v2, v4, v163, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v160
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v16, 0x300, v1
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v1, 3, v83
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v34, 0x300, v0
+; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(7)
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v1, 3, v182
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v55, 0x300, v0
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v15, 0x300, v2
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, v3, v33, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v2, 3, v38
-; GFX11-TRUE16-NEXT: v_perm_b32 v1, v1, v39, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, v3, v146, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v2, 3, v162
+; GFX11-TRUE16-NEXT: v_perm_b32 v1, v1, v165, 0xc0c0004
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(3)
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v134
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v4, 3, v114
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v33, 0x300, v0
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, v2, v32, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v181
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v4, 3, v180
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v64, 0x300, v0
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, v2, v148, 0xc0c0004
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v14, 0x300, v1
-; GFX11-TRUE16-NEXT: v_perm_b32 v1, v3, v96, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v1, v3, v179, 0xc0c0004
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(1)
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v68
-; GFX11-TRUE16-NEXT: v_perm_b32 v2, v4, v70, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v32, 0x300, v0
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v176
+; GFX11-TRUE16-NEXT: v_perm_b32 v2, v4, v177, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v65, 0x300, v0
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0)
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, s74, v86, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, s74, v178, 0xc0c0004
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v13, 0x300, v1
; GFX11-TRUE16-NEXT: v_mov_b32_e32 v1, 0xc0c0004
; GFX11-TRUE16-NEXT: s_add_i32 s73, s73, 3
-; GFX11-TRUE16-NEXT: s_add_i32 s62, s62, 3
+; GFX11-TRUE16-NEXT: s_add_i32 s61, s61, 3
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v12, 0x300, v0
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, v3, v37, 0xc0c0004
-; GFX11-TRUE16-NEXT: s_add_i32 s72, s72, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v38, 0x300, v2
-; GFX11-TRUE16-NEXT: v_perm_b32 v2, s73, s42, v1
-; GFX11-TRUE16-NEXT: v_perm_b32 v4, s62, s47, v1
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v37, 0x300, v0
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, s59, s44, v1
-; GFX11-TRUE16-NEXT: s_add_i32 s43, s43, 3
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, v3, v167, 0xc0c0004
+; GFX11-TRUE16-NEXT: s_add_i32 s63, s63, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v66, 0x300, v2
+; GFX11-TRUE16-NEXT: v_perm_b32 v2, s73, s41, v1
+; GFX11-TRUE16-NEXT: v_perm_b32 v4, s61, s47, v1
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v67, 0x300, v0
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, s59, s43, v1
+; GFX11-TRUE16-NEXT: s_add_i32 s42, s42, 3
; GFX11-TRUE16-NEXT: s_add_i32 s56, s56, 3
; GFX11-TRUE16-NEXT: s_add_i32 s12, s12, 3
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v11, 0x300, v2
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v9, 0x300, v0
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, s72, s58, v1
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, s63, s58, v1
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v10, 0x300, v4
-; GFX11-TRUE16-NEXT: v_perm_b32 v2, s43, s11, v1
-; GFX11-TRUE16-NEXT: v_perm_b32 v4, s56, s5, v1
-; GFX11-TRUE16-NEXT: s_add_i32 s41, s41, 3
+; GFX11-TRUE16-NEXT: v_perm_b32 v2, s42, s11, v1
+; GFX11-TRUE16-NEXT: v_perm_b32 v4, s56, s6, v1
+; GFX11-TRUE16-NEXT: s_add_i32 s40, s40, 3
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v7, 0x300, v0
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, s12, s6, v1
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, s12, s7, v1
; GFX11-TRUE16-NEXT: s_add_i32 s46, s46, 3
; GFX11-TRUE16-NEXT: s_add_i32 s60, s60, 3
-; GFX11-TRUE16-NEXT: s_add_i32 s61, s61, 3
+; GFX11-TRUE16-NEXT: s_add_i32 s72, s72, 3
; GFX11-TRUE16-NEXT: s_add_i32 s28, s28, 3
-; GFX11-TRUE16-NEXT: v_perm_b32 v3, s41, s10, v1
-; GFX11-TRUE16-NEXT: v_perm_b32 v5, s46, s13, v1
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v50, 0x300, v2
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v53, 0x300, v4
-; GFX11-TRUE16-NEXT: v_perm_b32 v2, s60, s15, v1
-; GFX11-TRUE16-NEXT: v_perm_b32 v4, s61, s45, v1
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v65, 0x300, v0
+; GFX11-TRUE16-NEXT: v_perm_b32 v3, s40, s10, v1
+; GFX11-TRUE16-NEXT: v_perm_b32 v5, s46, s14, v1
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v70, 0x300, v2
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v71, 0x300, v4
+; GFX11-TRUE16-NEXT: v_perm_b32 v2, s60, s44, v1
+; GFX11-TRUE16-NEXT: v_perm_b32 v4, s72, s45, v1
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v81, 0x300, v0
; GFX11-TRUE16-NEXT: v_perm_b32 v0, s28, s29, v1
-; GFX11-TRUE16-NEXT: s_add_i32 s63, s63, 3
+; GFX11-TRUE16-NEXT: s_add_i32 s62, s62, 3
; GFX11-TRUE16-NEXT: s_add_i32 s9, s9, 3
; GFX11-TRUE16-NEXT: s_add_i32 s20, s20, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v39, 0x300, v3
-; GFX11-TRUE16-NEXT: v_perm_b32 v3, s63, s57, v1
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v48, 0x300, v5
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v68, 0x300, v3
+; GFX11-TRUE16-NEXT: v_perm_b32 v3, s62, s57, v1
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v69, 0x300, v5
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v6, 0x300, v2
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v5, 0x300, v4
-; GFX11-TRUE16-NEXT: v_perm_b32 v2, s9, s4, v1
+; GFX11-TRUE16-NEXT: v_perm_b32 v2, s9, s5, v1
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v4, 0x300, v0
; GFX11-TRUE16-NEXT: v_perm_b32 v0, s20, s21, v1
-; GFX11-TRUE16-NEXT: s_add_i32 s14, s14, 3
-; GFX11-TRUE16-NEXT: s_add_i32 s40, s40, 3
+; GFX11-TRUE16-NEXT: s_add_i32 s15, s15, 3
+; GFX11-TRUE16-NEXT: s_add_i32 s13, s13, 3
; GFX11-TRUE16-NEXT: s_add_i32 s26, s26, 3
; GFX11-TRUE16-NEXT: s_add_i32 s22, s22, 3
; GFX11-TRUE16-NEXT: s_add_i32 s2, s2, 3
; GFX11-TRUE16-NEXT: s_add_i32 s18, s18, 3
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v8, 0x300, v3
-; GFX11-TRUE16-NEXT: v_perm_b32 v3, s14, s7, v1
-; GFX11-TRUE16-NEXT: v_perm_b32 v54, s40, s8, v1
-; GFX11-TRUE16-NEXT: v_perm_b32 v67, s26, s27, v1
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v68, 0x300, v2
+; GFX11-TRUE16-NEXT: v_perm_b32 v3, s15, s4, v1
+; GFX11-TRUE16-NEXT: v_perm_b32 v80, s13, s8, v1
+; GFX11-TRUE16-NEXT: v_perm_b32 v83, s26, s27, v1
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v84, 0x300, v2
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v2, 0x300, v0
; GFX11-TRUE16-NEXT: v_perm_b32 v0, s22, s23, v1
-; GFX11-TRUE16-NEXT: v_perm_b32 v69, s2, s3, v1
-; GFX11-TRUE16-NEXT: v_perm_b32 v70, s18, s19, v1
+; GFX11-TRUE16-NEXT: v_perm_b32 v85, s2, s3, v1
+; GFX11-TRUE16-NEXT: v_perm_b32 v86, s18, s19, v1
; GFX11-TRUE16-NEXT: s_add_i32 s24, s24, 3
; GFX11-TRUE16-NEXT: s_add_i32 s16, s16, 3
; GFX11-TRUE16-NEXT: s_add_i32 s0, s0, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v66, 0x300, v3
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v82, 0x300, v3
; GFX11-TRUE16-NEXT: v_perm_b32 v3, s24, s25, v1
-; GFX11-TRUE16-NEXT: v_perm_b32 v71, s16, s17, v1
-; GFX11-TRUE16-NEXT: v_perm_b32 v80, s0, s1, v1
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v54, 0x300, v54
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v67, 0x300, v67
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v69, 0x300, v69
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v70, 0x300, v70
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v81, 0x300, v0
+; GFX11-TRUE16-NEXT: v_perm_b32 v87, s16, s17, v1
+; GFX11-TRUE16-NEXT: v_perm_b32 v96, s0, s1, v1
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v80, 0x300, v80
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v83, 0x300, v83
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v85, 0x300, v85
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v86, 0x300, v86
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v97, 0x300, v0
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 0x300, v3
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v1, 0x300, v71
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v0, 0x300, v80
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v0.h, v69.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v1.h, v70.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v2.h, v81.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v3.h, v67.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v4.h, v68.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v5.h, v54.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v6.h, v66.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v7.h, v65.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v8.h, v53.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v9.h, v50.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v10.h, v48.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v11.h, v39.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v12.h, v37.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v13.h, v38.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v14.h, v32.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v15.h, v33.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v16.h, v34.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v17.h, v35.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v18.h, v51.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v19.h, v36.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v20.h, v49.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v21.h, v52.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v22.h, v55.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v23.h, v85.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v24.h, v64.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v25.h, v82.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v26.h, v87.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v27.h, v101.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v28.h, v132.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v29.h, v102.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v30.h, v129.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v31.h, v133.l
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v1, 0x300, v87
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v0, 0x300, v96
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v0.h, v85.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v1.h, v86.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v2.h, v97.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v3.h, v83.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v4.h, v84.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v5.h, v80.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v6.h, v82.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v7.h, v81.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v8.h, v71.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v9.h, v70.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v10.h, v69.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v11.h, v68.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v12.h, v67.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v13.h, v66.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v14.h, v65.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v15.h, v64.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v16.h, v55.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v17.h, v54.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v18.h, v53.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v19.h, v52.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v20.h, v51.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v21.h, v50.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v22.h, v49.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v23.h, v48.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v24.h, v39.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v25.h, v38.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v26.h, v37.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v27.h, v36.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v28.h, v35.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v29.h, v34.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v30.h, v33.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v31.h, v32.l
; GFX11-TRUE16-NEXT: .LBB89_5: ; %end
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0)
; GFX11-TRUE16-NEXT: s_setpc_b64 s[30:31]
@@ -150611,34 +150678,34 @@ define inreg <64 x bfloat> @bitcast_v128i8_to_v64bf16_scalar(<128 x i8> inreg %a
; GFX11-FAKE16-NEXT: scratch_load_u16 v86, off, s32 offset:116
; GFX11-FAKE16-NEXT: scratch_load_u16 v83, off, s32 offset:112
; GFX11-FAKE16-NEXT: scratch_load_u16 v98, off, s32 offset:108
-; GFX11-FAKE16-NEXT: scratch_load_u16 v54, off, s32 offset:104
+; GFX11-FAKE16-NEXT: scratch_load_u16 v53, off, s32 offset:104
; GFX11-FAKE16-NEXT: scratch_load_u16 v71, off, s32 offset:100
; GFX11-FAKE16-NEXT: scratch_load_u16 v85, off, s32 offset:96
; GFX11-FAKE16-NEXT: scratch_load_u16 v96, off, s32 offset:92
-; GFX11-FAKE16-NEXT: scratch_load_u16 v52, off, s32 offset:88
+; GFX11-FAKE16-NEXT: scratch_load_u16 v51, off, s32 offset:88
; GFX11-FAKE16-NEXT: scratch_load_u16 v69, off, s32 offset:84
-; GFX11-FAKE16-NEXT: scratch_load_u16 v64, off, s32 offset:80
+; GFX11-FAKE16-NEXT: scratch_load_u16 v55, off, s32 offset:80
; GFX11-FAKE16-NEXT: scratch_load_u16 v82, off, s32 offset:76
-; GFX11-FAKE16-NEXT: scratch_load_u16 v55, off, s32 offset:72
-; GFX11-FAKE16-NEXT: scratch_load_u16 v68, off, s32 offset:68
-; GFX11-FAKE16-NEXT: scratch_load_u16 v66, off, s32 offset:64
+; GFX11-FAKE16-NEXT: scratch_load_u16 v54, off, s32 offset:72
+; GFX11-FAKE16-NEXT: scratch_load_u16 v67, off, s32 offset:68
+; GFX11-FAKE16-NEXT: scratch_load_u16 v65, off, s32 offset:64
; GFX11-FAKE16-NEXT: scratch_load_u16 v80, off, s32 offset:60
; GFX11-FAKE16-NEXT: s_clause 0xf
; GFX11-FAKE16-NEXT: scratch_load_u16 v34, off, s32 offset:56
; GFX11-FAKE16-NEXT: scratch_load_u16 v50, off, s32 offset:52
-; GFX11-FAKE16-NEXT: scratch_load_u16 v39, off, s32 offset:48
-; GFX11-FAKE16-NEXT: scratch_load_u16 v65, off, s32 offset:44
+; GFX11-FAKE16-NEXT: scratch_load_u16 v38, off, s32 offset:48
+; GFX11-FAKE16-NEXT: scratch_load_u16 v64, off, s32 offset:44
; GFX11-FAKE16-NEXT: scratch_load_u16 v36, off, s32 offset:40
; GFX11-FAKE16-NEXT: scratch_load_u16 v49, off, s32 offset:36
; GFX11-FAKE16-NEXT: scratch_load_u16 v37, off, s32 offset:32
-; GFX11-FAKE16-NEXT: scratch_load_u16 v53, off, s32 offset:28
; GFX11-FAKE16-NEXT: scratch_load_b32 v31, off, s32 offset:316
+; GFX11-FAKE16-NEXT: scratch_load_u16 v68, off, s32 offset:28
; GFX11-FAKE16-NEXT: scratch_load_u16 v32, off, s32 offset:24
; GFX11-FAKE16-NEXT: scratch_load_u16 v48, off, s32 offset:20
-; GFX11-FAKE16-NEXT: scratch_load_u16 v51, off, s32 offset:16
-; GFX11-FAKE16-NEXT: scratch_load_u16 v67, off, s32 offset:12
+; GFX11-FAKE16-NEXT: scratch_load_u16 v52, off, s32 offset:16
+; GFX11-FAKE16-NEXT: scratch_load_u16 v66, off, s32 offset:12
; GFX11-FAKE16-NEXT: scratch_load_u16 v33, off, s32 offset:8
-; GFX11-FAKE16-NEXT: scratch_load_u16 v38, off, s32 offset:4
+; GFX11-FAKE16-NEXT: scratch_load_u16 v39, off, s32 offset:4
; GFX11-FAKE16-NEXT: scratch_load_u16 v35, off, s32
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s74, v30
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s61, v29
@@ -150653,7 +150720,7 @@ define inreg <64 x bfloat> @bitcast_v128i8_to_v64bf16_scalar(<128 x i8> inreg %a
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s46, v20
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s57, v19
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s60, v18
-; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s13, v17
+; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s12, v17
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s40, v16
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s47, v15
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s58, v14
@@ -150662,19 +150729,19 @@ define inreg <64 x bfloat> @bitcast_v128i8_to_v64bf16_scalar(<128 x i8> inreg %a
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s41, v11
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s44, v10
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s9, v9
-; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s12, v8
+; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s11, v8
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s15, v7
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s42, v6
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s5, v5
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s7, v4
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s8, v3
-; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s11, v2
+; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s13, v2
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s4, v1
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s6, v0
; GFX11-FAKE16-NEXT: s_mov_b32 s75, 0
-; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(7)
+; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(8)
; GFX11-FAKE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v31
-; GFX11-FAKE16-NEXT: s_and_b32 s76, vcc_lo, exec_lo
+; GFX11-FAKE16-NEXT: s_cmp_lg_u32 vcc_lo, 0
; GFX11-FAKE16-NEXT: s_cbranch_scc0 .LBB89_2
; GFX11-FAKE16-NEXT: ; %bb.1: ; %cmp.false
; GFX11-FAKE16-NEXT: v_mov_b32_e32 v9, 0xc0c0004
@@ -150682,7 +150749,7 @@ define inreg <64 x bfloat> @bitcast_v128i8_to_v64bf16_scalar(<128 x i8> inreg %a
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(5)
; GFX11-FAKE16-NEXT: v_perm_b32 v17, v32, v48, 0x6050400
; GFX11-FAKE16-NEXT: v_perm_b32 v18, v36, v49, 0x6050400
-; GFX11-FAKE16-NEXT: v_perm_b32 v19, v68, v55, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v19, v67, v54, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v0, s0, s1, v9
; GFX11-FAKE16-NEXT: v_perm_b32 v2, s16, s17, v9
; GFX11-FAKE16-NEXT: v_perm_b32 v4, s20, s21, v9
@@ -150698,7 +150765,7 @@ define inreg <64 x bfloat> @bitcast_v128i8_to_v64bf16_scalar(<128 x i8> inreg %a
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v0, v1, 16, v0
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v1, v3, 16, v2
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v2, v5, 16, v4
-; GFX11-FAKE16-NEXT: v_perm_b32 v5, s11, s8, v9
+; GFX11-FAKE16-NEXT: v_perm_b32 v5, s13, s8, v9
; GFX11-FAKE16-NEXT: v_perm_b32 v4, s28, s29, v9
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v3, v7, 16, v6
; GFX11-FAKE16-NEXT: v_perm_b32 v7, s42, s15, v9
@@ -150706,7 +150773,7 @@ define inreg <64 x bfloat> @bitcast_v128i8_to_v64bf16_scalar(<128 x i8> inreg %a
; GFX11-FAKE16-NEXT: v_and_b32_e32 v5, 0xffff, v5
; GFX11-FAKE16-NEXT: v_perm_b32 v6, s6, s4, v9
; GFX11-FAKE16-NEXT: v_and_b32_e32 v4, 0xffff, v4
-; GFX11-FAKE16-NEXT: v_perm_b32 v10, s12, s9, v9
+; GFX11-FAKE16-NEXT: v_perm_b32 v10, s11, s9, v9
; GFX11-FAKE16-NEXT: v_and_b32_e32 v7, 0xffff, v7
; GFX11-FAKE16-NEXT: v_perm_b32 v12, s44, s41, v9
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v5, v8, 16, v5
@@ -150717,7 +150784,7 @@ define inreg <64 x bfloat> @bitcast_v128i8_to_v64bf16_scalar(<128 x i8> inreg %a
; GFX11-FAKE16-NEXT: v_perm_b32 v7, s14, s10, v9
; GFX11-FAKE16-NEXT: v_and_b32_e32 v10, 0xffff, v12
; GFX11-FAKE16-NEXT: v_perm_b32 v12, s60, s57, v9
-; GFX11-FAKE16-NEXT: v_perm_b32 v13, s13, s40, v11
+; GFX11-FAKE16-NEXT: v_perm_b32 v13, s12, s40, v11
; GFX11-FAKE16-NEXT: v_and_b32_e32 v8, 0xffff, v8
; GFX11-FAKE16-NEXT: v_perm_b32 v16, s45, s56, v11
; GFX11-FAKE16-NEXT: v_and_b32_e32 v14, 0xffff, v14
@@ -150728,8 +150795,8 @@ define inreg <64 x bfloat> @bitcast_v128i8_to_v64bf16_scalar(<128 x i8> inreg %a
; GFX11-FAKE16-NEXT: v_perm_b32 v13, s73, s72, v9
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v10, v16, 16, v14
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(3)
-; GFX11-FAKE16-NEXT: v_perm_b32 v14, v67, v51, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v16, v37, v53, 0x6050400
+; GFX11-FAKE16-NEXT: v_perm_b32 v14, v66, v52, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v16, v37, v68, 0x6050400
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v9, v15, 16, v12
; GFX11-FAKE16-NEXT: v_perm_b32 v11, s61, s63, v11
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0)
@@ -150737,18 +150804,18 @@ define inreg <64 x bfloat> @bitcast_v128i8_to_v64bf16_scalar(<128 x i8> inreg %a
; GFX11-FAKE16-NEXT: v_and_b32_e32 v13, 0xffff, v13
; GFX11-FAKE16-NEXT: v_and_b32_e32 v14, 0xffff, v14
; GFX11-FAKE16-NEXT: v_and_b32_e32 v16, 0xffff, v16
-; GFX11-FAKE16-NEXT: v_perm_b32 v15, v33, v38, 0x6050400
+; GFX11-FAKE16-NEXT: v_perm_b32 v15, v33, v39, 0x6050400
; GFX11-FAKE16-NEXT: v_and_b32_e32 v12, 0xffff, v12
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v11, v11, 16, v13
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v13, v17, 16, v14
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v14, v18, 16, v16
-; GFX11-FAKE16-NEXT: v_perm_b32 v16, v80, v66, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v16, v80, v65, 0xc0c0004
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v12, v15, 16, v12
-; GFX11-FAKE16-NEXT: v_perm_b32 v15, v65, v39, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v18, v82, v64, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v15, v64, v38, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v18, v82, v55, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v17, v34, v50, 0x6050400
; GFX11-FAKE16-NEXT: v_and_b32_e32 v16, 0xffff, v16
-; GFX11-FAKE16-NEXT: v_perm_b32 v20, v69, v52, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v20, v69, v51, 0xc0c0004
; GFX11-FAKE16-NEXT: v_and_b32_e32 v15, 0xffff, v15
; GFX11-FAKE16-NEXT: v_and_b32_e32 v18, 0xffff, v18
; GFX11-FAKE16-NEXT: v_perm_b32 v21, v96, v85, 0xc0c0004
@@ -150756,7 +150823,7 @@ define inreg <64 x bfloat> @bitcast_v128i8_to_v64bf16_scalar(<128 x i8> inreg %a
; GFX11-FAKE16-NEXT: v_perm_b32 v19, v98, v83, 0xc0c0004
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v15, v17, 16, v15
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v17, v20, 16, v18
-; GFX11-FAKE16-NEXT: v_perm_b32 v18, v71, v54, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v18, v71, v53, 0xc0c0004
; GFX11-FAKE16-NEXT: v_and_b32_e32 v20, 0xffff, v21
; GFX11-FAKE16-NEXT: v_perm_b32 v21, v86, v81, 0xc0c0004
; GFX11-FAKE16-NEXT: v_and_b32_e32 v19, 0xffff, v19
@@ -150846,13 +150913,13 @@ define inreg <64 x bfloat> @bitcast_v128i8_to_v64bf16_scalar(<128 x i8> inreg %a
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v28, 0x300, v2
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v30, 0x300, v1
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v1, 3, v151
-; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v150, 0x300, v4
+; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v29, 0x300, v4
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v151, 0x300, v0
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v0, 3, v162
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v2, 3, v149
; GFX11-FAKE16-NEXT: v_perm_b32 v1, v1, v135, 0xc0c0004
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v4, 3, v148
-; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v29, 0x300, v3
+; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v150, 0x300, v3
; GFX11-FAKE16-NEXT: v_perm_b32 v0, v0, v145, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v2, v2, v133, 0xc0c0004
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v133, 0x300, v1
@@ -150909,36 +150976,36 @@ define inreg <64 x bfloat> @bitcast_v128i8_to_v64bf16_scalar(<128 x i8> inreg %a
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v0, 3, v82
; GFX11-FAKE16-NEXT: v_perm_b32 v2, v2, v83, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v3, v3, v81, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v1, v1, v54, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v4, 3, v68
-; GFX11-FAKE16-NEXT: v_perm_b32 v0, v0, v64, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v1, v1, v53, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v4, 3, v67
+; GFX11-FAKE16-NEXT: v_perm_b32 v0, v0, v55, 0xc0c0004
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v19, 0x300, v2
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v70, 0x300, v3
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v2, 3, v69
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v3, 3, v80
-; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v54, 0x300, v0
-; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v0, 3, v65
+; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v53, 0x300, v0
+; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v0, 3, v64
; GFX11-FAKE16-NEXT: s_add_i32 s40, s40, 3
-; GFX11-FAKE16-NEXT: v_perm_b32 v2, v2, v52, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v3, v3, v66, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v52, 0x300, v1
-; GFX11-FAKE16-NEXT: v_perm_b32 v1, v4, v55, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v0, v0, v39, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v2, v2, v51, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v3, v3, v65, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v51, 0x300, v1
+; GFX11-FAKE16-NEXT: v_perm_b32 v1, v4, v54, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v0, v0, v38, 0xc0c0004
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(3)
-; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v4, 3, v67
-; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v55, 0x300, v2
+; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v4, 3, v66
+; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v54, 0x300, v2
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v12, 0x300, v3
-; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v2, 3, v53
+; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v2, 3, v68
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v3, 3, v49
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v13, 0x300, v0
-; GFX11-FAKE16-NEXT: v_perm_b32 v0, v4, v51, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v0, v4, v52, 0xc0c0004
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v16, 0x300, v1
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v1, 3, v50
; GFX11-FAKE16-NEXT: v_perm_b32 v2, v2, v37, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v3, v3, v36, 0xc0c0004
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v36, 0x300, v0
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(1)
-; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v0, 3, v38
+; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v0, 3, v39
; GFX11-FAKE16-NEXT: v_perm_b32 v1, v1, v34, 0xc0c0004
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v14, 0x300, v2
; GFX11-FAKE16-NEXT: v_mov_b32_e32 v2, 0xc0c0004
@@ -150953,19 +151020,19 @@ define inreg <64 x bfloat> @bitcast_v128i8_to_v64bf16_scalar(<128 x i8> inreg %a
; GFX11-FAKE16-NEXT: v_perm_b32 v0, s62, s59, v2
; GFX11-FAKE16-NEXT: v_perm_b32 v1, v1, v32, 0xc0c0004
; GFX11-FAKE16-NEXT: s_add_i32 s63, s63, 3
-; GFX11-FAKE16-NEXT: s_add_i32 s12, s12, 3
+; GFX11-FAKE16-NEXT: s_add_i32 s11, s11, 3
; GFX11-FAKE16-NEXT: v_perm_b32 v4, s73, s72, v2
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v8, 0x300, v0
-; GFX11-FAKE16-NEXT: v_perm_b32 v0, s40, s13, v2
+; GFX11-FAKE16-NEXT: v_perm_b32 v0, s40, s12, v2
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v32, 0x300, v1
; GFX11-FAKE16-NEXT: v_perm_b32 v1, s63, s61, v2
; GFX11-FAKE16-NEXT: s_add_i32 s56, s56, 3
; GFX11-FAKE16-NEXT: s_add_i32 s60, s60, 3
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v39, 0x300, v0
-; GFX11-FAKE16-NEXT: v_perm_b32 v0, s12, s9, v2
+; GFX11-FAKE16-NEXT: v_perm_b32 v0, s11, s9, v2
; GFX11-FAKE16-NEXT: s_add_i32 s46, s46, 3
; GFX11-FAKE16-NEXT: s_add_i32 s58, s58, 3
-; GFX11-FAKE16-NEXT: s_add_i32 s11, s11, 3
+; GFX11-FAKE16-NEXT: s_add_i32 s13, s13, 3
; GFX11-FAKE16-NEXT: s_add_i32 s24, s24, 3
; GFX11-FAKE16-NEXT: s_add_i32 s0, s0, 3
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v33, 0x300, v3
@@ -150976,7 +151043,7 @@ define inreg <64 x bfloat> @bitcast_v128i8_to_v64bf16_scalar(<128 x i8> inreg %a
; GFX11-FAKE16-NEXT: v_perm_b32 v4, s46, s43, v2
; GFX11-FAKE16-NEXT: v_perm_b32 v5, s58, s47, v2
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v6, 0x300, v0
-; GFX11-FAKE16-NEXT: v_perm_b32 v0, s11, s8, v2
+; GFX11-FAKE16-NEXT: v_perm_b32 v0, s13, s8, v2
; GFX11-FAKE16-NEXT: v_perm_b32 v50, s24, s25, v2
; GFX11-FAKE16-NEXT: v_perm_b32 v65, s0, s1, v2
; GFX11-FAKE16-NEXT: s_add_i32 s44, s44, 3
@@ -150991,7 +151058,7 @@ define inreg <64 x bfloat> @bitcast_v128i8_to_v64bf16_scalar(<128 x i8> inreg %a
; GFX11-FAKE16-NEXT: v_perm_b32 v1, s44, s41, v2
; GFX11-FAKE16-NEXT: v_perm_b32 v3, s14, s10, v2
; GFX11-FAKE16-NEXT: v_perm_b32 v4, s42, s15, v2
-; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v51, 0x300, v0
+; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v52, 0x300, v0
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v50, 0x300, v50
; GFX11-FAKE16-NEXT: v_perm_b32 v0, s26, s27, v2
; GFX11-FAKE16-NEXT: v_perm_b32 v67, s2, s3, v2
@@ -151018,7 +151085,7 @@ define inreg <64 x bfloat> @bitcast_v128i8_to_v64bf16_scalar(<128 x i8> inreg %a
; GFX11-FAKE16-NEXT: s_add_i32 s20, s20, 3
; GFX11-FAKE16-NEXT: s_add_i32 s18, s18, 3
; GFX11-FAKE16-NEXT: v_perm_b32 v5, s6, s4, v2
-; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v53, 0x300, v1
+; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v55, 0x300, v1
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v4, 0x300, v4
; GFX11-FAKE16-NEXT: v_perm_b32 v1, s20, s21, v2
; GFX11-FAKE16-NEXT: v_perm_b32 v66, s18, s19, v2
@@ -151034,7 +151101,7 @@ define inreg <64 x bfloat> @bitcast_v128i8_to_v64bf16_scalar(<128 x i8> inreg %a
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v12, v35, 16, v33
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v13, v32, 16, v36
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v14, v34, 16, v14
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v32, 0xffff, v54
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v32, 0xffff, v53
; GFX11-FAKE16-NEXT: v_and_b32_e32 v33, 0xffff, v71
; GFX11-FAKE16-NEXT: v_and_b32_e32 v34, 0xffff, v18
; GFX11-FAKE16-NEXT: v_and_b32_e32 v35, 0xffff, v17
@@ -151045,9 +151112,9 @@ define inreg <64 x bfloat> @bitcast_v128i8_to_v64bf16_scalar(<128 x i8> inreg %a
; GFX11-FAKE16-NEXT: v_and_b32_e32 v64, 0xffff, v64
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v68, 0x300, v1
; GFX11-FAKE16-NEXT: v_and_b32_e32 v4, 0xffff, v4
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v51, 0xffff, v51
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v17, v55, 16, v32
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v18, v52, 16, v33
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v52, 0xffff, v52
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v17, v54, 16, v32
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v18, v51, 16, v33
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v20, v20, 16, v34
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v21, v21, 16, v35
; GFX11-FAKE16-NEXT: v_and_b32_e32 v32, 0xffff, v99
@@ -151058,9 +151125,9 @@ define inreg <64 x bfloat> @bitcast_v128i8_to_v64bf16_scalar(<128 x i8> inreg %a
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v1, v66, 16, v64
; GFX11-FAKE16-NEXT: v_and_b32_e32 v64, 0xffff, v68
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v4, v5, 16, v4
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v5, v53, 16, v51
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v5, v55, 16, v52
; GFX11-FAKE16-NEXT: v_and_b32_e32 v48, 0xffff, v48
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v51, 0xffff, v7
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v52, 0xffff, v7
; GFX11-FAKE16-NEXT: v_and_b32_e32 v19, 0xffff, v19
; GFX11-FAKE16-NEXT: v_and_b32_e32 v24, 0xffff, v24
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v22, v100, 16, v32
@@ -151069,23 +151136,23 @@ define inreg <64 x bfloat> @bitcast_v128i8_to_v64bf16_scalar(<128 x i8> inreg %a
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v26, v26, 16, v35
; GFX11-FAKE16-NEXT: v_and_b32_e32 v32, 0xffff, v135
; GFX11-FAKE16-NEXT: v_and_b32_e32 v33, 0xffff, v151
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v29, 0xffff, v29
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v34, 0xffff, v28
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v35, 0xffff, v27
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v34, 0xffff, v150
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v35, 0xffff, v28
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v36, 0xffff, v27
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v2, v2, 16, v64
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v6, v6, 16, v65
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v7, v49, 16, v48
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v10, v10, 16, v50
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v11, v11, 16, v51
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v11, v11, 16, v52
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v15, v15, 16, v37
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v16, v16, 16, v38
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v19, v70, 16, v19
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v24, v114, 16, v24
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v27, v144, 16, v32
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v28, v133, 16, v33
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v29, v150, 16, v29
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v30, v30, 16, v34
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v31, v31, 16, v35
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v29, v29, 16, v34
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v30, v30, 16, v35
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v31, v31, 16, v36
; GFX11-FAKE16-NEXT: .LBB89_5: ; %end
; GFX11-FAKE16-NEXT: s_clause 0x1 ; 8-byte Folded Reload
; GFX11-FAKE16-NEXT: scratch_load_b32 v41, off, s32 offset:320
@@ -153157,172 +153224,169 @@ define <128 x i8> @bitcast_v64bf16_to_v128i8(<64 x bfloat> %a, i32 %b) #0 {
; VI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:4
; VI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:8
; VI-NEXT: buffer_load_dword v31, off, s[0:3], s32
-; VI-NEXT: ; implicit-def: $vgpr41
-; VI-NEXT: ; kill: killed $vgpr41
-; VI-NEXT: ; implicit-def: $vgpr41
-; VI-NEXT: ; kill: killed $vgpr41
-; VI-NEXT: ; implicit-def: $vgpr41
-; VI-NEXT: ; kill: killed $vgpr41
-; VI-NEXT: ; implicit-def: $vgpr41
-; VI-NEXT: ; kill: killed $vgpr41
-; VI-NEXT: ; implicit-def: $vgpr41
-; VI-NEXT: ; kill: killed $vgpr41
-; VI-NEXT: ; implicit-def: $vgpr41
-; VI-NEXT: ; kill: killed $vgpr41
-; VI-NEXT: ; implicit-def: $vgpr41
-; VI-NEXT: ; kill: killed $vgpr41
-; VI-NEXT: ; implicit-def: $vgpr41
-; VI-NEXT: ; kill: killed $vgpr41
-; VI-NEXT: ; implicit-def: $vgpr41
-; VI-NEXT: ; kill: killed $vgpr41
-; VI-NEXT: ; implicit-def: $vgpr41
-; VI-NEXT: ; kill: killed $vgpr41
-; VI-NEXT: ; implicit-def: $vgpr41
-; VI-NEXT: ; kill: killed $vgpr41
-; VI-NEXT: ; implicit-def: $vgpr41
-; VI-NEXT: ; kill: killed $vgpr41
-; VI-NEXT: ; implicit-def: $vgpr41
-; VI-NEXT: ; kill: killed $vgpr41
-; VI-NEXT: ; implicit-def: $vgpr41
-; VI-NEXT: ; kill: killed $vgpr41
-; VI-NEXT: ; implicit-def: $vgpr41
-; VI-NEXT: ; kill: killed $vgpr41
-; VI-NEXT: ; implicit-def: $vgpr41
-; VI-NEXT: ; kill: killed $vgpr41
-; VI-NEXT: ; implicit-def: $vgpr41
-; VI-NEXT: ; kill: killed $vgpr41
-; VI-NEXT: ; implicit-def: $vgpr41
-; VI-NEXT: ; kill: killed $vgpr41
-; VI-NEXT: ; implicit-def: $vgpr41
-; VI-NEXT: ; kill: killed $vgpr41
-; VI-NEXT: ; implicit-def: $vgpr41
-; VI-NEXT: ; kill: killed $vgpr41
-; VI-NEXT: ; implicit-def: $vgpr41
-; VI-NEXT: ; kill: killed $vgpr41
-; VI-NEXT: ; implicit-def: $vgpr41
-; VI-NEXT: ; kill: killed $vgpr41
-; VI-NEXT: ; implicit-def: $vgpr41
-; VI-NEXT: ; kill: killed $vgpr41
-; VI-NEXT: ; implicit-def: $vgpr41
-; VI-NEXT: ; kill: killed $vgpr41
-; VI-NEXT: ; implicit-def: $vgpr41
-; VI-NEXT: ; kill: killed $vgpr41
-; VI-NEXT: ; implicit-def: $vgpr41
-; VI-NEXT: ; kill: killed $vgpr41
-; VI-NEXT: ; implicit-def: $vgpr41
-; VI-NEXT: ; implicit-def: $vgpr35
-; VI-NEXT: ; kill: killed $vgpr41
-; VI-NEXT: ; implicit-def: $vgpr41
-; VI-NEXT: ; kill: killed $vgpr35
-; VI-NEXT: ; implicit-def: $vgpr35
-; VI-NEXT: ; kill: killed $vgpr41
-; VI-NEXT: ; implicit-def: $vgpr41
-; VI-NEXT: ; kill: killed $vgpr35
+; VI-NEXT: ; implicit-def: $vgpr40
+; VI-NEXT: ; kill: killed $vgpr40
+; VI-NEXT: ; implicit-def: $vgpr40
+; VI-NEXT: ; kill: killed $vgpr40
+; VI-NEXT: ; implicit-def: $vgpr40
+; VI-NEXT: ; kill: killed $vgpr40
+; VI-NEXT: ; implicit-def: $vgpr40
+; VI-NEXT: ; kill: killed $vgpr40
+; VI-NEXT: ; implicit-def: $vgpr40
+; VI-NEXT: ; kill: killed $vgpr40
+; VI-NEXT: ; implicit-def: $vgpr40
+; VI-NEXT: ; kill: killed $vgpr40
+; VI-NEXT: ; implicit-def: $vgpr40
+; VI-NEXT: ; kill: killed $vgpr40
+; VI-NEXT: ; implicit-def: $vgpr40
+; VI-NEXT: ; kill: killed $vgpr40
+; VI-NEXT: ; implicit-def: $vgpr40
+; VI-NEXT: ; kill: killed $vgpr40
+; VI-NEXT: ; implicit-def: $vgpr40
+; VI-NEXT: ; kill: killed $vgpr40
+; VI-NEXT: ; implicit-def: $vgpr40
+; VI-NEXT: ; kill: killed $vgpr40
+; VI-NEXT: ; implicit-def: $vgpr40
+; VI-NEXT: ; kill: killed $vgpr40
+; VI-NEXT: ; implicit-def: $vgpr40
+; VI-NEXT: ; kill: killed $vgpr40
+; VI-NEXT: ; implicit-def: $vgpr40
+; VI-NEXT: ; kill: killed $vgpr40
+; VI-NEXT: ; implicit-def: $vgpr40
+; VI-NEXT: ; kill: killed $vgpr40
+; VI-NEXT: ; implicit-def: $vgpr40
+; VI-NEXT: ; implicit-def: $vgpr36
+; VI-NEXT: ; kill: killed $vgpr40
+; VI-NEXT: ; implicit-def: $vgpr40
+; VI-NEXT: ; kill: killed $vgpr36
+; VI-NEXT: ; implicit-def: $vgpr36
+; VI-NEXT: ; kill: killed $vgpr40
+; VI-NEXT: ; implicit-def: $vgpr40
+; VI-NEXT: ; kill: killed $vgpr36
+; VI-NEXT: ; implicit-def: $vgpr36
+; VI-NEXT: ; kill: killed $vgpr40
+; VI-NEXT: ; implicit-def: $vgpr40
+; VI-NEXT: ; kill: killed $vgpr36
+; VI-NEXT: ; implicit-def: $vgpr36
+; VI-NEXT: ; kill: killed $vgpr40
+; VI-NEXT: ; implicit-def: $vgpr40
+; VI-NEXT: ; kill: killed $vgpr36
+; VI-NEXT: ; implicit-def: $vgpr36
+; VI-NEXT: ; kill: killed $vgpr40
+; VI-NEXT: ; implicit-def: $vgpr40
+; VI-NEXT: ; kill: killed $vgpr36
+; VI-NEXT: ; implicit-def: $vgpr36
+; VI-NEXT: ; kill: killed $vgpr40
+; VI-NEXT: ; implicit-def: $vgpr40
+; VI-NEXT: ; kill: killed $vgpr36
+; VI-NEXT: ; implicit-def: $vgpr36
+; VI-NEXT: ; kill: killed $vgpr40
+; VI-NEXT: ; implicit-def: $vgpr40
+; VI-NEXT: ; kill: killed $vgpr36
+; VI-NEXT: ; implicit-def: $vgpr36
+; VI-NEXT: ; kill: killed $vgpr40
+; VI-NEXT: ; implicit-def: $vgpr40
; VI-NEXT: ; implicit-def: $vgpr35
-; VI-NEXT: ; kill: killed $vgpr41
-; VI-NEXT: ; implicit-def: $vgpr41
+; VI-NEXT: ; kill: killed $vgpr36
+; VI-NEXT: ; implicit-def: $vgpr36
+; VI-NEXT: ; kill: killed $vgpr40
+; VI-NEXT: ; implicit-def: $vgpr40
; VI-NEXT: ; kill: killed $vgpr35
; VI-NEXT: ; implicit-def: $vgpr35
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr41
-; VI-NEXT: ; implicit-def: $vgpr41
+; VI-NEXT: ; kill: killed $vgpr36
+; VI-NEXT: ; implicit-def: $vgpr36
+; VI-NEXT: ; kill: killed $vgpr40
+; VI-NEXT: ; implicit-def: $vgpr40
+; VI-NEXT: ; implicit-def: $vgpr34
; VI-NEXT: ; kill: killed $vgpr35
; VI-NEXT: ; implicit-def: $vgpr35
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr41
-; VI-NEXT: ; implicit-def: $vgpr41
+; VI-NEXT: ; kill: killed $vgpr36
+; VI-NEXT: ; implicit-def: $vgpr36
+; VI-NEXT: ; kill: killed $vgpr40
+; VI-NEXT: ; implicit-def: $vgpr40
+; VI-NEXT: ; implicit-def: $vgpr55
+; VI-NEXT: ; kill: killed $vgpr34
+; VI-NEXT: ; implicit-def: $vgpr34
; VI-NEXT: ; kill: killed $vgpr35
; VI-NEXT: ; implicit-def: $vgpr35
-; VI-NEXT: ; implicit-def: $vgpr37
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr41
-; VI-NEXT: ; implicit-def: $vgpr41
-; VI-NEXT: ; implicit-def: $vgpr42
+; VI-NEXT: ; kill: killed $vgpr36
+; VI-NEXT: ; implicit-def: $vgpr36
+; VI-NEXT: ; kill: killed $vgpr40
+; VI-NEXT: ; implicit-def: $vgpr40
; VI-NEXT: ; implicit-def: $vgpr54
-; VI-NEXT: ; kill: killed $vgpr35
-; VI-NEXT: ; implicit-def: $vgpr35
-; VI-NEXT: ; kill: killed $vgpr37
-; VI-NEXT: ; implicit-def: $vgpr37
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr41
-; VI-NEXT: ; implicit-def: $vgpr41
-; VI-NEXT: ; implicit-def: $vgpr53
-; VI-NEXT: ; implicit-def: $vgpr45
+; VI-NEXT: ; implicit-def: $vgpr57
+; VI-NEXT: ; implicit-def: $vgpr46
+; VI-NEXT: ; implicit-def: $vgpr49
; VI-NEXT: ; implicit-def: $vgpr43
-; VI-NEXT: ; implicit-def: $vgpr61
-; VI-NEXT: ; implicit-def: $vgpr34
-; VI-NEXT: ; implicit-def: $vgpr59
; VI-NEXT: ; implicit-def: $vgpr48
-; VI-NEXT: ; implicit-def: $vgpr58
+; VI-NEXT: ; kill: killed $vgpr34
; VI-NEXT: ; implicit-def: $vgpr63
+; VI-NEXT: ; implicit-def: $vgpr39
+; VI-NEXT: ; implicit-def: $vgpr34
; VI-NEXT: ; implicit-def: $vgpr38
; VI-NEXT: ; implicit-def: $vgpr44
-; VI-NEXT: ; implicit-def: $vgpr57
-; VI-NEXT: ; implicit-def: $vgpr40
+; VI-NEXT: ; implicit-def: $vgpr61
+; VI-NEXT: ; kill: killed $vgpr35
+; VI-NEXT: ; implicit-def: $vgpr53
+; VI-NEXT: ; implicit-def: $vgpr35
+; VI-NEXT: ; implicit-def: $vgpr50
+; VI-NEXT: ; implicit-def: $vgpr59
+; VI-NEXT: ; implicit-def: $vgpr58
; VI-NEXT: ; implicit-def: $vgpr52
-; VI-NEXT: ; implicit-def: $vgpr36
-; VI-NEXT: ; implicit-def: $vgpr49
; VI-NEXT: ; implicit-def: $vgpr56
-; VI-NEXT: ; implicit-def: $vgpr51
-; VI-NEXT: ; implicit-def: $vgpr60
; VI-NEXT: ; implicit-def: $vgpr47
-; VI-NEXT: ; kill: killed $vgpr35
-; VI-NEXT: ; implicit-def: $vgpr50
; VI-NEXT: ; implicit-def: $vgpr62
-; VI-NEXT: ; implicit-def: $vgpr35
-; VI-NEXT: ; kill: killed $vgpr37
-; VI-NEXT: ; implicit-def: $vgpr55
+; VI-NEXT: ; implicit-def: $vgpr60
+; VI-NEXT: ; kill: killed $vgpr36
+; VI-NEXT: ; implicit-def: $vgpr51
; VI-NEXT: ; implicit-def: $vgpr37
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; kill: killed $vgpr41
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr41
-; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr53
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr41
-; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr41
-; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr41
-; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr41
-; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr53
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr41
-; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr41
-; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr41
-; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr41
-; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr41
-; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr41
-; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr36
+; VI-NEXT: ; implicit-def: $vgpr45
+; VI-NEXT: ; implicit-def: $vgpr42
+; VI-NEXT: ; kill: killed $vgpr40
+; VI-NEXT: ; implicit-def: $vgpr40
; VI-NEXT: ; implicit-def: $vgpr41
-; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr54
+; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr54
+; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr54
+; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr54
+; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr54
+; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr54
+; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr54
+; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr54
+; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr54
+; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr54
+; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr54
+; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr54
+; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr54
+; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
; VI-NEXT: s_waitcnt vmcnt(14)
; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v33
; VI-NEXT: ; implicit-def: $vgpr33
@@ -153342,191 +153406,186 @@ define <128 x i8> @bitcast_v64bf16_to_v128i8(<64 x bfloat> %a, i32 %b) #0 {
; VI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]
; VI-NEXT: s_cbranch_execz .LBB90_2
; VI-NEXT: ; %bb.1: ; %cmp.false
-; VI-NEXT: v_lshrrev_b32_e32 v37, 8, v2
-; VI-NEXT: v_lshrrev_b64 v[41:42], 24, v[15:16]
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 24, v32
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v32
-; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 8, v32
-; VI-NEXT: v_lshrrev_b64 v[41:42], 24, v[13:14]
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v31
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 8, v31
-; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 24, v30
-; VI-NEXT: v_lshrrev_b64 v[41:42], 24, v[11:12]
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v30
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 8, v30
-; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v29
-; VI-NEXT: v_lshrrev_b64 v[41:42], 24, v[9:10]
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 8, v29
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 24, v28
-; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v28
-; VI-NEXT: v_lshrrev_b64 v[41:42], 24, v[7:8]
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 8, v28
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v27
-; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 8, v27
-; VI-NEXT: v_lshrrev_b64 v[41:42], 24, v[5:6]
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 24, v26
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v26
-; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 8, v26
-; VI-NEXT: v_lshrrev_b64 v[41:42], 24, v[3:4]
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v25
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 8, v25
-; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 24, v24
-; VI-NEXT: v_lshrrev_b64 v[41:42], 24, v[31:32]
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v24
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 8, v24
-; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v23
-; VI-NEXT: v_lshrrev_b64 v[41:42], 24, v[29:30]
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 8, v23
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 24, v22
-; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v22
-; VI-NEXT: v_lshrrev_b64 v[41:42], 24, v[27:28]
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 8, v22
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v21
-; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v54, 16, v19
+; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:388 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v54, 8, v19
+; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v54, 24, v18
+; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v54, 16, v18
+; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:384 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v54, 8, v18
+; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:392 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[54:55], 24, v[15:16]
+; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[54:55], 24, v[13:14]
+; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[54:55], 24, v[11:12]
+; VI-NEXT: v_lshrrev_b32_e32 v36, 24, v4
+; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v4
+; VI-NEXT: v_lshrrev_b64 v[54:55], 24, v[9:10]
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 24, v2
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v2
+; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 8, v2
+; VI-NEXT: v_lshrrev_b64 v[54:55], 24, v[7:8]
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 8, v1
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 24, v32
+; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v32
+; VI-NEXT: v_lshrrev_b64 v[54:55], 24, v[5:6]
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 8, v32
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v31
+; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 8, v31
+; VI-NEXT: v_lshrrev_b64 v[54:55], 24, v[31:32]
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 24, v30
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v30
+; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 8, v30
+; VI-NEXT: v_lshrrev_b64 v[54:55], 24, v[29:30]
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v29
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 8, v29
+; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 24, v28
+; VI-NEXT: v_lshrrev_b64 v[54:55], 24, v[27:28]
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v28
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 8, v28
+; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v27
+; VI-NEXT: v_lshrrev_b64 v[54:55], 24, v[25:26]
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 8, v27
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v16
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 8, v21
-; VI-NEXT: v_lshrrev_b64 v[41:42], 24, v[25:26]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 24, v26
+; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v16
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 24, v20
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v26
+; VI-NEXT: v_lshrrev_b64 v[54:55], 24, v[23:24]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v16
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 8, v26
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v14
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v20
-; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v25
+; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v14
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 8, v20
-; VI-NEXT: v_lshrrev_b64 v[41:42], 24, v[23:24]
-; VI-NEXT: v_lshrrev_b64 v[44:45], 24, v[19:20]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 8, v25
+; VI-NEXT: v_lshrrev_b64 v[54:55], 24, v[21:22]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v12
-; VI-NEXT: v_lshrrev_b32_e32 v34, 8, v6
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v19
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 24, v24
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v12
-; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v34, 16, v5
-; VI-NEXT: v_lshrrev_b32_e32 v53, 8, v1
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:396 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 8, v19
-; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v24
+; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v10
-; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:404 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v34, 8, v5
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 24, v18
-; VI-NEXT: v_lshrrev_b64 v[41:42], 24, v[21:22]
-; VI-NEXT: v_mov_b32_e32 v45, v53
-; VI-NEXT: v_lshrrev_b64 v[53:54], 24, v[17:18]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 8, v24
+; VI-NEXT: v_lshrrev_b64 v[54:55], 24, v[19:20]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v10
-; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v34, 8, v4
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:388 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v18
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v23
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v8
-; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:384 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v46, 16, v3
-; VI-NEXT: v_lshrrev_b32_e32 v34, 8, v3
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:392 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 8, v18
-; VI-NEXT: v_lshrrev_b64 v[39:40], 24, v[1:2]
-; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v35, 8, v16
-; VI-NEXT: v_lshrrev_b32_e32 v62, 16, v15
-; VI-NEXT: v_lshrrev_b32_e32 v50, 8, v15
-; VI-NEXT: v_lshrrev_b32_e32 v47, 8, v14
-; VI-NEXT: v_lshrrev_b32_e32 v60, 16, v13
-; VI-NEXT: v_lshrrev_b32_e32 v51, 8, v13
-; VI-NEXT: v_lshrrev_b32_e32 v56, 8, v12
-; VI-NEXT: v_lshrrev_b32_e32 v49, 16, v11
-; VI-NEXT: v_lshrrev_b32_e32 v36, 8, v11
-; VI-NEXT: v_lshrrev_b32_e32 v52, 8, v10
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 8, v23
+; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v8
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 24, v22
+; VI-NEXT: v_lshrrev_b64 v[41:42], 24, v[3:4]
+; VI-NEXT: v_lshrrev_b64 v[54:55], 24, v[17:18]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v6
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v22
+; VI-NEXT: v_lshrrev_b64 v[42:43], 24, v[1:2]
; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v57, 16, v8
-; VI-NEXT: v_lshrrev_b32_e32 v38, 16, v7
-; VI-NEXT: v_lshrrev_b32_e32 v63, 8, v7
-; VI-NEXT: v_lshrrev_b32_e32 v58, 24, v6
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v6
-; VI-NEXT: v_lshrrev_b32_e32 v48, 24, v4
-; VI-NEXT: v_lshrrev_b32_e32 v59, 16, v4
-; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v34, 24, v2
-; VI-NEXT: v_lshrrev_b32_e32 v61, 16, v2
-; VI-NEXT: v_lshrrev_b32_e32 v43, 16, v1
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:400 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v17
-; VI-NEXT: v_lshrrev_b32_e32 v55, 8, v17
-; VI-NEXT: v_mov_b32_e32 v42, v46
-; VI-NEXT: v_lshrrev_b32_e32 v44, 8, v8
-; VI-NEXT: v_lshrrev_b32_e32 v54, 8, v9
-; VI-NEXT: v_lshrrev_b32_e32 v40, 16, v9
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 8, v22
+; VI-NEXT: v_lshrrev_b32_e32 v48, 16, v21
+; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v47, 16, v15
+; VI-NEXT: v_lshrrev_b32_e32 v56, 8, v15
+; VI-NEXT: v_lshrrev_b32_e32 v52, 8, v14
+; VI-NEXT: v_lshrrev_b32_e32 v58, 16, v13
+; VI-NEXT: v_lshrrev_b32_e32 v59, 8, v13
+; VI-NEXT: v_lshrrev_b32_e32 v50, 8, v12
+; VI-NEXT: v_lshrrev_b32_e32 v35, 16, v11
+; VI-NEXT: v_lshrrev_b32_e32 v53, 8, v11
+; VI-NEXT: v_lshrrev_b32_e32 v61, 8, v10
+; VI-NEXT: v_lshrrev_b32_e32 v44, 16, v9
+; VI-NEXT: v_lshrrev_b32_e32 v38, 8, v9
+; VI-NEXT: v_lshrrev_b32_e32 v34, 8, v8
+; VI-NEXT: v_lshrrev_b32_e32 v39, 16, v7
+; VI-NEXT: v_lshrrev_b32_e32 v63, 8, v7
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v6
+; VI-NEXT: v_lshrrev_b32_e32 v49, 16, v3
+; VI-NEXT: v_lshrrev_b32_e32 v46, 8, v3
+; VI-NEXT: v_lshrrev_b32_e32 v57, 16, v1
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v45, 8, v21
+; VI-NEXT: v_lshrrev_b32_e32 v36, 24, v20
+; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v20
+; VI-NEXT: v_lshrrev_b32_e32 v51, 8, v20
+; VI-NEXT: v_lshrrev_b32_e32 v60, 16, v17
+; VI-NEXT: v_lshrrev_b32_e32 v62, 8, v17
+; VI-NEXT: v_mov_b32_e32 v40, v42
+; VI-NEXT: v_lshrrev_b32_e32 v43, 8, v4
+; VI-NEXT: v_mov_b32_e32 v42, v48
+; VI-NEXT: v_lshrrev_b32_e32 v55, 8, v5
+; VI-NEXT: v_lshrrev_b32_e32 v48, 16, v5
; VI-NEXT: .LBB90_2: ; %Flow
-; VI-NEXT: s_or_saveexec_b64 s[4:5], s[4:5]
-; VI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:404 ; 4-byte Folded Reload
-; VI-NEXT: s_xor_b64 exec, exec, s[4:5]
+; VI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]
; VI-NEXT: s_cbranch_execz .LBB90_4
; VI-NEXT: ; %bb.3: ; %cmp.true
; VI-NEXT: v_lshlrev_b32_e32 v33, 16, v18
@@ -154106,459 +154165,453 @@ define <128 x i8> @bitcast_v64bf16_to_v128i8(<64 x bfloat> %a, i32 %b) #0 {
; VI-NEXT: v_lshrrev_b32_e32 v15, 16, v15
; VI-NEXT: v_alignbit_b32 v15, v15, v33, 16
; VI-NEXT: v_lshrrev_b64 v[33:34], 24, v[15:16]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[33:34], 24, v[13:14]
; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[33:34], 24, v[13:14]
+; VI-NEXT: v_lshrrev_b64 v[33:34], 24, v[11:12]
; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[33:34], 24, v[11:12]
+; VI-NEXT: v_lshrrev_b64 v[33:34], 24, v[9:10]
+; VI-NEXT: v_lshrrev_b32_e32 v36, 24, v4
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v4
; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[33:34], 24, v[9:10]
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 24, v2
+; VI-NEXT: v_lshrrev_b64 v[33:34], 24, v[7:8]
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v2
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 8, v2
; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[33:34], 24, v[7:8]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 8, v1
; VI-NEXT: v_lshrrev_b64 v[33:34], 24, v[5:6]
-; VI-NEXT: v_lshrrev_b32_e32 v37, 8, v2
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 24, v32
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v32
-; VI-NEXT: v_lshrrev_b64 v[33:34], 24, v[3:4]
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 8, v32
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v31
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 8, v31
-; VI-NEXT: v_lshrrev_b64 v[33:34], 24, v[31:32]
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 24, v30
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v30
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 8, v30
-; VI-NEXT: v_lshrrev_b64 v[33:34], 24, v[29:30]
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v29
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 8, v29
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 24, v28
-; VI-NEXT: v_lshrrev_b64 v[33:34], 24, v[27:28]
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v28
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 8, v28
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v27
-; VI-NEXT: v_lshrrev_b64 v[33:34], 24, v[25:26]
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 8, v27
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 24, v26
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v26
-; VI-NEXT: v_lshrrev_b64 v[33:34], 24, v[23:24]
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 8, v26
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v25
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 8, v25
-; VI-NEXT: v_lshrrev_b64 v[33:34], 24, v[21:22]
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 24, v24
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v24
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 8, v24
-; VI-NEXT: v_lshrrev_b64 v[33:34], 24, v[19:20]
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v23
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 8, v23
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 24, v32
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v32
; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 24, v22
-; VI-NEXT: v_lshrrev_b64 v[33:34], 24, v[17:18]
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v22
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 8, v22
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v21
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 8, v32
+; VI-NEXT: v_lshrrev_b64 v[33:34], 24, v[1:2]
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v31
+; VI-NEXT: v_lshrrev_b64 v[34:35], 24, v[31:32]
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 8, v31
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 24, v30
+; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v30
+; VI-NEXT: v_lshrrev_b64 v[34:35], 24, v[29:30]
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 8, v30
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v29
+; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 8, v29
+; VI-NEXT: v_lshrrev_b64 v[34:35], 24, v[27:28]
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 24, v28
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v28
+; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 8, v28
+; VI-NEXT: v_lshrrev_b64 v[34:35], 24, v[25:26]
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v27
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 8, v27
+; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v40, v33
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v16
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 8, v21
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 24, v26
+; VI-NEXT: v_lshrrev_b64 v[34:35], 24, v[23:24]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v16
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 24, v20
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v26
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v16
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 8, v26
+; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v14
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v20
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v25
+; VI-NEXT: v_lshrrev_b64 v[34:35], 24, v[21:22]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v14
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 8, v20
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 8, v25
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v12
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v19
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 24, v24
+; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v12
-; VI-NEXT: v_lshrrev_b32_e32 v34, 8, v6
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:396 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 8, v19
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v24
+; VI-NEXT: v_lshrrev_b64 v[34:35], 24, v[19:20]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v10
-; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v34, 8, v5
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 24, v18
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 8, v24
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v10
-; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v34, 8, v4
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:388 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v18
-; VI-NEXT: v_lshrrev_b64 v[39:40], 24, v[1:2]
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v23
+; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v8
-; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:384 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v34, 8, v3
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:392 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 8, v18
-; VI-NEXT: v_lshrrev_b32_e32 v35, 8, v16
-; VI-NEXT: v_lshrrev_b32_e32 v62, 16, v15
-; VI-NEXT: v_lshrrev_b32_e32 v50, 8, v15
-; VI-NEXT: v_lshrrev_b32_e32 v47, 8, v14
-; VI-NEXT: v_lshrrev_b32_e32 v60, 16, v13
-; VI-NEXT: v_lshrrev_b32_e32 v51, 8, v13
-; VI-NEXT: v_lshrrev_b32_e32 v56, 8, v12
-; VI-NEXT: v_lshrrev_b32_e32 v49, 16, v11
-; VI-NEXT: v_lshrrev_b32_e32 v36, 8, v11
-; VI-NEXT: v_lshrrev_b32_e32 v52, 8, v10
-; VI-NEXT: v_lshrrev_b32_e32 v40, 16, v9
-; VI-NEXT: v_lshrrev_b32_e32 v54, 8, v9
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 8, v23
+; VI-NEXT: v_lshrrev_b32_e32 v54, 16, v19
+; VI-NEXT: v_lshrrev_b64 v[34:35], 24, v[17:18]
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v8
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 24, v22
+; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:388 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v54, 8, v19
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 24, v6
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v22
+; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v54, 24, v18
+; VI-NEXT: v_lshrrev_b64 v[41:42], 24, v[3:4]
+; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v57, 16, v8
-; VI-NEXT: v_lshrrev_b32_e32 v44, 8, v8
-; VI-NEXT: v_lshrrev_b32_e32 v38, 16, v7
-; VI-NEXT: v_lshrrev_b32_e32 v63, 8, v7
-; VI-NEXT: v_lshrrev_b32_e32 v58, 24, v6
; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v6
-; VI-NEXT: s_waitcnt vmcnt(14)
-; VI-NEXT: v_lshrrev_b32_e32 v41, 16, v5
-; VI-NEXT: v_lshrrev_b32_e32 v48, 24, v4
-; VI-NEXT: v_lshrrev_b32_e32 v59, 16, v4
-; VI-NEXT: v_lshrrev_b32_e32 v42, 16, v3
-; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v34, 24, v2
-; VI-NEXT: v_lshrrev_b32_e32 v61, 16, v2
-; VI-NEXT: v_lshrrev_b32_e32 v43, 16, v1
-; VI-NEXT: v_lshrrev_b32_e32 v45, 8, v1
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:400 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v17
-; VI-NEXT: v_lshrrev_b32_e32 v55, 8, v17
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v36, 8, v22
+; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v54, 16, v18
+; VI-NEXT: v_lshrrev_b32_e32 v47, 16, v15
+; VI-NEXT: v_lshrrev_b32_e32 v56, 8, v15
+; VI-NEXT: v_lshrrev_b32_e32 v52, 8, v14
+; VI-NEXT: v_lshrrev_b32_e32 v58, 16, v13
+; VI-NEXT: v_lshrrev_b32_e32 v59, 8, v13
+; VI-NEXT: v_lshrrev_b32_e32 v50, 8, v12
+; VI-NEXT: v_lshrrev_b32_e32 v35, 16, v11
+; VI-NEXT: v_lshrrev_b32_e32 v53, 8, v11
+; VI-NEXT: v_lshrrev_b32_e32 v61, 8, v10
+; VI-NEXT: v_lshrrev_b32_e32 v44, 16, v9
+; VI-NEXT: v_lshrrev_b32_e32 v38, 8, v9
+; VI-NEXT: v_lshrrev_b32_e32 v34, 8, v8
+; VI-NEXT: v_lshrrev_b32_e32 v39, 16, v7
+; VI-NEXT: v_lshrrev_b32_e32 v63, 8, v7
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v6
+; VI-NEXT: v_lshrrev_b32_e32 v48, 16, v5
+; VI-NEXT: v_lshrrev_b32_e32 v55, 8, v5
+; VI-NEXT: v_lshrrev_b32_e32 v43, 8, v4
+; VI-NEXT: v_lshrrev_b32_e32 v49, 16, v3
+; VI-NEXT: v_lshrrev_b32_e32 v46, 8, v3
+; VI-NEXT: v_lshrrev_b32_e32 v57, 16, v1
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v42, 16, v21
+; VI-NEXT: v_lshrrev_b32_e32 v45, 8, v21
+; VI-NEXT: v_lshrrev_b32_e32 v36, 24, v20
+; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v20
+; VI-NEXT: v_lshrrev_b32_e32 v51, 8, v20
+; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:384 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v54, 8, v18
+; VI-NEXT: v_lshrrev_b32_e32 v60, 16, v17
+; VI-NEXT: v_lshrrev_b32_e32 v62, 8, v17
+; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:392 ; 4-byte Folded Spill
; VI-NEXT: .LBB90_4: ; %end
; VI-NEXT: s_or_b64 exec, exec, s[4:5]
+; VI-NEXT: buffer_load_dword v54, off, s[0:3], s32 offset:376 ; 4-byte Folded Reload
; VI-NEXT: s_mov_b32 s4, 0xc0c0004
-; VI-NEXT: v_perm_b32 v1, v1, v45, s4
-; VI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:380 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:384 ; 4-byte Folded Reload
-; VI-NEXT: v_perm_b32 v10, v10, v52, s4
-; VI-NEXT: v_perm_b32 v13, v13, v51, s4
-; VI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
-; VI-NEXT: v_perm_b32 v16, v16, v35, s4
-; VI-NEXT: v_perm_b32 v8, v8, v44, s4
-; VI-NEXT: v_perm_b32 v43, v43, v39, s4
-; VI-NEXT: v_perm_b32 v15, v15, v50, s4
+; VI-NEXT: v_perm_b32 v40, v57, v40, s4
+; VI-NEXT: v_perm_b32 v6, v6, v33, s4
+; VI-NEXT: v_perm_b32 v8, v8, v34, s4
+; VI-NEXT: v_perm_b32 v9, v9, v38, s4
+; VI-NEXT: v_perm_b32 v12, v12, v50, s4
+; VI-NEXT: v_perm_b32 v14, v14, v52, s4
+; VI-NEXT: v_perm_b32 v49, v49, v41, s4
+; VI-NEXT: v_perm_b32 v3, v3, v46, s4
+; VI-NEXT: v_perm_b32 v4, v4, v43, s4
+; VI-NEXT: v_perm_b32 v5, v5, v55, s4
; VI-NEXT: v_perm_b32 v7, v7, v63, s4
-; VI-NEXT: v_perm_b32 v9, v9, v54, s4
-; VI-NEXT: v_perm_b32 v11, v11, v36, s4
-; VI-NEXT: v_perm_b32 v12, v12, v56, s4
-; VI-NEXT: v_perm_b32 v14, v14, v47, s4
-; VI-NEXT: v_perm_b32 v17, v17, v55, s4
-; VI-NEXT: s_waitcnt vmcnt(3)
-; VI-NEXT: v_perm_b32 v2, v2, v45, s4
-; VI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(3)
-; VI-NEXT: v_perm_b32 v51, v62, v51, s4
-; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_perm_b32 v42, v42, v45, s4
-; VI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:372 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v10, v10, v61, s4
+; VI-NEXT: v_perm_b32 v11, v11, v53, s4
+; VI-NEXT: v_perm_b32 v13, v13, v59, s4
+; VI-NEXT: v_perm_b32 v15, v15, v56, s4
+; VI-NEXT: v_perm_b32 v17, v17, v62, s4
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_perm_b32 v57, v1, v54, s4
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:372 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v3, v3, v45, s4
-; VI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v54, v2, v1, s4
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_perm_b32 v41, v41, v45, s4
-; VI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:348 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v5, v5, v45, s4
-; VI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:344 ; 4-byte Folded Reload
-; VI-NEXT: v_perm_b32 v4, v4, v53, s4
-; VI-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(2)
-; VI-NEXT: v_perm_b32 v6, v6, v45, s4
-; VI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(3)
-; VI-NEXT: v_perm_b32 v35, v37, v52, s4
-; VI-NEXT: buffer_load_dword v37, off, s[0:3], s32 offset:400 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(2)
-; VI-NEXT: v_perm_b32 v38, v38, v45, s4
-; VI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(2)
-; VI-NEXT: v_perm_b32 v18, v18, v37, s4
-; VI-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v37, off, s[0:3], s32 offset:396 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(4)
-; VI-NEXT: v_perm_b32 v39, v40, v44, s4
-; VI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(2)
-; VI-NEXT: v_perm_b32 v50, v37, v52, s4
-; VI-NEXT: v_lshlrev_b32_e32 v52, 16, v43
-; VI-NEXT: v_or_b32_e32 v1, v1, v52
+; VI-NEXT: v_perm_b32 v48, v48, v1, s4
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(1)
+; VI-NEXT: v_perm_b32 v33, v39, v1, s4
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(1)
+; VI-NEXT: v_perm_b32 v34, v44, v1, s4
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(1)
+; VI-NEXT: v_perm_b32 v35, v35, v1, s4
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(1)
+; VI-NEXT: v_perm_b32 v38, v58, v1, s4
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_perm_b32 v49, v49, v44, s4
-; VI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v39, v47, v1, s4
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:364 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_perm_b32 v16, v16, v1, s4
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(1)
+; VI-NEXT: v_perm_b32 v50, v60, v1, s4
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:392 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_perm_b32 v18, v18, v1, s4
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:388 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_perm_b32 v52, v2, v1, s4
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v40
+; VI-NEXT: v_or_b32_e32 v1, v57, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen
-; VI-NEXT: v_perm_b32 v1, v61, v34, s4
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:356 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:360 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
-; VI-NEXT: v_or_b32_e32 v1, v2, v1
+; VI-NEXT: v_or_b32_e32 v1, v54, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:4
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v42
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v49
; VI-NEXT: v_or_b32_e32 v1, v3, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:8
-; VI-NEXT: v_perm_b32 v1, v59, v48, s4
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:348 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:352 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v4, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:12
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v41
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v48
; VI-NEXT: v_or_b32_e32 v1, v5, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:16
-; VI-NEXT: v_perm_b32 v1, v33, v58, s4
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:340 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:344 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v6, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:20
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v38
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v33
; VI-NEXT: v_or_b32_e32 v1, v7, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:24
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:340 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(9)
-; VI-NEXT: v_perm_b32 v36, v60, v44, s4
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:332 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:336 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v57, v1, s4
+; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v8, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:28
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v39
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v34
; VI-NEXT: v_or_b32_e32 v1, v9, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:32
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:332 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:336 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:324 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:328 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v10, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:36
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v49
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v35
; VI-NEXT: v_or_b32_e32 v1, v11, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:40
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:324 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:328 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:316 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:320 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v12, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:44
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v36
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v38
; VI-NEXT: v_or_b32_e32 v1, v13, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:48
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:316 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:320 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:308 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:312 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v14, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:52
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v51
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v39
; VI-NEXT: v_or_b32_e32 v1, v15, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:56
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:308 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:312 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:300 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:304 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v16, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:60
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v35
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v50
; VI-NEXT: v_or_b32_e32 v1, v17, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:64
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:388 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:392 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:380 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:384 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v18, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:68
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:376 ; 4-byte Folded Reload
-; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v50
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:368 ; 4-byte Folded Reload
+; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v52
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v19, v1, s4
; VI-NEXT: v_or_b32_e32 v1, v1, v2
+; VI-NEXT: v_perm_b32 v2, v37, v36, s4
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:72
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:360 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:364 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:368 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_perm_b32 v2, v3, v2, s4
-; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v20, v1, s4
+; VI-NEXT: v_perm_b32 v1, v20, v51, s4
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
; VI-NEXT: v_or_b32_e32 v1, v1, v2
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:76
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:356 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:352 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v1, v21, v45, s4
; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_perm_b32 v1, v21, v1, s4
-; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v2, v3, v2, s4
+; VI-NEXT: v_perm_b32 v2, v42, v2, s4
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
; VI-NEXT: v_or_b32_e32 v1, v1, v2
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:80
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:304 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v3, v22, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:300 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v3, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:84
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v2, v23, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:280 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_perm_b32 v1, v1, v3, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v2, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:88
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:276 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v3, v24, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:276 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:280 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:268 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:272 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v3, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:92
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:272 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v2, v25, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:268 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_perm_b32 v1, v1, v3, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v2, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:96
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v3, v26, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v3, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:100
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v2, v27, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_perm_b32 v1, v1, v3, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v2, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:104
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v3, v28, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v3, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:108
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v2, v29, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_perm_b32 v1, v1, v3, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v2, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:112
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v3, v30, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v3, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:116
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v2, v31, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
@@ -154566,11 +154619,11 @@ define <128 x i8> @bitcast_v64bf16_to_v128i8(<64 x bfloat> %a, i32 %b) #0 {
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v2, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:120
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v3, v32, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
@@ -154614,12 +154667,10 @@ define <128 x i8> @bitcast_v64bf16_to_v128i8(<64 x bfloat> %a, i32 %b) #0 {
; GFX9-NEXT: buffer_store_dword v61, off, s[0:3], s32 offset:20 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:4
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_dword v59, off, s[0:3], s32 offset:4
; GFX9-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:8
-; GFX9-NEXT: buffer_load_dword v58, off, s[0:3], s32
+; GFX9-NEXT: buffer_load_dword v41, off, s[0:3], s32
; GFX9-NEXT: v_mov_b32_e32 v62, v0
; GFX9-NEXT: ; implicit-def: $vgpr0
; GFX9-NEXT: ; kill: killed $vgpr0
@@ -154656,33 +154707,34 @@ define <128 x i8> @bitcast_v64bf16_to_v128i8(<64 x bfloat> %a, i32 %b) #0 {
; GFX9-NEXT: ; implicit-def: $vgpr0
; GFX9-NEXT: ; kill: killed $vgpr0
; GFX9-NEXT: ; implicit-def: $vgpr0
+; GFX9-NEXT: ; kill: killed $vgpr0
+; GFX9-NEXT: ; implicit-def: $vgpr0
+; GFX9-NEXT: ; kill: killed $vgpr0
+; GFX9-NEXT: ; implicit-def: $vgpr0
+; GFX9-NEXT: ; kill: killed $vgpr0
+; GFX9-NEXT: ; implicit-def: $vgpr0
; GFX9-NEXT: ; implicit-def: $vgpr55
-; GFX9-NEXT: ; implicit-def: $vgpr56
-; GFX9-NEXT: ; implicit-def: $vgpr39
; GFX9-NEXT: ; implicit-def: $vgpr54
-; GFX9-NEXT: ; implicit-def: $vgpr57
-; GFX9-NEXT: ; implicit-def: $vgpr37
-; GFX9-NEXT: ; implicit-def: $vgpr36
-; GFX9-NEXT: ; implicit-def: $vgpr51
-; GFX9-NEXT: ; implicit-def: $vgpr52
-; GFX9-NEXT: ; implicit-def: $vgpr38
; GFX9-NEXT: ; implicit-def: $vgpr50
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr46
+; GFX9-NEXT: ; implicit-def: $vgpr36
+; GFX9-NEXT: ; implicit-def: $vgpr37
; GFX9-NEXT: ; kill: killed $vgpr0
+; GFX9-NEXT: ; implicit-def: $vgpr52
; GFX9-NEXT: ; implicit-def: $vgpr63
-; GFX9-NEXT: ; implicit-def: $vgpr49
-; GFX9-NEXT: ; implicit-def: $vgpr42
; GFX9-NEXT: ; implicit-def: $vgpr45
-; GFX9-NEXT: ; implicit-def: $vgpr60
-; GFX9-NEXT: ; implicit-def: $vgpr47
-; GFX9-NEXT: ; implicit-def: $vgpr41
-; GFX9-NEXT: ; implicit-def: $vgpr0
+; GFX9-NEXT: ; implicit-def: $vgpr58
+; GFX9-NEXT: ; implicit-def: $vgpr57
; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: ; implicit-def: $vgpr46
-; GFX9-NEXT: ; implicit-def: $vgpr44
-; GFX9-NEXT: ; implicit-def: $vgpr53
+; GFX9-NEXT: ; implicit-def: $vgpr0
+; GFX9-NEXT: ; implicit-def: $vgpr56
; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: ; implicit-def: $vgpr47
+; GFX9-NEXT: ; implicit-def: $vgpr49
+; GFX9-NEXT: ; implicit-def: $vgpr48
+; GFX9-NEXT: ; implicit-def: $vgpr53
+; GFX9-NEXT: ; implicit-def: $vgpr35
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v31
; GFX9-NEXT: ; implicit-def: $vgpr31
@@ -154762,21 +154814,27 @@ define <128 x i8> @bitcast_v64bf16_to_v128i8(<64 x bfloat> %a, i32 %b) #0 {
; GFX9-NEXT: ; implicit-def: $vgpr31
; GFX9-NEXT: ; kill: killed $vgpr31
; GFX9-NEXT: ; implicit-def: $vgpr31
-; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
+; GFX9-NEXT: ; kill: killed $vgpr31
+; GFX9-NEXT: ; implicit-def: $vgpr31
+; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
; GFX9-NEXT: ; implicit-def: $vgpr31
; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
; GFX9-NEXT: ; implicit-def: $vgpr31
+; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr31
; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
; GFX9-NEXT: ; implicit-def: $vgpr31
-; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
; GFX9-NEXT: ; implicit-def: $vgpr31
; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
@@ -154785,14 +154843,11 @@ define <128 x i8> @bitcast_v64bf16_to_v128i8(<64 x bfloat> %a, i32 %b) #0 {
; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr33
; GFX9-NEXT: ; implicit-def: $vgpr31
-; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr31
-; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
; GFX9-NEXT: ; implicit-def: $vgpr31
; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
@@ -154821,203 +154876,206 @@ define <128 x i8> @bitcast_v64bf16_to_v128i8(<64 x bfloat> %a, i32 %b) #0 {
; GFX9-NEXT: s_xor_b64 s[4:5], exec, s[4:5]
; GFX9-NEXT: s_cbranch_execz .LBB90_2
; GFX9-NEXT: ; %bb.1: ; %cmp.false
-; GFX9-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
; GFX9-NEXT: v_lshrrev_b32_e32 v31, 16, v16
-; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v31, 16, v15
-; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v0, 24, v16
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:444 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v16
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v15
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[3:4]
-; GFX9-NEXT: v_lshrrev_b32_e32 v50, 16, v9
-; GFX9-NEXT: v_lshrrev_b32_e32 v38, 16, v7
-; GFX9-NEXT: v_lshrrev_b32_e32 v52, 8, v6
-; GFX9-NEXT: v_lshrrev_b32_e32 v51, 16, v5
-; GFX9-NEXT: v_lshrrev_b32_e32 v36, 8, v5
-; GFX9-NEXT: v_lshrrev_b32_e32 v37, 8, v4
-; GFX9-NEXT: v_lshrrev_b32_e32 v57, 16, v3
-; GFX9-NEXT: v_lshrrev_b32_e32 v54, 8, v3
-; GFX9-NEXT: v_lshrrev_b32_e32 v39, 8, v2
-; GFX9-NEXT: v_lshrrev_b32_e32 v56, 16, v1
-; GFX9-NEXT: v_lshrrev_b32_e32 v55, 8, v1
-; GFX9-NEXT: v_lshrrev_b32_e32 v61, 8, v28
-; GFX9-NEXT: v_lshrrev_b32_e32 v53, 8, v22
-; GFX9-NEXT: v_lshrrev_b32_e32 v44, 8, v21
-; GFX9-NEXT: v_lshrrev_b32_e32 v46, 24, v20
-; GFX9-NEXT: v_lshrrev_b32_e32 v40, 16, v20
-; GFX9-NEXT: v_lshrrev_b32_e32 v41, 16, v19
-; GFX9-NEXT: v_lshrrev_b32_e32 v47, 8, v19
-; GFX9-NEXT: v_lshrrev_b32_e32 v60, 24, v18
-; GFX9-NEXT: v_lshrrev_b32_e32 v45, 16, v18
-; GFX9-NEXT: v_lshrrev_b32_e32 v42, 8, v18
-; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v17
-; GFX9-NEXT: v_lshrrev_b32_e32 v63, 8, v17
-; GFX9-NEXT: v_lshrrev_b64 v[34:35], 24, v[1:2]
-; GFX9-NEXT: s_waitcnt vmcnt(5)
+; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v31, 16, v14
-; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v31, 16, v13
-; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v31, 24, v12
-; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v31, 16, v12
-; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v31, 16, v10
-; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v31, 16, v8
-; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v31, 16, v6
-; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v31, 16, v4
-; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v31, 16, v2
-; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v31, 16, v59
-; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v31, 16, v58
-; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v31, 16, v42
+; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
+; GFX9-NEXT: s_waitcnt vmcnt(40)
+; GFX9-NEXT: v_lshrrev_b32_e32 v31, 16, v41
+; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v31, 16, v30
-; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v31, 16, v29
-; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v31, 16, v28
-; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v31, 16, v27
-; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v31, 16, v26
-; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v31, 16, v25
-; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v31, 16, v24
-; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v31, 16, v23
-; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v31, 16, v22
-; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b64 v[31:32], 24, v[15:16]
; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v16
; GFX9-NEXT: v_lshrrev_b64 v[31:32], 24, v[13:14]
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v15
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 24, v14
; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v14
; GFX9-NEXT: v_lshrrev_b64 v[31:32], 24, v[11:12]
-; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v13
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v12
+; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v11
; GFX9-NEXT: v_lshrrev_b64 v[31:32], 24, v[9:10]
-; GFX9-NEXT: v_lshrrev_b32_e32 v0, 24, v14
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v14
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:432 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v11
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 24, v10
; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v13
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v10
; GFX9-NEXT: v_lshrrev_b64 v[31:32], 24, v[7:8]
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v12
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v11
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v9
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:436 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v9
+; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:384 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 24, v8
+; GFX9-NEXT: v_lshrrev_b64 v[31:32], 24, v[5:6]
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v8
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:404 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v7
; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:448 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v11
-; GFX9-NEXT: v_lshrrev_b64 v[31:32], 24, v[5:6]
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v0, 24, v10
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v10
-; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:444 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v7
+; GFX9-NEXT: v_lshrrev_b64 v[31:32], 24, v[3:4]
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:408 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 24, v6
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v5
+; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:392 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v9
-; GFX9-NEXT: v_lshrrev_b64 v[31:32], 24, v[58:59]
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:400 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v0, 24, v8
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v8
+; GFX9-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:448 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v5
+; GFX9-NEXT: v_lshrrev_b64 v[31:32], 24, v[41:42]
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:428 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 24, v4
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 24, v2
; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:420 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v7
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 24, v42
; GFX9-NEXT: v_lshrrev_b64 v[31:32], 24, v[29:30]
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:424 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v0, 24, v6
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v0, 24, v4
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v42
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v41
; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v0, 24, v2
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 24, v30
; GFX9-NEXT: v_lshrrev_b64 v[31:32], 24, v[27:28]
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:384 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v0, 24, v59
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v59
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v30
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v29
; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v58
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 24, v28
; GFX9-NEXT: v_lshrrev_b64 v[31:32], 24, v[25:26]
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v0, 24, v30
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v30
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v28
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 24, v26
; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v29
-; GFX9-NEXT: v_lshrrev_b64 v[31:32], 24, v[23:24]
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v0, 24, v28
; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v27
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v26
+; GFX9-NEXT: v_lshrrev_b64 v[31:32], 24, v[23:24]
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v25
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:388 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 24, v24
; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v0, 24, v26
-; GFX9-NEXT: v_lshrrev_b64 v[31:32], 24, v[21:22]
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:388 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v26
; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:396 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v25
-; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:404 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v0, 24, v24
-; GFX9-NEXT: v_lshrrev_b64 v[31:32], 24, v[19:20]
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:412 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v24
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:416 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[31:32], 24, v[21:22]
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:400 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v23
-; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:428 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:412 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v0, 24, v22
-; GFX9-NEXT: v_lshrrev_b64 v[31:32], 24, v[17:18]
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:436 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:420 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v21
+; GFX9-NEXT: v_lshrrev_b64 v[31:32], 24, v[19:20]
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v4
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:424 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v20
+; GFX9-NEXT: v_lshrrev_b64 v[35:36], 24, v[1:2]
+; GFX9-NEXT: v_lshrrev_b32_e32 v52, 24, v16
+; GFX9-NEXT: v_lshrrev_b32_e32 v37, 8, v6
+; GFX9-NEXT: v_lshrrev_b32_e32 v46, 16, v3
+; GFX9-NEXT: v_lshrrev_b32_e32 v39, 8, v3
+; GFX9-NEXT: v_lshrrev_b32_e32 v50, 8, v2
+; GFX9-NEXT: v_lshrrev_b32_e32 v54, 16, v1
+; GFX9-NEXT: v_lshrrev_b32_e32 v55, 8, v1
+; GFX9-NEXT: v_lshrrev_b32_e32 v53, 8, v27
+; GFX9-NEXT: v_lshrrev_b32_e32 v48, 8, v22
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 8, v21
+; GFX9-NEXT: v_lshrrev_b32_e32 v47, 24, v20
; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:440 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v20
-; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v61, 8, v20
+; GFX9-NEXT: v_lshrrev_b32_e32 v56, 16, v19
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v19
+; GFX9-NEXT: v_lshrrev_b32_e32 v40, 24, v18
+; GFX9-NEXT: v_lshrrev_b32_e32 v57, 16, v18
+; GFX9-NEXT: v_lshrrev_b32_e32 v58, 8, v18
+; GFX9-NEXT: v_lshrrev_b32_e32 v45, 16, v17
+; GFX9-NEXT: v_lshrrev_b32_e32 v63, 8, v17
+; GFX9-NEXT: v_mov_b32_e32 v36, v33
+; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[17:18]
; GFX9-NEXT: .LBB90_2: ; %Flow
; GFX9-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]
; GFX9-NEXT: s_cbranch_execz .LBB90_4
@@ -155032,47 +155090,47 @@ define <128 x i8> @bitcast_v64bf16_to_v128i8(<64 x bfloat> %a, i32 %b) #0 {
; GFX9-NEXT: v_or_b32_e32 v33, 0x400000, v31
; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v31, v31
; GFX9-NEXT: v_bfe_u32 v31, v18, 16, 1
-; GFX9-NEXT: v_cndmask_b32_e32 v0, v32, v33, vcc
+; GFX9-NEXT: v_cndmask_b32_e32 v33, v32, v33, vcc
; GFX9-NEXT: v_add3_u32 v31, v31, v18, s6
; GFX9-NEXT: v_or_b32_e32 v32, 0x400000, v18
; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v18, v18
-; GFX9-NEXT: v_cndmask_b32_e32 v18, v31, v32, vcc
-; GFX9-NEXT: s_mov_b32 s7, 0x7060302
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; GFX9-NEXT: v_perm_b32 v33, v18, v0, s7
; GFX9-NEXT: v_lshlrev_b32_e32 v18, 16, v17
; GFX9-NEXT: v_add_f32_e32 v18, 0x40c00000, v18
; GFX9-NEXT: v_and_b32_e32 v17, 0xffff0000, v17
+; GFX9-NEXT: v_cndmask_b32_e32 v0, v31, v32, vcc
; GFX9-NEXT: v_bfe_u32 v31, v18, 16, 1
; GFX9-NEXT: v_add_f32_e32 v17, 0x40c00000, v17
; GFX9-NEXT: v_add3_u32 v31, v31, v18, s6
; GFX9-NEXT: v_or_b32_e32 v32, 0x400000, v18
; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v18, v18
; GFX9-NEXT: v_bfe_u32 v18, v17, 16, 1
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; GFX9-NEXT: v_cndmask_b32_e32 v0, v31, v32, vcc
+; GFX9-NEXT: v_cndmask_b32_e32 v32, v31, v32, vcc
; GFX9-NEXT: v_add3_u32 v18, v18, v17, s6
; GFX9-NEXT: v_or_b32_e32 v31, 0x400000, v17
; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v17, v17
-; GFX9-NEXT: v_cndmask_b32_e32 v17, v18, v31, vcc
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
-; GFX9-NEXT: v_perm_b32 v32, v17, v0, s7
; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v20
+; GFX9-NEXT: s_mov_b32 s7, 0x7060302
; GFX9-NEXT: v_add_f32_e32 v17, 0x40c00000, v17
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; GFX9-NEXT: v_perm_b32 v33, v0, v33, s7
+; GFX9-NEXT: v_cndmask_b32_e32 v0, v18, v31, vcc
; GFX9-NEXT: v_bfe_u32 v18, v17, 16, 1
; GFX9-NEXT: v_add3_u32 v18, v18, v17, s6
; GFX9-NEXT: v_or_b32_e32 v31, 0x400000, v17
; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v17, v17
; GFX9-NEXT: v_and_b32_e32 v17, 0xffff0000, v20
; GFX9-NEXT: v_add_f32_e32 v17, 0x40c00000, v17
-; GFX9-NEXT: v_cndmask_b32_e32 v37, v18, v31, vcc
+; GFX9-NEXT: v_cndmask_b32_e32 v31, v18, v31, vcc
; GFX9-NEXT: v_bfe_u32 v18, v17, 16, 1
; GFX9-NEXT: v_add3_u32 v18, v18, v17, s6
; GFX9-NEXT: v_or_b32_e32 v20, 0x400000, v17
; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v17, v17
; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v19
; GFX9-NEXT: v_add_f32_e32 v17, 0x40c00000, v17
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; GFX9-NEXT: v_perm_b32 v32, v0, v32, s7
; GFX9-NEXT: v_cndmask_b32_e32 v0, v18, v20, vcc
; GFX9-NEXT: v_bfe_u32 v18, v17, 16, 1
; GFX9-NEXT: v_add3_u32 v18, v18, v17, s6
@@ -155080,7 +155138,7 @@ define <128 x i8> @bitcast_v64bf16_to_v128i8(<64 x bfloat> %a, i32 %b) #0 {
; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v17, v17
; GFX9-NEXT: v_and_b32_e32 v17, 0xffff0000, v19
; GFX9-NEXT: v_add_f32_e32 v17, 0x40c00000, v17
-; GFX9-NEXT: v_cndmask_b32_e32 v40, v18, v20, vcc
+; GFX9-NEXT: v_cndmask_b32_e32 v20, v18, v20, vcc
; GFX9-NEXT: v_bfe_u32 v18, v17, 16, 1
; GFX9-NEXT: v_add3_u32 v18, v18, v17, s6
; GFX9-NEXT: v_or_b32_e32 v19, 0x400000, v17
@@ -155090,8 +155148,8 @@ define <128 x i8> @bitcast_v64bf16_to_v128i8(<64 x bfloat> %a, i32 %b) #0 {
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:464 ; 4-byte Folded Spill
; GFX9-NEXT: v_add_f32_e32 v17, 0x40c00000, v17
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
-; GFX9-NEXT: v_perm_b32 v32, v0, v37, s7
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; GFX9-NEXT: v_perm_b32 v32, v0, v31, s7
; GFX9-NEXT: v_cndmask_b32_e32 v0, v18, v19, vcc
; GFX9-NEXT: v_bfe_u32 v18, v17, 16, 1
; GFX9-NEXT: v_add3_u32 v18, v18, v17, s6
@@ -155099,115 +155157,116 @@ define <128 x i8> @bitcast_v64bf16_to_v128i8(<64 x bfloat> %a, i32 %b) #0 {
; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v17, v17
; GFX9-NEXT: v_and_b32_e32 v17, 0xffff0000, v22
; GFX9-NEXT: v_add_f32_e32 v17, 0x40c00000, v17
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
-; GFX9-NEXT: v_perm_b32 v31, v0, v40, s7
-; GFX9-NEXT: v_cndmask_b32_e32 v0, v18, v19, vcc
+; GFX9-NEXT: v_cndmask_b32_e32 v45, v18, v19, vcc
; GFX9-NEXT: v_bfe_u32 v18, v17, 16, 1
; GFX9-NEXT: v_add3_u32 v18, v18, v17, s6
; GFX9-NEXT: v_or_b32_e32 v19, 0x400000, v17
; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v17, v17
-; GFX9-NEXT: v_cndmask_b32_e32 v17, v18, v19, vcc
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
-; GFX9-NEXT: v_perm_b32 v20, v17, v0, s7
; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v21
; GFX9-NEXT: v_add_f32_e32 v17, 0x40c00000, v17
+; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
+; GFX9-NEXT: v_perm_b32 v31, v0, v20, s7
+; GFX9-NEXT: v_cndmask_b32_e32 v0, v18, v19, vcc
; GFX9-NEXT: v_bfe_u32 v18, v17, 16, 1
; GFX9-NEXT: v_add3_u32 v18, v18, v17, s6
; GFX9-NEXT: v_or_b32_e32 v19, 0x400000, v17
; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v17, v17
; GFX9-NEXT: v_and_b32_e32 v17, 0xffff0000, v21
; GFX9-NEXT: v_add_f32_e32 v17, 0x40c00000, v17
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
-; GFX9-NEXT: v_cndmask_b32_e32 v0, v18, v19, vcc
+; GFX9-NEXT: v_cndmask_b32_e32 v46, v18, v19, vcc
; GFX9-NEXT: v_bfe_u32 v18, v17, 16, 1
; GFX9-NEXT: v_add3_u32 v18, v18, v17, s6
; GFX9-NEXT: v_or_b32_e32 v19, 0x400000, v17
; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v17, v17
-; GFX9-NEXT: v_cndmask_b32_e32 v41, v18, v19, vcc
+; GFX9-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
+; GFX9-NEXT: v_perm_b32 v20, v0, v45, s7
+; GFX9-NEXT: v_cndmask_b32_e32 v0, v18, v19, vcc
; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v24
-; GFX9-NEXT: v_perm_b32 v19, v41, v0, s7
+; GFX9-NEXT: v_perm_b32 v19, v0, v46, s7
; GFX9-NEXT: v_add_f32_e32 v17, 0x40c00000, v17
-; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:452 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:468 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:456 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:472 ; 4-byte Folded Spill
; GFX9-NEXT: v_bfe_u32 v18, v17, 16, 1
; GFX9-NEXT: v_add3_u32 v18, v18, v17, s6
; GFX9-NEXT: v_or_b32_e32 v19, 0x400000, v17
; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v17, v17
; GFX9-NEXT: v_and_b32_e32 v17, 0xffff0000, v24
; GFX9-NEXT: v_add_f32_e32 v17, 0x40c00000, v17
-; GFX9-NEXT: v_cndmask_b32_e32 v44, v18, v19, vcc
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; GFX9-NEXT: v_cndmask_b32_e32 v0, v18, v19, vcc
; GFX9-NEXT: v_bfe_u32 v18, v17, 16, 1
; GFX9-NEXT: v_add3_u32 v18, v18, v17, s6
; GFX9-NEXT: v_or_b32_e32 v19, 0x400000, v17
; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v17, v17
; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v23
; GFX9-NEXT: v_add_f32_e32 v17, 0x40c00000, v17
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
-; GFX9-NEXT: v_cndmask_b32_e32 v0, v18, v19, vcc
+; GFX9-NEXT: v_cndmask_b32_e32 v50, v18, v19, vcc
; GFX9-NEXT: v_bfe_u32 v18, v17, 16, 1
; GFX9-NEXT: v_add3_u32 v18, v18, v17, s6
; GFX9-NEXT: v_or_b32_e32 v19, 0x400000, v17
; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v17, v17
; GFX9-NEXT: v_and_b32_e32 v17, 0xffff0000, v23
; GFX9-NEXT: v_add_f32_e32 v17, 0x40c00000, v17
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
-; GFX9-NEXT: v_perm_b32 v20, v0, v44, s7
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
+; GFX9-NEXT: v_perm_b32 v20, v50, v0, s7
; GFX9-NEXT: v_cndmask_b32_e32 v0, v18, v19, vcc
; GFX9-NEXT: v_bfe_u32 v18, v17, 16, 1
; GFX9-NEXT: v_add3_u32 v18, v18, v17, s6
; GFX9-NEXT: v_or_b32_e32 v19, 0x400000, v17
; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v17, v17
-; GFX9-NEXT: v_cndmask_b32_e32 v43, v18, v19, vcc
+; GFX9-NEXT: v_cndmask_b32_e32 v51, v18, v19, vcc
; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v26
-; GFX9-NEXT: v_perm_b32 v19, v43, v0, s7
+; GFX9-NEXT: v_perm_b32 v19, v51, v0, s7
; GFX9-NEXT: v_add_f32_e32 v17, 0x40c00000, v17
-; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:428 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:412 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:432 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:416 ; 4-byte Folded Spill
; GFX9-NEXT: v_bfe_u32 v18, v17, 16, 1
; GFX9-NEXT: v_add3_u32 v18, v18, v17, s6
; GFX9-NEXT: v_or_b32_e32 v19, 0x400000, v17
; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v17, v17
; GFX9-NEXT: v_and_b32_e32 v17, 0xffff0000, v26
; GFX9-NEXT: v_add_f32_e32 v17, 0x40c00000, v17
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
; GFX9-NEXT: v_cndmask_b32_e32 v0, v18, v19, vcc
; GFX9-NEXT: v_bfe_u32 v18, v17, 16, 1
; GFX9-NEXT: v_add3_u32 v18, v18, v17, s6
; GFX9-NEXT: v_or_b32_e32 v19, 0x400000, v17
; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v17, v17
+; GFX9-NEXT: v_cndmask_b32_e32 v17, v18, v19, vcc
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; GFX9-NEXT: v_perm_b32 v20, v17, v0, s7
; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v25
; GFX9-NEXT: v_add_f32_e32 v17, 0x40c00000, v17
-; GFX9-NEXT: v_cndmask_b32_e32 v13, v18, v19, vcc
; GFX9-NEXT: v_bfe_u32 v18, v17, 16, 1
; GFX9-NEXT: v_add3_u32 v18, v18, v17, s6
; GFX9-NEXT: v_or_b32_e32 v19, 0x400000, v17
; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v17, v17
; GFX9-NEXT: v_and_b32_e32 v17, 0xffff0000, v25
; GFX9-NEXT: v_add_f32_e32 v17, 0x40c00000, v17
-; GFX9-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
-; GFX9-NEXT: v_perm_b32 v20, v13, v0, s7
-; GFX9-NEXT: v_cndmask_b32_e32 v13, v18, v19, vcc
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
+; GFX9-NEXT: v_cndmask_b32_e32 v0, v18, v19, vcc
; GFX9-NEXT: v_bfe_u32 v18, v17, 16, 1
; GFX9-NEXT: v_add3_u32 v18, v18, v17, s6
; GFX9-NEXT: v_or_b32_e32 v19, 0x400000, v17
; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v17, v17
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
-; GFX9-NEXT: v_cndmask_b32_e32 v0, v18, v19, vcc
+; GFX9-NEXT: v_cndmask_b32_e32 v17, v18, v19, vcc
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
+; GFX9-NEXT: v_perm_b32 v19, v17, v0, s7
; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v28
-; GFX9-NEXT: v_perm_b32 v19, v0, v13, s7
; GFX9-NEXT: v_add_f32_e32 v17, 0x40c00000, v17
-; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:404 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:408 ; 4-byte Folded Spill
; GFX9-NEXT: v_bfe_u32 v18, v17, 16, 1
+; GFX9-NEXT: v_mov_b32_e32 v44, v20
+; GFX9-NEXT: v_mov_b32_e32 v43, v19
; GFX9-NEXT: v_add3_u32 v18, v18, v17, s6
; GFX9-NEXT: v_or_b32_e32 v19, 0x400000, v17
; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v17, v17
; GFX9-NEXT: v_and_b32_e32 v17, 0xffff0000, v28
; GFX9-NEXT: v_add_f32_e32 v17, 0x40c00000, v17
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
; GFX9-NEXT: v_cndmask_b32_e32 v0, v18, v19, vcc
; GFX9-NEXT: v_bfe_u32 v18, v17, 16, 1
; GFX9-NEXT: v_add3_u32 v18, v18, v17, s6
@@ -155222,14 +155281,20 @@ define <128 x i8> @bitcast_v64bf16_to_v128i8(<64 x bfloat> %a, i32 %b) #0 {
; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v17, v17
; GFX9-NEXT: v_and_b32_e32 v17, 0xffff0000, v27
; GFX9-NEXT: v_add_f32_e32 v17, 0x40c00000, v17
-; GFX9-NEXT: v_cndmask_b32_e32 v42, v18, v19, vcc
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
+; GFX9-NEXT: v_perm_b32 v20, v53, v0, s7
+; GFX9-NEXT: v_cndmask_b32_e32 v0, v18, v19, vcc
; GFX9-NEXT: v_bfe_u32 v18, v17, 16, 1
; GFX9-NEXT: v_add3_u32 v18, v18, v17, s6
; GFX9-NEXT: v_or_b32_e32 v19, 0x400000, v17
; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v17, v17
+; GFX9-NEXT: v_cndmask_b32_e32 v52, v18, v19, vcc
; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v30
+; GFX9-NEXT: v_perm_b32 v19, v52, v0, s7
; GFX9-NEXT: v_add_f32_e32 v17, 0x40c00000, v17
-; GFX9-NEXT: v_cndmask_b32_e32 v52, v18, v19, vcc
+; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
; GFX9-NEXT: v_bfe_u32 v18, v17, 16, 1
; GFX9-NEXT: v_add3_u32 v18, v18, v17, s6
; GFX9-NEXT: v_or_b32_e32 v19, 0x400000, v17
@@ -155255,39 +155320,49 @@ define <128 x i8> @bitcast_v64bf16_to_v128i8(<64 x bfloat> %a, i32 %b) #0 {
; GFX9-NEXT: v_add3_u32 v18, v18, v17, s6
; GFX9-NEXT: v_or_b32_e32 v19, 0x400000, v17
; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v17, v17
-; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v59
-; GFX9-NEXT: v_add_f32_e32 v17, 0x40c00000, v17
; GFX9-NEXT: v_cndmask_b32_e32 v29, v18, v19, vcc
+; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v42
+; GFX9-NEXT: v_perm_b32 v20, v30, v28, s7
+; GFX9-NEXT: v_perm_b32 v19, v29, v27, s7
+; GFX9-NEXT: v_add_f32_e32 v17, 0x40c00000, v17
+; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
; GFX9-NEXT: v_bfe_u32 v18, v17, 16, 1
; GFX9-NEXT: v_add3_u32 v18, v18, v17, s6
; GFX9-NEXT: v_or_b32_e32 v19, 0x400000, v17
; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v17, v17
-; GFX9-NEXT: v_and_b32_e32 v17, 0xffff0000, v59
+; GFX9-NEXT: v_and_b32_e32 v17, 0xffff0000, v42
; GFX9-NEXT: v_add_f32_e32 v17, 0x40c00000, v17
; GFX9-NEXT: v_cndmask_b32_e32 v26, v18, v19, vcc
; GFX9-NEXT: v_bfe_u32 v18, v17, 16, 1
; GFX9-NEXT: v_add3_u32 v18, v18, v17, s6
; GFX9-NEXT: v_or_b32_e32 v19, 0x400000, v17
; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v17, v17
-; GFX9-NEXT: s_waitcnt vmcnt(50)
-; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v58
+; GFX9-NEXT: s_waitcnt vmcnt(55)
+; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v41
; GFX9-NEXT: v_add_f32_e32 v17, 0x40c00000, v17
; GFX9-NEXT: v_cndmask_b32_e32 v49, v18, v19, vcc
; GFX9-NEXT: v_bfe_u32 v18, v17, 16, 1
; GFX9-NEXT: v_add3_u32 v18, v18, v17, s6
; GFX9-NEXT: v_or_b32_e32 v19, 0x400000, v17
; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v17, v17
-; GFX9-NEXT: v_and_b32_e32 v17, 0xffff0000, v58
+; GFX9-NEXT: v_and_b32_e32 v17, 0xffff0000, v41
; GFX9-NEXT: v_add_f32_e32 v17, 0x40c00000, v17
; GFX9-NEXT: v_cndmask_b32_e32 v25, v18, v19, vcc
; GFX9-NEXT: v_bfe_u32 v18, v17, 16, 1
; GFX9-NEXT: v_add3_u32 v18, v18, v17, s6
; GFX9-NEXT: v_or_b32_e32 v19, 0x400000, v17
; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v17, v17
+; GFX9-NEXT: v_cndmask_b32_e32 v48, v18, v19, vcc
; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v2
+; GFX9-NEXT: v_perm_b32 v20, v49, v26, s7
+; GFX9-NEXT: v_perm_b32 v19, v48, v25, s7
; GFX9-NEXT: v_add_f32_e32 v17, 0x40c00000, v17
; GFX9-NEXT: v_and_b32_e32 v2, 0xffff0000, v2
-; GFX9-NEXT: v_cndmask_b32_e32 v48, v18, v19, vcc
+; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
; GFX9-NEXT: v_bfe_u32 v18, v17, 16, 1
; GFX9-NEXT: v_add_f32_e32 v2, 0x40c00000, v2
; GFX9-NEXT: v_add3_u32 v18, v18, v17, s6
@@ -155321,83 +155396,64 @@ define <128 x i8> @bitcast_v64bf16_to_v128i8(<64 x bfloat> %a, i32 %b) #0 {
; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v1, v1
; GFX9-NEXT: v_and_b32_e32 v1, 0xffff0000, v4
; GFX9-NEXT: v_add_f32_e32 v1, 0x40c00000, v1
-; GFX9-NEXT: v_cndmask_b32_e32 v33, v2, v17, vcc
+; GFX9-NEXT: v_cndmask_b32_e32 v20, v2, v17, vcc
; GFX9-NEXT: v_bfe_u32 v2, v1, 16, 1
+; GFX9-NEXT: v_perm_b32 v19, v22, v24, s7
+; GFX9-NEXT: v_perm_b32 v18, v21, v23, s7
; GFX9-NEXT: v_add3_u32 v2, v2, v1, s6
; GFX9-NEXT: v_or_b32_e32 v4, 0x400000, v1
; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v1, v1
; GFX9-NEXT: v_lshlrev_b32_e32 v1, 16, v3
+; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
; GFX9-NEXT: v_add_f32_e32 v1, 0x40c00000, v1
-; GFX9-NEXT: v_cndmask_b32_e32 v19, v2, v4, vcc
+; GFX9-NEXT: v_cndmask_b32_e32 v18, v2, v4, vcc
; GFX9-NEXT: v_bfe_u32 v2, v1, 16, 1
; GFX9-NEXT: v_add3_u32 v2, v2, v1, s6
-; GFX9-NEXT: v_or_b32_e32 v4, 0x400000, v1
+; GFX9-NEXT: v_or_b32_e32 v17, 0x400000, v1
; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v1, v1
; GFX9-NEXT: v_and_b32_e32 v1, 0xffff0000, v3
; GFX9-NEXT: v_add_f32_e32 v1, 0x40c00000, v1
-; GFX9-NEXT: v_cndmask_b32_e32 v20, v2, v4, vcc
+; GFX9-NEXT: v_cndmask_b32_e32 v19, v2, v17, vcc
; GFX9-NEXT: v_bfe_u32 v2, v1, 16, 1
; GFX9-NEXT: v_add3_u32 v2, v2, v1, s6
; GFX9-NEXT: v_or_b32_e32 v3, 0x400000, v1
; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v1, v1
; GFX9-NEXT: v_lshlrev_b32_e32 v1, 16, v6
; GFX9-NEXT: v_add_f32_e32 v1, 0x40c00000, v1
-; GFX9-NEXT: v_cndmask_b32_e32 v18, v2, v3, vcc
+; GFX9-NEXT: v_cndmask_b32_e32 v17, v2, v3, vcc
; GFX9-NEXT: v_bfe_u32 v2, v1, 16, 1
; GFX9-NEXT: v_add3_u32 v2, v2, v1, s6
; GFX9-NEXT: v_or_b32_e32 v3, 0x400000, v1
; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v1, v1
; GFX9-NEXT: v_and_b32_e32 v1, 0xffff0000, v6
; GFX9-NEXT: v_add_f32_e32 v1, 0x40c00000, v1
-; GFX9-NEXT: v_cndmask_b32_e32 v17, v2, v3, vcc
+; GFX9-NEXT: v_cndmask_b32_e32 v47, v2, v3, vcc
; GFX9-NEXT: v_bfe_u32 v2, v1, 16, 1
; GFX9-NEXT: v_add3_u32 v2, v2, v1, s6
; GFX9-NEXT: v_or_b32_e32 v3, 0x400000, v1
; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v1, v1
; GFX9-NEXT: v_lshlrev_b32_e32 v1, 16, v5
; GFX9-NEXT: v_add_f32_e32 v1, 0x40c00000, v1
-; GFX9-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
-; GFX9-NEXT: v_perm_b32 v14, v49, v26, s7
-; GFX9-NEXT: v_perm_b32 v13, v48, v25, s7
; GFX9-NEXT: v_cndmask_b32_e32 v6, v2, v3, vcc
; GFX9-NEXT: v_bfe_u32 v2, v1, 16, 1
-; GFX9-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
; GFX9-NEXT: v_add3_u32 v2, v2, v1, s6
; GFX9-NEXT: v_or_b32_e32 v3, 0x400000, v1
; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v1, v1
; GFX9-NEXT: v_and_b32_e32 v1, 0xffff0000, v5
-; GFX9-NEXT: v_perm_b32 v14, v22, v24, s7
-; GFX9-NEXT: v_perm_b32 v13, v21, v23, s7
; GFX9-NEXT: v_add_f32_e32 v1, 0x40c00000, v1
-; GFX9-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
; GFX9-NEXT: v_cndmask_b32_e32 v4, v2, v3, vcc
; GFX9-NEXT: v_bfe_u32 v2, v1, 16, 1
-; GFX9-NEXT: v_perm_b32 v14, v19, v33, s7
-; GFX9-NEXT: v_perm_b32 v13, v18, v20, s7
; GFX9-NEXT: v_add3_u32 v2, v2, v1, s6
; GFX9-NEXT: v_or_b32_e32 v5, 0x400000, v1
; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v1, v1
-; GFX9-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
-; GFX9-NEXT: v_cndmask_b32_e32 v5, v2, v5, vcc
-; GFX9-NEXT: v_perm_b32 v14, v6, v17, s7
-; GFX9-NEXT: v_perm_b32 v13, v5, v4, s7
-; GFX9-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
; GFX9-NEXT: v_lshlrev_b32_e32 v1, 16, v8
; GFX9-NEXT: v_add_f32_e32 v1, 0x40c00000, v1
-; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:468 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:452 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:472 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:456 ; 4-byte Folded Spill
+; GFX9-NEXT: v_cndmask_b32_e32 v5, v2, v5, vcc
; GFX9-NEXT: v_bfe_u32 v2, v1, 16, 1
; GFX9-NEXT: v_add3_u32 v2, v2, v1, s6
; GFX9-NEXT: v_or_b32_e32 v31, 0x400000, v1
@@ -155413,87 +155469,87 @@ define <128 x i8> @bitcast_v64bf16_to_v128i8(<64 x bfloat> %a, i32 %b) #0 {
; GFX9-NEXT: v_add_f32_e32 v1, 0x40c00000, v1
; GFX9-NEXT: v_cndmask_b32_e32 v8, v8, v31, vcc
; GFX9-NEXT: v_bfe_u32 v31, v1, 16, 1
+; GFX9-NEXT: v_and_b32_e32 v7, 0xffff0000, v7
; GFX9-NEXT: v_add3_u32 v31, v31, v1, s6
; GFX9-NEXT: v_or_b32_e32 v32, 0x400000, v1
; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v1, v1
-; GFX9-NEXT: v_and_b32_e32 v1, 0xffff0000, v7
-; GFX9-NEXT: v_add_f32_e32 v1, 0x40c00000, v1
-; GFX9-NEXT: v_bfe_u32 v7, v1, 16, 1
-; GFX9-NEXT: v_cndmask_b32_e32 v45, v31, v32, vcc
-; GFX9-NEXT: v_add3_u32 v7, v7, v1, s6
-; GFX9-NEXT: v_or_b32_e32 v31, 0x400000, v1
-; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v1, v1
-; GFX9-NEXT: v_lshlrev_b32_e32 v1, 16, v10
-; GFX9-NEXT: v_add_f32_e32 v1, 0x40c00000, v1
-; GFX9-NEXT: v_cndmask_b32_e32 v7, v7, v31, vcc
-; GFX9-NEXT: v_bfe_u32 v31, v1, 16, 1
-; GFX9-NEXT: v_add3_u32 v31, v31, v1, s6
-; GFX9-NEXT: v_or_b32_e32 v32, 0x400000, v1
-; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v1, v1
-; GFX9-NEXT: v_and_b32_e32 v1, 0xffff0000, v10
-; GFX9-NEXT: v_add_f32_e32 v1, 0x40c00000, v1
-; GFX9-NEXT: v_bfe_u32 v10, v1, 16, 1
-; GFX9-NEXT: v_cndmask_b32_e32 v34, v31, v32, vcc
-; GFX9-NEXT: v_add3_u32 v10, v10, v1, s6
-; GFX9-NEXT: v_or_b32_e32 v31, 0x400000, v1
-; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v1, v1
-; GFX9-NEXT: v_lshlrev_b32_e32 v1, 16, v9
-; GFX9-NEXT: v_add_f32_e32 v1, 0x40c00000, v1
-; GFX9-NEXT: v_cndmask_b32_e32 v10, v10, v31, vcc
-; GFX9-NEXT: v_bfe_u32 v31, v1, 16, 1
-; GFX9-NEXT: v_add3_u32 v31, v31, v1, s6
-; GFX9-NEXT: v_or_b32_e32 v32, 0x400000, v1
-; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v1, v1
-; GFX9-NEXT: v_and_b32_e32 v1, 0xffff0000, v9
-; GFX9-NEXT: v_add_f32_e32 v1, 0x40c00000, v1
-; GFX9-NEXT: v_bfe_u32 v9, v1, 16, 1
-; GFX9-NEXT: v_cndmask_b32_e32 v58, v31, v32, vcc
-; GFX9-NEXT: v_add3_u32 v9, v9, v1, s6
-; GFX9-NEXT: v_or_b32_e32 v31, 0x400000, v1
-; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v1, v1
-; GFX9-NEXT: v_lshlrev_b32_e32 v1, 16, v12
-; GFX9-NEXT: v_add_f32_e32 v1, 0x40c00000, v1
-; GFX9-NEXT: v_cndmask_b32_e32 v9, v9, v31, vcc
-; GFX9-NEXT: v_bfe_u32 v31, v1, 16, 1
-; GFX9-NEXT: v_add3_u32 v31, v31, v1, s6
-; GFX9-NEXT: v_or_b32_e32 v32, 0x400000, v1
-; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v1, v1
-; GFX9-NEXT: v_and_b32_e32 v1, 0xffff0000, v12
-; GFX9-NEXT: v_add_f32_e32 v1, 0x40c00000, v1
-; GFX9-NEXT: v_bfe_u32 v12, v1, 16, 1
-; GFX9-NEXT: v_cndmask_b32_e32 v59, v31, v32, vcc
-; GFX9-NEXT: v_add3_u32 v12, v12, v1, s6
-; GFX9-NEXT: v_or_b32_e32 v31, 0x400000, v1
-; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v1, v1
-; GFX9-NEXT: v_lshlrev_b32_e32 v1, 16, v11
-; GFX9-NEXT: v_add_f32_e32 v1, 0x40c00000, v1
-; GFX9-NEXT: v_cndmask_b32_e32 v12, v12, v31, vcc
-; GFX9-NEXT: v_bfe_u32 v31, v1, 16, 1
+; GFX9-NEXT: v_add_f32_e32 v7, 0x40c00000, v7
+; GFX9-NEXT: v_cndmask_b32_e32 v2, v31, v32, vcc
+; GFX9-NEXT: v_bfe_u32 v31, v7, 16, 1
+; GFX9-NEXT: v_add3_u32 v31, v31, v7, s6
+; GFX9-NEXT: v_or_b32_e32 v32, 0x400000, v7
+; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v7, v7
+; GFX9-NEXT: v_cndmask_b32_e32 v7, v31, v32, vcc
+; GFX9-NEXT: v_lshlrev_b32_e32 v31, 16, v10
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
+; GFX9-NEXT: v_add_f32_e32 v31, 0x40c00000, v31
+; GFX9-NEXT: v_and_b32_e32 v0, 0xffff0000, v10
+; GFX9-NEXT: v_bfe_u32 v32, v31, 16, 1
+; GFX9-NEXT: v_add_f32_e32 v0, 0x40c00000, v0
+; GFX9-NEXT: v_add3_u32 v32, v32, v31, s6
+; GFX9-NEXT: v_or_b32_e32 v33, 0x400000, v31
+; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v31, v31
+; GFX9-NEXT: v_bfe_u32 v31, v0, 16, 1
+; GFX9-NEXT: v_cndmask_b32_e32 v33, v32, v33, vcc
+; GFX9-NEXT: v_add3_u32 v31, v31, v0, s6
+; GFX9-NEXT: v_or_b32_e32 v32, 0x400000, v0
+; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v0, v0
+; GFX9-NEXT: v_cndmask_b32_e32 v10, v31, v32, vcc
+; GFX9-NEXT: v_lshlrev_b32_e32 v31, 16, v9
+; GFX9-NEXT: v_add_f32_e32 v31, 0x40c00000, v31
+; GFX9-NEXT: v_and_b32_e32 v9, 0xffff0000, v9
+; GFX9-NEXT: v_bfe_u32 v32, v31, 16, 1
+; GFX9-NEXT: v_add_f32_e32 v9, 0x40c00000, v9
+; GFX9-NEXT: v_add3_u32 v32, v32, v31, s6
+; GFX9-NEXT: v_or_b32_e32 v34, 0x400000, v31
+; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v31, v31
+; GFX9-NEXT: v_bfe_u32 v31, v9, 16, 1
+; GFX9-NEXT: v_cndmask_b32_e32 v34, v32, v34, vcc
+; GFX9-NEXT: v_add3_u32 v31, v31, v9, s6
+; GFX9-NEXT: v_or_b32_e32 v32, 0x400000, v9
+; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v9, v9
+; GFX9-NEXT: v_cndmask_b32_e32 v9, v31, v32, vcc
+; GFX9-NEXT: v_lshlrev_b32_e32 v31, 16, v12
+; GFX9-NEXT: v_add_f32_e32 v31, 0x40c00000, v31
+; GFX9-NEXT: v_and_b32_e32 v0, 0xffff0000, v12
+; GFX9-NEXT: v_bfe_u32 v32, v31, 16, 1
+; GFX9-NEXT: v_add_f32_e32 v0, 0x40c00000, v0
+; GFX9-NEXT: v_add3_u32 v32, v32, v31, s6
+; GFX9-NEXT: v_or_b32_e32 v54, 0x400000, v31
+; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v31, v31
+; GFX9-NEXT: v_bfe_u32 v31, v0, 16, 1
+; GFX9-NEXT: v_cndmask_b32_e32 v58, v32, v54, vcc
+; GFX9-NEXT: v_add3_u32 v31, v31, v0, s6
+; GFX9-NEXT: v_or_b32_e32 v32, 0x400000, v0
+; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v0, v0
+; GFX9-NEXT: v_cndmask_b32_e32 v12, v31, v32, vcc
+; GFX9-NEXT: v_lshlrev_b32_e32 v31, 16, v11
+; GFX9-NEXT: v_add_f32_e32 v31, 0x40c00000, v31
; GFX9-NEXT: v_and_b32_e32 v11, 0xffff0000, v11
-; GFX9-NEXT: v_add3_u32 v31, v31, v1, s6
-; GFX9-NEXT: v_or_b32_e32 v32, 0x400000, v1
-; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v1, v1
+; GFX9-NEXT: v_bfe_u32 v32, v31, 16, 1
; GFX9-NEXT: v_add_f32_e32 v11, 0x40c00000, v11
-; GFX9-NEXT: v_cndmask_b32_e32 v2, v31, v32, vcc
+; GFX9-NEXT: v_add3_u32 v32, v32, v31, s6
+; GFX9-NEXT: v_or_b32_e32 v54, 0x400000, v31
+; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v31, v31
; GFX9-NEXT: v_bfe_u32 v31, v11, 16, 1
+; GFX9-NEXT: v_cndmask_b32_e32 v59, v32, v54, vcc
; GFX9-NEXT: v_add3_u32 v31, v31, v11, s6
; GFX9-NEXT: v_or_b32_e32 v32, 0x400000, v11
; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v11, v11
; GFX9-NEXT: v_cndmask_b32_e32 v11, v31, v32, vcc
-; GFX9-NEXT: s_waitcnt vmcnt(2)
; GFX9-NEXT: v_lshlrev_b32_e32 v31, 16, v14
; GFX9-NEXT: v_add_f32_e32 v31, 0x40c00000, v31
-; GFX9-NEXT: v_and_b32_e32 v14, 0xffff0000, v14
+; GFX9-NEXT: v_and_b32_e32 v0, 0xffff0000, v14
; GFX9-NEXT: v_bfe_u32 v32, v31, 16, 1
-; GFX9-NEXT: v_add_f32_e32 v14, 0x40c00000, v14
+; GFX9-NEXT: v_add_f32_e32 v0, 0x40c00000, v0
; GFX9-NEXT: v_add3_u32 v32, v32, v31, s6
; GFX9-NEXT: v_or_b32_e32 v56, 0x400000, v31
; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v31, v31
-; GFX9-NEXT: v_bfe_u32 v31, v14, 16, 1
+; GFX9-NEXT: v_bfe_u32 v31, v0, 16, 1
; GFX9-NEXT: v_cndmask_b32_e32 v1, v32, v56, vcc
-; GFX9-NEXT: v_add3_u32 v31, v31, v14, s6
-; GFX9-NEXT: v_or_b32_e32 v32, 0x400000, v14
-; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v14, v14
+; GFX9-NEXT: v_add3_u32 v31, v31, v0, s6
+; GFX9-NEXT: v_or_b32_e32 v32, 0x400000, v0
+; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v0, v0
; GFX9-NEXT: v_cndmask_b32_e32 v14, v31, v32, vcc
; GFX9-NEXT: v_lshlrev_b32_e32 v31, 16, v13
; GFX9-NEXT: v_add_f32_e32 v31, 0x40c00000, v31
@@ -155504,8 +155560,6 @@ define <128 x i8> @bitcast_v64bf16_to_v128i8(<64 x bfloat> %a, i32 %b) #0 {
; GFX9-NEXT: v_or_b32_e32 v56, 0x400000, v31
; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v31, v31
; GFX9-NEXT: v_bfe_u32 v31, v13, 16, 1
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
-; GFX9-NEXT: v_perm_b32 v47, v53, v0, s7
; GFX9-NEXT: v_cndmask_b32_e32 v0, v32, v56, vcc
; GFX9-NEXT: v_add3_u32 v31, v31, v13, s6
; GFX9-NEXT: v_or_b32_e32 v32, 0x400000, v13
@@ -155515,56 +155569,73 @@ define <128 x i8> @bitcast_v64bf16_to_v128i8(<64 x bfloat> %a, i32 %b) #0 {
; GFX9-NEXT: v_perm_b32 v56, v61, v0, s7
; GFX9-NEXT: v_lshrrev_b32_e32 v1, 16, v1
; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v0
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:476 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:480 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v11
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:448 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v1, 16, v58
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:432 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v59
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:504 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:508 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v9
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:484 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:436 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v7
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:488 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:444 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v5
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:448 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v17
; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:492 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v18
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:512 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v21
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:516 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload
-; GFX9-NEXT: v_lshrrev_b32_e32 v1, 16, v10
-; GFX9-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v1, 16, v8
-; GFX9-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v1, 16, v6
-; GFX9-NEXT: v_lshrrev_b32_e32 v6, 16, v17
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:512 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v41, v17, v19, s7
; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v49
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v48
-; GFX9-NEXT: v_perm_b32 v36, v30, v28, s7
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v30
; GFX9-NEXT: v_lshrrev_b32_e32 v30, 16, v28
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v29
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v29, 16, v27
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v53
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v52
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
-; GFX9-NEXT: v_perm_b32 v55, v12, v59, s7
-; GFX9-NEXT: v_lshrrev_b32_e32 v12, 16, v12
-; GFX9-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v12, 16, v59
-; GFX9-NEXT: v_lshrrev_b32_e32 v59, 16, v26
-; GFX9-NEXT: v_perm_b32 v38, v9, v58, s7
-; GFX9-NEXT: v_lshrrev_b32_e32 v9, 16, v58
-; GFX9-NEXT: v_lshrrev_b32_e32 v58, 16, v25
-; GFX9-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v1, 16, v19
-; GFX9-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
+; GFX9-NEXT: v_perm_b32 v38, v8, v3, s7
+; GFX9-NEXT: v_lshrrev_b32_e32 v8, 16, v8
+; GFX9-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v8, 16, v26
+; GFX9-NEXT: v_perm_b32 v37, v7, v2, s7
+; GFX9-NEXT: v_lshrrev_b32_e32 v7, 16, v25
+; GFX9-NEXT: v_perm_b32 v35, v9, v34, s7
+; GFX9-NEXT: v_lshrrev_b32_e32 v9, 16, v2
+; GFX9-NEXT: v_lshrrev_b32_e32 v2, 16, v24
+; GFX9-NEXT: v_lshrrev_b32_e32 v1, 16, v6
+; GFX9-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v1, 16, v18
+; GFX9-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v1, 16, v22
-; GFX9-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v1, 16, v23
+; GFX9-NEXT: v_perm_b32 v42, v18, v20, s7
+; GFX9-NEXT: v_perm_b32 v39, v5, v4, s7
+; GFX9-NEXT: v_lshrrev_b32_e32 v5, 16, v4
+; GFX9-NEXT: v_lshrrev_b32_e32 v4, 16, v20
+; GFX9-NEXT: v_perm_b32 v40, v6, v47, s7
+; GFX9-NEXT: v_lshrrev_b32_e32 v6, 16, v47
+; GFX9-NEXT: v_perm_b32 v36, v10, v33, s7
+; GFX9-NEXT: v_lshrrev_b32_e32 v10, 16, v10
+; GFX9-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v10, 16, v3
+; GFX9-NEXT: v_lshrrev_b32_e32 v3, 16, v19
+; GFX9-NEXT: v_lshrrev_b32_e32 v22, 16, v45
+; GFX9-NEXT: v_lshrrev_b32_e32 v21, 16, v46
+; GFX9-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:300 ; 4-byte Folded Reload
; GFX9-NEXT: v_lshlrev_b32_e32 v13, 16, v16
; GFX9-NEXT: v_add_f32_e32 v13, 0x40c00000, v13
; GFX9-NEXT: v_bfe_u32 v31, v13, 16, 1
@@ -155588,501 +155659,495 @@ define <128 x i8> @bitcast_v64bf16_to_v128i8(<64 x bfloat> %a, i32 %b) #0 {
; GFX9-NEXT: v_or_b32_e32 v63, 0x400000, v16
; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v16, v16
; GFX9-NEXT: v_bfe_u32 v16, v15, 16, 1
+; GFX9-NEXT: v_perm_b32 v55, v12, v58, s7
; GFX9-NEXT: v_cndmask_b32_e32 v63, v31, v63, vcc
; GFX9-NEXT: v_add3_u32 v16, v16, v15, s6
; GFX9-NEXT: v_or_b32_e32 v31, 0x400000, v15
; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v15, v15
+; GFX9-NEXT: v_lshrrev_b32_e32 v12, 16, v12
+; GFX9-NEXT: v_perm_b32 v54, v11, v59, s7
; GFX9-NEXT: v_perm_b32 v32, v13, v60, s7
; GFX9-NEXT: v_cndmask_b32_e32 v15, v16, v31, vcc
-; GFX9-NEXT: v_lshrrev_b32_e32 v13, 16, v13
-; GFX9-NEXT: v_perm_b32 v31, v15, v63, s7
-; GFX9-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v13, 16, v15
-; GFX9-NEXT: v_lshrrev_b32_e32 v15, 16, v63
-; GFX9-NEXT: v_perm_b32 v50, v7, v45, s7
-; GFX9-NEXT: v_lshrrev_b32_e32 v7, 16, v45
-; GFX9-NEXT: v_lshrrev_b32_e32 v5, 16, v4
-; GFX9-NEXT: v_lshrrev_b32_e32 v4, 16, v33
-; GFX9-NEXT: v_perm_b32 v46, v52, v42, s7
-; GFX9-NEXT: v_perm_b32 v35, v29, v27, s7
-; GFX9-NEXT: v_lshrrev_b32_e32 v29, 16, v27
-; GFX9-NEXT: v_lshrrev_b32_e32 v27, 16, v42
; GFX9-NEXT: v_lshrrev_b32_e32 v16, 16, v60
-; GFX9-NEXT: v_lshrrev_b32_e32 v19, 16, v40
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:476 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:480 ; 4-byte Folded Spill
-; GFX9-NEXT: s_waitcnt vmcnt(15)
+; GFX9-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
+; GFX9-NEXT: s_waitcnt vmcnt(14)
; GFX9-NEXT: v_lshrrev_b32_e32 v28, 16, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v48, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:328 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:332 ; 4-byte Folded Reload
-; GFX9-NEXT: v_lshrrev_b64 v[52:53], 24, v[31:32]
-; GFX9-NEXT: v_perm_b32 v54, v11, v2, s7
-; GFX9-NEXT: v_perm_b32 v39, v10, v34, s7
-; GFX9-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload
+; GFX9-NEXT: v_lshrrev_b32_e32 v12, 16, v33
+; GFX9-NEXT: v_lshrrev_b32_e32 v11, 16, v34
+; GFX9-NEXT: buffer_load_dword v59, off, s[0:3], s32 offset:312 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v60, off, s[0:3], s32 offset:316 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
-; GFX9-NEXT: v_perm_b32 v51, v8, v3, s7
-; GFX9-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:388 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:392 ; 4-byte Folded Spill
+; GFX9-NEXT: v_perm_b32 v31, v15, v63, s7
+; GFX9-NEXT: v_lshrrev_b64 v[52:53], 24, v[31:32]
+; GFX9-NEXT: v_lshrrev_b32_e32 v13, 16, v13
+; GFX9-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v13, 16, v15
+; GFX9-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v13, 16, v14
-; GFX9-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v13, 16, v61
-; GFX9-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v8, 16, v3
-; GFX9-NEXT: v_lshrrev_b32_e32 v3, 16, v20
-; GFX9-NEXT: v_lshrrev_b32_e32 v20, 16, v37
-; GFX9-NEXT: v_lshrrev_b32_e32 v10, 16, v34
-; GFX9-NEXT: v_lshrrev_b32_e32 v11, 16, v2
-; GFX9-NEXT: v_lshrrev_b32_e32 v2, 16, v24
-; GFX9-NEXT: v_lshrrev_b32_e32 v24, 16, v44
-; GFX9-NEXT: s_waitcnt vmcnt(11)
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_lshrrev_b32_e32 v26, 16, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload
+; GFX9-NEXT: v_lshrrev_b64 v[48:49], 24, v[41:42]
+; GFX9-NEXT: v_lshrrev_b32_e32 v15, 16, v63
+; GFX9-NEXT: v_lshrrev_b32_e32 v63, 24, v32
+; GFX9-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
+; GFX9-NEXT: s_waitcnt vmcnt(10)
+; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[45:46]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:484 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
-; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_lshrrev_b32_e32 v25, 16, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:488 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:336 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
-; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v0
+; GFX9-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:340 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(12)
+; GFX9-NEXT: v_lshrrev_b32_e32 v27, 16, v0
; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_lshrrev_b32_e32 v23, 16, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v43
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:340 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:344 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(4)
; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_lshrrev_b32_e32 v22, 16, v0
-; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v41
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:440 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:304 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:308 ; 4-byte Folded Reload
-; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b64 v[52:53], 24, v[56:57]
+; GFX9-NEXT: s_waitcnt vmcnt(3)
+; GFX9-NEXT: v_lshrrev_b32_e32 v26, 16, v0
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v0
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
+; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v50
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v51
+; GFX9-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:368 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:372 ; 4-byte Folded Reload
; GFX9-NEXT: v_lshrrev_b64 v[52:53], 24, v[54:55]
-; GFX9-NEXT: s_waitcnt vmcnt(7)
-; GFX9-NEXT: v_lshrrev_b32_e32 v21, 16, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(6)
-; GFX9-NEXT: v_lshrrev_b64 v[13:14], 24, v[40:41]
-; GFX9-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:496 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v25, 16, v0
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_lshrrev_b32_e32 v24, 16, v0
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_lshrrev_b32_e32 v23, 16, v0
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:500 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[13:14], 24, v[48:49]
-; GFX9-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:504 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
+; GFX9-NEXT: s_waitcnt vmcnt(1)
+; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v0
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v0
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:424 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v0
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:440 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:508 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:428 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_store_dword v48, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:432 ; 4-byte Folded Reload
-; GFX9-NEXT: v_lshrrev_b32_e32 v44, 8, v41
-; GFX9-NEXT: s_waitcnt vmcnt(6)
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_dword v48, off, s[0:3], s32 offset:468 ; 4-byte Folded Reload
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:472 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(4)
+; GFX9-NEXT: v_lshrrev_b32_e32 v20, 16, v0
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_lshrrev_b32_e32 v47, 16, v0
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_lshrrev_b32_e32 v19, 16, v0
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[52:53], 24, v[35:36]
+; GFX9-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[52:53], 24, v[37:38]
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
+; GFX9-NEXT: s_waitcnt vmcnt(5)
; GFX9-NEXT: v_lshrrev_b32_e32 v0, 16, v0
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:520 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:516 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_lshrrev_b32_e32 v63, 16, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_lshrrev_b32_e32 v45, 16, v0
+; GFX9-NEXT: v_lshrrev_b32_e32 v18, 16, v0
; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[52:53], 24, v[38:39]
-; GFX9-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[52:53], 24, v[50:51]
+; GFX9-NEXT: v_lshrrev_b64 v[52:53], 24, v[39:40]
; GFX9-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[52:53], 24, v[42:43]
-; GFX9-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[52:53], 24, v[15:16]
+; GFX9-NEXT: v_lshrrev_b64 v[52:53], 24, v[59:60]
; GFX9-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[52:53], 24, v[35:36]
-; GFX9-NEXT: buffer_load_dword v36, off, s[0:3], s32 offset:404 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v37, off, s[0:3], s32 offset:408 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:452 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:456 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(14)
-; GFX9-NEXT: v_lshrrev_b32_e32 v18, 16, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
-; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: v_lshrrev_b64 v[52:53], 24, v[33:34]
; GFX9-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[52:53], 24, v[46:47]
+; GFX9-NEXT: v_lshrrev_b64 v[52:53], 24, v[50:51]
; GFX9-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[52:53], 24, v[36:37]
+; GFX9-NEXT: v_lshrrev_b64 v[52:53], 24, v[43:44]
+; GFX9-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:412 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:416 ; 4-byte Folded Reload
+; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[52:53], 24, v[13:14]
+; GFX9-NEXT: s_waitcnt vmcnt(14)
+; GFX9-NEXT: v_lshrrev_b32_e32 v61, 16, v0
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(3)
+; GFX9-NEXT: v_lshrrev_b64 v[52:53], 24, v[43:44]
; GFX9-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[52:53], 24, v[34:35]
+; GFX9-NEXT: v_lshrrev_b64 v[52:53], 24, v[48:49]
; GFX9-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:468 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:452 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:472 ; 4-byte Folded Reload
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v43
-; GFX9-NEXT: v_lshrrev_b32_e32 v35, 8, v42
-; GFX9-NEXT: s_waitcnt vmcnt(12)
+; GFX9-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:456 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(6)
; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v0
-; GFX9-NEXT: v_lshrrev_b32_e32 v0, 24, v32
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:444 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v32
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v31
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v0, 24, v57
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v57
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v56
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v55
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v54
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v0, 24, v39
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v39
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:392 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v38
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:400 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v0, 24, v51
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v51
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:420 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v50
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:424 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v0, 24, v43
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v0, 24, v41
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v0, 24, v49
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 24, v36
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v36
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v35
; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:384 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v0, 24, v16
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 24, v38
; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v16
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v38
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:404 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v37
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:408 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 24, v40
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v39
+; GFX9-NEXT: v_mov_b32_e32 v32, v42
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:428 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 24, v32
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 24, v46
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 24, v60
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v60
; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v15
-; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:352 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:356 ; 4-byte Folded Reload
-; GFX9-NEXT: v_mov_b32_e32 v32, v37
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v59
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 24, v34
; GFX9-NEXT: v_lshrrev_b32_e32 v31, 24, v55
-; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v31, v36
-; GFX9-NEXT: s_waitcnt vmcnt(23)
-; GFX9-NEXT: v_lshrrev_b64 v[60:61], 24, v[52:53]
-; GFX9-NEXT: buffer_store_dword v60, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v61, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_dword v60, off, s[0:3], s32 offset:460 ; 4-byte Folded Reload
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v61, off, s[0:3], s32 offset:464 ; 4-byte Folded Reload
-; GFX9-NEXT: v_lshrrev_b32_e32 v54, 8, v40
-; GFX9-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:520 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v56, off, s[0:3], s32 offset:516 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v57, off, s[0:3], s32 offset:512 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:492 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v38, off, s[0:3], s32 offset:488 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:484 ; 4-byte Folded Reload
-; GFX9-NEXT: v_lshrrev_b32_e32 v39, 8, v49
-; GFX9-NEXT: v_mov_b32_e32 v49, v33
-; GFX9-NEXT: v_mov_b32_e32 v37, v44
-; GFX9-NEXT: v_mov_b32_e32 v36, v35
-; GFX9-NEXT: v_lshrrev_b32_e32 v55, 8, v48
-; GFX9-NEXT: v_mov_b32_e32 v41, v63
-; GFX9-NEXT: s_waitcnt vmcnt(12)
-; GFX9-NEXT: v_lshrrev_b32_e32 v0, 24, v16
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v16
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v15
-; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:376 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:380 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(10)
-; GFX9-NEXT: v_lshrrev_b64 v[46:47], 24, v[60:61]
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v34
+; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v31, v41
+; GFX9-NEXT: v_lshrrev_b32_e32 v36, 8, v32
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v33
+; GFX9-NEXT: v_mov_b32_e32 v32, v51
+; GFX9-NEXT: v_lshrrev_b32_e32 v35, 8, v31
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v31, v50
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 24, v32
; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v32
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v31
+; GFX9-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:388 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:392 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(27)
+; GFX9-NEXT: v_lshrrev_b64 v[52:53], 24, v[52:53]
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
-; GFX9-NEXT: s_waitcnt vmcnt(3)
-; GFX9-NEXT: v_lshrrev_b32_e32 v0, 24, v16
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v15
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:460 ; 4-byte Folded Reload
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:464 ; 4-byte Folded Reload
+; GFX9-NEXT: v_mov_b32_e32 v42, v8
+; GFX9-NEXT: v_mov_b32_e32 v41, v7
+; GFX9-NEXT: v_mov_b32_e32 v7, v9
+; GFX9-NEXT: v_mov_b32_e32 v8, v10
+; GFX9-NEXT: v_mov_b32_e32 v9, v11
+; GFX9-NEXT: v_mov_b32_e32 v10, v12
+; GFX9-NEXT: v_lshrrev_b32_e32 v39, 8, v46
+; GFX9-NEXT: v_lshrrev_b32_e32 v55, 8, v45
+; GFX9-NEXT: v_mov_b32_e32 v45, v61
+; GFX9-NEXT: v_mov_b32_e32 v56, v47
+; GFX9-NEXT: buffer_load_dword v57, off, s[0:3], s32 offset:516 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v54, off, s[0:3], s32 offset:512 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:492 ; 4-byte Folded Reload
+; GFX9-NEXT: v_lshrrev_b32_e32 v37, 8, v40
+; GFX9-NEXT: v_mov_b32_e32 v50, v39
+; GFX9-NEXT: v_mov_b32_e32 v39, v35
+; GFX9-NEXT: s_waitcnt vmcnt(8)
; GFX9-NEXT: v_lshrrev_b32_e32 v0, 24, v32
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:388 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v32
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:396 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v31
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:388 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 24, v44
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:396 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v44
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:400 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v43
+; GFX9-NEXT: v_mov_b32_e32 v31, v48
+; GFX9-NEXT: v_mov_b32_e32 v32, v49
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:412 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 24, v32
+; GFX9-NEXT: v_lshrrev_b32_e32 v48, 8, v32
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 8, v31
; GFX9-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:452 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:456 ; 4-byte Folded Reload
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v16
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:404 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v0, 24, v14
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:412 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v14
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:416 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v13
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:428 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:476 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:480 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(7)
-; GFX9-NEXT: v_lshrrev_b32_e32 v44, 8, v31
+; GFX9-NEXT: s_waitcnt vmcnt(11)
+; GFX9-NEXT: v_lshrrev_b64 v[13:14], 24, v[52:53]
+; GFX9-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:496 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:500 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:504 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:508 ; 4-byte Folded Reload
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:476 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:480 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(6)
-; GFX9-NEXT: v_lshrrev_b32_e32 v0, 24, v32
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:436 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v32
+; GFX9-NEXT: v_lshrrev_b32_e32 v47, 24, v32
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:420 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v61, 8, v32
+; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v31
; GFX9-NEXT: v_mov_b32_e32 v31, v52
; GFX9-NEXT: v_mov_b32_e32 v32, v53
-; GFX9-NEXT: v_mov_b32_e32 v52, v34
-; GFX9-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:504 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:508 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:496 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:500 ; 4-byte Folded Reload
-; GFX9-NEXT: v_mov_b32_e32 v53, v0
-; GFX9-NEXT: v_lshrrev_b32_e32 v46, 24, v32
-; GFX9-NEXT: v_lshrrev_b32_e32 v0, 8, v32
-; GFX9-NEXT: v_lshrrev_b32_e32 v47, 8, v31
-; GFX9-NEXT: v_mov_b32_e32 v31, v60
-; GFX9-NEXT: v_mov_b32_e32 v32, v61
-; GFX9-NEXT: v_mov_b32_e32 v61, v33
-; GFX9-NEXT: v_lshrrev_b32_e32 v60, 24, v32
-; GFX9-NEXT: v_lshrrev_b32_e32 v42, 8, v32
+; GFX9-NEXT: v_mov_b32_e32 v53, v33
+; GFX9-NEXT: v_mov_b32_e32 v52, v63
+; GFX9-NEXT: v_lshrrev_b32_e32 v40, 24, v32
+; GFX9-NEXT: v_lshrrev_b32_e32 v58, 8, v32
; GFX9-NEXT: v_lshrrev_b32_e32 v63, 8, v31
+; GFX9-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:496 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:500 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:484 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:488 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_mov_b32_e32 v33, v13
+; GFX9-NEXT: v_mov_b32_e32 v35, v31
; GFX9-NEXT: .LBB90_4: ; %end
; GFX9-NEXT: s_or_b64 exec, exec, s[4:5]
; GFX9-NEXT: s_mov_b32 s4, 0xc0c0004
-; GFX9-NEXT: v_perm_b32 v31, v56, v34, s4
+; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v32, v1, v55, s4
-; GFX9-NEXT: v_perm_b32 v34, v2, v39, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload
-; GFX9-NEXT: v_perm_b32 v6, v6, v52, s4
-; GFX9-NEXT: v_perm_b32 v3, v3, v54, s4
-; GFX9-NEXT: buffer_load_dword v54, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v55, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload
-; GFX9-NEXT: v_perm_b32 v4, v4, v37, s4
-; GFX9-NEXT: v_perm_b32 v33, v57, v33, s4
-; GFX9-NEXT: v_perm_b32 v5, v5, v36, s4
+; GFX9-NEXT: v_perm_b32 v34, v2, v50, s4
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v31, v54, v35, s4
+; GFX9-NEXT: v_perm_b32 v4, v4, v36, s4
+; GFX9-NEXT: v_perm_b32 v6, v6, v37, s4
+; GFX9-NEXT: v_perm_b32 v3, v3, v39, s4
+; GFX9-NEXT: v_perm_b32 v33, v45, v33, s4
; GFX9-NEXT: v_perm_b32 v17, v17, v63, s4
-; GFX9-NEXT: v_perm_b32 v18, v18, v42, s4
-; GFX9-NEXT: v_perm_b32 v0, v20, v0, s4
-; GFX9-NEXT: s_waitcnt vmcnt(3)
-; GFX9-NEXT: v_perm_b32 v35, v51, v1, s4
+; GFX9-NEXT: v_perm_b32 v18, v18, v58, s4
+; GFX9-NEXT: v_perm_b32 v0, v19, v0, s4
+; GFX9-NEXT: s_waitcnt vmcnt(1)
+; GFX9-NEXT: v_perm_b32 v35, v46, v1, s4
; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(3)
-; GFX9-NEXT: v_perm_b32 v37, v49, v54, s4
-; GFX9-NEXT: buffer_load_dword v54, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v55, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(3)
-; GFX9-NEXT: v_perm_b32 v38, v38, v1, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:424 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:448 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_perm_b32 v36, v2, v1, s4
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:428 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_perm_b32 v5, v5, v1, s4
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:444 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_perm_b32 v37, v2, v1, s4
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:408 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v7, v7, v1, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:420 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:404 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v8, v8, v1, s4
; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_perm_b32 v39, v50, v1, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:400 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:436 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_perm_b32 v38, v2, v1, s4
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:384 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v9, v9, v1, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:392 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:376 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v10, v10, v1, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:448 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:432 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v2, v2, v1, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:372 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:356 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v11, v11, v1, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:364 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:348 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v12, v12, v1, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:280 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_perm_b32 v50, v1, v50, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:336 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:272 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v54, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v55, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
+; GFX9-NEXT: v_perm_b32 v39, v1, v54, s4
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:324 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v13, v13, v1, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:320 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:308 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v14, v14, v1, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:276 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v52, v41, v54, s4
-; GFX9-NEXT: v_perm_b32 v51, v1, v51, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:312 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:268 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v54, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v55, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(1)
+; GFX9-NEXT: v_perm_b32 v51, v1, v54, s4
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v54, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v55, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(1)
+; GFX9-NEXT: v_perm_b32 v50, v56, v54, s4
; GFX9-NEXT: v_perm_b32 v15, v15, v1, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:300 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload
+; GFX9-NEXT: v_lshl_or_b32 v0, v50, 16, v0
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v16, v16, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v31, 16, v32
; GFX9-NEXT: buffer_store_dword v1, v62, s[0:3], 0 offen
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:272 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:384 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:364 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v1, v31, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v34
; GFX9-NEXT: buffer_store_dword v1, v62, s[0:3], 0 offen offset:4
-; GFX9-NEXT: v_lshl_or_b32 v1, v33, 16, v3
+; GFX9-NEXT: v_lshl_or_b32 v1, v35, 16, v3
; GFX9-NEXT: buffer_store_dword v1, v62, s[0:3], 0 offen offset:8
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:268 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:360 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:344 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v1, v3, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v4
; GFX9-NEXT: buffer_store_dword v1, v62, s[0:3], 0 offen offset:12
-; GFX9-NEXT: v_lshl_or_b32 v1, v35, 16, v5
+; GFX9-NEXT: v_lshl_or_b32 v1, v36, 16, v5
; GFX9-NEXT: buffer_store_dword v1, v62, s[0:3], 0 offen offset:16
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:324 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:320 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v1, v3, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v6
; GFX9-NEXT: buffer_store_dword v1, v62, s[0:3], 0 offen offset:20
-; GFX9-NEXT: v_lshl_or_b32 v1, v38, 16, v7
+; GFX9-NEXT: v_lshl_or_b32 v1, v37, 16, v7
; GFX9-NEXT: buffer_store_dword v1, v62, s[0:3], 0 offen offset:24
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:316 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v1, v3, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v8
; GFX9-NEXT: buffer_store_dword v1, v62, s[0:3], 0 offen offset:28
-; GFX9-NEXT: v_lshl_or_b32 v1, v39, 16, v9
+; GFX9-NEXT: v_lshl_or_b32 v1, v38, 16, v9
; GFX9-NEXT: buffer_store_dword v1, v62, s[0:3], 0 offen offset:32
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:280 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v1, v3, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v10
; GFX9-NEXT: buffer_store_dword v1, v62, s[0:3], 0 offen offset:36
; GFX9-NEXT: v_lshl_or_b32 v1, v2, 16, v11
; GFX9-NEXT: buffer_store_dword v1, v62, s[0:3], 0 offen offset:40
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v12
; GFX9-NEXT: buffer_store_dword v1, v62, s[0:3], 0 offen offset:44
-; GFX9-NEXT: v_lshl_or_b32 v1, v50, 16, v13
+; GFX9-NEXT: v_lshl_or_b32 v1, v39, 16, v13
; GFX9-NEXT: buffer_store_dword v1, v62, s[0:3], 0 offen offset:48
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:276 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v1, v2, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v14
; GFX9-NEXT: buffer_store_dword v1, v62, s[0:3], 0 offen offset:52
; GFX9-NEXT: v_lshl_or_b32 v1, v51, 16, v15
; GFX9-NEXT: buffer_store_dword v1, v62, s[0:3], 0 offen offset:56
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:444 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v1, v1, v2, s4
+; GFX9-NEXT: v_perm_b32 v1, v1, v52, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v16
; GFX9-NEXT: buffer_store_dword v1, v62, s[0:3], 0 offen offset:60
-; GFX9-NEXT: v_lshl_or_b32 v1, v37, 16, v17
+; GFX9-NEXT: v_lshl_or_b32 v1, v33, 16, v17
; GFX9-NEXT: buffer_store_dword v1, v62, s[0:3], 0 offen offset:64
-; GFX9-NEXT: v_perm_b32 v1, v45, v60, s4
+; GFX9-NEXT: v_perm_b32 v1, v57, v40, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v18
; GFX9-NEXT: buffer_store_dword v1, v62, s[0:3], 0 offen offset:68
-; GFX9-NEXT: v_perm_b32 v1, v19, v47, s4
-; GFX9-NEXT: v_lshl_or_b32 v1, v52, 16, v1
-; GFX9-NEXT: buffer_store_dword v1, v62, s[0:3], 0 offen offset:72
-; GFX9-NEXT: v_perm_b32 v1, v40, v46, s4
+; GFX9-NEXT: buffer_store_dword v0, v62, s[0:3], 0 offen offset:72
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:440 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v0, v20, v61, s4
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_perm_b32 v1, v1, v47, s4
; GFX9-NEXT: v_lshl_or_b32 v0, v1, 16, v0
; GFX9-NEXT: buffer_store_dword v0, v62, s[0:3], 0 offen offset:76
; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:440 ; 4-byte Folded Reload
-; GFX9-NEXT: v_perm_b32 v0, v21, v44, s4
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:424 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v0, v21, v49, s4
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v0, v1, 16, v0
; GFX9-NEXT: buffer_store_dword v0, v62, s[0:3], 0 offen offset:80
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:436 ; 4-byte Folded Reload
-; GFX9-NEXT: v_perm_b32 v0, v22, v53, s4
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:420 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v0, v22, v48, s4
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v1, v2, s4
; GFX9-NEXT: v_lshl_or_b32 v0, v1, 16, v0
; GFX9-NEXT: buffer_store_dword v0, v62, s[0:3], 0 offen offset:84
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:428 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:412 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
@@ -156090,19 +156155,19 @@ define <128 x i8> @bitcast_v64bf16_to_v128i8(<64 x bfloat> %a, i32 %b) #0 {
; GFX9-NEXT: v_perm_b32 v0, v23, v0, s4
; GFX9-NEXT: v_lshl_or_b32 v0, v1, 16, v0
; GFX9-NEXT: buffer_store_dword v0, v62, s[0:3], 0 offen offset:88
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:416 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:400 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:412 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:396 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(2)
; GFX9-NEXT: v_perm_b32 v0, v24, v0, s4
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v1, v2, s4
; GFX9-NEXT: v_lshl_or_b32 v0, v1, 16, v0
; GFX9-NEXT: buffer_store_dword v0, v62, s[0:3], 0 offen offset:92
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:404 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:388 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
@@ -156110,36 +156175,37 @@ define <128 x i8> @bitcast_v64bf16_to_v128i8(<64 x bfloat> %a, i32 %b) #0 {
; GFX9-NEXT: v_perm_b32 v0, v25, v0, s4
; GFX9-NEXT: v_lshl_or_b32 v0, v1, 16, v0
; GFX9-NEXT: buffer_store_dword v0, v62, s[0:3], 0 offen offset:96
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:396 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:380 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:388 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:368 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(2)
; GFX9-NEXT: v_perm_b32 v0, v26, v0, s4
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v1, v2, s4
; GFX9-NEXT: v_lshl_or_b32 v0, v1, 16, v0
; GFX9-NEXT: buffer_store_dword v0, v62, s[0:3], 0 offen offset:100
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:376 ; 4-byte Folded Reload
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v0, v27, v53, s4
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_perm_b32 v1, v1, v2, s4
-; GFX9-NEXT: v_perm_b32 v0, v27, v0, s4
; GFX9-NEXT: v_lshl_or_b32 v0, v1, 16, v0
; GFX9-NEXT: buffer_store_dword v0, v62, s[0:3], 0 offen offset:104
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:368 ; 4-byte Folded Reload
-; GFX9-NEXT: v_perm_b32 v0, v28, v61, s4
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:360 ; 4-byte Folded Reload
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:352 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(2)
+; GFX9-NEXT: v_perm_b32 v0, v28, v0, s4
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v1, v2, s4
; GFX9-NEXT: v_lshl_or_b32 v0, v1, 16, v0
; GFX9-NEXT: buffer_store_dword v0, v62, s[0:3], 0 offen offset:108
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:352 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:336 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
@@ -156147,32 +156213,32 @@ define <128 x i8> @bitcast_v64bf16_to_v128i8(<64 x bfloat> %a, i32 %b) #0 {
; GFX9-NEXT: v_perm_b32 v0, v29, v0, s4
; GFX9-NEXT: v_lshl_or_b32 v0, v1, 16, v0
; GFX9-NEXT: buffer_store_dword v0, v62, s[0:3], 0 offen offset:112
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:348 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:332 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:340 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:328 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(2)
; GFX9-NEXT: v_perm_b32 v0, v30, v0, s4
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v1, v2, s4
; GFX9-NEXT: v_lshl_or_b32 v0, v1, 16, v0
; GFX9-NEXT: buffer_store_dword v0, v62, s[0:3], 0 offen offset:116
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:328 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:312 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_perm_b32 v1, v1, v2, s4
-; GFX9-NEXT: v_perm_b32 v0, v58, v0, s4
+; GFX9-NEXT: v_perm_b32 v0, v41, v0, s4
; GFX9-NEXT: v_lshl_or_b32 v0, v1, 16, v0
; GFX9-NEXT: buffer_store_dword v0, v62, s[0:3], 0 offen offset:120
; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:304 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(2)
-; GFX9-NEXT: v_perm_b32 v0, v59, v0, s4
+; GFX9-NEXT: v_perm_b32 v0, v42, v0, s4
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v1, v2, s4
; GFX9-NEXT: v_lshl_or_b32 v0, v1, 16, v0
@@ -156201,202 +156267,192 @@ define <128 x i8> @bitcast_v64bf16_to_v128i8(<64 x bfloat> %a, i32 %b) #0 {
; GFX11-TRUE16: ; %bb.0:
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
; GFX11-TRUE16-NEXT: s_clause 0x1f ; 128-byte Folded Spill
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v40, s32 offset:172
-; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v41, s32 offset:168
-; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v42, s32 offset:164
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v40, s32 offset:152
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v43, s32 offset:160
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v41, s32 offset:148
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v44, s32 offset:156
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v42, s32 offset:144
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v45, s32 offset:152
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v43, s32 offset:140
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v46, s32 offset:148
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v44, s32 offset:136
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v47, s32 offset:144
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v45, s32 offset:132
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v56, s32 offset:140
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v46, s32 offset:128
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v57, s32 offset:136
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v47, s32 offset:124
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v58, s32 offset:132
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v56, s32 offset:120
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v59, s32 offset:128
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v57, s32 offset:116
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v60, s32 offset:124
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v58, s32 offset:112
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v61, s32 offset:120
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v59, s32 offset:108
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v62, s32 offset:116
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v60, s32 offset:104
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v63, s32 offset:112
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v61, s32 offset:100
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v72, s32 offset:108
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v62, s32 offset:96
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v73, s32 offset:104
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v63, s32 offset:92
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v74, s32 offset:100
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v72, s32 offset:88
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v75, s32 offset:96
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v73, s32 offset:84
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v76, s32 offset:92
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v74, s32 offset:80
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v77, s32 offset:88
-; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v78, s32 offset:84
-; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v79, s32 offset:80
-; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v88, s32 offset:76
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v75, s32 offset:76
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v89, s32 offset:72
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v76, s32 offset:72
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v90, s32 offset:68
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v77, s32 offset:68
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v91, s32 offset:64
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v78, s32 offset:64
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v92, s32 offset:60
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v79, s32 offset:60
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v93, s32 offset:56
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v88, s32 offset:56
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v94, s32 offset:52
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v89, s32 offset:52
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v95, s32 offset:48
-; GFX11-TRUE16-NEXT: s_clause 0x8 ; 36-byte Folded Spill
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v104, s32 offset:44
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v90, s32 offset:48
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v105, s32 offset:40
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v91, s32 offset:44
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v106, s32 offset:36
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v92, s32 offset:40
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v107, s32 offset:32
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v93, s32 offset:36
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v108, s32 offset:28
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v94, s32 offset:32
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v109, s32 offset:24
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v95, s32 offset:28
+; GFX11-TRUE16-NEXT: s_clause 0x3 ; 16-byte Folded Spill
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v104, s32 offset:24
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v110, s32 offset:20
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v105, s32 offset:20
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v111, s32 offset:16
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v106, s32 offset:16
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v120, s32 offset:12
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v107, s32 offset:12
; GFX11-TRUE16-NEXT: s_clause 0x2
; GFX11-TRUE16-NEXT: scratch_load_b32 v31, off, s32 offset:8
-; GFX11-TRUE16-NEXT: scratch_load_b32 v83, off, s32 offset:4
-; GFX11-TRUE16-NEXT: scratch_load_b32 v82, off, s32
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr181_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr120_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr64_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr146_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr180_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr111_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr110_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr183_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr109_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr66_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr145_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr182_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr108_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr107_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr146_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr106_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr68_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr144_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr145_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr105_lo16
+; GFX11-TRUE16-NEXT: scratch_load_b32 v103, off, s32 offset:4
+; GFX11-TRUE16-NEXT: scratch_load_b32 v102, off, s32
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr107_hi16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr104_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr131_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr94_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr70_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr131_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr144_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr67_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr148_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr106_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr105_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr95_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr148_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr94_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr82_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr147_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr147_hi16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr93_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr128_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr90_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr92_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr146_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr115_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr84_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr146_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr134_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr91_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr90_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr130_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr89_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr98_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr128_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr112_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr134_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr116_hi16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr88_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr79_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr100_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr78_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr112_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr130_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr96_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr77_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr75_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr102_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr86_hi16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr74_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr117_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr115_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr115_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr128_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr116_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr80_hi16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr73_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr72_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr86_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr59_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr134_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr112_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr80_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr70_hi16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr60_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr58_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr96_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr132_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr100_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr69_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr61_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr59_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr65_hi16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr57_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr148_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr144_hi16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr86_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr84_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr46_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr64_hi16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr44_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr43_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr119_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr103_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr132_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr76_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr117_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr39_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr63_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr97_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr92_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr151_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr91_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr160_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr62_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr33_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr129_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr114_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr150_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr89_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr79_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr58_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr56_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr161_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr78_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr47_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr35_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr113_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr160_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr77_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr76_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr163_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr63_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr37_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr100_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr162_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr62_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr61_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr165_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr85_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr48_hi16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr96_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr164_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr56_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr47_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr167_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr151_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr46_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr45_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr166_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr43_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr164_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr71_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr37_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr70_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr162_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr81_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr42_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr177_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr166_hi16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr41_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr176_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr48_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr69_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr163_hi16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr40_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr147_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr149_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr176_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr135_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr165_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr131_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr101_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr177_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr87_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr167_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr66_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr183_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr179_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr116_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr182_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr178_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr87_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr81_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr181_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr180_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr50_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr102_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr80_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr52_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr84_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr65_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr54_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr80_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr64_lo16
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(2)
; GFX11-TRUE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v31
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr31_hi16
@@ -156405,143 +156461,145 @@ define <128 x i8> @bitcast_v64bf16_to_v128i8(<64 x bfloat> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: s_xor_b32 s0, exec_lo, s0
; GFX11-TRUE16-NEXT: s_cbranch_execz .LBB90_2
; GFX11-TRUE16-NEXT: ; %bb.1: ; %cmp.false
-; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(1)
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v31, 24, v83
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v32, 8, v83
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v31, 8, v5
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v32, 8, v30
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v33, 8, v29
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v34, 24, v28
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v35, 8, v28
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v36, 8, v27
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v37, 24, v26
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v38, 8, v24
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v39, 8, v23
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v48, 24, v18
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[146:147], 24, v[5:6]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[147:148], 24, v[3:4]
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0)
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v33, 8, v82
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v34, 24, v30
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v35, 8, v25
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v36, 8, v18
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v37, 8, v17
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[144:145], 24, v[5:6]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[145:146], 24, v[3:4]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[64:65], 24, v[102:103]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[69:70], 24, v[25:26]
; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[86:87], 24, v[15:16]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[112:113], 24, v[13:14]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[115:116], 24, v[11:12]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[128:129], 24, v[9:10]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[131:132], 24, v[7:8]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[146:147], 24, v[1:2]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[80:81], 24, v[82:83]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[84:85], 24, v[29:30]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[102:103], 24, v[27:28]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[96:97], 24, v[25:26]
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v44, 24, v16
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v46, 8, v16
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[100:101], 24, v[13:14]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[116:117], 24, v[11:12]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[130:131], 24, v[9:10]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[134:135], 24, v[7:8]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[148:149], 24, v[1:2]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[65:66], 24, v[29:30]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[80:81], 24, v[27:28]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[70:71], 24, v[23:24]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[96:97], 24, v[21:22]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[114:115], 24, v[19:20]
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v43, 24, v16
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v44, 8, v16
; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v57, 8, v15
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v58, 24, v14
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v60, 8, v14
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v59, 8, v13
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v59, 24, v14
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v61, 8, v14
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v60, 8, v13
; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v72, 24, v12
; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v73, 8, v12
; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v74, 8, v11
; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v75, 24, v10
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v88, 8, v10
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v90, 8, v9
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v93, 24, v8
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v95, 8, v8
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v94, 8, v7
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v104, 24, v6
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v105, 8, v6
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v106, 8, v5
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v107, 24, v4
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v108, 8, v4
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v109, 8, v3
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v110, 24, v2
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v111, 8, v2
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v120, 8, v1
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v40, 8, v30
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v41, 8, v29
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v42, 24, v28
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v43, 8, v28
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v45, 8, v27
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v47, 24, v26
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v56, 8, v26
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v61, 24, v24
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v62, 8, v24
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v63, 8, v23
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v76, 24, v22
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v77, 8, v22
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v78, 8, v21
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v79, 24, v20
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v89, 8, v20
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v91, 8, v19
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v92, 24, v18
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v147.l, v34.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v116.l, v33.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v87.l, v32.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v81.l, v31.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v85.l, v35.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v103.l, v37.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v97.l, v36.l
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[100:101], 24, v[23:24]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[113:114], 24, v[21:22]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[129:130], 24, v[19:20]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[132:133], 24, v[17:18]
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v181.h, v1.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v64.h, v1.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v180.h, v2.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v65.h, v2.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v183.h, v3.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v66.h, v3.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v182.h, v4.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v67.h, v4.h
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v77, 8, v10
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v78, 8, v9
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v79, 24, v8
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v88, 8, v8
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v89, 8, v7
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v90, 24, v6
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v91, 8, v6
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v92, 24, v4
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v93, 8, v4
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v94, 8, v3
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v95, 24, v2
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v105, 8, v2
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v104, 8, v1
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v180, 24, v103
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v181, 8, v103
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v182, 8, v102
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v183, 24, v30
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v40, 8, v26
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v41, 8, v25
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v42, 24, v24
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v45, 24, v22
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v46, 8, v22
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v47, 8, v21
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v56, 24, v20
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v58, 8, v20
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v62, 8, v19
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v63, 8, v18
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v76, 8, v17
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v149.l, v37.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v135.l, v36.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v131.l, v35.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v101.l, v34.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v87.l, v33.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v66.l, v32.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v71.l, v39.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v81.l, v38.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v97.l, v48.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v115.l, v31.l
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[117:118], 24, v[17:18]
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v107.h, v1.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v67.h, v1.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v106.h, v2.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v68.h, v2.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v148.h, v3.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v82.h, v3.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v147.h, v4.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v83.h, v4.h
; GFX11-TRUE16-NEXT: v_mov_b16_e64 v146.h, v5.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v68.h, v5.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v145.h, v6.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v69.h, v6.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v131.h, v7.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v70.h, v7.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v144.h, v8.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v71.h, v8.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v128.h, v9.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v98.h, v9.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v112.h, v10.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v99.h, v10.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v102.h, v11.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v117.h, v11.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v115.h, v12.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v118.h, v12.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v86.h, v13.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v134.h, v13.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v80.h, v14.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v135.h, v14.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v96.h, v15.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v148.h, v15.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v84.h, v16.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v149.h, v16.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v84.h, v5.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v134.h, v6.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v85.h, v6.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v130.h, v7.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v98.h, v7.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v116.h, v8.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v99.h, v8.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v100.h, v9.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v112.h, v9.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v96.h, v10.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v113.h, v10.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v86.h, v11.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v128.h, v11.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v80.h, v12.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v129.h, v12.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v70.h, v13.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v132.h, v13.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v69.h, v14.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v133.h, v14.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v65.h, v15.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v144.h, v15.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v64.h, v16.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v145.h, v16.h
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v119.h, v17.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v31.h, v17.h
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v39.h, v18.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v32.h, v18.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v151.h, v19.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v160.h, v19.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v33.h, v19.h
; GFX11-TRUE16-NEXT: v_mov_b16_e64 v150.h, v20.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v34.h, v20.h
; GFX11-TRUE16-NEXT: v_mov_b16_e64 v161.h, v21.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v35.h, v21.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v160.h, v22.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v151.h, v22.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v36.h, v22.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v163.h, v23.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v164.h, v23.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v37.h, v23.h
; GFX11-TRUE16-NEXT: v_mov_b16_e64 v162.h, v24.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v38.h, v24.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v165.h, v25.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v166.h, v25.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v48.h, v25.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v164.h, v26.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v163.h, v26.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v49.h, v26.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v167.h, v27.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v176.h, v27.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v50.h, v27.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v166.h, v28.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v165.h, v28.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v51.h, v28.h
; GFX11-TRUE16-NEXT: v_mov_b16_e64 v177.h, v29.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v52.h, v29.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v176.h, v30.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v167.h, v30.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v53.h, v30.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v179.h, v82.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v54.h, v82.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v178.h, v83.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v55.h, v83.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v179.h, v102.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v54.h, v102.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v178.h, v103.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v55.h, v103.h
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr1
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr3
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr5
@@ -156557,7 +156615,7 @@ define <128 x i8> @bitcast_v64bf16_to_v128i8(<64 x bfloat> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr25
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr27
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr29
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr83
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr103
; GFX11-TRUE16-NEXT: .LBB90_2: ; %Flow
; GFX11-TRUE16-NEXT: s_and_not1_saveexec_b32 s0, s0
; GFX11-TRUE16-NEXT: s_cbranch_execz .LBB90_4
@@ -156606,10 +156664,11 @@ define <128 x i8> @bitcast_v64bf16_to_v128i8(<64 x bfloat> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v20, v20
; GFX11-TRUE16-NEXT: v_or_b32_e32 v34, 0x400000, v18
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v31.l, v119.h
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v92, 24, v32
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v63, 8, v32
; GFX11-TRUE16-NEXT: v_add3_u32 v33, v33, v20, 0x7fff
; GFX11-TRUE16-NEXT: v_bfe_u32 v20, v36, 16, 1
-; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_2) | instskip(SKIP_2) | instid1(VALU_DEP_4)
+; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(NEXT) | instid1(VALU_DEP_3)
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v76, 8, v31
; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v150, v33, v35, vcc_lo
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v18, v18
; GFX11-TRUE16-NEXT: v_add_f32_e32 v19, 0x40c00000, v19
@@ -156621,28 +156680,27 @@ define <128 x i8> @bitcast_v64bf16_to_v128i8(<64 x bfloat> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_or_b32_e32 v33, 0x400000, v19
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v19, v19
; GFX11-TRUE16-NEXT: v_add3_u32 v17, v17, v19, 0x7fff
-; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_2) | instid1(VALU_DEP_3)
-; GFX11-TRUE16-NEXT: v_dual_cndmask_b32 v151, v17, v33 :: v_dual_and_b32 v18, 0xffff0000, v22
+; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_2) | instid1(VALU_DEP_1)
+; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v160, v17, v33, vcc_lo
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v36, v36
-; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v22, 16, v22
-; GFX11-TRUE16-NEXT: v_dual_add_f32 v18, 0x40c00000, v18 :: v_dual_cndmask_b32 v33, v20, v35
+; GFX11-TRUE16-NEXT: v_dual_cndmask_b32 v33, v20, v35 :: v_dual_and_b32 v18, 0xffff0000, v22
+; GFX11-TRUE16-NEXT: v_add_f32_e32 v18, 0x40c00000, v18
; GFX11-TRUE16-NEXT: v_and_b32_e32 v20, 0xffff0000, v21
-; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
-; GFX11-TRUE16-NEXT: v_dual_add_f32 v22, 0x40c00000, v22 :: v_dual_lshlrev_b32 v21, 16, v21
+; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v21, 16, v21
+; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v22, 16, v22
+; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_1) | instid1(VALU_DEP_3)
; GFX11-TRUE16-NEXT: v_bfe_u32 v17, v18, 16, 1
; GFX11-TRUE16-NEXT: v_or_b32_e32 v36, 0x400000, v18
-; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_4)
-; GFX11-TRUE16-NEXT: v_dual_add_f32 v20, 0x40c00000, v20 :: v_dual_add_f32 v21, 0x40c00000, v21
+; GFX11-TRUE16-NEXT: v_dual_add_f32 v21, 0x40c00000, v21 :: v_dual_add_f32 v22, 0x40c00000, v22
+; GFX11-TRUE16-NEXT: v_add_f32_e32 v20, 0x40c00000, v20
+; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(NEXT) | instid1(VALU_DEP_3)
+; GFX11-TRUE16-NEXT: v_add3_u32 v17, v17, v18, 0x7fff
; GFX11-TRUE16-NEXT: v_bfe_u32 v19, v22, 16, 1
; GFX11-TRUE16-NEXT: v_or_b32_e32 v35, 0x400000, v22
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v22, v22
-; GFX11-TRUE16-NEXT: v_add3_u32 v17, v17, v18, 0x7fff
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v33.l, v151.h
+; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_1)
; GFX11-TRUE16-NEXT: v_add3_u32 v19, v19, v22, 0x7fff
-; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v22, 16, v24
-; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v91, 8, v33
-; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v160, v19, v35, vcc_lo
+; GFX11-TRUE16-NEXT: v_dual_cndmask_b32 v151, v19, v35 :: v_dual_lshlrev_b32 v22, 16, v24
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v18, v18
; GFX11-TRUE16-NEXT: v_bfe_u32 v19, v20, 16, 1
; GFX11-TRUE16-NEXT: v_and_b32_e32 v18, 0xffff0000, v24
@@ -156653,11 +156711,11 @@ define <128 x i8> @bitcast_v64bf16_to_v128i8(<64 x bfloat> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v21, v21
; GFX11-TRUE16-NEXT: v_add3_u32 v19, v19, v20, 0x7fff
; GFX11-TRUE16-NEXT: v_add_f32_e32 v18, 0x40c00000, v18
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v36.l, v160.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v36.l, v151.h
; GFX11-TRUE16-NEXT: v_add3_u32 v17, v17, v21, 0x7fff
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v21, 16, v23
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v76, 24, v36
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v45, 24, v36
; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v161, v17, v24, vcc_lo
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v20, v20
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_4)
@@ -156674,7 +156732,7 @@ define <128 x i8> @bitcast_v64bf16_to_v128i8(<64 x bfloat> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_add3_u32 v19, v19, v22, 0x7fff
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v22, 16, v26
; GFX11-TRUE16-NEXT: v_mov_b16_e64 v35.l, v161.h
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v77, 8, v36
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v46, 8, v36
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_4)
; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v162, v19, v23, vcc_lo
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v18, v18
@@ -156690,9 +156748,10 @@ define <128 x i8> @bitcast_v64bf16_to_v128i8(<64 x bfloat> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_add_f32_e32 v18, 0x40c00000, v18
; GFX11-TRUE16-NEXT: v_add3_u32 v17, v17, v21, 0x7fff
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v21, 16, v25
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v78, 8, v35
-; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3)
-; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v163, v17, v23, vcc_lo
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v38.l, v162.h
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[96:97], 24, v[35:36]
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v47, 8, v35
+; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v164, v17, v23, vcc_lo
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v20, v20
; GFX11-TRUE16-NEXT: v_bfe_u32 v17, v18, 16, 1
; GFX11-TRUE16-NEXT: v_or_b32_e32 v23, 0x400000, v22
@@ -156706,9 +156765,9 @@ define <128 x i8> @bitcast_v64bf16_to_v128i8(<64 x bfloat> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_add_f32_e32 v20, 0x40c00000, v20
; GFX11-TRUE16-NEXT: v_add3_u32 v19, v19, v22, 0x7fff
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v22, 16, v28
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v37.l, v163.h
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v97, 24, v32
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3)
-; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v164, v19, v23, vcc_lo
+; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v163, v19, v23, vcc_lo
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v18, v18
; GFX11-TRUE16-NEXT: v_bfe_u32 v19, v20, 16, 1
; GFX11-TRUE16-NEXT: v_or_b32_e32 v23, 0x400000, v21
@@ -156722,9 +156781,9 @@ define <128 x i8> @bitcast_v64bf16_to_v128i8(<64 x bfloat> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_add_f32_e32 v18, 0x40c00000, v18
; GFX11-TRUE16-NEXT: v_add3_u32 v17, v17, v21, 0x7fff
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v21, 16, v27
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v63, 8, v37
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v49.l, v163.h
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3)
-; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v165, v17, v23, vcc_lo
+; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v166, v17, v23, vcc_lo
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v20, v20
; GFX11-TRUE16-NEXT: v_bfe_u32 v17, v18, 16, 1
; GFX11-TRUE16-NEXT: v_or_b32_e32 v23, 0x400000, v22
@@ -156737,9 +156796,10 @@ define <128 x i8> @bitcast_v64bf16_to_v128i8(<64 x bfloat> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_add_f32_e32 v20, 0x40c00000, v20
; GFX11-TRUE16-NEXT: v_add3_u32 v19, v19, v22, 0x7fff
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v22, 16, v30
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v48.l, v165.h
-; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3)
-; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v166, v19, v23, vcc_lo
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v40, 8, v49
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v42, 24, v38
+; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_4)
+; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v165, v19, v23, vcc_lo
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v18, v18
; GFX11-TRUE16-NEXT: v_bfe_u32 v19, v20, 16, 1
; GFX11-TRUE16-NEXT: v_or_b32_e32 v23, 0x400000, v21
@@ -156753,8 +156813,9 @@ define <128 x i8> @bitcast_v64bf16_to_v128i8(<64 x bfloat> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_add_f32_e32 v18, 0x40c00000, v18
; GFX11-TRUE16-NEXT: v_add3_u32 v17, v17, v21, 0x7fff
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v21, 16, v29
-; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_2)
-; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v167, v17, v23, vcc_lo
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v51.l, v165.h
+; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3)
+; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v176, v17, v23, vcc_lo
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v20, v20
; GFX11-TRUE16-NEXT: v_bfe_u32 v17, v18, 16, 1
; GFX11-TRUE16-NEXT: v_or_b32_e32 v23, 0x400000, v22
@@ -156767,14 +156828,13 @@ define <128 x i8> @bitcast_v64bf16_to_v128i8(<64 x bfloat> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_add_f32_e32 v20, 0x40c00000, v20
; GFX11-TRUE16-NEXT: v_add3_u32 v19, v19, v22, 0x7fff
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(1)
-; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v22, 16, v83
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v50.l, v167.h
-; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3)
-; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v176, v19, v23, vcc_lo
+; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v22, 16, v103
+; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_2)
+; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v167, v19, v23, vcc_lo
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v18, v18
; GFX11-TRUE16-NEXT: v_bfe_u32 v19, v20, 16, 1
; GFX11-TRUE16-NEXT: v_or_b32_e32 v23, 0x400000, v21
-; GFX11-TRUE16-NEXT: v_and_b32_e32 v18, 0xffff0000, v83
+; GFX11-TRUE16-NEXT: v_and_b32_e32 v18, 0xffff0000, v103
; GFX11-TRUE16-NEXT: v_add_f32_e32 v22, 0x40c00000, v22
; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v53, v17, v24, vcc_lo
; GFX11-TRUE16-NEXT: v_bfe_u32 v17, v21, 16, 1
@@ -156784,14 +156844,14 @@ define <128 x i8> @bitcast_v64bf16_to_v128i8(<64 x bfloat> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_add_f32_e32 v18, 0x40c00000, v18
; GFX11-TRUE16-NEXT: v_add3_u32 v17, v17, v21, 0x7fff
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0)
-; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v21, 16, v82
+; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v21, 16, v102
; GFX11-TRUE16-NEXT: v_mov_b16_e64 v34.l, v150.h
-; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3)
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v53.l, v167.h
; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v177, v17, v23, vcc_lo
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v20, v20
; GFX11-TRUE16-NEXT: v_bfe_u32 v17, v18, 16, 1
; GFX11-TRUE16-NEXT: v_or_b32_e32 v23, 0x400000, v22
-; GFX11-TRUE16-NEXT: v_and_b32_e32 v20, 0xffff0000, v82
+; GFX11-TRUE16-NEXT: v_and_b32_e32 v20, 0xffff0000, v102
; GFX11-TRUE16-NEXT: v_dual_add_f32 v21, 0x40c00000, v21 :: v_dual_cndmask_b32 v52, v19, v24
; GFX11-TRUE16-NEXT: v_bfe_u32 v19, v22, 16, 1
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v22, v22
@@ -156801,8 +156861,8 @@ define <128 x i8> @bitcast_v64bf16_to_v128i8(<64 x bfloat> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_add3_u32 v19, v19, v22, 0x7fff
; GFX11-TRUE16-NEXT: v_or_b32_e32 v22, 0x400000, v21
; GFX11-TRUE16-NEXT: v_mov_b16_e64 v52.l, v177.h
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v79, 24, v34
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v89, 8, v34
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v183, 24, v53
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v56, 24, v34
; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v178, v19, v23, vcc_lo
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v18, v18
; GFX11-TRUE16-NEXT: v_bfe_u32 v19, v20, 16, 1
@@ -156816,7 +156876,8 @@ define <128 x i8> @bitcast_v64bf16_to_v128i8(<64 x bfloat> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_add_f32_e32 v2, 0x40c00000, v2
; GFX11-TRUE16-NEXT: v_add_f32_e32 v18, 0x40c00000, v18
; GFX11-TRUE16-NEXT: v_add3_u32 v17, v17, v21, 0x7fff
-; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_2)
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v58, 8, v34
+; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(NEXT) | instid1(VALU_DEP_3)
; GFX11-TRUE16-NEXT: v_or_b32_e32 v21, 0x400000, v2
; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v179, v17, v22, vcc_lo
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v20, v20
@@ -156834,392 +156895,386 @@ define <128 x i8> @bitcast_v64bf16_to_v128i8(<64 x bfloat> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_mov_b16_e64 v54.l, v179.h
; GFX11-TRUE16-NEXT: v_bfe_u32 v2, v20, 16, 1
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3)
-; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v180, v19, v21, vcc_lo
+; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v106, v19, v21, vcc_lo
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v18, v18
; GFX11-TRUE16-NEXT: v_and_b32_e32 v18, 0xffff0000, v4
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v4, 16, v4
; GFX11-TRUE16-NEXT: v_or_b32_e32 v19, 0x400000, v1
; GFX11-TRUE16-NEXT: v_add3_u32 v2, v2, v20, 0x7fff
-; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v65, v17, v22, vcc_lo
+; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v68, v17, v22, vcc_lo
; GFX11-TRUE16-NEXT: v_bfe_u32 v17, v1, 16, 1
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v1, v1
+; GFX11-TRUE16-NEXT: v_add_f32_e32 v18, 0x40c00000, v18
; GFX11-TRUE16-NEXT: v_or_b32_e32 v21, 0x400000, v20
; GFX11-TRUE16-NEXT: v_add_f32_e32 v4, 0x40c00000, v4
-; GFX11-TRUE16-NEXT: v_add_f32_e32 v18, 0x40c00000, v18
; GFX11-TRUE16-NEXT: v_add3_u32 v17, v17, v1, 0x7fff
-; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)
+; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(NEXT) | instid1(VALU_DEP_2)
; GFX11-TRUE16-NEXT: v_bfe_u32 v1, v18, 16, 1
-; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v181, v17, v19, vcc_lo
+; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v107, v17, v19, vcc_lo
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v20, v20
; GFX11-TRUE16-NEXT: v_and_b32_e32 v17, 0xffff0000, v3
-; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v3, 16, v3
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v19, 0x400000, v4
-; GFX11-TRUE16-NEXT: v_add3_u32 v1, v1, v18, 0x7fff
-; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v64, v2, v21, vcc_lo
+; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_4)
+; GFX11-TRUE16-NEXT: v_add3_u32 v19, v1, v18, 0x7fff
+; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v1, 16, v3
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v3, 0x400000, v4
+; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v67, v2, v21, vcc_lo
; GFX11-TRUE16-NEXT: v_bfe_u32 v2, v4, 16, 1
+; GFX11-TRUE16-NEXT: v_add_f32_e32 v17, 0x40c00000, v17
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v4, v4
+; GFX11-TRUE16-NEXT: v_add_f32_e32 v21, 0x40c00000, v1
; GFX11-TRUE16-NEXT: v_or_b32_e32 v20, 0x400000, v18
-; GFX11-TRUE16-NEXT: v_add_f32_e32 v3, 0x40c00000, v3
-; GFX11-TRUE16-NEXT: v_add_f32_e32 v17, 0x40c00000, v17
; GFX11-TRUE16-NEXT: v_add3_u32 v2, v2, v4, 0x7fff
; GFX11-TRUE16-NEXT: v_and_b32_e32 v4, 0xffff0000, v6
-; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v6, 16, v6
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v64.l, v181.h
-; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_4)
-; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v182, v2, v19, vcc_lo
-; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v18, v18
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v67.l, v107.h
+; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3)
+; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v1, v2, v3, vcc_lo
; GFX11-TRUE16-NEXT: v_bfe_u32 v2, v17, 16, 1
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v18, 0x400000, v3
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v19, 0x400000, v17
-; GFX11-TRUE16-NEXT: v_add_f32_e32 v6, 0x40c00000, v6
-; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v67, v1, v20, vcc_lo
-; GFX11-TRUE16-NEXT: v_bfe_u32 v1, v3, 16, 1
-; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v3, v3
-; GFX11-TRUE16-NEXT: v_add3_u32 v2, v2, v17, 0x7fff
+; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v18, v18
+; GFX11-TRUE16-NEXT: v_bfe_u32 v3, v21, 16, 1
; GFX11-TRUE16-NEXT: v_add_f32_e32 v4, 0x40c00000, v4
-; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_3) | instid1(VALU_DEP_4)
-; GFX11-TRUE16-NEXT: v_add3_u32 v1, v1, v3, 0x7fff
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v104, 8, v67
+; GFX11-TRUE16-NEXT: v_add3_u32 v18, v2, v17, 0x7fff
+; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v2, 16, v6
+; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v83, v19, v20, vcc_lo
+; GFX11-TRUE16-NEXT: v_add3_u32 v3, v3, v21, 0x7fff
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v6, 0x400000, v21
+; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v21, v21
+; GFX11-TRUE16-NEXT: v_add_f32_e32 v20, 0x40c00000, v2
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v19, 0x400000, v17
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v83.l, v1.h
+; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v2, v3, v6, vcc_lo
+; GFX11-TRUE16-NEXT: v_bfe_u32 v3, v4, 16, 1
+; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v17, v17
+; GFX11-TRUE16-NEXT: v_bfe_u32 v6, v20, 16, 1
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v92, 24, v83
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v93, 8, v83
+; GFX11-TRUE16-NEXT: v_add3_u32 v17, v3, v4, 0x7fff
+; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v82, v18, v19, vcc_lo
; GFX11-TRUE16-NEXT: v_and_b32_e32 v3, 0xffff0000, v5
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v5, 16, v5
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v45, 8, v50
-; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v183, v1, v18, vcc_lo
-; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v17, v17
-; GFX11-TRUE16-NEXT: v_bfe_u32 v1, v4, 16, 1
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v17, 0x400000, v6
+; GFX11-TRUE16-NEXT: v_add3_u32 v6, v6, v20, 0x7fff
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v18, 0x400000, v20
+; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v20, v20
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v19, 0x400000, v4
+; GFX11-TRUE16-NEXT: v_add_f32_e32 v21, 0x40c00000, v3
; GFX11-TRUE16-NEXT: v_add_f32_e32 v5, 0x40c00000, v5
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v18, 0x400000, v4
-; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v66, v2, v19, vcc_lo
-; GFX11-TRUE16-NEXT: v_bfe_u32 v2, v6, 16, 1
-; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v6, v6
-; GFX11-TRUE16-NEXT: v_add3_u32 v1, v1, v4, 0x7fff
-; GFX11-TRUE16-NEXT: v_add_f32_e32 v3, 0x40c00000, v3
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v66.l, v183.h
-; GFX11-TRUE16-NEXT: v_add3_u32 v2, v2, v6, 0x7fff
-; GFX11-TRUE16-NEXT: v_and_b32_e32 v6, 0xffff0000, v8
-; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v8, 16, v8
-; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3)
-; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v2, v2, v17, vcc_lo
+; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v3, v6, v18, vcc_lo
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v4, v4
-; GFX11-TRUE16-NEXT: v_bfe_u32 v4, v5, 16, 1
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v17, 0x400000, v5
-; GFX11-TRUE16-NEXT: v_add_f32_e32 v6, 0x40c00000, v6
-; GFX11-TRUE16-NEXT: v_add_f32_e32 v8, 0x40c00000, v8
-; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v69, v1, v18, vcc_lo
-; GFX11-TRUE16-NEXT: v_bfe_u32 v1, v3, 16, 1
-; GFX11-TRUE16-NEXT: v_add3_u32 v4, v4, v5, 0x7fff
+; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(NEXT) | instid1(VALU_DEP_4)
+; GFX11-TRUE16-NEXT: v_bfe_u32 v4, v21, 16, 1
+; GFX11-TRUE16-NEXT: v_bfe_u32 v6, v5, 16, 1
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v18, 0x400000, v5
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v33.l, v160.h
+; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v85, v17, v19, vcc_lo
+; GFX11-TRUE16-NEXT: v_and_b32_e32 v17, 0xffff0000, v8
+; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v8, 16, v8
+; GFX11-TRUE16-NEXT: v_add3_u32 v6, v6, v5, 0x7fff
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v5, v5
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v18, 0x400000, v3
-; GFX11-TRUE16-NEXT: v_bfe_u32 v5, v6, 16, 1
-; GFX11-TRUE16-NEXT: v_add3_u32 v1, v1, v3, 0x7fff
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v120, 8, v64
-; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v4, v4, v17, vcc_lo
-; GFX11-TRUE16-NEXT: v_bfe_u32 v17, v8, 16, 1
-; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v3, v3
-; GFX11-TRUE16-NEXT: v_and_b32_e32 v3, 0xffff0000, v7
-; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v7, 16, v7
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v41, 8, v52
-; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v68, v1, v18, vcc_lo
-; GFX11-TRUE16-NEXT: v_add3_u32 v1, v5, v6, 0x7fff
-; GFX11-TRUE16-NEXT: v_add3_u32 v5, v17, v8, 0x7fff
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v17, 0x400000, v8
+; GFX11-TRUE16-NEXT: v_add3_u32 v4, v4, v21, 0x7fff
+; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_3) | instid1(VALU_DEP_4)
+; GFX11-TRUE16-NEXT: v_dual_add_f32 v17, 0x40c00000, v17 :: v_dual_add_f32 v8, 0x40c00000, v8
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v19, 0x400000, v21
+; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v5, v6, v18, vcc_lo
+; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v21, v21
+; GFX11-TRUE16-NEXT: v_bfe_u32 v6, v17, 16, 1
+; GFX11-TRUE16-NEXT: v_bfe_u32 v18, v8, 16, 1
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v20, 0x400000, v17
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v85.l, v3.h
+; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v84, v4, v19, vcc_lo
+; GFX11-TRUE16-NEXT: v_add3_u32 v4, v6, v17, 0x7fff
+; GFX11-TRUE16-NEXT: v_and_b32_e32 v6, 0xffff0000, v7
+; GFX11-TRUE16-NEXT: v_add3_u32 v18, v18, v8, 0x7fff
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v19, 0x400000, v8
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v8, v8
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v18, 0x400000, v6
-; GFX11-TRUE16-NEXT: v_add_f32_e32 v3, 0x40c00000, v3
-; GFX11-TRUE16-NEXT: v_dual_add_f32 v7, 0x40c00000, v7 :: v_dual_lshlrev_b32 v8, 16, v10
-; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v5, v5, v17, vcc_lo
-; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v6, v6
-; GFX11-TRUE16-NEXT: v_and_b32_e32 v10, 0xffff0000, v10
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_4)
-; GFX11-TRUE16-NEXT: v_bfe_u32 v6, v7, 16, 1
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v17, 0x400000, v3
-; GFX11-TRUE16-NEXT: v_add_f32_e32 v8, 0x40c00000, v8
-; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v71, v1, v18, vcc_lo
-; GFX11-TRUE16-NEXT: v_bfe_u32 v1, v3, 16, 1
-; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v3, v3
-; GFX11-TRUE16-NEXT: v_add3_u32 v6, v6, v7, 0x7fff
+; GFX11-TRUE16-NEXT: v_dual_add_f32 v6, 0x40c00000, v6 :: v_dual_lshlrev_b32 v7, 16, v7
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v84.l, v5.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v48.l, v166.h
+; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v8, v18, v19, vcc_lo
+; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v17, v17
+; GFX11-TRUE16-NEXT: v_dual_add_f32 v7, 0x40c00000, v7 :: v_dual_lshlrev_b32 v18, 16, v10
+; GFX11-TRUE16-NEXT: v_and_b32_e32 v10, 0xffff0000, v10
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v19, 0x400000, v6
+; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v99, v4, v20, vcc_lo
+; GFX11-TRUE16-NEXT: v_bfe_u32 v4, v6, 16, 1
+; GFX11-TRUE16-NEXT: v_bfe_u32 v17, v7, 16, 1
+; GFX11-TRUE16-NEXT: v_add_f32_e32 v18, 0x40c00000, v18
+; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v6, v6
; GFX11-TRUE16-NEXT: v_add_f32_e32 v10, 0x40c00000, v10
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v18, 0x400000, v7
-; GFX11-TRUE16-NEXT: v_add3_u32 v1, v1, v3, 0x7fff
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v67.l, v182.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v71.l, v5.h
-; GFX11-TRUE16-NEXT: v_bfe_u32 v3, v10, 16, 1
-; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_4)
-; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v70, v1, v17, vcc_lo
-; GFX11-TRUE16-NEXT: v_bfe_u32 v1, v8, 16, 1
+; GFX11-TRUE16-NEXT: v_add3_u32 v4, v4, v6, 0x7fff
+; GFX11-TRUE16-NEXT: v_add3_u32 v17, v17, v7, 0x7fff
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v20, 0x400000, v7
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v37.l, v164.h
+; GFX11-TRUE16-NEXT: v_bfe_u32 v6, v10, 16, 1
+; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v98, v4, v19, vcc_lo
+; GFX11-TRUE16-NEXT: v_bfe_u32 v4, v18, 16, 1
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v7, v7
-; GFX11-TRUE16-NEXT: v_and_b32_e32 v7, 0xffff0000, v9
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v17, 0x400000, v8
-; GFX11-TRUE16-NEXT: v_add3_u32 v3, v3, v10, 0x7fff
-; GFX11-TRUE16-NEXT: v_add3_u32 v1, v1, v8, 0x7fff
-; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v6, v6, v18, vcc_lo
-; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v8, v8
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v18, 0x400000, v10
-; GFX11-TRUE16-NEXT: v_add_f32_e32 v7, 0x40c00000, v7
-; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v8, 16, v9
-; GFX11-TRUE16-NEXT: v_and_b32_e32 v9, 0xffff0000, v12
-; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v1, v1, v17, vcc_lo
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v19, 0x400000, v18
+; GFX11-TRUE16-NEXT: v_add3_u32 v6, v6, v10, 0x7fff
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v50.l, v176.h
+; GFX11-TRUE16-NEXT: v_add3_u32 v4, v4, v18, 0x7fff
+; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v7, v17, v20, vcc_lo
+; GFX11-TRUE16-NEXT: v_and_b32_e32 v17, 0xffff0000, v9
+; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v18, v18
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v20, 0x400000, v10
+; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v9, 16, v9
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v98.l, v7.h
+; GFX11-TRUE16-NEXT: v_add_f32_e32 v17, 0x40c00000, v17
+; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v4, v4, v19, vcc_lo
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v10, v10
-; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v10, 16, v12
-; GFX11-TRUE16-NEXT: v_add_f32_e32 v8, 0x40c00000, v8
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v12, 0x400000, v7
; GFX11-TRUE16-NEXT: v_add_f32_e32 v9, 0x40c00000, v9
-; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v99, v3, v18, vcc_lo
-; GFX11-TRUE16-NEXT: v_bfe_u32 v3, v7, 16, 1
-; GFX11-TRUE16-NEXT: v_bfe_u32 v17, v8, 16, 1
+; GFX11-TRUE16-NEXT: v_and_b32_e32 v10, 0xffff0000, v12
+; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v12, 16, v12
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v18, 0x400000, v17
+; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v113, v6, v20, vcc_lo
+; GFX11-TRUE16-NEXT: v_bfe_u32 v6, v17, 16, 1
+; GFX11-TRUE16-NEXT: v_bfe_u32 v19, v9, 16, 1
; GFX11-TRUE16-NEXT: v_add_f32_e32 v10, 0x40c00000, v10
-; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v7, v7
-; GFX11-TRUE16-NEXT: v_and_b32_e32 v18, 0xffff0000, v11
-; GFX11-TRUE16-NEXT: v_add3_u32 v3, v3, v7, 0x7fff
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v7, 0x400000, v8
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v99.l, v1.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v38.l, v162.h
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v93, 24, v71
-; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v98, v3, v12, vcc_lo
-; GFX11-TRUE16-NEXT: v_add3_u32 v3, v17, v8, 0x7fff
-; GFX11-TRUE16-NEXT: v_bfe_u32 v12, v10, 16, 1
-; GFX11-TRUE16-NEXT: v_bfe_u32 v17, v9, 16, 1
-; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v8, v8
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v8, 0x400000, v10
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[100:101], 24, v[37:38]
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v75, 24, v99
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v88, 8, v99
-; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v3, v3, v7, vcc_lo
-; GFX11-TRUE16-NEXT: v_add3_u32 v7, v12, v10, 0x7fff
-; GFX11-TRUE16-NEXT: v_add3_u32 v12, v17, v9, 0x7fff
-; GFX11-TRUE16-NEXT: v_add_f32_e32 v17, 0x40c00000, v18
-; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v10, v10
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v18, 0x400000, v9
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v98.l, v3.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v49.l, v164.h
-; GFX11-TRUE16-NEXT: v_bfe_u32 v10, v17, 16, 1
-; GFX11-TRUE16-NEXT: v_dual_cndmask_b32 v7, v7, v8 :: v_dual_lshlrev_b32 v8, 16, v11
-; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v9, v9
-; GFX11-TRUE16-NEXT: v_and_b32_e32 v11, 0xffff0000, v14
-; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_4)
-; GFX11-TRUE16-NEXT: v_add3_u32 v9, v10, v17, 0x7fff
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v10, 0x400000, v17
-; GFX11-TRUE16-NEXT: v_add_f32_e32 v8, 0x40c00000, v8
-; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v118, v12, v18, vcc_lo
+; GFX11-TRUE16-NEXT: v_add_f32_e32 v12, 0x40c00000, v12
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v17, v17
-; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v12, 16, v14
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v69.l, v2.h
-; GFX11-TRUE16-NEXT: v_bfe_u32 v14, v8, 16, 1
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v51.l, v166.h
-; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v117, v9, v10, vcc_lo
-; GFX11-TRUE16-NEXT: v_dual_add_f32 v9, 0x40c00000, v11 :: v_dual_add_f32 v10, 0x40c00000, v12
-; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_2) | instid1(VALU_DEP_4)
-; GFX11-TRUE16-NEXT: v_add3_u32 v11, v14, v8, 0x7fff
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v12, 0x400000, v8
-; GFX11-TRUE16-NEXT: v_and_b32_e32 v14, 0xffff0000, v13
-; GFX11-TRUE16-NEXT: v_bfe_u32 v17, v9, 16, 1
-; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v8, v8
-; GFX11-TRUE16-NEXT: v_bfe_u32 v18, v10, 16, 1
-; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v13, 16, v13
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v68.l, v4.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v118.l, v7.h
-; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v8, v11, v12, vcc_lo
-; GFX11-TRUE16-NEXT: v_add_f32_e32 v11, 0x40c00000, v14
-; GFX11-TRUE16-NEXT: v_add3_u32 v12, v17, v9, 0x7fff
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v14, 0x400000, v9
+; GFX11-TRUE16-NEXT: v_add3_u32 v6, v6, v17, 0x7fff
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v17, 0x400000, v9
+; GFX11-TRUE16-NEXT: v_and_b32_e32 v20, 0xffff0000, v11
+; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v11, 16, v11
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v55.l, v178.h
+; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v112, v6, v18, vcc_lo
+; GFX11-TRUE16-NEXT: v_add3_u32 v6, v19, v9, 0x7fff
+; GFX11-TRUE16-NEXT: v_bfe_u32 v18, v12, 16, 1
+; GFX11-TRUE16-NEXT: v_bfe_u32 v19, v10, 16, 1
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v9, v9
-; GFX11-TRUE16-NEXT: v_add3_u32 v17, v18, v10, 0x7fff
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v18, 0x400000, v10
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v113.l, v4.h
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[69:70], 24, v[48:49]
+; GFX11-TRUE16-NEXT: v_add3_u32 v9, v18, v12, 0x7fff
+; GFX11-TRUE16-NEXT: v_add3_u32 v18, v19, v10, 0x7fff
+; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v6, v6, v17, vcc_lo
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v17, 0x400000, v12
+; GFX11-TRUE16-NEXT: v_add_f32_e32 v19, 0x40c00000, v20
+; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v12, v12
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v20, 0x400000, v10
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v112.l, v6.h
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[64:65], 24, v[54:55]
+; GFX11-TRUE16-NEXT: v_bfe_u32 v12, v19, 16, 1
+; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v9, v9, v17, vcc_lo
+; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v10, v10
+; GFX11-TRUE16-NEXT: v_add_f32_e32 v10, 0x40c00000, v11
+; GFX11-TRUE16-NEXT: v_and_b32_e32 v17, 0xffff0000, v14
+; GFX11-TRUE16-NEXT: v_add3_u32 v11, v12, v19, 0x7fff
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v12, 0x400000, v19
+; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v129, v18, v20, vcc_lo
+; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v19, v19
+; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v14, 16, v14
+; GFX11-TRUE16-NEXT: v_bfe_u32 v18, v10, 16, 1
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v129.l, v9.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v68.l, v106.h
+; GFX11-TRUE16-NEXT: v_dual_cndmask_b32 v128, v11, v12 :: v_dual_add_f32 v11, 0x40c00000, v17
+; GFX11-TRUE16-NEXT: v_add_f32_e32 v12, 0x40c00000, v14
+; GFX11-TRUE16-NEXT: v_add3_u32 v14, v18, v10, 0x7fff
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v17, 0x400000, v10
+; GFX11-TRUE16-NEXT: v_and_b32_e32 v18, 0xffff0000, v13
; GFX11-TRUE16-NEXT: v_bfe_u32 v19, v11, 16, 1
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v53.l, v176.h
-; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v135, v12, v14, vcc_lo
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v10, v10
-; GFX11-TRUE16-NEXT: v_add_f32_e32 v10, 0x40c00000, v13
-; GFX11-TRUE16-NEXT: v_add3_u32 v12, v19, v11, 0x7fff
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v13, 0x400000, v11
-; GFX11-TRUE16-NEXT: v_and_b32_e32 v14, 0xffff0000, v16
-; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v9, v17, v18, vcc_lo
+; GFX11-TRUE16-NEXT: v_bfe_u32 v20, v12, 16, 1
+; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v13, 16, v13
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[130:131], 24, v[112:113]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[65:66], 24, v[52:53]
+; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v10, v14, v17, vcc_lo
+; GFX11-TRUE16-NEXT: v_add_f32_e32 v14, 0x40c00000, v18
+; GFX11-TRUE16-NEXT: v_add3_u32 v17, v19, v11, 0x7fff
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v18, 0x400000, v11
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v11, v11
-; GFX11-TRUE16-NEXT: v_bfe_u32 v17, v10, 16, 1
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v55.l, v178.h
-; GFX11-TRUE16-NEXT: v_dual_add_f32 v11, 0x40c00000, v14 :: v_dual_lshlrev_b32 v14, 16, v15
-; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v134, v12, v13, vcc_lo
-; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v12, 16, v16
-; GFX11-TRUE16-NEXT: v_add3_u32 v13, v17, v10, 0x7fff
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v16, 0x400000, v10
-; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v10, v10
-; GFX11-TRUE16-NEXT: v_bfe_u32 v17, v11, 16, 1
-; GFX11-TRUE16-NEXT: v_add_f32_e32 v12, 0x40c00000, v12
+; GFX11-TRUE16-NEXT: v_add3_u32 v19, v20, v12, 0x7fff
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v20, 0x400000, v12
+; GFX11-TRUE16-NEXT: v_bfe_u32 v21, v14, 16, 1
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v128.l, v10.h
+; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v133, v17, v18, vcc_lo
+; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v12, v12
+; GFX11-TRUE16-NEXT: v_add_f32_e32 v12, 0x40c00000, v13
+; GFX11-TRUE16-NEXT: v_add3_u32 v13, v21, v14, 0x7fff
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v17, 0x400000, v14
+; GFX11-TRUE16-NEXT: v_and_b32_e32 v18, 0xffff0000, v16
+; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v11, v19, v20, vcc_lo
+; GFX11-TRUE16-NEXT: v_bfe_u32 v19, v12, 16, 1
+; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v14, v14
+; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v14, 16, v16
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[146:147], 24, v[84:85]
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v133.l, v11.h
+; GFX11-TRUE16-NEXT: v_add3_u32 v16, v19, v12, 0x7fff
+; GFX11-TRUE16-NEXT: v_dual_cndmask_b32 v132, v13, v17 :: v_dual_add_f32 v13, 0x40c00000, v18
+; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v17, 16, v15
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v18, 0x400000, v12
; GFX11-TRUE16-NEXT: v_add_f32_e32 v14, 0x40c00000, v14
-; GFX11-TRUE16-NEXT: v_dual_cndmask_b32 v10, v13, v16 :: v_dual_and_b32 v15, 0xffff0000, v15
-; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(NEXT) | instid1(VALU_DEP_4)
-; GFX11-TRUE16-NEXT: v_add3_u32 v16, v17, v11, 0x7fff
-; GFX11-TRUE16-NEXT: v_bfe_u32 v13, v12, 16, 1
-; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_4)
-; GFX11-TRUE16-NEXT: v_bfe_u32 v17, v14, 16, 1
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v19, 0x400000, v12
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v12, v12
-; GFX11-TRUE16-NEXT: v_add_f32_e32 v15, 0x40c00000, v15
-; GFX11-TRUE16-NEXT: v_add3_u32 v13, v13, v12, 0x7fff
-; GFX11-TRUE16-NEXT: v_add3_u32 v17, v17, v14, 0x7fff
+; GFX11-TRUE16-NEXT: v_bfe_u32 v19, v13, 16, 1
+; GFX11-TRUE16-NEXT: v_add_f32_e32 v17, 0x40c00000, v17
+; GFX11-TRUE16-NEXT: v_and_b32_e32 v15, 0xffff0000, v15
; GFX11-TRUE16-NEXT: v_or_b32_e32 v21, 0x400000, v14
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v18, 0x400000, v11
-; GFX11-TRUE16-NEXT: v_bfe_u32 v20, v15, 16, 1
-; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v12, v13, v19, vcc_lo
+; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v12, v16, v18, vcc_lo
+; GFX11-TRUE16-NEXT: v_bfe_u32 v16, v14, 16, 1
+; GFX11-TRUE16-NEXT: v_add3_u32 v18, v19, v13, 0x7fff
+; GFX11-TRUE16-NEXT: v_bfe_u32 v19, v17, 16, 1
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v14, v14
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v19, 0x400000, v15
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v135.l, v9.h
-; GFX11-TRUE16-NEXT: v_add3_u32 v13, v20, v15, 0x7fff
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v134.l, v10.h
-; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v14, v17, v21, vcc_lo
-; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v11, v11
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v70.l, v6.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v117.l, v8.h
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[144:145], 24, v[68:69]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[112:113], 24, v[134:135]
-; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v149, v16, v18, vcc_lo
+; GFX11-TRUE16-NEXT: v_add_f32_e32 v15, 0x40c00000, v15
+; GFX11-TRUE16-NEXT: v_add3_u32 v16, v16, v14, 0x7fff
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v23, 0x400000, v17
+; GFX11-TRUE16-NEXT: v_add3_u32 v19, v19, v17, 0x7fff
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v20, 0x400000, v13
+; GFX11-TRUE16-NEXT: v_bfe_u32 v22, v15, 16, 1
+; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v14, v16, v21, vcc_lo
+; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v17, v17
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v21, 0x400000, v15
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v82.l, v2.h
+; GFX11-TRUE16-NEXT: v_add3_u32 v16, v22, v15, 0x7fff
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v99.l, v8.h
+; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v17, v19, v23, vcc_lo
+; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v13, v13
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v132.l, v12.h
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[116:117], 24, v[128:129]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[147:148], 24, v[82:83]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[134:135], 24, v[98:99]
+; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v145, v18, v20, vcc_lo
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v15, v15
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v65.l, v180.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v149.l, v12.h
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[128:129], 24, v[98:99]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[131:132], 24, v[70:71]
-; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v148, v13, v19, vcc_lo
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v148.l, v14.h
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[145:146], 24, v[66:67]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[115:116], 24, v[117:118]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[146:147], 24, v[64:65]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[80:81], 24, v[54:55]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[86:87], 24, v[148:149]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[84:85], 24, v[52:53]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[102:103], 24, v[50:51]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[96:97], 24, v[48:49]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[113:114], 24, v[35:36]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[129:130], 24, v[33:34]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[132:133], 24, v[31:32]
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v112.h, v1.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v131.h, v6.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v144.h, v5.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v146.h, v4.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v145.h, v2.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v115.h, v7.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v128.h, v3.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v145.l, v14.h
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[100:101], 24, v[132:133]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[148:149], 24, v[67:68]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[80:81], 24, v[50:51]
+; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v144, v16, v21, vcc_lo
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v144.l, v17.h
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[70:71], 24, v[37:38]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[114:115], 24, v[33:34]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[117:118], 24, v[31:32]
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v116.h, v8.h
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[86:87], 24, v[144:145]
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v146.h, v5.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v148.h, v2.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v134.h, v3.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v147.h, v1.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v69.h, v11.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v100.h, v6.h
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v80.h, v9.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v102.h, v8.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v96.h, v14.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v84.h, v12.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v130.h, v7.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v96.h, v4.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v65.h, v17.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v70.h, v12.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v64.h, v14.h
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v86.h, v10.h
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v44, 24, v149
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v46, 8, v149
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v57, 8, v148
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v58, 24, v135
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v60, 8, v135
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v59, 8, v134
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v72, 24, v118
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v73, 8, v118
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v74, 8, v117
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v90, 8, v98
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v95, 8, v71
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v94, 8, v70
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v104, 24, v69
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v105, 8, v69
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v106, 8, v68
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v107, 24, v67
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v108, 8, v67
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v109, 8, v66
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v110, 24, v65
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v111, 8, v65
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v81, 24, v55
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v87, 8, v55
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v116, 8, v54
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v147, 24, v53
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v40, 8, v53
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v42, 24, v51
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v43, 8, v51
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v47, 24, v49
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v56, 8, v49
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v85, 8, v48
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v61, 24, v38
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v62, 8, v38
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v97, 8, v32
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v103, 8, v31
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v43, 24, v145
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v44, 8, v145
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v57, 8, v144
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v59, 24, v133
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v61, 8, v133
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v60, 8, v132
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v72, 24, v129
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v73, 8, v129
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v74, 8, v128
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v75, 24, v113
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v77, 8, v113
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v78, 8, v112
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v79, 24, v99
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v88, 8, v99
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v89, 8, v98
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v90, 24, v85
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v91, 8, v85
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v115, 8, v84
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v94, 8, v82
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v95, 24, v68
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v105, 8, v68
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v180, 24, v55
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v181, 8, v55
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v182, 8, v54
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v66, 8, v53
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v87, 8, v52
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v101, 24, v51
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v131, 8, v51
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v135, 8, v50
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v149, 24, v49
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v41, 8, v48
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v81, 8, v38
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v71, 8, v37
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v62, 8, v33
; GFX11-TRUE16-NEXT: .LBB90_4: ; %end
; GFX11-TRUE16-NEXT: s_or_b32 exec_lo, exec_lo, s0
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v1.l, v181.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v2.l, v64.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v3.l, v180.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v4.l, v65.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v5.l, v183.h
-; GFX11-TRUE16-NEXT: v_perm_b32 v1, v1, v120, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v2, v2, v146, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v3, v3, v111, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v4, v4, v110, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v6.l, v67.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v1.l, v107.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v2.l, v67.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v3.l, v106.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v4.l, v68.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v5.l, v148.h
+; GFX11-TRUE16-NEXT: v_perm_b32 v1, v1, v104, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v2, v2, v148, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v3, v3, v105, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v4, v4, v95, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v6.l, v83.h
; GFX11-TRUE16-NEXT: v_mov_b16_e64 v7.l, v146.h
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v1, v2, 16, v1
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v8.l, v68.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v8.l, v84.h
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v2, v4, 16, v3
-; GFX11-TRUE16-NEXT: v_perm_b32 v3, v5, v109, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v4.l, v66.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v5.l, v182.h
-; GFX11-TRUE16-NEXT: v_perm_b32 v6, v6, v107, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v7, v7, v106, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v8, v8, v144, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v4, v4, v145, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v5, v5, v108, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v9.l, v145.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v10.l, v69.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v11.l, v71.h
+; GFX11-TRUE16-NEXT: v_perm_b32 v3, v5, v94, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v4.l, v82.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v5.l, v147.h
+; GFX11-TRUE16-NEXT: v_perm_b32 v6, v6, v92, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v7, v7, v115, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v8, v8, v146, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v4, v4, v147, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v5, v5, v93, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v9.l, v134.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v10.l, v85.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v11.l, v99.h
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v3, v4, 16, v3
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v4, v6, 16, v5
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v5, v8, 16, v7
-; GFX11-TRUE16-NEXT: v_perm_b32 v6, v9, v105, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v7, v10, v104, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v8.l, v131.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v9.l, v70.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v10.l, v144.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v12.l, v98.h
+; GFX11-TRUE16-NEXT: v_perm_b32 v6, v9, v91, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v7, v10, v90, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v8.l, v130.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v9.l, v98.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v10.l, v116.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v12.l, v112.h
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v6, v7, 16, v6
-; GFX11-TRUE16-NEXT: v_perm_b32 v7, v8, v94, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v8, v9, v131, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v9, v10, v95, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v10, v11, v93, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v11.l, v128.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v13.l, v112.h
+; GFX11-TRUE16-NEXT: v_perm_b32 v7, v8, v89, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v8, v9, v134, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v9, v10, v88, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v10, v11, v79, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v11.l, v100.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v13.l, v96.h
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v7, v8, 16, v7
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v14.l, v117.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v14.l, v128.h
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v8, v10, 16, v9
-; GFX11-TRUE16-NEXT: v_perm_b32 v9, v11, v90, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v10, v12, v128, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v11, v13, v88, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v12.l, v99.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v13.l, v102.h
-; GFX11-TRUE16-NEXT: v_perm_b32 v14, v14, v115, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v15.l, v115.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v16.l, v118.h
+; GFX11-TRUE16-NEXT: v_perm_b32 v9, v11, v78, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v10, v12, v130, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v11, v13, v77, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v12.l, v113.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v13.l, v86.h
+; GFX11-TRUE16-NEXT: v_perm_b32 v14, v14, v116, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v15.l, v80.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v16.l, v129.h
; GFX11-TRUE16-NEXT: v_perm_b32 v12, v12, v75, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v13, v13, v74, 0xc0c0004
; GFX11-TRUE16-NEXT: s_clause 0x1
; GFX11-TRUE16-NEXT: scratch_store_b128 v0, v[1:4], off
; GFX11-TRUE16-NEXT: scratch_store_b128 v0, v[5:8], off offset:16
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v1, v10, 16, v9
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v5.l, v86.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v5.l, v70.h
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v2, v12, 16, v11
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v3, v14, 16, v13
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v6.l, v134.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v7.l, v80.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v8.l, v135.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v9.l, v96.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v10.l, v148.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v11.l, v84.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v12.l, v149.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v6.l, v132.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v7.l, v69.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v8.l, v133.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v9.l, v65.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v10.l, v144.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v11.l, v64.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v12.l, v145.h
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v13.l, v119.h
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v14.l, v31.h
; GFX11-TRUE16-NEXT: v_perm_b32 v15, v15, v73, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v16, v16, v72, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v5, v5, v59, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v6, v6, v112, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v7, v7, v60, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v8, v8, v58, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v5, v5, v60, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v6, v6, v100, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v7, v7, v61, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v8, v8, v59, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v9, v9, v57, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v10, v10, v86, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v11, v11, v46, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v12, v12, v44, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v13, v13, v103, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v14, v14, v132, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v11, v11, v44, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v12, v12, v43, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v13, v13, v76, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v14, v14, v117, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v4, v16, 16, v15
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v5, v6, 16, v5
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v6, v8, 16, v7
@@ -157228,74 +157283,74 @@ define <128 x i8> @bitcast_v64bf16_to_v128i8(<64 x bfloat> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v9, v14, 16, v13
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v10.l, v39.h
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v11.l, v32.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v12.l, v151.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v12.l, v160.h
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v13.l, v33.h
; GFX11-TRUE16-NEXT: v_mov_b16_e64 v14.l, v150.h
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v15.l, v34.h
; GFX11-TRUE16-NEXT: v_mov_b16_e64 v16.l, v161.h
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v17.l, v35.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v18.l, v160.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v18.l, v151.h
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v19.l, v36.h
-; GFX11-TRUE16-NEXT: v_perm_b32 v10, v10, v97, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v11, v11, v92, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v12, v12, v91, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v13, v13, v129, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v14, v14, v89, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v15, v15, v79, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v16, v16, v78, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v17, v17, v113, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v18, v18, v77, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v19, v19, v76, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v10, v10, v63, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v11, v11, v97, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v12, v12, v62, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v13, v13, v114, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v14, v14, v58, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v15, v15, v56, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v16, v16, v47, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v17, v17, v96, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v18, v18, v46, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v19, v19, v45, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v10, v11, 16, v10
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v11, v13, 16, v12
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v12, v15, 16, v14
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v13, v17, 16, v16
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v14, v19, 16, v18
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v15.l, v163.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v15.l, v164.h
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v16.l, v37.h
; GFX11-TRUE16-NEXT: v_mov_b16_e64 v17.l, v162.h
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v18.l, v38.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v19.l, v165.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v19.l, v166.h
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v20.l, v48.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v21.l, v164.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v21.l, v163.h
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v22.l, v49.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v23.l, v167.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v23.l, v176.h
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v24.l, v50.h
-; GFX11-TRUE16-NEXT: v_perm_b32 v15, v15, v63, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v16, v16, v100, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v17, v17, v62, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v18, v18, v61, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v19, v19, v85, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v20, v20, v96, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v21, v21, v56, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v22, v22, v47, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v23, v23, v45, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v24, v24, v102, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v15, v15, v71, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v16, v16, v70, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v17, v17, v81, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v18, v18, v42, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v19, v19, v41, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v20, v20, v69, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v21, v21, v40, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v22, v22, v149, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v23, v23, v135, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v24, v24, v80, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v15, v16, 16, v15
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v16, v18, 16, v17
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v17, v20, 16, v19
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v18, v22, 16, v21
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v20.l, v166.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v20.l, v165.h
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v21.l, v51.h
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v19, v24, 16, v23
; GFX11-TRUE16-NEXT: v_mov_b16_e64 v22.l, v177.h
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v23.l, v52.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v24.l, v176.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v24.l, v167.h
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v25.l, v53.h
; GFX11-TRUE16-NEXT: v_mov_b16_e64 v26.l, v179.h
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v27.l, v54.h
; GFX11-TRUE16-NEXT: v_mov_b16_e64 v28.l, v178.h
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v29.l, v55.h
-; GFX11-TRUE16-NEXT: v_perm_b32 v20, v20, v43, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v21, v21, v42, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v22, v22, v41, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v23, v23, v84, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v24, v24, v40, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v25, v25, v147, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v26, v26, v116, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v27, v27, v80, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v28, v28, v87, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v29, v29, v81, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v20, v20, v131, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v21, v21, v101, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v22, v22, v87, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v23, v23, v65, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v24, v24, v66, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v25, v25, v183, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v26, v26, v182, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v27, v27, v64, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v28, v28, v181, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v29, v29, v180, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v20, v21, 16, v20
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v21, v23, 16, v22
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v22, v25, 16, v24
@@ -157309,197 +157364,196 @@ define <128 x i8> @bitcast_v64bf16_to_v128i8(<64 x bfloat> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: scratch_store_b128 v0, v[17:20], off offset:96
; GFX11-TRUE16-NEXT: scratch_store_b128 v0, v[21:24], off offset:112
; GFX11-TRUE16-NEXT: s_clause 0x1f ; 128-byte Folded Reload
-; GFX11-TRUE16-NEXT: scratch_load_b32 v120, off, s32 offset:12
-; GFX11-TRUE16-NEXT: scratch_load_b32 v111, off, s32 offset:16
-; GFX11-TRUE16-NEXT: scratch_load_b32 v110, off, s32 offset:20
-; GFX11-TRUE16-NEXT: scratch_load_b32 v109, off, s32 offset:24
-; GFX11-TRUE16-NEXT: scratch_load_b32 v108, off, s32 offset:28
-; GFX11-TRUE16-NEXT: scratch_load_b32 v107, off, s32 offset:32
-; GFX11-TRUE16-NEXT: scratch_load_b32 v106, off, s32 offset:36
-; GFX11-TRUE16-NEXT: scratch_load_b32 v105, off, s32 offset:40
-; GFX11-TRUE16-NEXT: scratch_load_b32 v104, off, s32 offset:44
-; GFX11-TRUE16-NEXT: scratch_load_b32 v95, off, s32 offset:48
-; GFX11-TRUE16-NEXT: scratch_load_b32 v94, off, s32 offset:52
-; GFX11-TRUE16-NEXT: scratch_load_b32 v93, off, s32 offset:56
-; GFX11-TRUE16-NEXT: scratch_load_b32 v92, off, s32 offset:60
-; GFX11-TRUE16-NEXT: scratch_load_b32 v91, off, s32 offset:64
-; GFX11-TRUE16-NEXT: scratch_load_b32 v90, off, s32 offset:68
-; GFX11-TRUE16-NEXT: scratch_load_b32 v89, off, s32 offset:72
-; GFX11-TRUE16-NEXT: scratch_load_b32 v88, off, s32 offset:76
-; GFX11-TRUE16-NEXT: scratch_load_b32 v79, off, s32 offset:80
-; GFX11-TRUE16-NEXT: scratch_load_b32 v78, off, s32 offset:84
-; GFX11-TRUE16-NEXT: scratch_load_b32 v77, off, s32 offset:88
-; GFX11-TRUE16-NEXT: scratch_load_b32 v76, off, s32 offset:92
-; GFX11-TRUE16-NEXT: scratch_load_b32 v75, off, s32 offset:96
-; GFX11-TRUE16-NEXT: scratch_load_b32 v74, off, s32 offset:100
-; GFX11-TRUE16-NEXT: scratch_load_b32 v73, off, s32 offset:104
-; GFX11-TRUE16-NEXT: scratch_load_b32 v72, off, s32 offset:108
-; GFX11-TRUE16-NEXT: scratch_load_b32 v63, off, s32 offset:112
-; GFX11-TRUE16-NEXT: scratch_load_b32 v62, off, s32 offset:116
-; GFX11-TRUE16-NEXT: scratch_load_b32 v61, off, s32 offset:120
-; GFX11-TRUE16-NEXT: scratch_load_b32 v60, off, s32 offset:124
-; GFX11-TRUE16-NEXT: scratch_load_b32 v59, off, s32 offset:128
-; GFX11-TRUE16-NEXT: scratch_load_b32 v58, off, s32 offset:132
-; GFX11-TRUE16-NEXT: scratch_load_b32 v57, off, s32 offset:136
-; GFX11-TRUE16-NEXT: s_clause 0x8 ; 36-byte Folded Reload
-; GFX11-TRUE16-NEXT: scratch_load_b32 v56, off, s32 offset:140
-; GFX11-TRUE16-NEXT: scratch_load_b32 v47, off, s32 offset:144
-; GFX11-TRUE16-NEXT: scratch_load_b32 v46, off, s32 offset:148
-; GFX11-TRUE16-NEXT: scratch_load_b32 v45, off, s32 offset:152
-; GFX11-TRUE16-NEXT: scratch_load_b32 v44, off, s32 offset:156
-; GFX11-TRUE16-NEXT: scratch_load_b32 v43, off, s32 offset:160
-; GFX11-TRUE16-NEXT: scratch_load_b32 v42, off, s32 offset:164
-; GFX11-TRUE16-NEXT: scratch_load_b32 v41, off, s32 offset:168
-; GFX11-TRUE16-NEXT: scratch_load_b32 v40, off, s32 offset:172
+; GFX11-TRUE16-NEXT: scratch_load_b32 v107, off, s32 offset:12
+; GFX11-TRUE16-NEXT: scratch_load_b32 v106, off, s32 offset:16
+; GFX11-TRUE16-NEXT: scratch_load_b32 v105, off, s32 offset:20
+; GFX11-TRUE16-NEXT: scratch_load_b32 v104, off, s32 offset:24
+; GFX11-TRUE16-NEXT: scratch_load_b32 v95, off, s32 offset:28
+; GFX11-TRUE16-NEXT: scratch_load_b32 v94, off, s32 offset:32
+; GFX11-TRUE16-NEXT: scratch_load_b32 v93, off, s32 offset:36
+; GFX11-TRUE16-NEXT: scratch_load_b32 v92, off, s32 offset:40
+; GFX11-TRUE16-NEXT: scratch_load_b32 v91, off, s32 offset:44
+; GFX11-TRUE16-NEXT: scratch_load_b32 v90, off, s32 offset:48
+; GFX11-TRUE16-NEXT: scratch_load_b32 v89, off, s32 offset:52
+; GFX11-TRUE16-NEXT: scratch_load_b32 v88, off, s32 offset:56
+; GFX11-TRUE16-NEXT: scratch_load_b32 v79, off, s32 offset:60
+; GFX11-TRUE16-NEXT: scratch_load_b32 v78, off, s32 offset:64
+; GFX11-TRUE16-NEXT: scratch_load_b32 v77, off, s32 offset:68
+; GFX11-TRUE16-NEXT: scratch_load_b32 v76, off, s32 offset:72
+; GFX11-TRUE16-NEXT: scratch_load_b32 v75, off, s32 offset:76
+; GFX11-TRUE16-NEXT: scratch_load_b32 v74, off, s32 offset:80
+; GFX11-TRUE16-NEXT: scratch_load_b32 v73, off, s32 offset:84
+; GFX11-TRUE16-NEXT: scratch_load_b32 v72, off, s32 offset:88
+; GFX11-TRUE16-NEXT: scratch_load_b32 v63, off, s32 offset:92
+; GFX11-TRUE16-NEXT: scratch_load_b32 v62, off, s32 offset:96
+; GFX11-TRUE16-NEXT: scratch_load_b32 v61, off, s32 offset:100
+; GFX11-TRUE16-NEXT: scratch_load_b32 v60, off, s32 offset:104
+; GFX11-TRUE16-NEXT: scratch_load_b32 v59, off, s32 offset:108
+; GFX11-TRUE16-NEXT: scratch_load_b32 v58, off, s32 offset:112
+; GFX11-TRUE16-NEXT: scratch_load_b32 v57, off, s32 offset:116
+; GFX11-TRUE16-NEXT: scratch_load_b32 v56, off, s32 offset:120
+; GFX11-TRUE16-NEXT: scratch_load_b32 v47, off, s32 offset:124
+; GFX11-TRUE16-NEXT: scratch_load_b32 v46, off, s32 offset:128
+; GFX11-TRUE16-NEXT: scratch_load_b32 v45, off, s32 offset:132
+; GFX11-TRUE16-NEXT: scratch_load_b32 v44, off, s32 offset:136
+; GFX11-TRUE16-NEXT: s_clause 0x3 ; 16-byte Folded Reload
+; GFX11-TRUE16-NEXT: scratch_load_b32 v43, off, s32 offset:140
+; GFX11-TRUE16-NEXT: scratch_load_b32 v42, off, s32 offset:144
+; GFX11-TRUE16-NEXT: scratch_load_b32 v41, off, s32 offset:148
+; GFX11-TRUE16-NEXT: scratch_load_b32 v40, off, s32 offset:152
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0)
; GFX11-TRUE16-NEXT: s_setpc_b64 s[30:31]
;
; GFX11-FAKE16-LABEL: bitcast_v64bf16_to_v128i8:
; GFX11-FAKE16: ; %bb.0:
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX11-FAKE16-NEXT: s_clause 0x15 ; 88-byte Folded Spill
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v40, s32 offset:96
+; GFX11-FAKE16-NEXT: s_clause 0x17 ; 96-byte Folded Spill
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v40, s32 offset:104
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v41, s32 offset:92
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v41, s32 offset:100
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v42, s32 offset:88
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v42, s32 offset:96
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v43, s32 offset:84
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v43, s32 offset:92
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v44, s32 offset:80
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v44, s32 offset:88
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v45, s32 offset:76
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v45, s32 offset:84
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v46, s32 offset:72
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v46, s32 offset:80
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v47, s32 offset:68
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v47, s32 offset:76
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v56, s32 offset:64
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v56, s32 offset:72
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v57, s32 offset:60
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v57, s32 offset:68
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v58, s32 offset:56
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v58, s32 offset:64
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v59, s32 offset:52
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v59, s32 offset:60
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v60, s32 offset:48
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v60, s32 offset:56
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v61, s32 offset:44
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v61, s32 offset:52
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v62, s32 offset:40
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v62, s32 offset:48
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v63, s32 offset:36
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v63, s32 offset:44
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v72, s32 offset:32
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v72, s32 offset:40
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v73, s32 offset:28
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v73, s32 offset:36
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v74, s32 offset:24
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v74, s32 offset:32
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v75, s32 offset:20
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v75, s32 offset:28
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v76, s32 offset:16
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v76, s32 offset:24
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v77, s32 offset:12
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v77, s32 offset:20
+; GFX11-FAKE16-NEXT: ; meta instruction
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v78, s32 offset:16
+; GFX11-FAKE16-NEXT: ; meta instruction
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v79, s32 offset:12
; GFX11-FAKE16-NEXT: s_clause 0x2
; GFX11-FAKE16-NEXT: scratch_load_b32 v33, off, s32 offset:8
; GFX11-FAKE16-NEXT: scratch_load_b32 v32, off, s32 offset:4
; GFX11-FAKE16-NEXT: scratch_load_b32 v31, off, s32
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr59
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr150
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr64
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr61
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr160
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr67
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr60
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr148
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr150
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr59
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr58
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr102
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr146
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr52
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr148
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr64
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr103
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr144
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr56
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr147
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr57
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr112
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr135
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr48
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr144
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr49
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr113
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr134
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr45
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr46
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr114
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr133
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr37
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr115
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr132
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr42
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr41
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr48
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr115
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr131
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr45
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr43
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr130
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr36
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr39
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr130
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr129
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr182
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr181
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr129
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr35
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr179
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr128
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr178
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr167
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr35
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr180
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr119
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr34
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr166
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr178
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr176
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr118
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr164
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr163
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr34
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr167
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr117
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr161
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr165
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr163
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr116
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr160
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr162
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr55
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr151
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr75
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr40
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr65
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr52
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr74
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr46
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr42
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr73
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr72
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr44
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr41
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr69
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr51
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr43
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr63
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr80
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr71
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr62
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr80
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr54
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr68
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr81
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr67
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr62
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr82
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr183
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr54
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr56
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr82
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr179
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr65
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr83
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr180
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr61
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr84
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr177
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr53
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr47
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr84
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr166
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr51
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr85
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr176
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr57
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr164
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr44
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr86
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr165
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr161
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr50
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr87
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr162
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr47
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr149
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr102
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr96
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr151
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr146
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr97
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr149
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr145
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr101
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr98
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr147
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr135
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr99
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr145
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr133
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr100
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr49
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr38
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr37
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(2)
; GFX11-FAKE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v33
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr33
@@ -157509,104 +157563,103 @@ define <128 x i8> @bitcast_v64bf16_to_v128i8(<64 x bfloat> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: s_cbranch_execz .LBB90_2
; GFX11-FAKE16-NEXT: ; %bb.1: ; %cmp.false
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[33:34], 24, v[15:16]
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v50, 8, v10
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v51, 8, v10
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[34:35], 24, v[13:14]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[35:36], 24, v[11:12]
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v54, 8, v20
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[36:37], 24, v[9:10]
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[37:38], 24, v[7:8]
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[48:49], 24, v[5:6]
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[48:49], 24, v[7:8]
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0)
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[38:39], 24, v[31:32]
-; GFX11-FAKE16-NEXT: v_mov_b32_e32 v39, v50
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[49:50], 24, v[29:30]
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[52:53], 24, v[3:4]
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[37:38], 24, v[31:32]
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[49:50], 24, v[5:6]
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[38:39], 24, v[29:30]
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[67:68], 24, v[1:2]
+; GFX11-FAKE16-NEXT: v_mov_b32_e32 v39, v51
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[50:51], 24, v[27:28]
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[64:65], 24, v[1:2]
-; GFX11-FAKE16-NEXT: v_mov_b32_e32 v51, v54
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[53:54], 24, v[25:26]
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[64:65], 24, v[3:4]
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[51:52], 24, v[25:26]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[68:69], 24, v[21:22]
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v160, 24, v16
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v116, 16, v16
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v161, 8, v16
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v117, 16, v15
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v151, 24, v16
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v55, 16, v16
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v162, 8, v16
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v116, 16, v15
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v163, 8, v15
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v164, 24, v14
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v118, 16, v14
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v166, 8, v14
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v119, 16, v13
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v167, 8, v13
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v165, 24, v14
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v117, 16, v14
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v167, 8, v14
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v118, 16, v13
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v176, 8, v13
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v178, 24, v12
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v128, 16, v12
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v179, 8, v12
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v129, 16, v11
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v119, 16, v12
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v180, 8, v12
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v128, 16, v11
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v181, 8, v11
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v182, 24, v10
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v130, 16, v10
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v131, 16, v9
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v41, 8, v9
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v42, 24, v8
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v132, 16, v8
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v129, 16, v10
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v130, 16, v9
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v43, 8, v9
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v45, 24, v8
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v131, 16, v8
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v115, 8, v8
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v133, 16, v7
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v132, 16, v7
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v114, 8, v7
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v45, 24, v6
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v46, 24, v6
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v134, 16, v6
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v113, 8, v6
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v135, 16, v5
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v144, 16, v5
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v112, 8, v5
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v56, 24, v4
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v144, 16, v4
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v57, 24, v4
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v147, 16, v4
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v103, 8, v4
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v146, 16, v3
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v102, 8, v3
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v58, 24, v2
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v148, 16, v2
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v148, 16, v3
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v58, 8, v3
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v59, 24, v2
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v150, 16, v2
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v60, 8, v2
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v150, 16, v1
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v59, 8, v1
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v160, 16, v1
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v61, 8, v1
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v100, 24, v32
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v145, 16, v32
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v133, 16, v32
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v99, 8, v32
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v147, 16, v31
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v135, 16, v31
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v98, 8, v31
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v101, 24, v30
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v149, 16, v30
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v145, 16, v30
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v97, 8, v30
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v151, 16, v29
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v146, 16, v29
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v96, 8, v29
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v47, 24, v28
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v162, 16, v28
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v102, 24, v28
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v149, 16, v28
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v87, 8, v28
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v165, 16, v27
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v161, 16, v27
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v86, 8, v27
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v57, 24, v26
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v176, 16, v26
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v44, 24, v26
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v164, 16, v26
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v85, 8, v26
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v177, 16, v25
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v166, 16, v25
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v84, 8, v25
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v61, 24, v24
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v180, 16, v24
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v47, 24, v24
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v177, 16, v24
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v83, 8, v24
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v183, 16, v23
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v179, 16, v23
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v82, 8, v23
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v62, 24, v22
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v67, 16, v22
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v56, 24, v22
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v183, 16, v22
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v81, 8, v22
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v71, 16, v21
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v54, 16, v21
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v80, 8, v21
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v63, 24, v20
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v43, 16, v20
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v44, 16, v19
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v62, 24, v20
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v71, 16, v20
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v63, 8, v20
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v41, 16, v19
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v72, 8, v19
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v73, 24, v18
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v46, 16, v18
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v42, 16, v18
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v74, 8, v18
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v40, 16, v17
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v75, 8, v17
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[54:55], 24, v[23:24]
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[65:66], 24, v[23:24]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[69:70], 24, v[19:20]
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[65:66], 24, v[17:18]
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[52:53], 24, v[17:18]
; GFX11-FAKE16-NEXT: .LBB90_2: ; %Flow
; GFX11-FAKE16-NEXT: s_and_not1_saveexec_b32 s0, s0
; GFX11-FAKE16-NEXT: s_cbranch_execz .LBB90_4
@@ -157640,26 +157693,26 @@ define <128 x i8> @bitcast_v64bf16_to_v128i8(<64 x bfloat> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: v_dual_cndmask_b32 v18, v37, v39 :: v_dual_lshlrev_b32 v37, 16, v20
; GFX11-FAKE16-NEXT: v_and_b32_e32 v20, 0xffff0000, v20
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v34, v34
-; GFX11-FAKE16-NEXT: v_perm_b32 v67, v18, v17, 0x7060302
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v46, 16, v18
+; GFX11-FAKE16-NEXT: v_perm_b32 v54, v18, v17, 0x7060302
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v79, 16, v18
; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_4)
; GFX11-FAKE16-NEXT: v_add_f32_e32 v20, 0x40c00000, v20
; GFX11-FAKE16-NEXT: v_bfe_u32 v48, v35, 16, 1
; GFX11-FAKE16-NEXT: v_or_b32_e32 v39, 0x400000, v35
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v33, v38, v33, vcc_lo
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v35, v35
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v73, 24, v67
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v18, 16, v17
; GFX11-FAKE16-NEXT: v_add3_u32 v36, v48, v35, 0x7fff
; GFX11-FAKE16-NEXT: v_or_b32_e32 v48, 0x400000, v20
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v74, 8, v67
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v18, 16, v17
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v17, 16, v33
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v73, 24, v54
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v74, 8, v54
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v40, v36, v39, vcc_lo
; GFX11-FAKE16-NEXT: v_add_f32_e32 v34, 0x40c00000, v37
; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v36, 16, v19
; GFX11-FAKE16-NEXT: v_bfe_u32 v37, v20, 16, 1
; GFX11-FAKE16-NEXT: v_and_b32_e32 v19, 0xffff0000, v19
-; GFX11-FAKE16-NEXT: v_perm_b32 v66, v40, v33, 0x7060302
+; GFX11-FAKE16-NEXT: v_perm_b32 v53, v40, v33, 0x7060302
; GFX11-FAKE16-NEXT: v_bfe_u32 v35, v34, 16, 1
; GFX11-FAKE16-NEXT: v_add_f32_e32 v36, 0x40c00000, v36
; GFX11-FAKE16-NEXT: v_or_b32_e32 v38, 0x400000, v34
@@ -157668,7 +157721,7 @@ define <128 x i8> @bitcast_v64bf16_to_v128i8(<64 x bfloat> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: v_add3_u32 v35, v35, v34, 0x7fff
; GFX11-FAKE16-NEXT: v_add_f32_e32 v39, 0x40c00000, v19
; GFX11-FAKE16-NEXT: v_bfe_u32 v49, v36, 16, 1
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v75, 8, v66
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v75, 8, v53
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v40, 16, v40
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v19, v35, v38, vcc_lo
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v20, v20
@@ -157680,13 +157733,14 @@ define <128 x i8> @bitcast_v64bf16_to_v128i8(<64 x bfloat> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v36, v36
; GFX11-FAKE16-NEXT: v_add3_u32 v38, v34, v39, 0x7fff
; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v48, 16, v22
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v77, 16, v20
; GFX11-FAKE16-NEXT: v_perm_b32 v71, v20, v19, 0x7060302
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v43, 16, v20
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v34, v35, v37, vcc_lo
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v39, v39
; GFX11-FAKE16-NEXT: v_add_f32_e32 v36, 0x40c00000, v48
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v20, 16, v19
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v63, 24, v71
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v62, 24, v71
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v63, 8, v71
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v35, v38, v49, vcc_lo
; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v38, 16, v21
; GFX11-FAKE16-NEXT: v_and_b32_e32 v21, 0xffff0000, v21
@@ -157696,7 +157750,7 @@ define <128 x i8> @bitcast_v64bf16_to_v128i8(<64 x bfloat> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(NEXT) | instid1(VALU_DEP_4)
; GFX11-FAKE16-NEXT: v_dual_add_f32 v38, 0x40c00000, v38 :: v_dual_add_f32 v49, 0x40c00000, v21
; GFX11-FAKE16-NEXT: v_add3_u32 v37, v37, v36, 0x7fff
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v44, 16, v35
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v78, 16, v35
; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_4)
; GFX11-FAKE16-NEXT: v_bfe_u32 v51, v38, 16, 1
; GFX11-FAKE16-NEXT: v_bfe_u32 v36, v49, 16, 1
@@ -157715,622 +157769,618 @@ define <128 x i8> @bitcast_v64bf16_to_v128i8(<64 x bfloat> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: v_add3_u32 v39, v39, v22, 0x7fff
; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_1)
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v22, v39, v50, vcc_lo
-; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v50, 16, v24
; GFX11-FAKE16-NEXT: v_or_b32_e32 v39, 0x400000, v38
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v24, 0xffff0000, v24
+; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v50, 16, v24
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v38, v38
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v76, 16, v22
-; GFX11-FAKE16-NEXT: v_add_f32_e32 v38, 0x40c00000, v50
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v24, 0xffff0000, v24
; GFX11-FAKE16-NEXT: v_perm_b32 v81, v22, v21, 0x7060302
-; GFX11-FAKE16-NEXT: v_add_f32_e32 v24, 0x40c00000, v24
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v183, 16, v22
+; GFX11-FAKE16-NEXT: v_add_f32_e32 v38, 0x40c00000, v50
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v36, v37, v39, vcc_lo
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v49, v49
+; GFX11-FAKE16-NEXT: v_add_f32_e32 v24, 0x40c00000, v24
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v22, 16, v21
; GFX11-FAKE16-NEXT: v_bfe_u32 v39, v38, 16, 1
; GFX11-FAKE16-NEXT: v_or_b32_e32 v50, 0x400000, v38
-; GFX11-FAKE16-NEXT: v_bfe_u32 v49, v24, 16, 1
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v52, 0x400000, v24
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v37, v48, v51, vcc_lo
; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v48, 16, v23
+; GFX11-FAKE16-NEXT: v_bfe_u32 v49, v24, 16, 1
; GFX11-FAKE16-NEXT: v_and_b32_e32 v23, 0xffff0000, v23
; GFX11-FAKE16-NEXT: v_add3_u32 v39, v39, v38, 0x7fff
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v38, v38
+; GFX11-FAKE16-NEXT: v_add_f32_e32 v48, 0x40c00000, v48
; GFX11-FAKE16-NEXT: v_add3_u32 v49, v49, v24, 0x7fff
-; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_3) | instid1(VALU_DEP_4)
-; GFX11-FAKE16-NEXT: v_dual_add_f32 v48, 0x40c00000, v48 :: v_dual_add_f32 v51, 0x40c00000, v23
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v77, 16, v37
+; GFX11-FAKE16-NEXT: v_add_f32_e32 v51, 0x40c00000, v23
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v52, 0x400000, v24
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v23, v39, v50, vcc_lo
+; GFX11-FAKE16-NEXT: v_bfe_u32 v55, v48, 16, 1
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v24, v24
-; GFX11-FAKE16-NEXT: v_bfe_u32 v53, v48, 16, 1
; GFX11-FAKE16-NEXT: v_bfe_u32 v38, v51, 16, 1
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v22, 16, v21
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v62, 24, v81
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v76, 16, v37
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v56, 24, v81
+; GFX11-FAKE16-NEXT: v_add3_u32 v39, v55, v48, 0x7fff
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v24, v49, v52, vcc_lo
-; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v52, 16, v26
-; GFX11-FAKE16-NEXT: v_add3_u32 v39, v53, v48, 0x7fff
; GFX11-FAKE16-NEXT: v_or_b32_e32 v49, 0x400000, v48
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v26, 0xffff0000, v26
+; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v52, 16, v26
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v48, v48
-; GFX11-FAKE16-NEXT: v_add_f32_e32 v48, 0x40c00000, v52
; GFX11-FAKE16-NEXT: v_add3_u32 v50, v38, v51, 0x7fff
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v53, 0x400000, v51
-; GFX11-FAKE16-NEXT: v_add_f32_e32 v26, 0x40c00000, v26
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v55, 0x400000, v51
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v26, 0xffff0000, v26
+; GFX11-FAKE16-NEXT: v_add_f32_e32 v48, 0x40c00000, v52
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v38, v39, v49, vcc_lo
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v51, v51
+; GFX11-FAKE16-NEXT: v_perm_b32 v83, v24, v23, 0x7060302
+; GFX11-FAKE16-NEXT: v_add_f32_e32 v26, 0x40c00000, v26
; GFX11-FAKE16-NEXT: v_bfe_u32 v49, v48, 16, 1
; GFX11-FAKE16-NEXT: v_or_b32_e32 v52, 0x400000, v48
-; GFX11-FAKE16-NEXT: v_bfe_u32 v51, v26, 16, 1
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v54, 0x400000, v26
-; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v39, v50, v53, vcc_lo
+; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v39, v50, v55, vcc_lo
; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v50, 16, v25
+; GFX11-FAKE16-NEXT: v_bfe_u32 v51, v26, 16, 1
; GFX11-FAKE16-NEXT: v_and_b32_e32 v25, 0xffff0000, v25
; GFX11-FAKE16-NEXT: v_add3_u32 v49, v49, v48, 0x7fff
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v48, v48
+; GFX11-FAKE16-NEXT: v_add_f32_e32 v50, 0x40c00000, v50
; GFX11-FAKE16-NEXT: v_add3_u32 v51, v51, v26, 0x7fff
-; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_3) | instid1(VALU_DEP_4)
-; GFX11-FAKE16-NEXT: v_dual_add_f32 v50, 0x40c00000, v50 :: v_dual_add_f32 v53, 0x40c00000, v25
-; GFX11-FAKE16-NEXT: v_perm_b32 v83, v24, v23, 0x7060302
+; GFX11-FAKE16-NEXT: v_add_f32_e32 v55, 0x40c00000, v25
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v64, 0x400000, v26
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v25, v49, v52, vcc_lo
+; GFX11-FAKE16-NEXT: v_bfe_u32 v65, v50, 16, 1
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v26, v26
-; GFX11-FAKE16-NEXT: v_bfe_u32 v55, v50, 16, 1
-; GFX11-FAKE16-NEXT: v_bfe_u32 v48, v53, 16, 1
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v180, 16, v24
+; GFX11-FAKE16-NEXT: v_bfe_u32 v48, v55, 16, 1
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v177, 16, v24
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v24, 16, v23
-; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v26, v51, v54, vcc_lo
-; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v54, 16, v28
-; GFX11-FAKE16-NEXT: v_add3_u32 v49, v55, v50, 0x7fff
+; GFX11-FAKE16-NEXT: v_add3_u32 v49, v65, v50, 0x7fff
+; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v26, v51, v64, vcc_lo
; GFX11-FAKE16-NEXT: v_or_b32_e32 v51, 0x400000, v50
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v28, 0xffff0000, v28
+; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v64, 16, v28
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v50, v50
-; GFX11-FAKE16-NEXT: v_add_f32_e32 v50, 0x40c00000, v54
-; GFX11-FAKE16-NEXT: v_add3_u32 v52, v48, v53, 0x7fff
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v55, 0x400000, v53
-; GFX11-FAKE16-NEXT: v_add_f32_e32 v28, 0x40c00000, v28
+; GFX11-FAKE16-NEXT: v_add3_u32 v52, v48, v55, 0x7fff
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v65, 0x400000, v55
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v28, 0xffff0000, v28
+; GFX11-FAKE16-NEXT: v_add_f32_e32 v50, 0x40c00000, v64
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v48, v49, v51, vcc_lo
-; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v53, v53
+; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v55, v55
+; GFX11-FAKE16-NEXT: v_perm_b32 v85, v26, v25, 0x7060302
+; GFX11-FAKE16-NEXT: v_add_f32_e32 v28, 0x40c00000, v28
; GFX11-FAKE16-NEXT: v_bfe_u32 v51, v50, 16, 1
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v54, 0x400000, v50
-; GFX11-FAKE16-NEXT: v_bfe_u32 v53, v28, 16, 1
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v64, 0x400000, v28
-; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v49, v52, v55, vcc_lo
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v64, 0x400000, v50
+; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v49, v52, v65, vcc_lo
; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v52, 16, v27
+; GFX11-FAKE16-NEXT: v_bfe_u32 v55, v28, 16, 1
; GFX11-FAKE16-NEXT: v_and_b32_e32 v27, 0xffff0000, v27
; GFX11-FAKE16-NEXT: v_add3_u32 v51, v51, v50, 0x7fff
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v50, v50
-; GFX11-FAKE16-NEXT: v_add3_u32 v53, v53, v28, 0x7fff
-; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_3) | instid1(VALU_DEP_4)
-; GFX11-FAKE16-NEXT: v_dual_add_f32 v52, 0x40c00000, v52 :: v_dual_add_f32 v55, 0x40c00000, v27
-; GFX11-FAKE16-NEXT: v_perm_b32 v85, v26, v25, 0x7060302
-; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v27, v51, v54, vcc_lo
+; GFX11-FAKE16-NEXT: v_add_f32_e32 v52, 0x40c00000, v52
+; GFX11-FAKE16-NEXT: v_add3_u32 v55, v55, v28, 0x7fff
+; GFX11-FAKE16-NEXT: v_add_f32_e32 v65, 0x40c00000, v27
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v66, 0x400000, v28
+; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v27, v51, v64, vcc_lo
+; GFX11-FAKE16-NEXT: v_bfe_u32 v67, v52, 16, 1
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v28, v28
-; GFX11-FAKE16-NEXT: v_bfe_u32 v65, v52, 16, 1
-; GFX11-FAKE16-NEXT: v_bfe_u32 v50, v55, 16, 1
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v176, 16, v26
+; GFX11-FAKE16-NEXT: v_bfe_u32 v50, v65, 16, 1
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v164, 16, v26
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v26, 16, v25
-; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v28, v53, v64, vcc_lo
-; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v64, 16, v30
-; GFX11-FAKE16-NEXT: v_add3_u32 v51, v65, v52, 0x7fff
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v53, 0x400000, v52
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v30, 0xffff0000, v30
+; GFX11-FAKE16-NEXT: v_add3_u32 v51, v67, v52, 0x7fff
+; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v28, v55, v66, vcc_lo
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v55, 0x400000, v52
+; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v66, 16, v30
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v52, v52
-; GFX11-FAKE16-NEXT: v_add_f32_e32 v52, 0x40c00000, v64
-; GFX11-FAKE16-NEXT: v_add3_u32 v54, v50, v55, 0x7fff
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v65, 0x400000, v55
+; GFX11-FAKE16-NEXT: v_add3_u32 v64, v50, v65, 0x7fff
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v67, 0x400000, v65
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v30, 0xffff0000, v30
+; GFX11-FAKE16-NEXT: v_add_f32_e32 v52, 0x40c00000, v66
+; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v50, v51, v55, vcc_lo
+; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v65, v65
+; GFX11-FAKE16-NEXT: v_perm_b32 v87, v28, v27, 0x7060302
; GFX11-FAKE16-NEXT: v_add_f32_e32 v30, 0x40c00000, v30
-; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v50, v51, v53, vcc_lo
-; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v55, v55
-; GFX11-FAKE16-NEXT: v_bfe_u32 v53, v52, 16, 1
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v64, 0x400000, v52
-; GFX11-FAKE16-NEXT: v_bfe_u32 v55, v30, 16, 1
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v68, 0x400000, v30
-; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v51, v54, v65, vcc_lo
-; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v54, 16, v29
+; GFX11-FAKE16-NEXT: v_bfe_u32 v55, v52, 16, 1
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v66, 0x400000, v52
+; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v51, v64, v67, vcc_lo
+; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v64, 16, v29
+; GFX11-FAKE16-NEXT: v_bfe_u32 v65, v30, 16, 1
; GFX11-FAKE16-NEXT: v_and_b32_e32 v29, 0xffff0000, v29
-; GFX11-FAKE16-NEXT: v_add3_u32 v53, v53, v52, 0x7fff
+; GFX11-FAKE16-NEXT: v_add3_u32 v55, v55, v52, 0x7fff
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v52, v52
-; GFX11-FAKE16-NEXT: v_add3_u32 v55, v55, v30, 0x7fff
-; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_3) | instid1(VALU_DEP_4)
-; GFX11-FAKE16-NEXT: v_dual_add_f32 v54, 0x40c00000, v54 :: v_dual_add_f32 v65, 0x40c00000, v29
-; GFX11-FAKE16-NEXT: v_perm_b32 v87, v28, v27, 0x7060302
-; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v29, v53, v64, vcc_lo
+; GFX11-FAKE16-NEXT: v_add_f32_e32 v64, 0x40c00000, v64
+; GFX11-FAKE16-NEXT: v_add3_u32 v65, v65, v30, 0x7fff
+; GFX11-FAKE16-NEXT: v_add_f32_e32 v67, 0x40c00000, v29
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v68, 0x400000, v30
+; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v29, v55, v66, vcc_lo
+; GFX11-FAKE16-NEXT: v_bfe_u32 v69, v64, 16, 1
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v30, v30
-; GFX11-FAKE16-NEXT: v_bfe_u32 v69, v54, 16, 1
-; GFX11-FAKE16-NEXT: v_bfe_u32 v52, v65, 16, 1
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v177, 16, v49
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v162, 16, v28
-; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v30, v55, v68, vcc_lo
+; GFX11-FAKE16-NEXT: v_bfe_u32 v52, v67, 16, 1
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v166, 16, v49
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v161, 16, v51
+; GFX11-FAKE16-NEXT: v_add3_u32 v55, v69, v64, 0x7fff
+; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v30, v65, v68, vcc_lo
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v65, 0x400000, v64
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(1)
; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v68, 16, v32
-; GFX11-FAKE16-NEXT: v_add3_u32 v53, v69, v54, 0x7fff
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v55, 0x400000, v54
+; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v64, v64
+; GFX11-FAKE16-NEXT: v_add3_u32 v66, v52, v67, 0x7fff
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v69, 0x400000, v67
; GFX11-FAKE16-NEXT: v_and_b32_e32 v32, 0xffff0000, v32
-; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v54, v54
-; GFX11-FAKE16-NEXT: v_add_f32_e32 v54, 0x40c00000, v68
-; GFX11-FAKE16-NEXT: v_add3_u32 v64, v52, v65, 0x7fff
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v69, 0x400000, v65
+; GFX11-FAKE16-NEXT: v_perm_b32 v97, v30, v29, 0x7060302
+; GFX11-FAKE16-NEXT: v_dual_cndmask_b32 v52, v55, v65 :: v_dual_add_f32 v55, 0x40c00000, v68
+; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v67, v67
+; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_4)
; GFX11-FAKE16-NEXT: v_add_f32_e32 v32, 0x40c00000, v32
-; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v52, v53, v55, vcc_lo
-; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v65, v65
-; GFX11-FAKE16-NEXT: v_bfe_u32 v55, v54, 16, 1
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v68, 0x400000, v54
-; GFX11-FAKE16-NEXT: v_bfe_u32 v65, v32, 16, 1
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v98, 0x400000, v32
-; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v53, v64, v69, vcc_lo
+; GFX11-FAKE16-NEXT: v_perm_b32 v70, v35, v34, 0x7060302
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v19, 16, v34
+; GFX11-FAKE16-NEXT: v_bfe_u32 v65, v55, 16, 1
+; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v64, v66, v69, vcc_lo
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0)
-; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v64, 16, v31
+; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v66, 16, v31
+; GFX11-FAKE16-NEXT: v_bfe_u32 v67, v32, 16, 1
; GFX11-FAKE16-NEXT: v_and_b32_e32 v31, 0xffff0000, v31
-; GFX11-FAKE16-NEXT: v_add3_u32 v55, v55, v54, 0x7fff
-; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v54, v54
-; GFX11-FAKE16-NEXT: v_add3_u32 v65, v65, v32, 0x7fff
-; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_3) | instid1(VALU_DEP_4)
-; GFX11-FAKE16-NEXT: v_dual_add_f32 v64, 0x40c00000, v64 :: v_dual_add_f32 v69, 0x40c00000, v31
-; GFX11-FAKE16-NEXT: v_perm_b32 v97, v30, v29, 0x7060302
-; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v31, v55, v68, vcc_lo
+; GFX11-FAKE16-NEXT: v_add3_u32 v65, v65, v55, 0x7fff
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v68, 0x400000, v55
+; GFX11-FAKE16-NEXT: v_add_f32_e32 v66, 0x40c00000, v66
+; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v55, v55
+; GFX11-FAKE16-NEXT: v_add3_u32 v67, v67, v32, 0x7fff
+; GFX11-FAKE16-NEXT: v_add_f32_e32 v69, 0x40c00000, v31
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v98, 0x400000, v32
+; GFX11-FAKE16-NEXT: v_bfe_u32 v99, v66, 16, 1
+; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v31, v65, v68, vcc_lo
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v32, v32
-; GFX11-FAKE16-NEXT: v_bfe_u32 v99, v64, 16, 1
-; GFX11-FAKE16-NEXT: v_bfe_u32 v54, v69, 16, 1
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v151, 16, v53
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v28, 16, v27
-; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v32, v65, v98, vcc_lo
-; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v98, 16, v2
-; GFX11-FAKE16-NEXT: v_add3_u32 v55, v99, v64, 0x7fff
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v65, 0x400000, v64
+; GFX11-FAKE16-NEXT: v_bfe_u32 v55, v69, 16, 1
+; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v68, 16, v2
+; GFX11-FAKE16-NEXT: v_add3_u32 v65, v99, v66, 0x7fff
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xffff0000, v2
-; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v64, v64
-; GFX11-FAKE16-NEXT: v_add_f32_e32 v64, 0x40c00000, v98
-; GFX11-FAKE16-NEXT: v_add3_u32 v68, v54, v69, 0x7fff
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v99, 0x400000, v69
+; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v32, v67, v98, vcc_lo
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v67, 0x400000, v66
+; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v66, v66
+; GFX11-FAKE16-NEXT: v_add3_u32 v55, v55, v69, 0x7fff
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v98, 0x400000, v69
; GFX11-FAKE16-NEXT: v_add_f32_e32 v2, 0x40c00000, v2
-; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v54, v55, v65, vcc_lo
+; GFX11-FAKE16-NEXT: v_perm_b32 v99, v32, v31, 0x7060302
+; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v65, v65, v67, vcc_lo
+; GFX11-FAKE16-NEXT: v_add_f32_e32 v67, 0x40c00000, v68
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v69, v69
-; GFX11-FAKE16-NEXT: v_bfe_u32 v65, v64, 16, 1
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v100, 0x400000, v64
+; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v68, 16, v1
; GFX11-FAKE16-NEXT: v_bfe_u32 v69, v2, 16, 1
; GFX11-FAKE16-NEXT: v_or_b32_e32 v102, 0x400000, v2
-; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v55, v68, v99, vcc_lo
-; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v68, 16, v1
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v1, 0xffff0000, v1
-; GFX11-FAKE16-NEXT: v_add3_u32 v65, v65, v64, 0x7fff
-; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v64, v64
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v100, 0x400000, v67
+; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v66, v55, v98, vcc_lo
+; GFX11-FAKE16-NEXT: v_bfe_u32 v55, v67, 16, 1
+; GFX11-FAKE16-NEXT: v_add_f32_e32 v68, 0x40c00000, v68
; GFX11-FAKE16-NEXT: v_add3_u32 v69, v69, v2, 0x7fff
-; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_3) | instid1(VALU_DEP_4)
-; GFX11-FAKE16-NEXT: v_dual_add_f32 v68, 0x40c00000, v68 :: v_dual_add_f32 v101, 0x40c00000, v1
-; GFX11-FAKE16-NEXT: v_perm_b32 v99, v32, v31, 0x7060302
-; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v1, v65, v100, vcc_lo
-; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v2, v2
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v1, 0xffff0000, v1
+; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v67, v67
+; GFX11-FAKE16-NEXT: v_add3_u32 v55, v55, v67, 0x7fff
; GFX11-FAKE16-NEXT: v_bfe_u32 v103, v68, 16, 1
-; GFX11-FAKE16-NEXT: v_bfe_u32 v64, v101, 16, 1
-; GFX11-FAKE16-NEXT: v_perm_b32 v98, v55, v54, 0x7060302
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v165, 16, v51
+; GFX11-FAKE16-NEXT: v_perm_b32 v80, v37, v36, 0x7060302
+; GFX11-FAKE16-NEXT: v_add_f32_e32 v101, 0x40c00000, v1
+; GFX11-FAKE16-NEXT: v_perm_b32 v98, v66, v65, 0x7060302
+; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v1, v55, v100, vcc_lo
+; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v2, v2
+; GFX11-FAKE16-NEXT: v_add3_u32 v67, v103, v68, 0x7fff
+; GFX11-FAKE16-NEXT: v_bfe_u32 v55, v101, 16, 1
+; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v100, 16, v4
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v4, 0xffff0000, v4
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v2, v69, v102, vcc_lo
-; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v102, 16, v4
-; GFX11-FAKE16-NEXT: v_add3_u32 v65, v103, v68, 0x7fff
; GFX11-FAKE16-NEXT: v_or_b32_e32 v69, 0x400000, v68
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v4, 0xffff0000, v4
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v68, v68
-; GFX11-FAKE16-NEXT: v_add_f32_e32 v68, 0x40c00000, v102
-; GFX11-FAKE16-NEXT: v_add3_u32 v100, v64, v101, 0x7fff
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v103, 0x400000, v101
+; GFX11-FAKE16-NEXT: v_add3_u32 v55, v55, v101, 0x7fff
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v102, 0x400000, v101
; GFX11-FAKE16-NEXT: v_add_f32_e32 v4, 0x40c00000, v4
-; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v64, v65, v69, vcc_lo
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v21, 16, v36
+; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v67, v67, v69, vcc_lo
+; GFX11-FAKE16-NEXT: v_add_f32_e32 v69, 0x40c00000, v100
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v101, v101
-; GFX11-FAKE16-NEXT: v_bfe_u32 v69, v68, 16, 1
+; GFX11-FAKE16-NEXT: v_bfe_u32 v103, v4, 16, 1
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v114, 0x400000, v4
+; GFX11-FAKE16-NEXT: v_perm_b32 v101, v2, v1, 0x7060302
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v112, 0x400000, v69
+; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v68, v55, v102, vcc_lo
+; GFX11-FAKE16-NEXT: v_bfe_u32 v55, v69, 16, 1
; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v102, 16, v3
; GFX11-FAKE16-NEXT: v_and_b32_e32 v3, 0xffff0000, v3
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v112, 0x400000, v68
-; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v65, v100, v103, vcc_lo
-; GFX11-FAKE16-NEXT: v_bfe_u32 v103, v4, 16, 1
-; GFX11-FAKE16-NEXT: v_add3_u32 v69, v69, v68, 0x7fff
-; GFX11-FAKE16-NEXT: v_add_f32_e32 v102, 0x40c00000, v102
-; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v68, v68
-; GFX11-FAKE16-NEXT: v_add_f32_e32 v113, 0x40c00000, v3
+; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v69, v69
; GFX11-FAKE16-NEXT: v_add3_u32 v103, v103, v4, 0x7fff
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v114, 0x400000, v4
+; GFX11-FAKE16-NEXT: v_add3_u32 v55, v55, v69, 0x7fff
+; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_2) | instid1(VALU_DEP_4)
+; GFX11-FAKE16-NEXT: v_dual_add_f32 v102, 0x40c00000, v102 :: v_dual_add_f32 v113, 0x40c00000, v3
+; GFX11-FAKE16-NEXT: v_perm_b32 v100, v68, v67, 0x7060302
+; GFX11-FAKE16-NEXT: v_perm_b32 v82, v39, v38, 0x7060302
+; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v3, v55, v112, vcc_lo
+; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_4)
; GFX11-FAKE16-NEXT: v_bfe_u32 v115, v102, 16, 1
-; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v3, v69, v112, vcc_lo
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v4, v4
-; GFX11-FAKE16-NEXT: v_bfe_u32 v68, v113, 16, 1
+; GFX11-FAKE16-NEXT: v_bfe_u32 v55, v113, 16, 1
; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v112, 16, v6
-; GFX11-FAKE16-NEXT: v_add3_u32 v69, v115, v102, 0x7fff
; GFX11-FAKE16-NEXT: v_and_b32_e32 v6, 0xffff0000, v6
+; GFX11-FAKE16-NEXT: v_add3_u32 v69, v115, v102, 0x7fff
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v4, v103, v114, vcc_lo
; GFX11-FAKE16-NEXT: v_or_b32_e32 v103, 0x400000, v102
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v102, v102
-; GFX11-FAKE16-NEXT: v_add3_u32 v68, v68, v113, 0x7fff
+; GFX11-FAKE16-NEXT: v_add3_u32 v55, v55, v113, 0x7fff
; GFX11-FAKE16-NEXT: v_or_b32_e32 v114, 0x400000, v113
; GFX11-FAKE16-NEXT: v_add_f32_e32 v112, 0x40c00000, v112
; GFX11-FAKE16-NEXT: v_dual_add_f32 v6, 0x40c00000, v6 :: v_dual_cndmask_b32 v69, v69, v103
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v113, v113
-; GFX11-FAKE16-NEXT: v_perm_b32 v101, v2, v1, 0x7060302
-; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(NEXT) | instid1(VALU_DEP_4)
-; GFX11-FAKE16-NEXT: v_bfe_u32 v113, v112, 16, 1
-; GFX11-FAKE16-NEXT: v_bfe_u32 v115, v6, 16, 1
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v116, 0x400000, v112
-; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v68, v68, v114, vcc_lo
-; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v114, 16, v5
+; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v113, 16, v5
; GFX11-FAKE16-NEXT: v_and_b32_e32 v5, 0xffff0000, v5
-; GFX11-FAKE16-NEXT: v_add3_u32 v113, v113, v112, 0x7fff
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v115, 0x400000, v112
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v116, 0x400000, v6
+; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v133, v55, v114, vcc_lo
+; GFX11-FAKE16-NEXT: v_bfe_u32 v55, v112, 16, 1
+; GFX11-FAKE16-NEXT: v_bfe_u32 v114, v6, 16, 1
+; GFX11-FAKE16-NEXT: v_add_f32_e32 v113, 0x40c00000, v113
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v112, v112
-; GFX11-FAKE16-NEXT: v_add3_u32 v115, v115, v6, 0x7fff
-; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_3) | instid1(VALU_DEP_4)
-; GFX11-FAKE16-NEXT: v_dual_add_f32 v114, 0x40c00000, v114 :: v_dual_add_f32 v5, 0x40c00000, v5
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v117, 0x400000, v6
-; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v135, v113, v116, vcc_lo
+; GFX11-FAKE16-NEXT: v_add_f32_e32 v5, 0x40c00000, v5
+; GFX11-FAKE16-NEXT: v_add3_u32 v55, v55, v112, 0x7fff
+; GFX11-FAKE16-NEXT: v_add3_u32 v114, v114, v6, 0x7fff
+; GFX11-FAKE16-NEXT: v_bfe_u32 v117, v113, 16, 1
+; GFX11-FAKE16-NEXT: v_perm_b32 v103, v4, v3, 0x7060302
+; GFX11-FAKE16-NEXT: v_perm_b32 v102, v133, v69, 0x7060302
+; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v135, v55, v115, vcc_lo
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v6, v6
-; GFX11-FAKE16-NEXT: v_bfe_u32 v118, v114, 16, 1
-; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v116, 16, v8
-; GFX11-FAKE16-NEXT: v_bfe_u32 v112, v5, 16, 1
+; GFX11-FAKE16-NEXT: v_bfe_u32 v55, v5, 16, 1
+; GFX11-FAKE16-NEXT: v_add3_u32 v112, v117, v113, 0x7fff
+; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v115, 16, v8
; GFX11-FAKE16-NEXT: v_and_b32_e32 v8, 0xffff0000, v8
-; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v6, v115, v117, vcc_lo
-; GFX11-FAKE16-NEXT: v_add3_u32 v113, v118, v114, 0x7fff
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v115, 0x400000, v114
-; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v114, v114
-; GFX11-FAKE16-NEXT: v_add_f32_e32 v114, 0x40c00000, v116
-; GFX11-FAKE16-NEXT: v_add3_u32 v112, v112, v5, 0x7fff
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v117, 0x400000, v5
+; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v6, v114, v116, vcc_lo
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v114, 0x400000, v113
+; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v113, v113
+; GFX11-FAKE16-NEXT: v_add3_u32 v55, v55, v5, 0x7fff
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v116, 0x400000, v5
; GFX11-FAKE16-NEXT: v_add_f32_e32 v8, 0x40c00000, v8
-; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v144, v113, v115, vcc_lo
+; GFX11-FAKE16-NEXT: v_perm_b32 v84, v49, v48, 0x7060302
+; GFX11-FAKE16-NEXT: v_dual_cndmask_b32 v145, v112, v114 :: v_dual_add_f32 v114, 0x40c00000, v115
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v5, v5
-; GFX11-FAKE16-NEXT: v_bfe_u32 v115, v114, 16, 1
-; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v116, 16, v7
+; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v115, 16, v7
; GFX11-FAKE16-NEXT: v_and_b32_e32 v7, 0xffff0000, v7
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v118, 0x400000, v114
-; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v5, v112, v117, vcc_lo
-; GFX11-FAKE16-NEXT: v_bfe_u32 v117, v8, 16, 1
-; GFX11-FAKE16-NEXT: v_add3_u32 v115, v115, v114, 0x7fff
-; GFX11-FAKE16-NEXT: v_add_f32_e32 v116, 0x40c00000, v116
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v118, 0x400000, v8
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v117, 0x400000, v114
+; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v5, v55, v116, vcc_lo
+; GFX11-FAKE16-NEXT: v_bfe_u32 v55, v114, 16, 1
+; GFX11-FAKE16-NEXT: v_bfe_u32 v116, v8, 16, 1
+; GFX11-FAKE16-NEXT: v_add_f32_e32 v115, 0x40c00000, v115
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v114, v114
; GFX11-FAKE16-NEXT: v_add_f32_e32 v7, 0x40c00000, v7
-; GFX11-FAKE16-NEXT: v_add3_u32 v117, v117, v8, 0x7fff
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v119, 0x400000, v8
-; GFX11-FAKE16-NEXT: v_bfe_u32 v128, v116, 16, 1
-; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v133, v115, v118, vcc_lo
+; GFX11-FAKE16-NEXT: v_add3_u32 v55, v55, v114, 0x7fff
+; GFX11-FAKE16-NEXT: v_add3_u32 v116, v116, v8, 0x7fff
+; GFX11-FAKE16-NEXT: v_bfe_u32 v119, v115, 16, 1
+; GFX11-FAKE16-NEXT: v_perm_b32 v113, v6, v135, 0x7060302
+; GFX11-FAKE16-NEXT: v_perm_b32 v112, v5, v145, 0x7060302
+; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v132, v55, v117, vcc_lo
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v8, v8
-; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v118, 16, v10
-; GFX11-FAKE16-NEXT: v_bfe_u32 v114, v7, 16, 1
-; GFX11-FAKE16-NEXT: v_add3_u32 v115, v128, v116, 0x7fff
+; GFX11-FAKE16-NEXT: v_bfe_u32 v55, v7, 16, 1
+; GFX11-FAKE16-NEXT: v_add3_u32 v114, v119, v115, 0x7fff
+; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v117, 16, v10
; GFX11-FAKE16-NEXT: v_and_b32_e32 v10, 0xffff0000, v10
-; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v8, v117, v119, vcc_lo
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v117, 0x400000, v116
-; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v116, v116
-; GFX11-FAKE16-NEXT: v_add_f32_e32 v116, 0x40c00000, v118
-; GFX11-FAKE16-NEXT: v_add3_u32 v114, v114, v7, 0x7fff
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v119, 0x400000, v7
+; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v8, v116, v118, vcc_lo
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v116, 0x400000, v115
+; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v115, v115
+; GFX11-FAKE16-NEXT: v_add3_u32 v55, v55, v7, 0x7fff
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v118, 0x400000, v7
; GFX11-FAKE16-NEXT: v_add_f32_e32 v10, 0x40c00000, v10
-; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v134, v115, v117, vcc_lo
+; GFX11-FAKE16-NEXT: v_perm_b32 v86, v51, v50, 0x7060302
+; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v134, v114, v116, vcc_lo
+; GFX11-FAKE16-NEXT: v_add_f32_e32 v116, 0x40c00000, v117
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v7, v7
-; GFX11-FAKE16-NEXT: v_bfe_u32 v117, v116, 16, 1
-; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v118, 16, v9
+; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v117, 16, v9
; GFX11-FAKE16-NEXT: v_and_b32_e32 v9, 0xffff0000, v9
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v128, 0x400000, v116
-; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v7, v114, v119, vcc_lo
-; GFX11-FAKE16-NEXT: v_bfe_u32 v119, v10, 16, 1
-; GFX11-FAKE16-NEXT: v_add3_u32 v117, v117, v116, 0x7fff
-; GFX11-FAKE16-NEXT: v_add_f32_e32 v118, 0x40c00000, v118
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v128, 0x400000, v10
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v119, 0x400000, v116
+; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v7, v55, v118, vcc_lo
+; GFX11-FAKE16-NEXT: v_bfe_u32 v55, v116, 16, 1
+; GFX11-FAKE16-NEXT: v_add_f32_e32 v117, 0x40c00000, v117
+; GFX11-FAKE16-NEXT: v_bfe_u32 v118, v10, 16, 1
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v116, v116
; GFX11-FAKE16-NEXT: v_add_f32_e32 v9, 0x40c00000, v9
-; GFX11-FAKE16-NEXT: v_add3_u32 v119, v119, v10, 0x7fff
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v129, 0x400000, v10
-; GFX11-FAKE16-NEXT: v_bfe_u32 v130, v118, 16, 1
-; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v131, v117, v128, vcc_lo
+; GFX11-FAKE16-NEXT: v_add3_u32 v55, v55, v116, 0x7fff
+; GFX11-FAKE16-NEXT: v_bfe_u32 v129, v117, 16, 1
+; GFX11-FAKE16-NEXT: v_add3_u32 v118, v118, v10, 0x7fff
+; GFX11-FAKE16-NEXT: v_perm_b32 v96, v64, v52, 0x7060302
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v25, 16, v48
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v150, 16, v2
+; GFX11-FAKE16-NEXT: v_add3_u32 v116, v129, v117, 0x7fff
+; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v130, v55, v119, vcc_lo
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v10, v10
-; GFX11-FAKE16-NEXT: v_bfe_u32 v116, v9, 16, 1
-; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v128, 16, v12
-; GFX11-FAKE16-NEXT: v_add3_u32 v117, v130, v118, 0x7fff
+; GFX11-FAKE16-NEXT: v_bfe_u32 v55, v9, 16, 1
+; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v119, 16, v12
; GFX11-FAKE16-NEXT: v_and_b32_e32 v12, 0xffff0000, v12
-; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v10, v119, v129, vcc_lo
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v119, 0x400000, v118
-; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v118, v118
-; GFX11-FAKE16-NEXT: v_add3_u32 v116, v116, v9, 0x7fff
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v129, 0x400000, v9
+; GFX11-FAKE16-NEXT: v_perm_b32 v115, v8, v132, 0x7060302
+; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v10, v118, v128, vcc_lo
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v118, 0x400000, v117
+; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v117, v117
+; GFX11-FAKE16-NEXT: v_add3_u32 v55, v55, v9, 0x7fff
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v128, 0x400000, v9
; GFX11-FAKE16-NEXT: v_add_f32_e32 v12, 0x40c00000, v12
-; GFX11-FAKE16-NEXT: v_perm_b32 v100, v65, v64, 0x7060302
-; GFX11-FAKE16-NEXT: v_dual_cndmask_b32 v132, v117, v119 :: v_dual_add_f32 v117, 0x40c00000, v128
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v2, 16, v1
+; GFX11-FAKE16-NEXT: v_dual_cndmask_b32 v131, v116, v118 :: v_dual_add_f32 v116, 0x40c00000, v119
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v9, v9
; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_4)
-; GFX11-FAKE16-NEXT: v_bfe_u32 v119, v12, 16, 1
-; GFX11-FAKE16-NEXT: v_perm_b32 v103, v4, v3, 0x7060302
-; GFX11-FAKE16-NEXT: v_perm_b32 v102, v68, v69, 0x7060302
-; GFX11-FAKE16-NEXT: v_bfe_u32 v118, v117, 16, 1
-; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v9, v116, v129, vcc_lo
-; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v116, 16, v11
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v128, 0x400000, v117
+; GFX11-FAKE16-NEXT: v_bfe_u32 v118, v12, 16, 1
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v160, 16, v68
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v1, 16, v67
+; GFX11-FAKE16-NEXT: v_bfe_u32 v117, v116, 16, 1
+; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v9, v55, v128, vcc_lo
+; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v55, 16, v11
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v119, 0x400000, v116
; GFX11-FAKE16-NEXT: v_and_b32_e32 v11, 0xffff0000, v11
-; GFX11-FAKE16-NEXT: v_add3_u32 v118, v118, v117, 0x7fff
-; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v117, v117
-; GFX11-FAKE16-NEXT: v_add_f32_e32 v116, 0x40c00000, v116
-; GFX11-FAKE16-NEXT: v_add3_u32 v119, v119, v12, 0x7fff
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v129, 0x400000, v12
+; GFX11-FAKE16-NEXT: v_add3_u32 v117, v117, v116, 0x7fff
+; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v116, v116
+; GFX11-FAKE16-NEXT: v_add_f32_e32 v55, 0x40c00000, v55
+; GFX11-FAKE16-NEXT: v_add3_u32 v118, v118, v12, 0x7fff
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v128, 0x400000, v12
; GFX11-FAKE16-NEXT: v_add_f32_e32 v11, 0x40c00000, v11
-; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v145, v118, v128, vcc_lo
-; GFX11-FAKE16-NEXT: v_bfe_u32 v130, v116, 16, 1
+; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v144, v117, v119, vcc_lo
+; GFX11-FAKE16-NEXT: v_bfe_u32 v129, v55, 16, 1
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v12, v12
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v118, 0x400000, v116
-; GFX11-FAKE16-NEXT: v_bfe_u32 v128, v11, 16, 1
-; GFX11-FAKE16-NEXT: v_perm_b32 v113, v6, v135, 0x7060302
-; GFX11-FAKE16-NEXT: v_add3_u32 v117, v130, v116, 0x7fff
-; GFX11-FAKE16-NEXT: v_dual_cndmask_b32 v12, v119, v129 :: v_dual_lshlrev_b32 v119, 16, v14
-; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v116, v116
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v117, 0x400000, v55
+; GFX11-FAKE16-NEXT: v_bfe_u32 v119, v11, 16, 1
+; GFX11-FAKE16-NEXT: v_perm_b32 v114, v7, v134, 0x7060302
+; GFX11-FAKE16-NEXT: v_add3_u32 v116, v129, v55, 0x7fff
+; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v12, v118, v128, vcc_lo
+; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v118, 16, v14
+; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v55, v55
; GFX11-FAKE16-NEXT: v_and_b32_e32 v14, 0xffff0000, v14
-; GFX11-FAKE16-NEXT: v_perm_b32 v112, v5, v144, 0x7060302
-; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_4)
-; GFX11-FAKE16-NEXT: v_perm_b32 v182, v12, v145, 0x7060302
-; GFX11-FAKE16-NEXT: v_add_f32_e32 v116, 0x40c00000, v119
-; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v130, v117, v118, vcc_lo
-; GFX11-FAKE16-NEXT: v_add3_u32 v117, v128, v11, 0x7fff
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v118, 0x400000, v11
-; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v119, 16, v13
+; GFX11-FAKE16-NEXT: v_perm_b32 v41, v9, v131, 0x7060302
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[48:49], 24, v[114:115]
+; GFX11-FAKE16-NEXT: v_add_f32_e32 v55, 0x40c00000, v118
+; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v129, v116, v117, vcc_lo
+; GFX11-FAKE16-NEXT: v_add3_u32 v116, v119, v11, 0x7fff
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v117, 0x400000, v11
+; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v118, 16, v13
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v11, v11
-; GFX11-FAKE16-NEXT: v_bfe_u32 v128, v116, 16, 1
+; GFX11-FAKE16-NEXT: v_bfe_u32 v119, v55, 16, 1
; GFX11-FAKE16-NEXT: v_add_f32_e32 v14, 0x40c00000, v14
; GFX11-FAKE16-NEXT: v_and_b32_e32 v13, 0xffff0000, v13
-; GFX11-FAKE16-NEXT: v_perm_b32 v42, v10, v131, 0x7060302
-; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v11, v117, v118, vcc_lo
-; GFX11-FAKE16-NEXT: v_add_f32_e32 v117, 0x40c00000, v119
-; GFX11-FAKE16-NEXT: v_add3_u32 v118, v128, v116, 0x7fff
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v119, 0x400000, v116
-; GFX11-FAKE16-NEXT: v_bfe_u32 v128, v14, 16, 1
-; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v116, v116
-; GFX11-FAKE16-NEXT: v_bfe_u32 v129, v117, 16, 1
+; GFX11-FAKE16-NEXT: v_perm_b32 v42, v10, v130, 0x7060302
+; GFX11-FAKE16-NEXT: v_dual_cndmask_b32 v11, v116, v117 :: v_dual_add_f32 v116, 0x40c00000, v118
+; GFX11-FAKE16-NEXT: v_add3_u32 v117, v119, v55, 0x7fff
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v118, 0x400000, v55
+; GFX11-FAKE16-NEXT: v_bfe_u32 v119, v14, 16, 1
+; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v55, v55
+; GFX11-FAKE16-NEXT: v_bfe_u32 v128, v116, 16, 1
; GFX11-FAKE16-NEXT: v_add_f32_e32 v13, 0x40c00000, v13
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v146, 0x400000, v117
-; GFX11-FAKE16-NEXT: v_add3_u32 v116, v128, v14, 0x7fff
-; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v119, v118, v119, vcc_lo
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v118, 0x400000, v14
-; GFX11-FAKE16-NEXT: v_add3_u32 v128, v129, v117, 0x7fff
-; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v129, 16, v16
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v146, 0x400000, v116
+; GFX11-FAKE16-NEXT: v_add3_u32 v55, v119, v14, 0x7fff
+; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v118, v117, v118, vcc_lo
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v117, 0x400000, v14
+; GFX11-FAKE16-NEXT: v_add3_u32 v119, v128, v116, 0x7fff
+; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v128, 16, v16
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v14, v14
; GFX11-FAKE16-NEXT: v_bfe_u32 v147, v13, 16, 1
; GFX11-FAKE16-NEXT: v_and_b32_e32 v16, 0xffff0000, v16
-; GFX11-FAKE16-NEXT: v_perm_b32 v181, v11, v130, 0x7060302
-; GFX11-FAKE16-NEXT: v_perm_b32 v41, v9, v132, 0x7060302
-; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v14, v116, v118, vcc_lo
-; GFX11-FAKE16-NEXT: v_add_f32_e32 v116, 0x40c00000, v129
-; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v117, v117
-; GFX11-FAKE16-NEXT: v_add3_u32 v117, v147, v13, 0x7fff
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v118, 0x400000, v13
+; GFX11-FAKE16-NEXT: v_perm_b32 v181, v11, v129, 0x7060302
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[67:68], 24, v[100:101]
+; GFX11-FAKE16-NEXT: v_dual_cndmask_b32 v14, v55, v117 :: v_dual_add_f32 v55, 0x40c00000, v128
+; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v116, v116
+; GFX11-FAKE16-NEXT: v_add3_u32 v116, v147, v13, 0x7fff
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v117, 0x400000, v13
; GFX11-FAKE16-NEXT: v_add_f32_e32 v16, 0x40c00000, v16
-; GFX11-FAKE16-NEXT: v_bfe_u32 v129, v116, 16, 1
-; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v128, v128, v146, vcc_lo
-; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v146, 16, v15
+; GFX11-FAKE16-NEXT: v_bfe_u32 v128, v55, 16, 1
+; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v119, v119, v146, vcc_lo
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v13, v13
+; GFX11-FAKE16-NEXT: v_perm_b32 v44, v14, v118, 0x7060302
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v23, 16, v38
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v179, 16, v39
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v72, 8, v70
+; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v13, v116, v117, vcc_lo
+; GFX11-FAKE16-NEXT: v_add3_u32 v117, v128, v55, 0x7fff
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v128, 0x400000, v55
+; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v55, v55
+; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v146, 16, v15
; GFX11-FAKE16-NEXT: v_and_b32_e32 v15, 0xffff0000, v15
-; GFX11-FAKE16-NEXT: v_perm_b32 v179, v14, v119, 0x7060302
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v150, 16, v65
-; GFX11-FAKE16-NEXT: v_perm_b32 v80, v37, v36, 0x7060302
-; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v13, v117, v118, vcc_lo
-; GFX11-FAKE16-NEXT: v_add_f32_e32 v117, 0x40c00000, v146
-; GFX11-FAKE16-NEXT: v_add3_u32 v118, v129, v116, 0x7fff
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v129, 0x400000, v116
+; GFX11-FAKE16-NEXT: v_perm_b32 v43, v13, v119, 0x7060302
+; GFX11-FAKE16-NEXT: v_perm_b32 v182, v12, v144, 0x7060302
+; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v117, v117, v128, vcc_lo
+; GFX11-FAKE16-NEXT: v_add_f32_e32 v116, 0x40c00000, v146
; GFX11-FAKE16-NEXT: v_bfe_u32 v146, v16, 16, 1
-; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v116, v116
; GFX11-FAKE16-NEXT: v_add_f32_e32 v15, 0x40c00000, v15
-; GFX11-FAKE16-NEXT: v_bfe_u32 v147, v117, 16, 1
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v148, 0x400000, v117
-; GFX11-FAKE16-NEXT: v_perm_b32 v178, v13, v128, 0x7060302
-; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v118, v118, v129, vcc_lo
-; GFX11-FAKE16-NEXT: v_add3_u32 v129, v146, v16, 0x7fff
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v146, 0x400000, v16
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v16, v16
-; GFX11-FAKE16-NEXT: v_bfe_u32 v116, v15, 16, 1
-; GFX11-FAKE16-NEXT: v_add3_u32 v147, v147, v117, 0x7fff
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v165, 24, v44
+; GFX11-FAKE16-NEXT: v_bfe_u32 v147, v116, 16, 1
+; GFX11-FAKE16-NEXT: v_add3_u32 v128, v146, v16, 0x7fff
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v146, 0x400000, v16
+; GFX11-FAKE16-NEXT: v_bfe_u32 v55, v15, 16, 1
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v148, 0x400000, v116
+; GFX11-FAKE16-NEXT: v_add3_u32 v147, v147, v116, 0x7fff
; GFX11-FAKE16-NEXT: v_or_b32_e32 v149, 0x400000, v15
-; GFX11-FAKE16-NEXT: v_perm_b32 v84, v49, v48, 0x7060302
-; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v16, v129, v146, vcc_lo
-; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v117, v117
-; GFX11-FAKE16-NEXT: v_add3_u32 v116, v116, v15, 0x7fff
-; GFX11-FAKE16-NEXT: v_perm_b32 v115, v8, v133, 0x7060302
-; GFX11-FAKE16-NEXT: v_perm_b32 v114, v7, v134, 0x7060302
-; GFX11-FAKE16-NEXT: v_perm_b32 v164, v16, v118, 0x7060302
-; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v129, v147, v148, vcc_lo
+; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v16, v128, v146, vcc_lo
+; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v116, v116
+; GFX11-FAKE16-NEXT: v_add3_u32 v55, v55, v15, 0x7fff
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v146, 16, v64
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v167, 8, v44
+; GFX11-FAKE16-NEXT: v_perm_b32 v46, v16, v117, 0x7060302
+; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v128, v147, v148, vcc_lo
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v15, v15
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v148, 16, v2
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v2, 16, v1
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v1, 16, v64
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[64:65], 24, v[100:101]
-; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v15, v116, v149, vcc_lo
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[65:66], 24, v[66:67]
-; GFX11-FAKE16-NEXT: v_mov_b32_e32 v67, v76
-; GFX11-FAKE16-NEXT: v_perm_b32 v96, v53, v52, 0x7060302
-; GFX11-FAKE16-NEXT: v_perm_b32 v70, v35, v34, 0x7060302
-; GFX11-FAKE16-NEXT: v_perm_b32 v163, v15, v129, 0x7060302
-; GFX11-FAKE16-NEXT: v_perm_b32 v82, v39, v38, 0x7060302
-; GFX11-FAKE16-NEXT: v_perm_b32 v86, v51, v50, 0x7060302
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v19, 16, v34
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v21, 16, v36
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[33:34], 24, v[163:164]
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[34:35], 24, v[178:179]
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v147, 16, v4
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v4, 16, v3
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v148, 16, v133
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v3, 16, v69
+; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v15, v55, v149, vcc_lo
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v149, 16, v28
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v28, 16, v27
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v27, 16, v50
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[49:50], 24, v[112:113]
+; GFX11-FAKE16-NEXT: v_perm_b32 v45, v15, v128, 0x7060302
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[50:51], 24, v[86:87]
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v55, 16, v16
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v16, 16, v117
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v117, 16, v14
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[33:34], 24, v[45:46]
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[34:35], 24, v[43:44]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[35:36], 24, v[181:182]
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v149, 16, v30
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[36:37], 24, v[41:42]
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v14, 16, v118
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v118, 16, v13
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v13, 16, v119
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v119, 16, v12
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v12, 16, v144
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v144, 16, v5
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v5, 16, v145
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v133, 16, v32
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v32, 16, v31
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v31, 16, v65
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v145, 16, v30
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v30, 16, v29
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v29, 16, v52
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v25, 16, v48
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[36:37], 24, v[41:42]
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[48:49], 24, v[112:113]
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[52:53], 24, v[102:103]
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v116, 16, v16
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v16, 16, v118
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v117, 16, v15
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v15, 16, v129
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v118, 16, v14
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v14, 16, v119
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v119, 16, v13
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v13, 16, v128
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v128, 16, v12
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v12, 16, v145
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v129, 16, v11
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v11, 16, v130
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v130, 16, v10
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v10, 16, v131
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v131, 16, v9
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v9, 16, v132
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v132, 16, v8
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v8, 16, v133
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v133, 16, v7
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[64:65], 24, v[102:103]
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[37:38], 24, v[98:99]
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[51:52], 24, v[84:85]
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[68:69], 24, v[80:81]
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v116, 16, v15
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v15, 16, v128
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v128, 16, v11
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v11, 16, v129
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v129, 16, v10
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v10, 16, v130
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v130, 16, v9
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v9, 16, v131
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v131, 16, v8
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v8, 16, v132
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v132, 16, v7
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v7, 16, v134
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v134, 16, v6
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v6, 16, v135
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v135, 16, v5
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v5, 16, v144
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v144, 16, v4
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v4, 16, v3
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v146, 16, v68
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v3, 16, v69
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v145, 16, v32
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v32, 16, v31
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v31, 16, v54
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v27, 16, v50
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v23, 16, v38
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[37:38], 24, v[114:115]
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[49:50], 24, v[96:97]
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[53:54], 24, v[84:85]
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[68:69], 24, v[80:81]
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v147, 16, v55
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v183, 16, v39
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[38:39], 24, v[98:99]
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[50:51], 24, v[86:87]
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[54:55], 24, v[82:83]
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v72, 8, v70
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v135, 16, v66
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[38:39], 24, v[96:97]
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[65:66], 24, v[82:83]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[69:70], 24, v[70:71]
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v160, 24, v164
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v161, 8, v164
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v163, 8, v163
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v164, 24, v179
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v166, 8, v179
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v167, 8, v178
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[52:53], 24, v[53:54]
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v151, 24, v46
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v162, 8, v46
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v163, 8, v45
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v176, 8, v43
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v178, 24, v182
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v179, 8, v182
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v180, 8, v182
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v181, 8, v181
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v182, 24, v42
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v39, 8, v42
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v41, 8, v41
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v42, 24, v115
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v43, 8, v41
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v45, 24, v115
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v115, 8, v115
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v114, 8, v114
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v45, 24, v113
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v46, 24, v113
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v113, 8, v113
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v112, 8, v112
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v56, 24, v103
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v57, 24, v103
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v103, 8, v103
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v102, 8, v102
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v58, 24, v101
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v58, 8, v102
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v59, 24, v101
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v60, 8, v101
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v59, 8, v100
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v61, 8, v100
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v100, 24, v99
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v99, 8, v99
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v98, 8, v98
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v101, 24, v97
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v97, 8, v97
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v96, 8, v96
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v47, 24, v87
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v102, 24, v87
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v87, 8, v87
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v86, 8, v86
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v57, 24, v85
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v44, 24, v85
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v85, 8, v85
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v84, 8, v84
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v61, 24, v83
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v47, 24, v83
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v83, 8, v83
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v82, 8, v82
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v81, 8, v81
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v80, 8, v80
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v51, 8, v71
-; GFX11-FAKE16-NEXT: v_mov_b32_e32 v71, v77
+; GFX11-FAKE16-NEXT: v_dual_mov_b32 v42, v79 :: v_dual_mov_b32 v41, v78
+; GFX11-FAKE16-NEXT: v_dual_mov_b32 v71, v77 :: v_dual_mov_b32 v54, v76
; GFX11-FAKE16-NEXT: .LBB90_4: ; %end
; GFX11-FAKE16-NEXT: s_or_b32 exec_lo, exec_lo, s0
-; GFX11-FAKE16-NEXT: v_perm_b32 v3, v3, v102, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v52, v146, v52, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v55, v150, v64, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v1, v1, v59, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v53, v160, v67, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v1, v1, v61, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v2, v2, v60, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v64, v148, v58, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v3, v52, 16, v3
+; GFX11-FAKE16-NEXT: v_perm_b32 v66, v150, v59, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v3, v3, v58, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v64, v148, v64, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v1, v53, 16, v1
; GFX11-FAKE16-NEXT: v_perm_b32 v4, v4, v103, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v52, v144, v56, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v53, v147, v57, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v7, v7, v114, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v37, v133, v37, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v1, v55, 16, v1
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v2, v64, 16, v2
+; GFX11-FAKE16-NEXT: v_perm_b32 v48, v132, v48, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v2, v66, 16, v2
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v3, v64, 16, v3
; GFX11-FAKE16-NEXT: v_perm_b32 v5, v5, v112, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v48, v135, v48, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v49, v144, v49, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v6, v6, v113, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v55, v134, v45, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v64, v134, v46, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v8, v8, v115, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v64, v132, v42, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v4, v52, 16, v4
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v7, v37, 16, v7
-; GFX11-FAKE16-NEXT: v_perm_b32 v9, v9, v41, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v36, v131, v36, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v66, v131, v45, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v4, v53, 16, v4
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v7, v48, 16, v7
+; GFX11-FAKE16-NEXT: v_perm_b32 v9, v9, v43, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v36, v130, v36, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v10, v10, v39, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v37, v130, v182, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v39, v129, v182, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v11, v11, v181, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v35, v129, v35, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v12, v12, v179, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v39, v128, v178, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v5, v48, 16, v5
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v6, v55, 16, v6
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v8, v64, 16, v8
+; GFX11-FAKE16-NEXT: v_perm_b32 v35, v128, v35, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v12, v12, v180, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v48, v119, v178, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v5, v49, 16, v5
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v6, v64, 16, v6
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v8, v66, 16, v8
; GFX11-FAKE16-NEXT: s_clause 0x1
; GFX11-FAKE16-NEXT: scratch_store_b128 v0, v[1:4], off
; GFX11-FAKE16-NEXT: scratch_store_b128 v0, v[5:8], off offset:16
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v1, v36, 16, v9
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v2, v37, 16, v10
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v2, v39, 16, v10
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v3, v35, 16, v11
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v4, v39, 16, v12
-; GFX11-FAKE16-NEXT: v_perm_b32 v5, v13, v167, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v6, v119, v34, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v7, v14, v166, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v8, v118, v164, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v4, v48, 16, v12
+; GFX11-FAKE16-NEXT: v_perm_b32 v5, v13, v176, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v6, v118, v34, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v7, v14, v167, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v8, v117, v165, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v9, v15, v163, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v10, v117, v33, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v11, v16, v161, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v12, v116, v160, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v10, v116, v33, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v11, v16, v162, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v12, v55, v151, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v13, v17, v75, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v14, v40, v65, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v14, v40, v52, 0xc0c0004
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v5, v6, 16, v5
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v6, v8, 16, v7
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v7, v10, 16, v9
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v8, v12, 16, v11
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v9, v14, 16, v13
; GFX11-FAKE16-NEXT: v_perm_b32 v10, v18, v74, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v11, v46, v73, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v11, v42, v73, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v12, v19, v72, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v13, v44, v69, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v14, v20, v51, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v15, v43, v63, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v13, v41, v69, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v14, v20, v63, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v15, v71, v62, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v16, v21, v80, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v17, v71, v68, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v17, v54, v68, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v18, v22, v81, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v19, v67, v62, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v19, v183, v56, 0xc0c0004
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v10, v11, 16, v10
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v11, v13, 16, v12
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v12, v15, 16, v14
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v13, v17, 16, v16
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v14, v19, 16, v18
; GFX11-FAKE16-NEXT: v_perm_b32 v15, v23, v82, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v16, v183, v54, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v16, v179, v65, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v17, v24, v83, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v18, v180, v61, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v18, v177, v47, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v19, v25, v84, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v20, v177, v53, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v20, v166, v51, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v21, v26, v85, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v22, v176, v57, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v22, v164, v44, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v23, v27, v86, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v24, v165, v50, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v24, v161, v50, 0xc0c0004
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v15, v16, 16, v15
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v16, v18, 16, v17
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v17, v20, 16, v19
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v18, v22, 16, v21
; GFX11-FAKE16-NEXT: v_perm_b32 v20, v28, v87, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v21, v162, v47, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v21, v149, v102, 0xc0c0004
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v19, v24, 16, v23
; GFX11-FAKE16-NEXT: v_perm_b32 v22, v29, v96, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v23, v151, v49, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v23, v146, v38, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v24, v30, v97, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v25, v149, v101, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v25, v145, v101, 0xc0c0004
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0)
; GFX11-FAKE16-NEXT: v_perm_b32 v26, v31, v98, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v27, v147, v38, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v27, v135, v37, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v28, v32, v99, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v29, v145, v100, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v29, v133, v100, 0xc0c0004
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v20, v21, 16, v20
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v21, v23, 16, v22
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v22, v25, 16, v24
@@ -158343,29 +158393,31 @@ define <128 x i8> @bitcast_v64bf16_to_v128i8(<64 x bfloat> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: scratch_store_b128 v0, v[13:16], off offset:80
; GFX11-FAKE16-NEXT: scratch_store_b128 v0, v[17:20], off offset:96
; GFX11-FAKE16-NEXT: scratch_store_b128 v0, v[21:24], off offset:112
-; GFX11-FAKE16-NEXT: s_clause 0x15 ; 88-byte Folded Reload
-; GFX11-FAKE16-NEXT: scratch_load_b32 v77, off, s32 offset:12
-; GFX11-FAKE16-NEXT: scratch_load_b32 v76, off, s32 offset:16
-; GFX11-FAKE16-NEXT: scratch_load_b32 v75, off, s32 offset:20
-; GFX11-FAKE16-NEXT: scratch_load_b32 v74, off, s32 offset:24
-; GFX11-FAKE16-NEXT: scratch_load_b32 v73, off, s32 offset:28
-; GFX11-FAKE16-NEXT: scratch_load_b32 v72, off, s32 offset:32
-; GFX11-FAKE16-NEXT: scratch_load_b32 v63, off, s32 offset:36
-; GFX11-FAKE16-NEXT: scratch_load_b32 v62, off, s32 offset:40
-; GFX11-FAKE16-NEXT: scratch_load_b32 v61, off, s32 offset:44
-; GFX11-FAKE16-NEXT: scratch_load_b32 v60, off, s32 offset:48
-; GFX11-FAKE16-NEXT: scratch_load_b32 v59, off, s32 offset:52
-; GFX11-FAKE16-NEXT: scratch_load_b32 v58, off, s32 offset:56
-; GFX11-FAKE16-NEXT: scratch_load_b32 v57, off, s32 offset:60
-; GFX11-FAKE16-NEXT: scratch_load_b32 v56, off, s32 offset:64
-; GFX11-FAKE16-NEXT: scratch_load_b32 v47, off, s32 offset:68
-; GFX11-FAKE16-NEXT: scratch_load_b32 v46, off, s32 offset:72
-; GFX11-FAKE16-NEXT: scratch_load_b32 v45, off, s32 offset:76
-; GFX11-FAKE16-NEXT: scratch_load_b32 v44, off, s32 offset:80
-; GFX11-FAKE16-NEXT: scratch_load_b32 v43, off, s32 offset:84
-; GFX11-FAKE16-NEXT: scratch_load_b32 v42, off, s32 offset:88
-; GFX11-FAKE16-NEXT: scratch_load_b32 v41, off, s32 offset:92
-; GFX11-FAKE16-NEXT: scratch_load_b32 v40, off, s32 offset:96
+; GFX11-FAKE16-NEXT: s_clause 0x17 ; 96-byte Folded Reload
+; GFX11-FAKE16-NEXT: scratch_load_b32 v79, off, s32 offset:12
+; GFX11-FAKE16-NEXT: scratch_load_b32 v78, off, s32 offset:16
+; GFX11-FAKE16-NEXT: scratch_load_b32 v77, off, s32 offset:20
+; GFX11-FAKE16-NEXT: scratch_load_b32 v76, off, s32 offset:24
+; GFX11-FAKE16-NEXT: scratch_load_b32 v75, off, s32 offset:28
+; GFX11-FAKE16-NEXT: scratch_load_b32 v74, off, s32 offset:32
+; GFX11-FAKE16-NEXT: scratch_load_b32 v73, off, s32 offset:36
+; GFX11-FAKE16-NEXT: scratch_load_b32 v72, off, s32 offset:40
+; GFX11-FAKE16-NEXT: scratch_load_b32 v63, off, s32 offset:44
+; GFX11-FAKE16-NEXT: scratch_load_b32 v62, off, s32 offset:48
+; GFX11-FAKE16-NEXT: scratch_load_b32 v61, off, s32 offset:52
+; GFX11-FAKE16-NEXT: scratch_load_b32 v60, off, s32 offset:56
+; GFX11-FAKE16-NEXT: scratch_load_b32 v59, off, s32 offset:60
+; GFX11-FAKE16-NEXT: scratch_load_b32 v58, off, s32 offset:64
+; GFX11-FAKE16-NEXT: scratch_load_b32 v57, off, s32 offset:68
+; GFX11-FAKE16-NEXT: scratch_load_b32 v56, off, s32 offset:72
+; GFX11-FAKE16-NEXT: scratch_load_b32 v47, off, s32 offset:76
+; GFX11-FAKE16-NEXT: scratch_load_b32 v46, off, s32 offset:80
+; GFX11-FAKE16-NEXT: scratch_load_b32 v45, off, s32 offset:84
+; GFX11-FAKE16-NEXT: scratch_load_b32 v44, off, s32 offset:88
+; GFX11-FAKE16-NEXT: scratch_load_b32 v43, off, s32 offset:92
+; GFX11-FAKE16-NEXT: scratch_load_b32 v42, off, s32 offset:96
+; GFX11-FAKE16-NEXT: scratch_load_b32 v41, off, s32 offset:100
+; GFX11-FAKE16-NEXT: scratch_load_b32 v40, off, s32 offset:104
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0)
; GFX11-FAKE16-NEXT: s_setpc_b64 s[30:31]
%cmp = icmp eq i32 %b, 0
@@ -158390,9 +158442,9 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; SI: ; %bb.0:
; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
; SI-NEXT: s_or_saveexec_b64 s[4:5], -1
-; SI-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v61, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v61, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
; SI-NEXT: s_mov_b64 exec, s[4:5]
; SI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:48 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:44 ; 4-byte Folded Spill
@@ -158443,16 +158495,17 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; SI-NEXT: v_writelane_b32 v63, s99, 33
; SI-NEXT: v_writelane_b32 v63, s30, 34
; SI-NEXT: v_writelane_b32 v63, s31, 35
-; SI-NEXT: v_readfirstlane_b32 s92, v5
-; SI-NEXT: s_and_b32 s93, s92, 0xffff0000
; SI-NEXT: v_readfirstlane_b32 s90, v6
-; SI-NEXT: s_lshl_b32 s92, s92, 16
-; SI-NEXT: v_readfirstlane_b32 s30, v2
-; SI-NEXT: v_mul_f32_e64 v2, 1.0, s93
+; SI-NEXT: v_readfirstlane_b32 s78, v8
; SI-NEXT: s_and_b32 s91, s90, 0xffff0000
-; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
+; SI-NEXT: v_readfirstlane_b32 s74, v10
+; SI-NEXT: s_and_b32 s79, s78, 0xffff0000
+; SI-NEXT: v_readfirstlane_b32 s30, v2
+; SI-NEXT: v_mul_f32_e64 v2, 1.0, s91
+; SI-NEXT: s_and_b32 s75, s74, 0xffff0000
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mul_f32_e64 v2, 1.0, s92
+; SI-NEXT: v_mul_f32_e64 v2, 1.0, s79
; SI-NEXT: v_readfirstlane_b32 s42, v18
; SI-NEXT: v_readfirstlane_b32 s44, v17
; SI-NEXT: v_readfirstlane_b32 s46, v16
@@ -158461,17 +158514,16 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; SI-NEXT: v_readfirstlane_b32 s60, v13
; SI-NEXT: v_readfirstlane_b32 s62, v12
; SI-NEXT: v_readfirstlane_b32 s72, v11
-; SI-NEXT: v_readfirstlane_b32 s74, v10
+; SI-NEXT: s_lshl_b32 s74, s74, 16
; SI-NEXT: v_readfirstlane_b32 s76, v9
-; SI-NEXT: v_readfirstlane_b32 s78, v8
; SI-NEXT: v_readfirstlane_b32 s88, v7
-; SI-NEXT: s_lshl_b32 s90, s90, 16
+; SI-NEXT: v_readfirstlane_b32 s92, v5
; SI-NEXT: v_readfirstlane_b32 s94, v4
; SI-NEXT: v_readfirstlane_b32 vcc_lo, v3
; SI-NEXT: v_readfirstlane_b32 s34, v1
-; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mul_f32_e64 v2, 1.0, s91
+; SI-NEXT: v_mul_f32_e64 v2, 1.0, s75
; SI-NEXT: s_and_b32 s4, s29, 0xffff0000
; SI-NEXT: s_lshl_b32 s5, s29, 16
; SI-NEXT: s_and_b32 s6, s28, 0xffff0000
@@ -158516,14 +158568,14 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; SI-NEXT: s_lshl_b32 s62, s62, 16
; SI-NEXT: s_and_b32 s73, s72, 0xffff0000
; SI-NEXT: s_lshl_b32 s72, s72, 16
-; SI-NEXT: s_and_b32 s75, s74, 0xffff0000
-; SI-NEXT: s_lshl_b32 s74, s74, 16
; SI-NEXT: s_and_b32 s77, s76, 0xffff0000
; SI-NEXT: s_lshl_b32 s76, s76, 16
-; SI-NEXT: s_and_b32 s79, s78, 0xffff0000
; SI-NEXT: s_lshl_b32 s78, s78, 16
; SI-NEXT: s_and_b32 s89, s88, 0xffff0000
; SI-NEXT: s_lshl_b32 s88, s88, 16
+; SI-NEXT: s_lshl_b32 s90, s90, 16
+; SI-NEXT: s_and_b32 s93, s92, 0xffff0000
+; SI-NEXT: s_lshl_b32 s92, s92, 16
; SI-NEXT: s_and_b32 s95, s94, 0xffff0000
; SI-NEXT: s_lshl_b32 s94, s94, 16
; SI-NEXT: s_and_b32 vcc_hi, vcc_lo, 0xffff0000
@@ -158533,261 +158585,292 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; SI-NEXT: s_and_b32 s35, s34, 0xffff0000
; SI-NEXT: s_lshl_b32 s34, s34, 16
; SI-NEXT: v_readfirstlane_b32 s36, v19
-; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mul_f32_e64 v2, 1.0, s90
+; SI-NEXT: v_mul_f32_e64 v2, 1.0, s74
; SI-NEXT: s_cmp_lg_u32 s36, 0
-; SI-NEXT: v_mul_f32_e64 v26, 1.0, s41
-; SI-NEXT: v_mul_f32_e64 v29, 1.0, s16
-; SI-NEXT: v_mul_f32_e64 v37, 1.0, s40
-; SI-NEXT: v_mul_f32_e64 v25, 1.0, s17
-; SI-NEXT: v_mul_f32_e64 v60, 1.0, s29
-; SI-NEXT: v_mul_f32_e64 v23, 1.0, s18
-; SI-NEXT: v_mul_f32_e64 v55, 1.0, s28
-; SI-NEXT: v_mul_f32_e64 v56, 1.0, s19
-; SI-NEXT: v_mul_f32_e64 v47, 1.0, s27
-; SI-NEXT: v_mul_f32_e64 v19, 1.0, s20
-; SI-NEXT: v_mul_f32_e64 v30, 1.0, s26
-; SI-NEXT: v_mul_f32_e64 v15, 1.0, s21
-; SI-NEXT: v_mul_f32_e64 v12, 1.0, s25
-; SI-NEXT: v_mul_f32_e64 v14, 1.0, s22
-; SI-NEXT: v_mul_f32_e64 v22, 1.0, s24
-; SI-NEXT: v_mul_f32_e64 v10, 1.0, s23
-; SI-NEXT: v_mul_f32_e64 v7, 1.0, s14
-; SI-NEXT: v_mul_f32_e64 v4, 1.0, s15
-; SI-NEXT: v_mul_f32_e64 v28, 1.0, s12
-; SI-NEXT: v_mul_f32_e64 v3, 1.0, s13
-; SI-NEXT: v_mul_f32_e64 v48, 1.0, s10
-; SI-NEXT: v_mul_f32_e64 v34, 1.0, s11
-; SI-NEXT: v_mul_f32_e64 v33, 1.0, s8
-; SI-NEXT: v_mul_f32_e64 v36, 1.0, s9
-; SI-NEXT: v_mul_f32_e64 v9, 1.0, s6
-; SI-NEXT: v_mul_f32_e64 v51, 1.0, s7
-; SI-NEXT: v_mul_f32_e64 v39, 1.0, s4
-; SI-NEXT: v_mul_f32_e64 v13, 1.0, s5
-; SI-NEXT: v_mul_f32_e64 v1, 1.0, s35
-; SI-NEXT: v_mul_f32_e64 v53, 1.0, s34
-; SI-NEXT: v_mul_f32_e64 v52, 1.0, s31
-; SI-NEXT: v_mul_f32_e64 v5, 1.0, s30
-; SI-NEXT: v_mul_f32_e64 v49, 1.0, vcc_hi
+; SI-NEXT: v_mul_f32_e64 v7, 1.0, s41
+; SI-NEXT: v_mul_f32_e64 v10, 1.0, s16
+; SI-NEXT: v_mul_f32_e64 v1, 1.0, s40
+; SI-NEXT: v_mul_f32_e64 v3, 1.0, s17
+; SI-NEXT: v_mul_f32_e64 v14, 1.0, s29
+; SI-NEXT: v_mul_f32_e64 v16, 1.0, s18
+; SI-NEXT: v_mul_f32_e64 v9, 1.0, s28
+; SI-NEXT: v_mul_f32_e64 v11, 1.0, s19
+; SI-NEXT: v_mul_f32_e64 v19, 1.0, s27
+; SI-NEXT: v_mul_f32_e64 v20, 1.0, s20
+; SI-NEXT: v_mul_f32_e64 v31, 1.0, s26
+; SI-NEXT: v_mul_f32_e64 v18, 1.0, s21
+; SI-NEXT: v_mul_f32_e64 v28, 1.0, s25
+; SI-NEXT: v_mul_f32_e64 v47, 1.0, s22
+; SI-NEXT: v_mul_f32_e64 v17, 1.0, s24
+; SI-NEXT: v_mul_f32_e64 v23, 1.0, s23
+; SI-NEXT: v_mul_f32_e64 v57, 1.0, s14
+; SI-NEXT: v_mul_f32_e64 v58, 1.0, s15
+; SI-NEXT: v_mul_f32_e64 v36, 1.0, s12
+; SI-NEXT: v_mul_f32_e64 v56, 1.0, s13
+; SI-NEXT: v_mul_f32_e64 v60, 1.0, s10
+; SI-NEXT: v_mul_f32_e64 v30, 1.0, s11
+; SI-NEXT: v_mul_f32_e64 v25, 1.0, s8
+; SI-NEXT: v_mul_f32_e64 v59, 1.0, s9
+; SI-NEXT: v_mul_f32_e64 v34, 1.0, s6
+; SI-NEXT: v_mul_f32_e64 v35, 1.0, s7
+; SI-NEXT: v_mul_f32_e64 v50, 1.0, s4
+; SI-NEXT: v_mul_f32_e64 v32, 1.0, s5
+; SI-NEXT: v_mul_f32_e64 v39, 1.0, s35
+; SI-NEXT: v_mul_f32_e64 v48, 1.0, s34
+; SI-NEXT: v_mul_f32_e64 v33, 1.0, s31
+; SI-NEXT: v_mul_f32_e64 v38, 1.0, s30
+; SI-NEXT: v_mul_f32_e64 v52, 1.0, vcc_hi
; SI-NEXT: v_mul_f32_e64 v54, 1.0, vcc_lo
-; SI-NEXT: v_mul_f32_e64 v17, 1.0, s95
-; SI-NEXT: v_mul_f32_e64 v31, 1.0, s94
-; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:52 ; 4-byte Folded Spill
-; SI-NEXT: v_mul_f32_e64 v46, 1.0, s89
-; SI-NEXT: v_mul_f32_e64 v45, 1.0, s88
-; SI-NEXT: v_mul_f32_e64 v24, 1.0, s79
-; SI-NEXT: v_mul_f32_e64 v44, 1.0, s78
-; SI-NEXT: v_mul_f32_e64 v43, 1.0, s77
-; SI-NEXT: v_mul_f32_e64 v42, 1.0, s76
-; SI-NEXT: v_mul_f32_e64 v27, 1.0, s75
-; SI-NEXT: v_mul_f32_e64 v41, 1.0, s74
-; SI-NEXT: v_mul_f32_e64 v40, 1.0, s73
-; SI-NEXT: v_mul_f32_e64 v8, 1.0, s72
-; SI-NEXT: v_mul_f32_e64 v32, 1.0, s63
-; SI-NEXT: v_mul_f32_e64 v50, 1.0, s62
-; SI-NEXT: v_mul_f32_e64 v38, 1.0, s61
-; SI-NEXT: v_mul_f32_e64 v11, 1.0, s60
-; SI-NEXT: v_mul_f32_e64 v59, 1.0, s59
-; SI-NEXT: v_mul_f32_e64 v35, 1.0, s58
-; SI-NEXT: v_mul_f32_e64 v21, 1.0, s57
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mul_f32_e64 v2, 1.0, s56
-; SI-NEXT: v_mul_f32_e64 v57, 1.0, s47
-; SI-NEXT: v_mul_f32_e64 v20, 1.0, s46
-; SI-NEXT: v_mul_f32_e64 v18, 1.0, s45
-; SI-NEXT: v_mul_f32_e64 v16, 1.0, s44
-; SI-NEXT: v_mul_f32_e64 v58, 1.0, s43
-; SI-NEXT: v_mul_f32_e64 v6, 1.0, s42
+; SI-NEXT: v_mul_f32_e64 v53, 1.0, s95
+; SI-NEXT: v_mul_f32_e64 v51, 1.0, s94
+; SI-NEXT: v_mul_f32_e64 v13, 1.0, s93
+; SI-NEXT: v_mul_f32_e64 v21, 1.0, s92
+; SI-NEXT: v_mul_f32_e64 v5, 1.0, s90
+; SI-NEXT: v_mul_f32_e64 v55, 1.0, s89
+; SI-NEXT: v_mul_f32_e64 v37, 1.0, s88
+; SI-NEXT: v_mul_f32_e64 v29, 1.0, s78
+; SI-NEXT: v_mul_f32_e64 v46, 1.0, s77
+; SI-NEXT: v_mul_f32_e64 v45, 1.0, s76
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
+; SI-NEXT: v_mul_f32_e64 v44, 1.0, s73
+; SI-NEXT: v_mul_f32_e64 v4, 1.0, s72
+; SI-NEXT: v_mul_f32_e64 v49, 1.0, s63
+; SI-NEXT: v_mul_f32_e64 v43, 1.0, s62
+; SI-NEXT: v_mul_f32_e64 v42, 1.0, s61
+; SI-NEXT: v_mul_f32_e64 v12, 1.0, s60
+; SI-NEXT: v_mul_f32_e64 v40, 1.0, s59
+; SI-NEXT: v_mul_f32_e64 v41, 1.0, s58
+; SI-NEXT: v_mul_f32_e64 v24, 1.0, s57
+; SI-NEXT: v_mul_f32_e64 v15, 1.0, s56
+; SI-NEXT: v_mul_f32_e64 v26, 1.0, s47
+; SI-NEXT: v_mul_f32_e64 v22, 1.0, s46
+; SI-NEXT: v_mul_f32_e64 v8, 1.0, s45
+; SI-NEXT: v_mul_f32_e64 v6, 1.0, s44
+; SI-NEXT: v_mul_f32_e64 v27, 1.0, s43
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_mul_f32_e64 v2, 1.0, s42
; SI-NEXT: ; implicit-def: $vgpr62 : SGPR spill to VGPR lane
; SI-NEXT: ; implicit-def: $vgpr61 : SGPR spill to VGPR lane
-; SI-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v60, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v50, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v38, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v57, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v59, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v60, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v50, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:52 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill
; SI-NEXT: s_cbranch_scc0 .LBB91_2
; SI-NEXT: ; %bb.1: ; %cmp.false
-; SI-NEXT: v_readfirstlane_b32 s4, v26
+; SI-NEXT: v_readfirstlane_b32 s4, v7
; SI-NEXT: s_lshr_b32 s5, s4, 16
-; SI-NEXT: v_readfirstlane_b32 s4, v29
-; SI-NEXT: v_mov_b32_e32 v26, v37
-; SI-NEXT: s_lshr_b64 s[98:99], s[4:5], 16
-; SI-NEXT: v_readfirstlane_b32 s4, v26
+; SI-NEXT: v_readfirstlane_b32 s4, v10
+; SI-NEXT: s_lshr_b64 s[96:97], s[4:5], 16
+; SI-NEXT: v_readfirstlane_b32 s4, v1
; SI-NEXT: s_lshr_b32 s87, s4, 16
-; SI-NEXT: v_readfirstlane_b32 s4, v60
-; SI-NEXT: v_readfirstlane_b32 s86, v25
+; SI-NEXT: v_readfirstlane_b32 s4, v14
; SI-NEXT: s_lshr_b32 s5, s4, 16
-; SI-NEXT: v_readfirstlane_b32 s4, v23
-; SI-NEXT: v_mov_b32_e32 v25, v55
-; SI-NEXT: s_lshr_b64 s[84:85], s[4:5], 16
-; SI-NEXT: v_readfirstlane_b32 s4, v25
+; SI-NEXT: v_readfirstlane_b32 s4, v16
+; SI-NEXT: s_lshr_b64 s[82:83], s[4:5], 16
+; SI-NEXT: v_readfirstlane_b32 s4, v9
; SI-NEXT: s_lshr_b32 s51, s4, 16
-; SI-NEXT: v_readfirstlane_b32 s4, v47
-; SI-NEXT: s_lshr_b32 s5, s4, 16
; SI-NEXT: v_readfirstlane_b32 s4, v19
-; SI-NEXT: v_mov_b32_e32 v55, v30
-; SI-NEXT: s_lshr_b64 s[70:71], s[4:5], 16
-; SI-NEXT: v_readfirstlane_b32 s4, v55
-; SI-NEXT: v_mov_b32_e32 v37, v22
-; SI-NEXT: v_mov_b32_e32 v22, v33
-; SI-NEXT: v_mov_b32_e32 v33, v39
-; SI-NEXT: v_mov_b32_e32 v39, v52
-; SI-NEXT: v_mov_b32_e32 v52, v17
-; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload
+; SI-NEXT: s_lshr_b32 s5, s4, 16
+; SI-NEXT: v_readfirstlane_b32 s4, v20
+; SI-NEXT: s_lshr_b64 s[68:69], s[4:5], 16
+; SI-NEXT: v_readfirstlane_b32 s4, v31
; SI-NEXT: s_lshr_b32 s67, s4, 16
-; SI-NEXT: v_readfirstlane_b32 s4, v12
-; SI-NEXT: v_mov_b32_e32 v12, v31
-; SI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload
-; SI-NEXT: v_readfirstlane_b32 s42, v3
-; SI-NEXT: v_mov_b32_e32 v3, v36
-; SI-NEXT: v_mov_b32_e32 v36, v5
-; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:56 ; 4-byte Folded Reload
+; SI-NEXT: v_readfirstlane_b32 s4, v28
; SI-NEXT: s_lshr_b32 s5, s4, 16
-; SI-NEXT: v_readfirstlane_b32 s4, v14
-; SI-NEXT: s_lshr_b64 s[64:65], s[4:5], 16
-; SI-NEXT: v_readfirstlane_b32 s4, v37
-; SI-NEXT: s_lshr_b32 s75, s4, 16
-; SI-NEXT: v_readfirstlane_b32 s4, v7
+; SI-NEXT: v_readfirstlane_b32 s4, v47
+; SI-NEXT: s_lshr_b64 s[54:55], s[4:5], 16
+; SI-NEXT: v_readfirstlane_b32 s4, v17
+; SI-NEXT: s_lshr_b32 s79, s4, 16
+; SI-NEXT: v_readfirstlane_b32 s4, v57
; SI-NEXT: s_lshr_b32 s5, s4, 16
-; SI-NEXT: v_readfirstlane_b32 s4, v4
-; SI-NEXT: s_lshr_b64 s[48:49], s[4:5], 16
-; SI-NEXT: v_readfirstlane_b32 s4, v28
+; SI-NEXT: v_readfirstlane_b32 s4, v58
+; SI-NEXT: s_lshr_b64 s[38:39], s[4:5], 16
+; SI-NEXT: v_readfirstlane_b32 s4, v36
; SI-NEXT: s_lshr_b32 s43, s4, 16
-; SI-NEXT: v_readfirstlane_b32 s4, v48
-; SI-NEXT: v_mov_b32_e32 v29, v34
+; SI-NEXT: v_readfirstlane_b32 s4, v60
; SI-NEXT: s_lshr_b32 s5, s4, 16
-; SI-NEXT: v_readfirstlane_b32 s4, v29
-; SI-NEXT: s_lshr_b64 s[94:95], s[4:5], 16
-; SI-NEXT: v_readfirstlane_b32 s4, v22
-; SI-NEXT: v_mov_b32_e32 v30, v9
-; SI-NEXT: v_readfirstlane_b32 s74, v10
-; SI-NEXT: s_lshr_b32 s89, s4, 16
; SI-NEXT: v_readfirstlane_b32 s4, v30
-; SI-NEXT: v_mov_b32_e32 v10, v51
+; SI-NEXT: s_lshr_b64 s[92:93], s[4:5], 16
+; SI-NEXT: v_readfirstlane_b32 s4, v25
+; SI-NEXT: s_lshr_b32 s89, s4, 16
+; SI-NEXT: v_readfirstlane_b32 s4, v34
; SI-NEXT: s_lshr_b32 s5, s4, 16
-; SI-NEXT: v_readfirstlane_b32 s4, v10
-; SI-NEXT: s_lshr_b64 s[76:77], s[4:5], 16
-; SI-NEXT: v_readfirstlane_b32 s4, v33
-; SI-NEXT: v_mov_b32_e32 v51, v1
+; SI-NEXT: v_readfirstlane_b32 s4, v35
+; SI-NEXT: s_lshr_b64 s[74:75], s[4:5], 16
+; SI-NEXT: v_readfirstlane_b32 s4, v50
; SI-NEXT: s_lshr_b32 s37, s4, 16
-; SI-NEXT: v_readfirstlane_b32 s4, v51
-; SI-NEXT: s_lshr_b32 s5, s4, 16
-; SI-NEXT: v_readfirstlane_b32 s4, v53
-; SI-NEXT: s_lshr_b64 s[30:31], s[4:5], 16
; SI-NEXT: v_readfirstlane_b32 s4, v39
-; SI-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:52 ; 4-byte Folded Reload
-; SI-NEXT: s_lshr_b32 s15, s4, 16
-; SI-NEXT: v_readfirstlane_b32 s4, v49
-; SI-NEXT: v_mov_b32_e32 v1, v54
; SI-NEXT: s_lshr_b32 s5, s4, 16
-; SI-NEXT: v_readfirstlane_b32 s4, v1
-; SI-NEXT: s_lshr_b64 s[78:79], s[4:5], 16
+; SI-NEXT: v_readfirstlane_b32 s4, v48
+; SI-NEXT: s_lshr_b64 vcc, s[4:5], 16
+; SI-NEXT: v_readfirstlane_b32 s4, v33
+; SI-NEXT: s_lshr_b32 s15, s4, 16
; SI-NEXT: v_readfirstlane_b32 s4, v52
+; SI-NEXT: v_mov_b32_e32 v39, v38
+; SI-NEXT: v_readfirstlane_b32 s14, v38
+; SI-NEXT: s_lshr_b32 s5, s4, 16
+; SI-NEXT: v_readfirstlane_b32 s4, v54
+; SI-NEXT: v_mov_b32_e32 v38, v53
+; SI-NEXT: s_lshr_b64 s[76:77], s[4:5], 16
+; SI-NEXT: v_readfirstlane_b32 s4, v38
; SI-NEXT: s_lshr_b32 s73, s4, 16
-; SI-NEXT: v_readfirstlane_b32 s14, v36
-; SI-NEXT: s_lshr_b64 s[92:93], s[14:15], 16
-; SI-NEXT: v_readfirstlane_b32 s6, v6
-; SI-NEXT: s_lshr_b64 s[96:97], s[86:87], 16
-; SI-NEXT: s_mov_b32 s99, s96
-; SI-NEXT: v_readfirstlane_b32 s50, v56
-; SI-NEXT: s_lshr_b64 s[82:83], s[50:51], 16
-; SI-NEXT: s_mov_b32 s85, s82
-; SI-NEXT: v_readfirstlane_b32 s66, v15
-; SI-NEXT: s_lshr_b64 s[68:69], s[66:67], 16
-; SI-NEXT: s_mov_b32 s71, s68
-; SI-NEXT: s_lshr_b64 s[54:55], s[74:75], 16
-; SI-NEXT: s_mov_b32 s65, s54
-; SI-NEXT: s_lshr_b64 vcc, s[42:43], 16
-; SI-NEXT: s_mov_b32 s49, vcc_lo
-; SI-NEXT: v_readfirstlane_b32 s88, v3
+; SI-NEXT: v_readfirstlane_b32 s4, v13
+; SI-NEXT: v_mov_b32_e32 v34, v32
+; SI-NEXT: v_readfirstlane_b32 s36, v32
+; SI-NEXT: v_mov_b32_e32 v32, v17
+; SI-NEXT: s_waitcnt expcnt(6)
+; SI-NEXT: v_mov_b32_e32 v17, v13
+; SI-NEXT: s_lshr_b32 s5, s4, 16
+; SI-NEXT: v_mov_b32_e32 v13, v25
+; SI-NEXT: s_waitcnt expcnt(4)
+; SI-NEXT: v_mov_b32_e32 v25, v21
+; SI-NEXT: v_readfirstlane_b32 s4, v21
+; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload
+; SI-NEXT: v_readfirstlane_b32 s42, v56
+; SI-NEXT: v_mov_b32_e32 v56, v36
+; SI-NEXT: v_mov_b32_e32 v36, v35
+; SI-NEXT: v_mov_b32_e32 v35, v50
+; SI-NEXT: s_waitcnt expcnt(3)
+; SI-NEXT: v_mov_b32_e32 v50, v48
+; SI-NEXT: buffer_load_dword v48, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload
+; SI-NEXT: v_mov_b32_e32 v47, v31
+; SI-NEXT: v_mov_b32_e32 v31, v30
+; SI-NEXT: s_lshr_b64 s[62:63], s[4:5], 16
+; SI-NEXT: v_mov_b32_e32 v30, v9
+; SI-NEXT: v_mov_b32_e32 v9, v5
+; SI-NEXT: v_readfirstlane_b32 s58, v5
+; SI-NEXT: v_mov_b32_e32 v5, v33
+; SI-NEXT: s_waitcnt expcnt(2)
+; SI-NEXT: v_mov_b32_e32 v33, v29
+; SI-NEXT: v_readfirstlane_b32 s44, v29
+; SI-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload
+; SI-NEXT: v_readfirstlane_b32 s86, v3
+; SI-NEXT: s_lshr_b64 s[94:95], s[14:15], 16
+; SI-NEXT: v_readfirstlane_b32 s6, v2
+; SI-NEXT: s_lshr_b64 s[98:99], s[86:87], 16
+; SI-NEXT: s_mov_b32 s97, s98
+; SI-NEXT: v_readfirstlane_b32 s50, v11
+; SI-NEXT: s_lshr_b64 s[84:85], s[50:51], 16
+; SI-NEXT: s_mov_b32 s83, s84
+; SI-NEXT: v_readfirstlane_b32 s66, v18
+; SI-NEXT: s_lshr_b64 s[70:71], s[66:67], 16
+; SI-NEXT: s_mov_b32 s69, s70
+; SI-NEXT: v_readfirstlane_b32 s78, v23
+; SI-NEXT: s_lshr_b64 s[64:65], s[78:79], 16
+; SI-NEXT: s_mov_b32 s55, s64
+; SI-NEXT: s_lshr_b64 s[30:31], s[42:43], 16
+; SI-NEXT: s_mov_b32 s39, s30
+; SI-NEXT: v_readfirstlane_b32 s88, v59
; SI-NEXT: s_lshr_b64 s[80:81], s[88:89], 16
-; SI-NEXT: s_mov_b32 s95, s80
-; SI-NEXT: v_readfirstlane_b32 s36, v13
-; SI-NEXT: s_lshr_b64 s[38:39], s[36:37], 16
-; SI-NEXT: s_mov_b32 s77, s38
-; SI-NEXT: s_mov_b32 s31, s92
-; SI-NEXT: v_readfirstlane_b32 s72, v12
+; SI-NEXT: s_mov_b32 s93, s80
+; SI-NEXT: s_lshr_b64 s[48:49], s[36:37], 16
+; SI-NEXT: s_mov_b32 s75, s48
+; SI-NEXT: s_mov_b32 vcc_hi, s94
+; SI-NEXT: v_readfirstlane_b32 s72, v51
; SI-NEXT: s_lshr_b64 s[60:61], s[72:73], 16
-; SI-NEXT: s_mov_b32 s79, s60
-; SI-NEXT: v_readfirstlane_b32 s44, v44
-; SI-NEXT: v_readfirstlane_b32 s28, v41
-; SI-NEXT: v_readfirstlane_b32 s22, v50
-; SI-NEXT: v_readfirstlane_b32 s18, v35
+; SI-NEXT: s_mov_b32 s77, s60
+; SI-NEXT: v_readfirstlane_b32 s22, v43
+; SI-NEXT: v_readfirstlane_b32 s18, v41
+; SI-NEXT: v_readfirstlane_b32 s12, v22
+; SI-NEXT: v_mov_b32_e32 v28, v1
+; SI-NEXT: v_mov_b32_e32 v1, v54
+; SI-NEXT: v_mov_b32_e32 v52, v51
+; SI-NEXT: v_mov_b32_e32 v3, v45
+; SI-NEXT: v_mov_b32_e32 v7, v44
+; SI-NEXT: v_mov_b32_e32 v10, v4
+; SI-NEXT: v_mov_b32_e32 v11, v42
+; SI-NEXT: v_mov_b32_e32 v14, v12
+; SI-NEXT: v_mov_b32_e32 v16, v24
+; SI-NEXT: v_mov_b32_e32 v18, v15
+; SI-NEXT: v_mov_b32_e32 v20, v8
+; SI-NEXT: v_mov_b32_e32 v23, v6
+; SI-NEXT: v_mov_b32_e32 v19, v2
+; SI-NEXT: s_lshr_b32 s88, s98, 8
+; SI-NEXT: s_lshr_b32 s61, s84, 8
+; SI-NEXT: s_lshr_b32 s72, s70, 8
+; SI-NEXT: s_lshr_b32 s95, s80, 8
+; SI-NEXT: s_mov_b32 s86, s60
+; SI-NEXT: v_lshrrev_b32_e32 v60, 24, v47
+; SI-NEXT: v_lshrrev_b32_e32 v59, 24, v32
+; SI-NEXT: v_lshrrev_b32_e32 v58, 24, v56
+; SI-NEXT: v_lshrrev_b32_e32 v57, 24, v13
+; SI-NEXT: v_lshrrev_b32_e32 v56, 24, v35
+; SI-NEXT: v_lshrrev_b32_e32 v47, 24, v5
+; SI-NEXT: v_mov_b32_e32 v2, v27
; SI-NEXT: s_waitcnt vmcnt(3)
-; SI-NEXT: v_readfirstlane_b32 s4, v17
-; SI-NEXT: s_lshr_b32 s5, s4, 16
-; SI-NEXT: v_readfirstlane_b32 s12, v20
-; SI-NEXT: v_mov_b32_e32 v19, v16
-; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_readfirstlane_b32 s4, v31
-; SI-NEXT: s_lshr_b64 s[62:63], s[4:5], 16
-; SI-NEXT: v_lshrrev_b32_e32 v9, 24, v24
-; SI-NEXT: v_mov_b32_e32 v23, v58
-; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_readfirstlane_b32 s4, v5
+; SI-NEXT: v_readfirstlane_b32 s4, v21
; SI-NEXT: s_lshr_b32 s59, s4, 16
-; SI-NEXT: v_readfirstlane_b32 s4, v46
+; SI-NEXT: v_readfirstlane_b32 s4, v55
; SI-NEXT: s_lshr_b32 s5, s4, 16
-; SI-NEXT: v_readfirstlane_b32 s4, v45
+; SI-NEXT: v_readfirstlane_b32 s4, v37
; SI-NEXT: s_lshr_b64 s[46:47], s[4:5], 16
-; SI-NEXT: v_readfirstlane_b32 s4, v24
+; SI-NEXT: s_lshr_b64 s[56:57], s[58:59], 16
+; SI-NEXT: s_waitcnt vmcnt(1)
+; SI-NEXT: v_readfirstlane_b32 s4, v48
; SI-NEXT: s_lshr_b32 s45, s4, 16
-; SI-NEXT: v_readfirstlane_b32 s4, v43
+; SI-NEXT: v_readfirstlane_b32 s4, v46
; SI-NEXT: s_lshr_b32 s5, s4, 16
-; SI-NEXT: v_readfirstlane_b32 s4, v42
+; SI-NEXT: v_readfirstlane_b32 s4, v45
; SI-NEXT: s_lshr_b64 s[40:41], s[4:5], 16
-; SI-NEXT: v_readfirstlane_b32 s4, v27
+; SI-NEXT: v_readfirstlane_b32 s4, v53
; SI-NEXT: s_lshr_b32 s29, s4, 16
-; SI-NEXT: v_readfirstlane_b32 s4, v40
+; SI-NEXT: v_readfirstlane_b32 s4, v44
; SI-NEXT: s_lshr_b32 s5, s4, 16
-; SI-NEXT: v_readfirstlane_b32 s4, v8
+; SI-NEXT: v_readfirstlane_b32 s4, v4
; SI-NEXT: s_lshr_b64 s[24:25], s[4:5], 16
-; SI-NEXT: v_readfirstlane_b32 s4, v32
+; SI-NEXT: v_readfirstlane_b32 s4, v49
; SI-NEXT: s_lshr_b32 s23, s4, 16
-; SI-NEXT: v_readfirstlane_b32 s4, v38
+; SI-NEXT: v_readfirstlane_b32 s4, v42
; SI-NEXT: s_lshr_b32 s5, s4, 16
-; SI-NEXT: v_readfirstlane_b32 s4, v11
+; SI-NEXT: v_readfirstlane_b32 s4, v12
; SI-NEXT: s_lshr_b64 s[16:17], s[4:5], 16
-; SI-NEXT: v_readfirstlane_b32 s4, v59
+; SI-NEXT: v_readfirstlane_b32 s4, v40
; SI-NEXT: s_lshr_b32 s19, s4, 16
-; SI-NEXT: v_readfirstlane_b32 s4, v21
+; SI-NEXT: v_readfirstlane_b32 s4, v24
; SI-NEXT: s_lshr_b32 s5, s4, 16
-; SI-NEXT: v_readfirstlane_b32 s4, v2
+; SI-NEXT: v_readfirstlane_b32 s4, v15
; SI-NEXT: s_lshr_b64 s[10:11], s[4:5], 16
-; SI-NEXT: v_readfirstlane_b32 s4, v57
+; SI-NEXT: v_readfirstlane_b32 s4, v26
; SI-NEXT: s_lshr_b32 s13, s4, 16
-; SI-NEXT: v_readfirstlane_b32 s4, v18
+; SI-NEXT: v_readfirstlane_b32 s4, v8
; SI-NEXT: s_lshr_b32 s5, s4, 16
-; SI-NEXT: v_readfirstlane_b32 s4, v16
+; SI-NEXT: v_readfirstlane_b32 s4, v6
; SI-NEXT: s_lshr_b64 s[4:5], s[4:5], 16
-; SI-NEXT: v_readfirstlane_b32 s5, v58
+; SI-NEXT: v_readfirstlane_b32 s5, v27
; SI-NEXT: s_lshr_b32 s7, s5, 16
; SI-NEXT: s_mov_b32 s5, s7
; SI-NEXT: s_lshr_b64 s[8:9], s[6:7], 16
-; SI-NEXT: s_mov_b32 s6, s92
+; SI-NEXT: s_mov_b32 s6, s94
; SI-NEXT: v_writelane_b32 v61, s4, 34
; SI-NEXT: v_writelane_b32 v62, s6, 48
; SI-NEXT: v_writelane_b32 v61, s5, 35
@@ -158795,88 +158878,85 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; SI-NEXT: v_writelane_b32 v62, s7, 49
; SI-NEXT: s_mov_b32 s14, s8
; SI-NEXT: s_lshr_b32 s6, s8, 8
-; SI-NEXT: s_lshr_b64 s[8:9], s[98:99], 24
+; SI-NEXT: s_lshr_b64 s[8:9], s[96:97], 24
; SI-NEXT: v_writelane_b32 v62, s8, 4
; SI-NEXT: v_writelane_b32 v62, s9, 5
-; SI-NEXT: s_lshr_b64 s[8:9], s[98:99], 16
+; SI-NEXT: s_lshr_b64 s[8:9], s[96:97], 16
; SI-NEXT: v_writelane_b32 v62, s8, 2
; SI-NEXT: v_writelane_b32 v62, s9, 3
-; SI-NEXT: s_lshr_b64 s[8:9], s[98:99], 8
+; SI-NEXT: s_lshr_b64 s[8:9], s[96:97], 8
; SI-NEXT: v_writelane_b32 v62, s8, 0
; SI-NEXT: v_writelane_b32 v62, s9, 1
-; SI-NEXT: s_lshr_b64 s[8:9], s[84:85], 24
+; SI-NEXT: s_lshr_b64 s[8:9], s[82:83], 24
; SI-NEXT: v_writelane_b32 v62, s8, 10
; SI-NEXT: v_writelane_b32 v62, s9, 11
-; SI-NEXT: s_lshr_b64 s[8:9], s[84:85], 16
+; SI-NEXT: s_lshr_b64 s[8:9], s[82:83], 16
; SI-NEXT: v_writelane_b32 v62, s8, 8
; SI-NEXT: v_writelane_b32 v62, s9, 9
-; SI-NEXT: s_lshr_b64 s[8:9], s[84:85], 8
+; SI-NEXT: s_lshr_b64 s[8:9], s[82:83], 8
; SI-NEXT: v_writelane_b32 v62, s8, 6
; SI-NEXT: v_writelane_b32 v62, s9, 7
-; SI-NEXT: s_lshr_b64 s[8:9], s[70:71], 24
+; SI-NEXT: s_lshr_b64 s[8:9], s[68:69], 24
; SI-NEXT: v_writelane_b32 v62, s8, 16
; SI-NEXT: v_writelane_b32 v62, s9, 17
-; SI-NEXT: s_lshr_b64 s[8:9], s[70:71], 16
+; SI-NEXT: s_lshr_b64 s[8:9], s[68:69], 16
; SI-NEXT: v_writelane_b32 v62, s8, 14
; SI-NEXT: v_writelane_b32 v62, s9, 15
-; SI-NEXT: s_lshr_b64 s[8:9], s[70:71], 8
+; SI-NEXT: s_lshr_b64 s[8:9], s[68:69], 8
; SI-NEXT: v_writelane_b32 v62, s8, 12
; SI-NEXT: v_writelane_b32 v62, s9, 13
-; SI-NEXT: s_lshr_b64 s[8:9], s[64:65], 24
+; SI-NEXT: s_lshr_b64 s[8:9], s[54:55], 24
; SI-NEXT: v_writelane_b32 v62, s8, 22
; SI-NEXT: v_writelane_b32 v62, s9, 23
-; SI-NEXT: s_lshr_b64 s[8:9], s[64:65], 16
+; SI-NEXT: s_lshr_b64 s[8:9], s[54:55], 16
; SI-NEXT: v_writelane_b32 v62, s8, 20
; SI-NEXT: v_writelane_b32 v62, s9, 21
-; SI-NEXT: s_lshr_b64 s[8:9], s[64:65], 8
+; SI-NEXT: s_lshr_b64 s[8:9], s[54:55], 8
; SI-NEXT: v_writelane_b32 v62, s8, 18
; SI-NEXT: v_writelane_b32 v62, s9, 19
-; SI-NEXT: s_lshr_b64 s[8:9], s[48:49], 24
+; SI-NEXT: s_lshr_b64 s[8:9], s[38:39], 24
; SI-NEXT: v_writelane_b32 v62, s8, 28
; SI-NEXT: v_writelane_b32 v62, s9, 29
-; SI-NEXT: s_lshr_b64 s[8:9], s[48:49], 16
+; SI-NEXT: s_lshr_b64 s[8:9], s[38:39], 16
; SI-NEXT: v_writelane_b32 v62, s8, 26
; SI-NEXT: v_writelane_b32 v62, s9, 27
-; SI-NEXT: s_lshr_b64 s[8:9], s[48:49], 8
+; SI-NEXT: s_lshr_b64 s[8:9], s[38:39], 8
; SI-NEXT: v_writelane_b32 v62, s8, 24
; SI-NEXT: v_writelane_b32 v62, s9, 25
-; SI-NEXT: s_lshr_b64 s[8:9], s[94:95], 24
+; SI-NEXT: s_lshr_b64 s[8:9], s[92:93], 24
; SI-NEXT: v_writelane_b32 v62, s8, 34
; SI-NEXT: v_writelane_b32 v62, s9, 35
-; SI-NEXT: s_lshr_b64 s[8:9], s[94:95], 16
+; SI-NEXT: s_lshr_b64 s[8:9], s[92:93], 16
; SI-NEXT: v_writelane_b32 v62, s8, 32
; SI-NEXT: v_writelane_b32 v62, s9, 33
-; SI-NEXT: s_lshr_b64 s[8:9], s[94:95], 8
+; SI-NEXT: s_lshr_b64 s[8:9], s[92:93], 8
; SI-NEXT: v_writelane_b32 v62, s8, 30
; SI-NEXT: v_writelane_b32 v62, s9, 31
-; SI-NEXT: s_lshr_b64 s[8:9], s[76:77], 24
+; SI-NEXT: s_lshr_b64 s[8:9], s[74:75], 24
; SI-NEXT: v_writelane_b32 v62, s8, 40
; SI-NEXT: v_writelane_b32 v62, s9, 41
-; SI-NEXT: s_lshr_b64 s[8:9], s[76:77], 16
+; SI-NEXT: s_lshr_b64 s[8:9], s[74:75], 16
; SI-NEXT: v_writelane_b32 v62, s8, 38
; SI-NEXT: v_writelane_b32 v62, s9, 39
-; SI-NEXT: s_lshr_b64 s[8:9], s[76:77], 8
+; SI-NEXT: s_lshr_b64 s[8:9], s[74:75], 8
; SI-NEXT: v_writelane_b32 v62, s8, 36
; SI-NEXT: v_writelane_b32 v62, s9, 37
-; SI-NEXT: s_lshr_b64 s[8:9], s[30:31], 24
+; SI-NEXT: s_lshr_b64 s[8:9], vcc, 24
; SI-NEXT: v_writelane_b32 v62, s8, 46
; SI-NEXT: v_writelane_b32 v62, s9, 47
-; SI-NEXT: s_lshr_b64 s[8:9], s[30:31], 16
+; SI-NEXT: s_lshr_b64 s[8:9], vcc, 16
; SI-NEXT: v_writelane_b32 v62, s8, 44
; SI-NEXT: v_writelane_b32 v62, s9, 45
-; SI-NEXT: s_lshr_b64 s[8:9], s[30:31], 8
+; SI-NEXT: s_lshr_b64 s[8:9], vcc, 8
; SI-NEXT: v_writelane_b32 v62, s8, 42
; SI-NEXT: v_writelane_b32 v62, s9, 43
-; SI-NEXT: s_lshr_b64 s[8:9], s[78:79], 24
+; SI-NEXT: s_lshr_b64 s[8:9], s[76:77], 24
; SI-NEXT: v_writelane_b32 v62, s8, 54
; SI-NEXT: v_writelane_b32 v62, s9, 55
-; SI-NEXT: s_lshr_b64 s[8:9], s[78:79], 16
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_readfirstlane_b32 s58, v34
+; SI-NEXT: s_lshr_b64 s[8:9], s[76:77], 16
; SI-NEXT: v_writelane_b32 v62, s8, 52
-; SI-NEXT: s_lshr_b64 s[56:57], s[58:59], 16
; SI-NEXT: v_writelane_b32 v62, s9, 53
-; SI-NEXT: s_lshr_b64 s[8:9], s[78:79], 8
+; SI-NEXT: s_lshr_b64 s[8:9], s[76:77], 8
; SI-NEXT: s_mov_b32 s63, s56
; SI-NEXT: v_writelane_b32 v62, s8, 50
; SI-NEXT: v_writelane_b32 v62, s9, 51
@@ -158895,6 +158975,8 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; SI-NEXT: v_writelane_b32 v61, s8, 2
; SI-NEXT: v_writelane_b32 v61, s9, 3
; SI-NEXT: s_lshr_b64 s[8:9], s[46:47], 16
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_readfirstlane_b32 s28, v29
; SI-NEXT: v_writelane_b32 v61, s8, 0
; SI-NEXT: s_lshr_b64 s[26:27], s[28:29], 16
; SI-NEXT: v_writelane_b32 v61, s9, 1
@@ -158951,27 +159033,16 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; SI-NEXT: v_writelane_b32 v61, s8, 30
; SI-NEXT: v_writelane_b32 v61, s9, 31
; SI-NEXT: s_lshr_b64 s[8:9], s[4:5], 8
-; SI-NEXT: v_mov_b32_e32 v16, v6
; SI-NEXT: v_writelane_b32 v61, s8, 28
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v35, 24, v5
-; SI-NEXT: v_mov_b32_e32 v6, v24
-; SI-NEXT: v_mov_b32_e32 v24, v57
-; SI-NEXT: v_mov_b32_e32 v14, v21
-; SI-NEXT: v_mov_b32_e32 v15, v2
-; SI-NEXT: v_mov_b32_e32 v2, v20
-; SI-NEXT: v_mov_b32_e32 v7, v18
-; SI-NEXT: s_lshr_b32 s88, s96, 8
-; SI-NEXT: s_lshr_b32 s61, s82, 8
-; SI-NEXT: s_lshr_b32 s72, s68, 8
-; SI-NEXT: s_lshr_b32 s57, s54, 8
-; SI-NEXT: s_lshr_b32 s58, vcc_lo, 8
-; SI-NEXT: s_lshr_b32 s93, s80, 8
-; SI-NEXT: s_lshr_b32 s44, s38, 8
-; SI-NEXT: s_lshr_b32 s27, s92, 8
-; SI-NEXT: s_mov_b32 s86, s60
+; SI-NEXT: v_mov_b32_e32 v4, v43
+; SI-NEXT: v_mov_b32_e32 v12, v41
+; SI-NEXT: v_mov_b32_e32 v15, v22
+; SI-NEXT: s_lshr_b32 s57, s64, 8
+; SI-NEXT: s_lshr_b32 s58, s30, 8
+; SI-NEXT: s_lshr_b32 s44, s48, 8
+; SI-NEXT: s_lshr_b32 s27, s94, 8
; SI-NEXT: s_lshr_b32 s28, s60, 8
-; SI-NEXT: s_mov_b32 s74, s56
+; SI-NEXT: s_mov_b32 s78, s56
; SI-NEXT: s_lshr_b32 s21, s56, 8
; SI-NEXT: s_lshr_b32 s22, s52, 8
; SI-NEXT: s_mov_b32 s66, s26
@@ -158983,192 +159054,217 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; SI-NEXT: s_lshr_b32 s12, s90, 8
; SI-NEXT: v_writelane_b32 v61, s9, 29
; SI-NEXT: s_mov_b64 s[8:9], 0
-; SI-NEXT: v_lshrrev_b32_e32 v56, 24, v26
-; SI-NEXT: v_lshrrev_b32_e32 v47, 24, v25
-; SI-NEXT: v_lshrrev_b32_e32 v46, 24, v55
-; SI-NEXT: v_lshrrev_b32_e32 v45, 24, v37
-; SI-NEXT: v_lshrrev_b32_e32 v44, 24, v28
-; SI-NEXT: v_lshrrev_b32_e32 v43, 24, v22
-; SI-NEXT: v_lshrrev_b32_e32 v42, 24, v33
-; SI-NEXT: v_lshrrev_b32_e32 v41, 24, v39
-; SI-NEXT: v_lshrrev_b32_e32 v40, 24, v52
-; SI-NEXT: v_mov_b32_e32 v18, v27
-; SI-NEXT: v_lshrrev_b32_e32 v4, 24, v27
-; SI-NEXT: v_mov_b32_e32 v20, v32
-; SI-NEXT: v_lshrrev_b32_e32 v54, 24, v32
-; SI-NEXT: v_mov_b32_e32 v21, v59
-; SI-NEXT: v_lshrrev_b32_e32 v8, 24, v59
-; SI-NEXT: v_lshrrev_b32_e32 v11, 24, v24
-; SI-NEXT: v_lshrrev_b32_e32 v60, 24, v23
-; SI-NEXT: v_mov_b32_e32 v27, v3
-; SI-NEXT: v_mov_b32_e32 v32, v13
-; SI-NEXT: v_mov_b32_e32 v59, v30
-; SI-NEXT: v_mov_b32_e32 v24, v10
-; SI-NEXT: v_mov_b32_e32 v38, v12
-; SI-NEXT: v_mov_b32_e32 v12, v35
-; SI-NEXT: v_mov_b32_e32 v35, v49
-; SI-NEXT: v_mov_b32_e32 v13, v28
-; SI-NEXT: v_mov_b32_e32 v28, v33
-; SI-NEXT: v_mov_b32_e32 v33, v39
-; SI-NEXT: v_mov_b32_e32 v39, v52
-; SI-NEXT: v_mov_b32_e32 v49, v5
+; SI-NEXT: v_lshrrev_b32_e32 v8, 24, v28
+; SI-NEXT: v_lshrrev_b32_e32 v6, 24, v30
+; SI-NEXT: v_lshrrev_b32_e32 v46, 24, v38
+; SI-NEXT: v_lshrrev_b32_e32 v45, 24, v21
+; SI-NEXT: v_lshrrev_b32_e32 v44, 24, v48
+; SI-NEXT: v_lshrrev_b32_e32 v43, 24, v53
+; SI-NEXT: v_mov_b32_e32 v22, v49
+; SI-NEXT: v_lshrrev_b32_e32 v42, 24, v49
+; SI-NEXT: v_mov_b32_e32 v24, v40
+; SI-NEXT: v_lshrrev_b32_e32 v41, 24, v40
+; SI-NEXT: v_mov_b32_e32 v28, v26
+; SI-NEXT: v_lshrrev_b32_e32 v40, 24, v26
+; SI-NEXT: s_waitcnt expcnt(1)
+; SI-NEXT: v_lshrrev_b32_e32 v55, 24, v27
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_mov_b32_e32 v37, v38
+; SI-NEXT: v_mov_b32_e32 v49, v21
+; SI-NEXT: v_mov_b32_e32 v26, v48
+; SI-NEXT: v_mov_b32_e32 v27, v29
; SI-NEXT: s_branch .LBB91_3
; SI-NEXT: .LBB91_2:
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_mov_b32_e32 v19, v16
+; SI-NEXT: v_mov_b32_e32 v19, v2
; SI-NEXT: v_writelane_b32 v62, s4, 0
; SI-NEXT: v_writelane_b32 v62, s5, 1
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_mov_b32_e32 v16, v6
+; SI-NEXT: v_mov_b32_e32 v2, v27
; SI-NEXT: v_writelane_b32 v62, s4, 2
; SI-NEXT: v_writelane_b32 v62, s5, 3
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_mov_b32_e32 v15, v2
+; SI-NEXT: v_mov_b32_e32 v18, v15
; SI-NEXT: v_writelane_b32 v62, s4, 4
; SI-NEXT: v_writelane_b32 v62, s5, 5
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_mov_b32_e32 v14, v21
+; SI-NEXT: v_mov_b32_e32 v15, v22
; SI-NEXT: v_writelane_b32 v62, s4, 6
; SI-NEXT: v_writelane_b32 v62, s5, 7
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_mov_b32_e32 v2, v20
+; SI-NEXT: v_mov_b32_e32 v28, v26
; SI-NEXT: v_writelane_b32 v62, s4, 8
; SI-NEXT: v_writelane_b32 v62, s5, 9
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_mov_b32_e32 v21, v59
+; SI-NEXT: v_mov_b32_e32 v22, v49
; SI-NEXT: v_writelane_b32 v62, s4, 10
; SI-NEXT: v_writelane_b32 v62, s5, 11
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_mov_b32_e32 v20, v32
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_mov_b32_e32 v37, v53
; SI-NEXT: v_writelane_b32 v62, s4, 12
; SI-NEXT: v_writelane_b32 v62, s5, 13
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_mov_b32_e32 v6, v24
+; SI-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload
; SI-NEXT: v_writelane_b32 v62, s4, 14
; SI-NEXT: v_writelane_b32 v62, s5, 15
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_mov_b32_e32 v29, v34
+; SI-NEXT: ; implicit-def: $sgpr15
+; SI-NEXT: ; implicit-def: $sgpr14
+; SI-NEXT: v_mov_b32_e32 v33, v29
; SI-NEXT: v_writelane_b32 v62, s4, 16
-; SI-NEXT: v_mov_b32_e32 v32, v13
-; SI-NEXT: v_mov_b32_e32 v59, v9
-; SI-NEXT: v_mov_b32_e32 v24, v51
-; SI-NEXT: v_mov_b32_e32 v51, v1
-; SI-NEXT: s_waitcnt expcnt(2)
-; SI-NEXT: v_mov_b32_e32 v38, v31
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mov_b32_e32 v35, v49
-; SI-NEXT: v_mov_b32_e32 v1, v54
-; SI-NEXT: v_mov_b32_e32 v13, v28
-; SI-NEXT: v_mov_b32_e32 v28, v39
-; SI-NEXT: v_mov_b32_e32 v39, v17
-; SI-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:56 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:52 ; 4-byte Folded Reload
-; SI-NEXT: ; implicit-def: $vgpr9
-; SI-NEXT: ; implicit-def: $vgpr54
-; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload
; SI-NEXT: v_writelane_b32 v62, s5, 17
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: ; implicit-def: $sgpr15
-; SI-NEXT: ; implicit-def: $sgpr14
-; SI-NEXT: v_mov_b32_e32 v7, v18
+; SI-NEXT: v_mov_b32_e32 v25, v21
; SI-NEXT: v_writelane_b32 v62, s4, 18
; SI-NEXT: v_writelane_b32 v62, s5, 19
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_mov_b32_e32 v18, v27
+; SI-NEXT: v_mov_b32_e32 v17, v13
; SI-NEXT: v_writelane_b32 v62, s4, 20
; SI-NEXT: v_writelane_b32 v62, s5, 21
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: s_mov_b64 s[8:9], -1
+; SI-NEXT: v_mov_b32_e32 v9, v5
; SI-NEXT: v_writelane_b32 v62, s4, 22
; SI-NEXT: v_writelane_b32 v62, s5, 23
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_mov_b32_e32 v27, v36
+; SI-NEXT: v_mov_b32_e32 v1, v54
; SI-NEXT: v_writelane_b32 v62, s4, 24
; SI-NEXT: v_writelane_b32 v62, s5, 25
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_mov_b32_e32 v36, v5
+; SI-NEXT: v_mov_b32_e32 v52, v51
; SI-NEXT: v_writelane_b32 v62, s4, 26
; SI-NEXT: v_writelane_b32 v62, s5, 27
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_mov_b32_e32 v26, v37
+; SI-NEXT: v_mov_b32_e32 v50, v48
; SI-NEXT: v_writelane_b32 v62, s4, 28
; SI-NEXT: v_writelane_b32 v62, s5, 29
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_mov_b32_e32 v25, v55
+; SI-NEXT: v_mov_b32_e32 v39, v38
; SI-NEXT: v_writelane_b32 v62, s4, 30
; SI-NEXT: v_writelane_b32 v62, s5, 31
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_mov_b32_e32 v55, v30
+; SI-NEXT: v_mov_b32_e32 v36, v35
; SI-NEXT: v_writelane_b32 v62, s4, 32
; SI-NEXT: v_writelane_b32 v62, s5, 33
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_mov_b32_e32 v37, v22
+; SI-NEXT: v_mov_b32_e32 v34, v32
; SI-NEXT: v_writelane_b32 v62, s4, 34
; SI-NEXT: v_writelane_b32 v62, s5, 35
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_mov_b32_e32 v22, v33
+; SI-NEXT: v_mov_b32_e32 v31, v30
; SI-NEXT: v_writelane_b32 v62, s4, 36
; SI-NEXT: v_writelane_b32 v62, s5, 37
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_mov_b32_e32 v33, v52
+; SI-NEXT: v_mov_b32_e32 v23, v6
; SI-NEXT: v_writelane_b32 v62, s4, 38
; SI-NEXT: v_writelane_b32 v62, s5, 39
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: ; implicit-def: $sgpr98
+; SI-NEXT: v_mov_b32_e32 v20, v8
+; SI-NEXT: v_writelane_b32 v62, s4, 40
+; SI-NEXT: v_writelane_b32 v62, s5, 41
+; SI-NEXT: ; implicit-def: $sgpr4
+; SI-NEXT: v_mov_b32_e32 v16, v24
+; SI-NEXT: v_writelane_b32 v62, s4, 42
+; SI-NEXT: v_writelane_b32 v62, s5, 43
+; SI-NEXT: ; implicit-def: $sgpr4
+; SI-NEXT: v_mov_b32_e32 v14, v12
+; SI-NEXT: v_writelane_b32 v62, s4, 44
+; SI-NEXT: v_writelane_b32 v62, s5, 45
+; SI-NEXT: ; implicit-def: $sgpr4
+; SI-NEXT: v_mov_b32_e32 v11, v42
+; SI-NEXT: v_writelane_b32 v62, s4, 46
+; SI-NEXT: v_writelane_b32 v62, s5, 47
+; SI-NEXT: ; implicit-def: $sgpr4
+; SI-NEXT: v_mov_b32_e32 v12, v41
+; SI-NEXT: v_writelane_b32 v62, s4, 48
+; SI-NEXT: v_writelane_b32 v62, s5, 49
+; SI-NEXT: ; implicit-def: $sgpr4
+; SI-NEXT: v_mov_b32_e32 v24, v40
+; SI-NEXT: v_writelane_b32 v62, s4, 50
+; SI-NEXT: v_writelane_b32 v62, s5, 51
+; SI-NEXT: ; implicit-def: $sgpr4
+; SI-NEXT: v_mov_b32_e32 v10, v4
+; SI-NEXT: v_writelane_b32 v62, s4, 52
+; SI-NEXT: v_writelane_b32 v62, s5, 53
+; SI-NEXT: ; implicit-def: $sgpr4
+; SI-NEXT: v_mov_b32_e32 v7, v44
+; SI-NEXT: v_writelane_b32 v62, s4, 54
+; SI-NEXT: v_writelane_b32 v62, s5, 55
+; SI-NEXT: ; implicit-def: $sgpr4
+; SI-NEXT: v_mov_b32_e32 v4, v43
+; SI-NEXT: v_writelane_b32 v62, s4, 56
+; SI-NEXT: v_writelane_b32 v62, s5, 57
+; SI-NEXT: ; implicit-def: $sgpr4
+; SI-NEXT: v_mov_b32_e32 v3, v45
+; SI-NEXT: v_writelane_b32 v62, s4, 58
+; SI-NEXT: v_writelane_b32 v62, s5, 59
+; SI-NEXT: ; implicit-def: $sgpr4
+; SI-NEXT: s_mov_b64 s[8:9], -1
+; SI-NEXT: v_writelane_b32 v62, s4, 60
+; SI-NEXT: v_writelane_b32 v62, s5, 61
+; SI-NEXT: ; implicit-def: $sgpr4
; SI-NEXT: ; implicit-def: $sgpr96
+; SI-NEXT: ; implicit-def: $sgpr98
; SI-NEXT: ; implicit-def: $sgpr88
; SI-NEXT: ; implicit-def: $sgpr87
-; SI-NEXT: ; implicit-def: $vgpr56
-; SI-NEXT: ; implicit-def: $sgpr84
+; SI-NEXT: ; implicit-def: $vgpr8
; SI-NEXT: ; implicit-def: $sgpr82
+; SI-NEXT: ; implicit-def: $sgpr84
; SI-NEXT: ; implicit-def: $sgpr61
; SI-NEXT: ; implicit-def: $sgpr51
-; SI-NEXT: ; implicit-def: $vgpr47
-; SI-NEXT: ; implicit-def: $sgpr70
+; SI-NEXT: ; implicit-def: $vgpr6
; SI-NEXT: ; implicit-def: $sgpr68
+; SI-NEXT: ; implicit-def: $sgpr70
; SI-NEXT: ; implicit-def: $sgpr72
; SI-NEXT: ; implicit-def: $sgpr67
-; SI-NEXT: ; implicit-def: $vgpr46
-; SI-NEXT: ; implicit-def: $sgpr64
+; SI-NEXT: ; implicit-def: $vgpr60
; SI-NEXT: ; implicit-def: $sgpr54
+; SI-NEXT: ; implicit-def: $sgpr64
; SI-NEXT: ; implicit-def: $sgpr57
-; SI-NEXT: ; implicit-def: $sgpr75
-; SI-NEXT: ; implicit-def: $vgpr45
-; SI-NEXT: ; implicit-def: $sgpr48
-; SI-NEXT: ; implicit-def: $vcc_lo
+; SI-NEXT: ; implicit-def: $sgpr79
+; SI-NEXT: ; implicit-def: $vgpr59
+; SI-NEXT: ; implicit-def: $sgpr38
+; SI-NEXT: ; implicit-def: $sgpr30
; SI-NEXT: ; implicit-def: $sgpr58
; SI-NEXT: ; implicit-def: $sgpr43
-; SI-NEXT: ; implicit-def: $vgpr44
-; SI-NEXT: ; implicit-def: $sgpr94
+; SI-NEXT: ; implicit-def: $vgpr58
+; SI-NEXT: ; implicit-def: $sgpr92
; SI-NEXT: ; implicit-def: $sgpr80
-; SI-NEXT: ; implicit-def: $sgpr93
+; SI-NEXT: ; implicit-def: $sgpr95
; SI-NEXT: ; implicit-def: $sgpr89
-; SI-NEXT: ; implicit-def: $vgpr43
-; SI-NEXT: ; implicit-def: $sgpr76
+; SI-NEXT: ; implicit-def: $vgpr57
+; SI-NEXT: ; implicit-def: $sgpr74
; SI-NEXT: ; implicit-def: $sgpr44
-; SI-NEXT: ; implicit-def: $vgpr42
+; SI-NEXT: ; implicit-def: $vgpr56
; SI-NEXT: ; implicit-def: $sgpr27
-; SI-NEXT: ; implicit-def: $vgpr41
+; SI-NEXT: ; implicit-def: $vgpr47
; SI-NEXT: ; implicit-def: $sgpr28
-; SI-NEXT: ; implicit-def: $vgpr40
+; SI-NEXT: ; implicit-def: $vgpr46
; SI-NEXT: ; implicit-def: $sgpr21
-; SI-NEXT: ; implicit-def: $vgpr12
+; SI-NEXT: ; implicit-def: $vgpr45
; SI-NEXT: ; implicit-def: $sgpr22
+; SI-NEXT: ; implicit-def: $vgpr44
; SI-NEXT: ; implicit-def: $sgpr56
+; SI-NEXT: ; implicit-def: $vgpr43
; SI-NEXT: ; implicit-def: $sgpr18
+; SI-NEXT: ; implicit-def: $vgpr42
; SI-NEXT: ; implicit-def: $sgpr91
+; SI-NEXT: ; implicit-def: $vgpr41
; SI-NEXT: ; implicit-def: $sgpr12
+; SI-NEXT: ; implicit-def: $vgpr40
; SI-NEXT: ; implicit-def: $sgpr6
-; SI-NEXT: ; implicit-def: $vgpr60
-; SI-NEXT: ; implicit-def: $sgpr38
+; SI-NEXT: ; implicit-def: $vgpr55
+; SI-NEXT: ; implicit-def: $sgpr48
; SI-NEXT: ; implicit-def: $sgpr37
-; SI-NEXT: ; implicit-def: $sgpr30
-; SI-NEXT: ; implicit-def: $sgpr78
+; SI-NEXT: ; implicit-def: $vcc_lo
+; SI-NEXT: ; implicit-def: $sgpr76
; SI-NEXT: ; implicit-def: $sgpr86
; SI-NEXT: ; implicit-def: $sgpr73
; SI-NEXT: ; implicit-def: $sgpr62
-; SI-NEXT: ; implicit-def: $sgpr74
+; SI-NEXT: ; implicit-def: $sgpr78
; SI-NEXT: ; implicit-def: $sgpr59
; SI-NEXT: ; implicit-def: $sgpr46
; SI-NEXT: ; implicit-def: $sgpr52
@@ -159185,42 +159281,6 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; SI-NEXT: ; implicit-def: $sgpr10
; SI-NEXT: ; implicit-def: $sgpr36
; SI-NEXT: ; implicit-def: $sgpr13
-; SI-NEXT: ; implicit-def: $vgpr11
-; SI-NEXT: ; implicit-def: $vgpr8
-; SI-NEXT: ; implicit-def: $vgpr4
-; SI-NEXT: v_writelane_b32 v62, s4, 40
-; SI-NEXT: v_writelane_b32 v62, s5, 41
-; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_writelane_b32 v62, s4, 42
-; SI-NEXT: v_writelane_b32 v62, s5, 43
-; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_writelane_b32 v62, s4, 44
-; SI-NEXT: v_writelane_b32 v62, s5, 45
-; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_writelane_b32 v62, s4, 46
-; SI-NEXT: v_writelane_b32 v62, s5, 47
-; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_writelane_b32 v62, s4, 48
-; SI-NEXT: v_writelane_b32 v62, s5, 49
-; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_writelane_b32 v62, s4, 50
-; SI-NEXT: v_writelane_b32 v62, s5, 51
-; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_writelane_b32 v62, s4, 52
-; SI-NEXT: v_writelane_b32 v62, s5, 53
-; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_writelane_b32 v62, s4, 54
-; SI-NEXT: v_writelane_b32 v62, s5, 55
-; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_writelane_b32 v62, s4, 56
-; SI-NEXT: v_writelane_b32 v62, s5, 57
-; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_writelane_b32 v62, s4, 58
-; SI-NEXT: v_writelane_b32 v62, s5, 59
-; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_writelane_b32 v62, s4, 60
-; SI-NEXT: v_writelane_b32 v62, s5, 61
-; SI-NEXT: ; implicit-def: $sgpr4
; SI-NEXT: v_writelane_b32 v62, s4, 62
; SI-NEXT: v_writelane_b32 v62, s5, 63
; SI-NEXT: ; implicit-def: $sgpr4
@@ -159279,454 +159339,456 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; SI-NEXT: v_writelane_b32 v61, s5, 35
; SI-NEXT: ; implicit-def: $sgpr14
; SI-NEXT: .LBB91_3: ; %Flow
+; SI-NEXT: v_mov_b32_e32 v54, v1
+; SI-NEXT: v_mov_b32_e32 v5, v9
+; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:52 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:56 ; 4-byte Folded Reload
; SI-NEXT: s_and_b64 s[8:9], s[8:9], exec
; SI-NEXT: s_cselect_b32 s5, 1, 0
; SI-NEXT: s_cmp_lg_u32 s5, 1
; SI-NEXT: s_cbranch_scc1 .LBB91_5
; SI-NEXT: ; %bb.4: ; %cmp.true
-; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload
-; SI-NEXT: v_and_b32_e32 v7, 0xffff0000, v7
-; SI-NEXT: v_and_b32_e32 v19, 0xffff0000, v19
-; SI-NEXT: v_add_f32_e32 v7, 0x40c00000, v7
-; SI-NEXT: v_add_f32_e32 v19, 0x40c00000, v19
-; SI-NEXT: v_readfirstlane_b32 s4, v7
-; SI-NEXT: v_and_b32_e32 v7, 0xffff0000, v16
+; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v20
+; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v23
+; SI-NEXT: v_add_f32_e32 v8, 0x40c00000, v8
+; SI-NEXT: v_add_f32_e32 v6, 0x40c00000, v6
+; SI-NEXT: v_readfirstlane_b32 s4, v8
+; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v2
; SI-NEXT: s_lshr_b32 s5, s4, 16
-; SI-NEXT: v_readfirstlane_b32 s4, v19
-; SI-NEXT: v_add_f32_e32 v16, 0x40c00000, v7
-; SI-NEXT: v_and_b32_e32 v7, 0xffff0000, v58
+; SI-NEXT: v_readfirstlane_b32 s4, v6
+; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v19
+; SI-NEXT: v_add_f32_e32 v55, 0x40c00000, v2
+; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v18
; SI-NEXT: s_lshr_b64 s[4:5], s[4:5], 16
-; SI-NEXT: v_add_f32_e32 v7, 0x40c00000, v7
-; SI-NEXT: v_readfirstlane_b32 s5, v7
-; SI-NEXT: v_and_b32_e32 v14, 0xffff0000, v14
+; SI-NEXT: v_add_f32_e32 v6, 0x40c00000, v6
+; SI-NEXT: v_add_f32_e32 v2, 0x40c00000, v2
+; SI-NEXT: v_readfirstlane_b32 s5, v55
+; SI-NEXT: v_readfirstlane_b32 s6, v6
+; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v16
+; SI-NEXT: v_readfirstlane_b32 s8, v2
+; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v15
; SI-NEXT: s_lshr_b32 s7, s5, 16
-; SI-NEXT: v_readfirstlane_b32 s6, v16
-; SI-NEXT: v_add_f32_e32 v14, 0x40c00000, v14
-; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v2
-; SI-NEXT: s_lshr_b64 s[90:91], s[6:7], 16
-; SI-NEXT: v_readfirstlane_b32 s6, v14
-; SI-NEXT: v_add_f32_e32 v14, 0x40c00000, v2
-; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v57
+; SI-NEXT: v_add_f32_e32 v6, 0x40c00000, v6
; SI-NEXT: v_add_f32_e32 v2, 0x40c00000, v2
+; SI-NEXT: s_lshr_b64 s[90:91], s[6:7], 16
+; SI-NEXT: v_readfirstlane_b32 s6, v6
+; SI-NEXT: v_readfirstlane_b32 s12, v2
+; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v14
; SI-NEXT: s_lshr_b32 s9, s6, 16
-; SI-NEXT: v_readfirstlane_b32 s6, v2
-; SI-NEXT: s_lshr_b32 s13, s6, 16
-; SI-NEXT: v_and_b32_e32 v15, 0xffff0000, v15
-; SI-NEXT: v_add_f32_e32 v15, 0x40c00000, v15
-; SI-NEXT: v_readfirstlane_b32 s8, v15
+; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v28
+; SI-NEXT: v_add_f32_e32 v2, 0x40c00000, v2
; SI-NEXT: s_lshr_b64 s[10:11], s[8:9], 16
-; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v6
+; SI-NEXT: v_add_f32_e32 v15, 0x40c00000, v6
+; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v11
+; SI-NEXT: v_readfirstlane_b32 s8, v2
+; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v12
+; SI-NEXT: v_readfirstlane_b32 s6, v15
; SI-NEXT: v_add_f32_e32 v6, 0x40c00000, v6
-; SI-NEXT: v_readfirstlane_b32 s12, v14
-; SI-NEXT: v_and_b32_e32 v14, 0xffff0000, v51
-; SI-NEXT: v_add_f32_e32 v14, 0x40c00000, v14
-; SI-NEXT: v_and_b32_e32 v15, 0xffff0000, v59
-; SI-NEXT: v_add_f32_e32 v15, 0x40c00000, v15
-; SI-NEXT: v_and_b32_e32 v16, 0xffff0000, v48
-; SI-NEXT: v_add_f32_e32 v16, 0x40c00000, v16
-; SI-NEXT: v_and_b32_e32 v9, 0xffff0000, v55
-; SI-NEXT: v_add_f32_e32 v9, 0x40c00000, v9
-; SI-NEXT: v_and_b32_e32 v5, 0xffff0000, v25
-; SI-NEXT: v_add_f32_e32 v5, 0x40c00000, v5
-; SI-NEXT: s_mov_b32 s5, s7
-; SI-NEXT: v_writelane_b32 v61, s4, 34
-; SI-NEXT: v_writelane_b32 v61, s5, 35
-; SI-NEXT: s_lshr_b64 s[20:21], s[12:13], 16
-; SI-NEXT: s_mov_b32 s11, s20
-; SI-NEXT: s_mov_b32 s5, s90
-; SI-NEXT: s_lshr_b32 s12, s20, 8
-; SI-NEXT: v_lshrrev_b32_e32 v47, 24, v5
-; SI-NEXT: v_lshrrev_b32_e32 v46, 24, v9
-; SI-NEXT: v_lshrrev_b32_e32 v60, 24, v7
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v12, 0xffff0000, v3
-; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload
-; SI-NEXT: v_add_f32_e32 v12, 0x40c00000, v12
-; SI-NEXT: v_readfirstlane_b32 s8, v12
-; SI-NEXT: v_and_b32_e32 v12, 0xffff0000, v35
-; SI-NEXT: v_add_f32_e32 v12, 0x40c00000, v12
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v10, 0xffff0000, v3
-; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload
-; SI-NEXT: v_add_f32_e32 v10, 0x40c00000, v10
-; SI-NEXT: v_readfirstlane_b32 s6, v10
+; SI-NEXT: v_add_f32_e32 v2, 0x40c00000, v2
+; SI-NEXT: s_lshr_b32 s13, s6, 16
+; SI-NEXT: v_readfirstlane_b32 s6, v6
+; SI-NEXT: v_readfirstlane_b32 s18, v2
+; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v10
; SI-NEXT: s_lshr_b32 s9, s6, 16
+; SI-NEXT: v_add_f32_e32 v2, 0x40c00000, v2
; SI-NEXT: s_lshr_b64 s[16:17], s[8:9], 16
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v10, 0xffff0000, v3
-; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
-; SI-NEXT: v_add_f32_e32 v11, 0x40c00000, v10
-; SI-NEXT: v_and_b32_e32 v10, 0xffff0000, v21
-; SI-NEXT: v_add_f32_e32 v10, 0x40c00000, v10
-; SI-NEXT: v_readfirstlane_b32 s6, v10
+; SI-NEXT: v_readfirstlane_b32 s8, v2
+; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v4
+; SI-NEXT: v_add_f32_e32 v2, 0x40c00000, v2
+; SI-NEXT: v_readfirstlane_b32 s22, v2
+; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v3
+; SI-NEXT: v_add_f32_e32 v3, 0x40c00000, v2
+; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
+; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v24
+; SI-NEXT: v_add_f32_e32 v11, 0x40c00000, v6
+; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v7
+; SI-NEXT: v_readfirstlane_b32 s6, v11
+; SI-NEXT: v_add_f32_e32 v6, 0x40c00000, v6
+; SI-NEXT: v_and_b32_e32 v4, 0xffff0000, v22
; SI-NEXT: s_lshr_b32 s19, s6, 16
-; SI-NEXT: v_readfirstlane_b32 s18, v11
-; SI-NEXT: s_lshr_b64 s[34:35], s[18:19], 16
-; SI-NEXT: s_mov_b32 s17, s34
-; SI-NEXT: s_lshr_b32 s91, s34, 8
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v4, 0xffff0000, v3
-; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
+; SI-NEXT: v_readfirstlane_b32 s6, v6
; SI-NEXT: v_add_f32_e32 v4, 0x40c00000, v4
-; SI-NEXT: v_readfirstlane_b32 s8, v4
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v3, 0xffff0000, v3
-; SI-NEXT: v_add_f32_e32 v3, 0x40c00000, v3
-; SI-NEXT: v_readfirstlane_b32 s6, v3
-; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
; SI-NEXT: s_lshr_b32 s9, s6, 16
-; SI-NEXT: s_lshr_b64 s[24:25], s[8:9], 16
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v3, 0xffff0000, v3
-; SI-NEXT: v_add_f32_e32 v4, 0x40c00000, v3
-; SI-NEXT: v_readfirstlane_b32 s22, v4
-; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
-; SI-NEXT: v_and_b32_e32 v3, 0xffff0000, v20
-; SI-NEXT: v_add_f32_e32 v3, 0x40c00000, v3
-; SI-NEXT: v_readfirstlane_b32 s6, v3
+; SI-NEXT: v_readfirstlane_b32 s6, v4
; SI-NEXT: s_lshr_b32 s23, s6, 16
+; SI-NEXT: s_lshr_b64 s[24:25], s[8:9], 16
+; SI-NEXT: v_readfirstlane_b32 s8, v3
+; SI-NEXT: s_waitcnt vmcnt(3)
+; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v1
+; SI-NEXT: v_add_f32_e32 v6, 0x40c00000, v6
+; SI-NEXT: v_and_b32_e32 v7, 0xffff0000, v17
+; SI-NEXT: v_add_f32_e32 v7, 0x40c00000, v7
+; SI-NEXT: s_mov_b32 s5, s7
+; SI-NEXT: v_writelane_b32 v61, s4, 34
+; SI-NEXT: v_writelane_b32 v61, s5, 35
; SI-NEXT: s_lshr_b64 s[26:27], s[22:23], 16
; SI-NEXT: s_mov_b32 s25, s26
+; SI-NEXT: s_lshr_b64 s[34:35], s[18:19], 16
+; SI-NEXT: s_mov_b32 s17, s34
+; SI-NEXT: s_lshr_b64 s[20:21], s[12:13], 16
+; SI-NEXT: s_mov_b32 s11, s20
+; SI-NEXT: s_mov_b32 s5, s90
; SI-NEXT: s_lshr_b32 s18, s26, 8
-; SI-NEXT: v_lshrrev_b32_e32 v54, 24, v3
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v4, 0xffff0000, v4
-; SI-NEXT: v_add_f32_e32 v8, 0x40c00000, v4
-; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
-; SI-NEXT: v_readfirstlane_b32 s8, v8
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v4, 0xffff0000, v4
-; SI-NEXT: v_add_f32_e32 v4, 0x40c00000, v4
-; SI-NEXT: v_readfirstlane_b32 s6, v4
-; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
+; SI-NEXT: s_lshr_b32 s91, s34, 8
+; SI-NEXT: s_lshr_b32 s12, s20, 8
+; SI-NEXT: v_lshrrev_b32_e32 v42, 24, v4
+; SI-NEXT: v_lshrrev_b32_e32 v41, 24, v11
+; SI-NEXT: v_lshrrev_b32_e32 v40, 24, v15
+; SI-NEXT: v_lshrrev_b32_e32 v55, 24, v55
+; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(2)
+; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v2
+; SI-NEXT: v_add_f32_e32 v2, 0x40c00000, v2
+; SI-NEXT: v_readfirstlane_b32 s6, v2
+; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v27
+; SI-NEXT: v_add_f32_e32 v3, 0x40c00000, v2
+; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v53
+; SI-NEXT: v_readfirstlane_b32 s28, v3
+; SI-NEXT: v_and_b32_e32 v3, 0xffff0000, v9
; SI-NEXT: s_lshr_b32 s9, s6, 16
+; SI-NEXT: v_add_f32_e32 v2, 0x40c00000, v2
+; SI-NEXT: v_add_f32_e32 v3, 0x40c00000, v3
; SI-NEXT: s_lshr_b64 s[40:41], s[8:9], 16
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v4, 0xffff0000, v4
-; SI-NEXT: v_add_f32_e32 v8, 0x40c00000, v4
-; SI-NEXT: v_readfirstlane_b32 s28, v8
-; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
-; SI-NEXT: v_and_b32_e32 v4, 0xffff0000, v18
-; SI-NEXT: v_add_f32_e32 v4, 0x40c00000, v4
-; SI-NEXT: v_readfirstlane_b32 s6, v4
+; SI-NEXT: v_readfirstlane_b32 s6, v2
+; SI-NEXT: v_readfirstlane_b32 s8, v3
+; SI-NEXT: v_and_b32_e32 v3, 0xffff0000, v33
; SI-NEXT: s_lshr_b32 s29, s6, 16
-; SI-NEXT: s_lshr_b64 s[56:57], s[28:29], 16
-; SI-NEXT: s_mov_b32 s41, s56
-; SI-NEXT: v_lshrrev_b32_e32 v4, 24, v4
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v8
-; SI-NEXT: v_add_f32_e32 v11, 0x40c00000, v8
-; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
-; SI-NEXT: v_readfirstlane_b32 s8, v11
-; SI-NEXT: v_and_b32_e32 v11, 0xffff0000, v17
-; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
-; SI-NEXT: v_add_f32_e32 v11, 0x40c00000, v11
-; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v8
-; SI-NEXT: v_add_f32_e32 v8, 0x40c00000, v8
-; SI-NEXT: v_readfirstlane_b32 s6, v8
-; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
-; SI-NEXT: s_lshr_b32 s9, s6, 16
-; SI-NEXT: s_lshr_b64 s[46:47], s[8:9], 16
; SI-NEXT: v_readfirstlane_b32 s6, v6
-; SI-NEXT: s_lshr_b32 s45, s6, 16
-; SI-NEXT: v_readfirstlane_b32 s6, v11
+; SI-NEXT: v_add_f32_e32 v6, 0x40c00000, v3
+; SI-NEXT: v_and_b32_e32 v3, 0xffff0000, v26
+; SI-NEXT: v_add_f32_e32 v3, 0x40c00000, v3
; SI-NEXT: s_lshr_b32 s9, s6, 16
+; SI-NEXT: v_readfirstlane_b32 s6, v3
+; SI-NEXT: s_lshr_b32 s45, s6, 16
+; SI-NEXT: v_readfirstlane_b32 s6, v7
+; SI-NEXT: v_and_b32_e32 v7, 0xffff0000, v49
+; SI-NEXT: v_add_f32_e32 v7, 0x40c00000, v7
; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_and_b32_e32 v17, 0xffff0000, v17
-; SI-NEXT: s_waitcnt vmcnt(0)
; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v8
+; SI-NEXT: s_lshr_b64 s[46:47], s[8:9], 16
+; SI-NEXT: s_lshr_b32 s9, s6, 16
+; SI-NEXT: v_readfirstlane_b32 s6, v7
; SI-NEXT: v_add_f32_e32 v8, 0x40c00000, v8
-; SI-NEXT: v_readfirstlane_b32 s44, v8
-; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v31
-; SI-NEXT: v_add_f32_e32 v8, 0x40c00000, v8
-; SI-NEXT: v_readfirstlane_b32 s8, v8
-; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v34
-; SI-NEXT: v_add_f32_e32 v11, 0x40c00000, v8
-; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v49
-; SI-NEXT: v_readfirstlane_b32 s58, v11
-; SI-NEXT: v_and_b32_e32 v11, 0xffff0000, v1
-; SI-NEXT: v_add_f32_e32 v8, 0x40c00000, v8
-; SI-NEXT: v_add_f32_e32 v11, 0x40c00000, v11
-; SI-NEXT: s_lshr_b64 s[62:63], s[8:9], 16
-; SI-NEXT: v_readfirstlane_b32 s6, v8
-; SI-NEXT: v_readfirstlane_b32 s8, v11
-; SI-NEXT: v_and_b32_e32 v11, 0xffff0000, v38
; SI-NEXT: s_lshr_b32 s59, s6, 16
-; SI-NEXT: v_readfirstlane_b32 s6, v12
-; SI-NEXT: v_add_f32_e32 v12, 0x40c00000, v11
-; SI-NEXT: v_and_b32_e32 v11, 0xffff0000, v39
-; SI-NEXT: v_readfirstlane_b32 s72, v12
-; SI-NEXT: v_and_b32_e32 v12, 0xffff0000, v53
+; SI-NEXT: v_readfirstlane_b32 s6, v8
+; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v37
+; SI-NEXT: v_add_f32_e32 v10, 0x40c00000, v8
+; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
+; SI-NEXT: v_readfirstlane_b32 s44, v6
+; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v25
+; SI-NEXT: v_add_f32_e32 v6, 0x40c00000, v6
+; SI-NEXT: v_readfirstlane_b32 s8, v6
+; SI-NEXT: s_lshr_b64 s[62:63], s[8:9], 16
; SI-NEXT: s_lshr_b32 s9, s6, 16
-; SI-NEXT: v_add_f32_e32 v11, 0x40c00000, v11
-; SI-NEXT: v_add_f32_e32 v12, 0x40c00000, v12
-; SI-NEXT: s_lshr_b64 s[78:79], s[8:9], 16
-; SI-NEXT: v_readfirstlane_b32 s6, v11
-; SI-NEXT: v_readfirstlane_b32 s8, v12
-; SI-NEXT: v_and_b32_e32 v12, 0xffff0000, v36
+; SI-NEXT: v_readfirstlane_b32 s6, v10
; SI-NEXT: s_lshr_b32 s73, s6, 16
-; SI-NEXT: v_readfirstlane_b32 s6, v14
-; SI-NEXT: v_add_f32_e32 v14, 0x40c00000, v12
-; SI-NEXT: v_and_b32_e32 v12, 0xffff0000, v33
-; SI-NEXT: v_readfirstlane_b32 s14, v14
-; SI-NEXT: v_and_b32_e32 v14, 0xffff0000, v24
-; SI-NEXT: s_lshr_b32 s9, s6, 16
-; SI-NEXT: v_add_f32_e32 v12, 0x40c00000, v12
-; SI-NEXT: v_add_f32_e32 v14, 0x40c00000, v14
-; SI-NEXT: s_lshr_b64 s[30:31], s[8:9], 16
-; SI-NEXT: v_readfirstlane_b32 s6, v12
-; SI-NEXT: v_readfirstlane_b32 s8, v14
-; SI-NEXT: v_and_b32_e32 v14, 0xffff0000, v32
-; SI-NEXT: s_lshr_b32 s15, s6, 16
-; SI-NEXT: v_readfirstlane_b32 s6, v15
-; SI-NEXT: v_add_f32_e32 v15, 0x40c00000, v14
-; SI-NEXT: v_and_b32_e32 v14, 0xffff0000, v28
-; SI-NEXT: v_readfirstlane_b32 s36, v15
-; SI-NEXT: v_and_b32_e32 v15, 0xffff0000, v29
-; SI-NEXT: s_lshr_b32 s9, s6, 16
-; SI-NEXT: v_add_f32_e32 v14, 0x40c00000, v14
-; SI-NEXT: v_add_f32_e32 v15, 0x40c00000, v15
+; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v5
+; SI-NEXT: v_add_f32_e32 v6, 0x40c00000, v6
+; SI-NEXT: v_readfirstlane_b32 s58, v6
+; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v54
+; SI-NEXT: v_add_f32_e32 v6, 0x40c00000, v6
+; SI-NEXT: v_readfirstlane_b32 s8, v6
+; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v52
+; SI-NEXT: v_add_f32_e32 v6, 0x40c00000, v6
+; SI-NEXT: v_readfirstlane_b32 s72, v6
+; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v50
+; SI-NEXT: v_add_f32_e32 v6, 0x40c00000, v6
; SI-NEXT: s_lshr_b64 s[76:77], s[8:9], 16
-; SI-NEXT: v_readfirstlane_b32 s6, v14
-; SI-NEXT: v_readfirstlane_b32 s8, v15
-; SI-NEXT: v_and_b32_e32 v15, 0xffff0000, v27
-; SI-NEXT: s_lshr_b32 s37, s6, 16
-; SI-NEXT: v_readfirstlane_b32 s6, v16
-; SI-NEXT: v_add_f32_e32 v16, 0x40c00000, v15
-; SI-NEXT: v_readfirstlane_b32 s88, v16
-; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
-; SI-NEXT: v_and_b32_e32 v15, 0xffff0000, v22
-; SI-NEXT: v_add_f32_e32 v15, 0x40c00000, v15
-; SI-NEXT: s_lshr_b32 s9, s6, 16
-; SI-NEXT: v_readfirstlane_b32 s6, v15
-; SI-NEXT: s_lshr_b32 s89, s6, 16
-; SI-NEXT: s_lshr_b64 s[94:95], s[8:9], 16
-; SI-NEXT: v_and_b32_e32 v1, 0xffff0000, v26
-; SI-NEXT: v_add_f32_e32 v1, 0x40c00000, v1
-; SI-NEXT: s_lshr_b64 s[80:81], s[88:89], 16
-; SI-NEXT: s_mov_b32 s95, s80
-; SI-NEXT: s_lshr_b64 s[38:39], s[36:37], 16
-; SI-NEXT: s_mov_b32 s77, s38
-; SI-NEXT: s_lshr_b64 s[96:97], s[14:15], 16
-; SI-NEXT: s_mov_b32 s31, s96
-; SI-NEXT: s_lshr_b64 s[92:93], s[72:73], 16
-; SI-NEXT: s_mov_b32 s79, s92
+; SI-NEXT: v_readfirstlane_b32 s8, v6
+; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v39
+; SI-NEXT: v_add_f32_e32 v6, 0x40c00000, v6
+; SI-NEXT: v_readfirstlane_b32 s14, v6
+; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v36
+; SI-NEXT: v_add_f32_e32 v6, 0x40c00000, v6
+; SI-NEXT: s_lshr_b64 s[94:95], s[72:73], 16
+; SI-NEXT: s_mov_b32 s77, s94
; SI-NEXT: s_lshr_b64 s[60:61], s[58:59], 16
; SI-NEXT: s_mov_b32 s63, s60
; SI-NEXT: s_lshr_b64 s[52:53], s[44:45], 16
; SI-NEXT: s_mov_b32 s47, s52
-; SI-NEXT: s_lshr_b32 s93, s80, 8
-; SI-NEXT: s_lshr_b32 s44, s38, 8
-; SI-NEXT: s_lshr_b32 s27, s96, 8
-; SI-NEXT: s_lshr_b32 s28, s92, 8
+; SI-NEXT: s_lshr_b64 s[56:57], s[28:29], 16
+; SI-NEXT: s_mov_b32 s41, s56
+; SI-NEXT: s_lshr_b32 s28, s94, 8
; SI-NEXT: s_lshr_b32 s21, s60, 8
; SI-NEXT: s_lshr_b32 s22, s52, 8
-; SI-NEXT: s_mov_b32 s36, s20
-; SI-NEXT: s_mov_b32 s14, s90
-; SI-NEXT: v_lshrrev_b32_e32 v56, 24, v1
-; SI-NEXT: v_lshrrev_b32_e32 v43, 24, v15
-; SI-NEXT: v_lshrrev_b32_e32 v42, 24, v14
-; SI-NEXT: v_lshrrev_b32_e32 v41, 24, v12
-; SI-NEXT: v_lshrrev_b32_e32 v40, 24, v11
-; SI-NEXT: v_lshrrev_b32_e32 v12, 24, v8
-; SI-NEXT: v_lshrrev_b32_e32 v8, 24, v10
-; SI-NEXT: v_lshrrev_b32_e32 v11, 24, v2
+; SI-NEXT: v_lshrrev_b32_e32 v46, 24, v10
+; SI-NEXT: v_lshrrev_b32_e32 v45, 24, v7
+; SI-NEXT: v_lshrrev_b32_e32 v44, 24, v3
+; SI-NEXT: v_lshrrev_b32_e32 v43, 24, v2
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v16, 0xffff0000, v16
-; SI-NEXT: v_add_f32_e32 v18, 0x40c00000, v16
-; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
-; SI-NEXT: v_readfirstlane_b32 s8, v18
+; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v8
+; SI-NEXT: v_add_f32_e32 v8, 0x40c00000, v8
+; SI-NEXT: v_readfirstlane_b32 s6, v8
+; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v1
+; SI-NEXT: v_add_f32_e32 v12, 0x40c00000, v8
+; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
+; SI-NEXT: s_lshr_b32 s9, s6, 16
+; SI-NEXT: s_lshr_b64 vcc, s[8:9], 16
+; SI-NEXT: v_readfirstlane_b32 s8, v6
+; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v34
+; SI-NEXT: v_readfirstlane_b32 s6, v12
+; SI-NEXT: v_add_f32_e32 v6, 0x40c00000, v6
+; SI-NEXT: s_lshr_b32 s15, s6, 16
+; SI-NEXT: v_readfirstlane_b32 s36, v6
+; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v31
+; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload
+; SI-NEXT: v_add_f32_e32 v6, 0x40c00000, v6
+; SI-NEXT: s_lshr_b64 s[98:99], s[14:15], 16
+; SI-NEXT: s_mov_b32 vcc_hi, s98
+; SI-NEXT: s_lshr_b32 s27, s98, 8
+; SI-NEXT: s_mov_b32 s14, s90
+; SI-NEXT: v_lshrrev_b32_e32 v47, 24, v12
+; SI-NEXT: s_waitcnt vmcnt(1)
+; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v8
+; SI-NEXT: v_add_f32_e32 v8, 0x40c00000, v8
+; SI-NEXT: v_readfirstlane_b32 s6, v8
+; SI-NEXT: s_lshr_b32 s9, s6, 16
+; SI-NEXT: s_lshr_b64 s[74:75], s[8:9], 16
+; SI-NEXT: v_readfirstlane_b32 s8, v6
+; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(1)
+; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v1
+; SI-NEXT: v_add_f32_e32 v14, 0x40c00000, v8
+; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
+; SI-NEXT: v_readfirstlane_b32 s6, v14
+; SI-NEXT: s_lshr_b32 s37, s6, 16
+; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload
+; SI-NEXT: s_lshr_b64 s[48:49], s[36:37], 16
+; SI-NEXT: s_mov_b32 s75, s48
+; SI-NEXT: s_lshr_b32 s44, s48, 8
+; SI-NEXT: s_mov_b32 s36, s20
+; SI-NEXT: v_lshrrev_b32_e32 v56, 24, v14
+; SI-NEXT: s_waitcnt vmcnt(2)
+; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v6
+; SI-NEXT: v_add_f32_e32 v6, 0x40c00000, v6
+; SI-NEXT: v_readfirstlane_b32 s88, v6
+; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(2)
+; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v8
+; SI-NEXT: v_add_f32_e32 v8, 0x40c00000, v8
+; SI-NEXT: v_readfirstlane_b32 s6, v8
+; SI-NEXT: s_lshr_b32 s9, s6, 16
+; SI-NEXT: s_lshr_b64 s[92:93], s[8:9], 16
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v16, 0xffff0000, v16
-; SI-NEXT: v_add_f32_e32 v16, 0x40c00000, v16
+; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v6
+; SI-NEXT: v_add_f32_e32 v6, 0x40c00000, v6
+; SI-NEXT: v_readfirstlane_b32 s8, v6
+; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
+; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v1
+; SI-NEXT: v_add_f32_e32 v16, 0x40c00000, v8
+; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
; SI-NEXT: v_readfirstlane_b32 s6, v16
-; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
+; SI-NEXT: s_lshr_b32 s89, s6, 16
+; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload
+; SI-NEXT: s_lshr_b64 s[80:81], s[88:89], 16
+; SI-NEXT: s_mov_b32 s93, s80
+; SI-NEXT: s_lshr_b32 s95, s80, 8
+; SI-NEXT: v_lshrrev_b32_e32 v57, 24, v16
+; SI-NEXT: s_waitcnt vmcnt(2)
+; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v6
+; SI-NEXT: v_add_f32_e32 v6, 0x40c00000, v6
+; SI-NEXT: v_readfirstlane_b32 s42, v6
+; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(2)
+; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v8
+; SI-NEXT: v_add_f32_e32 v8, 0x40c00000, v8
+; SI-NEXT: v_readfirstlane_b32 s6, v8
; SI-NEXT: s_lshr_b32 s9, s6, 16
-; SI-NEXT: s_lshr_b64 s[48:49], s[8:9], 16
+; SI-NEXT: s_lshr_b64 s[38:39], s[8:9], 16
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v16, 0xffff0000, v16
-; SI-NEXT: v_add_f32_e32 v18, 0x40c00000, v16
-; SI-NEXT: v_readfirstlane_b32 s42, v18
-; SI-NEXT: v_add_f32_e32 v18, 0x40c00000, v17
-; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
-; SI-NEXT: v_and_b32_e32 v16, 0xffff0000, v13
-; SI-NEXT: v_add_f32_e32 v16, 0x40c00000, v16
-; SI-NEXT: v_readfirstlane_b32 s6, v16
+; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v6
+; SI-NEXT: v_add_f32_e32 v6, 0x40c00000, v6
+; SI-NEXT: v_readfirstlane_b32 s8, v6
+; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
+; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v1
+; SI-NEXT: v_add_f32_e32 v17, 0x40c00000, v8
+; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload
+; SI-NEXT: v_readfirstlane_b32 s6, v17
; SI-NEXT: s_lshr_b32 s43, s6, 16
-; SI-NEXT: v_readfirstlane_b32 s8, v18
-; SI-NEXT: v_and_b32_e32 v13, 0xffff0000, v37
-; SI-NEXT: v_add_f32_e32 v13, 0x40c00000, v13
-; SI-NEXT: s_lshr_b64 vcc, s[42:43], 16
-; SI-NEXT: s_mov_b32 s49, vcc_lo
-; SI-NEXT: s_lshr_b32 s58, vcc_lo, 8
+; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload
+; SI-NEXT: s_lshr_b64 s[30:31], s[42:43], 16
+; SI-NEXT: s_mov_b32 s39, s30
+; SI-NEXT: s_lshr_b32 s58, s30, 8
; SI-NEXT: s_mov_b32 s42, s26
-; SI-NEXT: v_lshrrev_b32_e32 v45, 24, v13
-; SI-NEXT: v_lshrrev_b32_e32 v44, 24, v16
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v17, 0xffff0000, v17
-; SI-NEXT: v_add_f32_e32 v17, 0x40c00000, v17
-; SI-NEXT: v_readfirstlane_b32 s6, v17
-; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload
+; SI-NEXT: v_lshrrev_b32_e32 v58, 24, v17
+; SI-NEXT: s_waitcnt vmcnt(2)
+; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v6
+; SI-NEXT: v_add_f32_e32 v6, 0x40c00000, v6
+; SI-NEXT: v_readfirstlane_b32 s78, v6
+; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(2)
+; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v8
+; SI-NEXT: v_add_f32_e32 v8, 0x40c00000, v8
+; SI-NEXT: v_readfirstlane_b32 s6, v8
; SI-NEXT: s_lshr_b32 s9, s6, 16
-; SI-NEXT: v_readfirstlane_b32 s6, v13
-; SI-NEXT: s_lshr_b32 s75, s6, 16
-; SI-NEXT: s_lshr_b64 s[64:65], s[8:9], 16
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v17, 0xffff0000, v17
-; SI-NEXT: v_add_f32_e32 v17, 0x40c00000, v17
-; SI-NEXT: v_readfirstlane_b32 s74, v17
-; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
-; SI-NEXT: s_lshr_b64 s[54:55], s[74:75], 16
-; SI-NEXT: s_mov_b32 s65, s54
-; SI-NEXT: s_lshr_b32 s57, s54, 8
-; SI-NEXT: s_mov_b32 s74, s60
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v17, 0xffff0000, v17
-; SI-NEXT: v_add_f32_e32 v18, 0x40c00000, v17
-; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
-; SI-NEXT: v_readfirstlane_b32 s8, v18
+; SI-NEXT: s_lshr_b64 s[54:55], s[8:9], 16
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v17, 0xffff0000, v17
-; SI-NEXT: v_add_f32_e32 v17, 0x40c00000, v17
-; SI-NEXT: v_readfirstlane_b32 s6, v17
-; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
+; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v6
+; SI-NEXT: v_add_f32_e32 v6, 0x40c00000, v6
+; SI-NEXT: v_readfirstlane_b32 s8, v6
+; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
+; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v1
+; SI-NEXT: v_add_f32_e32 v13, 0x40c00000, v8
+; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
+; SI-NEXT: v_readfirstlane_b32 s6, v13
+; SI-NEXT: s_lshr_b32 s79, s6, 16
+; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload
+; SI-NEXT: s_lshr_b64 s[64:65], s[78:79], 16
+; SI-NEXT: s_mov_b32 s55, s64
+; SI-NEXT: s_lshr_b32 s57, s64, 8
+; SI-NEXT: s_mov_b32 s78, s60
+; SI-NEXT: v_lshrrev_b32_e32 v59, 24, v13
+; SI-NEXT: s_waitcnt vmcnt(2)
+; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v6
+; SI-NEXT: v_add_f32_e32 v6, 0x40c00000, v6
+; SI-NEXT: v_readfirstlane_b32 s66, v6
+; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(2)
+; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v8
+; SI-NEXT: v_add_f32_e32 v8, 0x40c00000, v8
+; SI-NEXT: v_readfirstlane_b32 s6, v8
; SI-NEXT: s_lshr_b32 s9, s6, 16
+; SI-NEXT: s_lshr_b64 s[68:69], s[8:9], 16
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v6
+; SI-NEXT: v_add_f32_e32 v6, 0x40c00000, v6
+; SI-NEXT: v_readfirstlane_b32 s8, v6
+; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
+; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v1
+; SI-NEXT: v_add_f32_e32 v9, 0x40c00000, v8
+; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
; SI-NEXT: v_readfirstlane_b32 s6, v9
+; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload
; SI-NEXT: s_lshr_b32 s67, s6, 16
-; SI-NEXT: s_lshr_b64 s[70:71], s[8:9], 16
-; SI-NEXT: v_lshrrev_b32_e32 v9, 24, v6
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v17, 0xffff0000, v17
-; SI-NEXT: v_add_f32_e32 v17, 0x40c00000, v17
-; SI-NEXT: v_readfirstlane_b32 s66, v17
-; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
-; SI-NEXT: s_lshr_b64 s[68:69], s[66:67], 16
-; SI-NEXT: s_mov_b32 s71, s68
-; SI-NEXT: s_lshr_b32 s72, s68, 8
+; SI-NEXT: s_lshr_b64 s[70:71], s[66:67], 16
+; SI-NEXT: s_mov_b32 s69, s70
+; SI-NEXT: s_lshr_b32 s72, s70, 8
; SI-NEXT: s_mov_b32 s66, s56
; SI-NEXT: s_lshr_b32 s56, s56, 8
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v17, 0xffff0000, v17
-; SI-NEXT: v_add_f32_e32 v18, 0x40c00000, v17
-; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
-; SI-NEXT: v_readfirstlane_b32 s8, v18
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v17, 0xffff0000, v17
-; SI-NEXT: v_add_f32_e32 v17, 0x40c00000, v17
-; SI-NEXT: v_readfirstlane_b32 s6, v17
-; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
+; SI-NEXT: v_lshrrev_b32_e32 v60, 24, v9
+; SI-NEXT: s_waitcnt vmcnt(2)
+; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v6
+; SI-NEXT: v_add_f32_e32 v6, 0x40c00000, v6
+; SI-NEXT: v_readfirstlane_b32 s50, v6
+; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(2)
+; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v8
+; SI-NEXT: v_add_f32_e32 v8, 0x40c00000, v8
+; SI-NEXT: v_readfirstlane_b32 s6, v8
; SI-NEXT: s_lshr_b32 s9, s6, 16
+; SI-NEXT: s_lshr_b64 s[82:83], s[8:9], 16
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v6
+; SI-NEXT: v_add_f32_e32 v8, 0x40c00000, v6
+; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
+; SI-NEXT: v_and_b32_e32 v5, 0xffff0000, v1
+; SI-NEXT: v_add_f32_e32 v5, 0x40c00000, v5
; SI-NEXT: v_readfirstlane_b32 s6, v5
; SI-NEXT: s_lshr_b32 s51, s6, 16
-; SI-NEXT: s_lshr_b64 s[84:85], s[8:9], 16
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v17, 0xffff0000, v17
-; SI-NEXT: v_add_f32_e32 v17, 0x40c00000, v17
-; SI-NEXT: v_readfirstlane_b32 s50, v17
-; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
-; SI-NEXT: s_lshr_b64 s[82:83], s[50:51], 16
-; SI-NEXT: s_mov_b32 s85, s82
-; SI-NEXT: s_lshr_b32 s61, s82, 8
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v17, 0xffff0000, v17
-; SI-NEXT: v_add_f32_e32 v18, 0x40c00000, v17
-; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload
-; SI-NEXT: v_readfirstlane_b32 s8, v18
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v17, 0xffff0000, v17
-; SI-NEXT: v_add_f32_e32 v17, 0x40c00000, v17
-; SI-NEXT: v_readfirstlane_b32 s6, v17
-; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload
+; SI-NEXT: v_readfirstlane_b32 s8, v8
+; SI-NEXT: s_lshr_b64 s[84:85], s[50:51], 16
+; SI-NEXT: s_mov_b32 s83, s84
+; SI-NEXT: s_lshr_b32 s61, s84, 8
+; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(1)
+; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v6
+; SI-NEXT: v_add_f32_e32 v6, 0x40c00000, v6
+; SI-NEXT: v_readfirstlane_b32 s6, v6
+; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
; SI-NEXT: s_lshr_b32 s9, s6, 16
+; SI-NEXT: s_lshr_b64 s[96:97], s[8:9], 16
+; SI-NEXT: s_waitcnt vmcnt(1)
+; SI-NEXT: v_and_b32_e32 v1, 0xffff0000, v1
+; SI-NEXT: v_add_f32_e32 v1, 0x40c00000, v1
; SI-NEXT: v_readfirstlane_b32 s6, v1
+; SI-NEXT: v_lshrrev_b32_e32 v8, 24, v1
; SI-NEXT: s_lshr_b32 s87, s6, 16
-; SI-NEXT: s_lshr_b64 s[98:99], s[8:9], 16
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v17, 0xffff0000, v17
-; SI-NEXT: v_add_f32_e32 v17, 0x40c00000, v17
-; SI-NEXT: v_readfirstlane_b32 s86, v17
+; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v6
+; SI-NEXT: v_add_f32_e32 v6, 0x40c00000, v6
+; SI-NEXT: v_readfirstlane_b32 s86, v6
; SI-NEXT: s_lshr_b64 s[8:9], s[86:87], 16
-; SI-NEXT: s_mov_b32 s99, s8
-; SI-NEXT: s_lshr_b64 s[6:7], s[98:99], 24
+; SI-NEXT: s_mov_b32 s97, s8
+; SI-NEXT: s_lshr_b64 s[6:7], s[96:97], 24
; SI-NEXT: v_writelane_b32 v62, s6, 4
; SI-NEXT: v_writelane_b32 v62, s7, 5
-; SI-NEXT: s_lshr_b64 s[6:7], s[98:99], 16
+; SI-NEXT: s_lshr_b64 s[6:7], s[96:97], 16
; SI-NEXT: v_writelane_b32 v62, s6, 2
; SI-NEXT: v_writelane_b32 v62, s7, 3
-; SI-NEXT: s_lshr_b64 s[6:7], s[98:99], 8
+; SI-NEXT: s_lshr_b64 s[6:7], s[96:97], 8
; SI-NEXT: v_writelane_b32 v62, s6, 0
; SI-NEXT: v_writelane_b32 v62, s7, 1
-; SI-NEXT: s_lshr_b64 s[6:7], s[84:85], 24
+; SI-NEXT: s_lshr_b64 s[6:7], s[82:83], 24
; SI-NEXT: v_writelane_b32 v62, s6, 10
; SI-NEXT: v_writelane_b32 v62, s7, 11
-; SI-NEXT: s_lshr_b64 s[6:7], s[84:85], 16
+; SI-NEXT: s_lshr_b64 s[6:7], s[82:83], 16
; SI-NEXT: v_writelane_b32 v62, s6, 8
; SI-NEXT: v_writelane_b32 v62, s7, 9
-; SI-NEXT: s_lshr_b64 s[6:7], s[84:85], 8
+; SI-NEXT: s_lshr_b64 s[6:7], s[82:83], 8
; SI-NEXT: v_writelane_b32 v62, s6, 6
; SI-NEXT: v_writelane_b32 v62, s7, 7
-; SI-NEXT: s_lshr_b64 s[6:7], s[70:71], 24
+; SI-NEXT: s_lshr_b64 s[6:7], s[68:69], 24
; SI-NEXT: v_writelane_b32 v62, s6, 16
; SI-NEXT: v_writelane_b32 v62, s7, 17
-; SI-NEXT: s_lshr_b64 s[6:7], s[70:71], 16
+; SI-NEXT: s_lshr_b64 s[6:7], s[68:69], 16
; SI-NEXT: v_writelane_b32 v62, s6, 14
; SI-NEXT: v_writelane_b32 v62, s7, 15
-; SI-NEXT: s_lshr_b64 s[6:7], s[70:71], 8
+; SI-NEXT: s_lshr_b64 s[6:7], s[68:69], 8
; SI-NEXT: v_writelane_b32 v62, s6, 12
; SI-NEXT: v_writelane_b32 v62, s7, 13
-; SI-NEXT: s_lshr_b64 s[6:7], s[64:65], 24
+; SI-NEXT: s_lshr_b64 s[6:7], s[54:55], 24
; SI-NEXT: v_writelane_b32 v62, s6, 22
; SI-NEXT: v_writelane_b32 v62, s7, 23
-; SI-NEXT: s_lshr_b64 s[6:7], s[64:65], 16
+; SI-NEXT: s_lshr_b64 s[6:7], s[54:55], 16
; SI-NEXT: v_writelane_b32 v62, s6, 20
; SI-NEXT: v_writelane_b32 v62, s7, 21
-; SI-NEXT: s_lshr_b64 s[6:7], s[64:65], 8
+; SI-NEXT: s_lshr_b64 s[6:7], s[54:55], 8
; SI-NEXT: v_writelane_b32 v62, s6, 18
; SI-NEXT: v_writelane_b32 v62, s7, 19
-; SI-NEXT: s_lshr_b64 s[6:7], s[48:49], 24
+; SI-NEXT: s_lshr_b64 s[6:7], s[38:39], 24
; SI-NEXT: v_writelane_b32 v62, s6, 28
; SI-NEXT: v_writelane_b32 v62, s7, 29
-; SI-NEXT: s_lshr_b64 s[6:7], s[48:49], 16
+; SI-NEXT: s_lshr_b64 s[6:7], s[38:39], 16
; SI-NEXT: v_writelane_b32 v62, s6, 26
; SI-NEXT: v_writelane_b32 v62, s7, 27
-; SI-NEXT: s_lshr_b64 s[6:7], s[48:49], 8
+; SI-NEXT: s_lshr_b64 s[6:7], s[38:39], 8
; SI-NEXT: v_writelane_b32 v62, s6, 24
; SI-NEXT: v_writelane_b32 v62, s7, 25
-; SI-NEXT: s_lshr_b64 s[6:7], s[94:95], 24
+; SI-NEXT: s_lshr_b64 s[6:7], s[92:93], 24
; SI-NEXT: v_writelane_b32 v62, s6, 34
; SI-NEXT: v_writelane_b32 v62, s7, 35
-; SI-NEXT: s_lshr_b64 s[6:7], s[94:95], 16
+; SI-NEXT: s_lshr_b64 s[6:7], s[92:93], 16
; SI-NEXT: v_writelane_b32 v62, s6, 32
; SI-NEXT: v_writelane_b32 v62, s7, 33
-; SI-NEXT: s_lshr_b64 s[6:7], s[94:95], 8
+; SI-NEXT: s_lshr_b64 s[6:7], s[92:93], 8
; SI-NEXT: v_writelane_b32 v62, s6, 30
; SI-NEXT: v_writelane_b32 v62, s7, 31
-; SI-NEXT: s_lshr_b64 s[6:7], s[76:77], 24
+; SI-NEXT: s_lshr_b64 s[6:7], s[74:75], 24
; SI-NEXT: v_writelane_b32 v62, s6, 40
; SI-NEXT: v_writelane_b32 v62, s7, 41
-; SI-NEXT: s_lshr_b64 s[6:7], s[76:77], 16
+; SI-NEXT: s_lshr_b64 s[6:7], s[74:75], 16
; SI-NEXT: v_writelane_b32 v62, s6, 38
; SI-NEXT: v_writelane_b32 v62, s7, 39
-; SI-NEXT: s_lshr_b64 s[6:7], s[76:77], 8
+; SI-NEXT: s_lshr_b64 s[6:7], s[74:75], 8
; SI-NEXT: v_writelane_b32 v62, s6, 36
; SI-NEXT: v_writelane_b32 v62, s7, 37
-; SI-NEXT: s_lshr_b64 s[6:7], s[30:31], 24
+; SI-NEXT: s_lshr_b64 s[6:7], vcc, 24
; SI-NEXT: v_writelane_b32 v62, s6, 46
; SI-NEXT: v_writelane_b32 v62, s7, 47
-; SI-NEXT: s_lshr_b64 s[6:7], s[30:31], 16
+; SI-NEXT: s_lshr_b64 s[6:7], vcc, 16
; SI-NEXT: v_writelane_b32 v62, s6, 44
; SI-NEXT: v_writelane_b32 v62, s7, 45
-; SI-NEXT: s_lshr_b64 s[6:7], s[30:31], 8
+; SI-NEXT: s_lshr_b64 s[6:7], vcc, 8
; SI-NEXT: v_writelane_b32 v62, s6, 42
; SI-NEXT: v_writelane_b32 v62, s7, 43
-; SI-NEXT: s_lshr_b64 s[6:7], s[78:79], 24
+; SI-NEXT: s_lshr_b64 s[6:7], s[76:77], 24
; SI-NEXT: v_writelane_b32 v62, s6, 54
; SI-NEXT: v_writelane_b32 v62, s7, 55
-; SI-NEXT: s_lshr_b64 s[6:7], s[78:79], 16
+; SI-NEXT: s_lshr_b64 s[6:7], s[76:77], 16
; SI-NEXT: v_writelane_b32 v62, s6, 52
; SI-NEXT: v_writelane_b32 v62, s7, 53
-; SI-NEXT: s_lshr_b64 s[6:7], s[78:79], 8
+; SI-NEXT: s_lshr_b64 s[6:7], s[76:77], 8
; SI-NEXT: v_writelane_b32 v62, s6, 50
; SI-NEXT: v_writelane_b32 v62, s7, 51
; SI-NEXT: s_lshr_b64 s[6:7], s[62:63], 24
@@ -159792,70 +159854,72 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; SI-NEXT: s_lshr_b64 s[6:7], s[4:5], 8
; SI-NEXT: v_writelane_b32 v61, s6, 28
; SI-NEXT: v_writelane_b32 v61, s7, 29
-; SI-NEXT: s_mov_b32 s6, s96
+; SI-NEXT: s_mov_b32 s6, s98
; SI-NEXT: v_writelane_b32 v62, s6, 48
; SI-NEXT: s_lshr_b32 s88, s8, 8
; SI-NEXT: v_writelane_b32 v62, s7, 49
-; SI-NEXT: s_mov_b32 s96, s8
-; SI-NEXT: s_mov_b32 s86, s92
+; SI-NEXT: s_mov_b32 s98, s8
+; SI-NEXT: s_mov_b32 s86, s94
; SI-NEXT: s_lshr_b32 s6, s90, 8
+; SI-NEXT: v_lshrrev_b32_e32 v6, 24, v5
; SI-NEXT: .LBB91_5: ; %end
; SI-NEXT: v_readlane_b32 s8, v62, 0
-; SI-NEXT: s_and_b32 s5, s98, 0xff
+; SI-NEXT: s_and_b32 s5, s96, 0xff
; SI-NEXT: v_readlane_b32 s9, v62, 1
; SI-NEXT: s_lshl_b32 s8, s8, 8
; SI-NEXT: s_or_b32 s5, s5, s8
; SI-NEXT: v_readlane_b32 s8, v62, 2
; SI-NEXT: v_readlane_b32 s9, v62, 3
; SI-NEXT: s_and_b32 s8, s8, 0xff
-; SI-NEXT: v_readlane_b32 s98, v62, 4
+; SI-NEXT: v_readlane_b32 s96, v62, 4
; SI-NEXT: s_lshl_b32 s8, s8, 16
-; SI-NEXT: s_lshl_b32 s9, s98, 24
+; SI-NEXT: s_lshl_b32 s9, s96, 24
; SI-NEXT: s_and_b32 s5, s5, 0xffff
; SI-NEXT: s_or_b32 s8, s9, s8
; SI-NEXT: s_or_b32 s5, s5, s8
+; SI-NEXT: s_waitcnt vmcnt(1)
; SI-NEXT: v_mov_b32_e32 v1, s5
-; SI-NEXT: s_and_b32 s5, s96, 0xff
+; SI-NEXT: s_and_b32 s5, s98, 0xff
; SI-NEXT: s_lshl_b32 s8, s88, 8
; SI-NEXT: s_or_b32 s5, s5, s8
; SI-NEXT: s_and_b32 s8, s87, 0xff
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen
; SI-NEXT: s_lshl_b32 s8, s8, 16
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshlrev_b32_e32 v1, 24, v56
+; SI-NEXT: v_lshlrev_b32_e32 v1, 24, v8
; SI-NEXT: s_and_b32 s5, s5, 0xffff
; SI-NEXT: v_or_b32_e32 v1, s8, v1
; SI-NEXT: v_readlane_b32 s8, v62, 6
; SI-NEXT: v_or_b32_e32 v1, s5, v1
-; SI-NEXT: s_and_b32 s5, s84, 0xff
+; SI-NEXT: s_and_b32 s5, s82, 0xff
; SI-NEXT: v_readlane_b32 s9, v62, 7
; SI-NEXT: s_lshl_b32 s8, s8, 8
; SI-NEXT: s_or_b32 s5, s5, s8
; SI-NEXT: v_readlane_b32 s8, v62, 8
; SI-NEXT: v_readlane_b32 s9, v62, 9
; SI-NEXT: s_and_b32 s8, s8, 0xff
-; SI-NEXT: v_readlane_b32 s84, v62, 10
+; SI-NEXT: v_readlane_b32 s82, v62, 10
; SI-NEXT: s_lshl_b32 s8, s8, 16
-; SI-NEXT: s_lshl_b32 s9, s84, 24
+; SI-NEXT: s_lshl_b32 s9, s82, 24
; SI-NEXT: s_and_b32 s5, s5, 0xffff
; SI-NEXT: s_or_b32 s8, s9, s8
; SI-NEXT: s_or_b32 s5, s5, s8
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:4
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s5
-; SI-NEXT: s_and_b32 s5, s82, 0xff
+; SI-NEXT: s_and_b32 s5, s84, 0xff
; SI-NEXT: s_lshl_b32 s8, s61, 8
; SI-NEXT: s_or_b32 s5, s5, s8
; SI-NEXT: s_and_b32 s8, s51, 0xff
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:8
; SI-NEXT: s_lshl_b32 s8, s8, 16
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshlrev_b32_e32 v1, 24, v47
+; SI-NEXT: v_lshlrev_b32_e32 v1, 24, v6
; SI-NEXT: s_and_b32 s5, s5, 0xffff
; SI-NEXT: v_or_b32_e32 v1, s8, v1
; SI-NEXT: v_readlane_b32 s8, v62, 12
; SI-NEXT: v_or_b32_e32 v1, s5, v1
-; SI-NEXT: s_and_b32 s5, s70, 0xff
+; SI-NEXT: s_and_b32 s5, s68, 0xff
; SI-NEXT: v_readlane_b32 s9, v62, 13
; SI-NEXT: s_lshl_b32 s8, s8, 8
; SI-NEXT: s_or_b32 s5, s5, s8
@@ -159871,19 +159935,19 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:12
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s5
-; SI-NEXT: s_and_b32 s5, s68, 0xff
+; SI-NEXT: s_and_b32 s5, s70, 0xff
; SI-NEXT: s_lshl_b32 s8, s72, 8
; SI-NEXT: s_or_b32 s5, s5, s8
; SI-NEXT: s_and_b32 s8, s67, 0xff
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:16
; SI-NEXT: s_lshl_b32 s8, s8, 16
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshlrev_b32_e32 v1, 24, v46
+; SI-NEXT: v_lshlrev_b32_e32 v1, 24, v60
; SI-NEXT: s_and_b32 s5, s5, 0xffff
; SI-NEXT: v_or_b32_e32 v1, s8, v1
; SI-NEXT: v_readlane_b32 s8, v62, 18
; SI-NEXT: v_or_b32_e32 v1, s5, v1
-; SI-NEXT: s_and_b32 s5, s64, 0xff
+; SI-NEXT: s_and_b32 s5, s54, 0xff
; SI-NEXT: v_readlane_b32 s9, v62, 19
; SI-NEXT: s_lshl_b32 s8, s8, 8
; SI-NEXT: v_readlane_b32 s61, v62, 17
@@ -159900,19 +159964,19 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:20
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s5
-; SI-NEXT: s_and_b32 s5, s54, 0xff
+; SI-NEXT: s_and_b32 s5, s64, 0xff
; SI-NEXT: s_lshl_b32 s8, s57, 8
; SI-NEXT: s_or_b32 s5, s5, s8
-; SI-NEXT: s_and_b32 s8, s75, 0xff
+; SI-NEXT: s_and_b32 s8, s79, 0xff
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:24
; SI-NEXT: s_lshl_b32 s8, s8, 16
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshlrev_b32_e32 v1, 24, v45
+; SI-NEXT: v_lshlrev_b32_e32 v1, 24, v59
; SI-NEXT: s_and_b32 s5, s5, 0xffff
; SI-NEXT: v_or_b32_e32 v1, s8, v1
; SI-NEXT: v_readlane_b32 s8, v62, 24
; SI-NEXT: v_or_b32_e32 v1, s5, v1
-; SI-NEXT: s_and_b32 s5, s48, 0xff
+; SI-NEXT: s_and_b32 s5, s38, 0xff
; SI-NEXT: v_readlane_b32 s9, v62, 25
; SI-NEXT: s_lshl_b32 s8, s8, 8
; SI-NEXT: v_readlane_b32 s61, v62, 23
@@ -159929,19 +159993,19 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:28
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s5
-; SI-NEXT: s_and_b32 s5, vcc_lo, 0xff
+; SI-NEXT: s_and_b32 s5, s30, 0xff
; SI-NEXT: s_lshl_b32 s8, s58, 8
; SI-NEXT: s_or_b32 s5, s5, s8
; SI-NEXT: s_and_b32 s8, s43, 0xff
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:32
; SI-NEXT: s_lshl_b32 s8, s8, 16
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshlrev_b32_e32 v1, 24, v44
+; SI-NEXT: v_lshlrev_b32_e32 v1, 24, v58
; SI-NEXT: s_and_b32 s5, s5, 0xffff
; SI-NEXT: v_or_b32_e32 v1, s8, v1
; SI-NEXT: v_readlane_b32 s8, v62, 30
; SI-NEXT: v_or_b32_e32 v1, s5, v1
-; SI-NEXT: s_and_b32 s5, s94, 0xff
+; SI-NEXT: s_and_b32 s5, s92, 0xff
; SI-NEXT: v_readlane_b32 s9, v62, 31
; SI-NEXT: s_lshl_b32 s8, s8, 8
; SI-NEXT: v_readlane_b32 s61, v62, 29
@@ -159959,18 +160023,18 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s5
; SI-NEXT: s_and_b32 s5, s80, 0xff
-; SI-NEXT: s_lshl_b32 s8, s93, 8
+; SI-NEXT: s_lshl_b32 s8, s95, 8
; SI-NEXT: s_or_b32 s5, s5, s8
; SI-NEXT: s_and_b32 s8, s89, 0xff
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:40
; SI-NEXT: s_lshl_b32 s8, s8, 16
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshlrev_b32_e32 v1, 24, v43
+; SI-NEXT: v_lshlrev_b32_e32 v1, 24, v57
; SI-NEXT: s_and_b32 s5, s5, 0xffff
; SI-NEXT: v_or_b32_e32 v1, s8, v1
; SI-NEXT: v_readlane_b32 s8, v62, 36
; SI-NEXT: v_or_b32_e32 v1, s5, v1
-; SI-NEXT: s_and_b32 s5, s76, 0xff
+; SI-NEXT: s_and_b32 s5, s74, 0xff
; SI-NEXT: v_readlane_b32 s9, v62, 37
; SI-NEXT: s_lshl_b32 s8, s8, 8
; SI-NEXT: v_readlane_b32 s61, v62, 35
@@ -159987,19 +160051,19 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:44
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s5
-; SI-NEXT: s_and_b32 s5, s38, 0xff
+; SI-NEXT: s_and_b32 s5, s48, 0xff
; SI-NEXT: s_lshl_b32 s8, s44, 8
; SI-NEXT: s_or_b32 s5, s5, s8
; SI-NEXT: s_and_b32 s8, s37, 0xff
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:48
; SI-NEXT: s_lshl_b32 s8, s8, 16
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshlrev_b32_e32 v1, 24, v42
+; SI-NEXT: v_lshlrev_b32_e32 v1, 24, v56
; SI-NEXT: s_and_b32 s5, s5, 0xffff
; SI-NEXT: v_or_b32_e32 v1, s8, v1
; SI-NEXT: v_readlane_b32 s8, v62, 42
; SI-NEXT: v_or_b32_e32 v1, s5, v1
-; SI-NEXT: s_and_b32 s5, s30, 0xff
+; SI-NEXT: s_and_b32 s5, vcc_lo, 0xff
; SI-NEXT: v_readlane_b32 s9, v62, 43
; SI-NEXT: s_lshl_b32 s8, s8, 8
; SI-NEXT: v_readlane_b32 s61, v62, 41
@@ -160025,12 +160089,12 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; SI-NEXT: v_readlane_b32 s9, v62, 49
; SI-NEXT: s_lshl_b32 s8, s8, 16
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshlrev_b32_e32 v1, 24, v41
+; SI-NEXT: v_lshlrev_b32_e32 v1, 24, v47
; SI-NEXT: s_and_b32 s5, s5, 0xffff
; SI-NEXT: v_or_b32_e32 v1, s8, v1
; SI-NEXT: v_readlane_b32 s8, v62, 50
; SI-NEXT: v_or_b32_e32 v1, s5, v1
-; SI-NEXT: s_and_b32 s5, s78, 0xff
+; SI-NEXT: s_and_b32 s5, s76, 0xff
; SI-NEXT: v_readlane_b32 s9, v62, 51
; SI-NEXT: s_lshl_b32 s8, s8, 8
; SI-NEXT: s_or_b32 s5, s5, s8
@@ -160053,7 +160117,7 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:64
; SI-NEXT: s_lshl_b32 s8, s8, 16
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshlrev_b32_e32 v1, 24, v40
+; SI-NEXT: v_lshlrev_b32_e32 v1, 24, v46
; SI-NEXT: s_and_b32 s5, s5, 0xffff
; SI-NEXT: v_or_b32_e32 v1, s8, v1
; SI-NEXT: v_readlane_b32 s8, v62, 56
@@ -160075,14 +160139,14 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:68
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s5
-; SI-NEXT: s_and_b32 s5, s74, 0xff
+; SI-NEXT: s_and_b32 s5, s78, 0xff
; SI-NEXT: s_lshl_b32 s8, s21, 8
; SI-NEXT: s_or_b32 s5, s5, s8
; SI-NEXT: s_and_b32 s8, s59, 0xff
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:72
; SI-NEXT: s_lshl_b32 s8, s8, 16
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshlrev_b32_e32 v1, 24, v12
+; SI-NEXT: v_lshlrev_b32_e32 v1, 24, v45
; SI-NEXT: s_and_b32 s5, s5, 0xffff
; SI-NEXT: v_or_b32_e32 v1, s8, v1
; SI-NEXT: v_readlane_b32 s8, v62, 62
@@ -160110,7 +160174,7 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:80
; SI-NEXT: s_lshl_b32 s8, s8, 16
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshlrev_b32_e32 v1, 24, v9
+; SI-NEXT: v_lshlrev_b32_e32 v1, 24, v44
; SI-NEXT: s_and_b32 s5, s5, 0xffff
; SI-NEXT: v_or_b32_e32 v1, s8, v1
; SI-NEXT: v_readlane_b32 s8, v61, 4
@@ -160139,7 +160203,7 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:88
; SI-NEXT: s_lshl_b32 s8, s8, 16
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshlrev_b32_e32 v1, 24, v4
+; SI-NEXT: v_lshlrev_b32_e32 v1, 24, v43
; SI-NEXT: s_and_b32 s5, s5, 0xffff
; SI-NEXT: v_or_b32_e32 v1, s8, v1
; SI-NEXT: v_readlane_b32 s8, v61, 10
@@ -160168,7 +160232,7 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:96
; SI-NEXT: s_lshl_b32 s8, s8, 16
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshlrev_b32_e32 v1, 24, v54
+; SI-NEXT: v_lshlrev_b32_e32 v1, 24, v42
; SI-NEXT: s_and_b32 s5, s5, 0xffff
; SI-NEXT: v_or_b32_e32 v1, s8, v1
; SI-NEXT: v_readlane_b32 s8, v61, 16
@@ -160196,7 +160260,7 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:104
; SI-NEXT: s_lshl_b32 s8, s8, 16
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshlrev_b32_e32 v1, 24, v8
+; SI-NEXT: v_lshlrev_b32_e32 v1, 24, v41
; SI-NEXT: s_and_b32 s5, s5, 0xffff
; SI-NEXT: v_or_b32_e32 v1, s8, v1
; SI-NEXT: v_readlane_b32 s8, v61, 22
@@ -160224,7 +160288,7 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:112
; SI-NEXT: s_lshl_b32 s8, s8, 16
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshlrev_b32_e32 v1, 24, v11
+; SI-NEXT: v_lshlrev_b32_e32 v1, 24, v40
; SI-NEXT: v_or_b32_e32 v1, s8, v1
; SI-NEXT: v_readlane_b32 s8, v61, 28
; SI-NEXT: s_and_b32 s5, s5, 0xffff
@@ -160254,7 +160318,7 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:120
; SI-NEXT: s_lshl_b32 s5, s5, 16
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshlrev_b32_e32 v1, 24, v60
+; SI-NEXT: v_lshlrev_b32_e32 v1, 24, v55
; SI-NEXT: s_and_b32 s4, s4, 0xffff
; SI-NEXT: v_or_b32_e32 v1, s5, v1
; SI-NEXT: v_or_b32_e32 v1, s4, v1
@@ -160272,8 +160336,8 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; SI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:40 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:44 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:48 ; 4-byte Folded Reload
-; SI-NEXT: v_readlane_b32 s99, v62, 5
-; SI-NEXT: v_readlane_b32 s85, v62, 11
+; SI-NEXT: v_readlane_b32 s97, v62, 5
+; SI-NEXT: v_readlane_b32 s83, v62, 11
; SI-NEXT: v_readlane_b32 s30, v63, 34
; SI-NEXT: v_readlane_b32 s61, v62, 47
; SI-NEXT: v_readlane_b32 s27, v62, 61
@@ -160317,9 +160381,9 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; SI-NEXT: v_readlane_b32 s35, v63, 1
; SI-NEXT: v_readlane_b32 s34, v63, 0
; SI-NEXT: s_or_saveexec_b64 s[4:5], -1
-; SI-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v61, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v61, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload
; SI-NEXT: s_mov_b64 exec, s[4:5]
; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0)
; SI-NEXT: s_setpc_b64 s[30:31]
@@ -160328,8 +160392,8 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; VI: ; %bb.0:
; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
; VI-NEXT: s_or_saveexec_b64 s[4:5], -1
-; VI-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:452 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:456 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:448 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:452 ; 4-byte Folded Spill
; VI-NEXT: s_mov_b64 exec, s[4:5]
; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:52 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:48 ; 4-byte Folded Spill
@@ -160400,70 +160464,78 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; VI-NEXT: ; implicit-def: $vgpr62 : SGPR spill to VGPR lane
; VI-NEXT: s_cbranch_scc0 .LBB91_2
; VI-NEXT: ; %bb.1: ; %cmp.false
+; VI-NEXT: s_lshr_b32 s46, s28, 8
+; VI-NEXT: v_writelane_b32 v62, s46, 12
; VI-NEXT: s_lshr_b32 s46, s27, 24
-; VI-NEXT: v_writelane_b32 v62, s46, 18
+; VI-NEXT: v_writelane_b32 v62, s46, 15
; VI-NEXT: s_lshr_b32 s46, s27, 16
-; VI-NEXT: v_writelane_b32 v62, s46, 19
+; VI-NEXT: v_writelane_b32 v62, s46, 16
; VI-NEXT: s_lshr_b32 s46, s27, 8
-; VI-NEXT: v_writelane_b32 v62, s46, 20
+; VI-NEXT: v_writelane_b32 v62, s46, 17
; VI-NEXT: s_lshr_b32 s46, s26, 16
-; VI-NEXT: v_writelane_b32 v62, s46, 16
+; VI-NEXT: v_writelane_b32 v62, s46, 13
; VI-NEXT: s_lshr_b32 s46, s26, 8
-; VI-NEXT: v_writelane_b32 v62, s46, 17
+; VI-NEXT: v_writelane_b32 v62, s46, 14
; VI-NEXT: s_lshr_b32 s46, s25, 24
-; VI-NEXT: v_writelane_b32 v62, s46, 23
+; VI-NEXT: v_writelane_b32 v62, s46, 20
; VI-NEXT: s_lshr_b32 s46, s25, 16
-; VI-NEXT: v_writelane_b32 v62, s46, 24
+; VI-NEXT: v_writelane_b32 v62, s46, 21
; VI-NEXT: s_lshr_b32 s46, s25, 8
-; VI-NEXT: v_writelane_b32 v62, s46, 25
+; VI-NEXT: v_writelane_b32 v62, s46, 22
; VI-NEXT: s_lshr_b32 s46, s24, 16
-; VI-NEXT: v_writelane_b32 v62, s46, 21
+; VI-NEXT: v_writelane_b32 v62, s46, 18
; VI-NEXT: s_lshr_b32 s46, s24, 8
-; VI-NEXT: v_writelane_b32 v62, s46, 22
+; VI-NEXT: v_writelane_b32 v62, s46, 19
; VI-NEXT: s_lshr_b32 s46, s23, 24
-; VI-NEXT: v_writelane_b32 v62, s46, 28
+; VI-NEXT: v_writelane_b32 v62, s46, 25
; VI-NEXT: s_lshr_b32 s46, s23, 16
-; VI-NEXT: v_writelane_b32 v62, s46, 29
+; VI-NEXT: v_writelane_b32 v62, s46, 26
; VI-NEXT: s_lshr_b32 s46, s23, 8
-; VI-NEXT: v_writelane_b32 v62, s46, 30
+; VI-NEXT: v_writelane_b32 v62, s46, 27
; VI-NEXT: s_lshr_b32 s46, s22, 16
-; VI-NEXT: v_writelane_b32 v62, s46, 26
+; VI-NEXT: v_writelane_b32 v62, s46, 23
; VI-NEXT: s_lshr_b32 s46, s22, 8
-; VI-NEXT: v_writelane_b32 v62, s46, 27
+; VI-NEXT: v_writelane_b32 v62, s46, 24
; VI-NEXT: s_lshr_b32 s46, s21, 24
-; VI-NEXT: v_writelane_b32 v62, s46, 33
+; VI-NEXT: v_writelane_b32 v62, s46, 30
; VI-NEXT: s_lshr_b32 s46, s21, 16
-; VI-NEXT: v_writelane_b32 v62, s46, 34
+; VI-NEXT: v_writelane_b32 v62, s46, 31
; VI-NEXT: s_lshr_b32 s46, s21, 8
-; VI-NEXT: v_writelane_b32 v62, s46, 35
+; VI-NEXT: v_writelane_b32 v62, s46, 32
; VI-NEXT: s_lshr_b32 s46, s20, 16
-; VI-NEXT: v_writelane_b32 v62, s46, 31
+; VI-NEXT: v_writelane_b32 v62, s46, 28
; VI-NEXT: s_lshr_b32 s46, s20, 8
-; VI-NEXT: v_writelane_b32 v62, s46, 32
+; VI-NEXT: v_writelane_b32 v62, s46, 29
; VI-NEXT: s_lshr_b32 s46, s19, 24
-; VI-NEXT: v_writelane_b32 v62, s46, 38
+; VI-NEXT: v_writelane_b32 v62, s46, 35
; VI-NEXT: s_lshr_b32 s46, s19, 16
-; VI-NEXT: v_writelane_b32 v62, s46, 39
+; VI-NEXT: v_writelane_b32 v62, s46, 36
; VI-NEXT: s_lshr_b32 s46, s19, 8
-; VI-NEXT: v_writelane_b32 v62, s46, 40
+; VI-NEXT: v_writelane_b32 v62, s46, 37
; VI-NEXT: s_lshr_b32 s46, s18, 16
-; VI-NEXT: v_writelane_b32 v62, s46, 36
+; VI-NEXT: v_writelane_b32 v62, s46, 33
; VI-NEXT: s_lshr_b32 s46, s18, 8
-; VI-NEXT: v_writelane_b32 v62, s46, 37
+; VI-NEXT: v_writelane_b32 v62, s46, 34
; VI-NEXT: s_lshr_b32 s46, s17, 24
-; VI-NEXT: v_writelane_b32 v62, s46, 43
+; VI-NEXT: v_writelane_b32 v62, s46, 40
; VI-NEXT: s_lshr_b32 s46, s17, 16
-; VI-NEXT: v_writelane_b32 v62, s46, 44
+; VI-NEXT: v_writelane_b32 v62, s46, 41
; VI-NEXT: s_lshr_b32 s46, s17, 8
-; VI-NEXT: v_writelane_b32 v62, s46, 45
+; VI-NEXT: v_writelane_b32 v62, s46, 42
; VI-NEXT: s_lshr_b32 s46, s16, 16
-; VI-NEXT: v_writelane_b32 v62, s46, 41
+; VI-NEXT: v_writelane_b32 v62, s46, 38
; VI-NEXT: s_lshr_b32 s46, s16, 8
-; VI-NEXT: v_writelane_b32 v62, s46, 42
+; VI-NEXT: v_writelane_b32 v62, s46, 39
+; VI-NEXT: s_lshr_b32 s46, s41, 24
+; VI-NEXT: v_writelane_b32 v62, s46, 45
+; VI-NEXT: s_lshr_b32 s46, s41, 16
+; VI-NEXT: v_writelane_b32 v62, s46, 46
; VI-NEXT: s_lshr_b32 s46, s41, 8
; VI-NEXT: v_writelane_b32 v62, s46, 47
+; VI-NEXT: s_lshr_b32 s46, s40, 16
+; VI-NEXT: v_writelane_b32 v62, s46, 43
; VI-NEXT: s_lshr_b32 s46, s40, 8
-; VI-NEXT: v_writelane_b32 v62, s46, 46
+; VI-NEXT: v_writelane_b32 v62, s46, 44
; VI-NEXT: s_lshr_b32 s46, s43, 24
; VI-NEXT: v_writelane_b32 v62, s46, 50
; VI-NEXT: s_lshr_b32 s46, s43, 16
@@ -160484,70 +160556,61 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; VI-NEXT: v_writelane_b32 v62, s46, 53
; VI-NEXT: s_lshr_b32 s46, s44, 8
; VI-NEXT: v_writelane_b32 v62, s46, 54
-; VI-NEXT: s_lshr_b64 s[88:89], s[4:5], 24
-; VI-NEXT: v_writelane_b32 v62, s88, 14
-; VI-NEXT: v_writelane_b32 v62, s89, 15
-; VI-NEXT: s_lshr_b64 s[88:89], s[28:29], 24
-; VI-NEXT: s_lshr_b32 s57, s15, 16
-; VI-NEXT: s_lshr_b32 s78, s41, 24
-; VI-NEXT: v_writelane_b32 v62, s88, 12
-; VI-NEXT: v_writelane_b32 v62, s89, 13
-; VI-NEXT: s_mov_b32 s46, s57
-; VI-NEXT: s_mov_b32 s57, s78
-; VI-NEXT: s_lshr_b64 s[78:79], s[26:27], 24
-; VI-NEXT: v_writelane_b32 v62, s78, 10
-; VI-NEXT: v_writelane_b32 v62, s79, 11
-; VI-NEXT: s_lshr_b64 s[78:79], s[24:25], 24
-; VI-NEXT: v_writelane_b32 v62, s78, 8
-; VI-NEXT: v_writelane_b32 v62, s79, 9
-; VI-NEXT: s_lshr_b64 s[78:79], s[22:23], 24
-; VI-NEXT: v_writelane_b32 v62, s78, 6
-; VI-NEXT: v_writelane_b32 v62, s79, 7
-; VI-NEXT: s_lshr_b64 s[78:79], s[20:21], 24
-; VI-NEXT: v_writelane_b32 v62, s78, 4
-; VI-NEXT: v_writelane_b32 v62, s79, 5
-; VI-NEXT: s_lshr_b64 s[78:79], s[18:19], 24
-; VI-NEXT: v_writelane_b32 v62, s78, 2
-; VI-NEXT: v_writelane_b32 v62, s79, 3
-; VI-NEXT: s_lshr_b64 s[78:79], s[16:17], 24
-; VI-NEXT: v_writelane_b32 v62, s78, 0
-; VI-NEXT: s_lshr_b32 s64, s5, 24
-; VI-NEXT: s_lshr_b32 s59, s5, 16
+; VI-NEXT: s_lshr_b64 s[76:77], s[4:5], 24
+; VI-NEXT: v_writelane_b32 v62, s76, 10
+; VI-NEXT: v_writelane_b32 v62, s77, 11
+; VI-NEXT: s_lshr_b64 s[76:77], s[28:29], 24
+; VI-NEXT: s_lshr_b32 s74, s14, 8
+; VI-NEXT: v_writelane_b32 v62, s76, 8
+; VI-NEXT: v_writelane_b32 v62, s77, 9
+; VI-NEXT: s_mov_b32 s46, s74
+; VI-NEXT: s_lshr_b64 s[74:75], s[26:27], 24
+; VI-NEXT: v_writelane_b32 v62, s74, 6
+; VI-NEXT: v_writelane_b32 v62, s75, 7
+; VI-NEXT: s_lshr_b64 s[74:75], s[24:25], 24
+; VI-NEXT: v_writelane_b32 v62, s74, 4
+; VI-NEXT: v_writelane_b32 v62, s75, 5
+; VI-NEXT: s_lshr_b64 s[74:75], s[22:23], 24
+; VI-NEXT: v_writelane_b32 v62, s74, 2
+; VI-NEXT: v_writelane_b32 v62, s75, 3
+; VI-NEXT: s_lshr_b64 s[74:75], s[20:21], 24
+; VI-NEXT: v_writelane_b32 v62, s74, 0
+; VI-NEXT: s_lshr_b32 s58, s5, 24
+; VI-NEXT: s_lshr_b32 s65, s5, 16
; VI-NEXT: s_lshr_b32 s55, s5, 8
-; VI-NEXT: s_lshr_b32 s58, s4, 16
-; VI-NEXT: s_lshr_b32 s56, s4, 8
+; VI-NEXT: s_lshr_b32 s64, s4, 16
+; VI-NEXT: s_lshr_b32 s54, s4, 8
; VI-NEXT: s_lshr_b32 s50, s29, 24
; VI-NEXT: s_lshr_b32 s47, s29, 16
; VI-NEXT: s_lshr_b32 s86, s29, 8
; VI-NEXT: s_lshr_b32 s87, s28, 16
-; VI-NEXT: s_lshr_b32 s85, s28, 8
-; VI-NEXT: s_lshr_b32 s82, s7, 24
-; VI-NEXT: s_lshr_b32 s81, s7, 16
-; VI-NEXT: s_lshr_b32 s77, s7, 8
-; VI-NEXT: s_lshr_b32 s80, s6, 16
-; VI-NEXT: s_lshr_b32 s76, s6, 8
-; VI-NEXT: s_lshr_b32 s71, s9, 24
-; VI-NEXT: s_lshr_b32 s75, s9, 16
-; VI-NEXT: s_lshr_b32 s70, s9, 8
-; VI-NEXT: s_lshr_b32 s74, s8, 16
-; VI-NEXT: s_lshr_b32 s69, s8, 8
-; VI-NEXT: s_lshr_b32 s73, s11, 24
-; VI-NEXT: s_lshr_b32 s72, s11, 16
-; VI-NEXT: s_lshr_b32 s67, s11, 8
-; VI-NEXT: s_lshr_b32 s68, s10, 16
-; VI-NEXT: s_lshr_b32 s63, s10, 8
-; VI-NEXT: s_lshr_b32 s62, s13, 24
-; VI-NEXT: s_lshr_b32 s61, s13, 16
+; VI-NEXT: s_lshr_b32 s85, s7, 24
+; VI-NEXT: s_lshr_b32 s57, s7, 16
+; VI-NEXT: s_lshr_b32 s72, s7, 8
+; VI-NEXT: s_lshr_b32 s73, s6, 16
+; VI-NEXT: s_lshr_b32 s84, s6, 8
+; VI-NEXT: s_lshr_b32 s83, s9, 24
+; VI-NEXT: s_lshr_b32 s82, s9, 16
+; VI-NEXT: s_lshr_b32 s63, s9, 8
+; VI-NEXT: s_lshr_b32 s81, s8, 16
+; VI-NEXT: s_lshr_b32 s62, s8, 8
+; VI-NEXT: s_lshr_b32 s80, s11, 24
+; VI-NEXT: s_lshr_b32 s71, s11, 16
+; VI-NEXT: s_lshr_b32 s60, s11, 8
+; VI-NEXT: s_lshr_b32 s61, s10, 16
+; VI-NEXT: s_lshr_b32 s70, s10, 8
+; VI-NEXT: s_lshr_b32 s69, s13, 24
+; VI-NEXT: s_lshr_b32 s68, s13, 16
; VI-NEXT: s_lshr_b32 s66, s13, 8
-; VI-NEXT: s_lshr_b32 s60, s12, 16
-; VI-NEXT: s_lshr_b32 s65, s12, 8
-; VI-NEXT: s_lshr_b32 s54, s15, 24
-; VI-NEXT: s_lshr_b32 s52, s15, 8
-; VI-NEXT: s_lshr_b32 s53, s14, 16
-; VI-NEXT: s_lshr_b32 s51, s14, 8
-; VI-NEXT: s_lshr_b32 s84, s41, 16
-; VI-NEXT: s_lshr_b32 s83, s40, 16
-; VI-NEXT: v_writelane_b32 v62, s79, 1
+; VI-NEXT: s_lshr_b32 s67, s12, 16
+; VI-NEXT: s_lshr_b32 s59, s12, 8
+; VI-NEXT: s_lshr_b32 s56, s15, 24
+; VI-NEXT: s_lshr_b32 s53, s15, 16
+; VI-NEXT: s_lshr_b32 s51, s15, 8
+; VI-NEXT: s_lshr_b32 s52, s14, 16
+; VI-NEXT: v_writelane_b32 v62, s75, 1
+; VI-NEXT: s_lshr_b64 s[74:75], s[18:19], 24
+; VI-NEXT: s_lshr_b64 s[76:77], s[16:17], 24
; VI-NEXT: s_lshr_b64 s[78:79], s[6:7], 24
; VI-NEXT: s_lshr_b64 s[88:89], s[8:9], 24
; VI-NEXT: s_lshr_b64 s[90:91], s[10:11], 24
@@ -160572,43 +160635,41 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; VI-NEXT: ; implicit-def: $sgpr46
; VI-NEXT: ; kill: killed $sgpr46
; VI-NEXT: ; implicit-def: $sgpr78
-; VI-NEXT: ; implicit-def: $sgpr85
; VI-NEXT: ; implicit-def: $sgpr87
; VI-NEXT: ; implicit-def: $sgpr86
; VI-NEXT: ; implicit-def: $sgpr47
; VI-NEXT: ; implicit-def: $sgpr50
-; VI-NEXT: ; implicit-def: $sgpr56
-; VI-NEXT: ; implicit-def: $sgpr58
-; VI-NEXT: ; implicit-def: $sgpr55
-; VI-NEXT: ; implicit-def: $sgpr59
+; VI-NEXT: ; implicit-def: $sgpr54
; VI-NEXT: ; implicit-def: $sgpr64
-; VI-NEXT: ; implicit-def: $sgpr83
-; VI-NEXT: ; implicit-def: $sgpr84
-; VI-NEXT: ; implicit-def: $sgpr57
+; VI-NEXT: ; implicit-def: $sgpr55
+; VI-NEXT: ; implicit-def: $sgpr65
+; VI-NEXT: ; implicit-def: $sgpr58
+; VI-NEXT: ; implicit-def: $sgpr52
; VI-NEXT: ; implicit-def: $sgpr51
; VI-NEXT: ; implicit-def: $sgpr53
-; VI-NEXT: ; implicit-def: $sgpr52
-; VI-NEXT: ; implicit-def: $sgpr54
-; VI-NEXT: ; implicit-def: $sgpr65
-; VI-NEXT: ; implicit-def: $sgpr60
+; VI-NEXT: ; implicit-def: $sgpr56
+; VI-NEXT: ; implicit-def: $sgpr59
+; VI-NEXT: ; implicit-def: $sgpr67
; VI-NEXT: ; implicit-def: $sgpr66
-; VI-NEXT: ; implicit-def: $sgpr61
-; VI-NEXT: ; implicit-def: $sgpr62
-; VI-NEXT: ; implicit-def: $sgpr63
; VI-NEXT: ; implicit-def: $sgpr68
-; VI-NEXT: ; implicit-def: $sgpr67
-; VI-NEXT: ; implicit-def: $sgpr72
-; VI-NEXT: ; implicit-def: $sgpr73
; VI-NEXT: ; implicit-def: $sgpr69
-; VI-NEXT: ; implicit-def: $sgpr74
; VI-NEXT: ; implicit-def: $sgpr70
-; VI-NEXT: ; implicit-def: $sgpr75
+; VI-NEXT: ; implicit-def: $sgpr61
+; VI-NEXT: ; implicit-def: $sgpr60
; VI-NEXT: ; implicit-def: $sgpr71
-; VI-NEXT: ; implicit-def: $sgpr76
; VI-NEXT: ; implicit-def: $sgpr80
-; VI-NEXT: ; implicit-def: $sgpr77
+; VI-NEXT: ; implicit-def: $sgpr62
; VI-NEXT: ; implicit-def: $sgpr81
+; VI-NEXT: ; implicit-def: $sgpr63
; VI-NEXT: ; implicit-def: $sgpr82
+; VI-NEXT: ; implicit-def: $sgpr83
+; VI-NEXT: ; implicit-def: $sgpr84
+; VI-NEXT: ; implicit-def: $sgpr73
+; VI-NEXT: ; implicit-def: $sgpr72
+; VI-NEXT: ; implicit-def: $sgpr57
+; VI-NEXT: ; implicit-def: $sgpr85
+; VI-NEXT: ; implicit-def: $sgpr76
+; VI-NEXT: ; implicit-def: $sgpr74
; VI-NEXT: ; implicit-def: $sgpr38
; VI-NEXT: ; implicit-def: $sgpr36
; VI-NEXT: ; implicit-def: $sgpr34
@@ -160663,22 +160724,24 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; VI-NEXT: ; implicit-def: $sgpr78
; VI-NEXT: ; implicit-def: $sgpr46
; VI-NEXT: ; kill: killed $sgpr46
-; VI-NEXT: v_writelane_b32 v62, s78, 12
; VI-NEXT: ; implicit-def: $sgpr46
; VI-NEXT: ; kill: killed $sgpr46
-; VI-NEXT: v_writelane_b32 v62, s79, 13
; VI-NEXT: ; implicit-def: $sgpr46
; VI-NEXT: ; kill: killed $sgpr46
-; VI-NEXT: ; implicit-def: $sgpr78
; VI-NEXT: ; implicit-def: $sgpr46
; VI-NEXT: ; kill: killed $sgpr46
-; VI-NEXT: v_writelane_b32 v62, s78, 14
; VI-NEXT: ; implicit-def: $sgpr46
; VI-NEXT: ; kill: killed $sgpr46
-; VI-NEXT: v_writelane_b32 v62, s79, 15
; VI-NEXT: ; implicit-def: $sgpr46
; VI-NEXT: ; kill: killed $sgpr46
-; VI-NEXT: ; implicit-def: $sgpr78
+; VI-NEXT: ; implicit-def: $sgpr46
+; VI-NEXT: ; kill: killed $sgpr46
+; VI-NEXT: ; implicit-def: $sgpr46
+; VI-NEXT: ; kill: killed $sgpr46
+; VI-NEXT: ; implicit-def: $sgpr46
+; VI-NEXT: ; kill: killed $sgpr46
+; VI-NEXT: ; implicit-def: $sgpr46
+; VI-NEXT: ; kill: killed $sgpr46
; VI-NEXT: ; implicit-def: $sgpr46
; VI-NEXT: ; kill: killed $sgpr46
; VI-NEXT: ; implicit-def: $sgpr46
@@ -160716,8 +160779,8 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; VI-NEXT: ; implicit-def: $sgpr46
; VI-NEXT: .LBB91_3: ; %Flow
; VI-NEXT: s_and_b64 s[48:49], s[48:49], exec
-; VI-NEXT: s_cselect_b32 s79, 1, 0
-; VI-NEXT: s_cmp_lg_u32 s79, 1
+; VI-NEXT: s_cselect_b32 s75, 1, 0
+; VI-NEXT: s_cmp_lg_u32 s75, 1
; VI-NEXT: s_cbranch_scc1 .LBB91_5
; VI-NEXT: ; %bb.4: ; %cmp.true
; VI-NEXT: s_lshl_b32 s46, s45, 16
@@ -160739,8 +160802,8 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; VI-NEXT: v_cndmask_b32_e32 v2, v3, v4, vcc
; VI-NEXT: v_lshrrev_b32_e32 v2, 16, v2
; VI-NEXT: v_lshrrev_b64 v[5:6], 16, v[1:2]
-; VI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:404 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:408 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:400 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:404 ; 4-byte Folded Spill
; VI-NEXT: s_lshl_b32 s45, s44, 16
; VI-NEXT: v_add_f32_e32 v1, s45, v43
; VI-NEXT: v_bfe_u32 v2, v1, 16, 1
@@ -160762,8 +160825,8 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; VI-NEXT: s_lshl_b32 s44, s43, 16
; VI-NEXT: s_and_b32 s43, s43, 0xffff0000
; VI-NEXT: v_mov_b32_e32 v2, v5
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:428 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:432 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:424 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:428 ; 4-byte Folded Spill
; VI-NEXT: v_add_f32_e32 v1, s44, v43
; VI-NEXT: v_bfe_u32 v2, v1, 16, 1
; VI-NEXT: v_add_u32_e32 v2, vcc, v2, v1
@@ -160780,8 +160843,8 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; VI-NEXT: v_cndmask_b32_e32 v2, v3, v4, vcc
; VI-NEXT: v_lshrrev_b32_e32 v2, 16, v2
; VI-NEXT: v_lshrrev_b64 v[5:6], 16, v[1:2]
-; VI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:412 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:416 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:408 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:412 ; 4-byte Folded Spill
; VI-NEXT: s_lshl_b32 s43, s42, 16
; VI-NEXT: v_add_f32_e32 v1, s43, v43
; VI-NEXT: v_bfe_u32 v2, v1, 16, 1
@@ -160803,8 +160866,8 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; VI-NEXT: s_lshl_b32 s42, s41, 16
; VI-NEXT: s_and_b32 s41, s41, 0xffff0000
; VI-NEXT: v_mov_b32_e32 v2, v5
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:436 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:440 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:432 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:436 ; 4-byte Folded Spill
; VI-NEXT: v_add_f32_e32 v1, s42, v43
; VI-NEXT: v_bfe_u32 v2, v1, 16, 1
; VI-NEXT: v_add_u32_e32 v2, vcc, v2, v1
@@ -160821,8 +160884,8 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; VI-NEXT: v_cndmask_b32_e32 v2, v3, v4, vcc
; VI-NEXT: v_lshrrev_b32_e32 v2, 16, v2
; VI-NEXT: v_lshrrev_b64 v[5:6], 16, v[1:2]
-; VI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:420 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:424 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:416 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:420 ; 4-byte Folded Spill
; VI-NEXT: s_lshl_b32 s41, s40, 16
; VI-NEXT: v_add_f32_e32 v1, s41, v43
; VI-NEXT: v_bfe_u32 v2, v1, 16, 1
@@ -160844,8 +160907,8 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; VI-NEXT: s_lshl_b32 s40, s15, 16
; VI-NEXT: s_and_b32 s15, s15, 0xffff0000
; VI-NEXT: v_mov_b32_e32 v2, v5
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:444 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:448 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:440 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:444 ; 4-byte Folded Spill
; VI-NEXT: v_add_f32_e32 v1, s40, v43
; VI-NEXT: v_bfe_u32 v2, v1, 16, 1
; VI-NEXT: v_add_u32_e32 v2, vcc, v2, v1
@@ -160861,10 +160924,8 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; VI-NEXT: v_cmp_u_f32_e32 vcc, v2, v2
; VI-NEXT: v_cndmask_b32_e32 v2, v3, v4, vcc
; VI-NEXT: v_lshrrev_b32_e32 v2, 16, v2
-; VI-NEXT: v_lshrrev_b64 v[5:6], 16, v[1:2]
-; VI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
; VI-NEXT: s_lshl_b32 s15, s14, 16
+; VI-NEXT: v_lshrrev_b64 v[5:6], 16, v[1:2]
; VI-NEXT: v_add_f32_e32 v1, s15, v43
; VI-NEXT: v_bfe_u32 v2, v1, 16, 1
; VI-NEXT: v_add_u32_e32 v2, vcc, v2, v1
@@ -160881,8 +160942,11 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; VI-NEXT: v_cmp_u_f32_e32 vcc, v2, v2
; VI-NEXT: v_cndmask_b32_e32 v2, v3, v4, vcc
; VI-NEXT: v_lshrrev_b32_e32 v2, 16, v2
+; VI-NEXT: v_lshrrev_b64 v[1:2], 16, v[1:2]
+; VI-NEXT: v_mov_b32_e32 v2, v5
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
; VI-NEXT: s_lshl_b32 s14, s13, 16
-; VI-NEXT: v_lshrrev_b64 v[26:27], 16, v[1:2]
; VI-NEXT: v_add_f32_e32 v1, s14, v43
; VI-NEXT: v_bfe_u32 v2, v1, 16, 1
; VI-NEXT: v_add_u32_e32 v2, vcc, v2, v1
@@ -160899,18 +160963,17 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; VI-NEXT: v_cmp_u_f32_e32 vcc, v2, v2
; VI-NEXT: v_cndmask_b32_e32 v2, v3, v4, vcc
; VI-NEXT: v_lshrrev_b32_e32 v2, 16, v2
+; VI-NEXT: v_lshrrev_b64 v[6:7], 16, v[1:2]
+; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
; VI-NEXT: s_lshl_b32 s13, s12, 16
-; VI-NEXT: s_and_b32 s12, s12, 0xffff0000
-; VI-NEXT: v_mov_b32_e32 v27, v5
-; VI-NEXT: v_lshrrev_b64 v[5:6], 16, v[1:2]
-; VI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
; VI-NEXT: v_add_f32_e32 v1, s13, v43
; VI-NEXT: v_bfe_u32 v2, v1, 16, 1
; VI-NEXT: v_add_u32_e32 v2, vcc, v2, v1
; VI-NEXT: v_add_u32_e32 v2, vcc, 0x7fff, v2
; VI-NEXT: v_or_b32_e32 v3, 0x400000, v1
; VI-NEXT: v_cmp_u_f32_e32 vcc, v1, v1
+; VI-NEXT: s_and_b32 s12, s12, 0xffff0000
; VI-NEXT: v_cndmask_b32_e32 v1, v2, v3, vcc
; VI-NEXT: v_add_f32_e32 v2, s12, v43
; VI-NEXT: v_bfe_u32 v3, v2, 16, 1
@@ -160921,7 +160984,7 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; VI-NEXT: v_cndmask_b32_e32 v2, v3, v4, vcc
; VI-NEXT: v_lshrrev_b32_e32 v2, 16, v2
; VI-NEXT: s_lshl_b32 s12, s11, 16
-; VI-NEXT: v_lshrrev_b64 v[56:57], 16, v[1:2]
+; VI-NEXT: v_lshrrev_b64 v[58:59], 16, v[1:2]
; VI-NEXT: v_add_f32_e32 v1, s12, v43
; VI-NEXT: v_bfe_u32 v2, v1, 16, 1
; VI-NEXT: v_add_u32_e32 v2, vcc, v2, v1
@@ -160940,10 +161003,10 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; VI-NEXT: v_lshrrev_b32_e32 v2, 16, v2
; VI-NEXT: s_lshl_b32 s11, s10, 16
; VI-NEXT: s_and_b32 s10, s10, 0xffff0000
-; VI-NEXT: v_mov_b32_e32 v57, v5
-; VI-NEXT: v_lshrrev_b64 v[5:6], 16, v[1:2]
-; VI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v59, v6
+; VI-NEXT: v_lshrrev_b64 v[6:7], 16, v[1:2]
+; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
; VI-NEXT: v_add_f32_e32 v1, s11, v43
; VI-NEXT: v_bfe_u32 v2, v1, 16, 1
; VI-NEXT: v_add_u32_e32 v2, vcc, v2, v1
@@ -160960,7 +161023,7 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; VI-NEXT: v_cndmask_b32_e32 v2, v3, v4, vcc
; VI-NEXT: v_lshrrev_b32_e32 v2, 16, v2
; VI-NEXT: s_lshl_b32 s10, s9, 16
-; VI-NEXT: v_lshrrev_b64 v[58:59], 16, v[1:2]
+; VI-NEXT: v_lshrrev_b64 v[60:61], 16, v[1:2]
; VI-NEXT: v_add_f32_e32 v1, s10, v43
; VI-NEXT: v_bfe_u32 v2, v1, 16, 1
; VI-NEXT: v_add_u32_e32 v2, vcc, v2, v1
@@ -160979,8 +161042,8 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; VI-NEXT: v_lshrrev_b32_e32 v2, 16, v2
; VI-NEXT: s_lshl_b32 s9, s8, 16
; VI-NEXT: s_and_b32 s8, s8, 0xffff0000
-; VI-NEXT: v_mov_b32_e32 v59, v5
-; VI-NEXT: v_lshrrev_b64 v[5:6], 16, v[1:2]
+; VI-NEXT: v_mov_b32_e32 v61, v6
+; VI-NEXT: v_lshrrev_b64 v[6:7], 16, v[1:2]
; VI-NEXT: v_add_f32_e32 v1, s9, v43
; VI-NEXT: v_bfe_u32 v2, v1, 16, 1
; VI-NEXT: v_add_u32_e32 v2, vcc, v2, v1
@@ -160997,7 +161060,7 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; VI-NEXT: v_cndmask_b32_e32 v2, v3, v4, vcc
; VI-NEXT: v_lshrrev_b32_e32 v2, 16, v2
; VI-NEXT: s_lshl_b32 s8, s7, 16
-; VI-NEXT: v_lshrrev_b64 v[24:25], 16, v[1:2]
+; VI-NEXT: v_lshrrev_b64 v[46:47], 16, v[1:2]
; VI-NEXT: v_add_f32_e32 v1, s8, v43
; VI-NEXT: v_bfe_u32 v2, v1, 16, 1
; VI-NEXT: v_add_u32_e32 v2, vcc, v2, v1
@@ -161015,7 +161078,7 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; VI-NEXT: v_cndmask_b32_e32 v2, v3, v4, vcc
; VI-NEXT: v_lshrrev_b32_e32 v2, 16, v2
; VI-NEXT: s_lshl_b32 s7, s6, 16
-; VI-NEXT: v_lshrrev_b64 v[46:47], 16, v[1:2]
+; VI-NEXT: v_lshrrev_b64 v[28:29], 16, v[1:2]
; VI-NEXT: v_add_f32_e32 v1, s7, v43
; VI-NEXT: v_bfe_u32 v2, v1, 16, 1
; VI-NEXT: v_add_u32_e32 v2, vcc, v2, v1
@@ -161033,7 +161096,7 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; VI-NEXT: v_cndmask_b32_e32 v2, v3, v4, vcc
; VI-NEXT: v_lshrrev_b32_e32 v2, 16, v2
; VI-NEXT: s_lshl_b32 s6, s17, 16
-; VI-NEXT: v_lshrrev_b64 v[60:61], 16, v[1:2]
+; VI-NEXT: v_lshrrev_b64 v[56:57], 16, v[1:2]
; VI-NEXT: v_add_f32_e32 v1, s6, v43
; VI-NEXT: v_bfe_u32 v2, v1, 16, 1
; VI-NEXT: v_add_u32_e32 v2, vcc, v2, v1
@@ -161051,7 +161114,7 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; VI-NEXT: v_cndmask_b32_e32 v2, v3, v4, vcc
; VI-NEXT: v_lshrrev_b32_e32 v2, 16, v2
; VI-NEXT: s_lshl_b32 s6, s16, 16
-; VI-NEXT: v_lshrrev_b64 v[28:29], 16, v[1:2]
+; VI-NEXT: v_lshrrev_b64 v[30:31], 16, v[1:2]
; VI-NEXT: v_add_f32_e32 v1, s6, v43
; VI-NEXT: v_bfe_u32 v2, v1, 16, 1
; VI-NEXT: v_add_u32_e32 v2, vcc, v2, v1
@@ -161068,8 +161131,11 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; VI-NEXT: v_cmp_u_f32_e32 vcc, v2, v2
; VI-NEXT: v_cndmask_b32_e32 v2, v3, v4, vcc
; VI-NEXT: v_lshrrev_b32_e32 v2, 16, v2
+; VI-NEXT: v_lshrrev_b64 v[1:2], 16, v[1:2]
+; VI-NEXT: v_mov_b32_e32 v2, v30
; VI-NEXT: s_lshl_b32 s6, s19, 16
-; VI-NEXT: v_lshrrev_b64 v[29:30], 16, v[1:2]
+; VI-NEXT: v_mov_b32_e32 v25, v2
+; VI-NEXT: v_mov_b32_e32 v24, v1
; VI-NEXT: v_add_f32_e32 v1, s6, v43
; VI-NEXT: v_bfe_u32 v2, v1, 16, 1
; VI-NEXT: v_add_u32_e32 v2, vcc, v2, v1
@@ -161087,7 +161153,7 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; VI-NEXT: v_cndmask_b32_e32 v2, v3, v4, vcc
; VI-NEXT: v_lshrrev_b32_e32 v2, 16, v2
; VI-NEXT: s_lshl_b32 s6, s18, 16
-; VI-NEXT: v_lshrrev_b64 v[47:48], 16, v[1:2]
+; VI-NEXT: v_lshrrev_b64 v[26:27], 16, v[1:2]
; VI-NEXT: v_add_f32_e32 v1, s6, v43
; VI-NEXT: v_bfe_u32 v2, v1, 16, 1
; VI-NEXT: v_add_u32_e32 v2, vcc, v2, v1
@@ -161105,7 +161171,7 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; VI-NEXT: v_cndmask_b32_e32 v2, v3, v4, vcc
; VI-NEXT: v_lshrrev_b32_e32 v2, 16, v2
; VI-NEXT: s_lshl_b32 s6, s21, 16
-; VI-NEXT: v_lshrrev_b64 v[32:33], 16, v[1:2]
+; VI-NEXT: v_lshrrev_b64 v[33:34], 16, v[1:2]
; VI-NEXT: v_add_f32_e32 v1, s6, v43
; VI-NEXT: v_bfe_u32 v2, v1, 16, 1
; VI-NEXT: v_add_u32_e32 v2, vcc, v2, v1
@@ -161123,7 +161189,7 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; VI-NEXT: v_cndmask_b32_e32 v2, v3, v4, vcc
; VI-NEXT: v_lshrrev_b32_e32 v2, 16, v2
; VI-NEXT: s_lshl_b32 s6, s20, 16
-; VI-NEXT: v_lshrrev_b64 v[34:35], 16, v[1:2]
+; VI-NEXT: v_lshrrev_b64 v[31:32], 16, v[1:2]
; VI-NEXT: v_add_f32_e32 v1, s6, v43
; VI-NEXT: v_bfe_u32 v2, v1, 16, 1
; VI-NEXT: v_add_u32_e32 v2, vcc, v2, v1
@@ -161141,7 +161207,7 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; VI-NEXT: v_cndmask_b32_e32 v2, v3, v4, vcc
; VI-NEXT: v_lshrrev_b32_e32 v2, 16, v2
; VI-NEXT: s_lshl_b32 s6, s23, 16
-; VI-NEXT: v_lshrrev_b64 v[35:36], 16, v[1:2]
+; VI-NEXT: v_lshrrev_b64 v[36:37], 16, v[1:2]
; VI-NEXT: v_add_f32_e32 v1, s6, v43
; VI-NEXT: v_bfe_u32 v2, v1, 16, 1
; VI-NEXT: v_add_u32_e32 v2, vcc, v2, v1
@@ -161159,7 +161225,7 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; VI-NEXT: v_cndmask_b32_e32 v2, v3, v4, vcc
; VI-NEXT: v_lshrrev_b32_e32 v2, 16, v2
; VI-NEXT: s_lshl_b32 s6, s22, 16
-; VI-NEXT: v_lshrrev_b64 v[37:38], 16, v[1:2]
+; VI-NEXT: v_lshrrev_b64 v[38:39], 16, v[1:2]
; VI-NEXT: v_add_f32_e32 v1, s6, v43
; VI-NEXT: v_bfe_u32 v2, v1, 16, 1
; VI-NEXT: v_add_u32_e32 v2, vcc, v2, v1
@@ -161177,7 +161243,7 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; VI-NEXT: v_cndmask_b32_e32 v2, v3, v4, vcc
; VI-NEXT: v_lshrrev_b32_e32 v2, 16, v2
; VI-NEXT: s_lshl_b32 s6, s25, 16
-; VI-NEXT: v_lshrrev_b64 v[38:39], 16, v[1:2]
+; VI-NEXT: v_lshrrev_b64 v[48:49], 16, v[1:2]
; VI-NEXT: v_add_f32_e32 v1, s6, v43
; VI-NEXT: v_bfe_u32 v2, v1, 16, 1
; VI-NEXT: v_add_u32_e32 v2, vcc, v2, v1
@@ -161195,16 +161261,16 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; VI-NEXT: v_cndmask_b32_e32 v2, v3, v4, vcc
; VI-NEXT: v_lshrrev_b32_e32 v2, 16, v2
; VI-NEXT: s_lshl_b32 s6, s24, 16
-; VI-NEXT: v_lshrrev_b64 v[48:49], 16, v[1:2]
+; VI-NEXT: v_lshrrev_b64 v[50:51], 16, v[1:2]
; VI-NEXT: v_add_f32_e32 v1, s6, v43
; VI-NEXT: v_bfe_u32 v2, v1, 16, 1
; VI-NEXT: v_add_u32_e32 v2, vcc, v2, v1
; VI-NEXT: v_add_u32_e32 v2, vcc, 0x7fff, v2
-; VI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
; VI-NEXT: v_or_b32_e32 v3, 0x400000, v1
; VI-NEXT: v_cmp_u_f32_e32 vcc, v1, v1
; VI-NEXT: s_and_b32 s6, s24, 0xffff0000
+; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
; VI-NEXT: v_cndmask_b32_e32 v1, v2, v3, vcc
; VI-NEXT: v_add_f32_e32 v2, s6, v43
; VI-NEXT: v_bfe_u32 v3, v2, 16, 1
@@ -161215,16 +161281,24 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; VI-NEXT: v_cndmask_b32_e32 v2, v3, v4, vcc
; VI-NEXT: v_lshrrev_b32_e32 v2, 16, v2
; VI-NEXT: s_lshl_b32 s6, s27, 16
-; VI-NEXT: v_lshrrev_b64 v[49:50], 16, v[1:2]
+; VI-NEXT: v_mov_b32_e32 v37, v31
+; VI-NEXT: v_lshrrev_b64 v[51:52], 16, v[1:2]
; VI-NEXT: v_add_f32_e32 v1, s6, v43
; VI-NEXT: v_bfe_u32 v2, v1, 16, 1
+; VI-NEXT: v_lshrrev_b64 v[19:20], 24, v[36:37]
; VI-NEXT: v_add_u32_e32 v2, vcc, v2, v1
+; VI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
; VI-NEXT: v_add_u32_e32 v2, vcc, 0x7fff, v2
+; VI-NEXT: v_mov_b32_e32 v34, v26
; VI-NEXT: v_or_b32_e32 v3, 0x400000, v1
; VI-NEXT: v_cmp_u_f32_e32 vcc, v1, v1
; VI-NEXT: s_and_b32 s6, s27, 0xffff0000
; VI-NEXT: v_cndmask_b32_e32 v1, v2, v3, vcc
; VI-NEXT: v_add_f32_e32 v2, s6, v43
+; VI-NEXT: v_lshrrev_b64 v[22:23], 24, v[33:34]
+; VI-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:440 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:444 ; 4-byte Folded Reload
; VI-NEXT: v_bfe_u32 v3, v2, 16, 1
; VI-NEXT: v_add_u32_e32 v3, vcc, v3, v2
; VI-NEXT: v_add_u32_e32 v3, vcc, 0x7fff, v3
@@ -161233,7 +161307,7 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; VI-NEXT: v_cndmask_b32_e32 v2, v3, v4, vcc
; VI-NEXT: v_lshrrev_b32_e32 v2, 16, v2
; VI-NEXT: s_lshl_b32 s6, s26, 16
-; VI-NEXT: v_lshrrev_b64 v[51:52], 16, v[1:2]
+; VI-NEXT: v_lshrrev_b64 v[53:54], 16, v[1:2]
; VI-NEXT: v_add_f32_e32 v1, s6, v43
; VI-NEXT: v_bfe_u32 v2, v1, 16, 1
; VI-NEXT: v_add_u32_e32 v2, vcc, v2, v1
@@ -161251,7 +161325,7 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; VI-NEXT: v_cndmask_b32_e32 v2, v3, v4, vcc
; VI-NEXT: v_lshrrev_b32_e32 v2, 16, v2
; VI-NEXT: s_lshl_b32 s6, s29, 16
-; VI-NEXT: v_lshrrev_b64 v[52:53], 16, v[1:2]
+; VI-NEXT: v_lshrrev_b64 v[54:55], 16, v[1:2]
; VI-NEXT: v_add_f32_e32 v1, s6, v43
; VI-NEXT: v_bfe_u32 v2, v1, 16, 1
; VI-NEXT: v_add_u32_e32 v2, vcc, v2, v1
@@ -161269,7 +161343,7 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; VI-NEXT: v_cndmask_b32_e32 v2, v3, v4, vcc
; VI-NEXT: v_lshrrev_b32_e32 v2, 16, v2
; VI-NEXT: s_lshl_b32 s6, s28, 16
-; VI-NEXT: v_lshrrev_b64 v[54:55], 16, v[1:2]
+; VI-NEXT: v_lshrrev_b64 v[39:40], 16, v[1:2]
; VI-NEXT: v_add_f32_e32 v1, s6, v43
; VI-NEXT: v_bfe_u32 v2, v1, 16, 1
; VI-NEXT: v_add_u32_e32 v2, vcc, v2, v1
@@ -161316,550 +161390,544 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; VI-NEXT: v_add_f32_e32 v1, s4, v43
; VI-NEXT: v_cndmask_b32_e32 v42, v2, v3, vcc
; VI-NEXT: v_bfe_u32 v2, v1, 16, 1
-; VI-NEXT: v_mov_b32_e32 v39, v37
; VI-NEXT: v_add_u32_e32 v2, vcc, v2, v1
; VI-NEXT: v_add_u32_e32 v2, vcc, 0x7fff, v2
-; VI-NEXT: v_lshrrev_b64 v[15:16], 24, v[38:39]
; VI-NEXT: v_or_b32_e32 v3, 0x400000, v1
; VI-NEXT: v_cmp_u_f32_e32 vcc, v1, v1
-; VI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:444 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:448 ; 4-byte Folded Reload
+; VI-NEXT: v_mov_b32_e32 v57, v28
; VI-NEXT: v_cndmask_b32_e32 v1, v2, v3, vcc
-; VI-NEXT: v_mov_b32_e32 v30, v28
; VI-NEXT: v_lshrrev_b32_e32 v43, 16, v1
-; VI-NEXT: v_mov_b32_e32 v25, v5
-; VI-NEXT: v_lshrrev_b64 v[4:5], 16, v[42:43]
-; VI-NEXT: v_lshrrev_b64 v[22:23], 24, v[29:30]
-; VI-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:436 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:440 ; 4-byte Folded Reload
-; VI-NEXT: v_mov_b32_e32 v5, v44
-; VI-NEXT: v_lshrrev_b64 v[6:7], 24, v[4:5]
-; VI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:428 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:432 ; 4-byte Folded Reload
-; VI-NEXT: v_mov_b32_e32 v61, v46
-; VI-NEXT: v_lshrrev_b64 v[1:2], 24, v[60:61]
+; VI-NEXT: v_lshrrev_b64 v[1:2], 24, v[56:57]
+; VI-NEXT: v_mov_b32_e32 v47, v6
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[1:2], 24, v[24:25]
+; VI-NEXT: v_lshrrev_b64 v[1:2], 24, v[46:47]
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[1:2], 24, v[60:61]
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b64 v[1:2], 24, v[58:59]
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[1:2], 24, v[56:57]
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[1:2], 24, v[26:27]
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v3, 8, v35
-; VI-NEXT: v_mov_b32_e32 v50, v48
-; VI-NEXT: v_lshrrev_b64 v[13:14], 24, v[49:50]
-; VI-NEXT: v_mov_b32_e32 v33, v47
-; VI-NEXT: v_mov_b32_e32 v36, v34
-; VI-NEXT: v_mov_b32_e32 v53, v51
-; VI-NEXT: v_mov_b32_e32 v41, v54
-; VI-NEXT: v_lshrrev_b64 v[9:10], 24, v[40:41]
-; VI-NEXT: v_lshrrev_b64 v[11:12], 24, v[52:53]
-; VI-NEXT: v_lshrrev_b64 v[18:19], 24, v[35:36]
-; VI-NEXT: v_lshrrev_b64 v[20:21], 24, v[32:33]
-; VI-NEXT: v_lshrrev_b32_e32 v50, 8, v48
-; VI-NEXT: v_lshrrev_b32_e32 v10, 8, v49
-; VI-NEXT: v_lshrrev_b32_e32 v53, 8, v37
-; VI-NEXT: v_lshrrev_b32_e32 v5, 8, v38
-; VI-NEXT: v_lshrrev_b32_e32 v43, 8, v34
-; VI-NEXT: v_lshrrev_b32_e32 v12, 16, v35
-; VI-NEXT: v_lshrrev_b32_e32 v61, 16, v32
-; VI-NEXT: v_lshrrev_b32_e32 v55, 16, v28
-; VI-NEXT: v_lshrrev_b32_e32 v23, 8, v28
-; VI-NEXT: v_lshrrev_b32_e32 v41, 16, v29
-; VI-NEXT: v_lshrrev_b32_e32 v27, 8, v29
-; VI-NEXT: s_waitcnt vmcnt(14)
-; VI-NEXT: v_lshrrev_b64 v[1:2], 24, v[16:17]
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:384 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 16, v38
-; VI-NEXT: s_waitcnt vmcnt(14)
-; VI-NEXT: v_lshrrev_b64 v[1:2], 24, v[30:31]
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:388 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:392 ; 4-byte Folded Spill
-; VI-NEXT: s_waitcnt vmcnt(14)
-; VI-NEXT: v_lshrrev_b64 v[1:2], 24, v[7:8]
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:396 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:400 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v2, 24, v28
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v2, 24, v46
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v2, 16, v46
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v2, v46
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v2, 8, v46
-; VI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v2, 16, v60
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v2, v60
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v2, 8, v60
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
-; VI-NEXT: s_waitcnt vmcnt(6)
-; VI-NEXT: v_mov_b32_e32 v2, v45
-; VI-NEXT: v_lshrrev_b32_e32 v14, 24, v2
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v14, 16, v2
-; VI-NEXT: v_lshrrev_b32_e32 v2, 8, v2
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v2, 16, v24
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v2, v24
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v2, 8, v24
-; VI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v1, 24, v44
+; VI-NEXT: s_waitcnt vmcnt(10)
+; VI-NEXT: v_lshrrev_b64 v[1:2], 24, v[20:21]
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v1, 16, v44
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v44
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v1, 16, v4
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v4
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v1, 24, v54
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v1, 16, v54
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v54
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v1, 16, v40
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v40
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v1, 24, v51
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v1, 16, v51
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v51
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v1, 16, v52
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v52
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v1, 24, v48
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v1, 16, v48
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
+; VI-NEXT: s_waitcnt vmcnt(10)
+; VI-NEXT: v_lshrrev_b64 v[1:2], 24, v[34:35]
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:432 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:436 ; 4-byte Folded Reload
+; VI-NEXT: v_mov_b32_e32 v49, v38
+; VI-NEXT: v_lshrrev_b64 v[15:16], 24, v[48:49]
+; VI-NEXT: v_mov_b32_e32 v49, v44
+; VI-NEXT: v_lshrrev_b32_e32 v1, 24, v49
+; VI-NEXT: v_lshrrev_b64 v[6:7], 16, v[42:43]
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v1, 16, v49
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v49
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v1, 24, v37
+; VI-NEXT: v_lshrrev_b32_e32 v1, 16, v6
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v1, 16, v37
+; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v6
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v1, 24, v34
+; VI-NEXT: v_lshrrev_b32_e32 v1, 24, v39
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v1, 16, v39
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v39
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v1, 16, v34
+; VI-NEXT: v_lshrrev_b32_e32 v1, 16, v40
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v40
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v1, 24, v47
+; VI-NEXT: v_lshrrev_b32_e32 v1, 24, v53
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v1, 16, v53
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v53
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v1, 16, v47
-; VI-NEXT: v_lshrrev_b32_e32 v8, 16, v49
+; VI-NEXT: v_lshrrev_b32_e32 v1, 16, v54
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v54
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v31, v47
-; VI-NEXT: v_lshrrev_b32_e32 v47, 8, v47
-; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v32
-; VI-NEXT: v_mov_b32_e32 v45, v30
-; VI-NEXT: v_lshrrev_b32_e32 v36, 8, v7
+; VI-NEXT: v_lshrrev_b32_e32 v1, 24, v50
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v1, 16, v50
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v1, 16, v51
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v1, 24, v38
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v1, 16, v38
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v1, 24, v31
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v1, 16, v31
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v1, 24, v26
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v1, 16, v26
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v1, 24, v30
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v1, 16, v30
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, v28
+; VI-NEXT: v_mov_b32_e32 v32, v26
+; VI-NEXT: v_lshrrev_b32_e32 v59, 8, v26
+; VI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
+; VI-NEXT: v_mov_b32_e32 v55, v53
+; VI-NEXT: v_lshrrev_b64 v[10:11], 24, v[54:55]
+; VI-NEXT: v_lshrrev_b32_e32 v11, 24, v28
+; VI-NEXT: v_mov_b32_e32 v41, v39
+; VI-NEXT: v_lshrrev_b64 v[17:18], 24, v[40:41]
+; VI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:424 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:428 ; 4-byte Folded Reload
+; VI-NEXT: v_mov_b32_e32 v52, v50
+; VI-NEXT: v_lshrrev_b64 v[12:13], 24, v[51:52]
+; VI-NEXT: v_mov_b32_e32 v7, v44
+; VI-NEXT: v_mov_b32_e32 v13, v24
+; VI-NEXT: v_mov_b32_e32 v14, v25
+; VI-NEXT: v_lshrrev_b32_e32 v16, 16, v28
+; VI-NEXT: v_lshrrev_b64 v[8:9], 24, v[6:7]
+; VI-NEXT: v_lshrrev_b64 v[24:25], 24, v[13:14]
+; VI-NEXT: v_mov_b32_e32 v29, v30
+; VI-NEXT: v_lshrrev_b32_e32 v7, 8, v30
+; VI-NEXT: v_mov_b32_e32 v30, v13
+; VI-NEXT: v_lshrrev_b32_e32 v21, 8, v50
+; VI-NEXT: v_lshrrev_b32_e32 v9, 8, v38
; VI-NEXT: s_waitcnt vmcnt(14)
-; VI-NEXT: v_mov_b32_e32 v2, v24
-; VI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload
-; VI-NEXT: v_lshrrev_b32_e32 v14, 24, v2
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v14, 16, v2
-; VI-NEXT: v_lshrrev_b32_e32 v2, 8, v2
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v2, 16, v58
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v2, v58
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v2, 8, v58
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v58, v16
+; VI-NEXT: v_lshrrev_b64 v[3:4], 24, v[2:3]
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v28
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v1, 16, v56
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, v56
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v56
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; VI-NEXT: s_waitcnt vmcnt(10)
+; VI-NEXT: v_mov_b32_e32 v1, v26
+; VI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload
+; VI-NEXT: v_mov_b32_e32 v56, v11
+; VI-NEXT: v_lshrrev_b32_e32 v11, 24, v1
+; VI-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v11, 16, v1
+; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v1
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v1, 16, v46
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, v46
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v46
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
; VI-NEXT: s_waitcnt vmcnt(8)
-; VI-NEXT: v_mov_b32_e32 v2, v24
-; VI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:56 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload
-; VI-NEXT: v_lshrrev_b32_e32 v14, 24, v2
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v14, 16, v2
-; VI-NEXT: v_lshrrev_b32_e32 v2, 8, v2
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v2, 16, v56
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v2, v56
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v2, 8, v56
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
-; VI-NEXT: buffer_load_dword v56, off, s[0:3], s32 offset:404 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v57, off, s[0:3], s32 offset:408 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_mov_b32_e32 v57, v7
-; VI-NEXT: v_mov_b32_e32 v2, v24
-; VI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:420 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:424 ; 4-byte Folded Reload
-; VI-NEXT: v_lshrrev_b32_e32 v14, 24, v2
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v14, 16, v2
-; VI-NEXT: v_lshrrev_b32_e32 v2, 8, v2
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v2, 16, v26
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v2, v26
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v2, 8, v26
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, v26
+; VI-NEXT: v_lshrrev_b32_e32 v11, 24, v1
+; VI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:56 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload
+; VI-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v11, 16, v1
+; VI-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v1
+; VI-NEXT: v_mov_b32_e32 v11, v60
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v1, 16, v11
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, v11
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v11
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
+; VI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:400 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:404 ; 4-byte Folded Reload
+; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:384 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:388 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[3:4], 24, v[41:42]
+; VI-NEXT: s_waitcnt vmcnt(12)
+; VI-NEXT: v_mov_b32_e32 v1, v26
+; VI-NEXT: v_lshrrev_b32_e32 v11, 24, v1
+; VI-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v11, 16, v1
+; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v1
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v1, 16, v58
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, v58
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
+; VI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:416 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:420 ; 4-byte Folded Reload
+; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v58
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v1, 24, v5
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v1, 16, v5
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, v5
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v5
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, v20
+; VI-NEXT: v_lshrrev_b32_e32 v20, 16, v1
+; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v1
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
; VI-NEXT: s_waitcnt vmcnt(8)
-; VI-NEXT: v_mov_b32_e32 v2, v24
-; VI-NEXT: v_mov_b32_e32 v46, v24
-; VI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:412 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:416 ; 4-byte Folded Reload
-; VI-NEXT: v_lshrrev_b32_e32 v14, 24, v2
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v14, 16, v2
-; VI-NEXT: v_lshrrev_b32_e32 v26, 8, v2
-; VI-NEXT: v_mov_b32_e32 v2, v16
-; VI-NEXT: v_lshrrev_b32_e32 v60, 16, v2
-; VI-NEXT: v_lshrrev_b32_e32 v16, 8, v2
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
-; VI-NEXT: s_waitcnt vmcnt(2)
-; VI-NEXT: v_lshrrev_b32_e32 v25, 8, v30
-; VI-NEXT: v_mov_b32_e32 v2, v24
-; VI-NEXT: v_mov_b32_e32 v42, v24
-; VI-NEXT: v_mov_b32_e32 v24, v56
-; VI-NEXT: v_lshrrev_b32_e32 v59, 24, v2
-; VI-NEXT: v_lshrrev_b32_e32 v14, 16, v2
-; VI-NEXT: v_lshrrev_b32_e32 v19, 8, v2
-; VI-NEXT: v_lshrrev_b32_e32 v2, 16, v30
-; VI-NEXT: v_lshrrev_b32_e32 v21, 24, v24
-; VI-NEXT: v_lshrrev_b32_e32 v39, 16, v24
-; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v24
-; VI-NEXT: v_lshrrev_b32_e32 v30, 16, v7
+; VI-NEXT: v_mov_b32_e32 v1, v26
+; VI-NEXT: v_mov_b32_e32 v55, v26
+; VI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:408 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:412 ; 4-byte Folded Reload
+; VI-NEXT: v_lshrrev_b32_e32 v5, 24, v1
+; VI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v5, 16, v1
+; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:392 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:396 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v5, v45
+; VI-NEXT: v_lshrrev_b32_e32 v3, 8, v51
+; VI-NEXT: v_mov_b32_e32 v60, v16
+; VI-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v57, 8, v1
+; VI-NEXT: v_lshrrev_b32_e32 v11, 24, v5
+; VI-NEXT: v_lshrrev_b32_e32 v23, 16, v5
+; VI-NEXT: v_lshrrev_b32_e32 v16, 8, v5
+; VI-NEXT: v_mov_b32_e32 v5, v41
+; VI-NEXT: v_lshrrev_b32_e32 v25, 16, v48
+; VI-NEXT: v_lshrrev_b32_e32 v14, 8, v48
+; VI-NEXT: v_mov_b32_e32 v35, v31
+; VI-NEXT: v_lshrrev_b32_e32 v43, 8, v31
+; VI-NEXT: v_mov_b32_e32 v31, v3
+; VI-NEXT: v_lshrrev_b32_e32 v3, 16, v36
+; VI-NEXT: v_lshrrev_b32_e32 v52, 8, v36
+; VI-NEXT: v_lshrrev_b32_e32 v44, 16, v33
+; VI-NEXT: v_lshrrev_b32_e32 v18, 8, v33
+; VI-NEXT: v_lshrrev_b32_e32 v4, 16, v30
+; VI-NEXT: v_lshrrev_b32_e32 v13, 8, v30
+; VI-NEXT: v_lshrrev_b32_e32 v47, 16, v34
+; VI-NEXT: v_mov_b32_e32 v28, v34
+; VI-NEXT: v_lshrrev_b32_e32 v58, 8, v34
+; VI-NEXT: v_lshrrev_b32_e32 v46, 16, v5
+; VI-NEXT: v_lshrrev_b32_e32 v5, 8, v5
+; VI-NEXT: v_lshrrev_b32_e32 v61, 16, v2
+; VI-NEXT: v_mov_b32_e32 v37, v2
+; VI-NEXT: v_lshrrev_b32_e32 v2, 8, v2
+; VI-NEXT: s_waitcnt vmcnt(6)
+; VI-NEXT: v_mov_b32_e32 v1, v26
+; VI-NEXT: v_lshrrev_b32_e32 v34, 24, v1
+; VI-NEXT: v_lshrrev_b32_e32 v42, 16, v1
+; VI-NEXT: s_waitcnt vmcnt(5)
+; VI-NEXT: v_mov_b32_e32 v27, v26
+; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v1
; VI-NEXT: s_branch .LBB91_6
; VI-NEXT: .LBB91_5:
-; VI-NEXT: v_mov_b32_e32 v6, s6
-; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v6, s7
-; VI-NEXT: v_mov_b32_e32 v1, s58
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v1, s56
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v1, s64
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v1, s59
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s54
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s58
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s65
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v1, s55
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v1, s87
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v1, s85
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
+; VI-NEXT: v_readlane_b32 s58, v62, 12
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s58
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v1, s50
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v1, s47
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v1, s86
+; VI-NEXT: v_readlane_b32 s47, v62, 13
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s47
+; VI-NEXT: v_readlane_b32 s47, v62, 14
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s47
+; VI-NEXT: v_readlane_b32 s47, v62, 15
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s47
; VI-NEXT: v_readlane_b32 s47, v62, 16
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v1, s47
; VI-NEXT: v_readlane_b32 s47, v62, 17
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v1, s47
; VI-NEXT: v_readlane_b32 s47, v62, 18
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v1, s47
; VI-NEXT: v_readlane_b32 s47, v62, 19
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v1, s47
+; VI-NEXT: v_mov_b32_e32 v31, s47
; VI-NEXT: v_readlane_b32 s47, v62, 20
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v1, s47
; VI-NEXT: v_readlane_b32 s47, v62, 21
-; VI-NEXT: v_mov_b32_e32 v8, s47
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s47
; VI-NEXT: v_readlane_b32 s47, v62, 22
-; VI-NEXT: v_mov_b32_e32 v10, s47
+; VI-NEXT: v_mov_b32_e32 v21, s47
; VI-NEXT: v_readlane_b32 s47, v62, 23
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v1, s47
+; VI-NEXT: v_mov_b32_e32 v25, s47
; VI-NEXT: v_readlane_b32 s47, v62, 24
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v1, s47
+; VI-NEXT: v_mov_b32_e32 v14, s47
; VI-NEXT: v_readlane_b32 s47, v62, 25
-; VI-NEXT: v_mov_b32_e32 v50, s47
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s47
; VI-NEXT: v_readlane_b32 s47, v62, 26
-; VI-NEXT: v_mov_b32_e32 v17, s47
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s47
; VI-NEXT: v_readlane_b32 s47, v62, 27
-; VI-NEXT: v_mov_b32_e32 v5, s47
+; VI-NEXT: v_mov_b32_e32 v9, s47
+; VI-NEXT: v_mov_b32_e32 v8, s6
+; VI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v8, s7
+; VI-NEXT: v_mov_b32_e32 v20, s78
+; VI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v20, s88
+; VI-NEXT: v_mov_b32_e32 v27, s43
+; VI-NEXT: v_mov_b32_e32 v26, s34
+; VI-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v26, s36
; VI-NEXT: v_readlane_b32 s47, v62, 28
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v1, s47
+; VI-NEXT: v_mov_b32_e32 v3, s47
; VI-NEXT: v_readlane_b32 s47, v62, 29
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v1, s47
+; VI-NEXT: v_mov_b32_e32 v52, s47
; VI-NEXT: v_readlane_b32 s47, v62, 30
-; VI-NEXT: v_mov_b32_e32 v53, s47
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s47
; VI-NEXT: v_readlane_b32 s47, v62, 31
-; VI-NEXT: v_mov_b32_e32 v12, s47
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s47
+; VI-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:384 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:388 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v8, s8
+; VI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v20, s90
; VI-NEXT: v_readlane_b32 s47, v62, 32
-; VI-NEXT: v_mov_b32_e32 v3, s47
+; VI-NEXT: v_mov_b32_e32 v43, s47
; VI-NEXT: v_readlane_b32 s47, v62, 33
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v1, s47
+; VI-NEXT: v_mov_b32_e32 v44, s47
; VI-NEXT: v_readlane_b32 s47, v62, 34
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v1, s47
+; VI-NEXT: v_mov_b32_e32 v18, s47
; VI-NEXT: v_readlane_b32 s47, v62, 35
-; VI-NEXT: v_mov_b32_e32 v43, s47
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s47
; VI-NEXT: v_readlane_b32 s47, v62, 36
-; VI-NEXT: v_mov_b32_e32 v61, s47
-; VI-NEXT: v_readlane_b32 s47, v62, 37
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v1, s47
+; VI-NEXT: v_readlane_b32 s47, v62, 37
+; VI-NEXT: v_mov_b32_e32 v59, s47
; VI-NEXT: v_readlane_b32 s47, v62, 38
-; VI-NEXT: v_mov_b32_e32 v2, s47
-; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v6, s8
+; VI-NEXT: v_mov_b32_e32 v4, s47
; VI-NEXT: v_readlane_b32 s47, v62, 39
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v2, s47
+; VI-NEXT: v_mov_b32_e32 v13, s47
; VI-NEXT: v_readlane_b32 s47, v62, 40
-; VI-NEXT: v_mov_b32_e32 v47, s47
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s47
; VI-NEXT: v_readlane_b32 s47, v62, 41
-; VI-NEXT: v_mov_b32_e32 v41, s47
-; VI-NEXT: v_readlane_b32 s47, v62, 42
-; VI-NEXT: v_mov_b32_e32 v27, s47
-; VI-NEXT: v_readlane_b32 s47, v62, 43
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v2, s47
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v2, s80
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v2, s76
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v2, s82
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v2, s81
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v2, s77
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v2, s74
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v2, s69
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v2, s71
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v2, s75
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v2, s70
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v2, s68
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v2, s63
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v2, s73
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v2, s72
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v2, s67
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v2, s60
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v2, s65
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v2, s62
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v2, s61
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v2, s66
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v2, s53
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v2, s51
-; VI-NEXT: v_mov_b32_e32 v4, s4
-; VI-NEXT: v_mov_b32_e32 v44, s5
-; VI-NEXT: v_readlane_b32 s4, v62, 14
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v2, s54
-; VI-NEXT: v_readlane_b32 s5, v62, 15
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v2, s46
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v2, s52
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s47
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s73
+; VI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v8, s9
+; VI-NEXT: v_mov_b32_e32 v20, vcc_lo
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s84
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s72
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s81
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s62
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s83
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s82
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s63
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s61
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s70
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s80
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s71
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s60
+; VI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v8, s10
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s67
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s59
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s69
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s68
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s66
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s46
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s56
+; VI-NEXT: v_readlane_b32 s46, v62, 43
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s53
+; VI-NEXT: v_mov_b32_e32 v47, s46
+; VI-NEXT: v_readlane_b32 s46, v62, 44
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s51
+; VI-NEXT: v_mov_b32_e32 v58, s46
+; VI-NEXT: v_readlane_b32 s46, v62, 45
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s46
; VI-NEXT: v_readlane_b32 s46, v62, 46
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v16, s46
-; VI-NEXT: v_mov_b32_e32 v2, s57
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s46
; VI-NEXT: v_readlane_b32 s46, v62, 47
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v2, s84
-; VI-NEXT: v_mov_b32_e32 v26, s46
+; VI-NEXT: v_mov_b32_e32 v6, s4
+; VI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v8, s11
+; VI-NEXT: v_mov_b32_e32 v49, s5
+; VI-NEXT: v_readlane_b32 s4, v62, 10
+; VI-NEXT: v_mov_b32_e32 v57, s46
; VI-NEXT: v_readlane_b32 s46, v62, 48
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v2, s46
-; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v6, s9
+; VI-NEXT: v_readlane_b32 s5, v62, 11
+; VI-NEXT: v_mov_b32_e32 v61, s46
; VI-NEXT: v_readlane_b32 s46, v62, 49
-; VI-NEXT: v_mov_b32_e32 v25, s46
+; VI-NEXT: v_mov_b32_e32 v2, s46
; VI-NEXT: v_readlane_b32 s46, v62, 50
-; VI-NEXT: v_mov_b32_e32 v59, s46
+; VI-NEXT: v_mov_b32_e32 v34, s46
; VI-NEXT: v_readlane_b32 s46, v62, 51
-; VI-NEXT: v_mov_b32_e32 v14, s46
+; VI-NEXT: v_mov_b32_e32 v42, s46
; VI-NEXT: v_readlane_b32 s46, v62, 52
-; VI-NEXT: v_mov_b32_e32 v19, s46
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s46
; VI-NEXT: v_readlane_b32 s46, v62, 53
-; VI-NEXT: v_mov_b32_e32 v30, s46
+; VI-NEXT: v_mov_b32_e32 v46, s46
; VI-NEXT: v_readlane_b32 s46, v62, 54
-; VI-NEXT: v_mov_b32_e32 v36, s46
+; VI-NEXT: v_mov_b32_e32 v5, s46
; VI-NEXT: v_readlane_b32 s46, v62, 55
-; VI-NEXT: v_readlane_b32 s47, v62, 44
-; VI-NEXT: v_mov_b32_e32 v21, s46
+; VI-NEXT: v_mov_b32_e32 v11, s46
; VI-NEXT: v_readlane_b32 s46, v62, 56
-; VI-NEXT: v_mov_b32_e32 v55, s47
-; VI-NEXT: v_readlane_b32 s47, v62, 45
-; VI-NEXT: v_mov_b32_e32 v39, s46
+; VI-NEXT: v_mov_b32_e32 v20, s30
+; VI-NEXT: v_readlane_b32 s47, v62, 42
+; VI-NEXT: v_mov_b32_e32 v23, s46
; VI-NEXT: v_readlane_b32 s46, v62, 57
-; VI-NEXT: v_mov_b32_e32 v23, s47
-; VI-NEXT: v_mov_b32_e32 v60, s83
-; VI-NEXT: v_mov_b32_e32 v33, s46
+; VI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v26, s38
+; VI-NEXT: v_mov_b32_e32 v7, s47
+; VI-NEXT: v_mov_b32_e32 v56, s85
+; VI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v8, s12
+; VI-NEXT: v_mov_b32_e32 v60, s57
+; VI-NEXT: v_mov_b32_e32 v16, s46
; VI-NEXT: v_mov_b32_e32 v40, s28
-; VI-NEXT: v_mov_b32_e32 v54, s29
-; VI-NEXT: v_mov_b32_e32 v52, s26
-; VI-NEXT: v_mov_b32_e32 v51, s27
-; VI-NEXT: v_mov_b32_e32 v49, s24
-; VI-NEXT: v_mov_b32_e32 v48, s25
-; VI-NEXT: v_mov_b32_e32 v38, s22
-; VI-NEXT: v_mov_b32_e32 v37, s23
-; VI-NEXT: v_mov_b32_e32 v35, s20
-; VI-NEXT: v_mov_b32_e32 v34, s21
-; VI-NEXT: v_mov_b32_e32 v32, s18
-; VI-NEXT: v_mov_b32_e32 v31, s19
-; VI-NEXT: v_mov_b32_e32 v29, s16
-; VI-NEXT: v_mov_b32_e32 v28, s17
-; VI-NEXT: v_mov_b32_e32 v58, s40
-; VI-NEXT: v_mov_b32_e32 v46, s41
-; VI-NEXT: v_mov_b32_e32 v45, s42
-; VI-NEXT: v_mov_b32_e32 v42, s43
-; VI-NEXT: v_mov_b32_e32 v57, s44
-; VI-NEXT: v_mov_b32_e32 v56, s45
-; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v6, s10
-; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v6, s11
-; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v6, s12
-; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v6, s13
-; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v6, s14
-; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v6, s15
-; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v7, s78
-; VI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v7, s88
-; VI-NEXT: v_mov_b32_e32 v6, s4
-; VI-NEXT: v_readlane_b32 s4, v62, 12
-; VI-NEXT: v_readlane_b32 s5, v62, 13
-; VI-NEXT: v_mov_b32_e32 v9, s4
-; VI-NEXT: v_readlane_b32 s4, v62, 10
-; VI-NEXT: v_readlane_b32 s5, v62, 11
-; VI-NEXT: v_mov_b32_e32 v11, s4
+; VI-NEXT: v_mov_b32_e32 v39, s29
+; VI-NEXT: v_mov_b32_e32 v54, s26
+; VI-NEXT: v_mov_b32_e32 v53, s27
+; VI-NEXT: v_mov_b32_e32 v51, s24
+; VI-NEXT: v_mov_b32_e32 v50, s25
+; VI-NEXT: v_mov_b32_e32 v48, s22
+; VI-NEXT: v_mov_b32_e32 v38, s23
+; VI-NEXT: v_mov_b32_e32 v36, s20
+; VI-NEXT: v_mov_b32_e32 v35, s21
+; VI-NEXT: v_mov_b32_e32 v33, s18
+; VI-NEXT: v_mov_b32_e32 v32, s19
+; VI-NEXT: v_mov_b32_e32 v30, s16
+; VI-NEXT: v_mov_b32_e32 v29, s17
+; VI-NEXT: v_mov_b32_e32 v28, s40
+; VI-NEXT: v_mov_b32_e32 v55, s41
+; VI-NEXT: v_mov_b32_e32 v37, s42
+; VI-NEXT: v_mov_b32_e32 v41, s44
+; VI-NEXT: v_mov_b32_e32 v45, s45
+; VI-NEXT: v_mov_b32_e32 v22, s74
+; VI-NEXT: v_mov_b32_e32 v24, s76
+; VI-NEXT: v_mov_b32_e32 v20, s52
+; VI-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:392 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:396 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v8, s13
+; VI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v8, s14
+; VI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v8, s15
+; VI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v8, s4
; VI-NEXT: v_readlane_b32 s4, v62, 8
; VI-NEXT: v_readlane_b32 s5, v62, 9
-; VI-NEXT: v_mov_b32_e32 v13, s4
+; VI-NEXT: v_mov_b32_e32 v17, s4
; VI-NEXT: v_readlane_b32 s4, v62, 6
; VI-NEXT: v_readlane_b32 s5, v62, 7
-; VI-NEXT: v_mov_b32_e32 v15, s4
+; VI-NEXT: v_mov_b32_e32 v10, s4
; VI-NEXT: v_readlane_b32 s4, v62, 4
; VI-NEXT: v_readlane_b32 s5, v62, 5
-; VI-NEXT: v_mov_b32_e32 v18, s4
+; VI-NEXT: v_mov_b32_e32 v12, s4
; VI-NEXT: v_readlane_b32 s4, v62, 2
; VI-NEXT: v_readlane_b32 s5, v62, 3
-; VI-NEXT: v_mov_b32_e32 v20, s4
+; VI-NEXT: v_mov_b32_e32 v15, s4
; VI-NEXT: v_readlane_b32 s4, v62, 0
; VI-NEXT: v_readlane_b32 s5, v62, 1
-; VI-NEXT: v_mov_b32_e32 v22, s4
-; VI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v7, s90
-; VI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v7, vcc_lo
-; VI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v7, s30
-; VI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v7, s34
-; VI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:384 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v7, s36
-; VI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:388 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:392 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v7, s38
-; VI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:396 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:400 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v19, s4
; VI-NEXT: .LBB91_6: ; %end
; VI-NEXT: s_mov_b32 s4, 0xc0c0004
-; VI-NEXT: v_perm_b32 v27, v29, v27, s4
-; VI-NEXT: v_perm_b32 v29, v35, v3, s4
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:364 ; 4-byte Folded Reload
-; VI-NEXT: v_perm_b32 v23, v28, v23, s4
-; VI-NEXT: v_perm_b32 v28, v31, v47, s4
-; VI-NEXT: v_perm_b32 v24, v38, v5, s4
-; VI-NEXT: v_perm_b32 v1, v32, v1, s4
-; VI-NEXT: v_perm_b32 v12, v12, v18, s4
-; VI-NEXT: v_perm_b32 v18, v34, v43, s4
-; VI-NEXT: v_perm_b32 v15, v17, v15, s4
-; VI-NEXT: v_perm_b32 v17, v37, v53, s4
-; VI-NEXT: buffer_load_dword v37, off, s[0:3], s32 offset:396 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v38, off, s[0:3], s32 offset:400 ; 4-byte Folded Reload
-; VI-NEXT: v_perm_b32 v22, v41, v22, s4
-; VI-NEXT: v_lshlrev_b32_e32 v22, 16, v22
-; VI-NEXT: v_or_b32_e32 v22, v27, v22
-; VI-NEXT: v_perm_b32 v20, v61, v20, s4
-; VI-NEXT: v_perm_b32 v8, v8, v13, s4
-; VI-NEXT: v_perm_b32 v10, v49, v10, s4
-; VI-NEXT: v_perm_b32 v13, v48, v50, s4
-; VI-NEXT: v_perm_b32 v36, v57, v36, s4
-; VI-NEXT: v_perm_b32 v33, v56, v33, s4
-; VI-NEXT: v_perm_b32 v25, v45, v25, s4
-; VI-NEXT: v_perm_b32 v19, v42, v19, s4
-; VI-NEXT: v_perm_b32 v16, v58, v16, s4
-; VI-NEXT: v_perm_b32 v26, v46, v26, s4
+; VI-NEXT: v_perm_b32 v19, v3, v19, s4
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:372 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v15, v25, v15, s4
+; VI-NEXT: v_perm_b32 v25, v38, v9, s4
+; VI-NEXT: v_perm_b32 v4, v4, v24, s4
+; VI-NEXT: v_perm_b32 v24, v33, v18, s4
+; VI-NEXT: v_perm_b32 v18, v50, v21, s4
+; VI-NEXT: v_perm_b32 v13, v30, v13, s4
+; VI-NEXT: v_perm_b32 v30, v32, v59, s4
+; VI-NEXT: v_perm_b32 v32, v36, v52, s4
+; VI-NEXT: v_lshlrev_b32_e32 v4, 16, v4
+; VI-NEXT: v_perm_b32 v7, v29, v7, s4
+; VI-NEXT: v_perm_b32 v2, v37, v2, s4
+; VI-NEXT: v_or_b32_e32 v4, v13, v4
+; VI-NEXT: v_perm_b32 v1, v27, v1, s4
+; VI-NEXT: v_perm_b32 v22, v44, v22, s4
+; VI-NEXT: v_perm_b32 v33, v35, v43, s4
+; VI-NEXT: v_perm_b32 v35, v48, v14, s4
+; VI-NEXT: v_perm_b32 v31, v51, v31, s4
+; VI-NEXT: v_perm_b32 v5, v41, v5, s4
+; VI-NEXT: v_perm_b32 v16, v45, v16, s4
+; VI-NEXT: v_perm_b32 v48, v55, v57, s4
; VI-NEXT: v_readlane_b32 s30, v63, 30
; VI-NEXT: v_readlane_b32 s31, v63, 31
; VI-NEXT: v_readlane_b32 s87, v63, 29
@@ -161892,226 +161960,230 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; VI-NEXT: v_readlane_b32 s36, v63, 2
; VI-NEXT: v_readlane_b32 s35, v63, 1
; VI-NEXT: v_readlane_b32 s34, v63, 0
-; VI-NEXT: s_waitcnt vmcnt(2)
-; VI-NEXT: v_perm_b32 v31, v52, v3, s4
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:356 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(2)
-; VI-NEXT: v_perm_b32 v30, v30, v37, s4
-; VI-NEXT: buffer_load_dword v37, off, s[0:3], s32 offset:388 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v38, off, s[0:3], s32 offset:392 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(2)
-; VI-NEXT: v_perm_b32 v11, v3, v11, s4
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:360 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(2)
-; VI-NEXT: v_perm_b32 v2, v2, v37, s4
-; VI-NEXT: buffer_load_dword v37, off, s[0:3], s32 offset:380 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v38, off, s[0:3], s32 offset:384 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(2)
-; VI-NEXT: v_perm_b32 v5, v51, v3, s4
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:344 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(2)
-; VI-NEXT: v_perm_b32 v37, v60, v37, s4
-; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v32, v40, v3, s4
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:340 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v9, v3, v9, s4
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:336 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v12, v3, v12, s4
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:352 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v34, v54, v3, s4
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:324 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v9, v54, v3, s4
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:344 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v4, v4, v3, s4
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:320 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v10, v3, v10, s4
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:348 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v6, v3, v6, s4
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:316 ; 4-byte Folded Reload
-; VI-NEXT: buffer_store_dword v22, v0, s[0:3], 0 offen
-; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_perm_b32 v35, v44, v3, s4
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:376 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v21, v53, v3, s4
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:332 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v7, v55, v3, s4
-; VI-NEXT: v_lshlrev_b32_e32 v7, 16, v7
-; VI-NEXT: v_or_b32_e32 v7, v23, v7
-; VI-NEXT: buffer_store_dword v7, v0, s[0:3], 0 offen offset:4
-; VI-NEXT: v_lshlrev_b32_e32 v7, 16, v20
-; VI-NEXT: v_or_b32_e32 v1, v1, v7
-; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:8
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:348 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:352 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v26, v40, v3, s4
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:324 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v3, v1, s4
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
-; VI-NEXT: v_or_b32_e32 v1, v28, v1
-; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:12
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v12
-; VI-NEXT: v_or_b32_e32 v1, v29, v1
-; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:16
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:328 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:332 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v17, v3, v17, s4
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:328 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v3, v1, s4
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
-; VI-NEXT: v_or_b32_e32 v1, v18, v1
-; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:20
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v15
-; VI-NEXT: v_or_b32_e32 v1, v24, v1
-; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:24
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:308 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v36, v39, v3, s4
; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:312 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v3, v1, s4
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
-; VI-NEXT: v_or_b32_e32 v1, v17, v1
-; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:28
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v8
-; VI-NEXT: v_or_b32_e32 v1, v10, v1
-; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:32
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:300 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v38, off, s[0:3], s32 offset:392 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v39, off, s[0:3], s32 offset:396 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(1)
+; VI-NEXT: v_perm_b32 v29, v46, v38, s4
+; VI-NEXT: v_perm_b32 v6, v6, v3, s4
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:308 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v37, off, s[0:3], s32 offset:384 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v38, off, s[0:3], s32 offset:388 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_perm_b32 v38, v28, v58, s4
+; VI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:376 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:380 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v37, v61, v37, s4
+; VI-NEXT: v_perm_b32 v8, v3, v8, s4
; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:304 ; 4-byte Folded Reload
+; VI-NEXT: buffer_store_dword v4, v0, s[0:3], 0 offen
+; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:364 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:368 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(5)
+; VI-NEXT: v_perm_b32 v39, v47, v27, s4
+; VI-NEXT: s_waitcnt vmcnt(3)
+; VI-NEXT: v_perm_b32 v3, v49, v3, s4
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v3, v1, s4
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
-; VI-NEXT: v_or_b32_e32 v1, v13, v1
-; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:36
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v11
-; VI-NEXT: v_or_b32_e32 v1, v31, v1
-; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:40
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v3, v1, s4
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
-; VI-NEXT: v_or_b32_e32 v1, v5, v1
-; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:44
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v9
-; VI-NEXT: v_or_b32_e32 v1, v32, v1
-; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:48
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:276 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:280 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v4, v13, v4, s4
+; VI-NEXT: v_lshlrev_b32_e32 v4, 16, v4
+; VI-NEXT: v_or_b32_e32 v4, v7, v4
+; VI-NEXT: buffer_store_dword v4, v0, s[0:3], 0 offen offset:4
+; VI-NEXT: v_lshlrev_b32_e32 v4, 16, v22
+; VI-NEXT: v_or_b32_e32 v4, v24, v4
+; VI-NEXT: buffer_store_dword v4, v0, s[0:3], 0 offen offset:8
+; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:336 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:340 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_perm_b32 v4, v7, v4, s4
+; VI-NEXT: v_lshlrev_b32_e32 v4, 16, v4
+; VI-NEXT: v_or_b32_e32 v4, v30, v4
+; VI-NEXT: buffer_store_dword v4, v0, s[0:3], 0 offen offset:12
+; VI-NEXT: v_lshlrev_b32_e32 v4, 16, v19
+; VI-NEXT: v_or_b32_e32 v4, v32, v4
+; VI-NEXT: buffer_store_dword v4, v0, s[0:3], 0 offen offset:16
+; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:316 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:320 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v3, v1, s4
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
-; VI-NEXT: v_or_b32_e32 v1, v34, v1
-; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:52
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v6
-; VI-NEXT: v_or_b32_e32 v1, v4, v1
-; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:56
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v4, v7, v4, s4
+; VI-NEXT: v_lshlrev_b32_e32 v4, 16, v4
+; VI-NEXT: v_or_b32_e32 v4, v33, v4
+; VI-NEXT: buffer_store_dword v4, v0, s[0:3], 0 offen offset:20
+; VI-NEXT: v_lshlrev_b32_e32 v4, 16, v15
+; VI-NEXT: v_or_b32_e32 v4, v35, v4
+; VI-NEXT: buffer_store_dword v4, v0, s[0:3], 0 offen offset:24
+; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:300 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_perm_b32 v4, v7, v4, s4
+; VI-NEXT: v_lshlrev_b32_e32 v4, 16, v4
+; VI-NEXT: v_or_b32_e32 v4, v25, v4
+; VI-NEXT: buffer_store_dword v4, v0, s[0:3], 0 offen offset:28
+; VI-NEXT: v_lshlrev_b32_e32 v4, 16, v12
+; VI-NEXT: v_or_b32_e32 v4, v31, v4
+; VI-NEXT: buffer_store_dword v4, v0, s[0:3], 0 offen offset:32
+; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v3, v1, s4
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
-; VI-NEXT: v_or_b32_e32 v1, v35, v1
-; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:60
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v30
-; VI-NEXT: v_or_b32_e32 v1, v36, v1
-; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:64
-; VI-NEXT: v_perm_b32 v1, v39, v21, s4
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
-; VI-NEXT: v_or_b32_e32 v1, v33, v1
-; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:68
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v2
-; VI-NEXT: v_or_b32_e32 v1, v25, v1
-; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:72
-; VI-NEXT: v_perm_b32 v1, v14, v59, s4
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
-; VI-NEXT: v_or_b32_e32 v1, v19, v1
+; VI-NEXT: v_perm_b32 v4, v7, v4, s4
+; VI-NEXT: v_lshlrev_b32_e32 v4, 16, v4
+; VI-NEXT: v_or_b32_e32 v4, v18, v4
+; VI-NEXT: buffer_store_dword v4, v0, s[0:3], 0 offen offset:36
+; VI-NEXT: v_lshlrev_b32_e32 v4, 16, v10
+; VI-NEXT: v_or_b32_e32 v4, v9, v4
+; VI-NEXT: buffer_store_dword v4, v0, s[0:3], 0 offen offset:40
+; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:276 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:280 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_perm_b32 v4, v7, v4, s4
+; VI-NEXT: v_lshlrev_b32_e32 v4, 16, v4
+; VI-NEXT: v_or_b32_e32 v4, v21, v4
+; VI-NEXT: buffer_store_dword v4, v0, s[0:3], 0 offen offset:44
+; VI-NEXT: v_lshlrev_b32_e32 v4, 16, v17
+; VI-NEXT: v_or_b32_e32 v4, v26, v4
+; VI-NEXT: buffer_store_dword v4, v0, s[0:3], 0 offen offset:48
+; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:268 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:272 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_perm_b32 v4, v7, v4, s4
+; VI-NEXT: v_lshlrev_b32_e32 v4, 16, v4
+; VI-NEXT: v_or_b32_e32 v4, v36, v4
+; VI-NEXT: buffer_store_dword v4, v0, s[0:3], 0 offen offset:52
+; VI-NEXT: v_lshlrev_b32_e32 v4, 16, v8
+; VI-NEXT: v_or_b32_e32 v4, v6, v4
+; VI-NEXT: buffer_store_dword v4, v0, s[0:3], 0 offen offset:56
+; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_perm_b32 v4, v6, v4, s4
+; VI-NEXT: v_lshlrev_b32_e32 v4, 16, v4
+; VI-NEXT: v_or_b32_e32 v3, v3, v4
+; VI-NEXT: buffer_store_dword v3, v0, s[0:3], 0 offen offset:60
+; VI-NEXT: v_lshlrev_b32_e32 v3, 16, v29
+; VI-NEXT: v_or_b32_e32 v3, v5, v3
+; VI-NEXT: buffer_store_dword v3, v0, s[0:3], 0 offen offset:64
+; VI-NEXT: v_perm_b32 v3, v23, v11, s4
+; VI-NEXT: v_lshlrev_b32_e32 v3, 16, v3
+; VI-NEXT: v_or_b32_e32 v3, v16, v3
+; VI-NEXT: buffer_store_dword v3, v0, s[0:3], 0 offen offset:68
+; VI-NEXT: v_lshlrev_b32_e32 v3, 16, v37
+; VI-NEXT: v_or_b32_e32 v2, v2, v3
+; VI-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:72
+; VI-NEXT: v_perm_b32 v2, v42, v34, s4
+; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
+; VI-NEXT: v_or_b32_e32 v1, v1, v2
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:76
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v37
-; VI-NEXT: v_or_b32_e32 v1, v16, v1
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v39
+; VI-NEXT: v_or_b32_e32 v1, v38, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:80
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:368 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:372 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:356 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:360 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
-; VI-NEXT: v_or_b32_e32 v1, v26, v1
+; VI-NEXT: v_or_b32_e32 v1, v48, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:84
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v1, v2, s4
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:268 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:272 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v2, v3, v2, s4
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(1)
+; VI-NEXT: v_perm_b32 v2, v20, v2, s4
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
; VI-NEXT: v_or_b32_e32 v1, v1, v2
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:88
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:56 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v1, v2, s4
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v2, v3, v2, s4
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
; VI-NEXT: v_or_b32_e32 v1, v1, v2
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:92
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v1, v2, s4
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v2, v3, v2, s4
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
; VI-NEXT: v_or_b32_e32 v1, v1, v2
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:96
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:56 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v1, v2, s4
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v2, v3, v2, s4
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
; VI-NEXT: v_or_b32_e32 v1, v1, v2
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:100
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v1, v2, s4
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v2, v3, v2, s4
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
; VI-NEXT: v_or_b32_e32 v1, v1, v2
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:104
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v1, v2, s4
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v2, v3, v2, s4
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
; VI-NEXT: v_or_b32_e32 v1, v1, v2
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:108
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v1, v2, s4
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v2, v3, v2, s4
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
@@ -162119,7 +162191,7 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:112
; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v1, v2, s4
; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload
@@ -162136,21 +162208,18 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; VI-NEXT: v_perm_b32 v1, v1, v2, s4
; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v2, v3, v2, s4
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
; VI-NEXT: v_or_b32_e32 v1, v1, v2
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:120
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v1, v2, s4
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v2, v3, v2, s4
+; VI-NEXT: v_perm_b32 v1, v1, v2, s4
+; VI-NEXT: v_perm_b32 v2, v60, v56, s4
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
; VI-NEXT: v_or_b32_e32 v1, v1, v2
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:124
@@ -162169,8 +162238,8 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; VI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:48 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:52 ; 4-byte Folded Reload
; VI-NEXT: s_or_saveexec_b64 s[4:5], -1
-; VI-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:452 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:456 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:448 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:452 ; 4-byte Folded Reload
; VI-NEXT: s_mov_b64 exec, s[4:5]
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: s_setpc_b64 s[30:31]
@@ -162179,8 +162248,8 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX9: ; %bb.0:
; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
; GFX9-NEXT: s_or_saveexec_b64 s[4:5], -1
-; GFX9-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:432 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:436 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:428 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:432 ; 4-byte Folded Spill
; GFX9-NEXT: s_mov_b64 exec, s[4:5]
; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:52 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:48 ; 4-byte Folded Spill
@@ -162256,73 +162325,71 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX9-NEXT: s_cbranch_scc0 .LBB91_2
; GFX9-NEXT: ; %bb.1: ; %cmp.false
; GFX9-NEXT: s_lshr_b32 s46, s5, 24
-; GFX9-NEXT: v_writelane_b32 v62, s46, 12
+; GFX9-NEXT: v_writelane_b32 v62, s46, 14
; GFX9-NEXT: s_lshr_b32 s46, s5, 8
-; GFX9-NEXT: v_writelane_b32 v62, s46, 13
+; GFX9-NEXT: v_writelane_b32 v62, s46, 15
; GFX9-NEXT: s_lshr_b32 s46, s4, 8
-; GFX9-NEXT: v_writelane_b32 v62, s46, 11
+; GFX9-NEXT: v_writelane_b32 v62, s46, 13
; GFX9-NEXT: s_lshr_b32 s46, s29, 24
-; GFX9-NEXT: v_writelane_b32 v62, s46, 15
+; GFX9-NEXT: v_writelane_b32 v62, s46, 17
; GFX9-NEXT: s_lshr_b32 s46, s29, 8
-; GFX9-NEXT: v_writelane_b32 v62, s46, 16
+; GFX9-NEXT: v_writelane_b32 v62, s46, 18
; GFX9-NEXT: s_lshr_b32 s46, s28, 8
-; GFX9-NEXT: v_writelane_b32 v62, s46, 14
+; GFX9-NEXT: v_writelane_b32 v62, s46, 16
; GFX9-NEXT: s_lshr_b32 s46, s27, 24
-; GFX9-NEXT: v_writelane_b32 v62, s46, 18
+; GFX9-NEXT: v_writelane_b32 v62, s46, 20
; GFX9-NEXT: s_lshr_b32 s46, s27, 8
-; GFX9-NEXT: v_writelane_b32 v62, s46, 19
+; GFX9-NEXT: v_writelane_b32 v62, s46, 21
; GFX9-NEXT: s_lshr_b32 s46, s26, 8
-; GFX9-NEXT: v_writelane_b32 v62, s46, 17
+; GFX9-NEXT: v_writelane_b32 v62, s46, 19
; GFX9-NEXT: s_lshr_b32 s46, s25, 24
-; GFX9-NEXT: v_writelane_b32 v62, s46, 21
+; GFX9-NEXT: v_writelane_b32 v62, s46, 23
; GFX9-NEXT: s_lshr_b32 s46, s25, 8
-; GFX9-NEXT: v_writelane_b32 v62, s46, 22
+; GFX9-NEXT: v_writelane_b32 v62, s46, 24
; GFX9-NEXT: s_lshr_b32 s46, s24, 8
-; GFX9-NEXT: v_writelane_b32 v62, s46, 20
+; GFX9-NEXT: v_writelane_b32 v62, s46, 22
; GFX9-NEXT: s_lshr_b32 s46, s23, 24
-; GFX9-NEXT: v_writelane_b32 v62, s46, 24
+; GFX9-NEXT: v_writelane_b32 v62, s46, 26
; GFX9-NEXT: s_lshr_b32 s46, s23, 8
-; GFX9-NEXT: v_writelane_b32 v62, s46, 25
+; GFX9-NEXT: v_writelane_b32 v62, s46, 27
; GFX9-NEXT: s_lshr_b32 s46, s22, 16
; GFX9-NEXT: v_writelane_b32 v62, s46, 4
; GFX9-NEXT: s_lshr_b32 s46, s22, 8
-; GFX9-NEXT: v_writelane_b32 v62, s46, 23
+; GFX9-NEXT: v_writelane_b32 v62, s46, 25
; GFX9-NEXT: s_lshr_b32 s46, s21, 24
-; GFX9-NEXT: v_writelane_b32 v62, s46, 27
+; GFX9-NEXT: v_writelane_b32 v62, s46, 29
; GFX9-NEXT: s_lshr_b32 s46, s21, 16
; GFX9-NEXT: v_writelane_b32 v62, s46, 6
; GFX9-NEXT: s_lshr_b32 s46, s21, 8
-; GFX9-NEXT: v_writelane_b32 v62, s46, 28
+; GFX9-NEXT: v_writelane_b32 v62, s46, 30
; GFX9-NEXT: s_lshr_b32 s46, s20, 16
; GFX9-NEXT: v_writelane_b32 v62, s46, 5
; GFX9-NEXT: s_lshr_b32 s46, s20, 8
-; GFX9-NEXT: v_writelane_b32 v62, s46, 26
+; GFX9-NEXT: v_writelane_b32 v62, s46, 28
; GFX9-NEXT: s_lshr_b32 s46, s19, 24
-; GFX9-NEXT: v_writelane_b32 v62, s46, 30
+; GFX9-NEXT: v_writelane_b32 v62, s46, 32
; GFX9-NEXT: s_lshr_b32 s46, s19, 16
; GFX9-NEXT: v_writelane_b32 v62, s46, 8
; GFX9-NEXT: s_lshr_b32 s46, s19, 8
-; GFX9-NEXT: v_writelane_b32 v62, s46, 31
+; GFX9-NEXT: v_writelane_b32 v62, s46, 33
; GFX9-NEXT: s_lshr_b32 s46, s18, 16
; GFX9-NEXT: v_writelane_b32 v62, s46, 7
; GFX9-NEXT: s_lshr_b32 s46, s18, 8
-; GFX9-NEXT: v_writelane_b32 v62, s46, 29
+; GFX9-NEXT: v_writelane_b32 v62, s46, 31
; GFX9-NEXT: s_lshr_b32 s46, s17, 24
-; GFX9-NEXT: v_writelane_b32 v62, s46, 33
+; GFX9-NEXT: v_writelane_b32 v62, s46, 35
; GFX9-NEXT: s_lshr_b32 s46, s17, 16
; GFX9-NEXT: v_writelane_b32 v62, s46, 10
; GFX9-NEXT: s_lshr_b32 s46, s17, 8
-; GFX9-NEXT: v_writelane_b32 v62, s46, 34
+; GFX9-NEXT: v_writelane_b32 v62, s46, 36
; GFX9-NEXT: s_lshr_b32 s46, s16, 16
; GFX9-NEXT: v_writelane_b32 v62, s46, 9
; GFX9-NEXT: s_lshr_b32 s46, s16, 8
-; GFX9-NEXT: v_writelane_b32 v62, s46, 32
-; GFX9-NEXT: s_lshr_b32 s46, s15, 8
-; GFX9-NEXT: v_writelane_b32 v62, s46, 36
-; GFX9-NEXT: s_lshr_b32 s46, s14, 8
-; GFX9-NEXT: v_writelane_b32 v62, s46, 35
+; GFX9-NEXT: v_writelane_b32 v62, s46, 34
; GFX9-NEXT: s_lshr_b32 s46, s13, 24
; GFX9-NEXT: v_writelane_b32 v62, s46, 38
+; GFX9-NEXT: s_lshr_b32 s46, s13, 16
+; GFX9-NEXT: v_writelane_b32 v62, s46, 11
; GFX9-NEXT: s_lshr_b32 s46, s13, 8
; GFX9-NEXT: v_writelane_b32 v62, s46, 39
; GFX9-NEXT: s_lshr_b32 s46, s12, 8
@@ -162331,6 +162398,8 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX9-NEXT: v_writelane_b32 v62, s46, 41
; GFX9-NEXT: s_lshr_b32 s46, s41, 8
; GFX9-NEXT: v_writelane_b32 v62, s46, 42
+; GFX9-NEXT: s_lshr_b32 s46, s40, 16
+; GFX9-NEXT: v_writelane_b32 v62, s46, 12
; GFX9-NEXT: s_lshr_b32 s46, s40, 8
; GFX9-NEXT: v_writelane_b32 v62, s46, 40
; GFX9-NEXT: s_lshr_b32 s46, s43, 24
@@ -162345,51 +162414,51 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX9-NEXT: v_writelane_b32 v62, s46, 48
; GFX9-NEXT: s_lshr_b32 s46, s44, 8
; GFX9-NEXT: v_writelane_b32 v62, s46, 46
-; GFX9-NEXT: s_lshr_b64 s[58:59], s[4:5], 24
-; GFX9-NEXT: v_writelane_b32 v62, s58, 2
-; GFX9-NEXT: v_writelane_b32 v62, s59, 3
-; GFX9-NEXT: s_lshr_b64 s[58:59], s[28:29], 24
-; GFX9-NEXT: v_writelane_b32 v62, s58, 0
-; GFX9-NEXT: s_lshr_b32 s47, s7, 8
-; GFX9-NEXT: s_lshr_b32 s60, s45, 16
-; GFX9-NEXT: s_lshr_b32 s61, s44, 16
-; GFX9-NEXT: v_writelane_b32 v62, s59, 1
+; GFX9-NEXT: s_lshr_b64 s[62:63], s[4:5], 24
+; GFX9-NEXT: v_writelane_b32 v62, s62, 2
+; GFX9-NEXT: s_lshr_b32 s57, s7, 8
+; GFX9-NEXT: s_lshr_b32 s58, s15, 8
+; GFX9-NEXT: v_writelane_b32 v62, s63, 3
+; GFX9-NEXT: s_lshr_b64 s[62:63], s[28:29], 24
+; GFX9-NEXT: s_lshr_b32 s60, s44, 16
+; GFX9-NEXT: v_writelane_b32 v62, s62, 0
+; GFX9-NEXT: s_mov_b32 s46, s57
+; GFX9-NEXT: s_mov_b32 s57, s58
; GFX9-NEXT: s_lshr_b64 s[58:59], s[26:27], 24
; GFX9-NEXT: s_lshr_b32 s56, s5, 16
-; GFX9-NEXT: s_lshr_b32 s64, s4, 16
-; GFX9-NEXT: s_lshr_b32 s52, s29, 16
+; GFX9-NEXT: s_lshr_b32 s55, s4, 16
+; GFX9-NEXT: s_lshr_b32 s51, s29, 16
; GFX9-NEXT: s_lshr_b32 s50, s28, 16
-; GFX9-NEXT: s_lshr_b32 s39, s27, 16
+; GFX9-NEXT: s_lshr_b32 s47, s27, 16
; GFX9-NEXT: s_lshr_b32 s99, s26, 16
; GFX9-NEXT: s_lshr_b32 s96, s25, 16
-; GFX9-NEXT: s_lshr_b32 s87, s24, 16
-; GFX9-NEXT: s_lshr_b32 s66, s23, 16
-; GFX9-NEXT: s_lshr_b32 s55, s7, 24
-; GFX9-NEXT: s_lshr_b32 s81, s7, 16
-; GFX9-NEXT: s_lshr_b32 s86, s6, 16
-; GFX9-NEXT: s_lshr_b32 s54, s6, 8
+; GFX9-NEXT: s_lshr_b32 s86, s24, 16
+; GFX9-NEXT: s_lshr_b32 s84, s23, 16
+; GFX9-NEXT: s_lshr_b32 s64, s7, 24
+; GFX9-NEXT: s_lshr_b32 s69, s7, 16
+; GFX9-NEXT: s_lshr_b32 s83, s6, 16
+; GFX9-NEXT: s_lshr_b32 s53, s6, 8
; GFX9-NEXT: s_lshr_b32 s49, s9, 24
-; GFX9-NEXT: s_lshr_b32 s80, s9, 16
+; GFX9-NEXT: s_lshr_b32 s68, s9, 16
; GFX9-NEXT: s_lshr_b32 s48, s9, 8
-; GFX9-NEXT: s_lshr_b32 s85, s8, 16
+; GFX9-NEXT: s_lshr_b32 s82, s8, 16
; GFX9-NEXT: s_lshr_b32 s38, s8, 8
; GFX9-NEXT: s_lshr_b32 s98, s11, 24
-; GFX9-NEXT: s_lshr_b32 s71, s11, 16
+; GFX9-NEXT: s_lshr_b32 s67, s11, 16
; GFX9-NEXT: s_lshr_b32 s97, s11, 8
-; GFX9-NEXT: s_lshr_b32 s84, s10, 16
-; GFX9-NEXT: s_lshr_b32 s57, s10, 8
-; GFX9-NEXT: s_lshr_b32 s67, s15, 24
-; GFX9-NEXT: s_lshr_b32 s70, s15, 16
-; GFX9-NEXT: s_lshr_b32 s83, s14, 16
-; GFX9-NEXT: s_lshr_b32 s69, s13, 16
-; GFX9-NEXT: s_lshr_b32 s82, s12, 16
+; GFX9-NEXT: s_lshr_b32 s81, s10, 16
+; GFX9-NEXT: s_lshr_b32 s87, s10, 8
+; GFX9-NEXT: s_lshr_b32 s85, s15, 24
+; GFX9-NEXT: s_lshr_b32 s66, s15, 16
+; GFX9-NEXT: s_lshr_b32 s80, s14, 16
+; GFX9-NEXT: s_lshr_b32 s70, s14, 8
+; GFX9-NEXT: s_lshr_b32 s71, s12, 16
; GFX9-NEXT: s_lshr_b32 s65, s41, 16
-; GFX9-NEXT: s_lshr_b32 s68, s40, 16
-; GFX9-NEXT: s_lshr_b32 s53, s43, 16
-; GFX9-NEXT: s_lshr_b32 s51, s42, 16
-; GFX9-NEXT: s_mov_b32 s46, s47
-; GFX9-NEXT: s_mov_b32 s59, s61
-; GFX9-NEXT: s_mov_b32 s47, s60
+; GFX9-NEXT: s_lshr_b32 s54, s43, 16
+; GFX9-NEXT: s_lshr_b32 s52, s42, 16
+; GFX9-NEXT: s_lshr_b32 s39, s45, 16
+; GFX9-NEXT: v_writelane_b32 v62, s63, 1
+; GFX9-NEXT: s_mov_b32 s59, s60
; GFX9-NEXT: s_lshr_b64 s[60:61], s[24:25], 24
; GFX9-NEXT: s_lshr_b64 s[62:63], s[22:23], 24
; GFX9-NEXT: s_lshr_b64 s[72:73], s[20:21], 24
@@ -162419,40 +162488,40 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX9-NEXT: ; implicit-def: $sgpr46
; GFX9-NEXT: ; kill: killed $sgpr46
; GFX9-NEXT: ; implicit-def: $sgpr78
-; GFX9-NEXT: ; implicit-def: $sgpr66
-; GFX9-NEXT: ; implicit-def: $sgpr87
+; GFX9-NEXT: ; implicit-def: $sgpr84
+; GFX9-NEXT: ; implicit-def: $sgpr86
; GFX9-NEXT: ; implicit-def: $sgpr96
; GFX9-NEXT: ; implicit-def: $sgpr99
-; GFX9-NEXT: ; implicit-def: $sgpr39
+; GFX9-NEXT: ; implicit-def: $sgpr47
; GFX9-NEXT: ; implicit-def: $sgpr50
-; GFX9-NEXT: ; implicit-def: $sgpr52
-; GFX9-NEXT: ; implicit-def: $sgpr64
+; GFX9-NEXT: ; implicit-def: $sgpr51
+; GFX9-NEXT: ; implicit-def: $sgpr55
; GFX9-NEXT: ; implicit-def: $sgpr56
; GFX9-NEXT: ; implicit-def: $sgpr59
-; GFX9-NEXT: ; implicit-def: $sgpr47
-; GFX9-NEXT: ; implicit-def: $sgpr51
-; GFX9-NEXT: ; implicit-def: $sgpr53
-; GFX9-NEXT: ; implicit-def: $sgpr68
+; GFX9-NEXT: ; implicit-def: $sgpr39
+; GFX9-NEXT: ; implicit-def: $sgpr52
+; GFX9-NEXT: ; implicit-def: $sgpr54
; GFX9-NEXT: ; implicit-def: $sgpr65
-; GFX9-NEXT: ; implicit-def: $sgpr82
-; GFX9-NEXT: ; implicit-def: $sgpr69
-; GFX9-NEXT: ; implicit-def: $sgpr83
+; GFX9-NEXT: ; implicit-def: $sgpr71
; GFX9-NEXT: ; implicit-def: $sgpr70
-; GFX9-NEXT: ; implicit-def: $sgpr67
+; GFX9-NEXT: ; implicit-def: $sgpr80
; GFX9-NEXT: ; implicit-def: $sgpr57
-; GFX9-NEXT: ; implicit-def: $sgpr84
+; GFX9-NEXT: ; implicit-def: $sgpr66
+; GFX9-NEXT: ; implicit-def: $sgpr85
+; GFX9-NEXT: ; implicit-def: $sgpr87
+; GFX9-NEXT: ; implicit-def: $sgpr81
; GFX9-NEXT: ; implicit-def: $sgpr97
-; GFX9-NEXT: ; implicit-def: $sgpr71
+; GFX9-NEXT: ; implicit-def: $sgpr67
; GFX9-NEXT: ; implicit-def: $sgpr98
; GFX9-NEXT: ; implicit-def: $sgpr38
-; GFX9-NEXT: ; implicit-def: $sgpr85
+; GFX9-NEXT: ; implicit-def: $sgpr82
; GFX9-NEXT: ; implicit-def: $sgpr48
-; GFX9-NEXT: ; implicit-def: $sgpr80
+; GFX9-NEXT: ; implicit-def: $sgpr68
; GFX9-NEXT: ; implicit-def: $sgpr49
-; GFX9-NEXT: ; implicit-def: $sgpr54
-; GFX9-NEXT: ; implicit-def: $sgpr86
-; GFX9-NEXT: ; implicit-def: $sgpr81
-; GFX9-NEXT: ; implicit-def: $sgpr55
+; GFX9-NEXT: ; implicit-def: $sgpr53
+; GFX9-NEXT: ; implicit-def: $sgpr83
+; GFX9-NEXT: ; implicit-def: $sgpr69
+; GFX9-NEXT: ; implicit-def: $sgpr64
; GFX9-NEXT: ; implicit-def: $sgpr76
; GFX9-NEXT: ; implicit-def: $sgpr74
; GFX9-NEXT: ; implicit-def: $sgpr72
@@ -162559,8 +162628,8 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX9-NEXT: s_cbranch_scc1 .LBB91_5
; GFX9-NEXT: ; %bb.4: ; %cmp.true
; GFX9-NEXT: s_and_b32 s46, s45, 0xffff0000
-; GFX9-NEXT: v_mov_b32_e32 v20, 0x40c00000
-; GFX9-NEXT: v_add_f32_e32 v1, s46, v20
+; GFX9-NEXT: v_mov_b32_e32 v22, 0x40c00000
+; GFX9-NEXT: v_add_f32_e32 v1, s46, v22
; GFX9-NEXT: v_bfe_u32 v2, v1, 16, 1
; GFX9-NEXT: v_add_u32_e32 v2, v2, v1
; GFX9-NEXT: v_add_u32_e32 v2, 0x7fff, v2
@@ -162569,7 +162638,7 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX9-NEXT: v_cndmask_b32_e32 v1, v2, v3, vcc
; GFX9-NEXT: s_lshl_b32 s45, s45, 16
; GFX9-NEXT: v_lshrrev_b32_e32 v4, 16, v1
-; GFX9-NEXT: v_add_f32_e32 v1, s45, v20
+; GFX9-NEXT: v_add_f32_e32 v1, s45, v22
; GFX9-NEXT: v_bfe_u32 v2, v1, 16, 1
; GFX9-NEXT: v_add_u32_e32 v2, v2, v1
; GFX9-NEXT: v_add_u32_e32 v2, 0x7fff, v2
@@ -162579,19 +162648,19 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX9-NEXT: v_lshrrev_b32_e32 v2, 16, v1
; GFX9-NEXT: v_lshlrev_b32_e32 v1, 16, v4
; GFX9-NEXT: s_and_b32 s45, s44, 0xffff0000
-; GFX9-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:400 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:396 ; 4-byte Folded Spill
; GFX9-NEXT: v_or_b32_sdwa v2, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_add_f32_e32 v1, s45, v20
+; GFX9-NEXT: v_add_f32_e32 v1, s45, v22
; GFX9-NEXT: v_bfe_u32 v3, v1, 16, 1
; GFX9-NEXT: v_add_u32_e32 v3, v3, v1
-; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:404 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
; GFX9-NEXT: v_add_u32_e32 v3, 0x7fff, v3
; GFX9-NEXT: v_or_b32_e32 v4, 0x400000, v1
; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v1, v1
; GFX9-NEXT: v_cndmask_b32_e32 v1, v3, v4, vcc
; GFX9-NEXT: s_lshl_b32 s44, s44, 16
; GFX9-NEXT: v_lshrrev_b32_e32 v5, 16, v1
-; GFX9-NEXT: v_add_f32_e32 v1, s44, v20
+; GFX9-NEXT: v_add_f32_e32 v1, s44, v22
; GFX9-NEXT: v_bfe_u32 v3, v1, 16, 1
; GFX9-NEXT: v_add_u32_e32 v3, v3, v1
; GFX9-NEXT: v_add_u32_e32 v3, 0x7fff, v3
@@ -162601,19 +162670,19 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX9-NEXT: v_lshrrev_b32_e32 v3, 16, v1
; GFX9-NEXT: v_lshlrev_b32_e32 v1, 16, v5
; GFX9-NEXT: s_and_b32 s44, s43, 0xffff0000
-; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:404 ; 4-byte Folded Spill
; GFX9-NEXT: v_or_b32_sdwa v1, v1, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_add_f32_e32 v3, s44, v20
+; GFX9-NEXT: v_add_f32_e32 v3, s44, v22
; GFX9-NEXT: v_bfe_u32 v4, v3, 16, 1
; GFX9-NEXT: v_add_u32_e32 v4, v4, v3
-; GFX9-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:392 ; 4-byte Folded Spill
; GFX9-NEXT: v_add_u32_e32 v4, 0x7fff, v4
; GFX9-NEXT: v_or_b32_e32 v5, 0x400000, v3
; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v3, v3
; GFX9-NEXT: v_cndmask_b32_e32 v3, v4, v5, vcc
; GFX9-NEXT: s_lshl_b32 s43, s43, 16
; GFX9-NEXT: v_lshrrev_b32_e32 v6, 16, v3
-; GFX9-NEXT: v_add_f32_e32 v3, s43, v20
+; GFX9-NEXT: v_add_f32_e32 v3, s43, v22
; GFX9-NEXT: v_bfe_u32 v4, v3, 16, 1
; GFX9-NEXT: v_add_u32_e32 v4, v4, v3
; GFX9-NEXT: v_add_u32_e32 v4, 0x7fff, v4
@@ -162623,19 +162692,19 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX9-NEXT: v_lshrrev_b32_e32 v4, 16, v3
; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v6
; GFX9-NEXT: s_and_b32 s43, s42, 0xffff0000
-; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
; GFX9-NEXT: v_or_b32_sdwa v4, v3, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_add_f32_e32 v3, s43, v20
+; GFX9-NEXT: v_add_f32_e32 v3, s43, v22
; GFX9-NEXT: v_bfe_u32 v5, v3, 16, 1
; GFX9-NEXT: v_add_u32_e32 v5, v5, v3
-; GFX9-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
; GFX9-NEXT: v_add_u32_e32 v5, 0x7fff, v5
; GFX9-NEXT: v_or_b32_e32 v6, 0x400000, v3
; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v3, v3
; GFX9-NEXT: v_cndmask_b32_e32 v3, v5, v6, vcc
; GFX9-NEXT: s_lshl_b32 s42, s42, 16
; GFX9-NEXT: v_lshrrev_b32_e32 v7, 16, v3
-; GFX9-NEXT: v_add_f32_e32 v3, s42, v20
+; GFX9-NEXT: v_add_f32_e32 v3, s42, v22
; GFX9-NEXT: v_bfe_u32 v5, v3, 16, 1
; GFX9-NEXT: v_add_u32_e32 v5, v5, v3
; GFX9-NEXT: v_add_u32_e32 v5, 0x7fff, v5
@@ -162645,19 +162714,19 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX9-NEXT: v_lshrrev_b32_e32 v5, 16, v3
; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v7
; GFX9-NEXT: s_and_b32 s42, s41, 0xffff0000
-; GFX9-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
; GFX9-NEXT: v_or_b32_sdwa v3, v3, v5 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_add_f32_e32 v5, s42, v20
+; GFX9-NEXT: v_add_f32_e32 v5, s42, v22
; GFX9-NEXT: v_bfe_u32 v6, v5, 16, 1
; GFX9-NEXT: v_add_u32_e32 v6, v6, v5
-; GFX9-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:400 ; 4-byte Folded Spill
; GFX9-NEXT: v_add_u32_e32 v6, 0x7fff, v6
; GFX9-NEXT: v_or_b32_e32 v7, 0x400000, v5
; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v5, v5
; GFX9-NEXT: v_cndmask_b32_e32 v5, v6, v7, vcc
; GFX9-NEXT: s_lshl_b32 s41, s41, 16
; GFX9-NEXT: v_lshrrev_b32_e32 v8, 16, v5
-; GFX9-NEXT: v_add_f32_e32 v5, s41, v20
+; GFX9-NEXT: v_add_f32_e32 v5, s41, v22
; GFX9-NEXT: v_bfe_u32 v6, v5, 16, 1
; GFX9-NEXT: v_add_u32_e32 v6, v6, v5
; GFX9-NEXT: v_add_u32_e32 v6, 0x7fff, v6
@@ -162669,7 +162738,7 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX9-NEXT: s_and_b32 s41, s40, 0xffff0000
; GFX9-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
; GFX9-NEXT: v_or_b32_sdwa v6, v5, v6 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_add_f32_e32 v5, s41, v20
+; GFX9-NEXT: v_add_f32_e32 v5, s41, v22
; GFX9-NEXT: v_bfe_u32 v7, v5, 16, 1
; GFX9-NEXT: v_add_u32_e32 v7, v7, v5
; GFX9-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
@@ -162679,7 +162748,7 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX9-NEXT: v_cndmask_b32_e32 v5, v7, v8, vcc
; GFX9-NEXT: s_lshl_b32 s40, s40, 16
; GFX9-NEXT: v_lshrrev_b32_e32 v9, 16, v5
-; GFX9-NEXT: v_add_f32_e32 v5, s40, v20
+; GFX9-NEXT: v_add_f32_e32 v5, s40, v22
; GFX9-NEXT: v_bfe_u32 v7, v5, 16, 1
; GFX9-NEXT: v_add_u32_e32 v7, v7, v5
; GFX9-NEXT: v_add_u32_e32 v7, 0x7fff, v7
@@ -162689,19 +162758,19 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX9-NEXT: v_lshrrev_b32_e32 v7, 16, v5
; GFX9-NEXT: v_lshlrev_b32_e32 v5, 16, v9
; GFX9-NEXT: s_and_b32 s40, s13, 0xffff0000
-; GFX9-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
; GFX9-NEXT: v_or_b32_sdwa v5, v5, v7 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_add_f32_e32 v7, s40, v20
+; GFX9-NEXT: v_add_f32_e32 v7, s40, v22
; GFX9-NEXT: v_bfe_u32 v8, v7, 16, 1
; GFX9-NEXT: v_add_u32_e32 v8, v8, v7
-; GFX9-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
; GFX9-NEXT: v_add_u32_e32 v8, 0x7fff, v8
; GFX9-NEXT: v_or_b32_e32 v9, 0x400000, v7
; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v7, v7
; GFX9-NEXT: v_cndmask_b32_e32 v7, v8, v9, vcc
; GFX9-NEXT: s_lshl_b32 s13, s13, 16
; GFX9-NEXT: v_lshrrev_b32_e32 v10, 16, v7
-; GFX9-NEXT: v_add_f32_e32 v7, s13, v20
+; GFX9-NEXT: v_add_f32_e32 v7, s13, v22
; GFX9-NEXT: v_bfe_u32 v8, v7, 16, 1
; GFX9-NEXT: v_add_u32_e32 v8, v8, v7
; GFX9-NEXT: v_add_u32_e32 v8, 0x7fff, v8
@@ -162711,696 +162780,697 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX9-NEXT: v_lshrrev_b32_e32 v8, 16, v7
; GFX9-NEXT: v_lshlrev_b32_e32 v7, 16, v10
; GFX9-NEXT: s_and_b32 s13, s12, 0xffff0000
-; GFX9-NEXT: v_or_b32_sdwa v11, v7, v8 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_add_f32_e32 v7, s13, v20
; GFX9-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
-; GFX9-NEXT: v_bfe_u32 v8, v7, 16, 1
-; GFX9-NEXT: v_add_u32_e32 v8, v8, v7
-; GFX9-NEXT: v_add_u32_e32 v8, 0x7fff, v8
-; GFX9-NEXT: v_or_b32_e32 v9, 0x400000, v7
+; GFX9-NEXT: v_or_b32_sdwa v8, v7, v8 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_add_f32_e32 v7, s13, v22
+; GFX9-NEXT: v_bfe_u32 v9, v7, 16, 1
+; GFX9-NEXT: v_add_u32_e32 v9, v9, v7
+; GFX9-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; GFX9-NEXT: v_add_u32_e32 v9, 0x7fff, v9
+; GFX9-NEXT: v_or_b32_e32 v10, 0x400000, v7
; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v7, v7
-; GFX9-NEXT: v_cndmask_b32_e32 v7, v8, v9, vcc
+; GFX9-NEXT: v_cndmask_b32_e32 v7, v9, v10, vcc
; GFX9-NEXT: s_lshl_b32 s12, s12, 16
-; GFX9-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v10, 16, v7
-; GFX9-NEXT: v_add_f32_e32 v7, s12, v20
-; GFX9-NEXT: v_bfe_u32 v8, v7, 16, 1
-; GFX9-NEXT: v_add_u32_e32 v8, v8, v7
-; GFX9-NEXT: v_add_u32_e32 v8, 0x7fff, v8
-; GFX9-NEXT: v_or_b32_e32 v9, 0x400000, v7
+; GFX9-NEXT: v_lshrrev_b32_e32 v11, 16, v7
+; GFX9-NEXT: v_add_f32_e32 v7, s12, v22
+; GFX9-NEXT: v_bfe_u32 v9, v7, 16, 1
+; GFX9-NEXT: v_add_u32_e32 v9, v9, v7
+; GFX9-NEXT: v_add_u32_e32 v9, 0x7fff, v9
+; GFX9-NEXT: v_or_b32_e32 v10, 0x400000, v7
; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v7, v7
-; GFX9-NEXT: v_cndmask_b32_e32 v7, v8, v9, vcc
-; GFX9-NEXT: v_lshrrev_b32_e32 v8, 16, v7
-; GFX9-NEXT: v_lshlrev_b32_e32 v7, 16, v10
+; GFX9-NEXT: v_cndmask_b32_e32 v7, v9, v10, vcc
+; GFX9-NEXT: v_lshrrev_b32_e32 v9, 16, v7
+; GFX9-NEXT: v_lshlrev_b32_e32 v7, 16, v11
; GFX9-NEXT: s_and_b32 s12, s15, 0xffff0000
-; GFX9-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
-; GFX9-NEXT: v_or_b32_sdwa v10, v7, v8 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_add_f32_e32 v7, s12, v20
-; GFX9-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
-; GFX9-NEXT: v_bfe_u32 v8, v7, 16, 1
-; GFX9-NEXT: v_add_u32_e32 v8, v8, v7
-; GFX9-NEXT: v_add_u32_e32 v8, 0x7fff, v8
-; GFX9-NEXT: v_or_b32_e32 v9, 0x400000, v7
-; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v7, v7
-; GFX9-NEXT: v_cndmask_b32_e32 v7, v8, v9, vcc
+; GFX9-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
+; GFX9-NEXT: v_or_b32_sdwa v7, v7, v9 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_add_f32_e32 v9, s12, v22
+; GFX9-NEXT: v_bfe_u32 v10, v9, 16, 1
+; GFX9-NEXT: v_add_u32_e32 v10, v10, v9
+; GFX9-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; GFX9-NEXT: v_add_u32_e32 v10, 0x7fff, v10
+; GFX9-NEXT: v_or_b32_e32 v11, 0x400000, v9
+; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v9, v9
+; GFX9-NEXT: v_cndmask_b32_e32 v9, v10, v11, vcc
; GFX9-NEXT: s_lshl_b32 s12, s15, 16
-; GFX9-NEXT: v_lshrrev_b32_e32 v12, 16, v7
-; GFX9-NEXT: v_add_f32_e32 v7, s12, v20
-; GFX9-NEXT: v_bfe_u32 v8, v7, 16, 1
-; GFX9-NEXT: v_add_u32_e32 v8, v8, v7
-; GFX9-NEXT: v_add_u32_e32 v8, 0x7fff, v8
-; GFX9-NEXT: v_or_b32_e32 v9, 0x400000, v7
-; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v7, v7
-; GFX9-NEXT: v_cndmask_b32_e32 v7, v8, v9, vcc
-; GFX9-NEXT: v_lshrrev_b32_e32 v8, 16, v7
-; GFX9-NEXT: v_lshlrev_b32_e32 v7, 16, v12
+; GFX9-NEXT: v_lshrrev_b32_e32 v12, 16, v9
+; GFX9-NEXT: v_add_f32_e32 v9, s12, v22
+; GFX9-NEXT: v_bfe_u32 v10, v9, 16, 1
+; GFX9-NEXT: v_add_u32_e32 v10, v10, v9
+; GFX9-NEXT: v_add_u32_e32 v10, 0x7fff, v10
+; GFX9-NEXT: v_or_b32_e32 v11, 0x400000, v9
+; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v9, v9
+; GFX9-NEXT: v_cndmask_b32_e32 v9, v10, v11, vcc
+; GFX9-NEXT: v_lshrrev_b32_e32 v10, 16, v9
+; GFX9-NEXT: v_lshlrev_b32_e32 v9, 16, v12
; GFX9-NEXT: s_and_b32 s12, s14, 0xffff0000
-; GFX9-NEXT: v_or_b32_sdwa v17, v7, v8 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_add_f32_e32 v7, s12, v20
-; GFX9-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
-; GFX9-NEXT: v_bfe_u32 v8, v7, 16, 1
-; GFX9-NEXT: v_add_u32_e32 v8, v8, v7
-; GFX9-NEXT: v_add_u32_e32 v8, 0x7fff, v8
-; GFX9-NEXT: v_or_b32_e32 v9, 0x400000, v7
-; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v7, v7
-; GFX9-NEXT: v_cndmask_b32_e32 v7, v8, v9, vcc
+; GFX9-NEXT: v_or_b32_sdwa v14, v9, v10 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_add_f32_e32 v9, s12, v22
+; GFX9-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
+; GFX9-NEXT: v_bfe_u32 v10, v9, 16, 1
+; GFX9-NEXT: v_add_u32_e32 v10, v10, v9
+; GFX9-NEXT: v_add_u32_e32 v10, 0x7fff, v10
+; GFX9-NEXT: v_or_b32_e32 v11, 0x400000, v9
+; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v9, v9
+; GFX9-NEXT: v_cndmask_b32_e32 v9, v10, v11, vcc
; GFX9-NEXT: s_lshl_b32 s12, s14, 16
; GFX9-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v12, 16, v7
-; GFX9-NEXT: v_add_f32_e32 v7, s12, v20
-; GFX9-NEXT: v_bfe_u32 v8, v7, 16, 1
-; GFX9-NEXT: v_add_u32_e32 v8, v8, v7
-; GFX9-NEXT: v_add_u32_e32 v8, 0x7fff, v8
-; GFX9-NEXT: v_or_b32_e32 v9, 0x400000, v7
-; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v7, v7
-; GFX9-NEXT: v_cndmask_b32_e32 v7, v8, v9, vcc
-; GFX9-NEXT: v_lshrrev_b32_e32 v8, 16, v7
-; GFX9-NEXT: v_lshlrev_b32_e32 v7, 16, v12
+; GFX9-NEXT: v_lshrrev_b32_e32 v12, 16, v9
+; GFX9-NEXT: v_add_f32_e32 v9, s12, v22
+; GFX9-NEXT: v_bfe_u32 v10, v9, 16, 1
+; GFX9-NEXT: v_add_u32_e32 v10, v10, v9
+; GFX9-NEXT: v_add_u32_e32 v10, 0x7fff, v10
+; GFX9-NEXT: v_or_b32_e32 v11, 0x400000, v9
+; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v9, v9
+; GFX9-NEXT: v_cndmask_b32_e32 v9, v10, v11, vcc
+; GFX9-NEXT: v_lshrrev_b32_e32 v10, 16, v9
+; GFX9-NEXT: v_lshlrev_b32_e32 v9, 16, v12
; GFX9-NEXT: s_and_b32 s12, s11, 0xffff0000
-; GFX9-NEXT: v_or_b32_sdwa v16, v7, v8 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_add_f32_e32 v7, s12, v20
-; GFX9-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; GFX9-NEXT: v_bfe_u32 v8, v7, 16, 1
-; GFX9-NEXT: v_add_u32_e32 v8, v8, v7
-; GFX9-NEXT: v_add_u32_e32 v8, 0x7fff, v8
-; GFX9-NEXT: v_or_b32_e32 v9, 0x400000, v7
-; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v7, v7
-; GFX9-NEXT: v_cndmask_b32_e32 v7, v8, v9, vcc
+; GFX9-NEXT: v_or_b32_sdwa v13, v9, v10 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_add_f32_e32 v9, s12, v22
+; GFX9-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; GFX9-NEXT: v_bfe_u32 v10, v9, 16, 1
+; GFX9-NEXT: v_add_u32_e32 v10, v10, v9
+; GFX9-NEXT: v_add_u32_e32 v10, 0x7fff, v10
+; GFX9-NEXT: v_or_b32_e32 v11, 0x400000, v9
+; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v9, v9
+; GFX9-NEXT: v_cndmask_b32_e32 v9, v10, v11, vcc
; GFX9-NEXT: s_lshl_b32 s11, s11, 16
; GFX9-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v12, 16, v7
-; GFX9-NEXT: v_add_f32_e32 v7, s11, v20
-; GFX9-NEXT: v_bfe_u32 v8, v7, 16, 1
-; GFX9-NEXT: v_add_u32_e32 v8, v8, v7
-; GFX9-NEXT: v_add_u32_e32 v8, 0x7fff, v8
-; GFX9-NEXT: v_or_b32_e32 v9, 0x400000, v7
-; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v7, v7
-; GFX9-NEXT: v_cndmask_b32_e32 v7, v8, v9, vcc
-; GFX9-NEXT: v_lshrrev_b32_e32 v8, 16, v7
-; GFX9-NEXT: v_lshlrev_b32_e32 v7, 16, v12
+; GFX9-NEXT: v_lshrrev_b32_e32 v12, 16, v9
+; GFX9-NEXT: v_add_f32_e32 v9, s11, v22
+; GFX9-NEXT: v_bfe_u32 v10, v9, 16, 1
+; GFX9-NEXT: v_add_u32_e32 v10, v10, v9
+; GFX9-NEXT: v_add_u32_e32 v10, 0x7fff, v10
+; GFX9-NEXT: v_or_b32_e32 v11, 0x400000, v9
+; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v9, v9
+; GFX9-NEXT: v_cndmask_b32_e32 v9, v10, v11, vcc
+; GFX9-NEXT: v_lshrrev_b32_e32 v10, 16, v9
+; GFX9-NEXT: v_lshlrev_b32_e32 v9, 16, v12
; GFX9-NEXT: s_and_b32 s11, s10, 0xffff0000
-; GFX9-NEXT: v_or_b32_sdwa v19, v7, v8 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_add_f32_e32 v7, s11, v20
-; GFX9-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
-; GFX9-NEXT: v_bfe_u32 v8, v7, 16, 1
-; GFX9-NEXT: v_add_u32_e32 v8, v8, v7
-; GFX9-NEXT: v_add_u32_e32 v8, 0x7fff, v8
-; GFX9-NEXT: v_or_b32_e32 v9, 0x400000, v7
-; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v7, v7
-; GFX9-NEXT: v_cndmask_b32_e32 v7, v8, v9, vcc
+; GFX9-NEXT: v_or_b32_sdwa v19, v9, v10 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_add_f32_e32 v9, s11, v22
+; GFX9-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
+; GFX9-NEXT: v_bfe_u32 v10, v9, 16, 1
+; GFX9-NEXT: v_add_u32_e32 v10, v10, v9
+; GFX9-NEXT: v_add_u32_e32 v10, 0x7fff, v10
+; GFX9-NEXT: v_or_b32_e32 v11, 0x400000, v9
+; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v9, v9
+; GFX9-NEXT: v_cndmask_b32_e32 v9, v10, v11, vcc
; GFX9-NEXT: s_lshl_b32 s10, s10, 16
; GFX9-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v12, 16, v7
-; GFX9-NEXT: v_add_f32_e32 v7, s10, v20
-; GFX9-NEXT: v_bfe_u32 v8, v7, 16, 1
-; GFX9-NEXT: v_add_u32_e32 v8, v8, v7
-; GFX9-NEXT: v_add_u32_e32 v8, 0x7fff, v8
-; GFX9-NEXT: v_or_b32_e32 v9, 0x400000, v7
-; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v7, v7
-; GFX9-NEXT: v_cndmask_b32_e32 v7, v8, v9, vcc
-; GFX9-NEXT: v_lshrrev_b32_e32 v8, 16, v7
-; GFX9-NEXT: v_lshlrev_b32_e32 v7, 16, v12
+; GFX9-NEXT: v_lshrrev_b32_e32 v12, 16, v9
+; GFX9-NEXT: v_add_f32_e32 v9, s10, v22
+; GFX9-NEXT: v_bfe_u32 v10, v9, 16, 1
+; GFX9-NEXT: v_add_u32_e32 v10, v10, v9
+; GFX9-NEXT: v_add_u32_e32 v10, 0x7fff, v10
+; GFX9-NEXT: v_or_b32_e32 v11, 0x400000, v9
+; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v9, v9
+; GFX9-NEXT: v_cndmask_b32_e32 v9, v10, v11, vcc
+; GFX9-NEXT: v_lshrrev_b32_e32 v10, 16, v9
+; GFX9-NEXT: v_lshlrev_b32_e32 v9, 16, v12
; GFX9-NEXT: s_and_b32 s10, s9, 0xffff0000
-; GFX9-NEXT: v_or_b32_sdwa v18, v7, v8 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_add_f32_e32 v7, s10, v20
-; GFX9-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
-; GFX9-NEXT: v_bfe_u32 v8, v7, 16, 1
-; GFX9-NEXT: v_add_u32_e32 v8, v8, v7
-; GFX9-NEXT: v_add_u32_e32 v8, 0x7fff, v8
-; GFX9-NEXT: v_or_b32_e32 v9, 0x400000, v7
-; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v7, v7
-; GFX9-NEXT: v_cndmask_b32_e32 v7, v8, v9, vcc
+; GFX9-NEXT: v_or_b32_sdwa v18, v9, v10 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_add_f32_e32 v9, s10, v22
+; GFX9-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; GFX9-NEXT: v_bfe_u32 v10, v9, 16, 1
+; GFX9-NEXT: v_add_u32_e32 v10, v10, v9
+; GFX9-NEXT: v_add_u32_e32 v10, 0x7fff, v10
+; GFX9-NEXT: v_or_b32_e32 v11, 0x400000, v9
+; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v9, v9
+; GFX9-NEXT: v_cndmask_b32_e32 v9, v10, v11, vcc
; GFX9-NEXT: s_lshl_b32 s9, s9, 16
; GFX9-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v12, 16, v7
-; GFX9-NEXT: v_add_f32_e32 v7, s9, v20
-; GFX9-NEXT: v_bfe_u32 v8, v7, 16, 1
-; GFX9-NEXT: v_add_u32_e32 v8, v8, v7
-; GFX9-NEXT: v_add_u32_e32 v8, 0x7fff, v8
-; GFX9-NEXT: v_or_b32_e32 v9, 0x400000, v7
-; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v7, v7
-; GFX9-NEXT: v_cndmask_b32_e32 v7, v8, v9, vcc
-; GFX9-NEXT: v_lshrrev_b32_e32 v8, 16, v7
-; GFX9-NEXT: v_lshlrev_b32_e32 v7, 16, v12
+; GFX9-NEXT: v_lshrrev_b32_e32 v12, 16, v9
+; GFX9-NEXT: v_add_f32_e32 v9, s9, v22
+; GFX9-NEXT: v_bfe_u32 v10, v9, 16, 1
+; GFX9-NEXT: v_add_u32_e32 v10, v10, v9
+; GFX9-NEXT: v_add_u32_e32 v10, 0x7fff, v10
+; GFX9-NEXT: v_or_b32_e32 v11, 0x400000, v9
+; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v9, v9
+; GFX9-NEXT: v_cndmask_b32_e32 v9, v10, v11, vcc
+; GFX9-NEXT: v_lshrrev_b32_e32 v10, 16, v9
+; GFX9-NEXT: v_lshlrev_b32_e32 v9, 16, v12
; GFX9-NEXT: s_and_b32 s9, s8, 0xffff0000
-; GFX9-NEXT: v_or_b32_sdwa v23, v7, v8 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_add_f32_e32 v7, s9, v20
-; GFX9-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
-; GFX9-NEXT: v_bfe_u32 v8, v7, 16, 1
-; GFX9-NEXT: v_add_u32_e32 v8, v8, v7
-; GFX9-NEXT: v_add_u32_e32 v8, 0x7fff, v8
-; GFX9-NEXT: v_or_b32_e32 v9, 0x400000, v7
-; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v7, v7
-; GFX9-NEXT: v_cndmask_b32_e32 v7, v8, v9, vcc
+; GFX9-NEXT: v_or_b32_sdwa v21, v9, v10 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_add_f32_e32 v9, s9, v22
+; GFX9-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
+; GFX9-NEXT: v_bfe_u32 v10, v9, 16, 1
+; GFX9-NEXT: v_add_u32_e32 v10, v10, v9
+; GFX9-NEXT: v_add_u32_e32 v10, 0x7fff, v10
+; GFX9-NEXT: v_or_b32_e32 v11, 0x400000, v9
+; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v9, v9
+; GFX9-NEXT: v_cndmask_b32_e32 v9, v10, v11, vcc
; GFX9-NEXT: s_lshl_b32 s8, s8, 16
; GFX9-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v12, 16, v7
-; GFX9-NEXT: v_add_f32_e32 v7, s8, v20
-; GFX9-NEXT: v_bfe_u32 v8, v7, 16, 1
-; GFX9-NEXT: v_add_u32_e32 v8, v8, v7
-; GFX9-NEXT: v_add_u32_e32 v8, 0x7fff, v8
-; GFX9-NEXT: v_or_b32_e32 v9, 0x400000, v7
-; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v7, v7
-; GFX9-NEXT: v_cndmask_b32_e32 v7, v8, v9, vcc
-; GFX9-NEXT: v_lshrrev_b32_e32 v8, 16, v7
-; GFX9-NEXT: v_lshlrev_b32_e32 v7, 16, v12
+; GFX9-NEXT: v_lshrrev_b32_e32 v12, 16, v9
+; GFX9-NEXT: v_add_f32_e32 v9, s8, v22
+; GFX9-NEXT: v_bfe_u32 v10, v9, 16, 1
+; GFX9-NEXT: v_add_u32_e32 v10, v10, v9
+; GFX9-NEXT: v_add_u32_e32 v10, 0x7fff, v10
+; GFX9-NEXT: v_or_b32_e32 v11, 0x400000, v9
+; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v9, v9
+; GFX9-NEXT: v_cndmask_b32_e32 v9, v10, v11, vcc
+; GFX9-NEXT: v_lshrrev_b32_e32 v10, 16, v9
+; GFX9-NEXT: v_lshlrev_b32_e32 v9, 16, v12
; GFX9-NEXT: s_and_b32 s8, s7, 0xffff0000
-; GFX9-NEXT: v_or_b32_sdwa v22, v7, v8 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_add_f32_e32 v7, s8, v20
-; GFX9-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
-; GFX9-NEXT: v_bfe_u32 v8, v7, 16, 1
-; GFX9-NEXT: v_add_u32_e32 v8, v8, v7
-; GFX9-NEXT: v_add_u32_e32 v8, 0x7fff, v8
-; GFX9-NEXT: v_or_b32_e32 v9, 0x400000, v7
-; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v7, v7
-; GFX9-NEXT: v_cndmask_b32_e32 v7, v8, v9, vcc
+; GFX9-NEXT: v_or_b32_sdwa v20, v9, v10 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_add_f32_e32 v9, s8, v22
+; GFX9-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
+; GFX9-NEXT: v_bfe_u32 v10, v9, 16, 1
+; GFX9-NEXT: v_add_u32_e32 v10, v10, v9
+; GFX9-NEXT: v_add_u32_e32 v10, 0x7fff, v10
+; GFX9-NEXT: v_or_b32_e32 v11, 0x400000, v9
+; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v9, v9
+; GFX9-NEXT: v_cndmask_b32_e32 v9, v10, v11, vcc
; GFX9-NEXT: s_lshl_b32 s7, s7, 16
; GFX9-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v12, 16, v7
-; GFX9-NEXT: v_add_f32_e32 v7, s7, v20
-; GFX9-NEXT: v_bfe_u32 v8, v7, 16, 1
-; GFX9-NEXT: v_add_u32_e32 v8, v8, v7
-; GFX9-NEXT: v_add_u32_e32 v8, 0x7fff, v8
-; GFX9-NEXT: v_or_b32_e32 v9, 0x400000, v7
-; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v7, v7
-; GFX9-NEXT: v_cndmask_b32_e32 v7, v8, v9, vcc
-; GFX9-NEXT: v_lshrrev_b32_e32 v8, 16, v7
-; GFX9-NEXT: v_lshlrev_b32_e32 v7, 16, v12
+; GFX9-NEXT: v_lshrrev_b32_e32 v12, 16, v9
+; GFX9-NEXT: v_add_f32_e32 v9, s7, v22
+; GFX9-NEXT: v_bfe_u32 v10, v9, 16, 1
+; GFX9-NEXT: v_add_u32_e32 v10, v10, v9
+; GFX9-NEXT: v_add_u32_e32 v10, 0x7fff, v10
+; GFX9-NEXT: v_or_b32_e32 v11, 0x400000, v9
+; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v9, v9
+; GFX9-NEXT: v_cndmask_b32_e32 v9, v10, v11, vcc
+; GFX9-NEXT: v_lshrrev_b32_e32 v10, 16, v9
+; GFX9-NEXT: v_lshlrev_b32_e32 v9, 16, v12
; GFX9-NEXT: s_and_b32 s7, s6, 0xffff0000
-; GFX9-NEXT: v_or_b32_sdwa v25, v7, v8 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_add_f32_e32 v7, s7, v20
-; GFX9-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill
-; GFX9-NEXT: v_bfe_u32 v8, v7, 16, 1
-; GFX9-NEXT: v_add_u32_e32 v8, v8, v7
-; GFX9-NEXT: v_add_u32_e32 v8, 0x7fff, v8
-; GFX9-NEXT: v_or_b32_e32 v9, 0x400000, v7
-; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v7, v7
-; GFX9-NEXT: v_cndmask_b32_e32 v7, v8, v9, vcc
+; GFX9-NEXT: v_or_b32_sdwa v25, v9, v10 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_add_f32_e32 v9, s7, v22
+; GFX9-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill
+; GFX9-NEXT: v_bfe_u32 v10, v9, 16, 1
+; GFX9-NEXT: v_add_u32_e32 v10, v10, v9
+; GFX9-NEXT: v_add_u32_e32 v10, 0x7fff, v10
+; GFX9-NEXT: v_or_b32_e32 v11, 0x400000, v9
+; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v9, v9
+; GFX9-NEXT: v_cndmask_b32_e32 v9, v10, v11, vcc
; GFX9-NEXT: s_lshl_b32 s6, s6, 16
; GFX9-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v12, 16, v7
-; GFX9-NEXT: v_add_f32_e32 v7, s6, v20
-; GFX9-NEXT: v_bfe_u32 v8, v7, 16, 1
-; GFX9-NEXT: v_add_u32_e32 v8, v8, v7
-; GFX9-NEXT: v_add_u32_e32 v8, 0x7fff, v8
-; GFX9-NEXT: v_or_b32_e32 v9, 0x400000, v7
-; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v7, v7
-; GFX9-NEXT: v_cndmask_b32_e32 v7, v8, v9, vcc
-; GFX9-NEXT: v_lshrrev_b32_e32 v8, 16, v7
-; GFX9-NEXT: v_lshlrev_b32_e32 v7, 16, v12
+; GFX9-NEXT: v_lshrrev_b32_e32 v12, 16, v9
+; GFX9-NEXT: v_add_f32_e32 v9, s6, v22
+; GFX9-NEXT: v_bfe_u32 v10, v9, 16, 1
+; GFX9-NEXT: v_add_u32_e32 v10, v10, v9
+; GFX9-NEXT: v_add_u32_e32 v10, 0x7fff, v10
+; GFX9-NEXT: v_or_b32_e32 v11, 0x400000, v9
+; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v9, v9
+; GFX9-NEXT: v_cndmask_b32_e32 v9, v10, v11, vcc
+; GFX9-NEXT: v_lshrrev_b32_e32 v10, 16, v9
+; GFX9-NEXT: v_lshlrev_b32_e32 v9, 16, v12
; GFX9-NEXT: s_and_b32 s6, s17, 0xffff0000
-; GFX9-NEXT: v_or_b32_sdwa v24, v7, v8 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_add_f32_e32 v7, s6, v20
-; GFX9-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
-; GFX9-NEXT: v_bfe_u32 v8, v7, 16, 1
-; GFX9-NEXT: v_add_u32_e32 v8, v8, v7
-; GFX9-NEXT: v_add_u32_e32 v8, 0x7fff, v8
-; GFX9-NEXT: v_or_b32_e32 v9, 0x400000, v7
-; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v7, v7
-; GFX9-NEXT: v_cndmask_b32_e32 v7, v8, v9, vcc
+; GFX9-NEXT: v_or_b32_sdwa v24, v9, v10 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_add_f32_e32 v9, s6, v22
+; GFX9-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
+; GFX9-NEXT: v_bfe_u32 v10, v9, 16, 1
+; GFX9-NEXT: v_add_u32_e32 v10, v10, v9
+; GFX9-NEXT: v_add_u32_e32 v10, 0x7fff, v10
+; GFX9-NEXT: v_or_b32_e32 v11, 0x400000, v9
+; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v9, v9
+; GFX9-NEXT: v_cndmask_b32_e32 v9, v10, v11, vcc
; GFX9-NEXT: s_lshl_b32 s6, s17, 16
; GFX9-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v12, 16, v7
-; GFX9-NEXT: v_add_f32_e32 v7, s6, v20
-; GFX9-NEXT: v_bfe_u32 v8, v7, 16, 1
-; GFX9-NEXT: v_add_u32_e32 v8, v8, v7
-; GFX9-NEXT: v_add_u32_e32 v8, 0x7fff, v8
-; GFX9-NEXT: v_or_b32_e32 v9, 0x400000, v7
-; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v7, v7
-; GFX9-NEXT: v_cndmask_b32_e32 v7, v8, v9, vcc
-; GFX9-NEXT: v_lshrrev_b32_e32 v8, 16, v7
-; GFX9-NEXT: v_lshlrev_b32_e32 v7, 16, v12
+; GFX9-NEXT: v_lshrrev_b32_e32 v12, 16, v9
+; GFX9-NEXT: v_add_f32_e32 v9, s6, v22
+; GFX9-NEXT: v_bfe_u32 v10, v9, 16, 1
+; GFX9-NEXT: v_add_u32_e32 v10, v10, v9
+; GFX9-NEXT: v_add_u32_e32 v10, 0x7fff, v10
+; GFX9-NEXT: v_or_b32_e32 v11, 0x400000, v9
+; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v9, v9
+; GFX9-NEXT: v_cndmask_b32_e32 v9, v10, v11, vcc
+; GFX9-NEXT: v_lshrrev_b32_e32 v10, 16, v9
+; GFX9-NEXT: v_lshlrev_b32_e32 v9, 16, v12
; GFX9-NEXT: s_and_b32 s6, s16, 0xffff0000
-; GFX9-NEXT: v_or_b32_sdwa v27, v7, v8 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_add_f32_e32 v7, s6, v20
-; GFX9-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
-; GFX9-NEXT: v_bfe_u32 v8, v7, 16, 1
-; GFX9-NEXT: v_add_u32_e32 v8, v8, v7
-; GFX9-NEXT: v_add_u32_e32 v8, 0x7fff, v8
-; GFX9-NEXT: v_or_b32_e32 v9, 0x400000, v7
-; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v7, v7
-; GFX9-NEXT: v_cndmask_b32_e32 v7, v8, v9, vcc
+; GFX9-NEXT: v_or_b32_sdwa v27, v9, v10 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_add_f32_e32 v9, s6, v22
+; GFX9-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
+; GFX9-NEXT: v_bfe_u32 v10, v9, 16, 1
+; GFX9-NEXT: v_add_u32_e32 v10, v10, v9
+; GFX9-NEXT: v_add_u32_e32 v10, 0x7fff, v10
+; GFX9-NEXT: v_or_b32_e32 v11, 0x400000, v9
+; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v9, v9
+; GFX9-NEXT: v_cndmask_b32_e32 v9, v10, v11, vcc
; GFX9-NEXT: s_lshl_b32 s6, s16, 16
-; GFX9-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:428 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v12, 16, v7
-; GFX9-NEXT: v_add_f32_e32 v7, s6, v20
-; GFX9-NEXT: v_bfe_u32 v8, v7, 16, 1
-; GFX9-NEXT: v_add_u32_e32 v8, v8, v7
-; GFX9-NEXT: v_add_u32_e32 v8, 0x7fff, v8
-; GFX9-NEXT: v_or_b32_e32 v9, 0x400000, v7
-; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v7, v7
-; GFX9-NEXT: v_cndmask_b32_e32 v7, v8, v9, vcc
-; GFX9-NEXT: v_lshrrev_b32_e32 v8, 16, v7
-; GFX9-NEXT: v_lshlrev_b32_e32 v7, 16, v12
+; GFX9-NEXT: v_lshrrev_b32_e32 v15, 16, v9
+; GFX9-NEXT: v_add_f32_e32 v9, s6, v22
+; GFX9-NEXT: v_bfe_u32 v10, v9, 16, 1
+; GFX9-NEXT: v_add_u32_e32 v10, v10, v9
+; GFX9-NEXT: v_add_u32_e32 v10, 0x7fff, v10
+; GFX9-NEXT: v_or_b32_e32 v11, 0x400000, v9
+; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v9, v9
+; GFX9-NEXT: v_cndmask_b32_e32 v9, v10, v11, vcc
+; GFX9-NEXT: v_lshrrev_b32_e32 v10, 16, v9
+; GFX9-NEXT: v_lshlrev_b32_e32 v9, 16, v15
; GFX9-NEXT: s_and_b32 s6, s19, 0xffff0000
-; GFX9-NEXT: v_or_b32_sdwa v26, v7, v8 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_add_f32_e32 v7, s6, v20
-; GFX9-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:384 ; 4-byte Folded Spill
-; GFX9-NEXT: v_bfe_u32 v8, v7, 16, 1
-; GFX9-NEXT: v_add_u32_e32 v8, v8, v7
-; GFX9-NEXT: v_add_u32_e32 v8, 0x7fff, v8
-; GFX9-NEXT: v_or_b32_e32 v9, 0x400000, v7
-; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v7, v7
-; GFX9-NEXT: v_cndmask_b32_e32 v7, v8, v9, vcc
+; GFX9-NEXT: v_or_b32_sdwa v26, v9, v10 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_add_f32_e32 v9, s6, v22
+; GFX9-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
+; GFX9-NEXT: v_bfe_u32 v10, v9, 16, 1
+; GFX9-NEXT: v_add_u32_e32 v10, v10, v9
+; GFX9-NEXT: v_add_u32_e32 v10, 0x7fff, v10
+; GFX9-NEXT: v_or_b32_e32 v11, 0x400000, v9
+; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v9, v9
+; GFX9-NEXT: v_cndmask_b32_e32 v9, v10, v11, vcc
; GFX9-NEXT: s_lshl_b32 s6, s19, 16
-; GFX9-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:388 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v12, 16, v7
-; GFX9-NEXT: v_add_f32_e32 v7, s6, v20
-; GFX9-NEXT: v_bfe_u32 v8, v7, 16, 1
-; GFX9-NEXT: v_add_u32_e32 v8, v8, v7
-; GFX9-NEXT: v_add_u32_e32 v8, 0x7fff, v8
-; GFX9-NEXT: v_or_b32_e32 v9, 0x400000, v7
-; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v7, v7
-; GFX9-NEXT: v_cndmask_b32_e32 v7, v8, v9, vcc
-; GFX9-NEXT: v_lshrrev_b32_e32 v8, 16, v7
-; GFX9-NEXT: v_lshlrev_b32_e32 v7, 16, v12
+; GFX9-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v12, 16, v9
+; GFX9-NEXT: v_add_f32_e32 v9, s6, v22
+; GFX9-NEXT: v_bfe_u32 v10, v9, 16, 1
+; GFX9-NEXT: v_add_u32_e32 v10, v10, v9
+; GFX9-NEXT: v_add_u32_e32 v10, 0x7fff, v10
+; GFX9-NEXT: v_or_b32_e32 v11, 0x400000, v9
+; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v9, v9
+; GFX9-NEXT: v_cndmask_b32_e32 v9, v10, v11, vcc
+; GFX9-NEXT: v_lshrrev_b32_e32 v10, 16, v9
+; GFX9-NEXT: v_lshlrev_b32_e32 v9, 16, v12
; GFX9-NEXT: s_and_b32 s6, s18, 0xffff0000
-; GFX9-NEXT: v_or_b32_sdwa v31, v7, v8 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_add_f32_e32 v7, s6, v20
-; GFX9-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:392 ; 4-byte Folded Spill
-; GFX9-NEXT: v_bfe_u32 v8, v7, 16, 1
-; GFX9-NEXT: v_add_u32_e32 v8, v8, v7
-; GFX9-NEXT: v_add_u32_e32 v8, 0x7fff, v8
-; GFX9-NEXT: v_or_b32_e32 v9, 0x400000, v7
-; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v7, v7
-; GFX9-NEXT: v_cndmask_b32_e32 v7, v8, v9, vcc
+; GFX9-NEXT: v_or_b32_sdwa v29, v9, v10 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_add_f32_e32 v9, s6, v22
+; GFX9-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:384 ; 4-byte Folded Spill
+; GFX9-NEXT: v_bfe_u32 v10, v9, 16, 1
+; GFX9-NEXT: v_add_u32_e32 v10, v10, v9
+; GFX9-NEXT: v_add_u32_e32 v10, 0x7fff, v10
+; GFX9-NEXT: v_or_b32_e32 v11, 0x400000, v9
+; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v9, v9
+; GFX9-NEXT: v_cndmask_b32_e32 v9, v10, v11, vcc
; GFX9-NEXT: s_lshl_b32 s6, s18, 16
-; GFX9-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:396 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v12, 16, v7
-; GFX9-NEXT: v_add_f32_e32 v7, s6, v20
-; GFX9-NEXT: v_bfe_u32 v8, v7, 16, 1
-; GFX9-NEXT: v_add_u32_e32 v8, v8, v7
-; GFX9-NEXT: v_add_u32_e32 v8, 0x7fff, v8
-; GFX9-NEXT: v_or_b32_e32 v9, 0x400000, v7
-; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v7, v7
-; GFX9-NEXT: v_cndmask_b32_e32 v7, v8, v9, vcc
-; GFX9-NEXT: v_lshrrev_b32_e32 v8, 16, v7
-; GFX9-NEXT: v_lshlrev_b32_e32 v7, 16, v12
+; GFX9-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:388 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v12, 16, v9
+; GFX9-NEXT: v_add_f32_e32 v9, s6, v22
+; GFX9-NEXT: v_bfe_u32 v10, v9, 16, 1
+; GFX9-NEXT: v_add_u32_e32 v10, v10, v9
+; GFX9-NEXT: v_add_u32_e32 v10, 0x7fff, v10
+; GFX9-NEXT: v_or_b32_e32 v11, 0x400000, v9
+; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v9, v9
+; GFX9-NEXT: v_cndmask_b32_e32 v9, v10, v11, vcc
+; GFX9-NEXT: v_lshrrev_b32_e32 v10, 16, v9
+; GFX9-NEXT: v_lshlrev_b32_e32 v9, 16, v12
; GFX9-NEXT: s_and_b32 s6, s21, 0xffff0000
-; GFX9-NEXT: v_or_b32_sdwa v30, v7, v8 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_add_f32_e32 v7, s6, v20
-; GFX9-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:412 ; 4-byte Folded Spill
-; GFX9-NEXT: v_bfe_u32 v8, v7, 16, 1
-; GFX9-NEXT: v_add_u32_e32 v8, v8, v7
-; GFX9-NEXT: v_add_u32_e32 v8, 0x7fff, v8
-; GFX9-NEXT: v_or_b32_e32 v9, 0x400000, v7
-; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v7, v7
-; GFX9-NEXT: v_cndmask_b32_e32 v7, v8, v9, vcc
+; GFX9-NEXT: v_or_b32_sdwa v28, v9, v10 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_add_f32_e32 v9, s6, v22
+; GFX9-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:408 ; 4-byte Folded Spill
+; GFX9-NEXT: v_bfe_u32 v10, v9, 16, 1
+; GFX9-NEXT: v_add_u32_e32 v10, v10, v9
+; GFX9-NEXT: v_add_u32_e32 v10, 0x7fff, v10
+; GFX9-NEXT: v_or_b32_e32 v11, 0x400000, v9
+; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v9, v9
+; GFX9-NEXT: v_cndmask_b32_e32 v9, v10, v11, vcc
; GFX9-NEXT: s_lshl_b32 s6, s21, 16
-; GFX9-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:408 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v12, 16, v7
-; GFX9-NEXT: v_add_f32_e32 v7, s6, v20
-; GFX9-NEXT: v_bfe_u32 v8, v7, 16, 1
-; GFX9-NEXT: v_add_u32_e32 v8, v8, v7
-; GFX9-NEXT: v_add_u32_e32 v8, 0x7fff, v8
-; GFX9-NEXT: v_or_b32_e32 v9, 0x400000, v7
-; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v7, v7
-; GFX9-NEXT: v_cndmask_b32_e32 v7, v8, v9, vcc
-; GFX9-NEXT: v_lshrrev_b32_e32 v8, 16, v7
-; GFX9-NEXT: v_lshlrev_b32_e32 v7, 16, v12
+; GFX9-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:412 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v12, 16, v9
+; GFX9-NEXT: v_add_f32_e32 v9, s6, v22
+; GFX9-NEXT: v_bfe_u32 v10, v9, 16, 1
+; GFX9-NEXT: v_add_u32_e32 v10, v10, v9
+; GFX9-NEXT: v_add_u32_e32 v10, 0x7fff, v10
+; GFX9-NEXT: v_or_b32_e32 v11, 0x400000, v9
+; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v9, v9
+; GFX9-NEXT: v_cndmask_b32_e32 v9, v10, v11, vcc
+; GFX9-NEXT: v_lshrrev_b32_e32 v10, 16, v9
+; GFX9-NEXT: v_lshlrev_b32_e32 v9, 16, v12
; GFX9-NEXT: s_and_b32 s6, s20, 0xffff0000
-; GFX9-NEXT: v_or_b32_sdwa v54, v7, v8 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_add_f32_e32 v7, s6, v20
-; GFX9-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:420 ; 4-byte Folded Spill
-; GFX9-NEXT: v_bfe_u32 v8, v7, 16, 1
-; GFX9-NEXT: v_add_u32_e32 v8, v8, v7
-; GFX9-NEXT: v_add_u32_e32 v8, 0x7fff, v8
-; GFX9-NEXT: v_or_b32_e32 v9, 0x400000, v7
-; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v7, v7
-; GFX9-NEXT: v_cndmask_b32_e32 v7, v8, v9, vcc
+; GFX9-NEXT: v_or_b32_sdwa v51, v9, v10 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_add_f32_e32 v9, s6, v22
+; GFX9-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:416 ; 4-byte Folded Spill
+; GFX9-NEXT: v_bfe_u32 v10, v9, 16, 1
+; GFX9-NEXT: v_add_u32_e32 v10, v10, v9
+; GFX9-NEXT: v_add_u32_e32 v10, 0x7fff, v10
+; GFX9-NEXT: v_or_b32_e32 v11, 0x400000, v9
+; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v9, v9
+; GFX9-NEXT: v_cndmask_b32_e32 v9, v10, v11, vcc
; GFX9-NEXT: s_lshl_b32 s6, s20, 16
-; GFX9-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:416 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v12, 16, v7
-; GFX9-NEXT: v_add_f32_e32 v7, s6, v20
-; GFX9-NEXT: v_bfe_u32 v8, v7, 16, 1
-; GFX9-NEXT: v_add_u32_e32 v8, v8, v7
-; GFX9-NEXT: v_add_u32_e32 v8, 0x7fff, v8
-; GFX9-NEXT: v_or_b32_e32 v9, 0x400000, v7
-; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v7, v7
-; GFX9-NEXT: v_cndmask_b32_e32 v7, v8, v9, vcc
-; GFX9-NEXT: v_lshrrev_b32_e32 v8, 16, v7
-; GFX9-NEXT: v_lshlrev_b32_e32 v7, 16, v12
+; GFX9-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:420 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v12, 16, v9
+; GFX9-NEXT: v_add_f32_e32 v9, s6, v22
+; GFX9-NEXT: v_bfe_u32 v10, v9, 16, 1
+; GFX9-NEXT: v_add_u32_e32 v10, v10, v9
+; GFX9-NEXT: v_add_u32_e32 v10, 0x7fff, v10
+; GFX9-NEXT: v_or_b32_e32 v11, 0x400000, v9
+; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v9, v9
+; GFX9-NEXT: v_cndmask_b32_e32 v9, v10, v11, vcc
+; GFX9-NEXT: v_lshrrev_b32_e32 v10, 16, v9
+; GFX9-NEXT: v_lshlrev_b32_e32 v9, 16, v12
; GFX9-NEXT: s_and_b32 s6, s23, 0xffff0000
-; GFX9-NEXT: v_or_b32_sdwa v53, v7, v8 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_add_f32_e32 v7, s6, v20
-; GFX9-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:424 ; 4-byte Folded Spill
+; GFX9-NEXT: v_or_b32_sdwa v50, v9, v10 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_add_f32_e32 v9, s6, v22
+; GFX9-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:424 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
-; GFX9-NEXT: v_bfe_u32 v8, v7, 16, 1
-; GFX9-NEXT: v_add_u32_e32 v8, v8, v7
-; GFX9-NEXT: v_add_u32_e32 v8, 0x7fff, v8
-; GFX9-NEXT: v_or_b32_e32 v9, 0x400000, v7
-; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v7, v7
-; GFX9-NEXT: v_cndmask_b32_e32 v7, v8, v9, vcc
+; GFX9-NEXT: v_bfe_u32 v10, v9, 16, 1
+; GFX9-NEXT: v_add_u32_e32 v10, v10, v9
+; GFX9-NEXT: v_add_u32_e32 v10, 0x7fff, v10
+; GFX9-NEXT: v_or_b32_e32 v11, 0x400000, v9
+; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v9, v9
+; GFX9-NEXT: v_cndmask_b32_e32 v9, v10, v11, vcc
; GFX9-NEXT: s_lshl_b32 s6, s23, 16
-; GFX9-NEXT: v_lshrrev_b32_e32 v61, 16, v7
-; GFX9-NEXT: v_add_f32_e32 v7, s6, v20
-; GFX9-NEXT: v_bfe_u32 v8, v7, 16, 1
-; GFX9-NEXT: v_add_u32_e32 v8, v8, v7
-; GFX9-NEXT: v_add_u32_e32 v8, 0x7fff, v8
-; GFX9-NEXT: v_or_b32_e32 v9, 0x400000, v7
-; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v7, v7
-; GFX9-NEXT: v_cndmask_b32_e32 v7, v8, v9, vcc
-; GFX9-NEXT: v_lshrrev_b32_e32 v57, 16, v7
-; GFX9-NEXT: v_lshlrev_b32_e32 v7, 16, v61
+; GFX9-NEXT: v_lshrrev_b32_e32 v23, 16, v9
+; GFX9-NEXT: v_add_f32_e32 v9, s6, v22
+; GFX9-NEXT: v_bfe_u32 v10, v9, 16, 1
+; GFX9-NEXT: v_add_u32_e32 v10, v10, v9
+; GFX9-NEXT: v_add_u32_e32 v10, 0x7fff, v10
+; GFX9-NEXT: v_or_b32_e32 v11, 0x400000, v9
+; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v9, v9
+; GFX9-NEXT: v_cndmask_b32_e32 v9, v10, v11, vcc
+; GFX9-NEXT: v_lshrrev_b32_e32 v60, 16, v9
+; GFX9-NEXT: v_lshlrev_b32_e32 v9, 16, v23
; GFX9-NEXT: s_and_b32 s6, s22, 0xffff0000
-; GFX9-NEXT: v_or_b32_sdwa v41, v7, v57 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_add_f32_e32 v7, s6, v20
-; GFX9-NEXT: v_bfe_u32 v8, v7, 16, 1
-; GFX9-NEXT: v_add_u32_e32 v8, v8, v7
-; GFX9-NEXT: v_add_u32_e32 v8, 0x7fff, v8
-; GFX9-NEXT: v_or_b32_e32 v9, 0x400000, v7
-; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v7, v7
-; GFX9-NEXT: v_cndmask_b32_e32 v7, v8, v9, vcc
+; GFX9-NEXT: v_or_b32_sdwa v41, v9, v60 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_add_f32_e32 v9, s6, v22
+; GFX9-NEXT: v_bfe_u32 v10, v9, 16, 1
+; GFX9-NEXT: v_add_u32_e32 v10, v10, v9
+; GFX9-NEXT: v_add_u32_e32 v10, 0x7fff, v10
+; GFX9-NEXT: v_or_b32_e32 v11, 0x400000, v9
+; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v9, v9
+; GFX9-NEXT: v_cndmask_b32_e32 v9, v10, v11, vcc
; GFX9-NEXT: s_lshl_b32 s6, s22, 16
-; GFX9-NEXT: v_lshrrev_b32_e32 v12, 16, v7
-; GFX9-NEXT: v_add_f32_e32 v7, s6, v20
-; GFX9-NEXT: v_bfe_u32 v8, v7, 16, 1
-; GFX9-NEXT: v_add_u32_e32 v8, v8, v7
-; GFX9-NEXT: v_add_u32_e32 v8, 0x7fff, v8
-; GFX9-NEXT: v_or_b32_e32 v9, 0x400000, v7
-; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v7, v7
-; GFX9-NEXT: v_cndmask_b32_e32 v7, v8, v9, vcc
-; GFX9-NEXT: v_lshrrev_b32_e32 v21, 16, v7
-; GFX9-NEXT: v_lshlrev_b32_e32 v7, 16, v12
+; GFX9-NEXT: v_lshrrev_b32_e32 v12, 16, v9
+; GFX9-NEXT: v_add_f32_e32 v9, s6, v22
+; GFX9-NEXT: v_bfe_u32 v10, v9, 16, 1
+; GFX9-NEXT: v_add_u32_e32 v10, v10, v9
+; GFX9-NEXT: v_add_u32_e32 v10, 0x7fff, v10
+; GFX9-NEXT: v_or_b32_e32 v11, 0x400000, v9
+; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v9, v9
+; GFX9-NEXT: v_cndmask_b32_e32 v9, v10, v11, vcc
+; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v9
+; GFX9-NEXT: v_lshlrev_b32_e32 v9, 16, v12
; GFX9-NEXT: s_and_b32 s6, s25, 0xffff0000
-; GFX9-NEXT: v_or_b32_sdwa v40, v7, v21 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_add_f32_e32 v7, s6, v20
-; GFX9-NEXT: v_bfe_u32 v8, v7, 16, 1
-; GFX9-NEXT: v_add_u32_e32 v8, v8, v7
-; GFX9-NEXT: v_add_u32_e32 v8, 0x7fff, v8
-; GFX9-NEXT: v_or_b32_e32 v9, 0x400000, v7
-; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v7, v7
-; GFX9-NEXT: v_cndmask_b32_e32 v7, v8, v9, vcc
+; GFX9-NEXT: v_or_b32_sdwa v40, v9, v17 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_add_f32_e32 v9, s6, v22
+; GFX9-NEXT: v_bfe_u32 v10, v9, 16, 1
+; GFX9-NEXT: v_add_u32_e32 v10, v10, v9
+; GFX9-NEXT: v_add_u32_e32 v10, 0x7fff, v10
+; GFX9-NEXT: v_or_b32_e32 v11, 0x400000, v9
+; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v9, v9
+; GFX9-NEXT: v_cndmask_b32_e32 v9, v10, v11, vcc
; GFX9-NEXT: s_lshl_b32 s6, s25, 16
; GFX9-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v12, 16, v7
-; GFX9-NEXT: v_add_f32_e32 v7, s6, v20
-; GFX9-NEXT: v_bfe_u32 v8, v7, 16, 1
-; GFX9-NEXT: v_add_u32_e32 v8, v8, v7
-; GFX9-NEXT: v_add_u32_e32 v8, 0x7fff, v8
-; GFX9-NEXT: v_or_b32_e32 v9, 0x400000, v7
-; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v7, v7
-; GFX9-NEXT: v_cndmask_b32_e32 v7, v8, v9, vcc
-; GFX9-NEXT: v_lshrrev_b32_e32 v15, 16, v7
-; GFX9-NEXT: v_lshlrev_b32_e32 v7, 16, v12
+; GFX9-NEXT: v_lshrrev_b32_e32 v12, 16, v9
+; GFX9-NEXT: v_add_f32_e32 v9, s6, v22
+; GFX9-NEXT: v_bfe_u32 v10, v9, 16, 1
+; GFX9-NEXT: v_add_u32_e32 v10, v10, v9
+; GFX9-NEXT: v_add_u32_e32 v10, 0x7fff, v10
+; GFX9-NEXT: v_or_b32_e32 v11, 0x400000, v9
+; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v9, v9
+; GFX9-NEXT: v_cndmask_b32_e32 v9, v10, v11, vcc
+; GFX9-NEXT: v_lshrrev_b32_e32 v16, 16, v9
+; GFX9-NEXT: v_lshlrev_b32_e32 v9, 16, v12
; GFX9-NEXT: s_and_b32 s6, s24, 0xffff0000
-; GFX9-NEXT: v_or_b32_sdwa v43, v7, v15 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_add_f32_e32 v7, s6, v20
-; GFX9-NEXT: v_bfe_u32 v8, v7, 16, 1
-; GFX9-NEXT: v_add_u32_e32 v8, v8, v7
-; GFX9-NEXT: v_add_u32_e32 v8, 0x7fff, v8
-; GFX9-NEXT: v_or_b32_e32 v9, 0x400000, v7
-; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v7, v7
-; GFX9-NEXT: v_cndmask_b32_e32 v7, v8, v9, vcc
+; GFX9-NEXT: v_or_b32_sdwa v43, v9, v16 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_add_f32_e32 v9, s6, v22
+; GFX9-NEXT: v_bfe_u32 v10, v9, 16, 1
+; GFX9-NEXT: v_add_u32_e32 v10, v10, v9
+; GFX9-NEXT: v_add_u32_e32 v10, 0x7fff, v10
+; GFX9-NEXT: v_or_b32_e32 v11, 0x400000, v9
+; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v9, v9
+; GFX9-NEXT: v_cndmask_b32_e32 v9, v10, v11, vcc
; GFX9-NEXT: s_lshl_b32 s6, s24, 16
-; GFX9-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v12, 16, v7
-; GFX9-NEXT: v_add_f32_e32 v7, s6, v20
-; GFX9-NEXT: v_bfe_u32 v8, v7, 16, 1
-; GFX9-NEXT: v_add_u32_e32 v8, v8, v7
-; GFX9-NEXT: v_add_u32_e32 v8, 0x7fff, v8
-; GFX9-NEXT: v_or_b32_e32 v9, 0x400000, v7
-; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v7, v7
-; GFX9-NEXT: v_cndmask_b32_e32 v7, v8, v9, vcc
-; GFX9-NEXT: v_lshrrev_b32_e32 v14, 16, v7
-; GFX9-NEXT: v_lshlrev_b32_e32 v7, 16, v12
+; GFX9-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v12, 16, v9
+; GFX9-NEXT: v_add_f32_e32 v9, s6, v22
+; GFX9-NEXT: v_bfe_u32 v10, v9, 16, 1
+; GFX9-NEXT: v_add_u32_e32 v10, v10, v9
+; GFX9-NEXT: v_add_u32_e32 v10, 0x7fff, v10
+; GFX9-NEXT: v_or_b32_e32 v11, 0x400000, v9
+; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v9, v9
+; GFX9-NEXT: v_cndmask_b32_e32 v9, v10, v11, vcc
+; GFX9-NEXT: v_lshrrev_b32_e32 v10, 16, v9
+; GFX9-NEXT: v_lshlrev_b32_e32 v9, 16, v12
; GFX9-NEXT: s_and_b32 s6, s27, 0xffff0000
-; GFX9-NEXT: v_or_b32_sdwa v42, v7, v14 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_add_f32_e32 v7, s6, v20
-; GFX9-NEXT: v_bfe_u32 v8, v7, 16, 1
-; GFX9-NEXT: v_add_u32_e32 v8, v8, v7
-; GFX9-NEXT: v_add_u32_e32 v8, 0x7fff, v8
-; GFX9-NEXT: v_or_b32_e32 v9, 0x400000, v7
-; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v7, v7
-; GFX9-NEXT: v_cndmask_b32_e32 v7, v8, v9, vcc
+; GFX9-NEXT: v_or_b32_sdwa v42, v9, v10 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_add_f32_e32 v9, s6, v22
+; GFX9-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
+; GFX9-NEXT: v_bfe_u32 v10, v9, 16, 1
+; GFX9-NEXT: v_add_u32_e32 v10, v10, v9
+; GFX9-NEXT: v_add_u32_e32 v10, 0x7fff, v10
+; GFX9-NEXT: v_or_b32_e32 v11, 0x400000, v9
+; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v9, v9
+; GFX9-NEXT: v_cndmask_b32_e32 v9, v10, v11, vcc
; GFX9-NEXT: s_lshl_b32 s6, s27, 16
; GFX9-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v12, 16, v7
-; GFX9-NEXT: v_add_f32_e32 v7, s6, v20
-; GFX9-NEXT: v_bfe_u32 v8, v7, 16, 1
-; GFX9-NEXT: v_add_u32_e32 v8, v8, v7
-; GFX9-NEXT: v_add_u32_e32 v8, 0x7fff, v8
-; GFX9-NEXT: v_or_b32_e32 v9, 0x400000, v7
-; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v7, v7
-; GFX9-NEXT: v_cndmask_b32_e32 v7, v8, v9, vcc
-; GFX9-NEXT: v_lshrrev_b32_e32 v8, 16, v7
-; GFX9-NEXT: v_lshlrev_b32_e32 v7, 16, v12
+; GFX9-NEXT: v_lshrrev_b32_e32 v12, 16, v9
+; GFX9-NEXT: v_add_f32_e32 v9, s6, v22
+; GFX9-NEXT: v_bfe_u32 v10, v9, 16, 1
+; GFX9-NEXT: v_add_u32_e32 v10, v10, v9
+; GFX9-NEXT: v_add_u32_e32 v10, 0x7fff, v10
+; GFX9-NEXT: v_or_b32_e32 v11, 0x400000, v9
+; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v9, v9
+; GFX9-NEXT: v_cndmask_b32_e32 v9, v10, v11, vcc
+; GFX9-NEXT: v_lshrrev_b32_e32 v10, 16, v9
+; GFX9-NEXT: v_lshlrev_b32_e32 v9, 16, v12
; GFX9-NEXT: s_and_b32 s6, s26, 0xffff0000
-; GFX9-NEXT: v_or_b32_sdwa v45, v7, v8 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_add_f32_e32 v7, s6, v20
-; GFX9-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
-; GFX9-NEXT: v_bfe_u32 v8, v7, 16, 1
-; GFX9-NEXT: v_add_u32_e32 v8, v8, v7
-; GFX9-NEXT: v_add_u32_e32 v8, 0x7fff, v8
-; GFX9-NEXT: v_or_b32_e32 v9, 0x400000, v7
-; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v7, v7
-; GFX9-NEXT: v_cndmask_b32_e32 v7, v8, v9, vcc
+; GFX9-NEXT: v_or_b32_sdwa v45, v9, v10 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_add_f32_e32 v9, s6, v22
+; GFX9-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
+; GFX9-NEXT: v_bfe_u32 v10, v9, 16, 1
+; GFX9-NEXT: v_add_u32_e32 v10, v10, v9
+; GFX9-NEXT: v_add_u32_e32 v10, 0x7fff, v10
+; GFX9-NEXT: v_or_b32_e32 v11, 0x400000, v9
+; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v9, v9
+; GFX9-NEXT: v_cndmask_b32_e32 v9, v10, v11, vcc
; GFX9-NEXT: s_lshl_b32 s6, s26, 16
-; GFX9-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v12, 16, v7
-; GFX9-NEXT: v_add_f32_e32 v7, s6, v20
-; GFX9-NEXT: v_bfe_u32 v8, v7, 16, 1
-; GFX9-NEXT: v_add_u32_e32 v8, v8, v7
-; GFX9-NEXT: v_add_u32_e32 v8, 0x7fff, v8
-; GFX9-NEXT: v_or_b32_e32 v9, 0x400000, v7
-; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v7, v7
-; GFX9-NEXT: v_cndmask_b32_e32 v7, v8, v9, vcc
-; GFX9-NEXT: v_lshrrev_b32_e32 v8, 16, v7
-; GFX9-NEXT: v_lshlrev_b32_e32 v7, 16, v12
+; GFX9-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v12, 16, v9
+; GFX9-NEXT: v_add_f32_e32 v9, s6, v22
+; GFX9-NEXT: v_bfe_u32 v10, v9, 16, 1
+; GFX9-NEXT: v_add_u32_e32 v10, v10, v9
+; GFX9-NEXT: v_add_u32_e32 v10, 0x7fff, v10
+; GFX9-NEXT: v_or_b32_e32 v11, 0x400000, v9
+; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v9, v9
+; GFX9-NEXT: v_cndmask_b32_e32 v9, v10, v11, vcc
+; GFX9-NEXT: v_lshrrev_b32_e32 v10, 16, v9
+; GFX9-NEXT: v_lshlrev_b32_e32 v9, 16, v12
; GFX9-NEXT: s_and_b32 s6, s29, 0xffff0000
-; GFX9-NEXT: v_or_b32_sdwa v44, v7, v8 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_add_f32_e32 v7, s6, v20
-; GFX9-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
-; GFX9-NEXT: v_bfe_u32 v8, v7, 16, 1
-; GFX9-NEXT: v_add_u32_e32 v8, v8, v7
-; GFX9-NEXT: v_add_u32_e32 v8, 0x7fff, v8
-; GFX9-NEXT: v_or_b32_e32 v9, 0x400000, v7
-; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v7, v7
-; GFX9-NEXT: v_cndmask_b32_e32 v7, v8, v9, vcc
+; GFX9-NEXT: v_or_b32_sdwa v44, v9, v10 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_add_f32_e32 v9, s6, v22
+; GFX9-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; GFX9-NEXT: v_bfe_u32 v10, v9, 16, 1
+; GFX9-NEXT: v_add_u32_e32 v10, v10, v9
+; GFX9-NEXT: v_add_u32_e32 v10, 0x7fff, v10
+; GFX9-NEXT: v_or_b32_e32 v11, 0x400000, v9
+; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v9, v9
+; GFX9-NEXT: v_cndmask_b32_e32 v9, v10, v11, vcc
; GFX9-NEXT: s_lshl_b32 s6, s29, 16
-; GFX9-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v12, 16, v7
-; GFX9-NEXT: v_add_f32_e32 v7, s6, v20
-; GFX9-NEXT: v_bfe_u32 v8, v7, 16, 1
-; GFX9-NEXT: v_add_u32_e32 v8, v8, v7
-; GFX9-NEXT: v_add_u32_e32 v8, 0x7fff, v8
-; GFX9-NEXT: v_or_b32_e32 v9, 0x400000, v7
-; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v7, v7
-; GFX9-NEXT: v_cndmask_b32_e32 v7, v8, v9, vcc
-; GFX9-NEXT: v_lshrrev_b32_e32 v8, 16, v7
-; GFX9-NEXT: v_lshlrev_b32_e32 v7, 16, v12
+; GFX9-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v12, 16, v9
+; GFX9-NEXT: v_add_f32_e32 v9, s6, v22
+; GFX9-NEXT: v_bfe_u32 v10, v9, 16, 1
+; GFX9-NEXT: v_add_u32_e32 v10, v10, v9
+; GFX9-NEXT: v_add_u32_e32 v10, 0x7fff, v10
+; GFX9-NEXT: v_or_b32_e32 v11, 0x400000, v9
+; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v9, v9
+; GFX9-NEXT: v_cndmask_b32_e32 v9, v10, v11, vcc
+; GFX9-NEXT: v_lshrrev_b32_e32 v10, 16, v9
+; GFX9-NEXT: v_lshlrev_b32_e32 v9, 16, v12
; GFX9-NEXT: s_and_b32 s6, s28, 0xffff0000
-; GFX9-NEXT: v_or_b32_sdwa v47, v7, v8 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_add_f32_e32 v7, s6, v20
-; GFX9-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
-; GFX9-NEXT: v_bfe_u32 v8, v7, 16, 1
-; GFX9-NEXT: v_add_u32_e32 v8, v8, v7
-; GFX9-NEXT: v_add_u32_e32 v8, 0x7fff, v8
-; GFX9-NEXT: v_or_b32_e32 v9, 0x400000, v7
-; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v7, v7
-; GFX9-NEXT: v_cndmask_b32_e32 v7, v8, v9, vcc
+; GFX9-NEXT: v_or_b32_sdwa v47, v9, v10 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_add_f32_e32 v9, s6, v22
+; GFX9-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
+; GFX9-NEXT: v_bfe_u32 v10, v9, 16, 1
+; GFX9-NEXT: v_add_u32_e32 v10, v10, v9
+; GFX9-NEXT: v_add_u32_e32 v10, 0x7fff, v10
+; GFX9-NEXT: v_or_b32_e32 v11, 0x400000, v9
+; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v9, v9
+; GFX9-NEXT: v_cndmask_b32_e32 v9, v10, v11, vcc
; GFX9-NEXT: s_lshl_b32 s6, s28, 16
-; GFX9-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v12, 16, v7
-; GFX9-NEXT: v_add_f32_e32 v7, s6, v20
-; GFX9-NEXT: v_bfe_u32 v8, v7, 16, 1
-; GFX9-NEXT: v_add_u32_e32 v8, v8, v7
-; GFX9-NEXT: v_add_u32_e32 v8, 0x7fff, v8
-; GFX9-NEXT: v_or_b32_e32 v9, 0x400000, v7
-; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v7, v7
-; GFX9-NEXT: v_cndmask_b32_e32 v7, v8, v9, vcc
-; GFX9-NEXT: v_lshrrev_b32_e32 v8, 16, v7
-; GFX9-NEXT: v_lshlrev_b32_e32 v7, 16, v12
+; GFX9-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v12, 16, v9
+; GFX9-NEXT: v_add_f32_e32 v9, s6, v22
+; GFX9-NEXT: v_bfe_u32 v10, v9, 16, 1
+; GFX9-NEXT: v_add_u32_e32 v10, v10, v9
+; GFX9-NEXT: v_add_u32_e32 v10, 0x7fff, v10
+; GFX9-NEXT: v_or_b32_e32 v11, 0x400000, v9
+; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v9, v9
+; GFX9-NEXT: v_cndmask_b32_e32 v9, v10, v11, vcc
+; GFX9-NEXT: v_lshrrev_b32_e32 v10, 16, v9
+; GFX9-NEXT: v_lshlrev_b32_e32 v9, 16, v12
; GFX9-NEXT: s_and_b32 s6, s5, 0xffff0000
-; GFX9-NEXT: v_or_b32_sdwa v46, v7, v8 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_add_f32_e32 v7, s6, v20
-; GFX9-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
-; GFX9-NEXT: v_bfe_u32 v8, v7, 16, 1
-; GFX9-NEXT: v_add_u32_e32 v8, v8, v7
-; GFX9-NEXT: v_add_u32_e32 v8, 0x7fff, v8
-; GFX9-NEXT: v_or_b32_e32 v9, 0x400000, v7
-; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v7, v7
-; GFX9-NEXT: v_cndmask_b32_e32 v7, v8, v9, vcc
+; GFX9-NEXT: v_or_b32_sdwa v46, v9, v10 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_add_f32_e32 v9, s6, v22
+; GFX9-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
+; GFX9-NEXT: v_bfe_u32 v10, v9, 16, 1
+; GFX9-NEXT: v_add_u32_e32 v10, v10, v9
+; GFX9-NEXT: v_add_u32_e32 v10, 0x7fff, v10
+; GFX9-NEXT: v_or_b32_e32 v11, 0x400000, v9
+; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v9, v9
+; GFX9-NEXT: v_cndmask_b32_e32 v9, v10, v11, vcc
; GFX9-NEXT: s_lshl_b32 s5, s5, 16
-; GFX9-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v12, 16, v7
-; GFX9-NEXT: v_add_f32_e32 v7, s5, v20
-; GFX9-NEXT: v_bfe_u32 v8, v7, 16, 1
-; GFX9-NEXT: v_add_u32_e32 v8, v8, v7
-; GFX9-NEXT: v_add_u32_e32 v8, 0x7fff, v8
-; GFX9-NEXT: v_or_b32_e32 v9, 0x400000, v7
-; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v7, v7
-; GFX9-NEXT: v_cndmask_b32_e32 v7, v8, v9, vcc
-; GFX9-NEXT: v_lshrrev_b32_e32 v8, 16, v7
-; GFX9-NEXT: v_lshlrev_b32_e32 v7, 16, v12
+; GFX9-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v12, 16, v9
+; GFX9-NEXT: v_add_f32_e32 v9, s5, v22
+; GFX9-NEXT: v_bfe_u32 v10, v9, 16, 1
+; GFX9-NEXT: v_add_u32_e32 v10, v10, v9
+; GFX9-NEXT: v_add_u32_e32 v10, 0x7fff, v10
+; GFX9-NEXT: v_or_b32_e32 v11, 0x400000, v9
+; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v9, v9
+; GFX9-NEXT: v_cndmask_b32_e32 v9, v10, v11, vcc
+; GFX9-NEXT: v_lshrrev_b32_e32 v10, 16, v9
+; GFX9-NEXT: v_lshlrev_b32_e32 v9, 16, v12
; GFX9-NEXT: s_and_b32 s5, s4, 0xffff0000
-; GFX9-NEXT: v_or_b32_sdwa v56, v7, v8 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_add_f32_e32 v7, s5, v20
-; GFX9-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
-; GFX9-NEXT: v_bfe_u32 v8, v7, 16, 1
-; GFX9-NEXT: v_add_u32_e32 v8, v8, v7
-; GFX9-NEXT: v_add_u32_e32 v8, 0x7fff, v8
-; GFX9-NEXT: v_or_b32_e32 v9, 0x400000, v7
-; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v7, v7
-; GFX9-NEXT: v_cndmask_b32_e32 v7, v8, v9, vcc
+; GFX9-NEXT: v_or_b32_sdwa v56, v9, v10 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_add_f32_e32 v9, s5, v22
+; GFX9-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
+; GFX9-NEXT: v_bfe_u32 v10, v9, 16, 1
+; GFX9-NEXT: v_add_u32_e32 v10, v10, v9
+; GFX9-NEXT: v_add_u32_e32 v10, 0x7fff, v10
+; GFX9-NEXT: v_or_b32_e32 v11, 0x400000, v9
+; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v9, v9
+; GFX9-NEXT: v_cndmask_b32_e32 v9, v10, v11, vcc
; GFX9-NEXT: s_lshl_b32 s4, s4, 16
-; GFX9-NEXT: v_lshrrev_b32_e32 v60, 16, v7
-; GFX9-NEXT: v_add_f32_e32 v7, s4, v20
-; GFX9-NEXT: v_bfe_u32 v8, v7, 16, 1
-; GFX9-NEXT: v_add_u32_e32 v8, v8, v7
-; GFX9-NEXT: v_add_u32_e32 v8, 0x7fff, v8
-; GFX9-NEXT: v_or_b32_e32 v9, 0x400000, v7
-; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v7, v7
-; GFX9-NEXT: v_cndmask_b32_e32 v7, v8, v9, vcc
-; GFX9-NEXT: v_lshrrev_b32_e32 v8, 16, v7
-; GFX9-NEXT: v_lshlrev_b32_e32 v7, 16, v60
-; GFX9-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
-; GFX9-NEXT: v_or_b32_sdwa v55, v7, v8 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_lshrrev_b64 v[7:8], 24, v[24:25]
-; GFX9-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[7:8], 24, v[22:23]
-; GFX9-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[7:8], 24, v[18:19]
-; GFX9-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[7:8], 24, v[16:17]
-; GFX9-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[7:8], 24, v[10:11]
-; GFX9-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[7:8], 24, v[5:6]
-; GFX9-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v7, 24, v56
-; GFX9-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v7, 8, v56
-; GFX9-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v7, 8, v55
-; GFX9-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v7, 24, v47
-; GFX9-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v7, 8, v47
-; GFX9-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v7, 8, v46
-; GFX9-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v7, 24, v45
-; GFX9-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v7, 24, v25
-; GFX9-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v7, 8, v25
-; GFX9-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v7, 8, v24
-; GFX9-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v7, 24, v23
-; GFX9-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v7, 8, v23
-; GFX9-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v7, 8, v22
-; GFX9-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v7, 24, v19
-; GFX9-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v7, 8, v19
-; GFX9-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v7, 8, v18
-; GFX9-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v7, 24, v17
-; GFX9-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v7, 8, v17
-; GFX9-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v7, 8, v16
-; GFX9-NEXT: v_lshrrev_b64 v[48:49], 24, v[40:41]
-; GFX9-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v7, 24, v11
-; GFX9-NEXT: v_lshrrev_b64 v[49:50], 24, v[53:54]
-; GFX9-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v7, 8, v11
-; GFX9-NEXT: v_lshrrev_b64 v[34:35], 24, v[46:47]
-; GFX9-NEXT: v_lshrrev_b64 v[37:38], 24, v[44:45]
-; GFX9-NEXT: v_lshrrev_b64 v[50:51], 24, v[30:31]
-; GFX9-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v7, 8, v10
-; GFX9-NEXT: v_lshrrev_b64 v[38:39], 24, v[42:43]
-; GFX9-NEXT: v_lshrrev_b64 v[51:52], 24, v[26:27]
-; GFX9-NEXT: v_lshrrev_b64 v[32:33], 24, v[3:4]
-; GFX9-NEXT: v_lshrrev_b64 v[35:36], 24, v[1:2]
-; GFX9-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v57, 16, v9
+; GFX9-NEXT: v_add_f32_e32 v9, s4, v22
+; GFX9-NEXT: v_bfe_u32 v10, v9, 16, 1
+; GFX9-NEXT: v_add_u32_e32 v10, v10, v9
+; GFX9-NEXT: v_add_u32_e32 v10, 0x7fff, v10
+; GFX9-NEXT: v_or_b32_e32 v11, 0x400000, v9
+; GFX9-NEXT: v_cmp_u_f32_e32 vcc, v9, v9
+; GFX9-NEXT: v_cndmask_b32_e32 v9, v10, v11, vcc
+; GFX9-NEXT: v_lshrrev_b32_e32 v10, 16, v9
+; GFX9-NEXT: v_lshlrev_b32_e32 v9, 16, v57
+; GFX9-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
+; GFX9-NEXT: v_or_b32_sdwa v55, v9, v10 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_lshrrev_b64 v[9:10], 24, v[24:25]
+; GFX9-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[9:10], 24, v[20:21]
+; GFX9-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[9:10], 24, v[18:19]
+; GFX9-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[9:10], 24, v[13:14]
+; GFX9-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[9:10], 24, v[7:8]
+; GFX9-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[9:10], 24, v[5:6]
+; GFX9-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v9, 24, v56
+; GFX9-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v9, 8, v56
+; GFX9-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v9, 8, v55
+; GFX9-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v9, 24, v47
+; GFX9-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v9, 8, v47
+; GFX9-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v9, 8, v46
+; GFX9-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v9, 24, v25
+; GFX9-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v9, 8, v25
+; GFX9-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v9, 8, v24
+; GFX9-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v9, 24, v21
+; GFX9-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v9, 8, v21
+; GFX9-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v9, 8, v20
+; GFX9-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v9, 24, v19
+; GFX9-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v9, 8, v19
+; GFX9-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v9, 8, v18
+; GFX9-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v9, 24, v14
+; GFX9-NEXT: v_lshrrev_b64 v[36:37], 24, v[44:45]
+; GFX9-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v9, 8, v14
+; GFX9-NEXT: v_lshrrev_b64 v[30:31], 24, v[55:56]
+; GFX9-NEXT: v_lshrrev_b64 v[37:38], 24, v[42:43]
+; GFX9-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v9, 8, v13
+; GFX9-NEXT: v_lshrrev_b32_e32 v7, 8, v7
+; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[46:47]
+; GFX9-NEXT: v_lshrrev_b64 v[38:39], 24, v[40:41]
+; GFX9-NEXT: v_lshrrev_b64 v[52:53], 24, v[28:29]
+; GFX9-NEXT: v_lshrrev_b64 v[31:32], 24, v[3:4]
+; GFX9-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v9, 24, v8
+; GFX9-NEXT: v_lshrrev_b32_e32 v8, 8, v8
+; GFX9-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v7, 24, v6
; GFX9-NEXT: v_lshrrev_b32_e32 v6, 8, v6
-; GFX9-NEXT: v_lshrrev_b64 v[28:29], 24, v[55:56]
-; GFX9-NEXT: v_lshrrev_b32_e32 v58, 8, v45
-; GFX9-NEXT: v_lshrrev_b32_e32 v36, 8, v44
-; GFX9-NEXT: v_lshrrev_b32_e32 v20, 24, v43
-; GFX9-NEXT: v_lshrrev_b32_e32 v52, 8, v43
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v41
-; GFX9-NEXT: v_lshrrev_b32_e32 v39, 8, v41
-; GFX9-NEXT: v_lshrrev_b32_e32 v41, 8, v30
-; GFX9-NEXT: v_lshrrev_b32_e32 v43, 24, v27
-; GFX9-NEXT: v_lshrrev_b32_e32 v59, 8, v27
-; GFX9-NEXT: v_lshrrev_b32_e32 v44, 8, v26
-; GFX9-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v30, 8, v5
-; GFX9-NEXT: v_lshrrev_b32_e32 v11, 8, v3
-; GFX9-NEXT: v_lshrrev_b32_e32 v25, 24, v2
-; GFX9-NEXT: v_lshrrev_b32_e32 v6, 8, v2
-; GFX9-NEXT: v_lshrrev_b32_e32 v45, 8, v1
-; GFX9-NEXT: v_mov_b32_e32 v3, v15
-; GFX9-NEXT: v_mov_b32_e32 v5, v21
-; GFX9-NEXT: v_mov_b32_e32 v23, v57
-; GFX9-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:424 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:396 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:420 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:412 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:428 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:392 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:384 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:380 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:368 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:352 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:376 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v56, off, s[0:3], s32 offset:364 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:360 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:348 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:356 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:400 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v57, off, s[0:3], s32 offset:404 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:372 ; 4-byte Folded Reload
-; GFX9-NEXT: v_lshrrev_b32_e32 v22, 24, v4
-; GFX9-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v18, 8, v4
-; GFX9-NEXT: v_mov_b32_e32 v4, v14
-; GFX9-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:408 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:388 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:416 ; 4-byte Folded Reload
-; GFX9-NEXT: v_lshrrev_b32_e32 v13, 8, v42
+; GFX9-NEXT: v_lshrrev_b64 v[53:54], 24, v[26:27]
+; GFX9-NEXT: v_lshrrev_b64 v[34:35], 24, v[1:2]
+; GFX9-NEXT: v_lshrrev_b32_e32 v61, 24, v45
+; GFX9-NEXT: v_lshrrev_b32_e32 v32, 8, v45
+; GFX9-NEXT: v_lshrrev_b32_e32 v59, 8, v44
+; GFX9-NEXT: v_lshrrev_b32_e32 v22, 24, v43
+; GFX9-NEXT: v_lshrrev_b32_e32 v39, 8, v43
+; GFX9-NEXT: v_lshrrev_b32_e32 v43, 8, v28
+; GFX9-NEXT: v_lshrrev_b32_e32 v58, 24, v27
+; GFX9-NEXT: v_lshrrev_b32_e32 v44, 8, v27
+; GFX9-NEXT: v_lshrrev_b32_e32 v45, 8, v26
+; GFX9-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v6, 8, v3
+; GFX9-NEXT: v_lshrrev_b32_e32 v18, 24, v2
+; GFX9-NEXT: v_lshrrev_b32_e32 v19, 8, v2
+; GFX9-NEXT: v_lshrrev_b32_e32 v8, 8, v1
+; GFX9-NEXT: v_mov_b32_e32 v24, v23
+; GFX9-NEXT: v_mov_b32_e32 v3, v16
+; GFX9-NEXT: v_mov_b32_e32 v21, v17
+; GFX9-NEXT: v_mov_b32_e32 v26, v60
+; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:424 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v56, off, s[0:3], s32 offset:388 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:416 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:408 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:376 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:384 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:380 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:372 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:400 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:392 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:368 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:360 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:356 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:352 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v60, off, s[0:3], s32 offset:404 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:396 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:348 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:364 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:412 ; 4-byte Folded Reload
+; GFX9-NEXT: v_lshrrev_b64 v[48:49], 24, v[50:51]
+; GFX9-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v12, v15
+; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:420 ; 4-byte Folded Reload
+; GFX9-NEXT: v_lshrrev_b32_e32 v35, 8, v42
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 24, v41
+; GFX9-NEXT: v_lshrrev_b32_e32 v54, 8, v41
; GFX9-NEXT: v_lshrrev_b32_e32 v55, 8, v40
-; GFX9-NEXT: v_lshrrev_b32_e32 v42, 24, v54
-; GFX9-NEXT: v_lshrrev_b32_e32 v54, 8, v54
-; GFX9-NEXT: v_lshrrev_b32_e32 v53, 8, v53
-; GFX9-NEXT: v_lshrrev_b32_e32 v40, 24, v31
-; GFX9-NEXT: v_lshrrev_b32_e32 v31, 8, v31
+; GFX9-NEXT: v_lshrrev_b32_e32 v42, 24, v51
+; GFX9-NEXT: v_lshrrev_b32_e32 v51, 8, v51
+; GFX9-NEXT: v_lshrrev_b32_e32 v50, 8, v50
+; GFX9-NEXT: v_lshrrev_b32_e32 v40, 24, v29
+; GFX9-NEXT: v_lshrrev_b32_e32 v41, 8, v29
+; GFX9-NEXT: v_lshrrev_b32_e32 v29, 8, v5
+; GFX9-NEXT: v_lshrrev_b32_e32 v5, 24, v4
+; GFX9-NEXT: v_lshrrev_b32_e32 v4, 8, v4
; GFX9-NEXT: s_branch .LBB91_6
; GFX9-NEXT: .LBB91_5:
; GFX9-NEXT: v_mov_b32_e32 v1, s4
-; GFX9-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
; GFX9-NEXT: v_mov_b32_e32 v1, s5
-; GFX9-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
; GFX9-NEXT: v_mov_b32_e32 v1, s28
-; GFX9-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
; GFX9-NEXT: v_mov_b32_e32 v1, s29
-; GFX9-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
; GFX9-NEXT: v_mov_b32_e32 v1, s26
-; GFX9-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
; GFX9-NEXT: v_mov_b32_e32 v1, s27
+; GFX9-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v1, s24
; GFX9-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
; GFX9-NEXT: v_mov_b32_e32 v1, s6
; GFX9-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
@@ -163423,246 +163493,241 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX9-NEXT: v_mov_b32_e32 v1, s13
; GFX9-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
; GFX9-NEXT: v_mov_b32_e32 v1, s56
-; GFX9-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
; GFX9-NEXT: v_mov_b32_e32 v1, s50
-; GFX9-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v1, s52
-; GFX9-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v1, s51
+; GFX9-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
; GFX9-NEXT: v_mov_b32_e32 v1, s99
-; GFX9-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v1, s39
-; GFX9-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v1, s87
+; GFX9-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v1, s47
+; GFX9-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v1, s86
+; GFX9-NEXT: v_mov_b32_e32 v4, s83
; GFX9-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
; GFX9-NEXT: v_mov_b32_e32 v1, s96
; GFX9-NEXT: v_readlane_b32 s4, v62, 4
-; GFX9-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v4, s69
+; GFX9-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
; GFX9-NEXT: v_mov_b32_e32 v1, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 5
+; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v4, s82
; GFX9-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
; GFX9-NEXT: v_mov_b32_e32 v1, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 6
-; GFX9-NEXT: v_mov_b32_e32 v14, s4
+; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v4, s68
+; GFX9-NEXT: v_mov_b32_e32 v15, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 7
-; GFX9-NEXT: v_mov_b32_e32 v29, s4
+; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v4, s81
+; GFX9-NEXT: v_mov_b32_e32 v11, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 8
-; GFX9-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v1, s4
+; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v4, s67
+; GFX9-NEXT: v_mov_b32_e32 v56, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 9
+; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v4, s80
; GFX9-NEXT: v_mov_b32_e32 v12, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 10
-; GFX9-NEXT: v_mov_b32_e32 v6, s41
-; GFX9-NEXT: v_mov_b32_e32 v15, s4
-; GFX9-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v6, s65
+; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v4, s66
+; GFX9-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v1, s4
+; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v4, s71
; GFX9-NEXT: v_readlane_b32 s4, v62, 11
-; GFX9-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v6, s4
+; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v4, s4
+; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
; GFX9-NEXT: v_readlane_b32 s4, v62, 12
-; GFX9-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v6, s4
+; GFX9-NEXT: v_mov_b32_e32 v4, s41
+; GFX9-NEXT: v_mov_b32_e32 v25, s4
+; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v4, s65
; GFX9-NEXT: v_readlane_b32 s4, v62, 13
-; GFX9-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v6, s4
+; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v4, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 14
-; GFX9-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v6, s4
+; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v4, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 15
-; GFX9-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v6, s4
+; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v4, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 16
-; GFX9-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v6, s4
+; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v4, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 17
-; GFX9-NEXT: v_mov_b32_e32 v36, s4
+; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v4, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 18
-; GFX9-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v6, s4
+; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v4, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 19
-; GFX9-NEXT: v_mov_b32_e32 v58, s4
+; GFX9-NEXT: v_mov_b32_e32 v59, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 20
-; GFX9-NEXT: v_mov_b32_e32 v13, s4
+; GFX9-NEXT: v_mov_b32_e32 v61, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 21
-; GFX9-NEXT: v_mov_b32_e32 v20, s4
+; GFX9-NEXT: v_mov_b32_e32 v32, s4
+; GFX9-NEXT: v_mov_b32_e32 v31, s78
+; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v31, s88
; GFX9-NEXT: v_readlane_b32 s4, v62, 22
-; GFX9-NEXT: v_mov_b32_e32 v52, s4
+; GFX9-NEXT: v_mov_b32_e32 v35, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 23
-; GFX9-NEXT: v_mov_b32_e32 v55, s4
+; GFX9-NEXT: v_mov_b32_e32 v22, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 24
-; GFX9-NEXT: v_mov_b32_e32 v33, s4
-; GFX9-NEXT: v_mov_b32_e32 v32, s78
-; GFX9-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v32, s88
-; GFX9-NEXT: v_readlane_b32 s4, v62, 25
+; GFX9-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v31, s90
; GFX9-NEXT: v_mov_b32_e32 v39, s4
+; GFX9-NEXT: v_readlane_b32 s4, v62, 25
+; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v55, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 26
-; GFX9-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v53, s4
+; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v31, s92
+; GFX9-NEXT: v_mov_b32_e32 v4, s53
+; GFX9-NEXT: v_mov_b32_e32 v49, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 27
-; GFX9-NEXT: v_mov_b32_e32 v6, s54
-; GFX9-NEXT: v_mov_b32_e32 v42, s4
-; GFX9-NEXT: v_readlane_b32 s4, v62, 28
-; GFX9-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v6, s55
+; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v4, s64
+; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v31, s94
; GFX9-NEXT: v_mov_b32_e32 v54, s4
+; GFX9-NEXT: v_readlane_b32 s4, v62, 28
+; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v4, s46
+; GFX9-NEXT: v_mov_b32_e32 v50, s4
+; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
; GFX9-NEXT: v_readlane_b32 s4, v62, 29
-; GFX9-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v6, s46
-; GFX9-NEXT: v_mov_b32_e32 v41, s4
+; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v4, s38
+; GFX9-NEXT: v_mov_b32_e32 v42, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 30
-; GFX9-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v6, s38
-; GFX9-NEXT: v_mov_b32_e32 v40, s4
-; GFX9-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v32, s90
+; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v4, s49
+; GFX9-NEXT: v_mov_b32_e32 v51, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 31
-; GFX9-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v6, s49
-; GFX9-NEXT: v_mov_b32_e32 v31, s4
+; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v4, s48
+; GFX9-NEXT: v_mov_b32_e32 v43, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 32
-; GFX9-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v6, s48
-; GFX9-NEXT: v_mov_b32_e32 v44, s4
+; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v4, s87
+; GFX9-NEXT: v_mov_b32_e32 v40, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 33
-; GFX9-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v6, s57
-; GFX9-NEXT: v_mov_b32_e32 v43, s4
+; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v4, s98
+; GFX9-NEXT: v_mov_b32_e32 v41, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 34
-; GFX9-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v6, s98
-; GFX9-NEXT: v_mov_b32_e32 v59, s4
-; GFX9-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v6, s97
+; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v4, s97
+; GFX9-NEXT: v_mov_b32_e32 v45, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 35
-; GFX9-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v32, s92
-; GFX9-NEXT: v_mov_b32_e32 v6, s4
-; GFX9-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v6, s67
+; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v4, s70
+; GFX9-NEXT: v_mov_b32_e32 v58, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 36
-; GFX9-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v6, s4
+; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v4, s85
+; GFX9-NEXT: v_mov_b32_e32 v44, s4
+; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v4, s57
; GFX9-NEXT: v_readlane_b32 s4, v62, 37
-; GFX9-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v6, s4
+; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v4, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 38
-; GFX9-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v6, s4
+; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v4, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 39
-; GFX9-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v6, s4
+; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v4, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 40
-; GFX9-NEXT: v_mov_b32_e32 v30, s4
+; GFX9-NEXT: v_mov_b32_e32 v29, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 41
-; GFX9-NEXT: v_mov_b32_e32 v2, s86
-; GFX9-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v32, s94
-; GFX9-NEXT: v_mov_b32_e32 v6, s4
+; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v4, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 42
-; GFX9-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v2, s81
-; GFX9-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v6, s4
+; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v4, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 43
-; GFX9-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v2, s85
-; GFX9-NEXT: v_mov_b32_e32 v11, s4
+; GFX9-NEXT: v_mov_b32_e32 v6, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 44
-; GFX9-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v2, s80
-; GFX9-NEXT: v_mov_b32_e32 v22, s4
+; GFX9-NEXT: v_mov_b32_e32 v5, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 45
-; GFX9-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v2, s84
-; GFX9-NEXT: v_mov_b32_e32 v18, s4
+; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v4, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 46
-; GFX9-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v2, s71
-; GFX9-NEXT: v_mov_b32_e32 v45, s4
+; GFX9-NEXT: v_mov_b32_e32 v8, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 47
-; GFX9-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v2, s83
-; GFX9-NEXT: v_mov_b32_e32 v25, s4
+; GFX9-NEXT: v_mov_b32_e32 v18, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 48
-; GFX9-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v2, s70
-; GFX9-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v6, s4
+; GFX9-NEXT: v_mov_b32_e32 v19, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 2
-; GFX9-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v2, s82
; GFX9-NEXT: v_readlane_b32 s5, v62, 3
-; GFX9-NEXT: v_mov_b32_e32 v32, vcc_lo
-; GFX9-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v2, s69
-; GFX9-NEXT: v_mov_b32_e32 v28, s4
+; GFX9-NEXT: v_mov_b32_e32 v31, vcc_lo
+; GFX9-NEXT: v_mov_b32_e32 v30, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 0
-; GFX9-NEXT: v_mov_b32_e32 v4, s24
-; GFX9-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
; GFX9-NEXT: v_mov_b32_e32 v3, s25
-; GFX9-NEXT: v_mov_b32_e32 v5, s22
-; GFX9-NEXT: v_mov_b32_e32 v23, s23
-; GFX9-NEXT: v_mov_b32_e32 v19, s20
-; GFX9-NEXT: v_mov_b32_e32 v10, s21
-; GFX9-NEXT: v_mov_b32_e32 v16, s18
-; GFX9-NEXT: v_mov_b32_e32 v17, s19
-; GFX9-NEXT: v_mov_b32_e32 v26, s16
-; GFX9-NEXT: v_mov_b32_e32 v24, s17
-; GFX9-NEXT: v_mov_b32_e32 v60, s64
-; GFX9-NEXT: v_mov_b32_e32 v61, s66
-; GFX9-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v27, s40
-; GFX9-NEXT: v_mov_b32_e32 v2, s68
-; GFX9-NEXT: v_mov_b32_e32 v56, s42
-; GFX9-NEXT: v_mov_b32_e32 v8, s51
+; GFX9-NEXT: v_mov_b32_e32 v21, s22
+; GFX9-NEXT: v_mov_b32_e32 v26, s23
+; GFX9-NEXT: v_mov_b32_e32 v27, s20
+; GFX9-NEXT: v_mov_b32_e32 v7, s21
+; GFX9-NEXT: v_mov_b32_e32 v14, s18
+; GFX9-NEXT: v_mov_b32_e32 v28, s19
+; GFX9-NEXT: v_mov_b32_e32 v2, s16
+; GFX9-NEXT: v_mov_b32_e32 v13, s17
+; GFX9-NEXT: v_mov_b32_e32 v57, s55
+; GFX9-NEXT: v_mov_b32_e32 v24, s84
+; GFX9-NEXT: v_mov_b32_e32 v20, s40
+; GFX9-NEXT: v_mov_b32_e32 v16, s42
+; GFX9-NEXT: v_mov_b32_e32 v17, s52
; GFX9-NEXT: v_mov_b32_e32 v46, s43
-; GFX9-NEXT: v_mov_b32_e32 v47, s53
-; GFX9-NEXT: v_mov_b32_e32 v7, s44
-; GFX9-NEXT: v_mov_b32_e32 v9, s59
-; GFX9-NEXT: v_mov_b32_e32 v21, s45
-; GFX9-NEXT: v_mov_b32_e32 v57, s47
+; GFX9-NEXT: v_mov_b32_e32 v47, s54
+; GFX9-NEXT: v_mov_b32_e32 v60, s44
+; GFX9-NEXT: v_mov_b32_e32 v10, s59
+; GFX9-NEXT: v_mov_b32_e32 v23, s45
+; GFX9-NEXT: v_mov_b32_e32 v9, s39
; GFX9-NEXT: v_readlane_b32 s5, v62, 1
-; GFX9-NEXT: v_mov_b32_e32 v34, s4
-; GFX9-NEXT: v_mov_b32_e32 v37, s58
-; GFX9-NEXT: v_mov_b32_e32 v38, s60
-; GFX9-NEXT: v_mov_b32_e32 v48, s62
-; GFX9-NEXT: v_mov_b32_e32 v49, s72
-; GFX9-NEXT: v_mov_b32_e32 v50, s74
-; GFX9-NEXT: v_mov_b32_e32 v51, s76
-; GFX9-NEXT: v_mov_b32_e32 v32, s30
-; GFX9-NEXT: v_mov_b32_e32 v35, s34
+; GFX9-NEXT: v_mov_b32_e32 v33, s4
+; GFX9-NEXT: v_mov_b32_e32 v36, s58
+; GFX9-NEXT: v_mov_b32_e32 v37, s60
+; GFX9-NEXT: v_mov_b32_e32 v38, s62
+; GFX9-NEXT: v_mov_b32_e32 v48, s72
+; GFX9-NEXT: v_mov_b32_e32 v52, s74
+; GFX9-NEXT: v_mov_b32_e32 v53, s76
+; GFX9-NEXT: v_mov_b32_e32 v31, s30
+; GFX9-NEXT: v_mov_b32_e32 v34, s34
; GFX9-NEXT: .LBB91_6: ; %end
; GFX9-NEXT: s_mov_b32 s4, 0xc0c0004
; GFX9-NEXT: s_waitcnt vmcnt(2)
-; GFX9-NEXT: v_perm_b32 v29, v29, v50, s4
-; GFX9-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(2)
-; GFX9-NEXT: v_perm_b32 v12, v12, v51, s4
-; GFX9-NEXT: v_perm_b32 v26, v26, v44, s4
+; GFX9-NEXT: v_perm_b32 v11, v11, v52, s4
+; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v12, v12, v53, s4
+; GFX9-NEXT: v_perm_b32 v2, v2, v45, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v12, 16, v12
-; GFX9-NEXT: v_or_b32_e32 v12, v26, v12
-; GFX9-NEXT: v_perm_b32 v15, v15, v43, s4
-; GFX9-NEXT: v_lshlrev_b32_e32 v15, 16, v15
-; GFX9-NEXT: v_perm_b32 v1, v1, v40, s4
+; GFX9-NEXT: v_or_b32_e32 v2, v2, v12
+; GFX9-NEXT: v_perm_b32 v1, v1, v58, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v1, 16, v1
-; GFX9-NEXT: v_perm_b32 v28, v60, v28, s4
-; GFX9-NEXT: v_perm_b32 v9, v9, v35, s4
-; GFX9-NEXT: v_perm_b32 v8, v8, v32, s4
+; GFX9-NEXT: v_perm_b32 v30, v57, v30, s4
+; GFX9-NEXT: v_perm_b32 v10, v10, v34, s4
+; GFX9-NEXT: v_perm_b32 v17, v17, v31, s4
; GFX9-NEXT: v_readlane_b32 s30, v63, 34
; GFX9-NEXT: v_readlane_b32 s31, v63, 35
; GFX9-NEXT: v_readlane_b32 s99, v63, 33
@@ -163700,148 +163765,152 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX9-NEXT: v_readlane_b32 s35, v63, 1
; GFX9-NEXT: v_readlane_b32 s34, v63, 0
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v49, v50, v49, s4
-; GFX9-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v48, v50, v48, s4
-; GFX9-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v38, v50, v38, s4
-; GFX9-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v37, v50, v37, s4
-; GFX9-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v34, v50, v34, s4
-; GFX9-NEXT: buffer_store_dword v12, v0, s[0:3], 0 offen
-; GFX9-NEXT: v_perm_b32 v12, v24, v59, s4
-; GFX9-NEXT: v_or_b32_e32 v12, v12, v15
-; GFX9-NEXT: buffer_store_dword v12, v0, s[0:3], 0 offen offset:4
-; GFX9-NEXT: v_perm_b32 v12, v16, v41, s4
-; GFX9-NEXT: v_lshlrev_b32_e32 v15, 16, v29
-; GFX9-NEXT: v_or_b32_e32 v12, v12, v15
-; GFX9-NEXT: buffer_store_dword v12, v0, s[0:3], 0 offen offset:8
-; GFX9-NEXT: v_perm_b32 v12, v17, v31, s4
-; GFX9-NEXT: v_or_b32_e32 v1, v12, v1
+; GFX9-NEXT: v_perm_b32 v48, v52, v48, s4
+; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_perm_b32 v38, v52, v38, s4
+; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_perm_b32 v37, v52, v37, s4
+; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_perm_b32 v36, v52, v36, s4
+; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_perm_b32 v33, v52, v33, s4
+; GFX9-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen
+; GFX9-NEXT: v_perm_b32 v2, v13, v44, s4
+; GFX9-NEXT: v_or_b32_e32 v1, v2, v1
+; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:4
+; GFX9-NEXT: v_perm_b32 v1, v14, v43, s4
+; GFX9-NEXT: v_lshlrev_b32_e32 v2, 16, v11
+; GFX9-NEXT: v_or_b32_e32 v1, v1, v2
+; GFX9-NEXT: v_perm_b32 v2, v56, v40, s4
+; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:8
+; GFX9-NEXT: v_perm_b32 v1, v28, v41, s4
+; GFX9-NEXT: v_lshlrev_b32_e32 v2, 16, v2
+; GFX9-NEXT: v_or_b32_e32 v1, v1, v2
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:12
-; GFX9-NEXT: v_perm_b32 v1, v19, v53, s4
-; GFX9-NEXT: v_lshlrev_b32_e32 v12, 16, v49
-; GFX9-NEXT: v_or_b32_e32 v1, v1, v12
+; GFX9-NEXT: v_perm_b32 v1, v27, v50, s4
+; GFX9-NEXT: v_lshlrev_b32_e32 v2, 16, v48
+; GFX9-NEXT: v_or_b32_e32 v1, v1, v2
+; GFX9-NEXT: v_perm_b32 v2, v15, v42, s4
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:16
-; GFX9-NEXT: v_perm_b32 v1, v10, v54, s4
-; GFX9-NEXT: v_perm_b32 v10, v14, v42, s4
-; GFX9-NEXT: v_lshlrev_b32_e32 v10, 16, v10
-; GFX9-NEXT: v_or_b32_e32 v1, v1, v10
+; GFX9-NEXT: v_perm_b32 v1, v7, v51, s4
+; GFX9-NEXT: v_lshlrev_b32_e32 v2, 16, v2
+; GFX9-NEXT: v_or_b32_e32 v1, v1, v2
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:20
-; GFX9-NEXT: v_perm_b32 v1, v5, v55, s4
-; GFX9-NEXT: v_lshlrev_b32_e32 v5, 16, v48
-; GFX9-NEXT: v_or_b32_e32 v1, v1, v5
-; GFX9-NEXT: v_perm_b32 v5, v61, v33, s4
+; GFX9-NEXT: v_perm_b32 v1, v21, v55, s4
+; GFX9-NEXT: v_lshlrev_b32_e32 v2, 16, v38
+; GFX9-NEXT: v_or_b32_e32 v1, v1, v2
+; GFX9-NEXT: v_perm_b32 v2, v24, v49, s4
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:24
-; GFX9-NEXT: v_perm_b32 v1, v23, v39, s4
-; GFX9-NEXT: v_lshlrev_b32_e32 v5, 16, v5
-; GFX9-NEXT: v_or_b32_e32 v1, v1, v5
+; GFX9-NEXT: v_perm_b32 v1, v26, v54, s4
+; GFX9-NEXT: v_lshlrev_b32_e32 v2, 16, v2
+; GFX9-NEXT: v_or_b32_e32 v1, v1, v2
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:28
-; GFX9-NEXT: v_perm_b32 v1, v4, v13, s4
-; GFX9-NEXT: v_lshlrev_b32_e32 v4, 16, v38
-; GFX9-NEXT: v_or_b32_e32 v1, v1, v4
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
+; GFX9-NEXT: v_lshlrev_b32_e32 v2, 16, v37
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_perm_b32 v1, v1, v35, s4
+; GFX9-NEXT: v_or_b32_e32 v1, v1, v2
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:32
-; GFX9-NEXT: v_perm_b32 v1, v3, v52, s4
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v1, v3, v39, s4
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v3, v3, v20, s4
-; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v3
-; GFX9-NEXT: v_or_b32_e32 v1, v1, v3
+; GFX9-NEXT: v_perm_b32 v2, v2, v22, s4
+; GFX9-NEXT: v_lshlrev_b32_e32 v2, 16, v2
+; GFX9-NEXT: v_or_b32_e32 v1, v1, v2
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:36
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
-; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v37
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
+; GFX9-NEXT: v_lshlrev_b32_e32 v2, 16, v36
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v1, v1, v36, s4
-; GFX9-NEXT: v_or_b32_e32 v1, v1, v3
+; GFX9-NEXT: v_perm_b32 v1, v1, v59, s4
+; GFX9-NEXT: v_or_b32_e32 v1, v1, v2
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:40
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:344 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v3, v3, v4, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
-; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v3
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(1)
+; GFX9-NEXT: v_perm_b32 v1, v1, v32, s4
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v1, v1, v58, s4
-; GFX9-NEXT: v_or_b32_e32 v1, v1, v3
+; GFX9-NEXT: v_perm_b32 v2, v2, v61, s4
+; GFX9-NEXT: v_lshlrev_b32_e32 v2, 16, v2
+; GFX9-NEXT: v_or_b32_e32 v1, v1, v2
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:44
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:340 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:344 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v1, v1, v3, s4
-; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v34
-; GFX9-NEXT: v_or_b32_e32 v1, v1, v3
+; GFX9-NEXT: v_perm_b32 v1, v1, v2, s4
+; GFX9-NEXT: v_lshlrev_b32_e32 v2, 16, v33
+; GFX9-NEXT: v_or_b32_e32 v1, v1, v2
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:48
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:336 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:340 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v1, v1, v3, s4
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:332 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v1, v1, v2, s4
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:336 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v3, v3, v4, s4
-; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v3
-; GFX9-NEXT: v_or_b32_e32 v1, v1, v3
+; GFX9-NEXT: v_perm_b32 v2, v2, v3, s4
+; GFX9-NEXT: v_lshlrev_b32_e32 v2, 16, v2
+; GFX9-NEXT: v_or_b32_e32 v1, v1, v2
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:52
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:328 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:332 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v1, v1, v3, s4
-; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v28
-; GFX9-NEXT: v_or_b32_e32 v1, v1, v3
+; GFX9-NEXT: v_perm_b32 v1, v1, v2, s4
+; GFX9-NEXT: v_lshlrev_b32_e32 v2, 16, v30
+; GFX9-NEXT: v_or_b32_e32 v1, v1, v2
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:56
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:324 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:328 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v1, v1, v3, s4
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:320 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v1, v1, v2, s4
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:324 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v3, v3, v4, s4
-; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v3
-; GFX9-NEXT: v_or_b32_e32 v1, v1, v3
+; GFX9-NEXT: v_perm_b32 v2, v2, v3, s4
+; GFX9-NEXT: v_lshlrev_b32_e32 v2, 16, v2
+; GFX9-NEXT: v_or_b32_e32 v1, v1, v2
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:60
-; GFX9-NEXT: v_perm_b32 v1, v7, v45, s4
-; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v9
-; GFX9-NEXT: v_or_b32_e32 v1, v1, v3
-; GFX9-NEXT: v_perm_b32 v3, v57, v25, s4
+; GFX9-NEXT: v_perm_b32 v1, v60, v8, s4
+; GFX9-NEXT: v_lshlrev_b32_e32 v2, 16, v10
+; GFX9-NEXT: v_or_b32_e32 v1, v1, v2
+; GFX9-NEXT: v_perm_b32 v2, v9, v18, s4
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:64
-; GFX9-NEXT: v_perm_b32 v1, v21, v6, s4
-; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v3
-; GFX9-NEXT: v_or_b32_e32 v1, v1, v3
+; GFX9-NEXT: v_perm_b32 v1, v23, v19, s4
+; GFX9-NEXT: v_lshlrev_b32_e32 v2, 16, v2
+; GFX9-NEXT: v_or_b32_e32 v1, v1, v2
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:68
-; GFX9-NEXT: v_perm_b32 v1, v56, v11, s4
-; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v8
-; GFX9-NEXT: v_or_b32_e32 v1, v1, v3
-; GFX9-NEXT: v_perm_b32 v3, v47, v22, s4
+; GFX9-NEXT: v_perm_b32 v1, v16, v6, s4
+; GFX9-NEXT: v_lshlrev_b32_e32 v2, 16, v17
+; GFX9-NEXT: v_or_b32_e32 v1, v1, v2
+; GFX9-NEXT: v_perm_b32 v2, v47, v5, s4
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:72
-; GFX9-NEXT: v_perm_b32 v1, v46, v18, s4
-; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v3
-; GFX9-NEXT: v_or_b32_e32 v1, v1, v3
+; GFX9-NEXT: v_perm_b32 v1, v46, v4, s4
+; GFX9-NEXT: v_lshlrev_b32_e32 v2, 16, v2
+; GFX9-NEXT: v_or_b32_e32 v1, v1, v2
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:76
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:300 ; 4-byte Folded Reload
-; GFX9-NEXT: v_perm_b32 v1, v27, v30, s4
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:300 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v1, v20, v29, s4
; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_perm_b32 v2, v2, v3, s4
+; GFX9-NEXT: v_perm_b32 v2, v25, v2, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v2, 16, v2
; GFX9-NEXT: v_or_b32_e32 v1, v1, v2
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:80
; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:316 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:320 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v2, v1, v2, s4
; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:312 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:316 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v1, v3, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v1, 16, v1
@@ -163849,12 +163918,12 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:84
; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:308 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:312 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v2, v1, v2, s4
; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_perm_b32 v1, v1, v3, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v1, 16, v1
@@ -163862,11 +163931,11 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:88
; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:304 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:308 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v2, v1, v2, s4
; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:304 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v1, v3, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v1, 16, v1
@@ -163874,12 +163943,12 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:92
; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v2, v1, v2, s4
; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_perm_b32 v1, v1, v3, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v1, 16, v1
@@ -163887,11 +163956,11 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:96
; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v2, v1, v2, s4
; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:280 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v1, v3, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v1, 16, v1
@@ -163899,12 +163968,12 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:100
; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:276 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:280 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v2, v1, v2, s4
; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_perm_b32 v1, v1, v3, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v1, 16, v1
@@ -163912,11 +163981,11 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:104
; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:272 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:276 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v2, v1, v2, s4
; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:268 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:272 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v1, v3, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v1, 16, v1
@@ -163924,12 +163993,12 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:108
; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:268 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v2, v1, v2, s4
; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_perm_b32 v1, v1, v3, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v1, 16, v1
@@ -163937,11 +164006,11 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:112
; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v2, v1, v2, s4
; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v1, v3, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v1, 16, v1
@@ -163949,12 +164018,12 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:116
; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v2, v1, v2, s4
; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_perm_b32 v1, v1, v3, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v1, 16, v1
@@ -163962,11 +164031,11 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:120
; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:56 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v2, v1, v2, s4
; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v1, v3, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v1, 16, v1
@@ -163987,8 +164056,8 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX9-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:48 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:52 ; 4-byte Folded Reload
; GFX9-NEXT: s_or_saveexec_b64 s[4:5], -1
-; GFX9-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:432 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:436 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:428 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:432 ; 4-byte Folded Reload
; GFX9-NEXT: s_mov_b64 exec, s[4:5]
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: s_setpc_b64 s[30:31]
@@ -164103,139 +164172,142 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX11-TRUE16-NEXT: s_cbranch_scc0 .LBB91_2
; GFX11-TRUE16-NEXT: ; %bb.1: ; %cmp.false
; GFX11-TRUE16-NEXT: s_lshr_b32 s42, s21, 24
-; GFX11-TRUE16-NEXT: s_lshr_b64 s[78:79], s[24:25], 24
-; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s42, 17
+; GFX11-TRUE16-NEXT: s_lshr_b64 s[74:75], s[26:27], 24
+; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s42, 20
; GFX11-TRUE16-NEXT: s_lshr_b32 s42, s21, 8
-; GFX11-TRUE16-NEXT: s_lshr_b32 s74, s9, 24
-; GFX11-TRUE16-NEXT: s_lshr_b32 s76, s29, 16
+; GFX11-TRUE16-NEXT: s_lshr_b32 s72, s21, 16
+; GFX11-TRUE16-NEXT: s_lshr_b32 s76, s10, 16
; GFX11-TRUE16-NEXT: s_lshr_b32 s77, s28, 16
-; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s42, 18
+; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s42, 21
; GFX11-TRUE16-NEXT: s_lshr_b32 s42, s20, 8
-; GFX11-TRUE16-NEXT: s_lshr_b64 s[72:73], s[26:27], 24
-; GFX11-TRUE16-NEXT: s_lshr_b32 s101, s27, 24
-; GFX11-TRUE16-NEXT: s_lshr_b32 s30, s27, 16
-; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s42, 16
+; GFX11-TRUE16-NEXT: s_lshr_b32 s99, s27, 24
+; GFX11-TRUE16-NEXT: s_lshr_b32 s73, s27, 16
+; GFX11-TRUE16-NEXT: s_lshr_b32 s97, s27, 8
+; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s42, 19
; GFX11-TRUE16-NEXT: s_lshr_b32 s42, s19, 24
-; GFX11-TRUE16-NEXT: s_lshr_b32 s99, s27, 8
-; GFX11-TRUE16-NEXT: s_lshr_b32 s63, s26, 16
-; GFX11-TRUE16-NEXT: s_lshr_b32 s97, s26, 8
-; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s42, 20
+; GFX11-TRUE16-NEXT: s_lshr_b32 s61, s26, 16
+; GFX11-TRUE16-NEXT: s_lshr_b32 s87, s26, 8
+; GFX11-TRUE16-NEXT: s_lshr_b32 s83, s25, 24
+; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s42, 23
; GFX11-TRUE16-NEXT: s_lshr_b32 s42, s19, 8
-; GFX11-TRUE16-NEXT: s_lshr_b32 s85, s25, 24
-; GFX11-TRUE16-NEXT: s_lshr_b32 s61, s25, 16
-; GFX11-TRUE16-NEXT: s_lshr_b32 s82, s25, 8
-; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s42, 21
+; GFX11-TRUE16-NEXT: s_lshr_b32 s57, s25, 16
+; GFX11-TRUE16-NEXT: s_lshr_b32 s81, s25, 8
+; GFX11-TRUE16-NEXT: s_lshr_b32 s45, s24, 16
+; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s42, 24
; GFX11-TRUE16-NEXT: s_lshr_b32 s42, s18, 8
-; GFX11-TRUE16-NEXT: s_lshr_b32 s57, s24, 16
-; GFX11-TRUE16-NEXT: s_lshr_b32 s81, s24, 8
-; GFX11-TRUE16-NEXT: s_lshr_b32 s69, s23, 24
-; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s42, 19
+; GFX11-TRUE16-NEXT: s_lshr_b32 s71, s24, 8
+; GFX11-TRUE16-NEXT: s_lshr_b32 s67, s23, 24
+; GFX11-TRUE16-NEXT: s_lshr_b32 s60, s23, 16
+; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s42, 22
; GFX11-TRUE16-NEXT: s_lshr_b32 s42, s17, 24
-; GFX11-TRUE16-NEXT: s_lshr_b32 s45, s23, 16
-; GFX11-TRUE16-NEXT: s_lshr_b32 s66, s23, 8
-; GFX11-TRUE16-NEXT: s_lshr_b32 s60, s22, 16
-; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s42, 23
+; GFX11-TRUE16-NEXT: s_lshr_b32 s65, s23, 8
+; GFX11-TRUE16-NEXT: s_lshr_b32 s56, s22, 16
+; GFX11-TRUE16-NEXT: s_lshr_b32 s55, s22, 8
+; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s42, 26
; GFX11-TRUE16-NEXT: s_lshr_b32 s42, s17, 8
-; GFX11-TRUE16-NEXT: s_lshr_b32 s64, s22, 8
-; GFX11-TRUE16-NEXT: s_lshr_b32 s46, s21, 16
-; GFX11-TRUE16-NEXT: s_lshr_b32 s44, s20, 16
-; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s42, 24
+; GFX11-TRUE16-NEXT: s_lshr_b32 s104, s20, 16
+; GFX11-TRUE16-NEXT: s_lshr_b32 s100, s19, 16
+; GFX11-TRUE16-NEXT: s_lshr_b32 s98, s18, 16
+; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s42, 27
; GFX11-TRUE16-NEXT: s_lshr_b32 s42, s16, 8
-; GFX11-TRUE16-NEXT: s_lshr_b32 s102, s19, 16
-; GFX11-TRUE16-NEXT: s_lshr_b32 s100, s18, 16
-; GFX11-TRUE16-NEXT: s_lshr_b32 s87, s17, 16
-; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s42, 22
+; GFX11-TRUE16-NEXT: s_lshr_b32 s84, s17, 16
+; GFX11-TRUE16-NEXT: s_lshr_b32 s82, s16, 16
+; GFX11-TRUE16-NEXT: s_lshr_b32 s68, s3, 16
+; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s42, 25
; GFX11-TRUE16-NEXT: s_lshr_b32 s42, s3, 24
-; GFX11-TRUE16-NEXT: s_lshr_b32 s83, s16, 16
-; GFX11-TRUE16-NEXT: s_lshr_b32 s71, s3, 16
-; GFX11-TRUE16-NEXT: s_lshr_b32 s67, s2, 16
-; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s42, 26
+; GFX11-TRUE16-NEXT: s_lshr_b32 s66, s2, 16
+; GFX11-TRUE16-NEXT: s_lshr_b32 s30, s5, 24
+; GFX11-TRUE16-NEXT: s_lshr_b32 s54, s5, 16
+; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s42, 29
; GFX11-TRUE16-NEXT: s_lshr_b32 s42, s3, 8
-; GFX11-TRUE16-NEXT: s_lshr_b32 s59, s5, 24
-; GFX11-TRUE16-NEXT: s_lshr_b32 s55, s5, 16
-; GFX11-TRUE16-NEXT: s_lshr_b32 s47, s5, 8
-; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s42, 27
+; GFX11-TRUE16-NEXT: s_lshr_b32 s63, s5, 8
+; GFX11-TRUE16-NEXT: s_lshr_b32 s53, s4, 16
+; GFX11-TRUE16-NEXT: s_lshr_b32 s59, s4, 8
+; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s42, 30
; GFX11-TRUE16-NEXT: s_lshr_b32 s42, s2, 8
-; GFX11-TRUE16-NEXT: s_lshr_b32 s54, s4, 16
-; GFX11-TRUE16-NEXT: s_lshr_b32 s43, s4, 8
-; GFX11-TRUE16-NEXT: s_lshr_b32 s62, s7, 24
-; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s42, 25
+; GFX11-TRUE16-NEXT: s_lshr_b32 s47, s7, 24
+; GFX11-TRUE16-NEXT: s_lshr_b32 s52, s7, 16
+; GFX11-TRUE16-NEXT: s_lshr_b32 s43, s7, 8
+; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s42, 28
; GFX11-TRUE16-NEXT: s_lshr_b32 s42, s1, 24
-; GFX11-TRUE16-NEXT: s_lshr_b32 s53, s7, 16
-; GFX11-TRUE16-NEXT: s_lshr_b32 s58, s7, 8
-; GFX11-TRUE16-NEXT: s_lshr_b32 s52, s6, 16
-; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s42, 29
+; GFX11-TRUE16-NEXT: s_lshr_b32 s51, s6, 16
+; GFX11-TRUE16-NEXT: v_writelane_b32 v77, s42, 0
; GFX11-TRUE16-NEXT: s_lshr_b32 s42, s1, 16
-; GFX11-TRUE16-NEXT: s_lshr_b32 s56, s6, 8
-; GFX11-TRUE16-NEXT: s_lshr_b32 s51, s9, 16
-; GFX11-TRUE16-NEXT: s_lshr_b32 s104, s9, 8
-; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s42, 15
+; GFX11-TRUE16-NEXT: s_lshr_b32 s62, s6, 8
+; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s42, 17
; GFX11-TRUE16-NEXT: s_lshr_b32 s42, s1, 8
-; GFX11-TRUE16-NEXT: s_lshr_b32 s50, s8, 16
-; GFX11-TRUE16-NEXT: s_lshr_b32 s103, s8, 8
-; GFX11-TRUE16-NEXT: s_lshr_b32 s98, s11, 24
-; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s42, 30
+; GFX11-TRUE16-NEXT: s_lshr_b32 s58, s9, 24
+; GFX11-TRUE16-NEXT: v_writelane_b32 v77, s42, 1
; GFX11-TRUE16-NEXT: s_lshr_b32 s42, s0, 16
-; GFX11-TRUE16-NEXT: s_lshr_b32 s49, s11, 16
-; GFX11-TRUE16-NEXT: s_lshr_b32 s96, s11, 8
-; GFX11-TRUE16-NEXT: s_lshr_b32 s48, s10, 16
-; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s42, 14
+; GFX11-TRUE16-NEXT: s_lshr_b32 s50, s9, 16
+; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s42, 16
; GFX11-TRUE16-NEXT: s_lshr_b32 s42, s0, 8
-; GFX11-TRUE16-NEXT: s_lshr_b32 s86, s10, 8
-; GFX11-TRUE16-NEXT: s_lshr_b32 s84, s13, 24
-; GFX11-TRUE16-NEXT: s_lshr_b32 s39, s13, 16
-; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s42, 28
-; GFX11-TRUE16-NEXT: s_lshr_b32 s42, s14, 8
-; GFX11-TRUE16-NEXT: s_lshr_b32 s80, s13, 8
-; GFX11-TRUE16-NEXT: s_lshr_b32 s38, s12, 16
-; GFX11-TRUE16-NEXT: s_lshr_b32 s70, s12, 8
+; GFX11-TRUE16-NEXT: s_lshr_b32 s46, s9, 8
+; GFX11-TRUE16-NEXT: s_lshr_b32 s49, s8, 16
+; GFX11-TRUE16-NEXT: s_lshr_b32 s44, s8, 8
; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s42, 31
-; GFX11-TRUE16-NEXT: s_lshr_b32 s42, s41, 24
-; GFX11-TRUE16-NEXT: s_lshr_b32 s68, s15, 24
-; GFX11-TRUE16-NEXT: v_writelane_b32 v77, s42, 1
; GFX11-TRUE16-NEXT: s_lshr_b32 s42, s41, 8
-; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s78, 12
-; GFX11-TRUE16-NEXT: s_lshr_b32 s37, s15, 16
-; GFX11-TRUE16-NEXT: s_lshr_b32 s65, s15, 8
-; GFX11-TRUE16-NEXT: v_writelane_b32 v77, s42, 2
+; GFX11-TRUE16-NEXT: s_lshr_b32 s103, s11, 24
+; GFX11-TRUE16-NEXT: v_writelane_b32 v77, s42, 3
; GFX11-TRUE16-NEXT: s_lshr_b32 s42, s40, 8
-; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s79, 13
-; GFX11-TRUE16-NEXT: s_lshr_b64 s[78:79], s[22:23], 24
-; GFX11-TRUE16-NEXT: s_lshr_b32 s36, s14, 16
-; GFX11-TRUE16-NEXT: v_writelane_b32 v77, s42, 0
+; GFX11-TRUE16-NEXT: s_lshr_b32 s48, s11, 16
+; GFX11-TRUE16-NEXT: s_lshr_b32 s102, s11, 8
+; GFX11-TRUE16-NEXT: s_lshr_b32 s101, s10, 8
+; GFX11-TRUE16-NEXT: v_writelane_b32 v77, s42, 2
; GFX11-TRUE16-NEXT: s_lshr_b32 s42, s29, 24
-; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s78, 10
-; GFX11-TRUE16-NEXT: s_lshr_b32 s34, s41, 16
-; GFX11-TRUE16-NEXT: s_lshr_b32 s31, s40, 16
-; GFX11-TRUE16-NEXT: v_writelane_b32 v77, s42, 4
-; GFX11-TRUE16-NEXT: s_lshr_b32 s42, s29, 8
-; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s79, 11
-; GFX11-TRUE16-NEXT: s_lshr_b64 s[78:79], s[20:21], 24
-; GFX11-TRUE16-NEXT: s_mov_b32 s35, 0
+; GFX11-TRUE16-NEXT: s_lshr_b32 s96, s13, 24
+; GFX11-TRUE16-NEXT: s_lshr_b32 s39, s13, 16
+; GFX11-TRUE16-NEXT: s_lshr_b32 s86, s13, 8
; GFX11-TRUE16-NEXT: v_writelane_b32 v77, s42, 5
+; GFX11-TRUE16-NEXT: s_lshr_b32 s42, s29, 16
+; GFX11-TRUE16-NEXT: s_lshr_b32 s38, s12, 16
+; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s42, 18
+; GFX11-TRUE16-NEXT: s_lshr_b32 s42, s29, 8
+; GFX11-TRUE16-NEXT: s_lshr_b32 s85, s12, 8
+; GFX11-TRUE16-NEXT: v_writelane_b32 v77, s42, 6
; GFX11-TRUE16-NEXT: s_lshr_b32 s42, s28, 8
-; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s78, 8
-; GFX11-TRUE16-NEXT: s_mov_b32 s73, s76
+; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s74, 14
+; GFX11-TRUE16-NEXT: s_lshr_b32 s80, s15, 24
+; GFX11-TRUE16-NEXT: s_lshr_b32 s37, s15, 16
+; GFX11-TRUE16-NEXT: s_lshr_b32 s70, s15, 8
+; GFX11-TRUE16-NEXT: s_lshr_b32 s36, s14, 16
+; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s75, 15
+; GFX11-TRUE16-NEXT: s_lshr_b64 s[74:75], s[24:25], 24
+; GFX11-TRUE16-NEXT: s_lshr_b32 s69, s14, 8
+; GFX11-TRUE16-NEXT: s_lshr_b32 s64, s41, 24
+; GFX11-TRUE16-NEXT: s_lshr_b32 s35, s41, 16
+; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s74, 12
+; GFX11-TRUE16-NEXT: s_lshr_b32 s34, s40, 16
+; GFX11-TRUE16-NEXT: v_writelane_b32 v77, s42, 4
+; GFX11-TRUE16-NEXT: s_mov_b32 s31, 0
+; GFX11-TRUE16-NEXT: s_mov_b32 s42, s72
+; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s75, 13
+; GFX11-TRUE16-NEXT: s_lshr_b64 s[74:75], s[22:23], 24
+; GFX11-TRUE16-NEXT: s_mov_b32 s72, s76
+; GFX11-TRUE16-NEXT: s_lshr_b64 s[78:79], s[8:9], 24
; GFX11-TRUE16-NEXT: s_lshr_b64 s[88:89], s[10:11], 24
-; GFX11-TRUE16-NEXT: v_writelane_b32 v77, s42, 3
-; GFX11-TRUE16-NEXT: s_mov_b32 s42, s74
-; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s79, 9
-; GFX11-TRUE16-NEXT: s_lshr_b64 s[78:79], s[18:19], 24
-; GFX11-TRUE16-NEXT: s_lshr_b64 s[74:75], s[16:17], 24
+; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s74, 10
; GFX11-TRUE16-NEXT: s_lshr_b64 s[90:91], s[12:13], 24
; GFX11-TRUE16-NEXT: s_lshr_b64 s[92:93], s[14:15], 24
-; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s78, 6
; GFX11-TRUE16-NEXT: s_lshr_b64 s[94:95], s[40:41], 24
; GFX11-TRUE16-NEXT: s_lshr_b64 vcc, s[28:29], 24
-; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s79, 7
-; GFX11-TRUE16-NEXT: s_lshr_b64 s[78:79], s[8:9], 24
+; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s75, 11
+; GFX11-TRUE16-NEXT: s_lshr_b64 s[74:75], s[20:21], 24
+; GFX11-TRUE16-NEXT: s_delay_alu instid0(SALU_CYCLE_1) | instskip(SKIP_2) | instid1(SALU_CYCLE_1)
+; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s74, 8
+; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s75, 9
+; GFX11-TRUE16-NEXT: s_lshr_b64 s[74:75], s[18:19], 24
+; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s74, 6
+; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s75, 7
+; GFX11-TRUE16-NEXT: s_lshr_b64 s[74:75], s[16:17], 24
+; GFX11-TRUE16-NEXT: s_delay_alu instid0(SALU_CYCLE_1) | instskip(SKIP_2) | instid1(SALU_CYCLE_1)
; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s74, 4
; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s75, 5
; GFX11-TRUE16-NEXT: s_lshr_b64 s[74:75], s[2:3], 24
-; GFX11-TRUE16-NEXT: s_delay_alu instid0(SALU_CYCLE_1) | instskip(SKIP_2) | instid1(SALU_CYCLE_1)
; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s74, 2
; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s75, 3
; GFX11-TRUE16-NEXT: s_lshr_b64 s[74:75], s[0:1], 24
+; GFX11-TRUE16-NEXT: s_delay_alu instid0(SALU_CYCLE_1)
; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s74, 0
; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s75, 1
; GFX11-TRUE16-NEXT: s_lshr_b64 s[74:75], s[4:5], 24
@@ -164245,64 +164317,64 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX11-TRUE16-NEXT: .LBB91_2:
; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr42
; GFX11-TRUE16-NEXT: ; kill: killed $sgpr42
-; GFX11-TRUE16-NEXT: s_mov_b32 s35, -1
+; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr44
+; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr75
+; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr74
+; GFX11-TRUE16-NEXT: s_mov_b32 s31, -1
; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr42
; GFX11-TRUE16-NEXT: ; kill: killed $sgpr42
-; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr67
-; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr71
-; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr83
-; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr87
+; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr66
+; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr68
+; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr82
+; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr84
+; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr98
; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr100
-; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr102
-; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr44
-; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr46
-; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr64
+; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr104
+; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr55
+; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr56
+; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr65
; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr60
-; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr66
-; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr45
-; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr69
+; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr67
+; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr71
; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr81
; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr57
-; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr82
+; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr83
+; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr87
; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr61
-; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr85
; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr97
-; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr63
-; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr99
-; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr30
-; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr101
-; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr75
; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr73
-; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr31
+; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr99
; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr34
+; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr35
+; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr64
+; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr69
; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr36
-; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr65
-; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr37
-; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr68
; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr70
-; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr38
+; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr37
; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr80
-; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr39
-; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr84
+; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr85
+; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr38
; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr86
-; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr48
+; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr39
; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr96
-; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr49
-; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr98
+; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr101
+; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr72
+; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr102
+; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr48
; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr103
+; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr49
+; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr46
; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr50
-; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr104
-; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr51
-; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr56
-; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr52
; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr58
-; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr53
; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr62
-; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr54
+; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr51
+; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr52
; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr47
-; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr55
; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr59
-; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr72
+; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr53
+; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr63
+; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr54
+; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr30
; GFX11-TRUE16-NEXT: ; implicit-def: $vcc_lo
; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr94
; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr92
@@ -164310,7 +164382,6 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr88
; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr78
; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr76
-; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr74
; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr42
; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s42, 0
; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s43, 1
@@ -164352,34 +164423,36 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr42
; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s42, 8
; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s43, 9
+; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr43
+; GFX11-TRUE16-NEXT: ; kill: killed $sgpr43
+; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr43
+; GFX11-TRUE16-NEXT: ; kill: killed $sgpr43
+; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr43
+; GFX11-TRUE16-NEXT: ; kill: killed $sgpr43
+; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr43
+; GFX11-TRUE16-NEXT: ; kill: killed $sgpr43
+; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr43
+; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s44, 10
+; GFX11-TRUE16-NEXT: ; kill: killed $sgpr43
+; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr43
; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr42
+; GFX11-TRUE16-NEXT: ; kill: killed $sgpr43
+; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr43
; GFX11-TRUE16-NEXT: ; kill: killed $sgpr42
; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr42
-; GFX11-TRUE16-NEXT: ; kill: killed $sgpr42
-; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr42
-; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s42, 10
-; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s43, 11
-; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr42
-; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s42, 12
-; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s43, 13
-; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr42
-; GFX11-TRUE16-NEXT: ; kill: killed $sgpr42
-; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr42
-; GFX11-TRUE16-NEXT: ; kill: killed $sgpr42
-; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr42
-; GFX11-TRUE16-NEXT: ; kill: killed $sgpr42
-; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr42
-; GFX11-TRUE16-NEXT: ; kill: killed $sgpr42
-; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr42
-; GFX11-TRUE16-NEXT: ; kill: killed $sgpr42
-; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr42
-; GFX11-TRUE16-NEXT: ; kill: killed $sgpr42
-; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr42
-; GFX11-TRUE16-NEXT: ; kill: killed $sgpr42
-; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr42
+; GFX11-TRUE16-NEXT: ; kill: killed $sgpr43
; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr43
+; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s45, 11
+; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr45
+; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr44
+; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s44, 12
+; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s45, 13
+; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr44
+; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s74, 14
+; GFX11-TRUE16-NEXT: v_writelane_b32 v78, s75, 15
+; GFX11-TRUE16-NEXT: ; implicit-def: $sgpr74
; GFX11-TRUE16-NEXT: .LBB91_3: ; %Flow
-; GFX11-TRUE16-NEXT: s_and_b32 s77, s35, exec_lo
+; GFX11-TRUE16-NEXT: s_and_b32 s77, s31, exec_lo
; GFX11-TRUE16-NEXT: s_cselect_b32 s77, 1, 0
; GFX11-TRUE16-NEXT: s_delay_alu instid0(SALU_CYCLE_1)
; GFX11-TRUE16-NEXT: s_cmp_lg_u32 s77, 1
@@ -164414,19 +164487,19 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v2, v2
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, v10, v4
; GFX11-TRUE16-NEXT: v_or_b32_e32 v10, 0x400000, v7
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v50, 16, v1
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v52, 16, v1
; GFX11-TRUE16-NEXT: v_or_b32_e32 v1, 0x400000, v6
; GFX11-TRUE16-NEXT: v_dual_cndmask_b32 v2, v5, v8 :: v_dual_add_nc_u32 v5, 0x7fff, v9
; GFX11-TRUE16-NEXT: v_add_f32_e64 v8, 0x40c00000, s41
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v6, v6
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 0x7fff, v3
; GFX11-TRUE16-NEXT: v_or_b32_e32 v9, 0x400000, v4
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v51, 16, v2
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v53, 16, v2
; GFX11-TRUE16-NEXT: v_bfe_u32 v6, v8, 16, 1
; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v1, v5, v1, vcc_lo
; GFX11-TRUE16-NEXT: v_bfe_u32 v5, v7, 16, 1
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v4, v4
-; GFX11-TRUE16-NEXT: v_perm_b32 v2, v51, v50, 0x5040100
+; GFX11-TRUE16-NEXT: v_perm_b32 v2, v53, v52, 0x5040100
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3)
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v4, v5, v7
; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v3, v3, v9, vcc_lo
@@ -164434,7 +164507,7 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX11-TRUE16-NEXT: v_add_f32_e64 v6, 0x40c00000, s28
; GFX11-TRUE16-NEXT: v_add_f32_e64 v9, 0x40c00000, s29
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v8, v8
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v53, 16, v3
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v55, 16, v3
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 0x7fff, v4
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v4, 0x7fff, v5
; GFX11-TRUE16-NEXT: v_or_b32_e32 v5, 0x400000, v8
@@ -164447,27 +164520,27 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v7, v7
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v7, v8, v9
; GFX11-TRUE16-NEXT: v_add_f32_e64 v8, 0x40c00000, s28
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v54, 16, v4
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v64, 16, v4
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v5, v5, v6
; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v3, v3, v10, vcc_lo
; GFX11-TRUE16-NEXT: v_add_f32_e64 v10, 0x40c00000, s15
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v9, v9
; GFX11-TRUE16-NEXT: s_and_b32 s15, s14, 0xffff0000
; GFX11-TRUE16-NEXT: s_lshl_b32 s14, s14, 16
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v55, 16, v3
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v65, 16, v3
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 0x7fff, v5
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v5, 0x7fff, v7
; GFX11-TRUE16-NEXT: v_or_b32_e32 v7, 0x400000, v9
; GFX11-TRUE16-NEXT: v_bfe_u32 v9, v10, 16, 1
; GFX11-TRUE16-NEXT: v_or_b32_e32 v12, 0x400000, v8
-; GFX11-TRUE16-NEXT: v_perm_b32 v4, v55, v54, 0x5040100
+; GFX11-TRUE16-NEXT: v_perm_b32 v4, v65, v64, 0x5040100
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_4)
; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v5, v5, v7, vcc_lo
; GFX11-TRUE16-NEXT: v_bfe_u32 v7, v8, 16, 1
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v6, v6
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v6, v9, v10
; GFX11-TRUE16-NEXT: v_add_f32_e64 v9, 0x40c00000, s15
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v64, 16, v5
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v67, 16, v5
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v5, v7, v8
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_4)
; GFX11-TRUE16-NEXT: v_dual_cndmask_b32 v3, v3, v11 :: v_dual_add_nc_u32 v6, 0x7fff, v6
@@ -164490,20 +164563,20 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v11, v11
; GFX11-TRUE16-NEXT: s_and_b32 s13, s12, 0xffff0000
; GFX11-TRUE16-NEXT: s_lshl_b32 s12, s12, 16
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v67, 16, v5
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v69, 16, v5
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v5, 0x7fff, v7
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v7, 0x7fff, v8
; GFX11-TRUE16-NEXT: v_or_b32_e32 v8, 0x400000, v11
; GFX11-TRUE16-NEXT: v_bfe_u32 v11, v12, 16, 1
; GFX11-TRUE16-NEXT: v_or_b32_e32 v14, 0x400000, v10
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v65, 16, v6
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v66, 16, v6
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_4)
; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v7, v7, v8, vcc_lo
; GFX11-TRUE16-NEXT: v_bfe_u32 v8, v10, 16, 1
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v9, v9
; GFX11-TRUE16-NEXT: v_or_b32_e32 v9, 0x400000, v12
-; GFX11-TRUE16-NEXT: v_perm_b32 v6, v67, v65, 0x5040100
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v68, 16, v7
+; GFX11-TRUE16-NEXT: v_perm_b32 v6, v69, v66, 0x5040100
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v70, 16, v7
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v7, v8, v10
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v8, v11, v12
; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v5, v5, v13, vcc_lo
@@ -164527,20 +164600,20 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v13, v13
; GFX11-TRUE16-NEXT: s_and_b32 s11, s10, 0xffff0000
; GFX11-TRUE16-NEXT: s_lshl_b32 s10, s10, 16
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v71, 16, v7
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v81, 16, v7
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v7, 0x7fff, v9
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v9, 0x7fff, v10
; GFX11-TRUE16-NEXT: v_or_b32_e32 v10, 0x400000, v13
; GFX11-TRUE16-NEXT: v_bfe_u32 v13, v14, 16, 1
; GFX11-TRUE16-NEXT: v_or_b32_e32 v16, 0x400000, v12
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v70, 16, v8
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v52, 16, v1
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v80, 16, v8
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v54, 16, v1
; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v9, v9, v10, vcc_lo
; GFX11-TRUE16-NEXT: v_bfe_u32 v10, v12, 16, 1
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v11, v11
; GFX11-TRUE16-NEXT: v_or_b32_e32 v11, 0x400000, v14
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v8.l, v70.l
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v82, 16, v9
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v8.l, v80.l
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v84, 16, v9
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v9, v10, v12
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v10, v13, v14
; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v7, v7, v15, vcc_lo
@@ -164564,20 +164637,20 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v15, v15
; GFX11-TRUE16-NEXT: s_and_b32 s9, s8, 0xffff0000
; GFX11-TRUE16-NEXT: s_lshl_b32 s8, s8, 16
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v84, 16, v9
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v86, 16, v9
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v9, 0x7fff, v11
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v11, 0x7fff, v12
; GFX11-TRUE16-NEXT: v_or_b32_e32 v12, 0x400000, v15
; GFX11-TRUE16-NEXT: v_bfe_u32 v15, v16, 16, 1
; GFX11-TRUE16-NEXT: v_or_b32_e32 v18, 0x400000, v14
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v80, 16, v10
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v8.h, v71.l
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v82, 16, v10
+; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_4)
; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v11, v11, v12, vcc_lo
; GFX11-TRUE16-NEXT: v_bfe_u32 v12, v14, 16, 1
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v13, v13
; GFX11-TRUE16-NEXT: v_or_b32_e32 v13, 0x400000, v16
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v1.l, v52.l
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v85, 16, v11
+; GFX11-TRUE16-NEXT: v_perm_b32 v10, v86, v82, 0x5040100
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v87, 16, v11
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v11, v12, v14
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v12, v15, v16
; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v9, v9, v17, vcc_lo
@@ -164601,20 +164674,20 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v17, v17
; GFX11-TRUE16-NEXT: s_and_b32 s7, s6, 0xffff0000
; GFX11-TRUE16-NEXT: s_lshl_b32 s6, s6, 16
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v97, 16, v11
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v99, 16, v11
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v11, 0x7fff, v13
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v13, 0x7fff, v14
; GFX11-TRUE16-NEXT: v_or_b32_e32 v14, 0x400000, v17
; GFX11-TRUE16-NEXT: v_bfe_u32 v17, v18, 16, 1
; GFX11-TRUE16-NEXT: v_or_b32_e32 v20, 0x400000, v16
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v81, 16, v12
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v83, 16, v12
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_4)
; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v13, v13, v14, vcc_lo
; GFX11-TRUE16-NEXT: v_bfe_u32 v14, v16, 16, 1
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v15, v15
; GFX11-TRUE16-NEXT: v_or_b32_e32 v15, 0x400000, v18
-; GFX11-TRUE16-NEXT: v_perm_b32 v12, v97, v81, 0x5040100
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v86, 16, v13
+; GFX11-TRUE16-NEXT: v_perm_b32 v12, v99, v83, 0x5040100
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v98, 16, v13
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v13, v14, v16
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v14, v17, v18
; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v11, v11, v19, vcc_lo
@@ -164638,7 +164711,7 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v19, v19
; GFX11-TRUE16-NEXT: s_and_b32 s5, s4, 0xffff0000
; GFX11-TRUE16-NEXT: s_lshl_b32 s4, s4, 16
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v101, 16, v13
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v102, 16, v13
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v13, 0x7fff, v15
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v15, 0x7fff, v16
; GFX11-TRUE16-NEXT: v_or_b32_e32 v16, 0x400000, v19
@@ -164651,701 +164724,703 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v17, v17
; GFX11-TRUE16-NEXT: v_or_b32_e32 v17, 0x400000, v20
; GFX11-TRUE16-NEXT: v_add_f32_e64 v23, 0x40c00000, s1
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v98, 16, v15
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v100, 16, v15
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v15, v16, v18
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v16, v19, v20
; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v13, v13, v21, vcc_lo
-; GFX11-TRUE16-NEXT: v_add_f32_e64 v19, 0x40c00000, s5
+; GFX11-TRUE16-NEXT: v_add_f32_e64 v21, 0x40c00000, s5
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v20, v20
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v15, 0x7fff, v15
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v16, 0x7fff, v16
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v21, 0x400000, v18
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v19, 0x400000, v18
; GFX11-TRUE16-NEXT: v_bfe_u32 v20, v22, 16, 1
; GFX11-TRUE16-NEXT: s_and_b32 s1, s0, 0xffff0000
; GFX11-TRUE16-NEXT: s_lshl_b32 s0, s0, 16
; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v16, v16, v17, vcc_lo
-; GFX11-TRUE16-NEXT: v_bfe_u32 v17, v19, 16, 1
+; GFX11-TRUE16-NEXT: v_bfe_u32 v17, v21, 16, 1
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v18, v18
-; GFX11-TRUE16-NEXT: v_add_f32_e64 v18, 0x40c00000, s4
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v87, 16, v14
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v99, 16, v16
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v16, v17, v19
-; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v15, v15, v21, vcc_lo
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v18, 0x400000, v21
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v68, 16, v3
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v103, 16, v16
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v16, v17, v21
+; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v15, v15, v19, vcc_lo
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v17, v20, v22
+; GFX11-TRUE16-NEXT: v_add_f32_e64 v20, 0x40c00000, s4
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v22, v22
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v20, 0x400000, v19
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v24, 0x400000, v18
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v112, 16, v15
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v71, 16, v5
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v114, 16, v15
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v15, 0x7fff, v16
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v16, 0x7fff, v17
; GFX11-TRUE16-NEXT: v_or_b32_e32 v17, 0x400000, v22
; GFX11-TRUE16-NEXT: v_bfe_u32 v22, v23, 16, 1
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v66, 16, v3
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v69, 16, v5
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v21.l, v99.l
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v24, 0x400000, v20
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v97, 16, v14
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v3.l, v67.l
; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v16, v16, v17, vcc_lo
-; GFX11-TRUE16-NEXT: v_bfe_u32 v17, v18, 16, 1
-; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v19, v19
-; GFX11-TRUE16-NEXT: v_add_f32_e64 v19, 0x40c00000, s1
+; GFX11-TRUE16-NEXT: v_bfe_u32 v17, v20, 16, 1
+; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v21, v21
+; GFX11-TRUE16-NEXT: v_add_f32_e64 v21, 0x40c00000, s1
; GFX11-TRUE16-NEXT: s_lshl_b32 s1, s3, 16
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v102, 16, v16
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v16, v17, v18
-; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v15, v15, v20, vcc_lo
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v112, 16, v16
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v16, v17, v20
+; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v15, v15, v18, vcc_lo
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v17, v22, v23
; GFX11-TRUE16-NEXT: v_add_f32_e64 v22, 0x40c00000, s0
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v23, v23
; GFX11-TRUE16-NEXT: s_and_b32 s0, s3, 0xffff0000
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v113, 16, v15
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v115, 16, v15
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v15, 0x7fff, v16
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v16, 0x7fff, v17
; GFX11-TRUE16-NEXT: v_or_b32_e32 v17, 0x400000, v23
; GFX11-TRUE16-NEXT: v_bfe_u32 v23, v22, 16, 1
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v21.h, v112.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v20, v113, v102, 0x5040100
-; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_4)
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v3.h, v68.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v8.h, v81.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v19.l, v103.l
; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v16, v16, v17, vcc_lo
-; GFX11-TRUE16-NEXT: v_bfe_u32 v17, v19, 16, 1
-; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v18, v18
-; GFX11-TRUE16-NEXT: v_add_f32_e64 v18, 0x40c00000, s0
+; GFX11-TRUE16-NEXT: v_bfe_u32 v17, v21, 16, 1
+; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v20, v20
+; GFX11-TRUE16-NEXT: v_add_f32_e64 v20, 0x40c00000, s0
; GFX11-TRUE16-NEXT: s_and_b32 s0, s2, 0xffff0000
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v114, 16, v16
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v16, v17, v19
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v116, 16, v16
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v16, v17, v21
; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v15, v15, v24, vcc_lo
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v17, v23, v22
; GFX11-TRUE16-NEXT: v_add_f32_e64 v23, 0x40c00000, s1
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v22, v22
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v24, 0x400000, v19
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v117, 16, v15
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v24, 0x400000, v21
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v118, 16, v15
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v15, 0x7fff, v16
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v16, 0x7fff, v17
; GFX11-TRUE16-NEXT: v_or_b32_e32 v17, 0x400000, v22
; GFX11-TRUE16-NEXT: v_bfe_u32 v22, v23, 16, 1
; GFX11-TRUE16-NEXT: s_lshl_b32 s1, s2, 16
-; GFX11-TRUE16-NEXT: v_perm_b32 v14, v101, v87, 0x5040100
+; GFX11-TRUE16-NEXT: v_perm_b32 v26, v118, v116, 0x5040100
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3)
; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v16, v16, v17, vcc_lo
-; GFX11-TRUE16-NEXT: v_bfe_u32 v17, v18, 16, 1
-; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v19, v19
-; GFX11-TRUE16-NEXT: v_add_f32_e64 v19, 0x40c00000, s0
+; GFX11-TRUE16-NEXT: v_bfe_u32 v17, v20, 16, 1
+; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v21, v21
+; GFX11-TRUE16-NEXT: v_add_f32_e64 v21, 0x40c00000, s0
; GFX11-TRUE16-NEXT: s_and_b32 s0, s17, 0xffff0000
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v115, 16, v16
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v16, v17, v18
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v117, 16, v16
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v16, v17, v20
; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v15, v15, v24, vcc_lo
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v17, v22, v23
; GFX11-TRUE16-NEXT: v_add_f32_e64 v22, 0x40c00000, s1
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v23, v23
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v24, 0x400000, v18
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v128, 16, v15
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v24, 0x400000, v20
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v129, 16, v15
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v15, 0x7fff, v16
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v16, 0x7fff, v17
; GFX11-TRUE16-NEXT: v_or_b32_e32 v17, 0x400000, v23
; GFX11-TRUE16-NEXT: v_bfe_u32 v23, v22, 16, 1
; GFX11-TRUE16-NEXT: s_lshl_b32 s1, s17, 16
-; GFX11-TRUE16-NEXT: v_perm_b32 v3, v66, v64, 0x5040100
+; GFX11-TRUE16-NEXT: v_perm_b32 v25, v129, v117, 0x5040100
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3)
; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v16, v16, v17, vcc_lo
-; GFX11-TRUE16-NEXT: v_bfe_u32 v17, v19, 16, 1
-; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v18, v18
-; GFX11-TRUE16-NEXT: v_add_f32_e64 v18, 0x40c00000, s0
+; GFX11-TRUE16-NEXT: v_bfe_u32 v17, v21, 16, 1
+; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v20, v20
+; GFX11-TRUE16-NEXT: v_add_f32_e64 v20, 0x40c00000, s0
; GFX11-TRUE16-NEXT: s_and_b32 s0, s16, 0xffff0000
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v116, 16, v16
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v16, v17, v19
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v119, 16, v16
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v16, v17, v21
; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v15, v15, v24, vcc_lo
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v17, v23, v22
; GFX11-TRUE16-NEXT: v_add_f32_e64 v23, 0x40c00000, s1
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v22, v22
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v24, 0x400000, v19
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v129, 16, v15
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v24, 0x400000, v21
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v131, 16, v15
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v15, 0x7fff, v16
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v16, 0x7fff, v17
; GFX11-TRUE16-NEXT: v_or_b32_e32 v17, 0x400000, v22
; GFX11-TRUE16-NEXT: v_bfe_u32 v22, v23, 16, 1
; GFX11-TRUE16-NEXT: s_lshl_b32 s1, s16, 16
-; GFX11-TRUE16-NEXT: v_perm_b32 v36, v129, v116, 0x5040100
-; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3)
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v19.h, v114.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v18.l, v112.l
; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v16, v16, v17, vcc_lo
-; GFX11-TRUE16-NEXT: v_bfe_u32 v17, v18, 16, 1
-; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v19, v19
-; GFX11-TRUE16-NEXT: v_add_f32_e64 v19, 0x40c00000, s0
+; GFX11-TRUE16-NEXT: v_bfe_u32 v17, v20, 16, 1
+; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v21, v21
+; GFX11-TRUE16-NEXT: v_add_f32_e64 v21, 0x40c00000, s0
; GFX11-TRUE16-NEXT: s_lshl_b32 s0, s19, 16
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v118, 16, v16
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v16, v17, v18
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v128, 16, v16
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v16, v17, v20
; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v15, v15, v24, vcc_lo
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v17, v22, v23
; GFX11-TRUE16-NEXT: v_add_f32_e64 v22, 0x40c00000, s1
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v23, v23
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v24, 0x400000, v18
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v132, 16, v15
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v24, 0x400000, v20
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v133, 16, v15
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v15, 0x7fff, v16
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v16, 0x7fff, v17
; GFX11-TRUE16-NEXT: v_or_b32_e32 v17, 0x400000, v23
; GFX11-TRUE16-NEXT: v_bfe_u32 v23, v22, 16, 1
; GFX11-TRUE16-NEXT: s_and_b32 s1, s19, 0xffff0000
-; GFX11-TRUE16-NEXT: v_perm_b32 v35, v132, v118, 0x5040100
-; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3)
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v18.h, v115.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v1.l, v54.l
; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v16, v16, v17, vcc_lo
-; GFX11-TRUE16-NEXT: v_bfe_u32 v17, v19, 16, 1
-; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v18, v18
-; GFX11-TRUE16-NEXT: v_add_f32_e64 v18, 0x40c00000, s0
+; GFX11-TRUE16-NEXT: v_bfe_u32 v17, v21, 16, 1
+; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v20, v20
+; GFX11-TRUE16-NEXT: v_add_f32_e64 v20, 0x40c00000, s0
; GFX11-TRUE16-NEXT: s_and_b32 s0, s18, 0xffff0000
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v119, 16, v16
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v16, v17, v19
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v130, 16, v16
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v16, v17, v21
; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v15, v15, v24, vcc_lo
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v17, v23, v22
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v22, v22
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v23, 0x400000, v19
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v23, 0x400000, v21
; GFX11-TRUE16-NEXT: v_add_f32_e64 v24, 0x40c00000, s1
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v133, 16, v15
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v135, 16, v15
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v15, 0x7fff, v16
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v16, 0x7fff, v17
; GFX11-TRUE16-NEXT: v_or_b32_e32 v17, 0x400000, v22
; GFX11-TRUE16-NEXT: v_or_b32_e32 v22, 0x400000, v24
; GFX11-TRUE16-NEXT: s_lshl_b32 s1, s26, 16
-; GFX11-TRUE16-NEXT: v_perm_b32 v30, v117, v114, 0x5040100
-; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_3) | instid1(VALU_DEP_4)
+; GFX11-TRUE16-NEXT: v_perm_b32 v39, v135, v130, 0x5040100
+; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3)
; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v16, v16, v17, vcc_lo
-; GFX11-TRUE16-NEXT: v_bfe_u32 v17, v18, 16, 1
-; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v19, v19
-; GFX11-TRUE16-NEXT: v_bfe_u32 v19, v24, 16, 1
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v130, 16, v16
-; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_4)
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v16, v17, v18
+; GFX11-TRUE16-NEXT: v_bfe_u32 v17, v20, 16, 1
+; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v21, v21
+; GFX11-TRUE16-NEXT: v_bfe_u32 v21, v24, 16, 1
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v1.h, v55.l
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v132, 16, v16
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v16, v17, v20
; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v15, v15, v23, vcc_lo
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v17, 0x400000, v18
-; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v18, v18
-; GFX11-TRUE16-NEXT: v_perm_b32 v29, v128, v115, 0x5040100
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v17, 0x400000, v20
+; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v20, v20
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v38.l, v132.l
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v16, 0x7fff, v16
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v144, 16, v15
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v15, v19, v24
-; GFX11-TRUE16-NEXT: v_add_f32_e64 v19, 0x40c00000, s0
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v146, 16, v15
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v15, v21, v24
+; GFX11-TRUE16-NEXT: v_add_f32_e64 v21, 0x40c00000, s0
; GFX11-TRUE16-NEXT: s_lshl_b32 s0, s18, 16
; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v16, v16, v17, vcc_lo
-; GFX11-TRUE16-NEXT: v_add_f32_e64 v18, 0x40c00000, s0
+; GFX11-TRUE16-NEXT: v_add_f32_e64 v20, 0x40c00000, s0
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v15, 0x7fff, v15
-; GFX11-TRUE16-NEXT: v_bfe_u32 v17, v19, 16, 1
+; GFX11-TRUE16-NEXT: v_bfe_u32 v17, v21, 16, 1
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v24, v24
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v131, 16, v16
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v134, 16, v16
; GFX11-TRUE16-NEXT: s_lshl_b32 s0, s21, 16
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v24, 0x400000, v18
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v16, v17, v19
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v24, 0x400000, v20
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v16, v17, v21
; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v15, v15, v22, vcc_lo
-; GFX11-TRUE16-NEXT: v_bfe_u32 v17, v18, 16, 1
+; GFX11-TRUE16-NEXT: v_bfe_u32 v17, v20, 16, 1
; GFX11-TRUE16-NEXT: v_add_f32_e64 v22, 0x40c00000, s0
-; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v19, v19
+; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v21, v21
; GFX11-TRUE16-NEXT: s_and_b32 s0, s21, 0xffff0000
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v145, 16, v15
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v147, 16, v15
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v15, 0x7fff, v16
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v16, v17, v18
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v17, 0x400000, v19
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v16, v17, v20
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v17, 0x400000, v21
; GFX11-TRUE16-NEXT: v_add_f32_e64 v23, 0x40c00000, s0
-; GFX11-TRUE16-NEXT: v_bfe_u32 v25, v22, 16, 1
+; GFX11-TRUE16-NEXT: v_bfe_u32 v27, v22, 16, 1
; GFX11-TRUE16-NEXT: s_and_b32 s0, s20, 0xffff0000
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3)
; GFX11-TRUE16-NEXT: v_dual_cndmask_b32 v15, v15, v17 :: v_dual_add_nc_u32 v16, 0x7fff, v16
-; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v18, v18
+; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v20, v20
; GFX11-TRUE16-NEXT: v_bfe_u32 v17, v23, 16, 1
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v18, v25, v22
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v19, 0x400000, v23
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v148, 16, v15
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v20, v27, v22
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v21, 0x400000, v23
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v150, 16, v15
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_3) | instid1(VALU_DEP_4)
; GFX11-TRUE16-NEXT: v_dual_cndmask_b32 v16, v16, v24 :: v_dual_add_nc_u32 v15, v17, v23
; GFX11-TRUE16-NEXT: v_or_b32_e32 v17, 0x400000, v22
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v22, v22
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v83, 16, v7
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v135, 16, v16
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v16, 0x7fff, v18
-; GFX11-TRUE16-NEXT: v_add_f32_e64 v18, 0x40c00000, s0
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v96, 16, v9
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v145, 16, v16
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v16, 0x7fff, v20
+; GFX11-TRUE16-NEXT: v_add_f32_e64 v20, 0x40c00000, s0
; GFX11-TRUE16-NEXT: s_lshl_b32 s0, s20, 16
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v15, 0x7fff, v15
; GFX11-TRUE16-NEXT: v_add_f32_e64 v22, 0x40c00000, s0
; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v16, v16, v17, vcc_lo
-; GFX11-TRUE16-NEXT: v_bfe_u32 v17, v18, 16, 1
+; GFX11-TRUE16-NEXT: v_bfe_u32 v17, v20, 16, 1
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v23, v23
; GFX11-TRUE16-NEXT: s_lshl_b32 s0, s23, 16
; GFX11-TRUE16-NEXT: v_or_b32_e32 v24, 0x400000, v22
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v134, 16, v16
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v16, v17, v18
-; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v15, v15, v19, vcc_lo
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v144, 16, v16
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v16, v17, v20
+; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v15, v15, v21, vcc_lo
; GFX11-TRUE16-NEXT: v_bfe_u32 v17, v22, 16, 1
-; GFX11-TRUE16-NEXT: v_add_f32_e64 v19, 0x40c00000, s0
-; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v18, v18
+; GFX11-TRUE16-NEXT: v_add_f32_e64 v21, 0x40c00000, s0
+; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v20, v20
; GFX11-TRUE16-NEXT: s_and_b32 s0, s23, 0xffff0000
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v149, 16, v15
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v151, 16, v15
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v15, 0x7fff, v16
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v16, v17, v22
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v17, 0x400000, v18
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v17, 0x400000, v20
; GFX11-TRUE16-NEXT: v_add_f32_e64 v23, 0x40c00000, s0
-; GFX11-TRUE16-NEXT: v_bfe_u32 v25, v19, 16, 1
+; GFX11-TRUE16-NEXT: v_bfe_u32 v27, v21, 16, 1
; GFX11-TRUE16-NEXT: s_and_b32 s0, s22, 0xffff0000
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3)
; GFX11-TRUE16-NEXT: v_dual_cndmask_b32 v15, v15, v17 :: v_dual_add_nc_u32 v16, 0x7fff, v16
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v22, v22
; GFX11-TRUE16-NEXT: v_bfe_u32 v17, v23, 16, 1
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v18, v25, v19
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v20, v27, v21
; GFX11-TRUE16-NEXT: v_or_b32_e32 v22, 0x400000, v23
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v151, 16, v15
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v160, 16, v15
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_3) | instid1(VALU_DEP_4)
; GFX11-TRUE16-NEXT: v_dual_cndmask_b32 v16, v16, v24 :: v_dual_add_nc_u32 v15, v17, v23
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v17, 0x400000, v19
-; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v19, v19
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v17, 0x400000, v21
+; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v21, v21
; GFX11-TRUE16-NEXT: v_add_f32_e64 v24, 0x40c00000, s1
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v146, 16, v16
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v16, 0x7fff, v18
-; GFX11-TRUE16-NEXT: v_add_f32_e64 v18, 0x40c00000, s0
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v148, 16, v16
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v16, 0x7fff, v20
+; GFX11-TRUE16-NEXT: v_add_f32_e64 v20, 0x40c00000, s0
; GFX11-TRUE16-NEXT: s_lshl_b32 s0, s22, 16
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v15, 0x7fff, v15
-; GFX11-TRUE16-NEXT: v_add_f32_e64 v19, 0x40c00000, s0
+; GFX11-TRUE16-NEXT: v_add_f32_e64 v21, 0x40c00000, s0
; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v16, v16, v17, vcc_lo
-; GFX11-TRUE16-NEXT: v_bfe_u32 v17, v18, 16, 1
+; GFX11-TRUE16-NEXT: v_bfe_u32 v17, v20, 16, 1
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v23, v23
; GFX11-TRUE16-NEXT: s_and_b32 s0, s25, 0xffff0000
-; GFX11-TRUE16-NEXT: v_bfe_u32 v25, v24, 16, 1
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v147, 16, v16
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v16, v17, v18
+; GFX11-TRUE16-NEXT: v_bfe_u32 v27, v24, 16, 1
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v149, 16, v16
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v16, v17, v20
; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v15, v15, v22, vcc_lo
-; GFX11-TRUE16-NEXT: v_bfe_u32 v17, v19, 16, 1
+; GFX11-TRUE16-NEXT: v_bfe_u32 v17, v21, 16, 1
; GFX11-TRUE16-NEXT: v_add_f32_e64 v22, 0x40c00000, s0
-; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v18, v18
+; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v20, v20
; GFX11-TRUE16-NEXT: s_lshl_b32 s0, s25, 16
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v161, 16, v15
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v162, 16, v15
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v15, 0x7fff, v16
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v16, 0x400000, v18
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v17, v17, v19
-; GFX11-TRUE16-NEXT: v_bfe_u32 v18, v22, 16, 1
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v16, 0x400000, v20
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v17, v17, v21
+; GFX11-TRUE16-NEXT: v_bfe_u32 v20, v22, 16, 1
; GFX11-TRUE16-NEXT: v_add_f32_e64 v23, 0x40c00000, s0
; GFX11-TRUE16-NEXT: s_and_b32 s0, s24, 0xffff0000
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_3) | instid1(VALU_DEP_4)
; GFX11-TRUE16-NEXT: v_dual_cndmask_b32 v15, v15, v16 :: v_dual_add_nc_u32 v16, 0x7fff, v17
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v17, 0x400000, v19
-; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v19, v19
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v25, v25, v24
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v163, 16, v15
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v15, v18, v22
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v18, 0x400000, v22
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v17, 0x400000, v21
+; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v21, v21
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v27, v27, v24
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v165, 16, v15
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v15, v20, v22
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v20, 0x400000, v22
; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v16, v16, v17, vcc_lo
; GFX11-TRUE16-NEXT: v_bfe_u32 v17, v23, 16, 1
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v22, v22
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v15, 0x7fff, v15
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v25, 0x7fff, v25
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v150, 16, v16
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v27, 0x7fff, v27
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v161, 16, v16
; GFX11-TRUE16-NEXT: v_add_f32_e64 v16, 0x40c00000, s0
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v17, v17, v23
-; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v15, v15, v18, vcc_lo
+; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v15, v15, v20, vcc_lo
; GFX11-TRUE16-NEXT: s_lshl_b32 s0, s24, 16
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v18, 0x400000, v23
-; GFX11-TRUE16-NEXT: v_bfe_u32 v19, v16, 16, 1
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v20, 0x400000, v23
+; GFX11-TRUE16-NEXT: v_bfe_u32 v21, v16, 16, 1
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v17, 0x7fff, v17
; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v164, 16, v15
; GFX11-TRUE16-NEXT: v_add_f32_e64 v15, 0x40c00000, s0
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v23, v23
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v19, v19, v16
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v21, v21, v16
; GFX11-TRUE16-NEXT: s_and_b32 s0, s27, 0xffff0000
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v103, 16, v13
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v101, 16, v11
; GFX11-TRUE16-NEXT: v_bfe_u32 v22, v15, 16, 1
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3)
-; GFX11-TRUE16-NEXT: v_dual_cndmask_b32 v17, v17, v18 :: v_dual_add_nc_u32 v18, 0x7fff, v19
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v19, 0x400000, v16
+; GFX11-TRUE16-NEXT: v_dual_cndmask_b32 v17, v17, v20 :: v_dual_add_nc_u32 v20, 0x7fff, v21
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v21, 0x400000, v16
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v16, v16
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v100, 16, v11
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v96, 16, v9
-; GFX11-TRUE16-NEXT: v_perm_b32 v43, v149, v134, 0x5040100
-; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v16, v18, v19, vcc_lo
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v18, v22, v15
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v160, 16, v17
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v85, 16, v7
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v45.h, v164.l
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v113, 16, v13
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v43.l, v149.l
+; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v16, v20, v21, vcc_lo
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v20, v22, v15
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v163, 16, v17
; GFX11-TRUE16-NEXT: v_add_f32_e64 v17, 0x40c00000, s0
; GFX11-TRUE16-NEXT: s_lshl_b32 s0, s27, 16
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v167, 16, v16
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v16, 0x7fff, v18
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v18, 0x400000, v15
-; GFX11-TRUE16-NEXT: v_bfe_u32 v19, v17, 16, 1
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v177, 16, v16
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v16, 0x7fff, v20
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v20, 0x400000, v15
+; GFX11-TRUE16-NEXT: v_bfe_u32 v21, v17, 16, 1
; GFX11-TRUE16-NEXT: v_add_f32_e64 v22, 0x40c00000, s0
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v15, v15
; GFX11-TRUE16-NEXT: s_and_b32 s0, s26, 0xffff0000
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v26, 0x400000, v17
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v19, v19, v17
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v28, 0x400000, v17
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v21, v21, v17
; GFX11-TRUE16-NEXT: v_add_f32_e64 v23, 0x40c00000, s0
-; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v15, v16, v18, vcc_lo
+; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v15, v16, v20, vcc_lo
; GFX11-TRUE16-NEXT: v_bfe_u32 v16, v22, 16, 1
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v17, v17
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v19, 0x7fff, v19
-; GFX11-TRUE16-NEXT: v_bfe_u32 v18, v23, 16, 1
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v27, 0x400000, v23
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v21, 0x7fff, v21
+; GFX11-TRUE16-NEXT: v_bfe_u32 v20, v23, 16, 1
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v29, 0x400000, v23
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v16, v16, v22
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v166, 16, v15
-; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v17, v19, v26, vcc_lo
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v19, 0x400000, v22
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v176, 16, v15
+; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v17, v21, v28, vcc_lo
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v21, 0x400000, v22
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v22, v22
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v16, 0x7fff, v16
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v18, v18, v23
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v26, 0x400000, v24
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v176, 16, v17
-; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_3) | instid1(VALU_DEP_4)
-; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v16, v16, v19, vcc_lo
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v20, v20, v23
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v28, 0x400000, v24
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v178, 16, v17
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v45.l, v163.l
+; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v16, v16, v21, vcc_lo
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v24, v24
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v18, 0x7fff, v18
-; GFX11-TRUE16-NEXT: v_perm_b32 v44, v163, v150, 0x5040100
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v162, 16, v16
-; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v19, v25, v26, vcc_lo
-; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v23, v23
-; GFX11-TRUE16-NEXT: v_perm_b32 v42, v151, v146, 0x5040100
-; GFX11-TRUE16-NEXT: v_perm_b32 v13, v103, v98, 0x5040100
-; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_2) | instid1(VALU_DEP_2)
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v165, 16, v19
-; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v18, v18, v27, vcc_lo
-; GFX11-TRUE16-NEXT: v_perm_b32 v41, v145, v131, 0x5040100
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v177, 16, v18
-; GFX11-TRUE16-NEXT: v_perm_b32 v179, v176, v162, 0x5040100
-; GFX11-TRUE16-NEXT: v_perm_b32 v40, v148, v135, 0x5040100
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v20, 0x7fff, v20
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3)
-; GFX11-TRUE16-NEXT: v_perm_b32 v178, v177, v165, 0x5040100
-; GFX11-TRUE16-NEXT: v_perm_b32 v7, v83, v82, 0x5040100
-; GFX11-TRUE16-NEXT: v_perm_b32 v11, v100, v86, 0x5040100
-; GFX11-TRUE16-NEXT: v_perm_b32 v49, v133, v119, 0x5040100
-; GFX11-TRUE16-NEXT: v_perm_b32 v48, v144, v130, 0x5040100
-; GFX11-TRUE16-NEXT: v_perm_b32 v183, v164, v160, 0x5040100
-; GFX11-TRUE16-NEXT: v_perm_b32 v182, v167, v166, 0x5040100
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v1.h, v53.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v5, v69, v68, 0x5040100
-; GFX11-TRUE16-NEXT: v_perm_b32 v10, v84, v80, 0x5040100
-; GFX11-TRUE16-NEXT: v_perm_b32 v9, v96, v85, 0x5040100
-; GFX11-TRUE16-NEXT: v_perm_b32 v45, v161, v147, 0x5040100
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v73, 8, v44
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v74, 8, v43
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[31:32], 24, v[42:43]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[15:16], 24, v[20:21]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[25:26], 24, v[178:179]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[32:33], 24, v[40:41]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[37:38], 24, v[35:36]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[16:17], 24, v[13:14]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[26:27], 24, v[182:183]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[33:34], 24, v[48:49]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[38:39], 24, v[29:30]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[17:18], 24, v[11:12]
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v166, 16, v16
+; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v21, v27, v28, vcc_lo
+; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v23, v23
+; GFX11-TRUE16-NEXT: v_perm_b32 v44, v177, v176, 0x5040100
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v43.h, v162.l
+; GFX11-TRUE16-NEXT: v_perm_b32 v181, v178, v166, 0x5040100
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v167, 16, v21
+; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v20, v20, v29, vcc_lo
+; GFX11-TRUE16-NEXT: v_perm_b32 v42, v165, v161, 0x5040100
+; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_2) | instskip(SKIP_2) | instid1(VALU_DEP_3)
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v179, 16, v20
+; GFX11-TRUE16-NEXT: v_perm_b32 v41, v151, v144, 0x5040100
+; GFX11-TRUE16-NEXT: v_perm_b32 v40, v160, v148, 0x5040100
+; GFX11-TRUE16-NEXT: v_perm_b32 v180, v179, v167, 0x5040100
+; GFX11-TRUE16-NEXT: v_perm_b32 v11, v101, v98, 0x5040100
+; GFX11-TRUE16-NEXT: v_perm_b32 v9, v96, v87, 0x5040100
+; GFX11-TRUE16-NEXT: v_perm_b32 v51, v147, v134, 0x5040100
+; GFX11-TRUE16-NEXT: v_perm_b32 v50, v150, v145, 0x5040100
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[27:28], 24, v[180:181]
+; GFX11-TRUE16-NEXT: v_perm_b32 v7, v85, v84, 0x5040100
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v38.h, v146.l
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[28:29], 24, v[44:45]
+; GFX11-TRUE16-NEXT: v_perm_b32 v5, v71, v70, 0x5040100
+; GFX11-TRUE16-NEXT: v_perm_b32 v14, v102, v97, 0x5040100
+; GFX11-TRUE16-NEXT: v_perm_b32 v13, v113, v100, 0x5040100
+; GFX11-TRUE16-NEXT: v_perm_b32 v33, v131, v119, 0x5040100
+; GFX11-TRUE16-NEXT: v_perm_b32 v32, v133, v128, 0x5040100
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[29:30], 24, v[42:43]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[30:31], 24, v[40:41]
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v73, 24, v43
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v183, 8, v43
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v74, 8, v42
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v43, 8, v40
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v40, 24, v2
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[20:21], 24, v[11:12]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[34:35], 24, v[50:51]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[48:49], 24, v[25:26]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[21:22], 24, v[9:10]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[35:36], 24, v[38:39]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[15:16], 24, v[18:19]
; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[22:23], 24, v[7:8]
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v57, 24, v49
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v56, 8, v49
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v58, 8, v48
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v61, 24, v36
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v60, 8, v36
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v48, 24, v4
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v36, 8, v4
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v49, 8, v3
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v49, 8, v180
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v182, 24, v45
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v180, 8, v45
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v45, 8, v50
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v57, 24, v39
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v56, 8, v39
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v58, 8, v38
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v39, 24, v4
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v38, 8, v4
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v50, 8, v3
; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[3:4], 24, v[3:4]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[27:28], 24, v[44:45]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[18:19], 24, v[9:10]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[36:37], 24, v[32:33]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[16:17], 24, v[13:14]
; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[23:24], 24, v[5:6]
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v39, 24, v179
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v34, 8, v179
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v181, 24, v183
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v179, 8, v183
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v180, 8, v182
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v183, 24, v45
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v182, 8, v45
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v47, 24, v41
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v46, 8, v41
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v45, 8, v40
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v41, 24, v2
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v47, 24, v51
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v46, 8, v51
; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v4, 8, v2
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v40, 8, v1
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v51, 8, v1
; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[1:2], 24, v[1:2]
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v178, 8, v178
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v44, 24, v43
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v43, 8, v42
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v59, 8, v35
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v62, 24, v30
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v63, 8, v30
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v72, 8, v29
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v24, 24, v21
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v19, 8, v21
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v20, 8, v20
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v21, 24, v14
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v37, 24, v181
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v31, 8, v181
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v181, 8, v44
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v44, 24, v41
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v42, 8, v41
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v61, 24, v33
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v60, 8, v33
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v59, 8, v32
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v62, 24, v26
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v63, 8, v26
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v72, 8, v25
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v24, 24, v19
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v17, 8, v19
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v18, 8, v18
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v19, 24, v14
; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v14, 8, v14
; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v13, 8, v13
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v28, 24, v12
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v25, 24, v12
; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v12, 8, v12
; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v11, 8, v11
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v29, 24, v10
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v26, 24, v10
; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v10, 8, v10
; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v9, 8, v9
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v30, 24, v8
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v32, 24, v8
; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v8, 8, v8
; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v7, 8, v7
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v35, 24, v6
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v33, 24, v6
; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v6, 8, v6
; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v5, 8, v5
-; GFX11-TRUE16-NEXT: v_mov_b32_e32 v42, v74
-; GFX11-TRUE16-NEXT: v_mov_b32_e32 v2, v73
+; GFX11-TRUE16-NEXT: v_mov_b32_e32 v2, v40
+; GFX11-TRUE16-NEXT: v_dual_mov_b32 v41, v74 :: v_dual_mov_b32 v40, v73
; GFX11-TRUE16-NEXT: s_branch .LBB91_6
; GFX11-TRUE16-NEXT: .LBB91_5:
-; GFX11-TRUE16-NEXT: v_dual_mov_b32 v134, s21 :: v_dual_mov_b32 v115, s0
-; GFX11-TRUE16-NEXT: v_readlane_b32 s0, v78, 14
-; GFX11-TRUE16-NEXT: v_dual_mov_b32 v114, s1 :: v_dual_mov_b32 v85, s10
-; GFX11-TRUE16-NEXT: v_dual_mov_b32 v165, s26 :: v_dual_mov_b32 v162, s27
-; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_3) | instid1(VALU_DEP_3)
-; GFX11-TRUE16-NEXT: v_mov_b32_e32 v128, s0
-; GFX11-TRUE16-NEXT: v_readlane_b32 s0, v78, 15
-; GFX11-TRUE16-NEXT: v_dual_mov_b32 v166, s24 :: v_dual_mov_b32 v147, s23
-; GFX11-TRUE16-NEXT: v_dual_mov_b32 v160, s25 :: v_dual_mov_b32 v135, s18
-; GFX11-TRUE16-NEXT: v_mov_b32_e32 v117, s0
+; GFX11-TRUE16-NEXT: v_dual_mov_b32 v130, s17 :: v_dual_mov_b32 v117, s0
; GFX11-TRUE16-NEXT: v_readlane_b32 s0, v78, 16
-; GFX11-TRUE16-NEXT: v_mov_b32_e32 v182, s66
-; GFX11-TRUE16-NEXT: v_dual_mov_b32 v150, s22 :: v_dual_mov_b32 v131, s19
-; GFX11-TRUE16-NEXT: v_dual_mov_b32 v146, s20 :: v_dual_mov_b32 v119, s17
-; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_3) | instid1(VALU_DEP_3)
-; GFX11-TRUE16-NEXT: v_mov_b32_e32 v43, s0
+; GFX11-TRUE16-NEXT: v_dual_mov_b32 v116, s1 :: v_dual_mov_b32 v97, s7
+; GFX11-TRUE16-NEXT: v_dual_mov_b32 v167, s26 :: v_dual_mov_b32 v166, s27
+; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_3) | instid1(VALU_DEP_3)
+; GFX11-TRUE16-NEXT: v_mov_b32_e32 v129, s0
; GFX11-TRUE16-NEXT: v_readlane_b32 s0, v78, 17
-; GFX11-TRUE16-NEXT: v_dual_mov_b32 v130, s16 :: v_dual_mov_b32 v99, s5
-; GFX11-TRUE16-NEXT: v_dual_mov_b32 v118, s2 :: v_dual_mov_b32 v87, s7
-; GFX11-TRUE16-NEXT: v_mov_b32_e32 v44, s0
+; GFX11-TRUE16-NEXT: v_dual_mov_b32 v176, s24 :: v_dual_mov_b32 v163, s25
+; GFX11-TRUE16-NEXT: v_dual_mov_b32 v161, s22 :: v_dual_mov_b32 v148, s20
+; GFX11-TRUE16-NEXT: v_mov_b32_e32 v118, s0
; GFX11-TRUE16-NEXT: v_readlane_b32 s0, v78, 18
-; GFX11-TRUE16-NEXT: v_dual_mov_b32 v116, s3 :: v_dual_mov_b32 v81, s9
-; GFX11-TRUE16-NEXT: v_dual_mov_b32 v102, s4 :: v_dual_mov_b32 v177, s63
+; GFX11-TRUE16-NEXT: v_dual_mov_b32 v52, s29 :: v_dual_mov_b32 v149, s23
+; GFX11-TRUE16-NEXT: v_dual_mov_b32 v144, s21 :: v_dual_mov_b32 v145, s18
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_3) | instid1(VALU_DEP_3)
-; GFX11-TRUE16-NEXT: v_mov_b32_e32 v42, s0
+; GFX11-TRUE16-NEXT: v_dual_mov_b32 v134, s19 :: v_dual_mov_b32 v53, s0
; GFX11-TRUE16-NEXT: v_readlane_b32 s0, v78, 19
-; GFX11-TRUE16-NEXT: v_dual_mov_b32 v98, s6 :: v_dual_mov_b32 v167, s57
-; GFX11-TRUE16-NEXT: v_dual_mov_b32 v86, s8 :: v_dual_mov_b32 v163, s60
-; GFX11-TRUE16-NEXT: v_mov_b32_e32 v45, s0
+; GFX11-TRUE16-NEXT: v_dual_mov_b32 v132, s16 :: v_dual_mov_b32 v119, s3
+; GFX11-TRUE16-NEXT: v_dual_mov_b32 v128, s2 :: v_dual_mov_b32 v103, s5
+; GFX11-TRUE16-NEXT: v_mov_b32_e32 v43, s0
; GFX11-TRUE16-NEXT: v_readlane_b32 s0, v78, 20
-; GFX11-TRUE16-NEXT: v_dual_mov_b32 v80, s11 :: v_dual_mov_b32 v161, s45
-; GFX11-TRUE16-NEXT: v_dual_mov_b32 v176, s30 :: v_dual_mov_b32 v151, s44
+; GFX11-TRUE16-NEXT: v_dual_mov_b32 v181, s71 :: v_dual_mov_b32 v112, s4
+; GFX11-TRUE16-NEXT: v_dual_mov_b32 v83, s9 :: v_dual_mov_b32 v100, s6
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_3) | instid1(VALU_DEP_3)
-; GFX11-TRUE16-NEXT: v_mov_b32_e32 v47, s0
+; GFX11-TRUE16-NEXT: v_dual_mov_b32 v87, s10 :: v_dual_mov_b32 v44, s0
; GFX11-TRUE16-NEXT: v_readlane_b32 s0, v78, 21
-; GFX11-TRUE16-NEXT: v_dual_mov_b32 v164, s61 :: v_dual_mov_b32 v149, s46
-; GFX11-TRUE16-NEXT: v_dual_mov_b32 v148, s100 :: v_dual_mov_b32 v145, s102
-; GFX11-TRUE16-NEXT: v_mov_b32_e32 v46, s0
+; GFX11-TRUE16-NEXT: v_dual_mov_b32 v41, s55 :: v_dual_mov_b32 v98, s8
+; GFX11-TRUE16-NEXT: v_dual_mov_b32 v179, s61 :: v_dual_mov_b32 v82, s11
+; GFX11-TRUE16-NEXT: v_dual_mov_b32 v177, s45 :: v_dual_mov_b32 v42, s0
; GFX11-TRUE16-NEXT: v_readlane_b32 s0, v78, 22
-; GFX11-TRUE16-NEXT: v_dual_mov_b32 v144, s83 :: v_dual_mov_b32 v133, s87
-; GFX11-TRUE16-NEXT: v_dual_mov_b32 v132, s67 :: v_dual_mov_b32 v129, s71
+; GFX11-TRUE16-NEXT: v_dual_mov_b32 v178, s73 :: v_dual_mov_b32 v165, s56
+; GFX11-TRUE16-NEXT: v_dual_mov_b32 v164, s57 :: v_dual_mov_b32 v151, s42
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_3) | instid1(VALU_DEP_3)
-; GFX11-TRUE16-NEXT: v_mov_b32_e32 v58, s0
+; GFX11-TRUE16-NEXT: v_mov_b32_e32 v45, s0
; GFX11-TRUE16-NEXT: v_readlane_b32 s0, v78, 23
-; GFX11-TRUE16-NEXT: v_dual_mov_b32 v113, s54 :: v_dual_mov_b32 v112, s55
-; GFX11-TRUE16-NEXT: v_dual_mov_b32 v103, s52 :: v_dual_mov_b32 v100, s50
-; GFX11-TRUE16-NEXT: v_mov_b32_e32 v57, s0
+; GFX11-TRUE16-NEXT: v_dual_mov_b32 v162, s60 :: v_dual_mov_b32 v147, s100
+; GFX11-TRUE16-NEXT: v_dual_mov_b32 v160, s104 :: v_dual_mov_b32 v135, s84
+; GFX11-TRUE16-NEXT: v_mov_b32_e32 v47, s0
; GFX11-TRUE16-NEXT: v_readlane_b32 s0, v78, 24
-; GFX11-TRUE16-NEXT: v_dual_mov_b32 v101, s53 :: v_dual_mov_b32 v96, s48
-; GFX11-TRUE16-NEXT: v_dual_mov_b32 v97, s51 :: v_dual_mov_b32 v84, s49
+; GFX11-TRUE16-NEXT: v_dual_mov_b32 v183, s65 :: v_dual_mov_b32 v150, s98
+; GFX11-TRUE16-NEXT: v_dual_mov_b32 v133, s66 :: v_dual_mov_b32 v146, s82
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_3) | instid1(VALU_DEP_3)
-; GFX11-TRUE16-NEXT: v_mov_b32_e32 v56, s0
+; GFX11-TRUE16-NEXT: v_dual_mov_b32 v131, s68 :: v_dual_mov_b32 v46, s0
; GFX11-TRUE16-NEXT: v_readlane_b32 s0, v78, 25
-; GFX11-TRUE16-NEXT: v_dual_mov_b32 v83, s38 :: v_dual_mov_b32 v82, s12
-; GFX11-TRUE16-NEXT: v_dual_mov_b32 v70, s13 :: v_dual_mov_b32 v71, s39
-; GFX11-TRUE16-NEXT: v_mov_b32_e32 v59, s0
+; GFX11-TRUE16-NEXT: v_dual_mov_b32 v115, s53 :: v_dual_mov_b32 v114, s54
+; GFX11-TRUE16-NEXT: v_dual_mov_b32 v113, s51 :: v_dual_mov_b32 v102, s52
+; GFX11-TRUE16-NEXT: v_mov_b32_e32 v58, s0
; GFX11-TRUE16-NEXT: v_readlane_b32 s0, v78, 26
-; GFX11-TRUE16-NEXT: v_dual_mov_b32 v68, s14 :: v_dual_mov_b32 v69, s36
-; GFX11-TRUE16-NEXT: v_dual_mov_b32 v65, s15 :: v_dual_mov_b32 v64, s40
+; GFX11-TRUE16-NEXT: v_dual_mov_b32 v101, s49 :: v_dual_mov_b32 v96, s72
+; GFX11-TRUE16-NEXT: v_dual_mov_b32 v99, s50 :: v_dual_mov_b32 v86, s48
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_3) | instid1(VALU_DEP_3)
-; GFX11-TRUE16-NEXT: v_mov_b32_e32 v61, s0
+; GFX11-TRUE16-NEXT: v_mov_b32_e32 v57, s0
; GFX11-TRUE16-NEXT: v_readlane_b32 s0, v78, 27
-; GFX11-TRUE16-NEXT: v_dual_mov_b32 v67, s37 :: v_dual_mov_b32 v66, s31
-; GFX11-TRUE16-NEXT: v_dual_mov_b32 v54, s41 :: v_dual_mov_b32 v55, s34
-; GFX11-TRUE16-NEXT: v_mov_b32_e32 v60, s0
+; GFX11-TRUE16-NEXT: v_dual_mov_b32 v85, s38 :: v_dual_mov_b32 v84, s12
+; GFX11-TRUE16-NEXT: v_dual_mov_b32 v80, s13 :: v_dual_mov_b32 v81, s39
+; GFX11-TRUE16-NEXT: v_mov_b32_e32 v56, s0
; GFX11-TRUE16-NEXT: v_readlane_b32 s0, v78, 28
-; GFX11-TRUE16-NEXT: v_dual_mov_b32 v52, s28 :: v_dual_mov_b32 v53, s75
-; GFX11-TRUE16-NEXT: v_dual_mov_b32 v50, s29 :: v_dual_mov_b32 v51, s73
+; GFX11-TRUE16-NEXT: v_dual_mov_b32 v70, s14 :: v_dual_mov_b32 v71, s36
+; GFX11-TRUE16-NEXT: v_dual_mov_b32 v66, s15 :: v_dual_mov_b32 v69, s37
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_3) | instid1(VALU_DEP_3)
-; GFX11-TRUE16-NEXT: v_dual_mov_b32 v72, s0 :: v_dual_mov_b32 v19, s47
+; GFX11-TRUE16-NEXT: v_mov_b32_e32 v59, s0
; GFX11-TRUE16-NEXT: v_readlane_b32 s0, v78, 29
-; GFX11-TRUE16-NEXT: v_dual_mov_b32 v178, s97 :: v_dual_mov_b32 v39, s101
-; GFX11-TRUE16-NEXT: v_dual_mov_b32 v34, s99 :: v_dual_mov_b32 v181, s85
-; GFX11-TRUE16-NEXT: v_dual_mov_b32 v62, s0 :: v_dual_mov_b32 v13, s56
+; GFX11-TRUE16-NEXT: v_dual_mov_b32 v67, s40 :: v_dual_mov_b32 v68, s34
+; GFX11-TRUE16-NEXT: v_dual_mov_b32 v64, s41 :: v_dual_mov_b32 v65, s35
+; GFX11-TRUE16-NEXT: v_dual_mov_b32 v61, s0 :: v_dual_mov_b32 v18, s59
; GFX11-TRUE16-NEXT: v_readlane_b32 s0, v78, 30
-; GFX11-TRUE16-NEXT: v_dual_mov_b32 v180, s81 :: v_dual_mov_b32 v179, s82
-; GFX11-TRUE16-NEXT: v_dual_mov_b32 v2, s64 :: v_dual_mov_b32 v183, s69
-; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_4) | instid1(VALU_DEP_4)
-; GFX11-TRUE16-NEXT: v_mov_b32_e32 v63, s0
+; GFX11-TRUE16-NEXT: v_dual_mov_b32 v54, s28 :: v_dual_mov_b32 v55, s75
+; GFX11-TRUE16-NEXT: v_dual_mov_b32 v49, s87 :: v_dual_mov_b32 v182, s83
+; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_3) | instid1(VALU_DEP_3)
+; GFX11-TRUE16-NEXT: v_mov_b32_e32 v60, s0
; GFX11-TRUE16-NEXT: v_readlane_b32 s0, v78, 31
-; GFX11-TRUE16-NEXT: v_mov_b32_e32 v10, s96
-; GFX11-TRUE16-NEXT: v_dual_mov_b32 v20, s43 :: v_dual_mov_b32 v21, s62
-; GFX11-TRUE16-NEXT: v_dual_mov_b32 v24, s59 :: v_dual_mov_b32 v11, s103
-; GFX11-TRUE16-NEXT: v_mov_b32_e32 v5, s0
+; GFX11-TRUE16-NEXT: v_dual_mov_b32 v37, s99 :: v_dual_mov_b32 v180, s81
+; GFX11-TRUE16-NEXT: v_dual_mov_b32 v31, s97 :: v_dual_mov_b32 v40, s67
+; GFX11-TRUE16-NEXT: v_mov_b32_e32 v72, s0
; GFX11-TRUE16-NEXT: v_readlane_b32 s0, v77, 0
-; GFX11-TRUE16-NEXT: v_mov_b32_e32 v8, s80
-; GFX11-TRUE16-NEXT: v_dual_mov_b32 v14, s58 :: v_dual_mov_b32 v9, s86
-; GFX11-TRUE16-NEXT: v_dual_mov_b32 v28, s42 :: v_dual_mov_b32 v29, s98
+; GFX11-TRUE16-NEXT: v_dual_mov_b32 v24, s30 :: v_dual_mov_b32 v17, s63
+; GFX11-TRUE16-NEXT: v_dual_mov_b32 v14, s43 :: v_dual_mov_b32 v13, s62
+; GFX11-TRUE16-NEXT: v_mov_b32_e32 v12, s46
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_3) | instid1(VALU_DEP_3)
-; GFX11-TRUE16-NEXT: v_mov_b32_e32 v49, s0
+; GFX11-TRUE16-NEXT: v_mov_b32_e32 v62, s0
; GFX11-TRUE16-NEXT: v_readlane_b32 s0, v77, 1
-; GFX11-TRUE16-NEXT: v_dual_mov_b32 v12, s104 :: v_dual_mov_b32 v7, s70
-; GFX11-TRUE16-NEXT: v_dual_mov_b32 v30, s84 :: v_dual_mov_b32 v35, s68
-; GFX11-TRUE16-NEXT: v_dual_mov_b32 v48, s0 :: v_dual_mov_b32 v25, s72
+; GFX11-TRUE16-NEXT: v_dual_mov_b32 v19, s47 :: v_dual_mov_b32 v26, s103
+; GFX11-TRUE16-NEXT: v_dual_mov_b32 v11, s44 :: v_dual_mov_b32 v10, s102
+; GFX11-TRUE16-NEXT: v_mov_b32_e32 v63, s0
; GFX11-TRUE16-NEXT: v_readlane_b32 s0, v77, 2
-; GFX11-TRUE16-NEXT: v_dual_mov_b32 v16, s76 :: v_dual_mov_b32 v23, s92
-; GFX11-TRUE16-NEXT: v_dual_mov_b32 v18, s88 :: v_dual_mov_b32 v3, s94
-; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_3) | instid1(VALU_DEP_3)
-; GFX11-TRUE16-NEXT: v_mov_b32_e32 v36, s0
+; GFX11-TRUE16-NEXT: v_mov_b32_e32 v5, s69
+; GFX11-TRUE16-NEXT: v_dual_mov_b32 v25, s58 :: v_dual_mov_b32 v32, s96
+; GFX11-TRUE16-NEXT: v_dual_mov_b32 v9, s101 :: v_dual_mov_b32 v8, s86
+; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_4) | instid1(VALU_DEP_4)
+; GFX11-TRUE16-NEXT: v_mov_b32_e32 v50, s0
; GFX11-TRUE16-NEXT: v_readlane_b32 s0, v77, 3
-; GFX11-TRUE16-NEXT: v_dual_mov_b32 v22, s90 :: v_dual_mov_b32 v1, vcc_lo
-; GFX11-TRUE16-NEXT: v_mov_b32_e32 v15, s74
-; GFX11-TRUE16-NEXT: v_dual_mov_b32 v17, s78 :: v_dual_mov_b32 v40, s0
+; GFX11-TRUE16-NEXT: v_mov_b32_e32 v33, s80
+; GFX11-TRUE16-NEXT: v_dual_mov_b32 v7, s85 :: v_dual_mov_b32 v6, s70
+; GFX11-TRUE16-NEXT: v_dual_mov_b32 v16, s76 :: v_dual_mov_b32 v23, s92
+; GFX11-TRUE16-NEXT: v_mov_b32_e32 v38, s0
; GFX11-TRUE16-NEXT: v_readlane_b32 s0, v77, 4
-; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)
-; GFX11-TRUE16-NEXT: v_dual_mov_b32 v6, s65 :: v_dual_mov_b32 v41, s0
+; GFX11-TRUE16-NEXT: v_dual_mov_b32 v20, s78 :: v_dual_mov_b32 v3, s94
+; GFX11-TRUE16-NEXT: v_dual_mov_b32 v22, s90 :: v_dual_mov_b32 v1, vcc_lo
+; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_3) | instid1(VALU_DEP_3)
+; GFX11-TRUE16-NEXT: v_mov_b32_e32 v51, s0
; GFX11-TRUE16-NEXT: v_readlane_b32 s0, v77, 5
+; GFX11-TRUE16-NEXT: v_mov_b32_e32 v39, s64
+; GFX11-TRUE16-NEXT: v_mov_b32_e32 v15, s74
+; GFX11-TRUE16-NEXT: v_dual_mov_b32 v21, s88 :: v_dual_mov_b32 v2, s0
+; GFX11-TRUE16-NEXT: v_readlane_b32 s0, v77, 6
+; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_2) | instid1(VALU_DEP_2)
; GFX11-TRUE16-NEXT: v_mov_b32_e32 v4, s0
+; GFX11-TRUE16-NEXT: v_readlane_b32 s0, v78, 14
+; GFX11-TRUE16-NEXT: v_readlane_b32 s1, v78, 15
+; GFX11-TRUE16-NEXT: v_mov_b32_e32 v27, s0
; GFX11-TRUE16-NEXT: v_readlane_b32 s0, v78, 12
; GFX11-TRUE16-NEXT: v_readlane_b32 s1, v78, 13
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_2) | instskip(SKIP_2) | instid1(VALU_DEP_2)
-; GFX11-TRUE16-NEXT: v_mov_b32_e32 v26, s0
+; GFX11-TRUE16-NEXT: v_mov_b32_e32 v28, s0
; GFX11-TRUE16-NEXT: v_readlane_b32 s0, v78, 10
; GFX11-TRUE16-NEXT: v_readlane_b32 s1, v78, 11
-; GFX11-TRUE16-NEXT: v_mov_b32_e32 v27, s0
+; GFX11-TRUE16-NEXT: v_mov_b32_e32 v29, s0
; GFX11-TRUE16-NEXT: v_readlane_b32 s0, v78, 8
; GFX11-TRUE16-NEXT: v_readlane_b32 s1, v78, 9
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_2) | instskip(SKIP_2) | instid1(VALU_DEP_2)
-; GFX11-TRUE16-NEXT: v_mov_b32_e32 v31, s0
+; GFX11-TRUE16-NEXT: v_mov_b32_e32 v30, s0
; GFX11-TRUE16-NEXT: v_readlane_b32 s0, v78, 6
; GFX11-TRUE16-NEXT: v_readlane_b32 s1, v78, 7
-; GFX11-TRUE16-NEXT: v_mov_b32_e32 v32, s0
+; GFX11-TRUE16-NEXT: v_mov_b32_e32 v34, s0
; GFX11-TRUE16-NEXT: v_readlane_b32 s0, v78, 4
; GFX11-TRUE16-NEXT: v_readlane_b32 s1, v78, 5
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_2) | instskip(SKIP_2) | instid1(VALU_DEP_2)
-; GFX11-TRUE16-NEXT: v_mov_b32_e32 v33, s0
+; GFX11-TRUE16-NEXT: v_mov_b32_e32 v35, s0
; GFX11-TRUE16-NEXT: v_readlane_b32 s0, v78, 2
; GFX11-TRUE16-NEXT: v_readlane_b32 s1, v78, 3
-; GFX11-TRUE16-NEXT: v_mov_b32_e32 v37, s0
+; GFX11-TRUE16-NEXT: v_mov_b32_e32 v36, s0
; GFX11-TRUE16-NEXT: v_readlane_b32 s0, v78, 0
; GFX11-TRUE16-NEXT: v_readlane_b32 s1, v78, 1
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_2)
-; GFX11-TRUE16-NEXT: v_mov_b32_e32 v38, s0
+; GFX11-TRUE16-NEXT: v_mov_b32_e32 v48, s0
; GFX11-TRUE16-NEXT: .LBB91_6: ; %end
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_1)
-; GFX11-TRUE16-NEXT: v_perm_b32 v38, v128, v38, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v37, v132, v37, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v115, v115, v72, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v128, v114, v63, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v114, v129, v61, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v38, 16, v38
-; GFX11-TRUE16-NEXT: v_perm_b32 v118, v118, v59, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v37, 16, v37
-; GFX11-TRUE16-NEXT: v_perm_b32 v117, v117, v62, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v33, v144, v33, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v129, v116, v60, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v132, 16, v114
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v114, v115, v38
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v116, v118, v37
-; GFX11-TRUE16-NEXT: v_perm_b32 v38, v133, v57, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v32, v148, v32, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v118, v119, v56, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v119, v145, v47, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v117, 16, v117
-; GFX11-TRUE16-NEXT: v_perm_b32 v37, v130, v58, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v33, 16, v33
-; GFX11-TRUE16-NEXT: v_perm_b32 v31, v151, v31, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v38, 16, v38
-; GFX11-TRUE16-NEXT: v_perm_b32 v130, v135, v45, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v32, 16, v32
-; GFX11-TRUE16-NEXT: v_perm_b32 v131, v131, v46, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v119, 16, v119
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v115, v128, v117
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v117, v129, v132
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v128, v37, v33
-; GFX11-TRUE16-NEXT: v_perm_b32 v33, v146, v43, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v27, v163, v27, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v31, 16, v31
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v129, v118, v38
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v130, v130, v32
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v131, v131, v119
-; GFX11-TRUE16-NEXT: v_perm_b32 v32, v149, v44, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v2, v150, v2, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v27, 16, v27
+; GFX11-TRUE16-NEXT: v_perm_b32 v48, v129, v48, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v118, v118, v62, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v36, v133, v36, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v117, v117, v72, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v129, v116, v63, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v48, 16, v48
+; GFX11-TRUE16-NEXT: v_perm_b32 v116, v131, v61, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v118, 16, v118
+; GFX11-TRUE16-NEXT: v_perm_b32 v128, v128, v59, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v36, 16, v36
+; GFX11-TRUE16-NEXT: v_perm_b32 v35, v146, v35, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v119, v119, v60, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v131, 16, v116
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v116, v117, v48
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v117, v129, v118
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v118, v128, v36
+; GFX11-TRUE16-NEXT: v_perm_b32 v48, v135, v57, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v34, v150, v34, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v128, v147, v47, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v36, v132, v58, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v35, 16, v35
+; GFX11-TRUE16-NEXT: v_perm_b32 v30, v160, v30, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v119, v119, v131
+; GFX11-TRUE16-NEXT: v_perm_b32 v129, v130, v56, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v48, 16, v48
+; GFX11-TRUE16-NEXT: v_perm_b32 v130, v145, v45, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v34, 16, v34
+; GFX11-TRUE16-NEXT: v_perm_b32 v131, v134, v46, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v132, 16, v128
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v128, v36, v35
+; GFX11-TRUE16-NEXT: v_perm_b32 v35, v148, v43, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v29, v165, v29, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v30, 16, v30
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v129, v129, v48
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v130, v130, v34
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v131, v131, v132
+; GFX11-TRUE16-NEXT: v_perm_b32 v48, v161, v41, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v29, 16, v29
; GFX11-TRUE16-NEXT: s_clause 0x1
-; GFX11-TRUE16-NEXT: scratch_store_b128 v0, v[114:117], off
+; GFX11-TRUE16-NEXT: scratch_store_b128 v0, v[116:119], off
; GFX11-TRUE16-NEXT: scratch_store_b128 v0, v[128:131], off offset:16
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v114, v33, v31
-; GFX11-TRUE16-NEXT: v_perm_b32 v31, v161, v183, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v37, v134, v42, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v32, 16, v32
-; GFX11-TRUE16-NEXT: v_perm_b32 v26, v167, v26, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v116, v2, v27
-; GFX11-TRUE16-NEXT: v_perm_b32 v2, v147, v182, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v27, 16, v31
-; GFX11-TRUE16-NEXT: v_perm_b32 v31, v164, v181, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v25, v177, v25, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v115, v37, v32
-; GFX11-TRUE16-NEXT: v_perm_b32 v32, v166, v180, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v26, 16, v26
-; GFX11-TRUE16-NEXT: v_perm_b32 v23, v69, v23, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v18, v96, v18, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v33, v160, v179, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v37, 16, v31
-; GFX11-TRUE16-NEXT: v_perm_b32 v38, v165, v178, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v25, 16, v25
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v117, v2, v27
-; GFX11-TRUE16-NEXT: v_perm_b32 v2, v176, v39, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v31, v32, v26
-; GFX11-TRUE16-NEXT: v_perm_b32 v26, v51, v41, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v5, v68, v5, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v22, v83, v22, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v116, v35, v30
+; GFX11-TRUE16-NEXT: v_perm_b32 v30, v162, v40, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v34, v151, v44, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v118, v48, v29
+; GFX11-TRUE16-NEXT: v_perm_b32 v29, v149, v183, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v23, v71, v23, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v30, 16, v30
+; GFX11-TRUE16-NEXT: v_perm_b32 v21, v96, v21, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v36, v144, v42, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v34, 16, v34
+; GFX11-TRUE16-NEXT: v_perm_b32 v5, v70, v5, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v119, v29, v30
+; GFX11-TRUE16-NEXT: v_perm_b32 v30, v178, v37, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v22, v85, v22, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v23, 16, v23
-; GFX11-TRUE16-NEXT: v_perm_b32 v9, v85, v9, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v17, v100, v17, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v18, 16, v18
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v32, v33, v37
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v33, v38, v25
-; GFX11-TRUE16-NEXT: v_perm_b32 v25, v162, v34, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v2, 16, v2
-; GFX11-TRUE16-NEXT: v_perm_b32 v4, v50, v4, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v26, 16, v26
-; GFX11-TRUE16-NEXT: v_perm_b32 v7, v82, v7, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v9, v87, v9, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v20, v101, v20, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v21, 16, v21
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v117, v36, v34
+; GFX11-TRUE16-NEXT: v_perm_b32 v28, v177, v28, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v34, v164, v182, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v31, v166, v31, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v30, 16, v30
+; GFX11-TRUE16-NEXT: v_perm_b32 v2, v53, v2, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v7, v84, v7, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v22, 16, v22
; GFX11-TRUE16-NEXT: v_or_b32_e32 v5, v5, v23
-; GFX11-TRUE16-NEXT: v_perm_b32 v23, v71, v30, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v11, v86, v11, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v17, 16, v17
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v9, v9, v18
-; GFX11-TRUE16-NEXT: v_perm_b32 v18, v97, v28, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v1, v53, v1, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v3, v66, v3, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v34, v25, v2
-; GFX11-TRUE16-NEXT: v_perm_b32 v25, v55, v48, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v2, v4, v26
-; GFX11-TRUE16-NEXT: v_perm_b32 v26, v67, v35, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v23, v81, v32, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v11, v98, v11, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v20, 16, v20
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v9, v9, v21
+; GFX11-TRUE16-NEXT: v_perm_b32 v21, v99, v25, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v27, v179, v27, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v35, v176, v181, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v28, 16, v28
+; GFX11-TRUE16-NEXT: v_perm_b32 v36, v163, v180, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v34, 16, v34
+; GFX11-TRUE16-NEXT: v_perm_b32 v1, v55, v1, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v3, v68, v3, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v4, v52, v4, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v2, 16, v2
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v30, v31, v30
+; GFX11-TRUE16-NEXT: v_perm_b32 v31, v65, v39, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v33, v69, v33, 0xc0c0004
; GFX11-TRUE16-NEXT: v_or_b32_e32 v7, v7, v22
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v22, 16, v23
-; GFX11-TRUE16-NEXT: v_perm_b32 v23, v84, v29, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v11, v11, v17
-; GFX11-TRUE16-NEXT: v_perm_b32 v16, v103, v16, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v17, 16, v18
-; GFX11-TRUE16-NEXT: v_perm_b32 v18, v101, v21, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v15, v113, v15, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v21, v112, v24, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v27, v52, v40, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v23, v86, v26, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v11, v11, v20
+; GFX11-TRUE16-NEXT: v_perm_b32 v16, v113, v16, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v20, 16, v21
+; GFX11-TRUE16-NEXT: v_perm_b32 v19, v102, v19, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v15, v115, v15, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v21, v114, v24, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v48, v167, v49, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v49, 16, v27
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v27, v35, v28
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v28, v36, v34
+; GFX11-TRUE16-NEXT: v_perm_b32 v34, v54, v51, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v1, 16, v1
-; GFX11-TRUE16-NEXT: v_perm_b32 v37, v64, v49, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v35, v67, v50, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v3, 16, v3
-; GFX11-TRUE16-NEXT: v_perm_b32 v4, v54, v36, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v25, 16, v25
-; GFX11-TRUE16-NEXT: v_perm_b32 v6, v65, v6, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v26, 16, v26
-; GFX11-TRUE16-NEXT: v_perm_b32 v8, v70, v8, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v10, v80, v10, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v2, v4, v2
+; GFX11-TRUE16-NEXT: v_perm_b32 v4, v64, v38, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v31, 16, v31
+; GFX11-TRUE16-NEXT: v_perm_b32 v6, v66, v6, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v33, 16, v33
+; GFX11-TRUE16-NEXT: v_perm_b32 v8, v80, v8, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v10, v82, v10, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v23, 16, v23
-; GFX11-TRUE16-NEXT: v_perm_b32 v12, v81, v12, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v13, v98, v13, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v12, v83, v12, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v13, v100, v13, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v16, 16, v16
-; GFX11-TRUE16-NEXT: v_perm_b32 v14, v87, v14, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v18, 16, v18
-; GFX11-TRUE16-NEXT: v_perm_b32 v20, v102, v20, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v14, v97, v14, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v19, 16, v19
+; GFX11-TRUE16-NEXT: v_perm_b32 v18, v112, v18, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v15, 16, v15
-; GFX11-TRUE16-NEXT: v_perm_b32 v19, v99, v19, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v17, v103, v17, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v21, 16, v21
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v1, v27, v1
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v3, v37, v3
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v4, v4, v25
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v6, v6, v26
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v29, v48, v49
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v1, v34, v1
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v3, v35, v3
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v4, v4, v31
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v6, v6, v33
; GFX11-TRUE16-NEXT: v_or_b32_e32 v8, v8, v22
; GFX11-TRUE16-NEXT: v_or_b32_e32 v10, v10, v23
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v12, v12, v17
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v12, v12, v20
; GFX11-TRUE16-NEXT: v_or_b32_e32 v13, v13, v16
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v14, v14, v18
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v15, v20, v15
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v16, v19, v21
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v14, v14, v19
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v15, v18, v15
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v16, v17, v21
; GFX11-TRUE16-NEXT: s_clause 0x5
-; GFX11-TRUE16-NEXT: scratch_store_b128 v0, v[114:117], off offset:32
-; GFX11-TRUE16-NEXT: scratch_store_b128 v0, v[31:34], off offset:48
+; GFX11-TRUE16-NEXT: scratch_store_b128 v0, v[116:119], off offset:32
+; GFX11-TRUE16-NEXT: scratch_store_b128 v0, v[27:30], off offset:48
; GFX11-TRUE16-NEXT: scratch_store_b128 v0, v[1:4], off offset:64
; GFX11-TRUE16-NEXT: scratch_store_b128 v0, v[5:8], off offset:80
; GFX11-TRUE16-NEXT: scratch_store_b128 v0, v[9:12], off offset:96
@@ -165426,90 +165501,92 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
; GFX11-FAKE16-NEXT: s_or_saveexec_b32 s4, -1
; GFX11-FAKE16-NEXT: s_clause 0x3 ; 16-byte Folded Spill
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v75, s32 offset:76
; GFX11-FAKE16-NEXT: scratch_store_b32 off, v76, s32 offset:80
; GFX11-FAKE16-NEXT: scratch_store_b32 off, v77, s32 offset:84
; GFX11-FAKE16-NEXT: scratch_store_b32 off, v78, s32 offset:88
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v79, s32 offset:92
; GFX11-FAKE16-NEXT: s_mov_b32 exec_lo, s4
-; GFX11-FAKE16-NEXT: s_clause 0x12 ; 76-byte Folded Spill
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v40, s32 offset:72
+; GFX11-FAKE16-NEXT: s_clause 0x13 ; 80-byte Folded Spill
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v40, s32 offset:76
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v41, s32 offset:68
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v41, s32 offset:72
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v42, s32 offset:64
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v42, s32 offset:68
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v43, s32 offset:60
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v43, s32 offset:64
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v44, s32 offset:56
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v44, s32 offset:60
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v45, s32 offset:52
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v45, s32 offset:56
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v46, s32 offset:48
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v46, s32 offset:52
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v47, s32 offset:44
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v47, s32 offset:48
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v56, s32 offset:40
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v56, s32 offset:44
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v57, s32 offset:36
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v57, s32 offset:40
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v58, s32 offset:32
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v58, s32 offset:36
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v59, s32 offset:28
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v59, s32 offset:32
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v60, s32 offset:24
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v60, s32 offset:28
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v61, s32 offset:20
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v61, s32 offset:24
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v62, s32 offset:16
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v62, s32 offset:20
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v63, s32 offset:12
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v63, s32 offset:16
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v72, s32 offset:8
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v72, s32 offset:12
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v73, s32 offset:4
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v73, s32 offset:8
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v74, s32
-; GFX11-FAKE16-NEXT: v_writelane_b32 v75, s34, 0
-; GFX11-FAKE16-NEXT: v_writelane_b32 v75, s35, 1
-; GFX11-FAKE16-NEXT: v_writelane_b32 v75, s36, 2
-; GFX11-FAKE16-NEXT: v_writelane_b32 v75, s37, 3
-; GFX11-FAKE16-NEXT: v_writelane_b32 v75, s38, 4
-; GFX11-FAKE16-NEXT: v_writelane_b32 v75, s39, 5
-; GFX11-FAKE16-NEXT: v_writelane_b32 v75, s48, 6
-; GFX11-FAKE16-NEXT: v_writelane_b32 v75, s49, 7
-; GFX11-FAKE16-NEXT: v_writelane_b32 v75, s50, 8
-; GFX11-FAKE16-NEXT: v_writelane_b32 v75, s51, 9
-; GFX11-FAKE16-NEXT: v_writelane_b32 v75, s52, 10
-; GFX11-FAKE16-NEXT: v_writelane_b32 v75, s53, 11
-; GFX11-FAKE16-NEXT: v_writelane_b32 v75, s54, 12
-; GFX11-FAKE16-NEXT: v_writelane_b32 v75, s55, 13
-; GFX11-FAKE16-NEXT: v_writelane_b32 v75, s64, 14
-; GFX11-FAKE16-NEXT: v_writelane_b32 v75, s65, 15
-; GFX11-FAKE16-NEXT: v_writelane_b32 v75, s66, 16
-; GFX11-FAKE16-NEXT: v_writelane_b32 v75, s67, 17
-; GFX11-FAKE16-NEXT: v_writelane_b32 v75, s68, 18
-; GFX11-FAKE16-NEXT: v_writelane_b32 v75, s69, 19
-; GFX11-FAKE16-NEXT: v_writelane_b32 v75, s70, 20
-; GFX11-FAKE16-NEXT: v_writelane_b32 v75, s71, 21
-; GFX11-FAKE16-NEXT: v_writelane_b32 v75, s80, 22
-; GFX11-FAKE16-NEXT: v_writelane_b32 v75, s81, 23
-; GFX11-FAKE16-NEXT: v_writelane_b32 v75, s82, 24
-; GFX11-FAKE16-NEXT: v_writelane_b32 v75, s83, 25
-; GFX11-FAKE16-NEXT: v_writelane_b32 v75, s84, 26
-; GFX11-FAKE16-NEXT: v_writelane_b32 v75, s85, 27
-; GFX11-FAKE16-NEXT: v_writelane_b32 v75, s86, 28
-; GFX11-FAKE16-NEXT: v_writelane_b32 v75, s87, 29
-; GFX11-FAKE16-NEXT: v_writelane_b32 v75, s96, 30
-; GFX11-FAKE16-NEXT: v_writelane_b32 v75, s97, 31
-; GFX11-FAKE16-NEXT: v_writelane_b32 v76, s98, 0
-; GFX11-FAKE16-NEXT: v_writelane_b32 v76, s99, 1
-; GFX11-FAKE16-NEXT: v_writelane_b32 v76, s100, 2
-; GFX11-FAKE16-NEXT: v_writelane_b32 v76, s101, 3
-; GFX11-FAKE16-NEXT: v_writelane_b32 v76, s102, 4
-; GFX11-FAKE16-NEXT: v_writelane_b32 v76, s103, 5
-; GFX11-FAKE16-NEXT: v_writelane_b32 v76, s104, 6
-; GFX11-FAKE16-NEXT: v_writelane_b32 v76, s30, 7
-; GFX11-FAKE16-NEXT: v_writelane_b32 v76, s31, 8
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v74, s32 offset:4
+; GFX11-FAKE16-NEXT: ; meta instruction
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v75, s32
+; GFX11-FAKE16-NEXT: v_writelane_b32 v76, s34, 0
+; GFX11-FAKE16-NEXT: v_writelane_b32 v76, s35, 1
+; GFX11-FAKE16-NEXT: v_writelane_b32 v76, s36, 2
+; GFX11-FAKE16-NEXT: v_writelane_b32 v76, s37, 3
+; GFX11-FAKE16-NEXT: v_writelane_b32 v76, s38, 4
+; GFX11-FAKE16-NEXT: v_writelane_b32 v76, s39, 5
+; GFX11-FAKE16-NEXT: v_writelane_b32 v76, s48, 6
+; GFX11-FAKE16-NEXT: v_writelane_b32 v76, s49, 7
+; GFX11-FAKE16-NEXT: v_writelane_b32 v76, s50, 8
+; GFX11-FAKE16-NEXT: v_writelane_b32 v76, s51, 9
+; GFX11-FAKE16-NEXT: v_writelane_b32 v76, s52, 10
+; GFX11-FAKE16-NEXT: v_writelane_b32 v76, s53, 11
+; GFX11-FAKE16-NEXT: v_writelane_b32 v76, s54, 12
+; GFX11-FAKE16-NEXT: v_writelane_b32 v76, s55, 13
+; GFX11-FAKE16-NEXT: v_writelane_b32 v76, s64, 14
+; GFX11-FAKE16-NEXT: v_writelane_b32 v76, s65, 15
+; GFX11-FAKE16-NEXT: v_writelane_b32 v76, s66, 16
+; GFX11-FAKE16-NEXT: v_writelane_b32 v76, s67, 17
+; GFX11-FAKE16-NEXT: v_writelane_b32 v76, s68, 18
+; GFX11-FAKE16-NEXT: v_writelane_b32 v76, s69, 19
+; GFX11-FAKE16-NEXT: v_writelane_b32 v76, s70, 20
+; GFX11-FAKE16-NEXT: v_writelane_b32 v76, s71, 21
+; GFX11-FAKE16-NEXT: v_writelane_b32 v76, s80, 22
+; GFX11-FAKE16-NEXT: v_writelane_b32 v76, s81, 23
+; GFX11-FAKE16-NEXT: v_writelane_b32 v76, s82, 24
+; GFX11-FAKE16-NEXT: v_writelane_b32 v76, s83, 25
+; GFX11-FAKE16-NEXT: v_writelane_b32 v76, s84, 26
+; GFX11-FAKE16-NEXT: v_writelane_b32 v76, s85, 27
+; GFX11-FAKE16-NEXT: v_writelane_b32 v76, s86, 28
+; GFX11-FAKE16-NEXT: v_writelane_b32 v76, s87, 29
+; GFX11-FAKE16-NEXT: v_writelane_b32 v76, s96, 30
+; GFX11-FAKE16-NEXT: v_writelane_b32 v76, s97, 31
+; GFX11-FAKE16-NEXT: v_writelane_b32 v77, s98, 0
+; GFX11-FAKE16-NEXT: v_writelane_b32 v77, s99, 1
+; GFX11-FAKE16-NEXT: v_writelane_b32 v77, s100, 2
+; GFX11-FAKE16-NEXT: v_writelane_b32 v77, s101, 3
+; GFX11-FAKE16-NEXT: v_writelane_b32 v77, s102, 4
+; GFX11-FAKE16-NEXT: v_writelane_b32 v77, s103, 5
+; GFX11-FAKE16-NEXT: v_writelane_b32 v77, s104, 6
+; GFX11-FAKE16-NEXT: v_writelane_b32 v77, s30, 7
+; GFX11-FAKE16-NEXT: v_writelane_b32 v77, s31, 8
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s42, v15
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s5, v14
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s4, v13
@@ -165526,146 +165603,149 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s41, v2
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s40, v1
; GFX11-FAKE16-NEXT: s_cmp_lg_u32 s42, 0
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr79 : SGPR spill to VGPR lane
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr78 : SGPR spill to VGPR lane
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr77 : SGPR spill to VGPR lane
; GFX11-FAKE16-NEXT: s_cbranch_scc0 .LBB91_2
; GFX11-FAKE16-NEXT: ; %bb.1: ; %cmp.false
; GFX11-FAKE16-NEXT: s_lshr_b32 s42, s21, 24
-; GFX11-FAKE16-NEXT: s_lshr_b64 s[78:79], s[24:25], 24
-; GFX11-FAKE16-NEXT: v_writelane_b32 v78, s42, 17
+; GFX11-FAKE16-NEXT: s_lshr_b64 s[74:75], s[26:27], 24
+; GFX11-FAKE16-NEXT: v_writelane_b32 v79, s42, 20
; GFX11-FAKE16-NEXT: s_lshr_b32 s42, s21, 8
-; GFX11-FAKE16-NEXT: s_lshr_b32 s74, s9, 24
-; GFX11-FAKE16-NEXT: s_lshr_b32 s76, s29, 16
+; GFX11-FAKE16-NEXT: s_lshr_b32 s72, s21, 16
+; GFX11-FAKE16-NEXT: s_lshr_b32 s76, s10, 16
; GFX11-FAKE16-NEXT: s_lshr_b32 s77, s28, 16
-; GFX11-FAKE16-NEXT: v_writelane_b32 v78, s42, 18
+; GFX11-FAKE16-NEXT: v_writelane_b32 v79, s42, 21
; GFX11-FAKE16-NEXT: s_lshr_b32 s42, s20, 8
-; GFX11-FAKE16-NEXT: s_lshr_b64 s[72:73], s[26:27], 24
-; GFX11-FAKE16-NEXT: s_lshr_b32 s101, s27, 24
-; GFX11-FAKE16-NEXT: s_lshr_b32 s30, s27, 16
-; GFX11-FAKE16-NEXT: v_writelane_b32 v78, s42, 16
+; GFX11-FAKE16-NEXT: s_lshr_b32 s99, s27, 24
+; GFX11-FAKE16-NEXT: s_lshr_b32 s73, s27, 16
+; GFX11-FAKE16-NEXT: s_lshr_b32 s97, s27, 8
+; GFX11-FAKE16-NEXT: v_writelane_b32 v79, s42, 19
; GFX11-FAKE16-NEXT: s_lshr_b32 s42, s19, 24
-; GFX11-FAKE16-NEXT: s_lshr_b32 s99, s27, 8
-; GFX11-FAKE16-NEXT: s_lshr_b32 s63, s26, 16
-; GFX11-FAKE16-NEXT: s_lshr_b32 s97, s26, 8
-; GFX11-FAKE16-NEXT: v_writelane_b32 v78, s42, 20
+; GFX11-FAKE16-NEXT: s_lshr_b32 s61, s26, 16
+; GFX11-FAKE16-NEXT: s_lshr_b32 s87, s26, 8
+; GFX11-FAKE16-NEXT: s_lshr_b32 s83, s25, 24
+; GFX11-FAKE16-NEXT: v_writelane_b32 v79, s42, 23
; GFX11-FAKE16-NEXT: s_lshr_b32 s42, s19, 8
-; GFX11-FAKE16-NEXT: s_lshr_b32 s85, s25, 24
-; GFX11-FAKE16-NEXT: s_lshr_b32 s61, s25, 16
-; GFX11-FAKE16-NEXT: s_lshr_b32 s82, s25, 8
-; GFX11-FAKE16-NEXT: v_writelane_b32 v78, s42, 21
+; GFX11-FAKE16-NEXT: s_lshr_b32 s57, s25, 16
+; GFX11-FAKE16-NEXT: s_lshr_b32 s81, s25, 8
+; GFX11-FAKE16-NEXT: s_lshr_b32 s45, s24, 16
+; GFX11-FAKE16-NEXT: v_writelane_b32 v79, s42, 24
; GFX11-FAKE16-NEXT: s_lshr_b32 s42, s18, 8
-; GFX11-FAKE16-NEXT: s_lshr_b32 s57, s24, 16
-; GFX11-FAKE16-NEXT: s_lshr_b32 s81, s24, 8
-; GFX11-FAKE16-NEXT: s_lshr_b32 s69, s23, 24
-; GFX11-FAKE16-NEXT: v_writelane_b32 v78, s42, 19
+; GFX11-FAKE16-NEXT: s_lshr_b32 s71, s24, 8
+; GFX11-FAKE16-NEXT: s_lshr_b32 s67, s23, 24
+; GFX11-FAKE16-NEXT: s_lshr_b32 s60, s23, 16
+; GFX11-FAKE16-NEXT: v_writelane_b32 v79, s42, 22
; GFX11-FAKE16-NEXT: s_lshr_b32 s42, s17, 24
-; GFX11-FAKE16-NEXT: s_lshr_b32 s45, s23, 16
-; GFX11-FAKE16-NEXT: s_lshr_b32 s66, s23, 8
-; GFX11-FAKE16-NEXT: s_lshr_b32 s60, s22, 16
-; GFX11-FAKE16-NEXT: v_writelane_b32 v78, s42, 23
+; GFX11-FAKE16-NEXT: s_lshr_b32 s65, s23, 8
+; GFX11-FAKE16-NEXT: s_lshr_b32 s56, s22, 16
+; GFX11-FAKE16-NEXT: s_lshr_b32 s55, s22, 8
+; GFX11-FAKE16-NEXT: v_writelane_b32 v79, s42, 26
; GFX11-FAKE16-NEXT: s_lshr_b32 s42, s17, 8
-; GFX11-FAKE16-NEXT: s_lshr_b32 s64, s22, 8
-; GFX11-FAKE16-NEXT: s_lshr_b32 s46, s21, 16
-; GFX11-FAKE16-NEXT: s_lshr_b32 s44, s20, 16
-; GFX11-FAKE16-NEXT: v_writelane_b32 v78, s42, 24
+; GFX11-FAKE16-NEXT: s_lshr_b32 s104, s20, 16
+; GFX11-FAKE16-NEXT: s_lshr_b32 s100, s19, 16
+; GFX11-FAKE16-NEXT: s_lshr_b32 s98, s18, 16
+; GFX11-FAKE16-NEXT: v_writelane_b32 v79, s42, 27
; GFX11-FAKE16-NEXT: s_lshr_b32 s42, s16, 8
-; GFX11-FAKE16-NEXT: s_lshr_b32 s102, s19, 16
-; GFX11-FAKE16-NEXT: s_lshr_b32 s100, s18, 16
-; GFX11-FAKE16-NEXT: s_lshr_b32 s87, s17, 16
-; GFX11-FAKE16-NEXT: v_writelane_b32 v78, s42, 22
+; GFX11-FAKE16-NEXT: s_lshr_b32 s84, s17, 16
+; GFX11-FAKE16-NEXT: s_lshr_b32 s82, s16, 16
+; GFX11-FAKE16-NEXT: s_lshr_b32 s68, s3, 16
+; GFX11-FAKE16-NEXT: v_writelane_b32 v79, s42, 25
; GFX11-FAKE16-NEXT: s_lshr_b32 s42, s3, 24
-; GFX11-FAKE16-NEXT: s_lshr_b32 s83, s16, 16
-; GFX11-FAKE16-NEXT: s_lshr_b32 s71, s3, 16
-; GFX11-FAKE16-NEXT: s_lshr_b32 s67, s2, 16
-; GFX11-FAKE16-NEXT: v_writelane_b32 v78, s42, 26
+; GFX11-FAKE16-NEXT: s_lshr_b32 s66, s2, 16
+; GFX11-FAKE16-NEXT: s_lshr_b32 s30, s5, 24
+; GFX11-FAKE16-NEXT: s_lshr_b32 s54, s5, 16
+; GFX11-FAKE16-NEXT: v_writelane_b32 v79, s42, 29
; GFX11-FAKE16-NEXT: s_lshr_b32 s42, s3, 8
-; GFX11-FAKE16-NEXT: s_lshr_b32 s59, s5, 24
-; GFX11-FAKE16-NEXT: s_lshr_b32 s55, s5, 16
-; GFX11-FAKE16-NEXT: s_lshr_b32 s47, s5, 8
-; GFX11-FAKE16-NEXT: v_writelane_b32 v78, s42, 27
+; GFX11-FAKE16-NEXT: s_lshr_b32 s63, s5, 8
+; GFX11-FAKE16-NEXT: s_lshr_b32 s53, s4, 16
+; GFX11-FAKE16-NEXT: s_lshr_b32 s59, s4, 8
+; GFX11-FAKE16-NEXT: v_writelane_b32 v79, s42, 30
; GFX11-FAKE16-NEXT: s_lshr_b32 s42, s2, 8
-; GFX11-FAKE16-NEXT: s_lshr_b32 s54, s4, 16
-; GFX11-FAKE16-NEXT: s_lshr_b32 s43, s4, 8
-; GFX11-FAKE16-NEXT: s_lshr_b32 s62, s7, 24
-; GFX11-FAKE16-NEXT: v_writelane_b32 v78, s42, 25
+; GFX11-FAKE16-NEXT: s_lshr_b32 s47, s7, 24
+; GFX11-FAKE16-NEXT: s_lshr_b32 s52, s7, 16
+; GFX11-FAKE16-NEXT: s_lshr_b32 s43, s7, 8
+; GFX11-FAKE16-NEXT: v_writelane_b32 v79, s42, 28
; GFX11-FAKE16-NEXT: s_lshr_b32 s42, s1, 24
-; GFX11-FAKE16-NEXT: s_lshr_b32 s53, s7, 16
-; GFX11-FAKE16-NEXT: s_lshr_b32 s58, s7, 8
-; GFX11-FAKE16-NEXT: s_lshr_b32 s52, s6, 16
-; GFX11-FAKE16-NEXT: v_writelane_b32 v78, s42, 29
+; GFX11-FAKE16-NEXT: s_lshr_b32 s51, s6, 16
+; GFX11-FAKE16-NEXT: v_writelane_b32 v78, s42, 0
; GFX11-FAKE16-NEXT: s_lshr_b32 s42, s1, 16
-; GFX11-FAKE16-NEXT: s_lshr_b32 s56, s6, 8
-; GFX11-FAKE16-NEXT: s_lshr_b32 s51, s9, 16
-; GFX11-FAKE16-NEXT: s_lshr_b32 s104, s9, 8
-; GFX11-FAKE16-NEXT: v_writelane_b32 v78, s42, 15
+; GFX11-FAKE16-NEXT: s_lshr_b32 s62, s6, 8
+; GFX11-FAKE16-NEXT: v_writelane_b32 v79, s42, 17
; GFX11-FAKE16-NEXT: s_lshr_b32 s42, s1, 8
-; GFX11-FAKE16-NEXT: s_lshr_b32 s50, s8, 16
-; GFX11-FAKE16-NEXT: s_lshr_b32 s103, s8, 8
-; GFX11-FAKE16-NEXT: s_lshr_b32 s98, s11, 24
-; GFX11-FAKE16-NEXT: v_writelane_b32 v78, s42, 30
+; GFX11-FAKE16-NEXT: s_lshr_b32 s58, s9, 24
+; GFX11-FAKE16-NEXT: v_writelane_b32 v78, s42, 1
; GFX11-FAKE16-NEXT: s_lshr_b32 s42, s0, 16
-; GFX11-FAKE16-NEXT: s_lshr_b32 s49, s11, 16
-; GFX11-FAKE16-NEXT: s_lshr_b32 s96, s11, 8
-; GFX11-FAKE16-NEXT: s_lshr_b32 s48, s10, 16
-; GFX11-FAKE16-NEXT: v_writelane_b32 v78, s42, 14
+; GFX11-FAKE16-NEXT: s_lshr_b32 s50, s9, 16
+; GFX11-FAKE16-NEXT: v_writelane_b32 v79, s42, 16
; GFX11-FAKE16-NEXT: s_lshr_b32 s42, s0, 8
-; GFX11-FAKE16-NEXT: s_lshr_b32 s86, s10, 8
-; GFX11-FAKE16-NEXT: s_lshr_b32 s84, s13, 24
-; GFX11-FAKE16-NEXT: s_lshr_b32 s39, s13, 16
-; GFX11-FAKE16-NEXT: v_writelane_b32 v78, s42, 28
-; GFX11-FAKE16-NEXT: s_lshr_b32 s42, s14, 8
-; GFX11-FAKE16-NEXT: s_lshr_b32 s80, s13, 8
-; GFX11-FAKE16-NEXT: s_lshr_b32 s38, s12, 16
-; GFX11-FAKE16-NEXT: s_lshr_b32 s70, s12, 8
-; GFX11-FAKE16-NEXT: v_writelane_b32 v78, s42, 31
-; GFX11-FAKE16-NEXT: s_lshr_b32 s42, s41, 24
-; GFX11-FAKE16-NEXT: s_lshr_b32 s68, s15, 24
-; GFX11-FAKE16-NEXT: v_writelane_b32 v77, s42, 1
+; GFX11-FAKE16-NEXT: s_lshr_b32 s46, s9, 8
+; GFX11-FAKE16-NEXT: s_lshr_b32 s49, s8, 16
+; GFX11-FAKE16-NEXT: s_lshr_b32 s44, s8, 8
+; GFX11-FAKE16-NEXT: v_writelane_b32 v79, s42, 31
; GFX11-FAKE16-NEXT: s_lshr_b32 s42, s41, 8
-; GFX11-FAKE16-NEXT: v_writelane_b32 v78, s78, 12
-; GFX11-FAKE16-NEXT: s_lshr_b32 s37, s15, 16
-; GFX11-FAKE16-NEXT: s_lshr_b32 s65, s15, 8
-; GFX11-FAKE16-NEXT: v_writelane_b32 v77, s42, 2
+; GFX11-FAKE16-NEXT: s_lshr_b32 s103, s11, 24
+; GFX11-FAKE16-NEXT: v_writelane_b32 v78, s42, 3
; GFX11-FAKE16-NEXT: s_lshr_b32 s42, s40, 8
-; GFX11-FAKE16-NEXT: v_writelane_b32 v78, s79, 13
-; GFX11-FAKE16-NEXT: s_lshr_b64 s[78:79], s[22:23], 24
-; GFX11-FAKE16-NEXT: s_lshr_b32 s36, s14, 16
-; GFX11-FAKE16-NEXT: v_writelane_b32 v77, s42, 0
+; GFX11-FAKE16-NEXT: s_lshr_b32 s48, s11, 16
+; GFX11-FAKE16-NEXT: s_lshr_b32 s102, s11, 8
+; GFX11-FAKE16-NEXT: s_lshr_b32 s101, s10, 8
+; GFX11-FAKE16-NEXT: v_writelane_b32 v78, s42, 2
; GFX11-FAKE16-NEXT: s_lshr_b32 s42, s29, 24
-; GFX11-FAKE16-NEXT: v_writelane_b32 v78, s78, 10
-; GFX11-FAKE16-NEXT: s_lshr_b32 s34, s41, 16
-; GFX11-FAKE16-NEXT: s_lshr_b32 s31, s40, 16
-; GFX11-FAKE16-NEXT: v_writelane_b32 v77, s42, 4
+; GFX11-FAKE16-NEXT: s_lshr_b32 s96, s13, 24
+; GFX11-FAKE16-NEXT: s_lshr_b32 s39, s13, 16
+; GFX11-FAKE16-NEXT: s_lshr_b32 s86, s13, 8
+; GFX11-FAKE16-NEXT: v_writelane_b32 v78, s42, 5
+; GFX11-FAKE16-NEXT: s_lshr_b32 s42, s29, 16
+; GFX11-FAKE16-NEXT: s_lshr_b32 s38, s12, 16
+; GFX11-FAKE16-NEXT: v_writelane_b32 v79, s42, 18
; GFX11-FAKE16-NEXT: s_lshr_b32 s42, s29, 8
-; GFX11-FAKE16-NEXT: v_writelane_b32 v78, s79, 11
-; GFX11-FAKE16-NEXT: s_lshr_b64 s[78:79], s[20:21], 24
-; GFX11-FAKE16-NEXT: s_mov_b32 s35, 0
-; GFX11-FAKE16-NEXT: v_writelane_b32 v77, s42, 5
+; GFX11-FAKE16-NEXT: s_lshr_b32 s85, s12, 8
+; GFX11-FAKE16-NEXT: v_writelane_b32 v78, s42, 6
; GFX11-FAKE16-NEXT: s_lshr_b32 s42, s28, 8
-; GFX11-FAKE16-NEXT: v_writelane_b32 v78, s78, 8
-; GFX11-FAKE16-NEXT: s_mov_b32 s73, s76
+; GFX11-FAKE16-NEXT: v_writelane_b32 v79, s74, 14
+; GFX11-FAKE16-NEXT: s_lshr_b32 s80, s15, 24
+; GFX11-FAKE16-NEXT: s_lshr_b32 s37, s15, 16
+; GFX11-FAKE16-NEXT: s_lshr_b32 s70, s15, 8
+; GFX11-FAKE16-NEXT: s_lshr_b32 s36, s14, 16
+; GFX11-FAKE16-NEXT: v_writelane_b32 v79, s75, 15
+; GFX11-FAKE16-NEXT: s_lshr_b64 s[74:75], s[24:25], 24
+; GFX11-FAKE16-NEXT: s_lshr_b32 s69, s14, 8
+; GFX11-FAKE16-NEXT: s_lshr_b32 s64, s41, 24
+; GFX11-FAKE16-NEXT: s_lshr_b32 s35, s41, 16
+; GFX11-FAKE16-NEXT: v_writelane_b32 v79, s74, 12
+; GFX11-FAKE16-NEXT: s_lshr_b32 s34, s40, 16
+; GFX11-FAKE16-NEXT: v_writelane_b32 v78, s42, 4
+; GFX11-FAKE16-NEXT: s_mov_b32 s31, 0
+; GFX11-FAKE16-NEXT: s_mov_b32 s42, s72
+; GFX11-FAKE16-NEXT: v_writelane_b32 v79, s75, 13
+; GFX11-FAKE16-NEXT: s_lshr_b64 s[74:75], s[22:23], 24
+; GFX11-FAKE16-NEXT: s_mov_b32 s72, s76
+; GFX11-FAKE16-NEXT: s_lshr_b64 s[78:79], s[8:9], 24
; GFX11-FAKE16-NEXT: s_lshr_b64 s[88:89], s[10:11], 24
-; GFX11-FAKE16-NEXT: v_writelane_b32 v77, s42, 3
-; GFX11-FAKE16-NEXT: s_mov_b32 s42, s74
-; GFX11-FAKE16-NEXT: v_writelane_b32 v78, s79, 9
-; GFX11-FAKE16-NEXT: s_lshr_b64 s[78:79], s[18:19], 24
-; GFX11-FAKE16-NEXT: s_lshr_b64 s[74:75], s[16:17], 24
+; GFX11-FAKE16-NEXT: v_writelane_b32 v79, s74, 10
; GFX11-FAKE16-NEXT: s_lshr_b64 s[90:91], s[12:13], 24
; GFX11-FAKE16-NEXT: s_lshr_b64 s[92:93], s[14:15], 24
-; GFX11-FAKE16-NEXT: v_writelane_b32 v78, s78, 6
; GFX11-FAKE16-NEXT: s_lshr_b64 s[94:95], s[40:41], 24
; GFX11-FAKE16-NEXT: s_lshr_b64 vcc, s[28:29], 24
-; GFX11-FAKE16-NEXT: v_writelane_b32 v78, s79, 7
-; GFX11-FAKE16-NEXT: s_lshr_b64 s[78:79], s[8:9], 24
-; GFX11-FAKE16-NEXT: v_writelane_b32 v78, s74, 4
-; GFX11-FAKE16-NEXT: v_writelane_b32 v78, s75, 5
-; GFX11-FAKE16-NEXT: s_lshr_b64 s[74:75], s[2:3], 24
+; GFX11-FAKE16-NEXT: v_writelane_b32 v79, s75, 11
+; GFX11-FAKE16-NEXT: s_lshr_b64 s[74:75], s[20:21], 24
+; GFX11-FAKE16-NEXT: s_delay_alu instid0(SALU_CYCLE_1) | instskip(SKIP_2) | instid1(SALU_CYCLE_1)
+; GFX11-FAKE16-NEXT: v_writelane_b32 v79, s74, 8
+; GFX11-FAKE16-NEXT: v_writelane_b32 v79, s75, 9
+; GFX11-FAKE16-NEXT: s_lshr_b64 s[74:75], s[18:19], 24
+; GFX11-FAKE16-NEXT: v_writelane_b32 v79, s74, 6
+; GFX11-FAKE16-NEXT: v_writelane_b32 v79, s75, 7
+; GFX11-FAKE16-NEXT: s_lshr_b64 s[74:75], s[16:17], 24
; GFX11-FAKE16-NEXT: s_delay_alu instid0(SALU_CYCLE_1) | instskip(SKIP_2) | instid1(SALU_CYCLE_1)
-; GFX11-FAKE16-NEXT: v_writelane_b32 v78, s74, 2
-; GFX11-FAKE16-NEXT: v_writelane_b32 v78, s75, 3
+; GFX11-FAKE16-NEXT: v_writelane_b32 v79, s74, 4
+; GFX11-FAKE16-NEXT: v_writelane_b32 v79, s75, 5
+; GFX11-FAKE16-NEXT: s_lshr_b64 s[74:75], s[2:3], 24
+; GFX11-FAKE16-NEXT: v_writelane_b32 v79, s74, 2
+; GFX11-FAKE16-NEXT: v_writelane_b32 v79, s75, 3
; GFX11-FAKE16-NEXT: s_lshr_b64 s[74:75], s[0:1], 24
-; GFX11-FAKE16-NEXT: v_writelane_b32 v78, s74, 0
-; GFX11-FAKE16-NEXT: v_writelane_b32 v78, s75, 1
+; GFX11-FAKE16-NEXT: s_delay_alu instid0(SALU_CYCLE_1)
+; GFX11-FAKE16-NEXT: v_writelane_b32 v79, s74, 0
+; GFX11-FAKE16-NEXT: v_writelane_b32 v79, s75, 1
; GFX11-FAKE16-NEXT: s_lshr_b64 s[74:75], s[4:5], 24
; GFX11-FAKE16-NEXT: s_mov_b32 s75, s77
; GFX11-FAKE16-NEXT: s_lshr_b64 s[76:77], s[6:7], 24
@@ -165673,64 +165753,64 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX11-FAKE16-NEXT: .LBB91_2:
; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr42
; GFX11-FAKE16-NEXT: ; kill: killed $sgpr42
-; GFX11-FAKE16-NEXT: s_mov_b32 s35, -1
+; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr44
+; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr75
+; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr74
+; GFX11-FAKE16-NEXT: s_mov_b32 s31, -1
; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr42
; GFX11-FAKE16-NEXT: ; kill: killed $sgpr42
-; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr67
-; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr71
-; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr83
-; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr87
+; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr66
+; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr68
+; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr82
+; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr84
+; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr98
; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr100
-; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr102
-; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr44
-; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr46
-; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr64
+; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr104
+; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr55
+; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr56
+; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr65
; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr60
-; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr66
-; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr45
-; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr69
+; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr67
+; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr71
; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr81
; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr57
-; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr82
+; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr83
+; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr87
; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr61
-; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr85
; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr97
-; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr63
-; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr99
-; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr30
-; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr101
-; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr75
; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr73
-; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr31
+; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr99
; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr34
+; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr35
+; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr64
+; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr69
; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr36
-; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr65
-; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr37
-; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr68
; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr70
-; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr38
+; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr37
; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr80
-; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr39
-; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr84
+; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr85
+; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr38
; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr86
-; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr48
+; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr39
; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr96
-; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr49
-; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr98
+; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr101
+; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr72
+; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr102
+; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr48
; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr103
+; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr49
+; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr46
; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr50
-; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr104
-; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr51
-; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr56
-; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr52
; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr58
-; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr53
; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr62
-; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr54
+; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr51
+; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr52
; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr47
-; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr55
; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr59
-; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr72
+; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr53
+; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr63
+; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr54
+; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr30
; GFX11-FAKE16-NEXT: ; implicit-def: $vcc_lo
; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr94
; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr92
@@ -165738,10 +165818,9 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr88
; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr78
; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr76
-; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr74
; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr42
-; GFX11-FAKE16-NEXT: v_writelane_b32 v78, s42, 0
-; GFX11-FAKE16-NEXT: v_writelane_b32 v78, s43, 1
+; GFX11-FAKE16-NEXT: v_writelane_b32 v79, s42, 0
+; GFX11-FAKE16-NEXT: v_writelane_b32 v79, s43, 1
; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr42
; GFX11-FAKE16-NEXT: ; kill: killed $sgpr42
; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr42
@@ -165751,26 +165830,8 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr42
; GFX11-FAKE16-NEXT: ; kill: killed $sgpr42
; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr42
-; GFX11-FAKE16-NEXT: v_writelane_b32 v78, s42, 2
-; GFX11-FAKE16-NEXT: v_writelane_b32 v78, s43, 3
-; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr42
-; GFX11-FAKE16-NEXT: ; kill: killed $sgpr42
-; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr42
-; GFX11-FAKE16-NEXT: ; kill: killed $sgpr42
-; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr42
-; GFX11-FAKE16-NEXT: ; kill: killed $sgpr42
-; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr42
-; GFX11-FAKE16-NEXT: v_writelane_b32 v78, s42, 4
-; GFX11-FAKE16-NEXT: v_writelane_b32 v78, s43, 5
-; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr42
-; GFX11-FAKE16-NEXT: ; kill: killed $sgpr42
-; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr42
-; GFX11-FAKE16-NEXT: ; kill: killed $sgpr42
-; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr42
-; GFX11-FAKE16-NEXT: ; kill: killed $sgpr42
-; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr42
-; GFX11-FAKE16-NEXT: v_writelane_b32 v78, s42, 6
-; GFX11-FAKE16-NEXT: v_writelane_b32 v78, s43, 7
+; GFX11-FAKE16-NEXT: v_writelane_b32 v79, s42, 2
+; GFX11-FAKE16-NEXT: v_writelane_b32 v79, s43, 3
; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr42
; GFX11-FAKE16-NEXT: ; kill: killed $sgpr42
; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr42
@@ -165778,22 +165839,17 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr42
; GFX11-FAKE16-NEXT: ; kill: killed $sgpr42
; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr42
-; GFX11-FAKE16-NEXT: v_writelane_b32 v78, s42, 8
-; GFX11-FAKE16-NEXT: v_writelane_b32 v78, s43, 9
+; GFX11-FAKE16-NEXT: v_writelane_b32 v79, s42, 4
+; GFX11-FAKE16-NEXT: v_writelane_b32 v79, s43, 5
; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr42
; GFX11-FAKE16-NEXT: ; kill: killed $sgpr42
; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr42
; GFX11-FAKE16-NEXT: ; kill: killed $sgpr42
; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr42
-; GFX11-FAKE16-NEXT: v_writelane_b32 v78, s42, 10
-; GFX11-FAKE16-NEXT: v_writelane_b32 v78, s43, 11
-; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr42
-; GFX11-FAKE16-NEXT: v_writelane_b32 v78, s42, 12
-; GFX11-FAKE16-NEXT: v_writelane_b32 v78, s43, 13
-; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr42
; GFX11-FAKE16-NEXT: ; kill: killed $sgpr42
; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr42
-; GFX11-FAKE16-NEXT: ; kill: killed $sgpr42
+; GFX11-FAKE16-NEXT: v_writelane_b32 v79, s42, 6
+; GFX11-FAKE16-NEXT: v_writelane_b32 v79, s43, 7
; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr42
; GFX11-FAKE16-NEXT: ; kill: killed $sgpr42
; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr42
@@ -165801,13 +165857,38 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr42
; GFX11-FAKE16-NEXT: ; kill: killed $sgpr42
; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr42
-; GFX11-FAKE16-NEXT: ; kill: killed $sgpr42
+; GFX11-FAKE16-NEXT: v_writelane_b32 v79, s42, 8
+; GFX11-FAKE16-NEXT: v_writelane_b32 v79, s43, 9
+; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr43
+; GFX11-FAKE16-NEXT: ; kill: killed $sgpr43
+; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr43
+; GFX11-FAKE16-NEXT: ; kill: killed $sgpr43
+; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr43
+; GFX11-FAKE16-NEXT: ; kill: killed $sgpr43
+; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr43
+; GFX11-FAKE16-NEXT: ; kill: killed $sgpr43
+; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr43
+; GFX11-FAKE16-NEXT: v_writelane_b32 v79, s44, 10
+; GFX11-FAKE16-NEXT: ; kill: killed $sgpr43
+; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr43
; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr42
+; GFX11-FAKE16-NEXT: ; kill: killed $sgpr43
+; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr43
; GFX11-FAKE16-NEXT: ; kill: killed $sgpr42
; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr42
+; GFX11-FAKE16-NEXT: ; kill: killed $sgpr43
; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr43
+; GFX11-FAKE16-NEXT: v_writelane_b32 v79, s45, 11
+; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr45
+; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr44
+; GFX11-FAKE16-NEXT: v_writelane_b32 v79, s44, 12
+; GFX11-FAKE16-NEXT: v_writelane_b32 v79, s45, 13
+; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr44
+; GFX11-FAKE16-NEXT: v_writelane_b32 v79, s74, 14
+; GFX11-FAKE16-NEXT: v_writelane_b32 v79, s75, 15
+; GFX11-FAKE16-NEXT: ; implicit-def: $sgpr74
; GFX11-FAKE16-NEXT: .LBB91_3: ; %Flow
-; GFX11-FAKE16-NEXT: s_and_b32 s77, s35, exec_lo
+; GFX11-FAKE16-NEXT: s_and_b32 s77, s31, exec_lo
; GFX11-FAKE16-NEXT: s_cselect_b32 s77, 1, 0
; GFX11-FAKE16-NEXT: s_delay_alu instid0(SALU_CYCLE_1)
; GFX11-FAKE16-NEXT: s_cmp_lg_u32 s77, 1
@@ -165842,7 +165923,7 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v9, v11, v6
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v3, v10, v4
; GFX11-FAKE16-NEXT: v_or_b32_e32 v10, 0x400000, v7
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v48, 16, v1
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v39, 16, v1
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v2, v5, v8, vcc_lo
; GFX11-FAKE16-NEXT: v_add_f32_e64 v8, 0x40c00000, s41
; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, 0x400000, v6
@@ -165851,36 +165932,38 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v3, 0x7fff, v3
; GFX11-FAKE16-NEXT: v_bfe_u32 v6, v8, 16, 1
; GFX11-FAKE16-NEXT: v_or_b32_e32 v9, 0x400000, v4
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v49, 16, v2
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v52, 16, v2
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v1, v5, v1, vcc_lo
; GFX11-FAKE16-NEXT: v_bfe_u32 v5, v7, 16, 1
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v4, v4
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v4, v6, v8
; GFX11-FAKE16-NEXT: v_add_f32_e64 v6, 0x40c00000, s28
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v50, 16, v1
-; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v1, v5, v7
-; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_4)
+; GFX11-FAKE16-NEXT: s_and_b32 s28, s15, 0xffff0000
+; GFX11-FAKE16-NEXT: s_lshl_b32 s15, s15, 16
+; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_2)
; GFX11-FAKE16-NEXT: v_dual_cndmask_b32 v3, v3, v9 :: v_dual_add_nc_u32 v4, 0x7fff, v4
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v53, 16, v1
+; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v1, v5, v7
; GFX11-FAKE16-NEXT: v_or_b32_e32 v5, 0x400000, v8
; GFX11-FAKE16-NEXT: v_add_f32_e64 v9, 0x40c00000, s29
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v8, v8
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v11, 0x400000, v6
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v1, 0x7fff, v1
-; GFX11-FAKE16-NEXT: s_and_b32 s28, s15, 0xffff0000
-; GFX11-FAKE16-NEXT: s_lshl_b32 s15, s15, 16
+; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_4) | instid1(VALU_DEP_4)
; GFX11-FAKE16-NEXT: v_bfe_u32 v8, v9, 16, 1
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v4, v4, v5, vcc_lo
; GFX11-FAKE16-NEXT: v_bfe_u32 v5, v6, 16, 1
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v7, v7
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v11, 0x400000, v6
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v51, 16, v3
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v52, 16, v4
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xffff, v39
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v55, 16, v4
+; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_4)
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v4, v5, v6
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v7, v1, v10, vcc_lo
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v5, v8, v9
; GFX11-FAKE16-NEXT: v_add_f32_e64 v8, 0x40c00000, s28
; GFX11-FAKE16-NEXT: v_add_f32_e64 v10, 0x40c00000, s15
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v9, v9
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v53, 16, v7
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v64, 16, v7
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v5, 0x7fff, v5
; GFX11-FAKE16-NEXT: v_or_b32_e32 v7, 0x400000, v9
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v4, 0x7fff, v4
@@ -165891,28 +165974,29 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX11-FAKE16-NEXT: v_bfe_u32 v7, v8, 16, 1
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v6, v6
; GFX11-FAKE16-NEXT: v_or_b32_e32 v12, 0x400000, v8
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xffff, v48
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v54, 16, v5
-; GFX11-FAKE16-NEXT: v_dual_cndmask_b32 v6, v4, v11 :: v_dual_add_nc_u32 v5, v7, v8
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v54, 16, v3
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v66, 16, v5
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v2, v52, 16, v2
+; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v6, v4, v11, vcc_lo
+; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v10, v10
+; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v5, v7, v8
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v7, v9, v10
; GFX11-FAKE16-NEXT: v_add_f32_e64 v9, 0x40c00000, s15
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v68, 16, v6
; GFX11-FAKE16-NEXT: v_add_f32_e64 v11, 0x40c00000, s14
-; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_4)
-; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v5, 0x7fff, v5
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v64, 16, v6
+; GFX11-FAKE16-NEXT: s_and_b32 s14, s13, 0xffff0000
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v6, 0x7fff, v7
; GFX11-FAKE16-NEXT: v_or_b32_e32 v7, 0x400000, v10
-; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v10, v10
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v3, 0xffff, v50
-; GFX11-FAKE16-NEXT: v_bfe_u32 v10, v11, 16, 1
-; GFX11-FAKE16-NEXT: s_and_b32 s14, s13, 0xffff0000
; GFX11-FAKE16-NEXT: s_lshl_b32 s13, s13, 16
+; GFX11-FAKE16-NEXT: v_bfe_u32 v10, v11, 16, 1
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v13, 0x400000, v9
+; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_3)
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v6, v6, v7, vcc_lo
; GFX11-FAKE16-NEXT: v_bfe_u32 v7, v9, 16, 1
+; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v5, 0x7fff, v5
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v8, v8
; GFX11-FAKE16-NEXT: v_or_b32_e32 v8, 0x400000, v11
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v13, 0x400000, v9
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v55, 16, v6
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v65, 16, v6
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v6, v7, v9
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v7, v10, v11
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v5, v5, v12, vcc_lo
@@ -165920,42 +166004,35 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX11-FAKE16-NEXT: v_add_f32_e64 v12, 0x40c00000, s13
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v11, v11
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v7, 0x7fff, v7
+; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v6, 0x7fff, v6
; GFX11-FAKE16-NEXT: s_and_b32 s13, s12, 0xffff0000
-; GFX11-FAKE16-NEXT: s_lshl_b32 s12, s12, 16
; GFX11-FAKE16-NEXT: v_bfe_u32 v11, v12, 16, 1
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v14, 0x400000, v10
+; GFX11-FAKE16-NEXT: s_lshl_b32 s12, s12, 16
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v7, v7, v8, vcc_lo
; GFX11-FAKE16-NEXT: v_bfe_u32 v8, v10, 16, 1
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v9, v9
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v1, v51, 16, v3
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v65, 16, v5
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v66, 16, v7
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v14, 0x400000, v10
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v67, 16, v5
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v69, 16, v7
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v7, v8, v10
-; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v8, v11, v12
+; GFX11-FAKE16-NEXT: v_dual_cndmask_b32 v9, v6, v13 :: v_dual_add_nc_u32 v8, v11, v12
; GFX11-FAKE16-NEXT: v_add_f32_e64 v11, 0x40c00000, s13
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v5, 0xffff, v55
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v2, v49, 16, v2
-; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v7, 0x7fff, v7
-; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v8, 0x7fff, v8
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v15, 0x400000, v11
-; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v6, 0x7fff, v6
-; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_1)
-; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v9, v6, v13, vcc_lo
; GFX11-FAKE16-NEXT: v_add_f32_e64 v13, 0x40c00000, s12
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v12, v12
-; GFX11-FAKE16-NEXT: s_and_b32 s12, s11, 0xffff0000
-; GFX11-FAKE16-NEXT: s_lshl_b32 s11, s11, 16
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v67, 16, v9
+; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_4)
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v70, 16, v9
+; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v8, 0x7fff, v8
; GFX11-FAKE16-NEXT: v_or_b32_e32 v9, 0x400000, v12
; GFX11-FAKE16-NEXT: v_bfe_u32 v12, v13, 16, 1
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v6, v65, 16, v5
-; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_3) | instid1(VALU_DEP_4)
+; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v7, 0x7fff, v7
+; GFX11-FAKE16-NEXT: s_and_b32 s12, s11, 0xffff0000
+; GFX11-FAKE16-NEXT: s_lshl_b32 s11, s11, 16
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v8, v8, v9, vcc_lo
; GFX11-FAKE16-NEXT: v_bfe_u32 v9, v11, 16, 1
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v10, v10
; GFX11-FAKE16-NEXT: v_or_b32_e32 v10, 0x400000, v13
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v68, 16, v8
-; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_4)
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v15, 0x400000, v11
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v71, 16, v8
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v8, v9, v11
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v9, v12, v13
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v7, v7, v14, vcc_lo
@@ -165971,27 +166048,27 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX11-FAKE16-NEXT: v_bfe_u32 v10, v12, 16, 1
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v11, v11
; GFX11-FAKE16-NEXT: v_or_b32_e32 v16, 0x400000, v12
-; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(NEXT) | instid1(VALU_DEP_4)
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v80, 16, v9
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v5, 0xffff, v65
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v83, 16, v9
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v9, v10, v12
; GFX11-FAKE16-NEXT: v_dual_cndmask_b32 v11, v8, v15 :: v_dual_add_nc_u32 v10, v13, v14
; GFX11-FAKE16-NEXT: v_add_f32_e64 v13, 0x40c00000, s11
; GFX11-FAKE16-NEXT: v_add_f32_e64 v15, 0x40c00000, s10
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v14, v14
; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_4)
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v81, 16, v11
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v85, 16, v11
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v10, 0x7fff, v10
; GFX11-FAKE16-NEXT: v_or_b32_e32 v11, 0x400000, v14
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v3, 0xffff, v52
; GFX11-FAKE16-NEXT: v_bfe_u32 v14, v15, 16, 1
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v9, 0x7fff, v9
; GFX11-FAKE16-NEXT: s_and_b32 s10, s9, 0xffff0000
+; GFX11-FAKE16-NEXT: s_lshl_b32 s9, s9, 16
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v10, v10, v11, vcc_lo
; GFX11-FAKE16-NEXT: v_bfe_u32 v11, v13, 16, 1
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v12, v12
-; GFX11-FAKE16-NEXT: s_lshl_b32 s9, s9, 16
; GFX11-FAKE16-NEXT: v_or_b32_e32 v12, 0x400000, v15
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v70, 16, v10
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v17, 0x400000, v13
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v81, 16, v10
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v10, v11, v13
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v11, v14, v15
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v9, v9, v16, vcc_lo
@@ -166000,22 +166077,22 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v15, v15
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v11, 0x7fff, v11
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v10, 0x7fff, v10
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v17, 0x400000, v13
-; GFX11-FAKE16-NEXT: v_bfe_u32 v15, v16, 16, 1
; GFX11-FAKE16-NEXT: s_and_b32 s9, s8, 0xffff0000
+; GFX11-FAKE16-NEXT: v_bfe_u32 v15, v16, 16, 1
+; GFX11-FAKE16-NEXT: s_lshl_b32 s8, s8, 16
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v11, v11, v12, vcc_lo
; GFX11-FAKE16-NEXT: v_bfe_u32 v12, v14, 16, 1
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v13, v13
-; GFX11-FAKE16-NEXT: s_lshl_b32 s8, s8, 16
; GFX11-FAKE16-NEXT: v_or_b32_e32 v18, 0x400000, v14
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v83, 16, v11
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v6, v67, 16, v5
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v86, 16, v11
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v11, v12, v14
; GFX11-FAKE16-NEXT: v_dual_cndmask_b32 v13, v10, v17 :: v_dual_add_nc_u32 v12, v15, v16
; GFX11-FAKE16-NEXT: v_add_f32_e64 v15, 0x40c00000, s9
; GFX11-FAKE16-NEXT: v_add_f32_e64 v17, 0x40c00000, s8
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v16, v16
; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_4)
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v86, 16, v13
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v96, 16, v13
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v12, 0x7fff, v12
; GFX11-FAKE16-NEXT: v_or_b32_e32 v13, 0x400000, v16
; GFX11-FAKE16-NEXT: v_bfe_u32 v16, v17, 16, 1
@@ -166027,7 +166104,7 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v14, v14
; GFX11-FAKE16-NEXT: v_or_b32_e32 v14, 0x400000, v17
; GFX11-FAKE16-NEXT: v_or_b32_e32 v19, 0x400000, v15
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v71, 16, v12
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v82, 16, v12
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v12, v13, v15
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v13, v16, v17
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v11, v11, v18, vcc_lo
@@ -166043,15 +166120,15 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX11-FAKE16-NEXT: v_bfe_u32 v14, v16, 16, 1
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v15, v15
; GFX11-FAKE16-NEXT: v_or_b32_e32 v20, 0x400000, v16
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v4, v53, 16, v3
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v84, 16, v13
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v80, 16, v7
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v97, 16, v13
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v13, v14, v16
; GFX11-FAKE16-NEXT: v_dual_cndmask_b32 v15, v12, v19 :: v_dual_add_nc_u32 v14, v17, v18
; GFX11-FAKE16-NEXT: v_add_f32_e64 v17, 0x40c00000, s7
; GFX11-FAKE16-NEXT: v_add_f32_e64 v19, 0x40c00000, s6
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v18, v18
; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_4)
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v98, 16, v15
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v102, 16, v15
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v14, 0x7fff, v14
; GFX11-FAKE16-NEXT: v_or_b32_e32 v15, 0x400000, v18
; GFX11-FAKE16-NEXT: v_bfe_u32 v18, v19, 16, 1
@@ -166063,7 +166140,7 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v16, v16
; GFX11-FAKE16-NEXT: v_or_b32_e32 v16, 0x400000, v19
; GFX11-FAKE16-NEXT: v_or_b32_e32 v21, 0x400000, v17
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v85, 16, v14
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v87, 16, v14
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v14, v15, v17
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v15, v18, v19
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v13, v13, v20, vcc_lo
@@ -166078,177 +166155,164 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v15, v15, v16, vcc_lo
; GFX11-FAKE16-NEXT: v_bfe_u32 v16, v18, 16, 1
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v17, v17
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v3, 0xffff, v54
; GFX11-FAKE16-NEXT: v_or_b32_e32 v22, 0x400000, v18
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v96, 16, v15
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v7, 0xffff, v71
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v99, 16, v15
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v15, v16, v18
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v14, v14, v21, vcc_lo
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v16, v19, v20
; GFX11-FAKE16-NEXT: v_add_f32_e64 v19, 0x40c00000, s5
; GFX11-FAKE16-NEXT: v_add_f32_e64 v21, 0x40c00000, s4
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v20, v20
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v101, 16, v14
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v112, 16, v14
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v14, 0x7fff, v15
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v15, 0x7fff, v16
; GFX11-FAKE16-NEXT: v_or_b32_e32 v16, 0x400000, v20
; GFX11-FAKE16-NEXT: v_bfe_u32 v20, v21, 16, 1
; GFX11-FAKE16-NEXT: s_and_b32 s4, s1, 0xffff0000
; GFX11-FAKE16-NEXT: s_lshl_b32 s1, s1, 16
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v23, 0x400000, v19
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v84, 16, v9
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v15, v15, v16, vcc_lo
; GFX11-FAKE16-NEXT: v_bfe_u32 v16, v19, 16, 1
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v18, v18
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v18, v20, v21
; GFX11-FAKE16-NEXT: v_add_f32_e64 v20, 0x40c00000, s4
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v97, 16, v15
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v100, 16, v15
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v15, v16, v19
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v14, v14, v22, vcc_lo
; GFX11-FAKE16-NEXT: v_add_f32_e64 v22, 0x40c00000, s1
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v21, v21
-; GFX11-FAKE16-NEXT: s_and_b32 s1, s0, 0xffff0000
-; GFX11-FAKE16-NEXT: s_lshl_b32 s0, s0, 16
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v102, 16, v14
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v9, 0xffff, v81
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v23, 0x400000, v19
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v113, 16, v14
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v14, 0x7fff, v15
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v15, 0x7fff, v18
; GFX11-FAKE16-NEXT: v_or_b32_e32 v18, 0x400000, v21
; GFX11-FAKE16-NEXT: v_bfe_u32 v21, v22, 16, 1
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v69, 16, v7
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v3, v64, 16, v3
-; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_4)
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v10, v84, 16, v9
+; GFX11-FAKE16-NEXT: s_and_b32 s1, s0, 0xffff0000
+; GFX11-FAKE16-NEXT: s_lshl_b32 s0, s0, 16
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v15, v15, v18, vcc_lo
; GFX11-FAKE16-NEXT: v_bfe_u32 v18, v20, 16, 1
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v19, v19
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v5, 0xffff, v66
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v9, 0xffff, v86
; GFX11-FAKE16-NEXT: v_add_f32_e64 v19, 0x40c00000, s1
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v100, 16, v15
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v103, 16, v15
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v15, v18, v20
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v14, v14, v23, vcc_lo
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v18, v21, v22
; GFX11-FAKE16-NEXT: v_add_f32_e64 v21, 0x40c00000, s0
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v22, v22
; GFX11-FAKE16-NEXT: v_or_b32_e32 v23, 0x400000, v20
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v103, 16, v14
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v114, 16, v14
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v14, 0x7fff, v15
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v15, 0x7fff, v18
; GFX11-FAKE16-NEXT: v_or_b32_e32 v18, 0x400000, v22
; GFX11-FAKE16-NEXT: v_bfe_u32 v22, v21, 16, 1
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v98, 16, v11
; GFX11-FAKE16-NEXT: s_and_b32 s0, s3, 0xffff0000
; GFX11-FAKE16-NEXT: s_lshl_b32 s1, s3, 16
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v82, 16, v9
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v15, v15, v18, vcc_lo
; GFX11-FAKE16-NEXT: v_bfe_u32 v18, v19, 16, 1
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v20, v20
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v7, 0xffff, v68
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v11, 0xffff, v82
; GFX11-FAKE16-NEXT: v_add_f32_e64 v20, 0x40c00000, s0
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v112, 16, v15
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v115, 16, v15
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v15, v18, v19
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v14, v14, v23, vcc_lo
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v18, v22, v21
; GFX11-FAKE16-NEXT: v_add_f32_e64 v22, 0x40c00000, s1
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v21, v21
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v23, 0x400000, v19
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v115, 16, v14
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v101, 16, v13
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v118, 16, v14
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v14, 0x7fff, v15
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v15, 0x7fff, v18
; GFX11-FAKE16-NEXT: v_or_b32_e32 v18, 0x400000, v21
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v13, 0xffff, v87
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v23, 0x400000, v19
; GFX11-FAKE16-NEXT: v_bfe_u32 v21, v22, 16, 1
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v8, v69, 16, v7
; GFX11-FAKE16-NEXT: s_and_b32 s0, s2, 0xffff0000
-; GFX11-FAKE16-NEXT: s_lshl_b32 s1, s2, 16
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v15, v15, v18, vcc_lo
; GFX11-FAKE16-NEXT: v_bfe_u32 v18, v20, 16, 1
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v19, v19
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v7, 0xffff, v80
-; GFX11-FAKE16-NEXT: v_add_f32_e64 v19, 0x40c00000, s0
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v113, 16, v15
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v17, v101, 16, v13
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v13, 0xffff, v99
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v116, 16, v15
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v15, v18, v20
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v14, v14, v23, vcc_lo
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v18, v21, v22
+; GFX11-FAKE16-NEXT: s_lshl_b32 s1, s2, 16
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v16, v112, 16, v13
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v13, 0xffff, v100
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v129, 16, v14
+; GFX11-FAKE16-NEXT: v_add_f32_e64 v19, 0x40c00000, s0
; GFX11-FAKE16-NEXT: v_add_f32_e64 v21, 0x40c00000, s1
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v22, v22
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v23, 0x400000, v20
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v118, 16, v14
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v14, 0x7fff, v15
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v15, 0x7fff, v18
; GFX11-FAKE16-NEXT: v_or_b32_e32 v18, 0x400000, v22
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v26, v113, 16, v13
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v13, 0xffff, v103
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v23, 0x400000, v20
; GFX11-FAKE16-NEXT: v_bfe_u32 v22, v21, 16, 1
-; GFX11-FAKE16-NEXT: s_and_b32 s0, s17, 0xffff0000
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v87, 16, v11
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v11, 0xffff, v71
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v15, v15, v18, vcc_lo
; GFX11-FAKE16-NEXT: v_bfe_u32 v18, v19, 16, 1
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v20, v20
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v9, 0xffff, v70
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v20, 0x400000, v19
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v114, 16, v15
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v25, v114, 16, v13
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v13, 0xffff, v115
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v117, 16, v15
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v15, v18, v19
-; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v18, v22, v21
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v99, 16, v13
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v13, 0xffff, v85
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v14, v14, v23, vcc_lo
+; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v18, v22, v21
+; GFX11-FAKE16-NEXT: s_and_b32 s0, s17, 0xffff0000
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v32, v118, 16, v13
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v13, 0xffff, v116
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v130, 16, v14
; GFX11-FAKE16-NEXT: v_add_f32_e64 v22, 0x40c00000, s0
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v21, v21
-; GFX11-FAKE16-NEXT: s_lshl_b32 s0, s17, 16
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v17, v99, 16, v13
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v13, 0xffff, v96
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v119, 16, v14
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v14, 0x7fff, v15
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v15, 0x7fff, v18
; GFX11-FAKE16-NEXT: v_or_b32_e32 v18, 0x400000, v21
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v16, v101, 16, v13
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v13, 0xffff, v97
+; GFX11-FAKE16-NEXT: s_lshl_b32 s0, s17, 16
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v31, v129, 16, v13
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v13, 0xffff, v117
; GFX11-FAKE16-NEXT: v_bfe_u32 v21, v22, 16, 1
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v12, v87, 16, v11
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v15, v15, v18, vcc_lo
; GFX11-FAKE16-NEXT: v_add_f32_e64 v18, 0x40c00000, s0
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v26, v102, 16, v13
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v13, 0xffff, v100
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v20, 0x400000, v19
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v19, v19
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v116, 16, v15
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v38, v130, 16, v13
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v119, 16, v15
; GFX11-FAKE16-NEXT: v_bfe_u32 v15, v18, 16, 1
+; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v13, v21, v22
; GFX11-FAKE16-NEXT: s_and_b32 s0, s16, 0xffff0000
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v25, v103, 16, v13
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v13, 0xffff, v112
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v14, v14, v20, vcc_lo
-; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v15, v15, v18
; GFX11-FAKE16-NEXT: v_add_f32_e64 v19, 0x40c00000, s0
+; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v15, v15, v18
+; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v13, 0x7fff, v13
; GFX11-FAKE16-NEXT: v_or_b32_e32 v20, 0x400000, v22
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v32, v115, 16, v13
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v13, 0xffff, v113
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v22, v22
; GFX11-FAKE16-NEXT: s_lshl_b32 s0, s16, 16
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v15, 0x7fff, v15
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v21, 0x400000, v18
; GFX11-FAKE16-NEXT: v_bfe_u32 v23, v19, 16, 1
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v31, v118, 16, v13
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v13, 0xffff, v114
; GFX11-FAKE16-NEXT: v_add_f32_e64 v24, 0x40c00000, s0
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v130, 16, v14
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v14, 0xffff, v116
-; GFX11-FAKE16-NEXT: s_and_b32 s0, s19, 0xffff0000
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v39, v119, 16, v13
-; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v13, v21, v22
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v21, 0x400000, v18
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v38, v130, 16, v14
-; GFX11-FAKE16-NEXT: s_lshl_b32 s1, s21, 16
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v10, v82, 16, v9
-; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v13, 0x7fff, v13
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v9, 0xffff, v83
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v7, v81, 16, v7
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v5, v67, 16, v5
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v61, 24, v39
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v13, v13, v20, vcc_lo
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v18, v18
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v133, 16, v14
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v14, 0xffff, v119
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v18, v23, v19
; GFX11-FAKE16-NEXT: v_bfe_u32 v20, v24, 16, 1
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v9, v86, 16, v9
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v131, 16, v13
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v15, v15, v21, vcc_lo
+; GFX11-FAKE16-NEXT: s_and_b32 s0, s19, 0xffff0000
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v37, v133, 16, v14
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v134, 16, v13
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v13, 0x7fff, v18
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v128, 16, v15
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v14, v20, v24
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v15, 0x400000, v19
; GFX11-FAKE16-NEXT: v_add_f32_e64 v18, 0x40c00000, s0
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v19, v19
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v117, 16, v15
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v15, 0x400000, v19
; GFX11-FAKE16-NEXT: s_lshl_b32 s0, s19, 16
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v14, 0x7fff, v14
; GFX11-FAKE16-NEXT: v_add_f32_e64 v20, 0x40c00000, s0
@@ -166256,44 +166320,44 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX11-FAKE16-NEXT: v_bfe_u32 v22, v18, 16, 1
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v13, v13, v15, vcc_lo
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v24, v24
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v11, 0xffff, v84
; GFX11-FAKE16-NEXT: v_bfe_u32 v15, v20, 16, 1
+; GFX11-FAKE16-NEXT: s_and_b32 s0, s18, 0xffff0000
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v19, v22, v18
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v134, 16, v13
-; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v14, v14, v21, vcc_lo
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v144, 16, v13
+; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_1) | instid1(VALU_DEP_4)
+; GFX11-FAKE16-NEXT: v_dual_cndmask_b32 v14, v14, v21 :: v_dual_add_nc_u32 v15, v15, v20
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v18, v18
-; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v15, v15, v20
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v13, 0x7fff, v19
; GFX11-FAKE16-NEXT: v_or_b32_e32 v19, 0x400000, v20
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v129, 16, v14
+; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_4)
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v132, 16, v14
; GFX11-FAKE16-NEXT: v_or_b32_e32 v14, 0x400000, v18
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v15, 0x7fff, v15
-; GFX11-FAKE16-NEXT: s_and_b32 s0, s18, 0xffff0000
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v21, 0xffff, v117
-; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_2) | instid1(VALU_DEP_4)
-; GFX11-FAKE16-NEXT: v_dual_cndmask_b32 v13, v13, v14 :: v_dual_and_b32 v22, 0xffff, v129
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v21, 0xffff, v128
+; GFX11-FAKE16-NEXT: s_lshl_b32 s1, s21, 16
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v22, 0xffff, v132
+; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v13, v13, v14, vcc_lo
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v20, v20
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v11, v98, 16, v11
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v41, v131, 16, v21
-; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_4)
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v40, v134, 16, v22
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v135, 16, v13
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v51, v134, 16, v21
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v12, v98, 16, v11
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v50, v144, 16, v22
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v146, 16, v13
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v14, v15, v19, vcc_lo
; GFX11-FAKE16-NEXT: v_add_f32_e64 v15, 0x40c00000, s0
; GFX11-FAKE16-NEXT: s_lshl_b32 s0, s18, 16
; GFX11-FAKE16-NEXT: v_add_f32_e64 v19, 0x40c00000, s1
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v58, 8, v40
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v128, 16, v14
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v11, 0xffff, v97
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v131, 16, v14
; GFX11-FAKE16-NEXT: v_add_f32_e64 v14, 0x40c00000, s0
; GFX11-FAKE16-NEXT: s_and_b32 s0, s21, 0xffff0000
; GFX11-FAKE16-NEXT: v_bfe_u32 v23, v19, 16, 1
; GFX11-FAKE16-NEXT: v_add_f32_e64 v18, 0x40c00000, s0
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v20, 0xffff, v128
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v20, 0xffff, v131
; GFX11-FAKE16-NEXT: v_bfe_u32 v21, v14, 16, 1
; GFX11-FAKE16-NEXT: v_or_b32_e32 v24, 0x400000, v14
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v14, v14
; GFX11-FAKE16-NEXT: v_bfe_u32 v22, v18, 16, 1
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v43, v135, 16, v20
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v41, v146, 16, v20
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v20, v21, v14
; GFX11-FAKE16-NEXT: v_bfe_u32 v13, v15, 16, 1
; GFX11-FAKE16-NEXT: v_or_b32_e32 v27, 0x400000, v19
@@ -166309,25 +166373,25 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v13, 0x7fff, v13
; GFX11-FAKE16-NEXT: v_or_b32_e32 v23, 0x400000, v15
; GFX11-FAKE16-NEXT: s_and_b32 s0, s20, 0xffff0000
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v133, 16, v14
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v145, 16, v14
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v19, v22, v27, vcc_lo
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v18, v18
; GFX11-FAKE16-NEXT: v_add_f32_e64 v14, 0x40c00000, s0
; GFX11-FAKE16-NEXT: s_lshl_b32 s0, s20, 16
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v47, 24, v43
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v132, 16, v19
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v8, v80, 16, v7
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v135, 16, v19
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v18, v21, v28, vcc_lo
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v15, v15
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v19, 0xffff, v133
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v46, 8, v43
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v15, 0xffff, v132
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v145, 16, v18
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v19, 0xffff, v145
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v7, 0xffff, v83
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v15, 0xffff, v135
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v148, 16, v18
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v13, v13, v23, vcc_lo
; GFX11-FAKE16-NEXT: v_add_f32_e64 v18, 0x40c00000, s0
; GFX11-FAKE16-NEXT: s_lshl_b32 s0, s23, 16
; GFX11-FAKE16-NEXT: v_or_b32_e32 v23, 0x400000, v14
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v45, v145, 16, v15
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v147, 16, v13
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v43, v148, 16, v15
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v150, 16, v13
; GFX11-FAKE16-NEXT: v_bfe_u32 v13, v14, 16, 1
; GFX11-FAKE16-NEXT: v_bfe_u32 v15, v18, 16, 1
; GFX11-FAKE16-NEXT: v_add_f32_e64 v20, 0x40c00000, s0
@@ -166354,25 +166418,25 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v14, 0x7fff, v14
; GFX11-FAKE16-NEXT: v_add_f32_e64 v20, 0x40c00000, s0
; GFX11-FAKE16-NEXT: s_lshl_b32 s0, s22, 16
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v146, 16, v15
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v149, 16, v15
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v18, v18, v22, vcc_lo
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v21, v21
; GFX11-FAKE16-NEXT: v_bfe_u32 v15, v20, 16, 1
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v151, 16, v13
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v13, 0xffff, v146
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v144, 16, v18
-; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_1) | instid1(VALU_DEP_4)
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v5, 0xffff, v69
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v162, 16, v13
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v147, 16, v18
+; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_2) | instid1(VALU_DEP_4)
; GFX11-FAKE16-NEXT: v_dual_cndmask_b32 v14, v14, v23 :: v_dual_add_nc_u32 v15, v15, v20
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v20, v20
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v44, v151, 16, v13
-; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(NEXT) | instid1(VALU_DEP_4)
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v18, 0xffff, v144
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v150, 16, v14
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v13, 0xffff, v149
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v18, 0xffff, v147
+; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_4)
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v161, 16, v14
; GFX11-FAKE16-NEXT: v_add_f32_e64 v14, 0x40c00000, s0
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v15, 0x7fff, v15
; GFX11-FAKE16-NEXT: s_and_b32 s0, s25, 0xffff0000
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v42, v147, 16, v19
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v183, v150, 16, v18
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v40, v150, 16, v19
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v45, v161, 16, v18
; GFX11-FAKE16-NEXT: v_bfe_u32 v21, v14, 16, 1
; GFX11-FAKE16-NEXT: v_or_b32_e32 v18, 0x400000, v20
; GFX11-FAKE16-NEXT: v_add_f32_e64 v22, 0x40c00000, s0
@@ -166387,14 +166451,14 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX11-FAKE16-NEXT: v_or_b32_e32 v21, 0x400000, v14
; GFX11-FAKE16-NEXT: v_bfe_u32 v24, v18, 16, 1
; GFX11-FAKE16-NEXT: s_and_b32 s0, s24, 0xffff0000
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v162, 16, v15
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v165, 16, v15
; GFX11-FAKE16-NEXT: v_add_f32_e64 v27, 0x40c00000, s0
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v14, v20, v21, vcc_lo
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v20, v23, v22
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v21, v24, v18
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v18, v18
; GFX11-FAKE16-NEXT: v_bfe_u32 v15, v27, 16, 1
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v149, 16, v14
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v160, 16, v14
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v14, 0x7fff, v20
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v20, 0x7fff, v21
; GFX11-FAKE16-NEXT: v_or_b32_e32 v21, 0x400000, v18
@@ -166410,10 +166474,10 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX11-FAKE16-NEXT: s_and_b32 s0, s27, 0xffff0000
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v14, v14, v23, vcc_lo
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v27, v27
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v148, 16, v18
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v151, 16, v18
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v18, v21, v24
; GFX11-FAKE16-NEXT: v_or_b32_e32 v22, 0x400000, v24
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v164, 16, v14
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v167, 16, v14
; GFX11-FAKE16-NEXT: v_add_f32_e64 v14, 0x40c00000, s0
; GFX11-FAKE16-NEXT: s_lshl_b32 s0, s27, 16
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v15, v15, v20, vcc_lo
@@ -166421,7 +166485,7 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX11-FAKE16-NEXT: s_lshl_b32 s0, s26, 16
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v24, v24
; GFX11-FAKE16-NEXT: v_add_f32_e64 v23, 0x40c00000, s0
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v165, 16, v15
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v176, 16, v15
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v15, 0x7fff, v18
; GFX11-FAKE16-NEXT: v_bfe_u32 v27, v21, 16, 1
; GFX11-FAKE16-NEXT: s_and_b32 s0, s26, 0xffff0000
@@ -166443,66 +166507,81 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v18, 0x7fff, v18
; GFX11-FAKE16-NEXT: v_or_b32_e32 v29, 0x400000, v14
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v24, v24, v28
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v163, 16, v15
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v166, 16, v15
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v23, v27, v33, vcc_lo
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v14, v14
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v160, 16, v21
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v20, 0xffff, v151
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v22, 0x7fff, v24
; GFX11-FAKE16-NEXT: v_or_b32_e32 v24, 0x400000, v28
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v161, 16, v23
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v163, 16, v21
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v14, v18, v29, vcc_lo
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v28, v28
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v20, 0xffff, v148
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v21, 0xffff, v149
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v15, 0xffff, v161
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v166, 16, v14
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v3, 0xffff, v53
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v164, 16, v23
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v21, 0xffff, v160
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v177, 16, v14
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v18, v22, v24, vcc_lo
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v14, 0xffff, v160
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v181, v164, 16, v20
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v182, v162, 16, v21
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[33:34], 24, v[42:43]
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v167, 16, v18
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v18, 0xffff, v163
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v177, v166, 16, v14
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v1, v54, 16, v3
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v3, 0xffff, v55
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v14, 0xffff, v163
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v15, 0xffff, v164
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v178, 16, v18
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v18, 0xffff, v166
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v4, v64, 16, v3
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v3, 0xffff, v66
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v47, v167, 16, v20
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v44, v165, 16, v21
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v46, v176, 16, v18
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v11, v102, 16, v11
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v9, v96, 16, v9
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v3, v68, 16, v3
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v7, v85, 16, v7
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v5, v70, 16, v5
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v180, v177, 16, v14
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v179, v178, 16, v15
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v42, v162, 16, v13
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[27:28], 24, v[46:47]
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[28:29], 24, v[44:45]
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[33:34], 24, v[40:41]
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v183, 8, v45
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v74, 8, v44
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v43, 24, v4
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v176, v167, 16, v15
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v180, v165, 16, v18
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[34:35], 24, v[40:41]
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v75, 8, v43
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v45, 8, v40
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v40, 24, v2
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[18:19], 24, v[11:12]
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[35:36], 24, v[38:39]
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[34:35], 24, v[50:51]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[19:20], 24, v[9:10]
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[27:28], 24, v[180:181]
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[28:29], 24, v[182:183]
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[29:30], 24, v[44:45]
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[36:37], 24, v[31:32]
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[35:36], 24, v[37:38]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[13:14], 24, v[25:26]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[20:21], 24, v[7:8]
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v60, 8, v39
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v39, 8, v4
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v40, 8, v3
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v58, 8, v50
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v61, 24, v38
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v60, 8, v38
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v59, 8, v37
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v38, 24, v4
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v37, 8, v4
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v50, 8, v3
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[3:4], 24, v[3:4]
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[23:24], 24, v[176:177]
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[23:24], 24, v[179:180]
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[29:30], 24, v[42:43]
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[48:49], 24, v[31:32]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[14:15], 24, v[16:17]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[21:22], 24, v[5:6]
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v37, 24, v177
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v30, 8, v177
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v179, 24, v181
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v177, 8, v181
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v178, 8, v180
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v181, 24, v183
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v180, 8, v183
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v183, 8, v45
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v45, 8, v42
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v57, 24, v41
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v56, 8, v41
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v42, 24, v2
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v57, 24, v51
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v56, 8, v51
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v4, 8, v2
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v41, 8, v1
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v51, 8, v1
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[1:2], 24, v[1:2]
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v176, 8, v176
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v182, 8, v182
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v59, 8, v38
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v49, 24, v180
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v36, 8, v180
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v179, 8, v179
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v182, 24, v47
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v180, 8, v47
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v181, 8, v46
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v44, 24, v43
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v43, 8, v42
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v47, 24, v41
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v46, 8, v41
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v62, 24, v32
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v63, 8, v32
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v72, 8, v31
@@ -166515,361 +166594,363 @@ define inreg <128 x i8> @bitcast_v64bf16_to_v128i8_scalar(<64 x bfloat> inreg %a
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v26, 24, v12
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v12, 8, v12
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v11, 8, v11
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v31, 24, v10
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v30, 24, v10
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v10, 8, v10
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v9, 8, v9
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v32, 24, v8
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v31, 24, v8
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v8, 8, v8
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v7, 8, v7
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v38, 24, v6
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v32, 24, v6
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v6, 8, v6
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v5, 8, v5
-; GFX11-FAKE16-NEXT: v_mov_b32_e32 v2, v43
-; GFX11-FAKE16-NEXT: v_dual_mov_b32 v44, v73 :: v_dual_mov_b32 v43, v74
+; GFX11-FAKE16-NEXT: v_mov_b32_e32 v2, v40
+; GFX11-FAKE16-NEXT: v_dual_mov_b32 v42, v75 :: v_dual_mov_b32 v41, v74
+; GFX11-FAKE16-NEXT: v_mov_b32_e32 v40, v73
; GFX11-FAKE16-NEXT: s_branch .LBB91_6
; GFX11-FAKE16-NEXT: .LBB91_5:
-; GFX11-FAKE16-NEXT: v_dual_mov_b32 v116, s2 :: v_dual_mov_b32 v113, s0
-; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v78, 14
-; GFX11-FAKE16-NEXT: v_dual_mov_b32 v112, s1 :: v_dual_mov_b32 v85, s7
-; GFX11-FAKE16-NEXT: v_dual_mov_b32 v161, s26 :: v_dual_mov_b32 v160, s27
+; GFX11-FAKE16-NEXT: v_dual_mov_b32 v145, s18 :: v_dual_mov_b32 v116, s0
+; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v79, 16
+; GFX11-FAKE16-NEXT: v_dual_mov_b32 v115, s1 :: v_dual_mov_b32 v178, s61
+; GFX11-FAKE16-NEXT: v_dual_mov_b32 v164, s26 :: v_dual_mov_b32 v163, s27
; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_3) | instid1(VALU_DEP_3)
-; GFX11-FAKE16-NEXT: v_mov_b32_e32 v118, s0
-; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v78, 15
-; GFX11-FAKE16-NEXT: v_dual_mov_b32 v163, s24 :: v_dual_mov_b32 v148, s25
-; GFX11-FAKE16-NEXT: v_dual_mov_b32 v149, s22 :: v_dual_mov_b32 v144, s23
-; GFX11-FAKE16-NEXT: v_mov_b32_e32 v115, s0
-; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v78, 16
-; GFX11-FAKE16-NEXT: v_mov_b32_e32 v180, s66
-; GFX11-FAKE16-NEXT: v_dual_mov_b32 v146, s20 :: v_dual_mov_b32 v133, s18
-; GFX11-FAKE16-NEXT: v_dual_mov_b32 v132, s21 :: v_dual_mov_b32 v129, s16
+; GFX11-FAKE16-NEXT: v_dual_mov_b32 v129, s0 :: v_dual_mov_b32 v112, s51
+; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v79, 17
+; GFX11-FAKE16-NEXT: v_dual_mov_b32 v161, s60 :: v_dual_mov_b32 v166, s24
+; GFX11-FAKE16-NEXT: v_dual_mov_b32 v151, s25 :: v_dual_mov_b32 v160, s22
+; GFX11-FAKE16-NEXT: v_dual_mov_b32 v147, s23 :: v_dual_mov_b32 v118, s0
+; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v79, 18
+; GFX11-FAKE16-NEXT: v_mov_b32_e32 v39, s29
+; GFX11-FAKE16-NEXT: v_dual_mov_b32 v149, s20 :: v_dual_mov_b32 v132, s16
+; GFX11-FAKE16-NEXT: v_dual_mov_b32 v135, s21 :: v_dual_mov_b32 v128, s17
; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_3) | instid1(VALU_DEP_3)
+; GFX11-FAKE16-NEXT: v_mov_b32_e32 v52, s0
+; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v79, 19
+; GFX11-FAKE16-NEXT: v_dual_mov_b32 v131, s19 :: v_dual_mov_b32 v100, s5
+; GFX11-FAKE16-NEXT: v_dual_mov_b32 v119, s2 :: v_dual_mov_b32 v82, s9
; GFX11-FAKE16-NEXT: v_mov_b32_e32 v43, s0
-; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v78, 17
-; GFX11-FAKE16-NEXT: v_dual_mov_b32 v128, s19 :: v_dual_mov_b32 v117, s17
-; GFX11-FAKE16-NEXT: v_dual_mov_b32 v114, s3 :: v_dual_mov_b32 v97, s5
+; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v79, 20
+; GFX11-FAKE16-NEXT: v_mov_b32_e32 v183, s65
+; GFX11-FAKE16-NEXT: v_dual_mov_b32 v117, s3 :: v_dual_mov_b32 v86, s10
+; GFX11-FAKE16-NEXT: v_dual_mov_b32 v103, s4 :: v_dual_mov_b32 v176, s45
+; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_3) | instid1(VALU_DEP_3)
; GFX11-FAKE16-NEXT: v_mov_b32_e32 v44, s0
-; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v78, 18
-; GFX11-FAKE16-NEXT: v_dual_mov_b32 v100, s4 :: v_dual_mov_b32 v71, s9
-; GFX11-FAKE16-NEXT: v_dual_mov_b32 v96, s6 :: v_dual_mov_b32 v83, s10
+; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v79, 21
+; GFX11-FAKE16-NEXT: v_dual_mov_b32 v99, s6 :: v_dual_mov_b32 v162, s104
+; GFX11-FAKE16-NEXT: v_dual_mov_b32 v87, s7 :: v_dual_mov_b32 v148, s42
+; GFX11-FAKE16-NEXT: v_mov_b32_e32 v42, s0
+; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v79, 22
+; GFX11-FAKE16-NEXT: v_dual_mov_b32 v97, s8 :: v_dual_mov_b32 v150, s98
+; GFX11-FAKE16-NEXT: v_dual_mov_b32 v81, s11 :: v_dual_mov_b32 v146, s100
; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_3) | instid1(VALU_DEP_3)
-; GFX11-FAKE16-NEXT: v_mov_b32_e32 v183, s0
-; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v78, 19
-; GFX11-FAKE16-NEXT: v_dual_mov_b32 v84, s8 :: v_dual_mov_b32 v167, s63
-; GFX11-FAKE16-NEXT: v_dual_mov_b32 v70, s11 :: v_dual_mov_b32 v165, s57
; GFX11-FAKE16-NEXT: v_mov_b32_e32 v45, s0
-; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v78, 20
-; GFX11-FAKE16-NEXT: v_dual_mov_b32 v166, s30 :: v_dual_mov_b32 v151, s44
-; GFX11-FAKE16-NEXT: v_dual_mov_b32 v164, s61 :: v_dual_mov_b32 v145, s46
-; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_3) | instid1(VALU_DEP_3)
+; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v79, 23
+; GFX11-FAKE16-NEXT: v_dual_mov_b32 v177, s73 :: v_dual_mov_b32 v144, s82
+; GFX11-FAKE16-NEXT: v_dual_mov_b32 v167, s57 :: v_dual_mov_b32 v134, s84
; GFX11-FAKE16-NEXT: v_mov_b32_e32 v47, s0
-; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v78, 21
-; GFX11-FAKE16-NEXT: v_dual_mov_b32 v162, s60 :: v_dual_mov_b32 v147, s100
-; GFX11-FAKE16-NEXT: v_dual_mov_b32 v150, s45 :: v_dual_mov_b32 v135, s102
-; GFX11-FAKE16-NEXT: v_mov_b32_e32 v46, s0
-; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v78, 22
-; GFX11-FAKE16-NEXT: v_dual_mov_b32 v134, s83 :: v_dual_mov_b32 v131, s87
-; GFX11-FAKE16-NEXT: v_dual_mov_b32 v130, s67 :: v_dual_mov_b32 v119, s71
+; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v79, 24
+; GFX11-FAKE16-NEXT: v_dual_mov_b32 v165, s56 :: v_dual_mov_b32 v130, s68
+; GFX11-FAKE16-NEXT: v_dual_mov_b32 v133, s66 :: v_dual_mov_b32 v114, s53
; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_3) | instid1(VALU_DEP_3)
-; GFX11-FAKE16-NEXT: v_mov_b32_e32 v58, s0
-; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v78, 23
-; GFX11-FAKE16-NEXT: v_dual_mov_b32 v103, s54 :: v_dual_mov_b32 v102, s55
+; GFX11-FAKE16-NEXT: v_mov_b32_e32 v46, s0
+; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v79, 25
+; GFX11-FAKE16-NEXT: v_dual_mov_b32 v113, s54 :: v_dual_mov_b32 v102, s49
; GFX11-FAKE16-NEXT: v_dual_mov_b32 v101, s52 :: v_dual_mov_b32 v98, s50
-; GFX11-FAKE16-NEXT: v_mov_b32_e32 v57, s0
-; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v78, 24
-; GFX11-FAKE16-NEXT: v_dual_mov_b32 v99, s53 :: v_dual_mov_b32 v86, s48
-; GFX11-FAKE16-NEXT: v_dual_mov_b32 v87, s51 :: v_dual_mov_b32 v82, s49
+; GFX11-FAKE16-NEXT: v_mov_b32_e32 v58, s0
+; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v79, 26
+; GFX11-FAKE16-NEXT: v_dual_mov_b32 v96, s72 :: v_dual_mov_b32 v85, s38
+; GFX11-FAKE16-NEXT: v_dual_mov_b32 v84, s48 :: v_dual_mov_b32 v83, s12
; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_3) | instid1(VALU_DEP_3)
+; GFX11-FAKE16-NEXT: v_mov_b32_e32 v57, s0
+; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v79, 27
+; GFX11-FAKE16-NEXT: v_dual_mov_b32 v71, s13 :: v_dual_mov_b32 v80, s39
+; GFX11-FAKE16-NEXT: v_dual_mov_b32 v69, s14 :: v_dual_mov_b32 v70, s36
; GFX11-FAKE16-NEXT: v_mov_b32_e32 v56, s0
-; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v78, 25
-; GFX11-FAKE16-NEXT: v_dual_mov_b32 v81, s38 :: v_dual_mov_b32 v80, s12
-; GFX11-FAKE16-NEXT: v_dual_mov_b32 v68, s13 :: v_dual_mov_b32 v69, s39
-; GFX11-FAKE16-NEXT: v_mov_b32_e32 v59, s0
-; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v78, 26
-; GFX11-FAKE16-NEXT: v_dual_mov_b32 v66, s14 :: v_dual_mov_b32 v67, s36
-; GFX11-FAKE16-NEXT: v_dual_mov_b32 v55, s15 :: v_dual_mov_b32 v54, s40
+; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v79, 28
+; GFX11-FAKE16-NEXT: v_dual_mov_b32 v65, s15 :: v_dual_mov_b32 v66, s40
+; GFX11-FAKE16-NEXT: v_dual_mov_b32 v67, s37 :: v_dual_mov_b32 v68, s34
; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_3) | instid1(VALU_DEP_3)
+; GFX11-FAKE16-NEXT: v_mov_b32_e32 v59, s0
+; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v79, 29
+; GFX11-FAKE16-NEXT: v_dual_mov_b32 v55, s41 :: v_dual_mov_b32 v64, s35
+; GFX11-FAKE16-NEXT: v_dual_mov_b32 v53, s28 :: v_dual_mov_b32 v54, s75
; GFX11-FAKE16-NEXT: v_mov_b32_e32 v61, s0
-; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v78, 27
-; GFX11-FAKE16-NEXT: v_dual_mov_b32 v65, s37 :: v_dual_mov_b32 v64, s31
-; GFX11-FAKE16-NEXT: v_dual_mov_b32 v52, s41 :: v_dual_mov_b32 v53, s34
-; GFX11-FAKE16-NEXT: v_mov_b32_e32 v60, s0
-; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v78, 28
-; GFX11-FAKE16-NEXT: v_dual_mov_b32 v50, s28 :: v_dual_mov_b32 v51, s75
-; GFX11-FAKE16-NEXT: v_dual_mov_b32 v48, s29 :: v_dual_mov_b32 v49, s73
+; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v79, 30
+; GFX11-FAKE16-NEXT: v_dual_mov_b32 v179, s87 :: v_dual_mov_b32 v36, s97
+; GFX11-FAKE16-NEXT: v_dual_mov_b32 v49, s99 :: v_dual_mov_b32 v182, s83
; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_3) | instid1(VALU_DEP_3)
+; GFX11-FAKE16-NEXT: v_mov_b32_e32 v60, s0
+; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v79, 31
+; GFX11-FAKE16-NEXT: v_dual_mov_b32 v181, s71 :: v_dual_mov_b32 v180, s81
+; GFX11-FAKE16-NEXT: v_dual_mov_b32 v41, s55 :: v_dual_mov_b32 v40, s67
; GFX11-FAKE16-NEXT: v_mov_b32_e32 v72, s0
-; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v78, 29
-; GFX11-FAKE16-NEXT: v_dual_mov_b32 v176, s97 :: v_dual_mov_b32 v37, s101
-; GFX11-FAKE16-NEXT: v_dual_mov_b32 v30, s99 :: v_dual_mov_b32 v179, s85
+; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v78, 0
+; GFX11-FAKE16-NEXT: v_dual_mov_b32 v22, s59 :: v_dual_mov_b32 v15, s63
+; GFX11-FAKE16-NEXT: v_dual_mov_b32 v24, s30 :: v_dual_mov_b32 v25, s47
+; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_3) | instid1(VALU_DEP_3)
; GFX11-FAKE16-NEXT: v_mov_b32_e32 v62, s0
-; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v78, 30
-; GFX11-FAKE16-NEXT: v_dual_mov_b32 v178, s81 :: v_dual_mov_b32 v177, s82
-; GFX11-FAKE16-NEXT: v_dual_mov_b32 v182, s64 :: v_dual_mov_b32 v181, s69
-; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_4) | instid1(VALU_DEP_4)
+; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v78, 1
+; GFX11-FAKE16-NEXT: v_dual_mov_b32 v16, s62 :: v_dual_mov_b32 v17, s43
+; GFX11-FAKE16-NEXT: v_dual_mov_b32 v11, s44 :: v_dual_mov_b32 v26, s58
; GFX11-FAKE16-NEXT: v_mov_b32_e32 v63, s0
-; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v78, 31
-; GFX11-FAKE16-NEXT: v_mov_b32_e32 v8, s80
-; GFX11-FAKE16-NEXT: v_dual_mov_b32 v22, s43 :: v_dual_mov_b32 v15, s47
-; GFX11-FAKE16-NEXT: v_dual_mov_b32 v24, s59 :: v_dual_mov_b32 v25, s62
-; GFX11-FAKE16-NEXT: v_mov_b32_e32 v5, s0
-; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v77, 0
-; GFX11-FAKE16-NEXT: v_dual_mov_b32 v16, s56 :: v_dual_mov_b32 v17, s58
-; GFX11-FAKE16-NEXT: v_dual_mov_b32 v11, s103 :: v_dual_mov_b32 v26, s42
-; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_3) | instid1(VALU_DEP_3)
-; GFX11-FAKE16-NEXT: v_dual_mov_b32 v40, s0 :: v_dual_mov_b32 v23, s72
-; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v77, 1
-; GFX11-FAKE16-NEXT: v_dual_mov_b32 v12, s104 :: v_dual_mov_b32 v9, s86
-; GFX11-FAKE16-NEXT: v_dual_mov_b32 v31, s98 :: v_dual_mov_b32 v10, s96
-; GFX11-FAKE16-NEXT: v_mov_b32_e32 v2, s0
-; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v77, 2
-; GFX11-FAKE16-NEXT: v_dual_mov_b32 v38, s68 :: v_dual_mov_b32 v7, s70
-; GFX11-FAKE16-NEXT: v_mov_b32_e32 v32, s84
+; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v78, 2
+; GFX11-FAKE16-NEXT: v_dual_mov_b32 v12, s46 :: v_dual_mov_b32 v9, s101
+; GFX11-FAKE16-NEXT: v_dual_mov_b32 v30, s103 :: v_dual_mov_b32 v7, s85
+; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_4) | instid1(VALU_DEP_4)
+; GFX11-FAKE16-NEXT: v_mov_b32_e32 v50, s0
+; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v78, 3
+; GFX11-FAKE16-NEXT: v_mov_b32_e32 v32, s80
+; GFX11-FAKE16-NEXT: v_dual_mov_b32 v10, s102 :: v_dual_mov_b32 v31, s96
+; GFX11-FAKE16-NEXT: v_dual_mov_b32 v8, s86 :: v_dual_mov_b32 v5, s69
+; GFX11-FAKE16-NEXT: v_mov_b32_e32 v37, s0
+; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v78, 4
+; GFX11-FAKE16-NEXT: v_mov_b32_e32 v6, s70
; GFX11-FAKE16-NEXT: v_dual_mov_b32 v14, s76 :: v_dual_mov_b32 v21, s92
-; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_4) | instid1(VALU_DEP_4)
-; GFX11-FAKE16-NEXT: v_mov_b32_e32 v39, s0
-; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v77, 3
-; GFX11-FAKE16-NEXT: v_mov_b32_e32 v6, s65
; GFX11-FAKE16-NEXT: v_dual_mov_b32 v18, s78 :: v_dual_mov_b32 v3, s94
+; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_3) | instid1(VALU_DEP_3)
+; GFX11-FAKE16-NEXT: v_mov_b32_e32 v51, s0
+; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v78, 5
; GFX11-FAKE16-NEXT: v_dual_mov_b32 v20, s90 :: v_dual_mov_b32 v1, vcc_lo
-; GFX11-FAKE16-NEXT: v_mov_b32_e32 v41, s0
-; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v77, 4
; GFX11-FAKE16-NEXT: v_mov_b32_e32 v13, s74
-; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_2) | instskip(SKIP_1) | instid1(VALU_DEP_1)
-; GFX11-FAKE16-NEXT: v_dual_mov_b32 v19, s88 :: v_dual_mov_b32 v42, s0
-; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v77, 5
+; GFX11-FAKE16-NEXT: v_dual_mov_b32 v19, s88 :: v_dual_mov_b32 v2, s0
+; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v78, 6
+; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_2) | instid1(VALU_DEP_2)
; GFX11-FAKE16-NEXT: v_mov_b32_e32 v4, s0
-; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v78, 12
-; GFX11-FAKE16-NEXT: v_readlane_b32 s1, v78, 13
+; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v79, 14
+; GFX11-FAKE16-NEXT: v_readlane_b32 s1, v79, 15
+; GFX11-FAKE16-NEXT: v_mov_b32_e32 v23, s0
+; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v79, 12
+; GFX11-FAKE16-NEXT: v_readlane_b32 s1, v79, 13
; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_2) | instskip(SKIP_2) | instid1(VALU_DEP_2)
-; GFX11-FAKE16-NEXT: v_mov_b32_e32 v27, s0
-; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v78, 10
-; GFX11-FAKE16-NEXT: v_readlane_b32 s1, v78, 11
+; GFX11-FAKE16-NEXT: v_dual_mov_b32 v38, s64 :: v_dual_mov_b32 v27, s0
+; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v79, 10
+; GFX11-FAKE16-NEXT: v_readlane_b32 s1, v79, 11
; GFX11-FAKE16-NEXT: v_mov_b32_e32 v28, s0
-; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v78, 8
-; GFX11-FAKE16-NEXT: v_readlane_b32 s1, v78, 9
+; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v79, 8
+; GFX11-FAKE16-NEXT: v_readlane_b32 s1, v79, 9
; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_2) | instskip(SKIP_2) | instid1(VALU_DEP_2)
; GFX11-FAKE16-NEXT: v_mov_b32_e32 v29, s0
-; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v78, 6
-; GFX11-FAKE16-NEXT: v_readlane_b32 s1, v78, 7
+; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v79, 6
+; GFX11-FAKE16-NEXT: v_readlane_b32 s1, v79, 7
; GFX11-FAKE16-NEXT: v_mov_b32_e32 v33, s0
-; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v78, 4
-; GFX11-FAKE16-NEXT: v_readlane_b32 s1, v78, 5
+; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v79, 4
+; GFX11-FAKE16-NEXT: v_readlane_b32 s1, v79, 5
; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_2) | instskip(SKIP_2) | instid1(VALU_DEP_2)
; GFX11-FAKE16-NEXT: v_mov_b32_e32 v34, s0
-; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v78, 2
-; GFX11-FAKE16-NEXT: v_readlane_b32 s1, v78, 3
+; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v79, 2
+; GFX11-FAKE16-NEXT: v_readlane_b32 s1, v79, 3
; GFX11-FAKE16-NEXT: v_mov_b32_e32 v35, s0
-; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v78, 0
-; GFX11-FAKE16-NEXT: v_readlane_b32 s1, v78, 1
+; GFX11-FAKE16-NEXT: v_readlane_b32 s0, v79, 0
+; GFX11-FAKE16-NEXT: v_readlane_b32 s1, v79, 1
; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_2)
-; GFX11-FAKE16-NEXT: v_mov_b32_e32 v36, s0
+; GFX11-FAKE16-NEXT: v_mov_b32_e32 v48, s0
; GFX11-FAKE16-NEXT: .LBB91_6: ; %end
; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_1)
-; GFX11-FAKE16-NEXT: v_perm_b32 v36, v118, v36, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v35, v130, v35, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v113, v113, v72, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v118, v112, v63, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v112, v119, v61, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v36, 16, v36
-; GFX11-FAKE16-NEXT: v_perm_b32 v116, v116, v59, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v48, v129, v48, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v118, v118, v62, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v129, v115, v63, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v115, v130, v61, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v35, v133, v35, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v116, v116, v72, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v48, 16, v48
+; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v118, 16, v118
+; GFX11-FAKE16-NEXT: v_perm_b32 v130, v117, v60, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v133, 16, v115
+; GFX11-FAKE16-NEXT: v_perm_b32 v33, v150, v33, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v119, v119, v59, 0xc0c0004
; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v35, 16, v35
-; GFX11-FAKE16-NEXT: v_perm_b32 v115, v115, v62, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v119, v114, v60, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v130, 16, v112
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v112, v113, v36
-; GFX11-FAKE16-NEXT: v_perm_b32 v34, v134, v34, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v114, v116, v35
-; GFX11-FAKE16-NEXT: v_perm_b32 v36, v131, v57, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v116, v117, v56, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v117, v135, v47, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v115, 16, v115
-; GFX11-FAKE16-NEXT: v_perm_b32 v33, v147, v33, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v35, v129, v58, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v115, v116, v48
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v116, v129, v118
+; GFX11-FAKE16-NEXT: v_perm_b32 v34, v144, v34, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v118, v130, v133
+; GFX11-FAKE16-NEXT: v_perm_b32 v130, v145, v45, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v33, 16, v33
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v117, v119, v35
+; GFX11-FAKE16-NEXT: v_perm_b32 v48, v134, v57, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v119, v128, v56, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v128, v146, v47, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v35, v132, v58, 0xc0c0004
; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v34, 16, v34
-; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v36, 16, v36
-; GFX11-FAKE16-NEXT: v_perm_b32 v128, v128, v46, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v117, 16, v117
-; GFX11-FAKE16-NEXT: v_perm_b32 v29, v151, v29, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v113, v118, v115
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v115, v119, v130
-; GFX11-FAKE16-NEXT: v_perm_b32 v118, v133, v45, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v119, 16, v33
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v33, v35, v34
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v34, v116, v36
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v36, v128, v117
-; GFX11-FAKE16-NEXT: v_perm_b32 v117, v146, v43, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v28, v162, v28, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v130, v130, v33
+; GFX11-FAKE16-NEXT: v_perm_b32 v29, v162, v29, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v33, v148, v44, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v48, 16, v48
+; GFX11-FAKE16-NEXT: v_perm_b32 v131, v131, v46, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v132, 16, v128
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v128, v35, v34
+; GFX11-FAKE16-NEXT: v_perm_b32 v34, v149, v43, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v28, v165, v28, 0xc0c0004
; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v29, 16, v29
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v35, v118, v119
-; GFX11-FAKE16-NEXT: v_perm_b32 v119, v149, v182, 0xc0c0004
-; GFX11-FAKE16-NEXT: s_clause 0x1
-; GFX11-FAKE16-NEXT: scratch_store_b128 v0, v[112:115], off
-; GFX11-FAKE16-NEXT: scratch_store_b128 v0, v[33:36], off offset:16
+; GFX11-FAKE16-NEXT: v_perm_b32 v35, v135, v42, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v33, 16, v33
+; GFX11-FAKE16-NEXT: v_perm_b32 v27, v176, v27, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v129, v119, v48
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v131, v131, v132
+; GFX11-FAKE16-NEXT: v_perm_b32 v48, v160, v41, 0xc0c0004
; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v28, 16, v28
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v33, v117, v29
-; GFX11-FAKE16-NEXT: v_perm_b32 v29, v150, v181, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v23, v167, v23, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v21, v67, v21, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v35, v119, v28
-; GFX11-FAKE16-NEXT: v_perm_b32 v28, v144, v180, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v29, 16, v29
-; GFX11-FAKE16-NEXT: v_perm_b32 v36, v164, v179, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v115, v161, v176, 0xc0c0004
+; GFX11-FAKE16-NEXT: s_clause 0x1
+; GFX11-FAKE16-NEXT: scratch_store_b128 v0, v[115:118], off
+; GFX11-FAKE16-NEXT: scratch_store_b128 v0, v[128:131], off offset:16
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v115, v34, v29
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v116, v35, v33
+; GFX11-FAKE16-NEXT: v_perm_b32 v33, v167, v182, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v34, v166, v181, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v23, v178, v23, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v27, 16, v27
+; GFX11-FAKE16-NEXT: v_perm_b32 v21, v70, v21, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v117, v48, v28
+; GFX11-FAKE16-NEXT: v_perm_b32 v35, v151, v180, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v48, 16, v33
+; GFX11-FAKE16-NEXT: v_perm_b32 v119, v164, v179, 0xc0c0004
; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v23, 16, v23
-; GFX11-FAKE16-NEXT: v_perm_b32 v37, v166, v37, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v5, v66, v5, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v20, v81, v20, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v33, v34, v27
+; GFX11-FAKE16-NEXT: v_perm_b32 v27, v177, v49, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v5, v69, v5, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v20, v85, v20, 0xc0c0004
; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v21, 16, v21
-; GFX11-FAKE16-NEXT: v_perm_b32 v19, v86, v19, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v114, 16, v36
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v36, v28, v29
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v29, v115, v23
-; GFX11-FAKE16-NEXT: v_perm_b32 v23, v160, v30, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v30, 16, v37
-; GFX11-FAKE16-NEXT: v_perm_b32 v37, v49, v42, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v7, v80, v7, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v19, v96, v19, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v34, v35, v48
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v35, v119, v23
+; GFX11-FAKE16-NEXT: v_perm_b32 v23, v163, v36, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v27, 16, v27
+; GFX11-FAKE16-NEXT: v_perm_b32 v2, v52, v2, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v7, v83, v7, 0xc0c0004
; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v20, 16, v20
; GFX11-FAKE16-NEXT: v_or_b32_e32 v5, v5, v21
-; GFX11-FAKE16-NEXT: v_perm_b32 v21, v69, v32, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v9, v83, v9, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v18, v98, v18, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v21, v80, v31, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v9, v86, v9, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v18, v102, v18, 0xc0c0004
; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v19, 16, v19
-; GFX11-FAKE16-NEXT: v_perm_b32 v4, v48, v4, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v37, 16, v37
-; GFX11-FAKE16-NEXT: v_perm_b32 v116, v145, v44, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v30, v23, v30
-; GFX11-FAKE16-NEXT: v_perm_b32 v23, v53, v2, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v29, v161, v40, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v4, v39, v4, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v2, 16, v2
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v36, v23, v27
+; GFX11-FAKE16-NEXT: v_perm_b32 v23, v64, v38, 0xc0c0004
; GFX11-FAKE16-NEXT: v_or_b32_e32 v7, v7, v20
-; GFX11-FAKE16-NEXT: v_perm_b32 v8, v68, v8, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v8, v71, v8, 0xc0c0004
; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v20, 16, v21
-; GFX11-FAKE16-NEXT: v_perm_b32 v21, v82, v31, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v11, v84, v11, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v21, v84, v30, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v11, v97, v11, 0xc0c0004
; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v18, 16, v18
; GFX11-FAKE16-NEXT: v_or_b32_e32 v9, v9, v19
-; GFX11-FAKE16-NEXT: v_perm_b32 v19, v87, v26, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v27, v165, v27, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v1, v51, v1, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v3, v64, v3, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v2, v4, v37
-; GFX11-FAKE16-NEXT: v_perm_b32 v37, v65, v38, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v118, v132, v183, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v116, 16, v116
-; GFX11-FAKE16-NEXT: v_perm_b32 v4, v52, v39, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v19, v98, v26, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v28, v147, v183, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v29, 16, v29
+; GFX11-FAKE16-NEXT: v_perm_b32 v1, v54, v1, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v3, v68, v3, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v27, v67, v32, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v2, v4, v2
+; GFX11-FAKE16-NEXT: v_perm_b32 v4, v55, v37, 0xc0c0004
; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v23, 16, v23
-; GFX11-FAKE16-NEXT: v_perm_b32 v10, v70, v10, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v10, v81, v10, 0xc0c0004
; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v21, 16, v21
; GFX11-FAKE16-NEXT: v_or_b32_e32 v8, v8, v20
; GFX11-FAKE16-NEXT: v_or_b32_e32 v11, v11, v18
-; GFX11-FAKE16-NEXT: v_perm_b32 v14, v101, v14, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v14, v112, v14, 0xc0c0004
; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v18, 16, v19
-; GFX11-FAKE16-NEXT: v_perm_b32 v19, v99, v25, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v13, v103, v13, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v20, v102, v24, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v112, v163, v178, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v27, 16, v27
-; GFX11-FAKE16-NEXT: v_perm_b32 v113, v148, v177, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v49, v50, v41, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v19, v101, v25, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v13, v114, v13, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v20, v113, v24, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v118, v28, v29
+; GFX11-FAKE16-NEXT: v_perm_b32 v28, v53, v51, 0xc0c0004
; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v1, 16, v1
-; GFX11-FAKE16-NEXT: v_perm_b32 v48, v54, v40, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v29, v66, v50, 0xc0c0004
; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v3, 16, v3
-; GFX11-FAKE16-NEXT: v_perm_b32 v6, v55, v6, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v37, 16, v37
-; GFX11-FAKE16-NEXT: v_perm_b32 v12, v71, v12, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v34, v118, v116
+; GFX11-FAKE16-NEXT: v_perm_b32 v6, v65, v6, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v27, 16, v27
+; GFX11-FAKE16-NEXT: v_perm_b32 v12, v82, v12, 0xc0c0004
; GFX11-FAKE16-NEXT: v_or_b32_e32 v4, v4, v23
; GFX11-FAKE16-NEXT: v_or_b32_e32 v10, v10, v21
-; GFX11-FAKE16-NEXT: v_perm_b32 v16, v96, v16, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v16, v99, v16, 0xc0c0004
; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v14, 16, v14
-; GFX11-FAKE16-NEXT: v_perm_b32 v17, v85, v17, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v17, v87, v17, 0xc0c0004
; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v19, 16, v19
-; GFX11-FAKE16-NEXT: v_perm_b32 v21, v100, v22, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v21, v103, v22, 0xc0c0004
; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v22, 16, v13
-; GFX11-FAKE16-NEXT: v_perm_b32 v23, v97, v15, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v23, v100, v15, 0xc0c0004
; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v20, 16, v20
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v27, v112, v27
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v28, v113, v114
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v49, v1
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v3, v48, v3
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v6, v6, v37
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v28, v1
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v3, v29, v3
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v6, v6, v27
; GFX11-FAKE16-NEXT: v_or_b32_e32 v12, v12, v18
; GFX11-FAKE16-NEXT: v_or_b32_e32 v13, v16, v14
; GFX11-FAKE16-NEXT: v_or_b32_e32 v14, v17, v19
; GFX11-FAKE16-NEXT: v_or_b32_e32 v15, v21, v22
; GFX11-FAKE16-NEXT: v_or_b32_e32 v16, v23, v20
; GFX11-FAKE16-NEXT: s_clause 0x5
-; GFX11-FAKE16-NEXT: scratch_store_b128 v0, v[33:36], off offset:32
-; GFX11-FAKE16-NEXT: scratch_store_b128 v0, v[27:30], off offset:48
+; GFX11-FAKE16-NEXT: scratch_store_b128 v0, v[115:118], off offset:32
+; GFX11-FAKE16-NEXT: scratch_store_b128 v0, v[33:36], off offset:48
; GFX11-FAKE16-NEXT: scratch_store_b128 v0, v[1:4], off offset:64
; GFX11-FAKE16-NEXT: scratch_store_b128 v0, v[5:8], off offset:80
; GFX11-FAKE16-NEXT: scratch_store_b128 v0, v[9:12], off offset:96
; GFX11-FAKE16-NEXT: scratch_store_b128 v0, v[13:16], off offset:112
-; GFX11-FAKE16-NEXT: s_clause 0x12 ; 76-byte Folded Reload
-; GFX11-FAKE16-NEXT: scratch_load_b32 v74, off, s32
-; GFX11-FAKE16-NEXT: scratch_load_b32 v73, off, s32 offset:4
-; GFX11-FAKE16-NEXT: scratch_load_b32 v72, off, s32 offset:8
-; GFX11-FAKE16-NEXT: scratch_load_b32 v63, off, s32 offset:12
-; GFX11-FAKE16-NEXT: scratch_load_b32 v62, off, s32 offset:16
-; GFX11-FAKE16-NEXT: scratch_load_b32 v61, off, s32 offset:20
-; GFX11-FAKE16-NEXT: scratch_load_b32 v60, off, s32 offset:24
-; GFX11-FAKE16-NEXT: scratch_load_b32 v59, off, s32 offset:28
-; GFX11-FAKE16-NEXT: scratch_load_b32 v58, off, s32 offset:32
-; GFX11-FAKE16-NEXT: scratch_load_b32 v57, off, s32 offset:36
-; GFX11-FAKE16-NEXT: scratch_load_b32 v56, off, s32 offset:40
-; GFX11-FAKE16-NEXT: scratch_load_b32 v47, off, s32 offset:44
-; GFX11-FAKE16-NEXT: scratch_load_b32 v46, off, s32 offset:48
-; GFX11-FAKE16-NEXT: scratch_load_b32 v45, off, s32 offset:52
-; GFX11-FAKE16-NEXT: scratch_load_b32 v44, off, s32 offset:56
-; GFX11-FAKE16-NEXT: scratch_load_b32 v43, off, s32 offset:60
-; GFX11-FAKE16-NEXT: scratch_load_b32 v42, off, s32 offset:64
-; GFX11-FAKE16-NEXT: scratch_load_b32 v41, off, s32 offset:68
-; GFX11-FAKE16-NEXT: scratch_load_b32 v40, off, s32 offset:72
-; GFX11-FAKE16-NEXT: v_readlane_b32 s30, v76, 7
-; GFX11-FAKE16-NEXT: v_readlane_b32 s31, v76, 8
-; GFX11-FAKE16-NEXT: v_readlane_b32 s104, v76, 6
-; GFX11-FAKE16-NEXT: v_readlane_b32 s103, v76, 5
-; GFX11-FAKE16-NEXT: v_readlane_b32 s102, v76, 4
-; GFX11-FAKE16-NEXT: v_readlane_b32 s101, v76, 3
-; GFX11-FAKE16-NEXT: v_readlane_b32 s100, v76, 2
-; GFX11-FAKE16-NEXT: v_readlane_b32 s99, v76, 1
-; GFX11-FAKE16-NEXT: v_readlane_b32 s98, v76, 0
-; GFX11-FAKE16-NEXT: v_readlane_b32 s97, v75, 31
-; GFX11-FAKE16-NEXT: v_readlane_b32 s96, v75, 30
-; GFX11-FAKE16-NEXT: v_readlane_b32 s87, v75, 29
-; GFX11-FAKE16-NEXT: v_readlane_b32 s86, v75, 28
-; GFX11-FAKE16-NEXT: v_readlane_b32 s85, v75, 27
-; GFX11-FAKE16-NEXT: v_readlane_b32 s84, v75, 26
-; GFX11-FAKE16-NEXT: v_readlane_b32 s83, v75, 25
-; GFX11-FAKE16-NEXT: v_readlane_b32 s82, v75, 24
-; GFX11-FAKE16-NEXT: v_readlane_b32 s81, v75, 23
-; GFX11-FAKE16-NEXT: v_readlane_b32 s80, v75, 22
-; GFX11-FAKE16-NEXT: v_readlane_b32 s71, v75, 21
-; GFX11-FAKE16-NEXT: v_readlane_b32 s70, v75, 20
-; GFX11-FAKE16-NEXT: v_readlane_b32 s69, v75, 19
-; GFX11-FAKE16-NEXT: v_readlane_b32 s68, v75, 18
-; GFX11-FAKE16-NEXT: v_readlane_b32 s67, v75, 17
-; GFX11-FAKE16-NEXT: v_readlane_b32 s66, v75, 16
-; GFX11-FAKE16-NEXT: v_readlane_b32 s65, v75, 15
-; GFX11-FAKE16-NEXT: v_readlane_b32 s64, v75, 14
-; GFX11-FAKE16-NEXT: v_readlane_b32 s55, v75, 13
-; GFX11-FAKE16-NEXT: v_readlane_b32 s54, v75, 12
-; GFX11-FAKE16-NEXT: v_readlane_b32 s53, v75, 11
-; GFX11-FAKE16-NEXT: v_readlane_b32 s52, v75, 10
-; GFX11-FAKE16-NEXT: v_readlane_b32 s51, v75, 9
-; GFX11-FAKE16-NEXT: v_readlane_b32 s50, v75, 8
-; GFX11-FAKE16-NEXT: v_readlane_b32 s49, v75, 7
-; GFX11-FAKE16-NEXT: v_readlane_b32 s48, v75, 6
-; GFX11-FAKE16-NEXT: v_readlane_b32 s39, v75, 5
-; GFX11-FAKE16-NEXT: v_readlane_b32 s38, v75, 4
-; GFX11-FAKE16-NEXT: v_readlane_b32 s37, v75, 3
-; GFX11-FAKE16-NEXT: v_readlane_b32 s36, v75, 2
-; GFX11-FAKE16-NEXT: v_readlane_b32 s35, v75, 1
-; GFX11-FAKE16-NEXT: v_readlane_b32 s34, v75, 0
+; GFX11-FAKE16-NEXT: s_clause 0x13 ; 80-byte Folded Reload
+; GFX11-FAKE16-NEXT: scratch_load_b32 v75, off, s32
+; GFX11-FAKE16-NEXT: scratch_load_b32 v74, off, s32 offset:4
+; GFX11-FAKE16-NEXT: scratch_load_b32 v73, off, s32 offset:8
+; GFX11-FAKE16-NEXT: scratch_load_b32 v72, off, s32 offset:12
+; GFX11-FAKE16-NEXT: scratch_load_b32 v63, off, s32 offset:16
+; GFX11-FAKE16-NEXT: scratch_load_b32 v62, off, s32 offset:20
+; GFX11-FAKE16-NEXT: scratch_load_b32 v61, off, s32 offset:24
+; GFX11-FAKE16-NEXT: scratch_load_b32 v60, off, s32 offset:28
+; GFX11-FAKE16-NEXT: scratch_load_b32 v59, off, s32 offset:32
+; GFX11-FAKE16-NEXT: scratch_load_b32 v58, off, s32 offset:36
+; GFX11-FAKE16-NEXT: scratch_load_b32 v57, off, s32 offset:40
+; GFX11-FAKE16-NEXT: scratch_load_b32 v56, off, s32 offset:44
+; GFX11-FAKE16-NEXT: scratch_load_b32 v47, off, s32 offset:48
+; GFX11-FAKE16-NEXT: scratch_load_b32 v46, off, s32 offset:52
+; GFX11-FAKE16-NEXT: scratch_load_b32 v45, off, s32 offset:56
+; GFX11-FAKE16-NEXT: scratch_load_b32 v44, off, s32 offset:60
+; GFX11-FAKE16-NEXT: scratch_load_b32 v43, off, s32 offset:64
+; GFX11-FAKE16-NEXT: scratch_load_b32 v42, off, s32 offset:68
+; GFX11-FAKE16-NEXT: scratch_load_b32 v41, off, s32 offset:72
+; GFX11-FAKE16-NEXT: scratch_load_b32 v40, off, s32 offset:76
+; GFX11-FAKE16-NEXT: v_readlane_b32 s30, v77, 7
+; GFX11-FAKE16-NEXT: v_readlane_b32 s31, v77, 8
+; GFX11-FAKE16-NEXT: v_readlane_b32 s104, v77, 6
+; GFX11-FAKE16-NEXT: v_readlane_b32 s103, v77, 5
+; GFX11-FAKE16-NEXT: v_readlane_b32 s102, v77, 4
+; GFX11-FAKE16-NEXT: v_readlane_b32 s101, v77, 3
+; GFX11-FAKE16-NEXT: v_readlane_b32 s100, v77, 2
+; GFX11-FAKE16-NEXT: v_readlane_b32 s99, v77, 1
+; GFX11-FAKE16-NEXT: v_readlane_b32 s98, v77, 0
+; GFX11-FAKE16-NEXT: v_readlane_b32 s97, v76, 31
+; GFX11-FAKE16-NEXT: v_readlane_b32 s96, v76, 30
+; GFX11-FAKE16-NEXT: v_readlane_b32 s87, v76, 29
+; GFX11-FAKE16-NEXT: v_readlane_b32 s86, v76, 28
+; GFX11-FAKE16-NEXT: v_readlane_b32 s85, v76, 27
+; GFX11-FAKE16-NEXT: v_readlane_b32 s84, v76, 26
+; GFX11-FAKE16-NEXT: v_readlane_b32 s83, v76, 25
+; GFX11-FAKE16-NEXT: v_readlane_b32 s82, v76, 24
+; GFX11-FAKE16-NEXT: v_readlane_b32 s81, v76, 23
+; GFX11-FAKE16-NEXT: v_readlane_b32 s80, v76, 22
+; GFX11-FAKE16-NEXT: v_readlane_b32 s71, v76, 21
+; GFX11-FAKE16-NEXT: v_readlane_b32 s70, v76, 20
+; GFX11-FAKE16-NEXT: v_readlane_b32 s69, v76, 19
+; GFX11-FAKE16-NEXT: v_readlane_b32 s68, v76, 18
+; GFX11-FAKE16-NEXT: v_readlane_b32 s67, v76, 17
+; GFX11-FAKE16-NEXT: v_readlane_b32 s66, v76, 16
+; GFX11-FAKE16-NEXT: v_readlane_b32 s65, v76, 15
+; GFX11-FAKE16-NEXT: v_readlane_b32 s64, v76, 14
+; GFX11-FAKE16-NEXT: v_readlane_b32 s55, v76, 13
+; GFX11-FAKE16-NEXT: v_readlane_b32 s54, v76, 12
+; GFX11-FAKE16-NEXT: v_readlane_b32 s53, v76, 11
+; GFX11-FAKE16-NEXT: v_readlane_b32 s52, v76, 10
+; GFX11-FAKE16-NEXT: v_readlane_b32 s51, v76, 9
+; GFX11-FAKE16-NEXT: v_readlane_b32 s50, v76, 8
+; GFX11-FAKE16-NEXT: v_readlane_b32 s49, v76, 7
+; GFX11-FAKE16-NEXT: v_readlane_b32 s48, v76, 6
+; GFX11-FAKE16-NEXT: v_readlane_b32 s39, v76, 5
+; GFX11-FAKE16-NEXT: v_readlane_b32 s38, v76, 4
+; GFX11-FAKE16-NEXT: v_readlane_b32 s37, v76, 3
+; GFX11-FAKE16-NEXT: v_readlane_b32 s36, v76, 2
+; GFX11-FAKE16-NEXT: v_readlane_b32 s35, v76, 1
+; GFX11-FAKE16-NEXT: v_readlane_b32 s34, v76, 0
; GFX11-FAKE16-NEXT: s_or_saveexec_b32 s0, -1
; GFX11-FAKE16-NEXT: s_clause 0x3 ; 16-byte Folded Reload
-; GFX11-FAKE16-NEXT: scratch_load_b32 v75, off, s32 offset:76
; GFX11-FAKE16-NEXT: scratch_load_b32 v76, off, s32 offset:80
; GFX11-FAKE16-NEXT: scratch_load_b32 v77, off, s32 offset:84
; GFX11-FAKE16-NEXT: scratch_load_b32 v78, off, s32 offset:88
+; GFX11-FAKE16-NEXT: scratch_load_b32 v79, off, s32 offset:92
; GFX11-FAKE16-NEXT: s_mov_b32 exec_lo, s0
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0)
; GFX11-FAKE16-NEXT: s_setpc_b64 s[30:31]
@@ -168960,7 +169041,7 @@ define <64 x half> @bitcast_v128i8_to_v64f16(<128 x i8> %a, i32 %b) #0 {
; VI-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:396 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:392 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v30, off, s[0:3], s32 offset:684 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:672 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:676 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:680 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:696 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:700 ; 4-byte Folded Spill
@@ -168982,14 +169063,14 @@ define <64 x half> @bitcast_v128i8_to_v64f16(<128 x i8> %a, i32 %b) #0 {
; VI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:764 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:752 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:756 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:792 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:796 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:780 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:788 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:776 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:784 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:768 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:772 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:824 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:828 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:812 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:820 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:808 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:816 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:800 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:804 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:388
; VI-NEXT: buffer_load_ushort v1, off, s[0:3], s32
; VI-NEXT: buffer_load_ushort v49, off, s[0:3], s32 offset:116
@@ -169002,25 +169083,25 @@ define <64 x half> @bitcast_v128i8_to_v64f16(<128 x i8> %a, i32 %b) #0 {
; VI-NEXT: buffer_load_ushort v40, off, s[0:3], s32 offset:88
; VI-NEXT: buffer_load_ushort v41, off, s[0:3], s32 offset:84
; VI-NEXT: buffer_load_ushort v46, off, s[0:3], s32 offset:80
-; VI-NEXT: buffer_load_ushort v47, off, s[0:3], s32 offset:76
+; VI-NEXT: buffer_load_ushort v63, off, s[0:3], s32 offset:76
; VI-NEXT: buffer_load_ushort v44, off, s[0:3], s32 offset:72
; VI-NEXT: buffer_load_ushort v45, off, s[0:3], s32 offset:68
-; VI-NEXT: buffer_load_ushort v32, off, s[0:3], s32 offset:64
-; VI-NEXT: buffer_load_ushort v57, off, s[0:3], s32 offset:60
-; VI-NEXT: buffer_load_ushort v56, off, s[0:3], s32 offset:56
-; VI-NEXT: buffer_load_ushort v63, off, s[0:3], s32 offset:52
-; VI-NEXT: buffer_load_ushort v34, off, s[0:3], s32 offset:48
-; VI-NEXT: buffer_load_ushort v59, off, s[0:3], s32 offset:44
-; VI-NEXT: buffer_load_ushort v58, off, s[0:3], s32 offset:40
-; VI-NEXT: buffer_load_ushort v33, off, s[0:3], s32 offset:36
-; VI-NEXT: buffer_load_ushort v36, off, s[0:3], s32 offset:32
-; VI-NEXT: buffer_load_ushort v37, off, s[0:3], s32 offset:28
-; VI-NEXT: buffer_load_ushort v60, off, s[0:3], s32 offset:24
-; VI-NEXT: buffer_load_ushort v35, off, s[0:3], s32 offset:20
+; VI-NEXT: buffer_load_ushort v34, off, s[0:3], s32 offset:64
+; VI-NEXT: buffer_load_ushort v35, off, s[0:3], s32 offset:60
+; VI-NEXT: buffer_load_ushort v32, off, s[0:3], s32 offset:56
+; VI-NEXT: buffer_load_ushort v33, off, s[0:3], s32 offset:52
+; VI-NEXT: buffer_load_ushort v38, off, s[0:3], s32 offset:48
+; VI-NEXT: buffer_load_ushort v47, off, s[0:3], s32 offset:44
+; VI-NEXT: buffer_load_ushort v36, off, s[0:3], s32 offset:40
+; VI-NEXT: buffer_load_ushort v37, off, s[0:3], s32 offset:36
+; VI-NEXT: buffer_load_ushort v58, off, s[0:3], s32 offset:32
+; VI-NEXT: buffer_load_ushort v59, off, s[0:3], s32 offset:28
+; VI-NEXT: buffer_load_ushort v56, off, s[0:3], s32 offset:24
+; VI-NEXT: buffer_load_ushort v57, off, s[0:3], s32 offset:20
; VI-NEXT: buffer_load_ushort v62, off, s[0:3], s32 offset:16
; VI-NEXT: buffer_load_ushort v39, off, s[0:3], s32 offset:12
-; VI-NEXT: buffer_load_ushort v61, off, s[0:3], s32 offset:8
-; VI-NEXT: buffer_load_ushort v38, off, s[0:3], s32 offset:4
+; VI-NEXT: buffer_load_ushort v60, off, s[0:3], s32 offset:8
+; VI-NEXT: buffer_load_ushort v61, off, s[0:3], s32 offset:4
; VI-NEXT: ; implicit-def: $vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31
; VI-NEXT: s_waitcnt vmcnt(14)
; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v0
@@ -169099,7 +169180,7 @@ define <64 x half> @bitcast_v128i8_to_v64f16(<128 x i8> %a, i32 %b) #0 {
; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:492 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:204
; VI-NEXT: s_waitcnt vmcnt(2)
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:676 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:672 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v48, off, s[0:3], s32 offset:376
; VI-NEXT: buffer_load_ushort v1, off, s[0:3], s32 offset:372
; VI-NEXT: s_waitcnt vmcnt(3)
@@ -169169,49 +169250,49 @@ define <64 x half> @bitcast_v128i8_to_v64f16(<128 x i8> %a, i32 %b) #0 {
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:592 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v1, off, s[0:3], s32 offset:328
; VI-NEXT: s_waitcnt vmcnt(2)
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:824 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:792 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:156
; VI-NEXT: s_waitcnt vmcnt(2)
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:544 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v1, off, s[0:3], s32 offset:324
; VI-NEXT: s_waitcnt vmcnt(2)
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:828 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:796 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:152
; VI-NEXT: s_waitcnt vmcnt(2)
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:560 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v1, off, s[0:3], s32 offset:320
; VI-NEXT: s_waitcnt vmcnt(2)
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:812 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:780 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:148
; VI-NEXT: s_waitcnt vmcnt(2)
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:540 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v1, off, s[0:3], s32 offset:316
; VI-NEXT: s_waitcnt vmcnt(2)
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:820 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:788 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:144
; VI-NEXT: s_waitcnt vmcnt(2)
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:556 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v1, off, s[0:3], s32 offset:312
; VI-NEXT: s_waitcnt vmcnt(2)
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:808 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:776 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:140
; VI-NEXT: s_waitcnt vmcnt(2)
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:548 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v1, off, s[0:3], s32 offset:308
; VI-NEXT: s_waitcnt vmcnt(2)
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:816 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:784 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:136
; VI-NEXT: s_waitcnt vmcnt(2)
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:528 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v1, off, s[0:3], s32 offset:304
; VI-NEXT: s_waitcnt vmcnt(2)
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:800 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:768 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:132
; VI-NEXT: s_waitcnt vmcnt(2)
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:508 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v1, off, s[0:3], s32 offset:300
; VI-NEXT: s_waitcnt vmcnt(2)
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:804 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:772 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v50, off, s[0:3], s32 offset:128
; VI-NEXT: buffer_load_ushort v51, off, s[0:3], s32 offset:124
; VI-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:120
@@ -169224,16 +169305,16 @@ define <64 x half> @bitcast_v128i8_to_v64f16(<128 x i8> %a, i32 %b) #0 {
; VI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]
; VI-NEXT: s_cbranch_execz .LBB92_2
; VI-NEXT: ; %bb.1: ; %cmp.false
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:768 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:772 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:800 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:804 ; 4-byte Folded Reload
; VI-NEXT: s_mov_b32 s6, 0xc0c0004
-; VI-NEXT: v_perm_b32 v10, v37, v36, s6
+; VI-NEXT: v_perm_b32 v10, v59, v58, s6
; VI-NEXT: v_lshlrev_b32_e32 v10, 16, v10
-; VI-NEXT: v_perm_b32 v11, v59, v34, s6
+; VI-NEXT: v_perm_b32 v11, v47, v38, s6
; VI-NEXT: v_lshlrev_b32_e32 v11, 16, v11
-; VI-NEXT: v_perm_b32 v12, v57, v32, s6
+; VI-NEXT: v_perm_b32 v12, v35, v34, s6
; VI-NEXT: v_lshlrev_b32_e32 v12, 16, v12
-; VI-NEXT: v_perm_b32 v13, v47, v46, s6
+; VI-NEXT: v_perm_b32 v13, v63, v46, s6
; VI-NEXT: v_lshlrev_b32_e32 v13, 16, v13
; VI-NEXT: v_perm_b32 v14, v43, v42, s6
; VI-NEXT: v_lshlrev_b32_e32 v14, 16, v14
@@ -169241,12 +169322,13 @@ define <64 x half> @bitcast_v128i8_to_v64f16(<128 x i8> %a, i32 %b) #0 {
; VI-NEXT: v_lshlrev_b32_e32 v15, 16, v15
; VI-NEXT: v_perm_b32 v16, v51, v50, s6
; VI-NEXT: v_lshlrev_b32_e32 v16, 16, v16
-; VI-NEXT: ; implicit-def: $vgpr37
-; VI-NEXT: ; implicit-def: $vgpr36
; VI-NEXT: ; implicit-def: $vgpr59
-; VI-NEXT: ; implicit-def: $vgpr34
-; VI-NEXT: ; implicit-def: $vgpr57
+; VI-NEXT: ; implicit-def: $vgpr58
; VI-NEXT: ; implicit-def: $vgpr47
+; VI-NEXT: ; implicit-def: $vgpr38
+; VI-NEXT: ; implicit-def: $vgpr35
+; VI-NEXT: ; implicit-def: $vgpr34
+; VI-NEXT: ; implicit-def: $vgpr63
; VI-NEXT: ; implicit-def: $vgpr46
; VI-NEXT: ; implicit-def: $vgpr43
; VI-NEXT: ; implicit-def: $vgpr42
@@ -169256,18 +169338,18 @@ define <64 x half> @bitcast_v128i8_to_v64f16(<128 x i8> %a, i32 %b) #0 {
; VI-NEXT: ; implicit-def: $vgpr50
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v0, v1, v0, s6
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:776 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:784 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:808 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:816 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s6
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:780 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:788 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:812 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:820 ; 4-byte Folded Reload
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v0, v0, v1
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v2, v3, v2, s6
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:792 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:796 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:824 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:828 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v3, v4, v3, s6
; VI-NEXT: v_lshlrev_b32_e32 v3, 16, v3
@@ -169322,7 +169404,7 @@ define <64 x half> @bitcast_v128i8_to_v64f16(<128 x i8> %a, i32 %b) #0 {
; VI-NEXT: v_perm_b32 v7, v8, v7, s6
; VI-NEXT: v_lshlrev_b32_e32 v7, 16, v7
; VI-NEXT: v_or_b32_e32 v6, v6, v7
-; VI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:672 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:676 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:680 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v7, v8, v7, s6
@@ -169333,14 +169415,14 @@ define <64 x half> @bitcast_v128i8_to_v64f16(<128 x i8> %a, i32 %b) #0 {
; VI-NEXT: v_lshlrev_b32_e32 v8, 16, v8
; VI-NEXT: v_perm_b32 v9, v39, v62, s6
; VI-NEXT: v_or_b32_e32 v7, v7, v8
-; VI-NEXT: v_perm_b32 v8, v38, v61, s6
+; VI-NEXT: v_perm_b32 v8, v61, v60, s6
; VI-NEXT: v_lshlrev_b32_e32 v9, 16, v9
; VI-NEXT: v_or_b32_e32 v8, v8, v9
-; VI-NEXT: v_perm_b32 v9, v35, v60, s6
+; VI-NEXT: v_perm_b32 v9, v57, v56, s6
; VI-NEXT: v_or_b32_e32 v9, v9, v10
-; VI-NEXT: v_perm_b32 v10, v33, v58, s6
+; VI-NEXT: v_perm_b32 v10, v37, v36, s6
; VI-NEXT: v_or_b32_e32 v10, v10, v11
-; VI-NEXT: v_perm_b32 v11, v63, v56, s6
+; VI-NEXT: v_perm_b32 v11, v33, v32, s6
; VI-NEXT: v_or_b32_e32 v11, v11, v12
; VI-NEXT: v_perm_b32 v12, v45, v44, s6
; VI-NEXT: v_or_b32_e32 v12, v12, v13
@@ -169349,15 +169431,14 @@ define <64 x half> @bitcast_v128i8_to_v64f16(<128 x i8> %a, i32 %b) #0 {
; VI-NEXT: v_perm_b32 v14, v53, v52, s6
; VI-NEXT: v_or_b32_e32 v14, v14, v15
; VI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:836 ; 4-byte Folded Reload
-; VI-NEXT: ; implicit-def: $vgpr38
; VI-NEXT: ; implicit-def: $vgpr61
+; VI-NEXT: ; implicit-def: $vgpr60
; VI-NEXT: ; implicit-def: $vgpr39
; VI-NEXT: ; implicit-def: $vgpr62
-; VI-NEXT: ; implicit-def: $vgpr35
-; VI-NEXT: ; implicit-def: $vgpr60
-; VI-NEXT: ; implicit-def: $vgpr58
-; VI-NEXT: ; implicit-def: $vgpr63
+; VI-NEXT: ; implicit-def: $vgpr57
; VI-NEXT: ; implicit-def: $vgpr56
+; VI-NEXT: ; implicit-def: $vgpr37
+; VI-NEXT: ; implicit-def: $vgpr36
; VI-NEXT: ; implicit-def: $vgpr45
; VI-NEXT: ; implicit-def: $vgpr44
; VI-NEXT: ; implicit-def: $vgpr41
@@ -169367,23 +169448,23 @@ define <64 x half> @bitcast_v128i8_to_v64f16(<128 x i8> %a, i32 %b) #0 {
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v15, v49, v15, s6
; VI-NEXT: v_or_b32_e32 v15, v15, v16
-; VI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:800 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:804 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:768 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:772 ; 4-byte Folded Reload
; VI-NEXT: ; implicit-def: $vgpr49
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v16, v17, v16, s6
-; VI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:808 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:816 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:776 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:784 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v17, v18, v17, s6
-; VI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:812 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:820 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:780 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:788 ; 4-byte Folded Reload
; VI-NEXT: v_lshlrev_b32_e32 v17, 16, v17
; VI-NEXT: v_or_b32_e32 v16, v16, v17
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v18, v19, v18, s6
-; VI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:824 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:828 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:792 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:796 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v19, v20, v19, s6
; VI-NEXT: v_lshlrev_b32_e32 v19, 16, v19
@@ -169520,7 +169601,7 @@ define <64 x half> @bitcast_v128i8_to_v64f16(<128 x i8> %a, i32 %b) #0 {
; VI-NEXT: v_or_b32_e32 v30, v30, v31
; VI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:660 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:668 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:676 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:672 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(2)
; VI-NEXT: v_perm_b32 v31, v31, v48, s6
; VI-NEXT: ; implicit-def: $vgpr48
@@ -169726,70 +169807,72 @@ define <64 x half> @bitcast_v128i8_to_v64f16(<128 x i8> %a, i32 %b) #0 {
; VI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]
; VI-NEXT: s_cbranch_execz .LBB92_4
; VI-NEXT: ; %bb.3: ; %cmp.true
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:796 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:792 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:828 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:824 ; 4-byte Folded Reload
; VI-NEXT: v_mov_b32_e32 v18, 0x300
-; VI-NEXT: v_lshlrev_b16_e32 v10, 8, v61
-; VI-NEXT: v_lshlrev_b16_e32 v11, 8, v60
-; VI-NEXT: v_lshlrev_b16_e32 v12, 8, v58
-; VI-NEXT: v_lshlrev_b16_e32 v13, 8, v56
+; VI-NEXT: v_lshlrev_b16_e32 v10, 8, v60
+; VI-NEXT: v_lshlrev_b16_e32 v11, 8, v56
+; VI-NEXT: v_lshlrev_b16_e32 v12, 8, v36
+; VI-NEXT: v_lshlrev_b16_e32 v13, 8, v32
; VI-NEXT: v_lshlrev_b16_e32 v14, 8, v44
; VI-NEXT: v_lshlrev_b16_e32 v15, 8, v40
; VI-NEXT: v_lshlrev_b16_e32 v16, 8, v52
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:780 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:776 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:768 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:812 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:808 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:800 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:736 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:720 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:704 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:836 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:812 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:780 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:688 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:808 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:800 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:672 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:776 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:768 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:676 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:616 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:516 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(14)
; VI-NEXT: v_add_u16_e32 v0, 3, v0
-; VI-NEXT: s_waitcnt vmcnt(13)
; VI-NEXT: v_lshlrev_b16_e32 v1, 8, v1
; VI-NEXT: v_or_b32_sdwa v0, v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:788 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(13)
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:820 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(14)
; VI-NEXT: v_lshlrev_b16_e32 v2, 8, v2
-; VI-NEXT: s_waitcnt vmcnt(12)
+; VI-NEXT: s_waitcnt vmcnt(13)
; VI-NEXT: v_lshlrev_b16_e32 v3, 8, v3
-; VI-NEXT: s_waitcnt vmcnt(11)
+; VI-NEXT: s_waitcnt vmcnt(12)
; VI-NEXT: v_lshlrev_b16_e32 v4, 8, v4
-; VI-NEXT: s_waitcnt vmcnt(10)
+; VI-NEXT: s_waitcnt vmcnt(11)
; VI-NEXT: v_lshlrev_b16_e32 v5, 8, v5
-; VI-NEXT: s_waitcnt vmcnt(9)
+; VI-NEXT: s_waitcnt vmcnt(10)
; VI-NEXT: v_lshlrev_b16_e32 v6, 8, v6
-; VI-NEXT: s_waitcnt vmcnt(8)
+; VI-NEXT: s_waitcnt vmcnt(9)
; VI-NEXT: v_lshlrev_b16_e32 v7, 8, v7
-; VI-NEXT: s_waitcnt vmcnt(7)
+; VI-NEXT: s_waitcnt vmcnt(8)
; VI-NEXT: v_lshlrev_b16_e32 v17, 8, v17
-; VI-NEXT: s_waitcnt vmcnt(6)
+; VI-NEXT: s_waitcnt vmcnt(7)
; VI-NEXT: v_lshlrev_b16_e32 v19, 8, v19
-; VI-NEXT: s_waitcnt vmcnt(5)
+; VI-NEXT: s_waitcnt vmcnt(6)
; VI-NEXT: v_lshlrev_b16_e32 v8, 8, v8
-; VI-NEXT: s_waitcnt vmcnt(4)
+; VI-NEXT: s_waitcnt vmcnt(5)
; VI-NEXT: v_lshlrev_b16_e32 v20, 8, v20
-; VI-NEXT: s_waitcnt vmcnt(3)
+; VI-NEXT: s_waitcnt vmcnt(4)
; VI-NEXT: v_lshlrev_b16_e32 v21, 8, v21
-; VI-NEXT: s_waitcnt vmcnt(2)
+; VI-NEXT: s_waitcnt vmcnt(3)
; VI-NEXT: v_lshlrev_b16_e32 v9, 8, v9
-; VI-NEXT: s_waitcnt vmcnt(1)
+; VI-NEXT: s_waitcnt vmcnt(2)
; VI-NEXT: v_lshlrev_b16_e32 v22, 8, v22
+; VI-NEXT: s_waitcnt vmcnt(1)
+; VI-NEXT: v_lshlrev_b16_e32 v32, 8, v32
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u16_e32 v1, 3, v1
; VI-NEXT: v_or_b32_sdwa v1, v2, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:784 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:816 ; 4-byte Folded Reload
; VI-NEXT: v_add_u16_e32 v1, 0x300, v1
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u16_e32 v2, 3, v2
; VI-NEXT: v_or_b32_sdwa v2, v3, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:772 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:804 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u16_e32 v3, 3, v3
; VI-NEXT: v_or_b32_sdwa v3, v4, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
@@ -169888,36 +169971,36 @@ define <64 x half> @bitcast_v128i8_to_v64f16(<128 x i8> %a, i32 %b) #0 {
; VI-NEXT: v_add_u16_e32 v8, 3, v39
; VI-NEXT: v_lshlrev_b16_e32 v9, 8, v62
; VI-NEXT: v_or_b32_sdwa v8, v9, v8 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; VI-NEXT: v_add_u16_e32 v9, 3, v38
+; VI-NEXT: v_add_u16_e32 v9, 3, v61
; VI-NEXT: v_or_b32_sdwa v9, v10, v9 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; VI-NEXT: v_add_u16_sdwa v8, v8, v18 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
; VI-NEXT: v_add_u16_e32 v9, 0x300, v9
; VI-NEXT: v_or_b32_e32 v8, v9, v8
-; VI-NEXT: v_add_u16_e32 v9, 3, v37
-; VI-NEXT: v_lshlrev_b16_e32 v10, 8, v36
+; VI-NEXT: v_add_u16_e32 v9, 3, v59
+; VI-NEXT: v_lshlrev_b16_e32 v10, 8, v58
; VI-NEXT: v_or_b32_sdwa v9, v10, v9 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; VI-NEXT: v_add_u16_e32 v10, 3, v35
+; VI-NEXT: v_add_u16_e32 v10, 3, v57
; VI-NEXT: v_or_b32_sdwa v10, v11, v10 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; VI-NEXT: v_add_u16_sdwa v9, v9, v18 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
; VI-NEXT: v_add_u16_e32 v10, 0x300, v10
; VI-NEXT: v_or_b32_e32 v9, v10, v9
-; VI-NEXT: v_add_u16_e32 v10, 3, v59
-; VI-NEXT: v_lshlrev_b16_e32 v11, 8, v34
+; VI-NEXT: v_add_u16_e32 v10, 3, v47
+; VI-NEXT: v_lshlrev_b16_e32 v11, 8, v38
; VI-NEXT: v_or_b32_sdwa v10, v11, v10 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; VI-NEXT: v_add_u16_e32 v11, 3, v33
+; VI-NEXT: v_add_u16_e32 v11, 3, v37
; VI-NEXT: v_or_b32_sdwa v11, v12, v11 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; VI-NEXT: v_add_u16_sdwa v10, v10, v18 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
; VI-NEXT: v_add_u16_e32 v11, 0x300, v11
; VI-NEXT: v_or_b32_e32 v10, v11, v10
-; VI-NEXT: v_add_u16_e32 v11, 3, v57
-; VI-NEXT: v_lshlrev_b16_e32 v12, 8, v32
+; VI-NEXT: v_add_u16_e32 v11, 3, v35
+; VI-NEXT: v_lshlrev_b16_e32 v12, 8, v34
; VI-NEXT: v_or_b32_sdwa v11, v12, v11 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; VI-NEXT: v_add_u16_e32 v12, 3, v63
+; VI-NEXT: v_add_u16_e32 v12, 3, v33
; VI-NEXT: v_or_b32_sdwa v12, v13, v12 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; VI-NEXT: v_add_u16_sdwa v11, v11, v18 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
; VI-NEXT: v_add_u16_e32 v12, 0x300, v12
; VI-NEXT: v_or_b32_e32 v11, v12, v11
-; VI-NEXT: v_add_u16_e32 v12, 3, v47
+; VI-NEXT: v_add_u16_e32 v12, 3, v63
; VI-NEXT: v_lshlrev_b16_e32 v13, 8, v46
; VI-NEXT: v_or_b32_sdwa v12, v13, v12 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; VI-NEXT: v_add_u16_e32 v13, 3, v45
@@ -169949,29 +170032,26 @@ define <64 x half> @bitcast_v128i8_to_v64f16(<128 x i8> %a, i32 %b) #0 {
; VI-NEXT: v_add_u16_sdwa v15, v15, v18 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
; VI-NEXT: v_add_u16_e32 v16, 0x300, v16
; VI-NEXT: v_or_b32_e32 v15, v16, v15
-; VI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:828 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:824 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:516 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:796 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:792 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:492 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(3)
-; VI-NEXT: v_add_u16_e32 v16, 3, v16
; VI-NEXT: s_waitcnt vmcnt(2)
+; VI-NEXT: v_add_u16_e32 v16, 3, v16
+; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_lshlrev_b16_e32 v17, 8, v17
; VI-NEXT: v_or_b32_sdwa v16, v17, v16 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; VI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:820 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(2)
-; VI-NEXT: v_lshlrev_b16_e32 v32, 8, v32
+; VI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:788 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_lshlrev_b16_e32 v34, 8, v34
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u16_e32 v17, 3, v17
; VI-NEXT: v_or_b32_sdwa v17, v19, v17 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; VI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:816 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:784 ; 4-byte Folded Reload
; VI-NEXT: v_add_u16_e32 v17, 0x300, v17
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u16_e32 v19, 3, v19
; VI-NEXT: v_or_b32_sdwa v19, v20, v19 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; VI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:804 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:772 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u16_e32 v20, 3, v20
; VI-NEXT: v_or_b32_sdwa v20, v21, v20 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
@@ -169979,7 +170059,7 @@ define <64 x half> @bitcast_v128i8_to_v64f16(<128 x i8> %a, i32 %b) #0 {
; VI-NEXT: v_add_u16_sdwa v16, v19, v18 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
; VI-NEXT: v_add_u16_e32 v19, 0x300, v20
; VI-NEXT: v_or_b32_e32 v16, v19, v16
-; VI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:676 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:672 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:668 ; 4-byte Folded Reload
; VI-NEXT: v_or_b32_e32 v17, v17, v21
; VI-NEXT: v_lshlrev_b16_e32 v21, 8, v48
@@ -170268,16 +170348,16 @@ define <64 x half> @bitcast_v128i8_to_v64f16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:528 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:532 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:536 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:540 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:544 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:556 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:564 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:572 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:576 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:548 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:552 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:560 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:568 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:548 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:552 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:588 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:596 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:604 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:608 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:580 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:584 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:592 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:600 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:388
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_ushort v1, off, s[0:3], s32 offset:8
@@ -170299,14 +170379,14 @@ define <64 x half> @bitcast_v128i8_to_v64f16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: buffer_load_ushort v17, off, s[0:3], s32 offset:304
; GFX9-NEXT: buffer_load_ushort v18, off, s[0:3], s32 offset:320
; GFX9-NEXT: buffer_load_ushort v19, off, s[0:3], s32 offset:108
-; GFX9-NEXT: buffer_load_ushort v46, off, s[0:3], s32 offset:160
-; GFX9-NEXT: buffer_load_ushort v63, off, s[0:3], s32 offset:156
-; GFX9-NEXT: buffer_load_ushort v57, off, s[0:3], s32 offset:152
-; GFX9-NEXT: buffer_load_ushort v58, off, s[0:3], s32 offset:148
-; GFX9-NEXT: buffer_load_ushort v42, off, s[0:3], s32 offset:144
-; GFX9-NEXT: buffer_load_ushort v43, off, s[0:3], s32 offset:140
-; GFX9-NEXT: buffer_load_ushort v56, off, s[0:3], s32 offset:136
-; GFX9-NEXT: buffer_load_ushort v32, off, s[0:3], s32 offset:132
+; GFX9-NEXT: buffer_load_ushort v63, off, s[0:3], s32 offset:160
+; GFX9-NEXT: buffer_load_ushort v42, off, s[0:3], s32 offset:156
+; GFX9-NEXT: buffer_load_ushort v34, off, s[0:3], s32 offset:152
+; GFX9-NEXT: buffer_load_ushort v44, off, s[0:3], s32 offset:148
+; GFX9-NEXT: buffer_load_ushort v40, off, s[0:3], s32 offset:144
+; GFX9-NEXT: buffer_load_ushort v32, off, s[0:3], s32 offset:140
+; GFX9-NEXT: buffer_load_ushort v41, off, s[0:3], s32 offset:136
+; GFX9-NEXT: buffer_load_ushort v33, off, s[0:3], s32 offset:132
; GFX9-NEXT: s_waitcnt vmcnt(27)
; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v0
; GFX9-NEXT: s_waitcnt vmcnt(26)
@@ -170318,27 +170398,27 @@ define <64 x half> @bitcast_v128i8_to_v64f16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: s_waitcnt vmcnt(23)
; GFX9-NEXT: v_lshlrev_b16_e32 v39, 8, v4
; GFX9-NEXT: s_waitcnt vmcnt(22)
-; GFX9-NEXT: v_lshlrev_b16_e32 v38, 8, v5
+; GFX9-NEXT: v_lshlrev_b16_e32 v62, 8, v5
; GFX9-NEXT: s_waitcnt vmcnt(21)
-; GFX9-NEXT: v_lshlrev_b16_e32 v34, 8, v6
+; GFX9-NEXT: v_lshlrev_b16_e32 v57, 8, v6
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:292
; GFX9-NEXT: s_waitcnt vmcnt(9)
-; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:664 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:704 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v19, off, s[0:3], s32 offset:100
; GFX9-NEXT: s_waitcnt vmcnt(2)
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:600 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:568 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:300
; GFX9-NEXT: s_waitcnt vmcnt(2)
-; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:668 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:708 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v19, off, s[0:3], s32 offset:92
; GFX9-NEXT: s_waitcnt vmcnt(2)
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:596 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:564 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:316
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:604 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:572 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:312
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:608 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:576 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshlrev_b16_e32 v0, 8, v7
; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:836 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshlrev_b16_e32 v0, 8, v8
@@ -170370,16 +170450,16 @@ define <64 x half> @bitcast_v128i8_to_v64f16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: buffer_load_ushort v3, off, s[0:3], s32 offset:324
; GFX9-NEXT: s_waitcnt vmcnt(3)
; GFX9-NEXT: v_lshlrev_b16_e32 v0, 8, v0
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:684 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:676 ; 4-byte Folded Spill
; GFX9-NEXT: s_waitcnt vmcnt(3)
; GFX9-NEXT: v_lshlrev_b16_e32 v0, 8, v1
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:624 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v3, off, s[0:3], s32 offset:332
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:672 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:664 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshlrev_b16_e32 v0, 8, v2
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:680 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:672 ; 4-byte Folded Spill
; GFX9-NEXT: s_waitcnt vmcnt(2)
; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:632 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v3, off, s[0:3], s32 offset:348
@@ -170402,48 +170482,49 @@ define <64 x half> @bitcast_v128i8_to_v64f16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: s_waitcnt vmcnt(3)
; GFX9-NEXT: v_lshlrev_b16_e32 v0, 8, v2
; GFX9-NEXT: s_waitcnt vmcnt(2)
-; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:700 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:688 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v3, off, s[0:3], s32 offset:364
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:756 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:116
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:720 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:712 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v19, off, s[0:3], s32 offset:260
; GFX9-NEXT: s_waitcnt vmcnt(4)
-; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:692 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:680 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v3, off, s[0:3], s32 offset:380
; GFX9-NEXT: s_waitcnt vmcnt(4)
; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:824 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:276
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:688 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:720 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:308
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:696 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:684 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:340
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:712 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_ushort v36, off, s[0:3], s32 offset:88
-; GFX9-NEXT: buffer_load_ushort v37, off, s[0:3], s32 offset:84
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:700 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v60, off, s[0:3], s32 offset:88
+; GFX9-NEXT: buffer_load_ushort v61, off, s[0:3], s32 offset:84
; GFX9-NEXT: buffer_load_ushort v48, off, s[0:3], s32 offset:76
; GFX9-NEXT: buffer_load_ushort v50, off, s[0:3], s32 offset:68
; GFX9-NEXT: buffer_load_ushort v52, off, s[0:3], s32 offset:60
; GFX9-NEXT: buffer_load_ushort v54, off, s[0:3], s32 offset:56
; GFX9-NEXT: buffer_load_ushort v55, off, s[0:3], s32 offset:52
-; GFX9-NEXT: buffer_load_ushort v40, off, s[0:3], s32 offset:44
-; GFX9-NEXT: buffer_load_ushort v41, off, s[0:3], s32 offset:36
-; GFX9-NEXT: buffer_load_ushort v44, off, s[0:3], s32 offset:28
+; GFX9-NEXT: buffer_load_ushort v43, off, s[0:3], s32 offset:44
+; GFX9-NEXT: buffer_load_ushort v35, off, s[0:3], s32 offset:36
+; GFX9-NEXT: buffer_load_ushort v36, off, s[0:3], s32 offset:28
; GFX9-NEXT: buffer_load_ushort v45, off, s[0:3], s32 offset:24
-; GFX9-NEXT: buffer_load_ushort v47, off, s[0:3], s32 offset:20
-; GFX9-NEXT: buffer_load_ushort v59, off, s[0:3], s32 offset:12
-; GFX9-NEXT: buffer_load_ushort v60, off, s[0:3], s32 offset:4
-; GFX9-NEXT: buffer_load_ushort v62, off, s[0:3], s32 offset:124
-; GFX9-NEXT: buffer_load_ushort v35, off, s[0:3], s32 offset:120
+; GFX9-NEXT: buffer_load_ushort v46, off, s[0:3], s32 offset:20
+; GFX9-NEXT: buffer_load_ushort v37, off, s[0:3], s32 offset:12
+; GFX9-NEXT: buffer_load_ushort v38, off, s[0:3], s32 offset:4
+; GFX9-NEXT: buffer_load_ushort v58, off, s[0:3], s32 offset:124
+; GFX9-NEXT: buffer_load_ushort v59, off, s[0:3], s32 offset:120
+; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:372
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:744 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_ushort v33, off, s[0:3], s32
+; GFX9-NEXT: buffer_load_ushort v47, off, s[0:3], s32
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:256
; GFX9-NEXT: s_waitcnt vmcnt(0)
@@ -170487,7 +170568,7 @@ define <64 x half> @bitcast_v128i8_to_v64f16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:204
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:740 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_ushort v61, off, s[0:3], s32 offset:200
+; GFX9-NEXT: buffer_load_ushort v56, off, s[0:3], s32 offset:200
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:196
; GFX9-NEXT: s_waitcnt vmcnt(0)
@@ -170506,85 +170587,84 @@ define <64 x half> @bitcast_v128i8_to_v64f16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:748 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:176
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:676 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:668 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:172
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:704 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:692 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v3, off, s[0:3], s32 offset:376
; GFX9-NEXT: s_waitcnt vmcnt(2)
; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:652 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:168
; GFX9-NEXT: s_waitcnt vmcnt(2)
-; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:708 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:696 ; 4-byte Folded Spill
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:656 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:164
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:584 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:544 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v19, off, s[0:3], s32 offset:268
; GFX9-NEXT: s_waitcnt vmcnt(2)
; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:660 ; 4-byte Folded Spill
; GFX9-NEXT: ; implicit-def: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15
; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:580 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:540 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v19, off, s[0:3], s32 offset:284
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:588 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:556 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v19, off, s[0:3], s32 offset:280
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:592 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:560 ; 4-byte Folded Spill
; GFX9-NEXT: ; implicit-def: $vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31
; GFX9-NEXT: s_and_saveexec_b64 s[4:5], vcc
; GFX9-NEXT: s_xor_b64 s[4:5], exec, s[4:5]
; GFX9-NEXT: s_cbranch_execz .LBB92_2
; GFX9-NEXT: ; %bb.1: ; %cmp.false
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:560 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:568 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:592 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:600 ; 4-byte Folded Reload
; GFX9-NEXT: s_mov_b32 s6, 0xc0c0004
; GFX9-NEXT: s_mov_b32 s7, 0x5040100
-; GFX9-NEXT: v_or_b32_sdwa v9, v59, v51 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
-; GFX9-NEXT: v_perm_b32 v10, v47, v45, s6
-; GFX9-NEXT: v_or_b32_sdwa v11, v40, v38 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+; GFX9-NEXT: v_or_b32_sdwa v9, v37, v51 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+; GFX9-NEXT: v_perm_b32 v10, v46, v45, s6
+; GFX9-NEXT: v_or_b32_sdwa v11, v43, v62 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
; GFX9-NEXT: v_perm_b32 v12, v55, v54, s6
-; GFX9-NEXT: v_perm_b32 v17, v43, v42, s6
-; GFX9-NEXT: v_perm_b32 v18, v58, v57, s6
-; GFX9-NEXT: v_perm_b32 v19, v63, v46, s6
-; GFX9-NEXT: ; implicit-def: $vgpr59
-; GFX9-NEXT: ; implicit-def: $vgpr47
+; GFX9-NEXT: v_perm_b32 v17, v32, v40, s6
+; GFX9-NEXT: v_perm_b32 v18, v44, v34, s6
+; GFX9-NEXT: v_perm_b32 v19, v42, v63, s6
+; GFX9-NEXT: ; implicit-def: $vgpr37
+; GFX9-NEXT: ; implicit-def: $vgpr46
; GFX9-NEXT: ; implicit-def: $vgpr45
-; GFX9-NEXT: ; implicit-def: $vgpr40
+; GFX9-NEXT: ; implicit-def: $vgpr43
; GFX9-NEXT: ; implicit-def: $vgpr55
; GFX9-NEXT: ; implicit-def: $vgpr54
-; GFX9-NEXT: ; implicit-def: $vgpr43
+; GFX9-NEXT: ; implicit-def: $vgpr40
+; GFX9-NEXT: ; implicit-def: $vgpr44
+; GFX9-NEXT: ; implicit-def: $vgpr34
; GFX9-NEXT: ; implicit-def: $vgpr42
-; GFX9-NEXT: ; implicit-def: $vgpr58
-; GFX9-NEXT: ; implicit-def: $vgpr57
; GFX9-NEXT: ; implicit-def: $vgpr63
-; GFX9-NEXT: ; implicit-def: $vgpr46
; GFX9-NEXT: ; implicit-def: $vgpr51
-; GFX9-NEXT: ; implicit-def: $vgpr38
+; GFX9-NEXT: ; implicit-def: $vgpr62
; GFX9-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:832 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_perm_b32 v0, v1, v0, s6
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:548 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:552 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:580 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:584 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(2)
; GFX9-NEXT: v_or_b32_sdwa v13, v48, v13 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
; GFX9-NEXT: ; implicit-def: $vgpr48
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v2, v1, s6
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:572 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:576 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:604 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:608 ; 4-byte Folded Reload
; GFX9-NEXT: v_perm_b32 v0, v1, v0, s7
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v2, v3, v2, s6
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:556 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:564 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:588 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:596 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v3, v4, v3, s6
; GFX9-NEXT: v_perm_b32 v1, v3, v2, s7
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:540 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:544 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:548 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:552 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v2, v3, v2, s6
; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:532 ; 4-byte Folded Reload
@@ -170634,124 +170714,123 @@ define <64 x half> @bitcast_v128i8_to_v64f16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: v_perm_b32 v7, v8, v7, s6
; GFX9-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:456 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v8, v8, v33, s6
+; GFX9-NEXT: v_perm_b32 v8, v8, v47, s6
; GFX9-NEXT: v_perm_b32 v7, v8, v7, s7
-; GFX9-NEXT: v_or_b32_sdwa v8, v60, v53 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+; GFX9-NEXT: v_or_b32_sdwa v8, v38, v53 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
; GFX9-NEXT: v_perm_b32 v8, v9, v8, s7
-; GFX9-NEXT: v_or_b32_sdwa v9, v44, v49 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+; GFX9-NEXT: v_or_b32_sdwa v9, v36, v49 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
; GFX9-NEXT: v_perm_b32 v9, v9, v10, s7
-; GFX9-NEXT: v_or_b32_sdwa v10, v41, v39 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+; GFX9-NEXT: v_or_b32_sdwa v10, v35, v39 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
; GFX9-NEXT: v_perm_b32 v10, v11, v10, s7
-; GFX9-NEXT: v_or_b32_sdwa v11, v52, v34 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+; GFX9-NEXT: v_or_b32_sdwa v11, v52, v57 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
; GFX9-NEXT: v_perm_b32 v11, v11, v12, s7
; GFX9-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:836 ; 4-byte Folded Reload
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr60
-; GFX9-NEXT: ; implicit-def: $vgpr44
-; GFX9-NEXT: ; implicit-def: $vgpr41
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr47
+; GFX9-NEXT: ; implicit-def: $vgpr38
+; GFX9-NEXT: ; implicit-def: $vgpr36
+; GFX9-NEXT: ; implicit-def: $vgpr35
; GFX9-NEXT: ; implicit-def: $vgpr52
-; GFX9-NEXT: ; kill: killed $vgpr34
+; GFX9-NEXT: ; kill: killed $vgpr39
; GFX9-NEXT: ; implicit-def: $vgpr53
; GFX9-NEXT: ; implicit-def: $vgpr49
; GFX9-NEXT: ; implicit-def: $vgpr39
-; GFX9-NEXT: ; implicit-def: $vgpr34
+; GFX9-NEXT: ; implicit-def: $vgpr57
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v12, v50, v12 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
; GFX9-NEXT: v_perm_b32 v12, v13, v12, s7
-; GFX9-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:720 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:712 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:828 ; 4-byte Folded Reload
; GFX9-NEXT: ; implicit-def: $vgpr50
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v13, v13, v14 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
-; GFX9-NEXT: v_perm_b32 v14, v37, v36, s6
+; GFX9-NEXT: v_perm_b32 v14, v61, v60, s6
; GFX9-NEXT: v_perm_b32 v13, v13, v14, s7
-; GFX9-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:668 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:708 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:820 ; 4-byte Folded Reload
-; GFX9-NEXT: ; implicit-def: $vgpr37
-; GFX9-NEXT: ; implicit-def: $vgpr36
+; GFX9-NEXT: ; implicit-def: $vgpr61
+; GFX9-NEXT: ; implicit-def: $vgpr60
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v14, v14, v15 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:664 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:704 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:816 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v15, v15, v16 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
@@ -170759,22 +170838,22 @@ define <64 x half> @bitcast_v128i8_to_v64f16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:812 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:824 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_or_b32_sdwa v15, v62, v15 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+; GFX9-NEXT: v_or_b32_sdwa v15, v58, v15 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v16, v16, v35, s6
+; GFX9-NEXT: v_perm_b32 v16, v16, v59, s6
; GFX9-NEXT: v_perm_b32 v15, v15, v16, s7
-; GFX9-NEXT: v_perm_b32 v16, v32, v56, s6
+; GFX9-NEXT: v_perm_b32 v16, v33, v41, s6
; GFX9-NEXT: v_perm_b32 v16, v17, v16, s7
; GFX9-NEXT: v_perm_b32 v17, v19, v18, s7
; GFX9-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:656 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:660 ; 4-byte Folded Reload
-; GFX9-NEXT: ; implicit-def: $vgpr35
-; GFX9-NEXT: ; implicit-def: $vgpr62
-; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr59
+; GFX9-NEXT: ; implicit-def: $vgpr58
+; GFX9-NEXT: ; implicit-def: $vgpr41
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v18, v19, v18, s6
; GFX9-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:652 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:676 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:668 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v19, v19, v20, s6
; GFX9-NEXT: v_perm_b32 v18, v19, v18, s7
@@ -170791,55 +170870,55 @@ define <64 x half> @bitcast_v128i8_to_v64f16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:732 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:740 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(2)
-; GFX9-NEXT: v_perm_b32 v20, v20, v61, s6
+; GFX9-NEXT: v_perm_b32 v20, v20, v56, s6
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v21, v22, v21, s6
; GFX9-NEXT: v_perm_b32 v20, v21, v20, s7
; GFX9-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:776 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:784 ; 4-byte Folded Reload
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v21, v22, v21, s6
; GFX9-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:752 ; 4-byte Folded Reload
@@ -170865,74 +170944,74 @@ define <64 x half> @bitcast_v128i8_to_v64f16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v24, v25, v24, s6
; GFX9-NEXT: v_perm_b32 v23, v24, v23, s7
-; GFX9-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:584 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:544 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:620 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v24, v24, v25 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:580 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:540 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:612 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v25, v25, v26 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
; GFX9-NEXT: v_perm_b32 v24, v25, v24, s7
-; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:588 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:556 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:616 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v25, v25, v26 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:592 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:688 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:560 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:720 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v26, v27, v26, s6
; GFX9-NEXT: v_perm_b32 v25, v25, v26, s7
-; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:600 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:568 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:648 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v26, v26, v27 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:596 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:564 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:628 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v27, v27, v28 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
; GFX9-NEXT: v_perm_b32 v26, v27, v26, s7
-; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:604 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:572 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:644 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v27, v27, v28 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:608 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:696 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:576 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:684 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v28, v29, v28, s6
; GFX9-NEXT: v_perm_b32 v27, v27, v28, s7
; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:624 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:684 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:676 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v28, v28, v29 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
; GFX9-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:632 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:672 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:664 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v29, v29, v30 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
; GFX9-NEXT: v_perm_b32 v28, v29, v28, s7
; GFX9-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:636 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:680 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:672 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v29, v29, v30 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
; GFX9-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:640 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:712 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:700 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v30, v31, v30, s6
; GFX9-NEXT: v_perm_b32 v29, v29, v30, s7
-; GFX9-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:700 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:688 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:760 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v30, v30, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:692 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:680 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:716 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v31, v31, v32 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
; GFX9-NEXT: v_perm_b32 v30, v31, v30, s7
-; GFX9-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:704 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:692 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:756 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v31, v31, v32 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:708 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:696 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:744 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v32, v33, v32, s6
@@ -171004,29 +171083,23 @@ define <64 x half> @bitcast_v128i8_to_v64f16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: ; implicit-def: $vgpr32
; GFX9-NEXT: ; kill: killed $vgpr32
; GFX9-NEXT: ; implicit-def: $vgpr32
-; GFX9-NEXT: ; implicit-def: $vgpr33
; GFX9-NEXT: ; kill: killed $vgpr32
; GFX9-NEXT: ; implicit-def: $vgpr32
+; GFX9-NEXT: ; kill: killed $vgpr32
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: ; implicit-def: $vgpr32
; GFX9-NEXT: .LBB92_2: ; %Flow
; GFX9-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]
; GFX9-NEXT: s_cbranch_execz .LBB92_4
; GFX9-NEXT: ; %bb.3: ; %cmp.true
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:576 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:572 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:556 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:560 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:608 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:604 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:588 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:592 ; 4-byte Folded Reload
; GFX9-NEXT: s_mov_b32 s6, 0x5040100
-; GFX9-NEXT: v_lshlrev_b16_e32 v9, 8, v33
-; GFX9-NEXT: v_lshlrev_b16_e32 v10, 8, v45
-; GFX9-NEXT: v_add_u16_e32 v11, 3, v40
-; GFX9-NEXT: v_or_b32_sdwa v11, v38, v11 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: v_add_u16_e32 v11, 0x300, v11
-; GFX9-NEXT: v_lshlrev_b16_e32 v12, 8, v54
-; GFX9-NEXT: v_lshlrev_b16_e32 v18, 8, v46
-; GFX9-NEXT: v_lshlrev_b16_e32 v19, 8, v56
-; GFX9-NEXT: v_lshlrev_b16_e32 v20, 8, v42
; GFX9-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:836 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:548 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:576 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:580 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:832 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:828 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:816 ; 4-byte Folded Reload
@@ -171035,47 +171108,55 @@ define <64 x half> @bitcast_v128i8_to_v64f16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:760 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:716 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:500 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:684 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:680 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:676 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:672 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:484 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:672 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:664 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:644 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:468 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:640 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:608 ; 4-byte Folded Reload
+; GFX9-NEXT: v_lshlrev_b16_e32 v9, 8, v47
+; GFX9-NEXT: v_lshlrev_b16_e32 v10, 8, v45
+; GFX9-NEXT: v_add_u16_e32 v11, 3, v43
+; GFX9-NEXT: v_or_b32_sdwa v11, v62, v11 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
+; GFX9-NEXT: v_add_u16_e32 v11, 0x300, v11
+; GFX9-NEXT: v_lshlrev_b16_e32 v12, 8, v54
+; GFX9-NEXT: v_lshlrev_b16_e32 v18, 8, v63
+; GFX9-NEXT: v_lshlrev_b16_e32 v19, 8, v41
+; GFX9-NEXT: v_lshlrev_b16_e32 v20, 8, v40
; GFX9-NEXT: s_waitcnt vmcnt(21)
; GFX9-NEXT: v_add_u16_e32 v0, 3, v0
; GFX9-NEXT: s_waitcnt vmcnt(20)
; GFX9-NEXT: v_lshlrev_b16_e32 v1, 8, v1
; GFX9-NEXT: v_or_b32_sdwa v0, v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:564 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:596 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(20)
; GFX9-NEXT: v_lshlrev_b16_e32 v2, 8, v2
; GFX9-NEXT: s_waitcnt vmcnt(19)
; GFX9-NEXT: v_lshlrev_b16_e32 v3, 8, v3
; GFX9-NEXT: s_waitcnt vmcnt(17)
+; GFX9-NEXT: v_lshlrev_b16_e32 v27, 8, v27
+; GFX9-NEXT: s_waitcnt vmcnt(16)
; GFX9-NEXT: v_lshlrev_b16_e32 v4, 8, v4
-; GFX9-NEXT: s_waitcnt vmcnt(12)
+; GFX9-NEXT: s_waitcnt vmcnt(11)
; GFX9-NEXT: v_lshlrev_b16_e32 v5, 8, v5
-; GFX9-NEXT: s_waitcnt vmcnt(9)
+; GFX9-NEXT: s_waitcnt vmcnt(8)
; GFX9-NEXT: v_lshlrev_b16_e32 v6, 8, v6
-; GFX9-NEXT: s_waitcnt vmcnt(6)
+; GFX9-NEXT: s_waitcnt vmcnt(5)
; GFX9-NEXT: v_lshlrev_b16_e32 v7, 8, v7
-; GFX9-NEXT: s_waitcnt vmcnt(3)
-; GFX9-NEXT: v_lshlrev_b16_e32 v8, 8, v8
; GFX9-NEXT: s_waitcnt vmcnt(2)
-; GFX9-NEXT: v_lshlrev_b16_e32 v23, 8, v23
+; GFX9-NEXT: v_lshlrev_b16_e32 v8, 8, v8
; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_lshlrev_b16_e32 v27, 8, v27
+; GFX9-NEXT: v_lshlrev_b16_e32 v23, 8, v23
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u16_e32 v1, 3, v1
; GFX9-NEXT: v_or_b32_sdwa v1, v2, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:568 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:600 ; 4-byte Folded Reload
; GFX9-NEXT: v_add_u16_e32 v1, 0x300, v1
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u16_e32 v2, 3, v2
; GFX9-NEXT: v_or_b32_sdwa v2, v3, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:552 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:584 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u16_e32 v3, 3, v3
; GFX9-NEXT: v_or_b32_sdwa v3, v4, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
@@ -171083,8 +171164,8 @@ define <64 x half> @bitcast_v128i8_to_v64f16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: v_add_u16_e32 v0, 0x300, v2
; GFX9-NEXT: v_add_u16_e32 v2, 0x300, v3
; GFX9-NEXT: v_perm_b32 v0, v2, v0, s6
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:544 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:540 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:552 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:548 ; 4-byte Folded Reload
; GFX9-NEXT: v_perm_b32 v1, v1, v4, s6
; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:532 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(2)
@@ -171171,28 +171252,28 @@ define <64 x half> @bitcast_v128i8_to_v64f16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: v_or_b32_sdwa v8, v9, v8 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; GFX9-NEXT: v_add_u16_e32 v8, 0x300, v8
; GFX9-NEXT: v_perm_b32 v7, v8, v7, s6
-; GFX9-NEXT: v_add_u16_e32 v8, 3, v60
-; GFX9-NEXT: v_add_u16_e32 v9, 3, v59
+; GFX9-NEXT: v_add_u16_e32 v8, 3, v38
+; GFX9-NEXT: v_add_u16_e32 v9, 3, v37
; GFX9-NEXT: v_or_b32_sdwa v8, v53, v8 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; GFX9-NEXT: v_or_b32_sdwa v9, v51, v9 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; GFX9-NEXT: v_add_u16_e32 v8, 0x300, v8
; GFX9-NEXT: v_add_u16_e32 v9, 0x300, v9
; GFX9-NEXT: v_perm_b32 v8, v9, v8, s6
-; GFX9-NEXT: v_add_u16_e32 v9, 3, v47
+; GFX9-NEXT: v_add_u16_e32 v9, 3, v46
; GFX9-NEXT: v_or_b32_sdwa v9, v10, v9 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: v_add_u16_e32 v10, 3, v44
+; GFX9-NEXT: v_add_u16_e32 v10, 3, v36
; GFX9-NEXT: v_or_b32_sdwa v10, v49, v10 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; GFX9-NEXT: v_add_u16_e32 v9, 0x300, v9
; GFX9-NEXT: v_add_u16_e32 v10, 0x300, v10
; GFX9-NEXT: v_perm_b32 v9, v10, v9, s6
-; GFX9-NEXT: v_add_u16_e32 v10, 3, v41
+; GFX9-NEXT: v_add_u16_e32 v10, 3, v35
; GFX9-NEXT: v_or_b32_sdwa v10, v39, v10 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; GFX9-NEXT: v_add_u16_e32 v10, 0x300, v10
; GFX9-NEXT: v_perm_b32 v10, v11, v10, s6
; GFX9-NEXT: v_add_u16_e32 v11, 3, v55
; GFX9-NEXT: v_or_b32_sdwa v11, v12, v11 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; GFX9-NEXT: v_add_u16_e32 v12, 3, v52
-; GFX9-NEXT: v_or_b32_sdwa v12, v34, v12 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
+; GFX9-NEXT: v_or_b32_sdwa v12, v57, v12 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; GFX9-NEXT: v_add_u16_e32 v11, 0x300, v11
; GFX9-NEXT: v_add_u16_e32 v12, 0x300, v12
; GFX9-NEXT: v_perm_b32 v11, v12, v11, s6
@@ -171203,23 +171284,23 @@ define <64 x half> @bitcast_v128i8_to_v64f16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: v_add_u16_e32 v12, 0x300, v12
; GFX9-NEXT: v_add_u16_e32 v13, 0x300, v13
; GFX9-NEXT: v_perm_b32 v12, v13, v12, s6
-; GFX9-NEXT: v_add_u16_e32 v13, 3, v37
-; GFX9-NEXT: v_lshlrev_b16_e32 v14, 8, v36
+; GFX9-NEXT: v_add_u16_e32 v13, 3, v61
+; GFX9-NEXT: v_lshlrev_b16_e32 v14, 8, v60
; GFX9-NEXT: v_or_b32_sdwa v13, v14, v13 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:720 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:712 ; 4-byte Folded Reload
; GFX9-NEXT: v_add_u16_e32 v13, 0x300, v13
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u16_e32 v14, 3, v14
; GFX9-NEXT: v_or_b32_sdwa v14, v15, v14 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; GFX9-NEXT: v_add_u16_e32 v14, 0x300, v14
; GFX9-NEXT: v_perm_b32 v13, v14, v13, s6
-; GFX9-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:668 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:708 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:820 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_add_u16_e32 v14, 3, v14
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v14, v15, v14 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:664 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:704 ; 4-byte Folded Reload
; GFX9-NEXT: v_add_u16_e32 v14, 0x300, v14
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u16_e32 v15, 3, v15
@@ -171227,30 +171308,30 @@ define <64 x half> @bitcast_v128i8_to_v64f16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: v_add_u16_e32 v15, 0x300, v15
; GFX9-NEXT: v_perm_b32 v14, v15, v14, s6
; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:824 ; 4-byte Folded Reload
-; GFX9-NEXT: v_lshlrev_b16_e32 v16, 8, v35
+; GFX9-NEXT: v_lshlrev_b16_e32 v16, 8, v59
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u16_e32 v15, 3, v15
; GFX9-NEXT: v_or_b32_sdwa v15, v16, v15 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: v_add_u16_e32 v16, 3, v62
+; GFX9-NEXT: v_add_u16_e32 v16, 3, v58
; GFX9-NEXT: v_or_b32_sdwa v16, v17, v16 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; GFX9-NEXT: v_add_u16_e32 v15, 0x300, v15
; GFX9-NEXT: v_add_u16_e32 v16, 0x300, v16
; GFX9-NEXT: v_perm_b32 v15, v16, v15, s6
-; GFX9-NEXT: v_add_u16_e32 v16, 3, v58
-; GFX9-NEXT: v_lshlrev_b16_e32 v17, 8, v57
+; GFX9-NEXT: v_add_u16_e32 v16, 3, v44
+; GFX9-NEXT: v_lshlrev_b16_e32 v17, 8, v34
; GFX9-NEXT: v_or_b32_sdwa v16, v17, v16 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: v_add_u16_e32 v17, 3, v63
+; GFX9-NEXT: v_add_u16_e32 v17, 3, v42
; GFX9-NEXT: v_or_b32_sdwa v17, v18, v17 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: v_add_u16_e32 v18, 3, v32
+; GFX9-NEXT: v_add_u16_e32 v18, 3, v33
; GFX9-NEXT: v_or_b32_sdwa v18, v19, v18 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: v_add_u16_e32 v19, 3, v43
+; GFX9-NEXT: v_add_u16_e32 v19, 3, v32
; GFX9-NEXT: v_or_b32_sdwa v19, v20, v19 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; GFX9-NEXT: v_add_u16_e32 v20, 0x300, v16
; GFX9-NEXT: v_add_u16_e32 v16, 0x300, v18
; GFX9-NEXT: v_add_u16_e32 v18, 0x300, v19
; GFX9-NEXT: v_perm_b32 v16, v18, v16, s6
; GFX9-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:744 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:708 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:696 ; 4-byte Folded Reload
; GFX9-NEXT: v_add_u16_e32 v17, 0x300, v17
; GFX9-NEXT: v_perm_b32 v17, v17, v20, s6
; GFX9-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:756 ; 4-byte Folded Reload
@@ -171259,23 +171340,23 @@ define <64 x half> @bitcast_v128i8_to_v64f16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_lshlrev_b16_e32 v19, 8, v19
; GFX9-NEXT: v_or_b32_sdwa v18, v19, v18 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:704 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:692 ; 4-byte Folded Reload
; GFX9-NEXT: v_add_u16_e32 v31, 0x300, v18
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u16_e32 v19, 3, v19
; GFX9-NEXT: v_or_b32_sdwa v19, v20, v19 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:700 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:688 ; 4-byte Folded Reload
; GFX9-NEXT: v_add_u16_e32 v32, 0x300, v19
; GFX9-NEXT: v_perm_b32 v31, v32, v31, s6
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u16_e32 v20, 3, v20
; GFX9-NEXT: v_or_b32_sdwa v20, v21, v20 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:692 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:680 ; 4-byte Folded Reload
; GFX9-NEXT: v_add_u16_e32 v30, 0x300, v20
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u16_e32 v21, 3, v21
; GFX9-NEXT: v_or_b32_sdwa v21, v22, v21 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:712 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:700 ; 4-byte Folded Reload
; GFX9-NEXT: v_add_u16_e32 v33, 0x300, v21
; GFX9-NEXT: v_perm_b32 v30, v33, v30, s6
; GFX9-NEXT: s_waitcnt vmcnt(0)
@@ -171296,49 +171377,49 @@ define <64 x half> @bitcast_v128i8_to_v64f16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u16_e32 v25, 3, v25
; GFX9-NEXT: v_or_b32_sdwa v25, v26, v25 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:696 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:684 ; 4-byte Folded Reload
; GFX9-NEXT: v_add_u16_e32 v35, 0x300, v25
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u16_e32 v26, 3, v26
; GFX9-NEXT: v_or_b32_sdwa v26, v27, v26 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:604 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:572 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u16_e32 v27, 3, v27
; GFX9-NEXT: v_or_b32_sdwa v36, v28, v27 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:600 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:568 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:648 ; 4-byte Folded Reload
; GFX9-NEXT: v_add_u16_e32 v36, 0x300, v36
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_add_u16_e32 v27, 3, v27
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v37, v28, v27 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:596 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:564 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:628 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_add_u16_e32 v27, 3, v27
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v38, v28, v27 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:688 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:592 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:720 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:560 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_add_u16_e32 v27, 3, v27
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_lshlrev_b16_e32 v28, 8, v28
; GFX9-NEXT: v_or_b32_sdwa v39, v28, v27 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:588 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:556 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:616 ; 4-byte Folded Reload
; GFX9-NEXT: v_add_u16_e32 v25, 0x300, v39
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_add_u16_e32 v27, 3, v27
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v48, v28, v27 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:584 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:544 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:620 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_add_u16_e32 v27, 3, v27
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v49, v28, v27 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:580 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:540 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:612 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_add_u16_e32 v27, 3, v27
@@ -171391,7 +171472,7 @@ define <64 x half> @bitcast_v128i8_to_v64f16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: v_lshlrev_b16_e32 v28, 8, v28
; GFX9-NEXT: v_or_b32_sdwa v40, v28, v27 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:768 ; 4-byte Folded Reload
-; GFX9-NEXT: v_lshlrev_b16_e32 v28, 8, v61
+; GFX9-NEXT: v_lshlrev_b16_e32 v28, 8, v56
; GFX9-NEXT: v_add_u16_e32 v50, 0x300, v40
; GFX9-NEXT: v_perm_b32 v21, v50, v21, s6
; GFX9-NEXT: s_waitcnt vmcnt(0)
@@ -171430,7 +171511,7 @@ define <64 x half> @bitcast_v128i8_to_v64f16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: v_lshlrev_b16_e32 v28, 8, v28
; GFX9-NEXT: v_or_b32_sdwa v45, v28, v27 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:652 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:676 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:668 ; 4-byte Folded Reload
; GFX9-NEXT: v_add_u16_e32 v18, 0x300, v45
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_add_u16_e32 v27, 3, v27
@@ -171480,766 +171561,763 @@ define <64 x half> @bitcast_v128i8_to_v64f16(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-LABEL: bitcast_v128i8_to_v64f16:
; GFX11-TRUE16: ; %bb.0:
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX11-TRUE16-NEXT: s_clause 0x18 ; 100-byte Folded Spill
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v40, s32 offset:488
-; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v41, s32 offset:484
+; GFX11-TRUE16-NEXT: s_clause 0x17 ; 96-byte Folded Spill
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v40, s32 offset:484
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v42, s32 offset:480
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v41, s32 offset:480
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v43, s32 offset:476
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v42, s32 offset:476
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v44, s32 offset:472
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v43, s32 offset:472
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v45, s32 offset:468
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v44, s32 offset:468
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v46, s32 offset:464
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v45, s32 offset:464
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v47, s32 offset:460
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v46, s32 offset:460
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v56, s32 offset:456
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v47, s32 offset:456
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v57, s32 offset:452
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v56, s32 offset:452
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v58, s32 offset:448
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v57, s32 offset:448
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v59, s32 offset:444
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v58, s32 offset:444
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v60, s32 offset:440
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v59, s32 offset:440
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v61, s32 offset:436
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v60, s32 offset:436
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v62, s32 offset:432
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v61, s32 offset:432
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v63, s32 offset:428
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v62, s32 offset:428
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v72, s32 offset:424
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v63, s32 offset:424
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v73, s32 offset:420
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v72, s32 offset:420
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v74, s32 offset:416
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v73, s32 offset:416
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v75, s32 offset:412
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v74, s32 offset:412
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v76, s32 offset:408
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v75, s32 offset:408
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v77, s32 offset:404
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v76, s32 offset:404
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v78, s32 offset:400
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v77, s32 offset:400
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v79, s32 offset:396
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v78, s32 offset:396
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v88, s32 offset:392
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v79, s32 offset:392
; GFX11-TRUE16-NEXT: s_clause 0x1f
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v31, off, s32 offset:384
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v48, off, s32 offset:380
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v75, off, s32 offset:376
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v78, off, s32 offset:372
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v33, off, s32 offset:380
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v82, off, s32 offset:376
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v87, off, s32 offset:372
; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v31, off, s32 offset:368
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v36, off, s32 offset:364
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v70, off, s32 offset:360
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v39, off, s32 offset:356
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v69, off, s32 offset:352
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v39, off, s32 offset:348
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v46, off, s32 offset:344
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v74, off, s32 offset:340
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v70, off, s32 offset:336
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v35, off, s32 offset:332
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v69, off, s32 offset:328
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v38, off, s32 offset:324
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v68, off, s32 offset:320
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v32, off, s32 offset:364
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v54, off, s32 offset:360
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v32, off, s32 offset:356
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v53, off, s32 offset:352
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v35, off, s32 offset:348
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v80, off, s32 offset:344
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v84, off, s32 offset:340
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v64, off, s32 offset:336
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v33, off, s32 offset:332
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v64, off, s32 offset:328
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v36, off, s32 offset:324
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v55, off, s32 offset:320
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v35, off, s32 offset:316
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v61, off, s32 offset:312
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v72, off, s32 offset:308
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v67, off, s32 offset:304
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v33, off, s32 offset:300
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v68, off, s32 offset:296
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v36, off, s32 offset:292
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v67, off, s32 offset:288
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v34, off, s32 offset:284
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v183, off, s32 offset:280
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v59, off, s32 offset:276
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v66, off, s32 offset:272
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v32, off, s32 offset:268
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v66, off, s32 offset:264
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v33, off, s32 offset:260
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v85, off, s32 offset:312
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v98, off, s32 offset:308
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v53, off, s32 offset:304
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v34, off, s32 offset:300
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v54, off, s32 offset:296
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v37, off, s32 offset:292
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v55, off, s32 offset:288
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v36, off, s32 offset:284
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v83, off, s32 offset:280
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v96, off, s32 offset:276
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v52, off, s32 offset:272
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v34, off, s32 offset:268
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v52, off, s32 offset:264
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v37, off, s32 offset:260
; GFX11-TRUE16-NEXT: s_clause 0x1f
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v176, off, s32 offset:256
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v44, off, s32 offset:252
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v151, off, s32 offset:248
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v180, off, s32 offset:244
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v150, off, s32 offset:240
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v179, off, s32 offset:236
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v167, off, s32 offset:232
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v43, off, s32 offset:228
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v131, off, s32 offset:224
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v163, off, s32 offset:220
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v134, off, s32 offset:216
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v161, off, s32 offset:212
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v129, off, s32 offset:208
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v149, off, s32 offset:204
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v118, off, s32 offset:200
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v145, off, s32 offset:196
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v116, off, s32 offset:192
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v144, off, s32 offset:188
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v115, off, s32 offset:184
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v148, off, s32 offset:180
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v112, off, s32 offset:176
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v119, off, s32 offset:172
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v86, off, s32 offset:168
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v103, off, s32 offset:164
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v84, off, s32 offset:160
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v102, off, s32 offset:156
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v85, off, s32 offset:152
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v99, off, s32 offset:148
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v81, off, s32 offset:144
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v98, off, s32 offset:140
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v82, off, s32 offset:136
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v96, off, s32 offset:132
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v99, off, s32 offset:256
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v103, off, s32 offset:252
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v81, off, s32 offset:248
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v86, off, s32 offset:244
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v100, off, s32 offset:240
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v116, off, s32 offset:236
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v114, off, s32 offset:232
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v117, off, s32 offset:228
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v112, off, s32 offset:224
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v119, off, s32 offset:220
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v97, off, s32 offset:216
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v101, off, s32 offset:212
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v118, off, s32 offset:208
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v130, off, s32 offset:204
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v102, off, s32 offset:200
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v113, off, s32 offset:196
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v132, off, s32 offset:192
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v135, off, s32 offset:188
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v131, off, s32 offset:184
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v147, off, s32 offset:180
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v145, off, s32 offset:176
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v149, off, s32 offset:172
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v115, off, s32 offset:168
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v128, off, s32 offset:164
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v144, off, s32 offset:160
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v151, off, s32 offset:156
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v129, off, s32 offset:152
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v133, off, s32 offset:148
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v150, off, s32 offset:144
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v161, off, s32 offset:140
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v134, off, s32 offset:136
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v148, off, s32 offset:132
; GFX11-TRUE16-NEXT: s_clause 0x1f
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v65, off, s32 offset:128
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v32, off, s32 offset:124
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v80, off, s32 offset:120
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v83, off, s32 offset:116
-; GFX11-TRUE16-NEXT: scratch_load_b32 v88, off, s32 offset:388
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v52, off, s32 offset:8
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v52, off, s32 offset:16
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v53, off, s32 offset:32
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v53, off, s32 offset:40
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v54, off, s32 offset:48
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v55, off, s32 offset:64
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v55, off, s32 offset:72
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v64, off, s32 offset:80
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v64, off, s32 offset:96
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v71, off, s32 offset:104
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v71, off, s32 offset:112
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v50, off, s32 offset:108
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v51, off, s32 offset:100
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v51, off, s32 offset:92
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v76, off, s32 offset:88
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v79, off, s32 offset:84
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v49, off, s32 offset:76
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v50, off, s32 offset:68
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v48, off, s32 offset:60
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v73, off, s32 offset:56
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v77, off, s32 offset:52
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v38, off, s32 offset:44
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v49, off, s32 offset:36
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v37, off, s32 offset:28
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v56, off, s32 offset:24
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v63, off, s32 offset:20
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v34, off, s32 offset:12
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v65, off, s32 offset:128
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v38, off, s32 offset:124
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v146, off, s32 offset:120
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v160, off, s32 offset:116
+; GFX11-TRUE16-NEXT: scratch_load_b32 v68, off, s32 offset:388
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v65, off, s32 offset:8
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v66, off, s32 offset:16
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v67, off, s32 offset:32
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v67, off, s32 offset:40
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v69, off, s32 offset:48
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v69, off, s32 offset:64
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v70, off, s32 offset:72
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v71, off, s32 offset:80
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v71, off, s32 offset:96
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v80, off, s32 offset:104
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v81, off, s32 offset:112
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v38, off, s32 offset:108
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v39, off, s32 offset:100
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v50, off, s32 offset:92
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v163, off, s32 offset:88
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v176, off, s32 offset:84
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v39, off, s32 offset:76
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v51, off, s32 offset:68
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v49, off, s32 offset:60
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v164, off, s32 offset:56
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v178, off, s32 offset:52
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v48, off, s32 offset:44
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v51, off, s32 offset:36
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v49, off, s32 offset:28
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v162, off, s32 offset:24
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v167, off, s32 offset:20
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v48, off, s32 offset:12
; GFX11-TRUE16-NEXT: s_clause 0x1
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v37, off, s32 offset:4
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v41, off, s32
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v60.l, v30.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v42.l, v29.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v58.l, v28.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v182.l, v27.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v57.l, v26.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v47.l, v25.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v62.l, v24.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v178.l, v23.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v45.l, v22.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v166.l, v21.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v40.l, v20.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v162.l, v19.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v181.l, v18.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v133.l, v17.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v164.l, v16.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v135.l, v15.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v165.l, v14.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v132.l, v13.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v177.l, v12.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v114.l, v11.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v146.l, v10.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v128.l, v9.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v147.l, v8.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v97.l, v7.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v130.l, v6.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v101.l, v5.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v160.l, v4.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v100.l, v3.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v117.l, v2.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v87.l, v1.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v113.l, v0.l
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v50, off, s32 offset:4
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v166, off, s32
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v182.l, v30.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v165.l, v29.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v177.l, v28.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v181.l, v27.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v43.l, v26.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v41.l, v25.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v44.l, v24.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v42.l, v23.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v47.l, v22.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v180.l, v21.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v183.l, v20.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v46.l, v19.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v61.l, v18.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v179.l, v17.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v40.l, v16.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v57.l, v15.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v63.l, v14.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v56.l, v13.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v75.l, v12.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v60.l, v11.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v74.l, v10.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v45.l, v9.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v59.l, v8.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v62.l, v7.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v76.l, v6.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v72.l, v5.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v78.l, v4.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v77.l, v3.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v79.l, v2.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v58.l, v1.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v73.l, v0.l
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(62)
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v69.l, 8, v69.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v70.l, 8, v70.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v69.h, 8, v69.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v68.h, 8, v68.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v67.l, 8, v67.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v68.l, 8, v68.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v67.h, 8, v67.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v66.h, 8, v66.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v66.l, 8, v66.l
-; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(33)
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v65.h, 8, v65.h
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v53.h, 8, v53.h
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v64.h, 8, v64.h
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v64.l, 8, v64.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v55.h, 8, v55.h
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v53.l, 8, v53.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v54.l, 8, v54.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v55.l, 8, v55.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v52.h, 8, v52.h
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v52.l, 8, v52.l
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(29)
-; GFX11-TRUE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v88
+; GFX11-TRUE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v68
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(27)
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v52.l, 8, v52.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v52.h, 8, v52.h
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v66.l, 8, v65.h
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v66.h, 8, v66.h
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(25)
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v53.l, 8, v53.l
-; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(24)
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v54.l, 8, v53.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v53.h, 8, v54.h
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v68.l, 8, v67.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v68.h, 8, v67.h
+; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(23)
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v67.l, 8, v69.l
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(22)
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v55.l, 8, v55.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v55.h, 8, v55.h
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v70.h, 8, v69.h
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v70.l, 8, v70.l
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(20)
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v54.h, 8, v64.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v65.l, 8, v64.h
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v67.h, 8, v71.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v71.l, 8, v71.h
+; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(19)
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v69.l, 8, v80.h
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(18)
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v64.l, 8, v71.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v64.h, 8, v71.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v71.l, 8, v70.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v70.h, 8, v31.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v71.h, 8, v31.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v69.h, 8, v81.h
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v71.h, 8, v65.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v65.l, 8, v54.h
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v54.h, 8, v31.h
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v65.h, 8, v31.l
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31
; GFX11-TRUE16-NEXT: s_and_saveexec_b32 s0, vcc_lo
; GFX11-TRUE16-NEXT: s_delay_alu instid0(SALU_CYCLE_1)
; GFX11-TRUE16-NEXT: s_xor_b32 s0, exec_lo, s0
; GFX11-TRUE16-NEXT: s_cbranch_execz .LBB92_2
; GFX11-TRUE16-NEXT: ; %bb.1: ; %cmp.false
-; GFX11-TRUE16-NEXT: v_perm_b32 v3, v130, v97, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v5, v165, v135, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v7, v45, v178, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v3, v76, v62, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v5, v63, v57, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v7, v47, v42, 0xc0c0004
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0)
-; GFX11-TRUE16-NEXT: v_perm_b32 v10, v60, v41, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_and_b16 v9.l, 0xff, v37.h
-; GFX11-TRUE16-NEXT: v_perm_b32 v1, v160, v101, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_and_b16 v11.h, 0xff, v48.h
+; GFX11-TRUE16-NEXT: v_perm_b32 v10, v182, v166, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_and_b16 v9.l, 0xff, v49.l
+; GFX11-TRUE16-NEXT: v_perm_b32 v1, v78, v72, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_and_b16 v11.h, 0xff, v49.h
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v1.h, v3.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v3, v177, v132, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_and_b16 v13.h, 0xff, v51.l
+; GFX11-TRUE16-NEXT: v_perm_b32 v3, v75, v56, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_and_b16 v13.h, 0xff, v50.h
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v3.h, v5.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v5, v40, v166, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_and_b16 v14.h, 0xff, v32.l
+; GFX11-TRUE16-NEXT: v_perm_b32 v5, v183, v180, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_and_b16 v14.h, 0xff, v38.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v5.h, v7.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v7, v58, v42, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v7, v177, v165, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v7.h, v10.l
-; GFX11-TRUE16-NEXT: v_or_b16 v10.l, v9.l, v53.l
-; GFX11-TRUE16-NEXT: v_and_b16 v10.h, 0xff, v49.h
-; GFX11-TRUE16-NEXT: v_and_b16 v11.l, 0xff, v38.l
-; GFX11-TRUE16-NEXT: v_or_b16 v12.l, v11.h, v55.l
-; GFX11-TRUE16-NEXT: v_and_b16 v12.h, 0xff, v50.h
-; GFX11-TRUE16-NEXT: v_and_b16 v13.l, 0xff, v49.l
-; GFX11-TRUE16-NEXT: v_or_b16 v14.l, v13.h, v65.l
-; GFX11-TRUE16-NEXT: v_and_b16 v15.l, 0xff, v51.h
-; GFX11-TRUE16-NEXT: v_and_b16 v15.h, 0xff, v50.l
-; GFX11-TRUE16-NEXT: v_or_b16 v16.l, v14.h, v65.h
-; GFX11-TRUE16-NEXT: v_perm_b32 v9, v63, v56, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v17, v98, v81, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_or_b16 v10.l, v9.l, v68.l
+; GFX11-TRUE16-NEXT: v_and_b16 v10.h, 0xff, v51.h
+; GFX11-TRUE16-NEXT: v_and_b16 v11.l, 0xff, v48.l
+; GFX11-TRUE16-NEXT: v_or_b16 v12.l, v11.h, v70.h
+; GFX11-TRUE16-NEXT: v_and_b16 v12.h, 0xff, v51.l
+; GFX11-TRUE16-NEXT: v_and_b16 v13.l, 0xff, v39.h
+; GFX11-TRUE16-NEXT: v_or_b16 v14.l, v13.h, v71.l
+; GFX11-TRUE16-NEXT: v_and_b16 v15.l, 0xff, v39.l
+; GFX11-TRUE16-NEXT: v_and_b16 v15.h, 0xff, v38.h
+; GFX11-TRUE16-NEXT: v_or_b16 v16.l, v14.h, v71.h
+; GFX11-TRUE16-NEXT: v_perm_b32 v9, v167, v162, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v17, v161, v150, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v9.h, v10.l
-; GFX11-TRUE16-NEXT: v_or_b16 v10.l, v10.h, v54.l
-; GFX11-TRUE16-NEXT: v_or_b16 v10.h, v11.l, v53.h
-; GFX11-TRUE16-NEXT: v_perm_b32 v11, v77, v73, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v18, v102, v84, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_or_b16 v10.l, v10.h, v68.h
+; GFX11-TRUE16-NEXT: v_or_b16 v10.h, v11.l, v67.l
+; GFX11-TRUE16-NEXT: v_perm_b32 v11, v178, v164, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v18, v151, v144, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v11.h, v12.l
-; GFX11-TRUE16-NEXT: v_or_b16 v12.l, v12.h, v55.h
-; GFX11-TRUE16-NEXT: v_or_b16 v12.h, v13.l, v54.h
-; GFX11-TRUE16-NEXT: v_perm_b32 v13, v79, v76, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v19, v119, v112, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_or_b16 v12.l, v12.h, v70.l
+; GFX11-TRUE16-NEXT: v_or_b16 v12.h, v13.l, v67.h
+; GFX11-TRUE16-NEXT: v_perm_b32 v13, v176, v163, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v19, v149, v145, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v13.h, v14.l
-; GFX11-TRUE16-NEXT: v_or_b16 v14.l, v15.l, v64.l
-; GFX11-TRUE16-NEXT: v_or_b16 v14.h, v15.h, v64.h
-; GFX11-TRUE16-NEXT: v_perm_b32 v15, v83, v80, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v20, v144, v116, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_or_b16 v14.l, v15.l, v69.l
+; GFX11-TRUE16-NEXT: v_or_b16 v14.h, v15.h, v69.h
+; GFX11-TRUE16-NEXT: v_perm_b32 v15, v160, v146, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v20, v135, v132, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v15.h, v16.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v16, v96, v82, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v21, v149, v129, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v16, v148, v134, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v21, v130, v118, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v16.h, v17.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v17, v99, v85, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v22, v163, v131, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v17, v133, v129, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v22, v119, v112, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v17.h, v18.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v18, v103, v86, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v23, v179, v150, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v2, v117, v100, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v18, v128, v115, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v23, v116, v100, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v2, v79, v77, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v18.h, v19.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v19, v148, v115, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v26, v44, v176, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_and_b16 v25.l, 0xff, v34.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v4, v146, v114, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v19, v147, v131, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v26, v103, v99, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_and_b16 v25.l, 0xff, v36.h
+; GFX11-TRUE16-NEXT: v_perm_b32 v4, v74, v60, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v19.h, v20.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v20, v145, v118, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v20, v113, v102, 0xc0c0004
; GFX11-TRUE16-NEXT: v_and_b16 v27.h, 0xff, v35.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v6, v181, v162, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v6, v61, v46, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v20.h, v21.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v21, v161, v134, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_and_b16 v29.h, 0xff, v39.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v8, v57, v182, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v21, v101, v97, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_and_b16 v29.h, 0xff, v35.h
+; GFX11-TRUE16-NEXT: v_perm_b32 v8, v43, v181, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v21.h, v22.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v22, v43, v167, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_and_b16 v30.l, 0xff, v48.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, v113, v87, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v22, v117, v114, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_and_b16 v30.l, 0xff, v33.h
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, v73, v58, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v22.h, v23.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v23, v180, v151, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v23, v86, v81, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v0.h, v2.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v2, v147, v128, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v2, v59, v45, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v23.h, v26.l
-; GFX11-TRUE16-NEXT: v_or_b16 v26.l, v25.l, v67.h
-; GFX11-TRUE16-NEXT: v_and_b16 v26.h, 0xff, v36.h
-; GFX11-TRUE16-NEXT: v_and_b16 v27.l, 0xff, v33.l
+; GFX11-TRUE16-NEXT: v_or_b16 v26.l, v25.l, v55.l
+; GFX11-TRUE16-NEXT: v_and_b16 v26.h, 0xff, v37.h
+; GFX11-TRUE16-NEXT: v_and_b16 v27.l, 0xff, v34.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v2.h, v4.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v4, v164, v133, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_or_b16 v28.l, v27.h, v68.h
-; GFX11-TRUE16-NEXT: v_and_b16 v28.h, 0xff, v38.h
-; GFX11-TRUE16-NEXT: v_and_b16 v29.l, 0xff, v35.h
+; GFX11-TRUE16-NEXT: v_perm_b32 v4, v40, v179, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_or_b16 v28.l, v27.h, v55.h
+; GFX11-TRUE16-NEXT: v_and_b16 v28.h, 0xff, v36.l
+; GFX11-TRUE16-NEXT: v_and_b16 v29.l, 0xff, v33.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v4.h, v6.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v6, v62, v47, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_or_b16 v30.h, v29.h, v69.l
-; GFX11-TRUE16-NEXT: v_and_b16 v31.l, 0xff, v39.h
-; GFX11-TRUE16-NEXT: v_and_b16 v31.h, 0xff, v36.l
+; GFX11-TRUE16-NEXT: v_perm_b32 v6, v44, v41, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_or_b16 v30.h, v29.h, v53.h
+; GFX11-TRUE16-NEXT: v_and_b16 v31.l, 0xff, v32.h
+; GFX11-TRUE16-NEXT: v_and_b16 v31.h, 0xff, v32.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v6.h, v8.l
-; GFX11-TRUE16-NEXT: v_and_b16 v8.l, 0xff, v37.l
-; GFX11-TRUE16-NEXT: v_and_b16 v8.h, 0xff, v34.h
-; GFX11-TRUE16-NEXT: v_and_b16 v24.l, 0xff, v33.h
-; GFX11-TRUE16-NEXT: v_and_b16 v24.h, 0xff, v32.h
-; GFX11-TRUE16-NEXT: v_or_b16 v32.l, v30.l, v71.h
-; GFX11-TRUE16-NEXT: v_perm_b32 v25, v59, v183, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_and_b16 v8.l, 0xff, v50.l
+; GFX11-TRUE16-NEXT: v_and_b16 v8.h, 0xff, v48.h
+; GFX11-TRUE16-NEXT: v_and_b16 v24.l, 0xff, v37.l
+; GFX11-TRUE16-NEXT: v_and_b16 v24.h, 0xff, v34.h
+; GFX11-TRUE16-NEXT: v_or_b16 v32.l, v30.l, v65.h
+; GFX11-TRUE16-NEXT: v_perm_b32 v25, v96, v83, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v25.h, v26.l
-; GFX11-TRUE16-NEXT: v_or_b16 v26.l, v26.h, v68.l
-; GFX11-TRUE16-NEXT: v_or_b16 v26.h, v27.l, v67.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v27, v72, v61, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_or_b16 v26.l, v26.h, v54.l
+; GFX11-TRUE16-NEXT: v_or_b16 v26.h, v27.l, v53.l
+; GFX11-TRUE16-NEXT: v_perm_b32 v27, v98, v85, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v27.h, v28.l
-; GFX11-TRUE16-NEXT: v_or_b16 v28.l, v28.h, v69.h
-; GFX11-TRUE16-NEXT: v_or_b16 v28.h, v29.l, v70.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v29, v74, v46, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_or_b16 v28.l, v28.h, v64.l
+; GFX11-TRUE16-NEXT: v_or_b16 v28.h, v29.l, v64.h
+; GFX11-TRUE16-NEXT: v_perm_b32 v29, v84, v80, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v29.h, v30.h
-; GFX11-TRUE16-NEXT: v_or_b16 v30.l, v31.l, v71.l
-; GFX11-TRUE16-NEXT: v_or_b16 v30.h, v31.h, v70.h
-; GFX11-TRUE16-NEXT: v_perm_b32 v31, v78, v75, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_or_b16 v8.l, v8.l, v52.l
-; GFX11-TRUE16-NEXT: v_or_b16 v8.h, v8.h, v52.h
-; GFX11-TRUE16-NEXT: v_or_b16 v24.l, v24.l, v66.l
-; GFX11-TRUE16-NEXT: v_or_b16 v24.h, v24.h, v66.h
+; GFX11-TRUE16-NEXT: v_or_b16 v30.l, v31.l, v65.l
+; GFX11-TRUE16-NEXT: v_or_b16 v30.h, v31.h, v54.h
+; GFX11-TRUE16-NEXT: v_perm_b32 v31, v87, v82, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_or_b16 v8.l, v8.l, v66.l
+; GFX11-TRUE16-NEXT: v_or_b16 v8.h, v8.h, v66.h
+; GFX11-TRUE16-NEXT: v_or_b16 v24.l, v24.l, v52.l
+; GFX11-TRUE16-NEXT: v_or_b16 v24.h, v24.h, v52.h
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v31.h, v32.l
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr113_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr87_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr117_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr100_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr160_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr101_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr130_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr97_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr147_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr128_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr146_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr114_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr177_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr132_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr165_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr135_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr164_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr133_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr181_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr162_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr40_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr166_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr45_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr178_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr73_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr58_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr79_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr77_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr78_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr72_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr76_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr62_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr47_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr59_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr45_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr74_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr60_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr75_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr56_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr63_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr57_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr182_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr58_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr40_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr179_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr61_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr46_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr183_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr180_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr47_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr42_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr60_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr44_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr41_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr37_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr34_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr63_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr56_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr37_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr49_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr38_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr77_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr73_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr43_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr181_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr177_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr165_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr182_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr166_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr50_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr48_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr50_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr167_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr162_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr49_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr79_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr76_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr51_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr51_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr50_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr83_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr80_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr32_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr96_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr82_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr98_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr81_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr99_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr85_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr102_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr84_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr103_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr86_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr119_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr112_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr48_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr178_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr164_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr49_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr51_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr39_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr176_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr163_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr50_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr39_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr38_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr160_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr146_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr38_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr148_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr115_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr144_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr116_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr145_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr118_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr149_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr129_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr161_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr134_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr163_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr131_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr43_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr167_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr179_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr161_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr150_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr180_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr133_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr129_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr151_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr44_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr176_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr33_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr32_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr59_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr183_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr34_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr144_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr128_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr115_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr149_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr145_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr147_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr131_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr135_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr132_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr113_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr102_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr130_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr118_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr101_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr97_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr119_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr112_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr117_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr114_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr116_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr100_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr86_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr81_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr103_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr99_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr37_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr34_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr96_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr83_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr36_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr33_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr72_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr61_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr37_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr34_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr98_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr85_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr35_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr38_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr35_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr74_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr46_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr39_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr39_hi16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr36_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr78_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr75_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr48_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr52_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr52_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr53_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr54_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr53_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr55_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr55_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr54_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr65_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr64_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr64_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr65_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr33_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr84_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr80_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr35_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr32_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr32_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr87_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr82_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr33_hi16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr66_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr66_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr67_hi16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr68_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr67_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr68_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr69_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr67_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr70_hi16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr70_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr69_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr67_hi16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr71_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr70_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr69_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr69_hi16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr71_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr52_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr52_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr55_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr54_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr53_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr55_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr64_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr64_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr53_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr65_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr54_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr65_hi16
; GFX11-TRUE16-NEXT: .LBB92_2: ; %Flow
; GFX11-TRUE16-NEXT: s_and_not1_saveexec_b32 s0, s0
; GFX11-TRUE16-NEXT: s_cbranch_execz .LBB92_4
; GFX11-TRUE16-NEXT: ; %bb.3: ; %cmp.true
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.l, v78.l, 3
-; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(10)
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.h, v48.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.l, v39.h, 3
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v75.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v36.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.l, v87.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.h, v33.h, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.l, v32.h, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v82.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v32.l, 3
; GFX11-TRUE16-NEXT: v_and_b16 v0.l, 0xff, v0.l
; GFX11-TRUE16-NEXT: v_and_b16 v0.h, 0xff, v0.h
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v1.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v74.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v3.l, v43.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v84.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v3.l, v117.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v1.h, v0.l
-; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v71.h, v0.h
-; GFX11-TRUE16-NEXT: v_or_b16 v1.l, v71.l, v1.l
+; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v65.h, v0.h
+; GFX11-TRUE16-NEXT: v_or_b16 v1.l, v65.l, v1.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.h, 0xff, v2.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v39.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v35.h, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v31.l, 0x300, v0.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v31.h, 0x300, v0.h
; GFX11-TRUE16-NEXT: v_add_nc_u16 v30.l, 0x300, v1.l
-; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v70.h, v1.h
+; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v54.h, v1.h
; GFX11-TRUE16-NEXT: v_and_b16 v0.h, 0xff, v2.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.l, 8, v46.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.l, 8, v80.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.h, 0xff, v2.l
-; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(7)
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v38.h, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v35.h, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v36.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v33.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v30.h, 0x300, v0.l
; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v1.l, v0.h
-; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v69.l, v1.h
+; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v53.h, v1.h
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v2.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.h, 0xff, v2.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v72.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v98.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v29.l, 0x300, v0.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v29.h, 0x300, v0.h
-; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v69.h, v1.l
-; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v70.l, v1.h
+; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v64.l, v1.l
+; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v64.h, v1.h
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v2.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v61.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v85.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v35.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v36.h, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v37.h, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v28.l, 0x300, v0.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v28.h, 0x300, v0.h
; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v1.h, v1.l
; GFX11-TRUE16-NEXT: v_and_b16 v0.h, 0xff, v2.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v2.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v33.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v59.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v34.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v96.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v27.l, 0x300, v0.l
-; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v68.h, v0.h
-; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v68.l, v1.l
+; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v55.h, v0.h
+; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v54.l, v1.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v1.h
; GFX11-TRUE16-NEXT: v_and_b16 v1.h, 0xff, v2.l
-; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(2)
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v34.l, 3
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.h, 8, v183.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v36.h, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.h, 8, v83.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v27.h, 0x300, v0.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v26.l, 0x300, v0.h
-; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v67.l, v1.l
+; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v53.l, v1.l
; GFX11-TRUE16-NEXT: v_and_b16 v0.h, 0xff, v2.l
; GFX11-TRUE16-NEXT: v_or_b16 v1.l, v2.h, v1.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v33.h, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v32.h, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v37.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v34.h, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v26.h, 0x300, v0.l
-; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v67.h, v0.h
+; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v55.l, v0.h
; GFX11-TRUE16-NEXT: v_add_nc_u16 v25.l, 0x300, v1.l
; GFX11-TRUE16-NEXT: v_and_b16 v0.h, 0xff, v1.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v180.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v86.l, 3
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v2.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v25.h, 0x300, v0.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.l, v44.l, 3
-; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v66.l, v0.h
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.l, v103.l, 3
+; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v52.l, v0.h
; GFX11-TRUE16-NEXT: v_and_b16 v1.h, 0xff, v1.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v151.l
-; GFX11-TRUE16-NEXT: v_or_b16 v1.l, v66.h, v1.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v81.l
+; GFX11-TRUE16-NEXT: v_or_b16 v1.l, v52.h, v1.l
; GFX11-TRUE16-NEXT: v_and_b16 v0.l, 0xff, v0.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.h, 8, v176.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.h, 8, v99.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v24.l, 0x300, v0.h
; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v2.l, v1.h
; GFX11-TRUE16-NEXT: v_add_nc_u16 v24.h, 0x300, v1.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v3.l
; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v2.h, v0.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v167.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v179.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v114.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v116.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v23.l, 0x300, v0.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.h, v161.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.h, v101.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v23.h, 0x300, v0.l
; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v1.h, v1.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v2.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v150.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v100.l
; GFX11-TRUE16-NEXT: v_and_b16 v0.h, 0xff, v0.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v134.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v163.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v97.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v119.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v22.l, 0x300, v0.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.l, v145.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.l, v113.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v1.l, v1.h, v1.l
; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v2.l, v0.h
; GFX11-TRUE16-NEXT: v_and_b16 v1.h, 0xff, v2.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v131.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v112.l
; GFX11-TRUE16-NEXT: v_and_b16 v0.l, 0xff, v0.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.h, 8, v118.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v3.l, v149.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.h, 8, v102.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v3.l, v130.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v21.l, 0x300, v0.h
; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v2.l, v1.h
; GFX11-TRUE16-NEXT: v_add_nc_u16 v22.h, 0x300, v1.l
; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v2.h, v0.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v3.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v129.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v148.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v118.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v147.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v21.h, 0x300, v0.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.h, v144.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.h, v135.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v20.l, 0x300, v0.l
; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v1.h, v1.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v2.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v115.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v131.l
; GFX11-TRUE16-NEXT: v_and_b16 v0.h, 0xff, v0.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v116.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v103.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v132.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v128.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v20.h, 0x300, v0.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.l, v119.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.l, v149.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v1.l, v1.h, v1.l
; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v2.l, v0.h
; GFX11-TRUE16-NEXT: v_and_b16 v1.h, 0xff, v2.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v86.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v115.l
; GFX11-TRUE16-NEXT: v_and_b16 v0.l, 0xff, v0.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.h, 8, v112.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v3.l, v99.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.h, 8, v145.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v3.l, v133.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v19.h, 0x300, v0.h
; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v2.l, v1.h
; GFX11-TRUE16-NEXT: v_add_nc_u16 v19.l, 0x300, v1.l
; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v2.h, v0.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v3.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v85.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v102.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v129.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v151.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v18.l, 0x300, v0.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.h, v96.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.h, v148.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v18.h, 0x300, v0.l
; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v1.h, v1.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v2.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v84.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v144.l
; GFX11-TRUE16-NEXT: v_and_b16 v0.h, 0xff, v0.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v82.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v98.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v134.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v161.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v17.l, 0x300, v0.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.l, v83.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.l, v160.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v1.l, v1.h, v1.l
; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v2.l, v0.h
; GFX11-TRUE16-NEXT: v_and_b16 v1.h, 0xff, v2.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v81.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v32.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v150.l
+; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(17)
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v38.l, 3
; GFX11-TRUE16-NEXT: v_and_b16 v0.l, 0xff, v0.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v3.l, 8, v80.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v3.l, 8, v146.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v17.h, 0x300, v1.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v16.l, 0x300, v0.h
; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v2.l, v1.h
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v2.h
; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v3.l, v0.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v51.h, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v50.l, 3
+; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(12)
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v39.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v38.h, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v16.h, 0x300, v0.h
-; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v65.h, v1.l
+; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v71.h, v1.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v15.l, 0x300, v0.l
; GFX11-TRUE16-NEXT: v_and_b16 v0.l, 0xff, v1.h
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v2.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v79.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v176.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v15.h, 0x300, v0.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.h, v51.l, 3
-; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v64.l, v0.l
-; GFX11-TRUE16-NEXT: v_or_b16 v1.l, v64.h, v1.l
+; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(1)
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.h, v50.h, 3
+; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v69.l, v0.l
+; GFX11-TRUE16-NEXT: v_or_b16 v1.l, v69.h, v1.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.h, 0xff, v1.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v76.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v163.l
; GFX11-TRUE16-NEXT: v_and_b16 v0.h, 0xff, v0.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v50.h, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v51.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v14.l, 0x300, v0.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v14.h, 0x300, v1.l
; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v2.l, v1.h
-; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v65.l, v0.h
+; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v71.l, v0.h
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v2.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v49.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v77.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v39.h, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v178.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v13.l, 0x300, v0.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v13.h, 0x300, v0.h
-; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v55.h, v1.l
+; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v70.l, v1.l
; GFX11-TRUE16-NEXT: v_and_b16 v0.h, 0xff, v1.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v48.h, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v49.h, 3
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v2.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v73.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v49.h, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v164.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v51.h, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v12.l, 0x300, v0.l
-; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v54.h, v0.h
+; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v67.h, v0.h
; GFX11-TRUE16-NEXT: v_and_b16 v0.h, 0xff, v1.h
; GFX11-TRUE16-NEXT: v_or_b16 v1.l, v2.l, v1.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.h, 0xff, v2.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v38.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v48.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v12.h, 0x300, v0.l
-; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v55.l, v0.h
+; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v70.h, v0.h
; GFX11-TRUE16-NEXT: v_add_nc_u16 v11.l, 0x300, v1.l
-; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v54.l, v1.h
+; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v68.h, v1.h
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v2.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v63.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v167.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v11.h, 0x300, v0.l
-; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(1)
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.l, v37.h, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.l, v49.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v10.l, 0x300, v0.h
-; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v53.h, v1.l
+; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v67.l, v1.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v1.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v56.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v162.l
; GFX11-TRUE16-NEXT: v_and_b16 v0.l, 0xff, v0.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v37.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v34.h, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v50.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v48.h, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v10.h, 0x300, v0.h
; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v1.h, v1.l
-; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v53.l, v0.l
+; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v68.l, v0.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v2.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.h, 0xff, v2.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v58.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v177.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v9.l, 0x300, v0.h
; GFX11-TRUE16-NEXT: v_add_nc_u16 v9.h, 0x300, v0.l
-; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v52.l, v1.l
-; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v52.h, v1.h
+; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v66.l, v1.l
+; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v66.h, v1.h
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v2.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v42.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v60.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v165.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v182.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v8.l, 0x300, v0.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.l, v62.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.l, v44.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v8.h, 0x300, v0.h
; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v1.h, v1.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v2.l
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0)
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v41.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v166.l
; GFX11-TRUE16-NEXT: v_and_b16 v0.l, 0xff, v0.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v47.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v57.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v41.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v43.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v7.l, 0x300, v0.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.h, v40.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.h, v183.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v1.l, v1.h, v1.l
; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v2.l, v0.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.h, 0xff, v2.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v182.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v181.l
; GFX11-TRUE16-NEXT: v_and_b16 v0.h, 0xff, v0.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.h, 8, v166.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v3.l, v45.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.h, 8, v180.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v3.l, v47.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v6.l, 0x300, v0.l
; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v2.l, v1.h
; GFX11-TRUE16-NEXT: v_add_nc_u16 v7.h, 0x300, v1.l
; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v2.h, v0.h
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v3.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v178.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v164.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v42.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v40.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v6.h, 0x300, v0.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.l, v181.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.l, v61.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v5.l, 0x300, v0.h
; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v1.h, v1.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v2.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v133.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v179.l
; GFX11-TRUE16-NEXT: v_and_b16 v0.l, 0xff, v0.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v162.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v46.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v5.h, 0x300, v0.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.h, v177.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.h, v75.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v1.l, v1.h, v1.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v165.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v63.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v2.l, v0.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v147.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v59.l, 3
; GFX11-TRUE16-NEXT: v_and_b16 v0.h, 0xff, v0.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.h, 8, v132.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.h, 8, v56.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.h, 0xff, v1.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v3.l, 8, v135.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v3.l, 8, v57.l
; GFX11-TRUE16-NEXT: v_and_b16 v2.l, 0xff, v2.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v3.h, 8, v128.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v3.h, 8, v45.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v4.l, 0x300, v1.l
; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v2.h, v0.h
; GFX11-TRUE16-NEXT: v_or_b16 v1.l, v3.l, v1.h
; GFX11-TRUE16-NEXT: v_add_nc_u16 v4.h, 0x300, v0.l
; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v3.h, v2.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v146.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v74.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v3.l, 0x300, v0.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.h, v160.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v113.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.h, v78.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v73.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, 0x300, v0.l
; GFX11-TRUE16-NEXT: v_and_b16 v0.l, 0xff, v1.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v130.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v32.h, v117.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v76.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v32.h, v79.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v3.h, 0x300, v1.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.l, 8, v114.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.l, 8, v60.l
; GFX11-TRUE16-NEXT: v_and_b16 v0.h, 0xff, v0.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v32.l, 8, v101.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v32.l, 8, v72.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.h, 0xff, v1.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v33.l, 8, v97.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v33.l, 8, v62.l
; GFX11-TRUE16-NEXT: v_and_b16 v2.h, 0xff, v2.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v33.h, 8, v87.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v33.h, 8, v58.l
; GFX11-TRUE16-NEXT: v_and_b16 v32.h, 0xff, v32.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v34.l, 8, v100.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v34.l, 8, v77.l
; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v1.l, v0.l
; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v32.l, v0.h
; GFX11-TRUE16-NEXT: v_or_b16 v1.h, v33.l, v1.h
@@ -172252,32 +172330,31 @@ define <64 x half> @bitcast_v128i8_to_v64f16(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.h, 0x300, v32.h
; GFX11-TRUE16-NEXT: .LBB92_4: ; %end
; GFX11-TRUE16-NEXT: s_or_b32 exec_lo, exec_lo, s0
-; GFX11-TRUE16-NEXT: s_clause 0x18 ; 100-byte Folded Reload
-; GFX11-TRUE16-NEXT: scratch_load_b32 v88, off, s32 offset:392
-; GFX11-TRUE16-NEXT: scratch_load_b32 v79, off, s32 offset:396
-; GFX11-TRUE16-NEXT: scratch_load_b32 v78, off, s32 offset:400
-; GFX11-TRUE16-NEXT: scratch_load_b32 v77, off, s32 offset:404
-; GFX11-TRUE16-NEXT: scratch_load_b32 v76, off, s32 offset:408
-; GFX11-TRUE16-NEXT: scratch_load_b32 v75, off, s32 offset:412
-; GFX11-TRUE16-NEXT: scratch_load_b32 v74, off, s32 offset:416
-; GFX11-TRUE16-NEXT: scratch_load_b32 v73, off, s32 offset:420
-; GFX11-TRUE16-NEXT: scratch_load_b32 v72, off, s32 offset:424
-; GFX11-TRUE16-NEXT: scratch_load_b32 v63, off, s32 offset:428
-; GFX11-TRUE16-NEXT: scratch_load_b32 v62, off, s32 offset:432
-; GFX11-TRUE16-NEXT: scratch_load_b32 v61, off, s32 offset:436
-; GFX11-TRUE16-NEXT: scratch_load_b32 v60, off, s32 offset:440
-; GFX11-TRUE16-NEXT: scratch_load_b32 v59, off, s32 offset:444
-; GFX11-TRUE16-NEXT: scratch_load_b32 v58, off, s32 offset:448
-; GFX11-TRUE16-NEXT: scratch_load_b32 v57, off, s32 offset:452
-; GFX11-TRUE16-NEXT: scratch_load_b32 v56, off, s32 offset:456
-; GFX11-TRUE16-NEXT: scratch_load_b32 v47, off, s32 offset:460
-; GFX11-TRUE16-NEXT: scratch_load_b32 v46, off, s32 offset:464
-; GFX11-TRUE16-NEXT: scratch_load_b32 v45, off, s32 offset:468
-; GFX11-TRUE16-NEXT: scratch_load_b32 v44, off, s32 offset:472
-; GFX11-TRUE16-NEXT: scratch_load_b32 v43, off, s32 offset:476
-; GFX11-TRUE16-NEXT: scratch_load_b32 v42, off, s32 offset:480
-; GFX11-TRUE16-NEXT: scratch_load_b32 v41, off, s32 offset:484
-; GFX11-TRUE16-NEXT: scratch_load_b32 v40, off, s32 offset:488
+; GFX11-TRUE16-NEXT: s_clause 0x17 ; 96-byte Folded Reload
+; GFX11-TRUE16-NEXT: scratch_load_b32 v79, off, s32 offset:392
+; GFX11-TRUE16-NEXT: scratch_load_b32 v78, off, s32 offset:396
+; GFX11-TRUE16-NEXT: scratch_load_b32 v77, off, s32 offset:400
+; GFX11-TRUE16-NEXT: scratch_load_b32 v76, off, s32 offset:404
+; GFX11-TRUE16-NEXT: scratch_load_b32 v75, off, s32 offset:408
+; GFX11-TRUE16-NEXT: scratch_load_b32 v74, off, s32 offset:412
+; GFX11-TRUE16-NEXT: scratch_load_b32 v73, off, s32 offset:416
+; GFX11-TRUE16-NEXT: scratch_load_b32 v72, off, s32 offset:420
+; GFX11-TRUE16-NEXT: scratch_load_b32 v63, off, s32 offset:424
+; GFX11-TRUE16-NEXT: scratch_load_b32 v62, off, s32 offset:428
+; GFX11-TRUE16-NEXT: scratch_load_b32 v61, off, s32 offset:432
+; GFX11-TRUE16-NEXT: scratch_load_b32 v60, off, s32 offset:436
+; GFX11-TRUE16-NEXT: scratch_load_b32 v59, off, s32 offset:440
+; GFX11-TRUE16-NEXT: scratch_load_b32 v58, off, s32 offset:444
+; GFX11-TRUE16-NEXT: scratch_load_b32 v57, off, s32 offset:448
+; GFX11-TRUE16-NEXT: scratch_load_b32 v56, off, s32 offset:452
+; GFX11-TRUE16-NEXT: scratch_load_b32 v47, off, s32 offset:456
+; GFX11-TRUE16-NEXT: scratch_load_b32 v46, off, s32 offset:460
+; GFX11-TRUE16-NEXT: scratch_load_b32 v45, off, s32 offset:464
+; GFX11-TRUE16-NEXT: scratch_load_b32 v44, off, s32 offset:468
+; GFX11-TRUE16-NEXT: scratch_load_b32 v43, off, s32 offset:472
+; GFX11-TRUE16-NEXT: scratch_load_b32 v42, off, s32 offset:476
+; GFX11-TRUE16-NEXT: scratch_load_b32 v41, off, s32 offset:480
+; GFX11-TRUE16-NEXT: scratch_load_b32 v40, off, s32 offset:484
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0)
; GFX11-TRUE16-NEXT: s_setpc_b64 s[30:31]
;
@@ -172395,75 +172472,75 @@ define <64 x half> @bitcast_v128i8_to_v64f16(<128 x i8> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: v_mov_b32_e32 v38, v0
; GFX11-FAKE16-NEXT: s_clause 0x1f
; GFX11-FAKE16-NEXT: scratch_load_u16 v0, off, s32 offset:384
-; GFX11-FAKE16-NEXT: scratch_load_u16 v105, off, s32 offset:380
-; GFX11-FAKE16-NEXT: scratch_load_u16 v93, off, s32 offset:376
-; GFX11-FAKE16-NEXT: scratch_load_u16 v104, off, s32 offset:372
+; GFX11-FAKE16-NEXT: scratch_load_u16 v95, off, s32 offset:380
+; GFX11-FAKE16-NEXT: scratch_load_u16 v91, off, s32 offset:376
+; GFX11-FAKE16-NEXT: scratch_load_u16 v94, off, s32 offset:372
; GFX11-FAKE16-NEXT: scratch_load_u16 v1, off, s32 offset:368
-; GFX11-FAKE16-NEXT: scratch_load_u16 v94, off, s32 offset:364
+; GFX11-FAKE16-NEXT: scratch_load_u16 v93, off, s32 offset:364
; GFX11-FAKE16-NEXT: scratch_load_u16 v2, off, s32 offset:360
-; GFX11-FAKE16-NEXT: scratch_load_u16 v106, off, s32 offset:356
+; GFX11-FAKE16-NEXT: scratch_load_u16 v105, off, s32 offset:356
; GFX11-FAKE16-NEXT: scratch_load_u16 v3, off, s32 offset:352
-; GFX11-FAKE16-NEXT: scratch_load_u16 v91, off, s32 offset:348
-; GFX11-FAKE16-NEXT: scratch_load_u16 v77, off, s32 offset:344
-; GFX11-FAKE16-NEXT: scratch_load_u16 v89, off, s32 offset:340
+; GFX11-FAKE16-NEXT: scratch_load_u16 v88, off, s32 offset:348
+; GFX11-FAKE16-NEXT: scratch_load_u16 v75, off, s32 offset:344
+; GFX11-FAKE16-NEXT: scratch_load_u16 v79, off, s32 offset:340
; GFX11-FAKE16-NEXT: scratch_load_u16 v4, off, s32 offset:336
-; GFX11-FAKE16-NEXT: scratch_load_u16 v88, off, s32 offset:332
+; GFX11-FAKE16-NEXT: scratch_load_u16 v78, off, s32 offset:332
; GFX11-FAKE16-NEXT: scratch_load_u16 v5, off, s32 offset:328
-; GFX11-FAKE16-NEXT: scratch_load_u16 v92, off, s32 offset:324
+; GFX11-FAKE16-NEXT: scratch_load_u16 v90, off, s32 offset:324
; GFX11-FAKE16-NEXT: scratch_load_u16 v6, off, s32 offset:320
-; GFX11-FAKE16-NEXT: scratch_load_u16 v78, off, s32 offset:316
-; GFX11-FAKE16-NEXT: scratch_load_u16 v62, off, s32 offset:312
-; GFX11-FAKE16-NEXT: scratch_load_u16 v76, off, s32 offset:308
+; GFX11-FAKE16-NEXT: scratch_load_u16 v76, off, s32 offset:316
+; GFX11-FAKE16-NEXT: scratch_load_u16 v58, off, s32 offset:312
+; GFX11-FAKE16-NEXT: scratch_load_u16 v74, off, s32 offset:308
; GFX11-FAKE16-NEXT: scratch_load_u16 v7, off, s32 offset:304
-; GFX11-FAKE16-NEXT: scratch_load_u16 v73, off, s32 offset:300
+; GFX11-FAKE16-NEXT: scratch_load_u16 v72, off, s32 offset:300
; GFX11-FAKE16-NEXT: scratch_load_u16 v8, off, s32 offset:296
-; GFX11-FAKE16-NEXT: scratch_load_u16 v79, off, s32 offset:292
+; GFX11-FAKE16-NEXT: scratch_load_u16 v77, off, s32 offset:292
; GFX11-FAKE16-NEXT: scratch_load_u16 v9, off, s32 offset:288
-; GFX11-FAKE16-NEXT: scratch_load_u16 v63, off, s32 offset:284
+; GFX11-FAKE16-NEXT: scratch_load_u16 v59, off, s32 offset:284
; GFX11-FAKE16-NEXT: scratch_load_u16 v45, off, s32 offset:280
-; GFX11-FAKE16-NEXT: scratch_load_u16 v61, off, s32 offset:276
+; GFX11-FAKE16-NEXT: scratch_load_u16 v57, off, s32 offset:276
; GFX11-FAKE16-NEXT: scratch_load_u16 v10, off, s32 offset:272
-; GFX11-FAKE16-NEXT: scratch_load_u16 v58, off, s32 offset:268
+; GFX11-FAKE16-NEXT: scratch_load_u16 v47, off, s32 offset:268
; GFX11-FAKE16-NEXT: scratch_load_u16 v11, off, s32 offset:264
-; GFX11-FAKE16-NEXT: scratch_load_u16 v72, off, s32 offset:260
+; GFX11-FAKE16-NEXT: scratch_load_u16 v60, off, s32 offset:260
; GFX11-FAKE16-NEXT: s_clause 0x1f
-; GFX11-FAKE16-NEXT: scratch_load_u16 v41, off, s32 offset:256
+; GFX11-FAKE16-NEXT: scratch_load_u16 v183, off, s32 offset:256
; GFX11-FAKE16-NEXT: scratch_load_u16 v44, off, s32 offset:252
-; GFX11-FAKE16-NEXT: scratch_load_u16 v57, off, s32 offset:248
-; GFX11-FAKE16-NEXT: scratch_load_u16 v60, off, s32 offset:244
-; GFX11-FAKE16-NEXT: scratch_load_u16 v181, off, s32 offset:240
-; GFX11-FAKE16-NEXT: scratch_load_u16 v40, off, s32 offset:236
-; GFX11-FAKE16-NEXT: scratch_load_u16 v42, off, s32 offset:232
-; GFX11-FAKE16-NEXT: scratch_load_u16 v43, off, s32 offset:228
-; GFX11-FAKE16-NEXT: scratch_load_u16 v176, off, s32 offset:224
-; GFX11-FAKE16-NEXT: scratch_load_u16 v179, off, s32 offset:220
-; GFX11-FAKE16-NEXT: scratch_load_u16 v178, off, s32 offset:216
-; GFX11-FAKE16-NEXT: scratch_load_u16 v183, off, s32 offset:212
-; GFX11-FAKE16-NEXT: scratch_load_u16 v161, off, s32 offset:208
-; GFX11-FAKE16-NEXT: scratch_load_u16 v165, off, s32 offset:204
-; GFX11-FAKE16-NEXT: scratch_load_u16 v163, off, s32 offset:200
-; GFX11-FAKE16-NEXT: scratch_load_u16 v177, off, s32 offset:196
-; GFX11-FAKE16-NEXT: scratch_load_u16 v144, off, s32 offset:192
-; GFX11-FAKE16-NEXT: scratch_load_u16 v149, off, s32 offset:188
-; GFX11-FAKE16-NEXT: scratch_load_u16 v160, off, s32 offset:184
-; GFX11-FAKE16-NEXT: scratch_load_u16 v164, off, s32 offset:180
-; GFX11-FAKE16-NEXT: scratch_load_u16 v119, off, s32 offset:176
-; GFX11-FAKE16-NEXT: scratch_load_u16 v133, off, s32 offset:172
-; GFX11-FAKE16-NEXT: scratch_load_u16 v146, off, s32 offset:168
-; GFX11-FAKE16-NEXT: scratch_load_u16 v147, off, s32 offset:164
-; GFX11-FAKE16-NEXT: scratch_load_u16 v102, off, s32 offset:160
-; GFX11-FAKE16-NEXT: scratch_load_u16 v117, off, s32 offset:156
-; GFX11-FAKE16-NEXT: scratch_load_u16 v128, off, s32 offset:152
-; GFX11-FAKE16-NEXT: scratch_load_u16 v131, off, s32 offset:148
-; GFX11-FAKE16-NEXT: scratch_load_u16 v96, off, s32 offset:144
-; GFX11-FAKE16-NEXT: scratch_load_u16 v98, off, s32 offset:140
-; GFX11-FAKE16-NEXT: scratch_load_u16 v97, off, s32 offset:136
-; GFX11-FAKE16-NEXT: scratch_load_u16 v103, off, s32 offset:132
+; GFX11-FAKE16-NEXT: scratch_load_u16 v46, off, s32 offset:248
+; GFX11-FAKE16-NEXT: scratch_load_u16 v56, off, s32 offset:244
+; GFX11-FAKE16-NEXT: scratch_load_u16 v178, off, s32 offset:240
+; GFX11-FAKE16-NEXT: scratch_load_u16 v182, off, s32 offset:236
+; GFX11-FAKE16-NEXT: scratch_load_u16 v40, off, s32 offset:232
+; GFX11-FAKE16-NEXT: scratch_load_u16 v42, off, s32 offset:228
+; GFX11-FAKE16-NEXT: scratch_load_u16 v163, off, s32 offset:224
+; GFX11-FAKE16-NEXT: scratch_load_u16 v176, off, s32 offset:220
+; GFX11-FAKE16-NEXT: scratch_load_u16 v167, off, s32 offset:216
+; GFX11-FAKE16-NEXT: scratch_load_u16 v179, off, s32 offset:212
+; GFX11-FAKE16-NEXT: scratch_load_u16 v147, off, s32 offset:208
+; GFX11-FAKE16-NEXT: scratch_load_u16 v161, off, s32 offset:204
+; GFX11-FAKE16-NEXT: scratch_load_u16 v151, off, s32 offset:200
+; GFX11-FAKE16-NEXT: scratch_load_u16 v165, off, s32 offset:196
+; GFX11-FAKE16-NEXT: scratch_load_u16 v118, off, s32 offset:192
+; GFX11-FAKE16-NEXT: scratch_load_u16 v134, off, s32 offset:188
+; GFX11-FAKE16-NEXT: scratch_load_u16 v145, off, s32 offset:184
+; GFX11-FAKE16-NEXT: scratch_load_u16 v160, off, s32 offset:180
+; GFX11-FAKE16-NEXT: scratch_load_u16 v102, off, s32 offset:176
+; GFX11-FAKE16-NEXT: scratch_load_u16 v116, off, s32 offset:172
+; GFX11-FAKE16-NEXT: scratch_load_u16 v131, off, s32 offset:168
+; GFX11-FAKE16-NEXT: scratch_load_u16 v133, off, s32 offset:164
+; GFX11-FAKE16-NEXT: scratch_load_u16 v99, off, s32 offset:160
+; GFX11-FAKE16-NEXT: scratch_load_u16 v101, off, s32 offset:156
+; GFX11-FAKE16-NEXT: scratch_load_u16 v103, off, s32 offset:152
+; GFX11-FAKE16-NEXT: scratch_load_u16 v115, off, s32 offset:148
+; GFX11-FAKE16-NEXT: scratch_load_u16 v87, off, s32 offset:144
+; GFX11-FAKE16-NEXT: scratch_load_u16 v97, off, s32 offset:140
+; GFX11-FAKE16-NEXT: scratch_load_u16 v96, off, s32 offset:136
+; GFX11-FAKE16-NEXT: scratch_load_u16 v100, off, s32 offset:132
; GFX11-FAKE16-NEXT: s_clause 0x1f
; GFX11-FAKE16-NEXT: scratch_load_u16 v12, off, s32 offset:128
-; GFX11-FAKE16-NEXT: scratch_load_u16 v116, off, s32 offset:124
-; GFX11-FAKE16-NEXT: scratch_load_u16 v100, off, s32 offset:120
-; GFX11-FAKE16-NEXT: scratch_load_u16 v115, off, s32 offset:116
+; GFX11-FAKE16-NEXT: scratch_load_u16 v130, off, s32 offset:124
+; GFX11-FAKE16-NEXT: scratch_load_u16 v113, off, s32 offset:120
+; GFX11-FAKE16-NEXT: scratch_load_u16 v129, off, s32 offset:116
; GFX11-FAKE16-NEXT: scratch_load_b32 v13, off, s32 offset:388
; GFX11-FAKE16-NEXT: scratch_load_u16 v14, off, s32 offset:8
; GFX11-FAKE16-NEXT: scratch_load_u16 v15, off, s32 offset:16
@@ -172476,25 +172553,25 @@ define <64 x half> @bitcast_v128i8_to_v64f16(<128 x i8> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: scratch_load_u16 v22, off, s32 offset:96
; GFX11-FAKE16-NEXT: scratch_load_u16 v23, off, s32 offset:104
; GFX11-FAKE16-NEXT: scratch_load_u16 v24, off, s32 offset:112
-; GFX11-FAKE16-NEXT: scratch_load_u16 v162, off, s32 offset:108
-; GFX11-FAKE16-NEXT: scratch_load_u16 v167, off, s32 offset:100
-; GFX11-FAKE16-NEXT: scratch_load_u16 v150, off, s32 offset:92
-; GFX11-FAKE16-NEXT: scratch_load_u16 v135, off, s32 offset:88
-; GFX11-FAKE16-NEXT: scratch_load_u16 v148, off, s32 offset:84
-; GFX11-FAKE16-NEXT: scratch_load_u16 v145, off, s32 offset:76
-; GFX11-FAKE16-NEXT: scratch_load_u16 v151, off, s32 offset:68
-; GFX11-FAKE16-NEXT: scratch_load_u16 v132, off, s32 offset:60
-; GFX11-FAKE16-NEXT: scratch_load_u16 v114, off, s32 offset:56
-; GFX11-FAKE16-NEXT: scratch_load_u16 v130, off, s32 offset:52
-; GFX11-FAKE16-NEXT: scratch_load_u16 v129, off, s32 offset:44
-; GFX11-FAKE16-NEXT: scratch_load_u16 v134, off, s32 offset:36
-; GFX11-FAKE16-NEXT: scratch_load_u16 v113, off, s32 offset:28
-; GFX11-FAKE16-NEXT: scratch_load_u16 v101, off, s32 offset:24
-; GFX11-FAKE16-NEXT: scratch_load_u16 v112, off, s32 offset:20
-; GFX11-FAKE16-NEXT: scratch_load_u16 v99, off, s32 offset:12
+; GFX11-FAKE16-NEXT: scratch_load_u16 v177, off, s32 offset:108
+; GFX11-FAKE16-NEXT: scratch_load_u16 v181, off, s32 offset:100
+; GFX11-FAKE16-NEXT: scratch_load_u16 v164, off, s32 offset:92
+; GFX11-FAKE16-NEXT: scratch_load_u16 v149, off, s32 offset:88
+; GFX11-FAKE16-NEXT: scratch_load_u16 v162, off, s32 offset:84
+; GFX11-FAKE16-NEXT: scratch_load_u16 v150, off, s32 offset:76
+; GFX11-FAKE16-NEXT: scratch_load_u16 v166, off, s32 offset:68
+; GFX11-FAKE16-NEXT: scratch_load_u16 v146, off, s32 offset:60
+; GFX11-FAKE16-NEXT: scratch_load_u16 v128, off, s32 offset:56
+; GFX11-FAKE16-NEXT: scratch_load_u16 v144, off, s32 offset:52
+; GFX11-FAKE16-NEXT: scratch_load_u16 v135, off, s32 offset:44
+; GFX11-FAKE16-NEXT: scratch_load_u16 v148, off, s32 offset:36
+; GFX11-FAKE16-NEXT: scratch_load_u16 v119, off, s32 offset:28
+; GFX11-FAKE16-NEXT: scratch_load_u16 v114, off, s32 offset:24
+; GFX11-FAKE16-NEXT: scratch_load_u16 v117, off, s32 offset:20
+; GFX11-FAKE16-NEXT: scratch_load_u16 v112, off, s32 offset:12
; GFX11-FAKE16-NEXT: s_clause 0x1
-; GFX11-FAKE16-NEXT: scratch_load_u16 v118, off, s32 offset:4
-; GFX11-FAKE16-NEXT: scratch_load_u16 v87, off, s32
+; GFX11-FAKE16-NEXT: scratch_load_u16 v132, off, s32 offset:4
+; GFX11-FAKE16-NEXT: scratch_load_u16 v98, off, s32
; GFX11-FAKE16-NEXT: v_dual_mov_b32 v83, v30 :: v_dual_mov_b32 v80, v27
; GFX11-FAKE16-NEXT: v_dual_mov_b32 v85, v29 :: v_dual_mov_b32 v86, v28
; GFX11-FAKE16-NEXT: v_dual_mov_b32 v82, v26 :: v_dual_mov_b32 v81, v25
@@ -172516,27 +172593,27 @@ define <64 x half> @bitcast_v128i8_to_v64f16(<128 x i8> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(29)
; GFX11-FAKE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v13
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(28)
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v182, 8, v14
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v43, 8, v14
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(27)
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v166, 8, v15
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v180, 8, v15
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(26)
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v180, 8, v16
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v41, 8, v16
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(25)
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v46, 8, v17
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v61, 8, v17
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(24)
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v47, 8, v18
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v62, 8, v18
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(23)
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v56, 8, v19
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v63, 8, v19
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(22)
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v75, 8, v20
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v92, 8, v20
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(21)
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v59, 8, v21
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v73, 8, v21
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(20)
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v74, 8, v22
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v89, 8, v22
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(19)
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v95, 8, v23
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v106, 8, v23
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(18)
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v90, 8, v24
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v104, 8, v24
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31
; GFX11-FAKE16-NEXT: s_and_saveexec_b32 s0, vcc_lo
@@ -172565,102 +172642,102 @@ define <64 x half> @bitcast_v128i8_to_v64f16(<128 x i8> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: v_perm_b32 v4, v7, v6, 0x5040100
; GFX11-FAKE16-NEXT: v_perm_b32 v6, v11, v10, 0x5040100
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(1)
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v7, 0xff, v118
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v11, 0xff, v113
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v7, 0xff, v132
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v11, 0xff, v119
; GFX11-FAKE16-NEXT: v_perm_b32 v5, v9, v8, 0x5040100
; GFX11-FAKE16-NEXT: v_perm_b32 v8, v86, v85, 0xc0c0004
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0)
-; GFX11-FAKE16-NEXT: v_perm_b32 v9, v83, v87, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v10, 0xff, v99
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v12, v7, v182
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v7, 0xff, v134
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v13, 0xff, v129
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v11, v11, v180
-; GFX11-FAKE16-NEXT: v_perm_b32 v14, v112, v101, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v10, v10, v166
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v15, v7, v46
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v13, v13, v47
+; GFX11-FAKE16-NEXT: v_perm_b32 v9, v83, v98, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v10, 0xff, v112
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v12, v7, v43
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v7, 0xff, v148
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v13, 0xff, v135
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v11, v11, v41
+; GFX11-FAKE16-NEXT: v_perm_b32 v14, v117, v114, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v10, v10, v180
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v15, v7, v61
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v13, v13, v62
; GFX11-FAKE16-NEXT: v_perm_b32 v7, v9, v8, 0x5040100
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v16, 0xff, v132
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v16, 0xff, v146
; GFX11-FAKE16-NEXT: v_perm_b32 v9, v11, v14, 0x5040100
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v11, 0xff, v151
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v11, 0xff, v166
; GFX11-FAKE16-NEXT: v_perm_b32 v8, v10, v12, 0x5040100
; GFX11-FAKE16-NEXT: v_perm_b32 v10, v13, v15, 0x5040100
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v12, v16, v56
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v14, 0xff, v145
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v15, 0xff, v150
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v16, v11, v75
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v11, 0xff, v167
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v17, 0xff, v162
-; GFX11-FAKE16-NEXT: v_perm_b32 v13, v130, v114, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v14, v14, v59
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v15, v15, v74
-; GFX11-FAKE16-NEXT: v_perm_b32 v18, v148, v135, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v19, v11, v95
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v17, v17, v90
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v20, 0xff, v116
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v12, v16, v63
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v14, 0xff, v150
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v15, 0xff, v164
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v16, v11, v92
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v11, 0xff, v181
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v17, 0xff, v177
+; GFX11-FAKE16-NEXT: v_perm_b32 v13, v144, v128, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v14, v14, v73
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v15, v15, v89
+; GFX11-FAKE16-NEXT: v_perm_b32 v18, v162, v149, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v19, v11, v106
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v17, v17, v104
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v20, 0xff, v130
; GFX11-FAKE16-NEXT: v_perm_b32 v11, v12, v13, 0x5040100
; GFX11-FAKE16-NEXT: v_perm_b32 v12, v14, v16, 0x5040100
; GFX11-FAKE16-NEXT: v_perm_b32 v13, v15, v18, 0x5040100
; GFX11-FAKE16-NEXT: v_perm_b32 v14, v17, v19, 0x5040100
; GFX11-FAKE16-NEXT: v_or_b32_e32 v15, v20, v107
-; GFX11-FAKE16-NEXT: v_perm_b32 v16, v115, v100, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v17, v103, v97, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v18, v98, v96, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v19, v131, v128, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v20, v117, v102, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v21, v147, v146, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v22, v133, v119, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v23, v164, v160, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v24, v149, v144, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v16, v129, v113, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v17, v100, v96, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v18, v97, v87, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v19, v115, v103, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v20, v101, v99, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v21, v133, v131, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v22, v116, v102, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v23, v160, v145, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v24, v134, v118, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v15, v15, v16, 0x5040100
; GFX11-FAKE16-NEXT: v_perm_b32 v16, v18, v17, 0x5040100
; GFX11-FAKE16-NEXT: v_perm_b32 v17, v20, v19, 0x5040100
; GFX11-FAKE16-NEXT: v_perm_b32 v18, v22, v21, 0x5040100
; GFX11-FAKE16-NEXT: v_perm_b32 v19, v24, v23, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v20, v177, v163, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v21, v165, v161, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v22, v183, v178, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v23, v179, v176, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v24, v43, v42, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v25, v40, v181, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v26, v60, v57, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v27, v44, v41, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v28, 0xff, v72
+; GFX11-FAKE16-NEXT: v_perm_b32 v20, v165, v151, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v21, v161, v147, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v22, v179, v167, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v23, v176, v163, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v24, v42, v40, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v25, v182, v178, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v26, v56, v46, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v27, v44, v183, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v28, 0xff, v60
; GFX11-FAKE16-NEXT: v_perm_b32 v20, v21, v20, 0x5040100
; GFX11-FAKE16-NEXT: v_perm_b32 v21, v23, v22, 0x5040100
; GFX11-FAKE16-NEXT: v_perm_b32 v22, v25, v24, 0x5040100
; GFX11-FAKE16-NEXT: v_perm_b32 v23, v27, v26, 0x5040100
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v24, 0xff, v58
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v24, 0xff, v47
; GFX11-FAKE16-NEXT: v_or_b32_e32 v26, v28, v109
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v27, 0xff, v79
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v28, 0xff, v73
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v25, 0xff, v63
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v27, 0xff, v77
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v28, 0xff, v72
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v25, 0xff, v59
; GFX11-FAKE16-NEXT: v_or_b32_e32 v24, v24, v108
-; GFX11-FAKE16-NEXT: v_perm_b32 v29, v61, v45, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v29, v57, v45, 0xc0c0004
; GFX11-FAKE16-NEXT: v_or_b32_e32 v27, v27, v111
; GFX11-FAKE16-NEXT: v_or_b32_e32 v28, v28, v120
; GFX11-FAKE16-NEXT: v_or_b32_e32 v25, v25, v110
; GFX11-FAKE16-NEXT: v_perm_b32 v24, v24, v26, 0x5040100
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v30, 0xff, v78
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v31, 0xff, v91
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v30, 0xff, v76
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v31, 0xff, v88
; GFX11-FAKE16-NEXT: v_perm_b32 v26, v28, v27, 0x5040100
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v27, 0xff, v88
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v27, 0xff, v78
; GFX11-FAKE16-NEXT: v_perm_b32 v25, v25, v29, 0x5040100
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v29, 0xff, v92
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v33, 0xff, v94
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v34, 0xff, v105
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v29, 0xff, v90
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v33, 0xff, v93
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v34, 0xff, v95
; GFX11-FAKE16-NEXT: v_or_b32_e32 v32, v27, v122
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v27, 0xff, v106
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v27, 0xff, v105
; GFX11-FAKE16-NEXT: v_or_b32_e32 v28, v30, v121
-; GFX11-FAKE16-NEXT: v_perm_b32 v30, v76, v62, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v30, v74, v58, 0xc0c0004
; GFX11-FAKE16-NEXT: v_or_b32_e32 v29, v29, v124
; GFX11-FAKE16-NEXT: v_or_b32_e32 v31, v31, v123
-; GFX11-FAKE16-NEXT: v_perm_b32 v35, v89, v77, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v35, v79, v75, 0xc0c0004
; GFX11-FAKE16-NEXT: v_or_b32_e32 v36, v27, v125
; GFX11-FAKE16-NEXT: v_or_b32_e32 v33, v33, v126
; GFX11-FAKE16-NEXT: v_or_b32_e32 v34, v34, v127
-; GFX11-FAKE16-NEXT: v_perm_b32 v37, v104, v93, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v37, v94, v91, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v27, v28, v30, 0x5040100
; GFX11-FAKE16-NEXT: v_perm_b32 v28, v32, v29, 0x5040100
; GFX11-FAKE16-NEXT: v_perm_b32 v29, v31, v35, 0x5040100
@@ -172697,90 +172774,90 @@ define <64 x half> @bitcast_v128i8_to_v64f16(<128 x i8> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr86
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr85
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr83
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr87
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr118
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr99
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr98
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr132
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr112
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr101
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr113
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr134
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr129
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr130
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr117
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr114
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr132
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr151
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr145
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr119
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr148
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr135
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr144
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr128
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr146
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr166
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr150
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr167
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr162
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr115
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr149
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr164
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr181
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr177
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr129
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr113
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr130
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr100
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr116
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr103
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr97
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr98
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr96
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr97
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr87
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr115
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr103
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr101
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr99
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr133
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr131
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr128
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr117
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr116
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr102
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr147
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr146
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr133
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr119
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr164
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr160
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr149
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr144
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr177
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr163
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr145
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr134
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr118
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr165
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr151
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr161
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr183
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr178
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr147
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr179
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr167
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr176
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr43
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr163
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr42
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr40
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr181
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr182
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr178
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr56
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr46
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr44
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr183
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr60
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr47
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr57
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr44
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr41
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr45
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr59
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr77
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr72
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr74
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr58
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr61
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr45
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr63
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr79
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr73
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr76
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr62
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr90
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr78
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr92
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr79
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr75
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr88
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr89
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr77
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr105
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr93
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr94
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr91
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr95
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr43
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr180
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr41
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr61
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr62
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr63
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr92
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr73
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr89
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr106
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr94
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr104
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr93
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr105
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr182
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr166
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr180
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr46
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr47
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr56
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr75
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr59
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr74
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr95
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr90
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr107
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr109
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr108
@@ -172798,56 +172875,56 @@ define <64 x half> @bitcast_v128i8_to_v64f16(<128 x i8> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: s_and_not1_saveexec_b32 s0, s0
; GFX11-FAKE16-NEXT: s_cbranch_execz .LBB92_4
; GFX11-FAKE16-NEXT: ; %bb.3: ; %cmp.true
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v0, v104, 3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v1, v105, 3
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v2, 8, v93
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v3, v106, 3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v94, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v0, v94, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v1, v95, 3
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v2, 8, v91
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v3, v105, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v93, 3
; GFX11-FAKE16-NEXT: v_and_b32_e32 v0, 0xff, v0
; GFX11-FAKE16-NEXT: v_and_b32_e32 v1, 0xff, v1
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v5, v92, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v5, v90, 3
; GFX11-FAKE16-NEXT: v_and_b32_e32 v3, 0xff, v3
; GFX11-FAKE16-NEXT: v_and_b32_e32 v4, 0xff, v4
; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v2, v0
; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v127, v1
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v2, v89, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v2, v79, 3
; GFX11-FAKE16-NEXT: v_or_b32_e32 v3, v125, v3
; GFX11-FAKE16-NEXT: v_or_b32_e32 v4, v126, v4
; GFX11-FAKE16-NEXT: v_add_nc_u16 v31, 0x300, v0
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v89, 0x300, v1
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v79, 0x300, v1
; GFX11-FAKE16-NEXT: v_and_b32_e32 v0, 0xff, v2
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v1, 8, v77
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v2, v91, 3
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v1, 8, v75
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v2, v88, 3
; GFX11-FAKE16-NEXT: v_add_nc_u16 v30, 0x300, v3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v77, 0x300, v4
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v3, v88, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v75, 0x300, v4
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v3, v78, 3
; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v1, v0
; GFX11-FAKE16-NEXT: v_and_b32_e32 v1, 0xff, v2
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xff, v5
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v76, 3
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v5, 8, v62
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v74, 3
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v5, 8, v58
; GFX11-FAKE16-NEXT: v_add_nc_u16 v29, 0x300, v0
; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v123, v1
; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v124, v2
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xff, v3
; GFX11-FAKE16-NEXT: v_and_b32_e32 v3, 0xff, v4
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v78, 3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v62, 0x300, v0
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v76, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v58, 0x300, v0
; GFX11-FAKE16-NEXT: v_add_nc_u16 v28, 0x300, v1
; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v122, v2
; GFX11-FAKE16-NEXT: v_or_b32_e32 v2, v5, v3
; GFX11-FAKE16-NEXT: v_and_b32_e32 v1, 0xff, v4
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v3, v79, 3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v73, 3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v73, 0x300, v0
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v3, v77, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v72, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v72, 0x300, v0
; GFX11-FAKE16-NEXT: v_add_nc_u16 v27, 0x300, v2
; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v121, v1
; GFX11-FAKE16-NEXT: v_and_b32_e32 v1, 0xff, v3
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xff, v4
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v3, v61, 3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v5, v72, 3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v61, 0x300, v0
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v0, v63, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v3, v57, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v5, v60, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v57, 0x300, v0
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v0, v59, 3
; GFX11-FAKE16-NEXT: v_or_b32_e32 v2, v120, v2
; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v111, v1
; GFX11-FAKE16-NEXT: v_and_b32_e32 v3, 0xff, v3
@@ -172858,176 +172935,176 @@ define <64 x half> @bitcast_v128i8_to_v64f16(<128 x i8> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: v_add_nc_u16 v26, 0x300, v1
; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v4, v3
; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v110, v0
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v3, v58, 3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v60, 3
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v5, 8, v42
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v3, v47, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v56, 3
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v5, 8, v40
; GFX11-FAKE16-NEXT: v_add_nc_u16 v25, 0x300, v1
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v58, 0x300, v0
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v47, 0x300, v0
; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v109, v2
; GFX11-FAKE16-NEXT: v_and_b32_e32 v1, 0xff, v3
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xff, v4
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v57
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v46
; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v44, 3
; GFX11-FAKE16-NEXT: v_add_nc_u16 v24, 0x300, v0
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v0, v43, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v0, v42, 3
; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v108, v1
; GFX11-FAKE16-NEXT: v_or_b32_e32 v2, v3, v2
; GFX11-FAKE16-NEXT: v_and_b32_e32 v3, 0xff, v4
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v4, 8, v41
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v4, 8, v183
; GFX11-FAKE16-NEXT: v_and_b32_e32 v0, 0xff, v0
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v6, v40, 3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v40, 0x300, v1
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v6, v182, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v182, 0x300, v1
; GFX11-FAKE16-NEXT: v_add_nc_u16 v23, 0x300, v2
; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v4, v3
; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v5, v0
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xff, v6
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v181
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v183, 3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v181, 0x300, v1
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v1, v179, 3
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v178
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v179, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v178, 0x300, v1
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v1, v176, 3
; GFX11-FAKE16-NEXT: v_add_nc_u16 v22, 0x300, v0
; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v3, v2
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xff, v4
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v178
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v167
; GFX11-FAKE16-NEXT: v_and_b32_e32 v1, 0xff, v1
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v4, 8, v176
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v5, v177, 3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v176, 0x300, v0
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v0, v165, 3
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v4, 8, v163
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v5, v165, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v163, 0x300, v0
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v0, v161, 3
; GFX11-FAKE16-NEXT: v_or_b32_e32 v2, v3, v2
; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v4, v1
; GFX11-FAKE16-NEXT: v_and_b32_e32 v3, 0xff, v5
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v4, 8, v163
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v4, 8, v151
; GFX11-FAKE16-NEXT: v_and_b32_e32 v0, 0xff, v0
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v5, 8, v161
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v6, v164, 3
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v5, 8, v147
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v6, v160, 3
; GFX11-FAKE16-NEXT: v_add_nc_u16 v21, 0x300, v2
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v161, 0x300, v1
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v147, 0x300, v1
; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v4, v3
; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v5, v0
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xff, v6
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v160
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v149, 3
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v145
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v134, 3
; GFX11-FAKE16-NEXT: v_add_nc_u16 v20, 0x300, v1
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v1, v147, 3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v147, 0x300, v0
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v1, v133, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v133, 0x300, v0
; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v3, v2
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xff, v4
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v144
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v118
; GFX11-FAKE16-NEXT: v_and_b32_e32 v1, 0xff, v1
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v4, 8, v146
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v5, v133, 3
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v4, 8, v131
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v5, v116, 3
; GFX11-FAKE16-NEXT: v_add_nc_u16 v19, 0x300, v0
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v0, v131, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v0, v115, 3
; GFX11-FAKE16-NEXT: v_or_b32_e32 v2, v3, v2
; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v4, v1
; GFX11-FAKE16-NEXT: v_and_b32_e32 v3, 0xff, v5
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v4, 8, v119
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v4, 8, v102
; GFX11-FAKE16-NEXT: v_and_b32_e32 v0, 0xff, v0
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v5, 8, v128
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v6, v117, 3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v117, 0x300, v2
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v5, 8, v103
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v6, v101, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v101, 0x300, v2
; GFX11-FAKE16-NEXT: v_add_nc_u16 v18, 0x300, v1
; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v4, v3
; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v5, v0
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xff, v6
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v102
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v103, 3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v102, 0x300, v1
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v1, v98, 3
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v99
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v100, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v99, 0x300, v1
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v1, v97, 3
; GFX11-FAKE16-NEXT: v_add_nc_u16 v17, 0x300, v0
; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v3, v2
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xff, v4
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v97
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v96
; GFX11-FAKE16-NEXT: v_and_b32_e32 v1, 0xff, v1
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v4, 8, v96
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v5, v115, 3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v96, 0x300, v0
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v0, v116, 3
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v4, 8, v87
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v5, v129, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v87, 0x300, v0
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v0, v130, 3
; GFX11-FAKE16-NEXT: v_or_b32_e32 v2, v3, v2
; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v4, v1
; GFX11-FAKE16-NEXT: v_and_b32_e32 v3, 0xff, v5
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v4, 8, v100
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v4, 8, v113
; GFX11-FAKE16-NEXT: v_and_b32_e32 v0, 0xff, v0
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(16)
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v5, v167, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v5, v181, 3
; GFX11-FAKE16-NEXT: v_add_nc_u16 v16, 0x300, v2
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v97, 0x300, v1
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v96, 0x300, v1
; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v4, v3
; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v107, v0
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xff, v5
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v3, v162, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v3, v177, 3
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(13)
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v148, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v162, 3
; GFX11-FAKE16-NEXT: v_add_nc_u16 v15, 0x300, v1
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v98, 0x300, v0
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v95, v2
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v97, 0x300, v0
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v106, v2
; GFX11-FAKE16-NEXT: v_and_b32_e32 v1, 0xff, v3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v3, v150, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v3, v164, 3
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xff, v4
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v4, 8, v135
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v4, 8, v149
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(11)
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v5, v151, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v5, v166, 3
; GFX11-FAKE16-NEXT: v_add_nc_u16 v14, 0x300, v0
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v90, v1
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v104, v1
; GFX11-FAKE16-NEXT: v_and_b32_e32 v1, 0xff, v3
; GFX11-FAKE16-NEXT: v_or_b32_e32 v2, v4, v2
; GFX11-FAKE16-NEXT: v_and_b32_e32 v3, 0xff, v5
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v145, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v150, 3
; GFX11-FAKE16-NEXT: v_add_nc_u16 v100, 0x300, v0
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v74, v1
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v89, v1
; GFX11-FAKE16-NEXT: v_add_nc_u16 v13, 0x300, v2
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v75, v3
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v92, v3
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xff, v4
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(8)
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v3, v130, 3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v103, 0x300, v0
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v0, v132, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v3, v144, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v102, 0x300, v0
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v0, v146, 3
; GFX11-FAKE16-NEXT: v_add_nc_u16 v12, 0x300, v1
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v59, v2
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v73, v2
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xff, v3
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v114
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v128
; GFX11-FAKE16-NEXT: v_and_b32_e32 v0, 0xff, v0
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(6)
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v134, 3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v5, v129, 3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v114, 0x300, v1
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v148, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v5, v135, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v103, 0x300, v1
; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v3, v2
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v56, v0
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v63, v0
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xff, v4
; GFX11-FAKE16-NEXT: v_and_b32_e32 v3, 0xff, v5
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(3)
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v112, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v117, 3
; GFX11-FAKE16-NEXT: v_add_nc_u16 v11, 0x300, v1
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v112, 0x300, v0
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v46, v2
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v47, v3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v113, 0x300, v0
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v61, v2
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v62, v3
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xff, v4
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v101
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v113, 3
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v114
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v119, 3
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(1)
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v5, v118, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v5, v132, 3
; GFX11-FAKE16-NEXT: v_add_nc_u16 v10, 0x300, v0
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v101, 0x300, v1
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v114, 0x300, v1
; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v3, v2
; GFX11-FAKE16-NEXT: v_and_b32_e32 v1, 0xff, v4
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xff, v5
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v3, v99, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v3, v112, 3
; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v86, 3
; GFX11-FAKE16-NEXT: v_add_nc_u16 v9, 0x300, v0
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v180, v1
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v182, v2
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v41, v1
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v43, v2
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xff, v3
; GFX11-FAKE16-NEXT: v_and_b32_e32 v3, 0xff, v4
; GFX11-FAKE16-NEXT: v_lshlrev_b16 v4, 8, v85
; GFX11-FAKE16-NEXT: v_add_nc_u16 v5, v83, 3
; GFX11-FAKE16-NEXT: v_add_nc_u16 v83, 0x300, v0
; GFX11-FAKE16-NEXT: v_add_nc_u16 v8, 0x300, v1
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v166, v2
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v180, v2
; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v4, v3
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xff, v5
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0)
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v87
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v98
; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v84, 3
; GFX11-FAKE16-NEXT: v_add_nc_u16 v84, 0x300, v0
; GFX11-FAKE16-NEXT: v_add_nc_u16 v7, 0x300, v1
@@ -173112,28 +173189,28 @@ define <64 x half> @bitcast_v128i8_to_v64f16(<128 x i8> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: v_perm_b32 v7, v80, v7, 0x5040100
; GFX11-FAKE16-NEXT: v_perm_b32 v8, v84, v8, 0x5040100
; GFX11-FAKE16-NEXT: v_perm_b32 v9, v83, v9, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v10, v101, v10, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v11, v112, v11, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v12, v114, v12, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v13, v103, v13, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v10, v114, v10, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v11, v113, v11, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v12, v103, v12, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v13, v102, v13, 0x5040100
; GFX11-FAKE16-NEXT: v_perm_b32 v14, v100, v14, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v15, v98, v15, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v16, v97, v16, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v17, v96, v17, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v18, v102, v18, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v19, v117, v19, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v20, v147, v20, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v21, v161, v21, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v22, v176, v22, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v23, v181, v23, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v24, v40, v24, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v25, v58, v25, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v15, v97, v15, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v16, v96, v16, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v17, v87, v17, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v18, v99, v18, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v19, v101, v19, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v20, v133, v20, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v21, v147, v21, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v22, v163, v22, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v23, v178, v23, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v24, v182, v24, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v25, v47, v25, 0x5040100
; GFX11-FAKE16-NEXT: v_perm_b32 v26, v45, v26, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v27, v61, v27, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v28, v73, v28, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v29, v62, v29, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v30, v77, v30, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v31, v89, v31, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v27, v57, v27, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v28, v72, v28, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v29, v58, v29, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v30, v75, v30, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v31, v79, v31, 0x5040100
; GFX11-FAKE16-NEXT: .LBB92_4: ; %end
; GFX11-FAKE16-NEXT: s_or_b32 exec_lo, exec_lo, s0
; GFX11-FAKE16-NEXT: s_clause 0x1f ; 128-byte Folded Reload
@@ -173264,831 +173341,821 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; SI-NEXT: v_writelane_b32 v56, s27, 2
; SI-NEXT: v_writelane_b32 v56, s26, 3
; SI-NEXT: v_writelane_b32 v56, s25, 4
-; SI-NEXT: v_writelane_b32 v56, s23, 5
-; SI-NEXT: v_writelane_b32 v56, s22, 6
-; SI-NEXT: v_writelane_b32 v56, s21, 7
-; SI-NEXT: v_writelane_b32 v56, s19, 8
-; SI-NEXT: v_writelane_b32 v56, s18, 9
-; SI-NEXT: v_writelane_b32 v56, s17, 10
-; SI-NEXT: v_writelane_b32 v56, s16, 11
-; SI-NEXT: v_writelane_b32 v56, s4, 12
-; SI-NEXT: v_readfirstlane_b32 s4, v29
-; SI-NEXT: v_writelane_b32 v56, s4, 13
-; SI-NEXT: v_readfirstlane_b32 s4, v28
+; SI-NEXT: v_writelane_b32 v56, s24, 5
+; SI-NEXT: v_writelane_b32 v56, s23, 6
+; SI-NEXT: v_writelane_b32 v56, s22, 7
+; SI-NEXT: v_writelane_b32 v56, s21, 8
+; SI-NEXT: v_writelane_b32 v56, s20, 9
+; SI-NEXT: v_writelane_b32 v56, s19, 10
+; SI-NEXT: v_writelane_b32 v56, s18, 11
+; SI-NEXT: v_writelane_b32 v56, s17, 12
+; SI-NEXT: v_writelane_b32 v56, s16, 13
; SI-NEXT: v_writelane_b32 v56, s4, 14
-; SI-NEXT: v_readfirstlane_b32 s4, v27
+; SI-NEXT: v_readfirstlane_b32 s4, v29
; SI-NEXT: v_writelane_b32 v56, s4, 15
-; SI-NEXT: v_readfirstlane_b32 s4, v26
+; SI-NEXT: v_readfirstlane_b32 s4, v28
; SI-NEXT: v_writelane_b32 v56, s4, 16
-; SI-NEXT: v_readfirstlane_b32 s4, v25
+; SI-NEXT: v_readfirstlane_b32 s4, v27
; SI-NEXT: v_writelane_b32 v56, s4, 17
-; SI-NEXT: v_readfirstlane_b32 s4, v24
+; SI-NEXT: v_readfirstlane_b32 s4, v26
; SI-NEXT: v_writelane_b32 v56, s4, 18
-; SI-NEXT: v_readfirstlane_b32 s4, v23
+; SI-NEXT: v_readfirstlane_b32 s4, v25
; SI-NEXT: v_writelane_b32 v56, s4, 19
-; SI-NEXT: v_readfirstlane_b32 s4, v22
+; SI-NEXT: v_readfirstlane_b32 s4, v24
; SI-NEXT: v_writelane_b32 v56, s4, 20
-; SI-NEXT: v_readfirstlane_b32 s4, v21
+; SI-NEXT: v_readfirstlane_b32 s4, v23
; SI-NEXT: v_writelane_b32 v56, s4, 21
-; SI-NEXT: v_readfirstlane_b32 s4, v20
-; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:332
-; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:328
-; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:324
-; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:320
+; SI-NEXT: v_readfirstlane_b32 s4, v22
; SI-NEXT: v_writelane_b32 v56, s4, 22
-; SI-NEXT: v_readfirstlane_b32 s4, v19
-; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:316
+; SI-NEXT: v_readfirstlane_b32 s4, v21
; SI-NEXT: v_writelane_b32 v56, s4, 23
-; SI-NEXT: v_readfirstlane_b32 s4, v18
+; SI-NEXT: v_readfirstlane_b32 s4, v20
; SI-NEXT: v_writelane_b32 v56, s4, 24
-; SI-NEXT: v_readfirstlane_b32 s4, v17
+; SI-NEXT: v_readfirstlane_b32 s4, v19
+; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:332
+; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:328
+; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:324
+; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:320
+; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:316
; SI-NEXT: v_writelane_b32 v56, s4, 25
-; SI-NEXT: v_readfirstlane_b32 s4, v16
+; SI-NEXT: v_readfirstlane_b32 s4, v17
; SI-NEXT: v_writelane_b32 v56, s4, 26
-; SI-NEXT: v_readfirstlane_b32 s4, v15
+; SI-NEXT: v_readfirstlane_b32 s4, v16
; SI-NEXT: v_writelane_b32 v56, s4, 27
-; SI-NEXT: v_readfirstlane_b32 s4, v14
-; SI-NEXT: v_writelane_b32 v56, s4, 28
-; SI-NEXT: v_readfirstlane_b32 s4, v11
-; SI-NEXT: v_writelane_b32 v56, s4, 29
; SI-NEXT: v_readfirstlane_b32 s4, v9
-; SI-NEXT: v_writelane_b32 v56, s4, 30
+; SI-NEXT: v_writelane_b32 v56, s4, 28
; SI-NEXT: v_readfirstlane_b32 s4, v8
-; SI-NEXT: v_writelane_b32 v56, s4, 31
-; SI-NEXT: v_readfirstlane_b32 s4, v7
+; SI-NEXT: v_writelane_b32 v56, s4, 29
; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:288
+; SI-NEXT: v_readfirstlane_b32 s4, v7
; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:284
-; SI-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:264
-; SI-NEXT: v_writelane_b32 v56, s4, 32
-; SI-NEXT: v_readfirstlane_b32 s4, v6
+; SI-NEXT: v_readfirstlane_b32 s87, v6
; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:280
-; SI-NEXT: v_readfirstlane_b32 s98, v5
+; SI-NEXT: v_readfirstlane_b32 s97, v5
; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:276
; SI-NEXT: v_readfirstlane_b32 s99, v4
; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:272
-; SI-NEXT: v_writelane_b32 v56, s4, 33
-; SI-NEXT: v_readfirstlane_b32 s4, v3
+; SI-NEXT: v_readfirstlane_b32 s76, v3
; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:268
-; SI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:312
-; SI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:308
+; SI-NEXT: v_readfirstlane_b32 s21, v18
+; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:312
+; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:308
; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:292
; SI-NEXT: v_readfirstlane_b32 s96, v13
-; SI-NEXT: v_readfirstlane_b32 s97, v12
-; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:304
-; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:300
-; SI-NEXT: v_readfirstlane_b32 s76, v10
-; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:296
-; SI-NEXT: v_writelane_b32 v56, s4, 34
-; SI-NEXT: v_readfirstlane_b32 s77, v2
-; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:260
+; SI-NEXT: v_readfirstlane_b32 s98, v12
+; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:304
+; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:300
+; SI-NEXT: v_readfirstlane_b32 s77, v11
+; SI-NEXT: v_readfirstlane_b32 s22, v10
+; SI-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:296
+; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:264
+; SI-NEXT: v_writelane_b32 v56, s4, 30
+; SI-NEXT: v_readfirstlane_b32 s85, v15
+; SI-NEXT: v_readfirstlane_b32 s86, v14
+; SI-NEXT: v_readfirstlane_b32 s23, v0
+; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:244
+; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:240
; SI-NEXT: ; implicit-def: $vgpr47 : SGPR spill to VGPR lane
; SI-NEXT: s_waitcnt vmcnt(14)
-; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v22
+; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v21
; SI-NEXT: s_and_b64 s[4:5], vcc, exec
-; SI-NEXT: v_readfirstlane_b32 s81, v21
-; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:228
-; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:224
-; SI-NEXT: v_readfirstlane_b32 s4, v1
-; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:256
-; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:252
-; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:248
-; SI-NEXT: v_writelane_b32 v56, s4, 35
-; SI-NEXT: v_readfirstlane_b32 s4, v0
-; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:244
-; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:240
-; SI-NEXT: v_readfirstlane_b32 s82, v23
+; SI-NEXT: v_readfirstlane_b32 s83, v20
+; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:228
+; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:224
+; SI-NEXT: v_readfirstlane_b32 s6, v23
; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:220
; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:216
-; SI-NEXT: v_readfirstlane_b32 s80, v20
-; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:236
-; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:232
-; SI-NEXT: v_readfirstlane_b32 s83, v19
-; SI-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:212
-; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:208
-; SI-NEXT: v_writelane_b32 v56, s4, 36
-; SI-NEXT: s_waitcnt vmcnt(14)
-; SI-NEXT: v_readfirstlane_b32 s21, v8
+; SI-NEXT: v_readfirstlane_b32 s4, v2
+; SI-NEXT: v_writelane_b32 v56, s4, 31
+; SI-NEXT: v_readfirstlane_b32 s4, v1
+; SI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:256
+; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:252
+; SI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:248
+; SI-NEXT: v_writelane_b32 v56, s4, 32
+; SI-NEXT: v_readfirstlane_b32 s4, v19
+; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:236
+; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:232
+; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:260
+; SI-NEXT: v_writelane_b32 v56, s6, 33
+; SI-NEXT: v_readfirstlane_b32 s6, v24
+; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:212
+; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:208
+; SI-NEXT: v_writelane_b32 v56, s6, 34
+; SI-NEXT: v_readfirstlane_b32 s56, v8
; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:156
; SI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:152
-; SI-NEXT: v_readfirstlane_b32 s44, v11
-; SI-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:108
-; SI-NEXT: buffer_load_dword v39, off, s[0:3], s32 offset:104
-; SI-NEXT: v_readfirstlane_b32 s46, v7
+; SI-NEXT: s_waitcnt vmcnt(14)
+; SI-NEXT: v_readfirstlane_b32 s61, v7
; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:148
; SI-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:144
-; SI-NEXT: v_readfirstlane_b32 s72, v6
-; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:140
-; SI-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:136
-; SI-NEXT: v_readfirstlane_b32 s73, v5
-; SI-NEXT: v_readfirstlane_b32 s40, v4
+; SI-NEXT: v_readfirstlane_b32 vcc_lo, v4
; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:124
; SI-NEXT: buffer_load_dword v37, off, s[0:3], s32 offset:120
-; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:132
-; SI-NEXT: buffer_load_dword v36, off, s[0:3], s32 offset:128
-; SI-NEXT: v_readfirstlane_b32 s69, v3
+; SI-NEXT: v_readfirstlane_b32 s31, v3
; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:116
; SI-NEXT: buffer_load_dword v38, off, s[0:3], s32 offset:112
-; SI-NEXT: v_readfirstlane_b32 s47, v15
-; SI-NEXT: v_readfirstlane_b32 s55, v9
-; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:164
-; SI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:160
-; SI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:204
+; SI-NEXT: v_readfirstlane_b32 s6, v18
+; SI-NEXT: v_writelane_b32 v56, s6, 35
+; SI-NEXT: v_readfirstlane_b32 s6, v17
+; SI-NEXT: v_writelane_b32 v56, s6, 36
+; SI-NEXT: v_readfirstlane_b32 s94, v6
+; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:140
+; SI-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:136
+; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:204
; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:200
-; SI-NEXT: v_readfirstlane_b32 s57, v14
-; SI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:196
+; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:196
; SI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:192
-; SI-NEXT: v_readfirstlane_b32 s16, v12
-; SI-NEXT: v_readfirstlane_b32 s54, v10
-; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:172
-; SI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:168
-; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:188
-; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:184
-; SI-NEXT: s_waitcnt vmcnt(14)
-; SI-NEXT: v_readfirstlane_b32 s45, v2
-; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:100
-; SI-NEXT: buffer_load_dword v48, off, s[0:3], s32 offset:96
; SI-NEXT: v_readfirstlane_b32 s18, v13
-; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:180
+; SI-NEXT: v_readfirstlane_b32 s6, v11
+; SI-NEXT: v_readfirstlane_b32 s47, v10
+; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:108
+; SI-NEXT: buffer_load_dword v39, off, s[0:3], s32 offset:104
+; SI-NEXT: v_writelane_b32 v56, s6, 37
+; SI-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:172
+; SI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:168
+; SI-NEXT: v_readfirstlane_b32 s6, v9
+; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:164
+; SI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:160
+; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:188
+; SI-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:184
+; SI-NEXT: v_readfirstlane_b32 vcc_hi, v16
+; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:68
+; SI-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:64
+; SI-NEXT: v_readfirstlane_b32 s59, v12
+; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:180
; SI-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:176
-; SI-NEXT: v_readfirstlane_b32 s60, v24
-; SI-NEXT: v_readfirstlane_b32 vcc_lo, v21
-; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:28
+; SI-NEXT: v_readfirstlane_b32 s66, v0
+; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:60
+; SI-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:56
+; SI-NEXT: v_readfirstlane_b32 s44, v5
+; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:132
+; SI-NEXT: buffer_load_dword v36, off, s[0:3], s32 offset:128
+; SI-NEXT: v_writelane_b32 v56, s6, 38
+; SI-NEXT: s_waitcnt vmcnt(14)
+; SI-NEXT: v_readfirstlane_b32 s62, v22
+; SI-NEXT: v_readfirstlane_b32 s74, v20
+; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:28
; SI-NEXT: s_waitcnt expcnt(3)
; SI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:24
-; SI-NEXT: v_readfirstlane_b32 s84, v17
-; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:76
-; SI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:72
-; SI-NEXT: v_readfirstlane_b32 s90, v18
-; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:68
-; SI-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:64
-; SI-NEXT: v_readfirstlane_b32 s23, v25
+; SI-NEXT: v_readfirstlane_b32 s65, v25
; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:20
; SI-NEXT: s_waitcnt expcnt(2)
; SI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:16
-; SI-NEXT: v_readfirstlane_b32 s65, v23
+; SI-NEXT: v_readfirstlane_b32 s70, v23
; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:12
; SI-NEXT: s_waitcnt expcnt(1)
; SI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:8
-; SI-NEXT: v_readfirstlane_b32 s70, v0
-; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:60
-; SI-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:56
-; SI-NEXT: v_readfirstlane_b32 s37, v22
-; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:52
+; SI-NEXT: v_readfirstlane_b32 s73, v15
+; SI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:76
+; SI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:72
+; SI-NEXT: v_readfirstlane_b32 s71, v21
+; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:52
; SI-NEXT: buffer_load_dword v54, off, s[0:3], s32 offset:48
-; SI-NEXT: v_readfirstlane_b32 s56, v20
-; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:44
+; SI-NEXT: v_readfirstlane_b32 s57, v2
+; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:100
+; SI-NEXT: buffer_load_dword v48, off, s[0:3], s32 offset:96
+; SI-NEXT: v_readfirstlane_b32 s60, v19
+; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:44
; SI-NEXT: buffer_load_dword v55, off, s[0:3], s32 offset:40
-; SI-NEXT: v_readfirstlane_b32 s17, v16
-; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:92
+; SI-NEXT: v_readfirstlane_b32 s72, v14
+; SI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:92
; SI-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:88
-; SI-NEXT: v_readfirstlane_b32 s62, v1
+; SI-NEXT: v_readfirstlane_b32 s75, v1
; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:84
; SI-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:80
-; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:36
+; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:36
; SI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:32
-; SI-NEXT: v_readfirstlane_b32 s94, v29
-; SI-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:4
+; SI-NEXT: v_readfirstlane_b32 s30, v28
+; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:4
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: buffer_load_dword v44, off, s[0:3], s32
-; SI-NEXT: v_readfirstlane_b32 s88, v8
-; SI-NEXT: v_readfirstlane_b32 s13, v11
-; SI-NEXT: v_readfirstlane_b32 s66, v33
-; SI-NEXT: v_readfirstlane_b32 s78, v7
+; SI-NEXT: v_readfirstlane_b32 s53, v4
+; SI-NEXT: v_writelane_b32 v47, s53, 0
+; SI-NEXT: v_readfirstlane_b32 s54, v3
+; SI-NEXT: v_writelane_b32 v47, s83, 1
+; SI-NEXT: v_readfirstlane_b32 s55, v37
+; SI-NEXT: v_writelane_b32 v47, s54, 2
+; SI-NEXT: v_readfirstlane_b32 s12, v38
+; SI-NEXT: v_writelane_b32 v47, s55, 3
+; SI-NEXT: v_writelane_b32 v47, s12, 4
+; SI-NEXT: v_readfirstlane_b32 s78, v8
+; SI-NEXT: v_readfirstlane_b32 s45, v7
+; SI-NEXT: v_readfirstlane_b32 s46, v33
+; SI-NEXT: v_readfirstlane_b32 s13, v10
+; SI-NEXT: v_writelane_b32 v47, s13, 5
; SI-NEXT: v_readfirstlane_b32 s14, v34
-; SI-NEXT: v_readfirstlane_b32 s15, v6
-; SI-NEXT: v_readfirstlane_b32 s93, v39
-; SI-NEXT: v_readfirstlane_b32 s39, v35
-; SI-NEXT: v_readfirstlane_b32 s49, v4
-; SI-NEXT: v_readfirstlane_b32 s51, v37
-; SI-NEXT: v_writelane_b32 v47, s51, 0
-; SI-NEXT: v_writelane_b32 v47, s54, 1
; SI-NEXT: s_waitcnt vmcnt(14)
-; SI-NEXT: v_readfirstlane_b32 s12, v38
-; SI-NEXT: v_writelane_b32 v47, s83, 2
-; SI-NEXT: v_readfirstlane_b32 s52, v9
-; SI-NEXT: v_writelane_b32 v47, s12, 3
-; SI-NEXT: v_writelane_b32 v47, s52, 4
-; SI-NEXT: v_readfirstlane_b32 s67, v32
-; SI-NEXT: v_readfirstlane_b32 s58, v14
-; SI-NEXT: v_readfirstlane_b32 s59, v26
-; SI-NEXT: v_readfirstlane_b32 s61, v27
-; SI-NEXT: v_readfirstlane_b32 s53, v31
-; SI-NEXT: v_writelane_b32 v47, s53, 5
-; SI-NEXT: v_writelane_b32 v47, s55, 6
-; SI-NEXT: v_writelane_b32 v47, s13, 7
-; SI-NEXT: v_writelane_b32 v47, s67, 8
-; SI-NEXT: v_writelane_b32 v47, s88, 9
-; SI-NEXT: v_writelane_b32 v47, s44, 10
-; SI-NEXT: v_writelane_b32 v47, s45, 11
-; SI-NEXT: v_writelane_b32 v47, s46, 12
-; SI-NEXT: v_writelane_b32 v47, s78, 13
-; SI-NEXT: v_writelane_b32 v47, s66, 14
-; SI-NEXT: v_writelane_b32 v47, s47, 15
-; SI-NEXT: v_writelane_b32 v47, s56, 16
-; SI-NEXT: v_writelane_b32 v47, s57, 17
-; SI-NEXT: v_writelane_b32 v47, s14, 18
-; SI-NEXT: v_writelane_b32 v47, s58, 19
-; SI-NEXT: v_writelane_b32 v47, s59, 20
-; SI-NEXT: v_writelane_b32 v47, s17, 21
-; SI-NEXT: v_writelane_b32 v47, s60, 22
-; SI-NEXT: v_writelane_b32 v47, s15, 23
-; SI-NEXT: v_writelane_b32 v47, s61, 24
-; SI-NEXT: v_readfirstlane_b32 s63, v12
-; SI-NEXT: v_writelane_b32 v47, s62, 25
-; SI-NEXT: v_writelane_b32 v47, s63, 26
-; SI-NEXT: v_writelane_b32 v47, s16, 27
-; SI-NEXT: v_readfirstlane_b32 s92, v2
-; SI-NEXT: v_writelane_b32 v47, vcc_lo, 28
-; SI-NEXT: v_writelane_b32 v47, s72, 29
-; SI-NEXT: v_writelane_b32 v47, s73, 30
-; SI-NEXT: v_writelane_b32 v47, s23, 31
-; SI-NEXT: v_readfirstlane_b32 s74, v13
-; SI-NEXT: v_readfirstlane_b32 s95, v48
-; SI-NEXT: v_writelane_b32 v47, s18, 32
-; SI-NEXT: v_readfirstlane_b32 s64, v28
-; SI-NEXT: v_writelane_b32 v47, s74, 33
-; SI-NEXT: v_writelane_b32 v47, s64, 34
+; SI-NEXT: v_readfirstlane_b32 s88, v31
+; SI-NEXT: v_readfirstlane_b32 s95, v9
+; SI-NEXT: v_writelane_b32 v47, s95, 6
+; SI-NEXT: v_readfirstlane_b32 s29, v32
+; SI-NEXT: v_writelane_b32 v47, s88, 7
+; SI-NEXT: v_writelane_b32 v47, s29, 8
+; SI-NEXT: v_writelane_b32 v47, s78, 9
+; SI-NEXT: v_writelane_b32 v47, s45, 10
+; SI-NEXT: v_writelane_b32 v47, s46, 11
+; SI-NEXT: v_writelane_b32 v47, s47, 12
+; SI-NEXT: v_writelane_b32 v47, s56, 13
+; SI-NEXT: v_writelane_b32 v47, s57, 14
+; SI-NEXT: v_readfirstlane_b32 s15, v6
+; SI-NEXT: v_writelane_b32 v47, s14, 15
+; SI-NEXT: v_readfirstlane_b32 s91, v17
+; SI-NEXT: v_writelane_b32 v47, s15, 16
+; SI-NEXT: v_readfirstlane_b32 s93, v26
+; SI-NEXT: v_writelane_b32 v47, s91, 17
+; SI-NEXT: v_writelane_b32 v47, s93, 18
+; SI-NEXT: v_writelane_b32 v47, s60, 19
+; SI-NEXT: v_writelane_b32 v47, s61, 20
+; SI-NEXT: v_readfirstlane_b32 s63, v27
+; SI-NEXT: v_writelane_b32 v47, s62, 21
+; SI-NEXT: v_writelane_b32 v47, s63, 22
+; SI-NEXT: v_readfirstlane_b32 s25, v13
+; SI-NEXT: v_writelane_b32 v47, s72, 23
+; SI-NEXT: v_readfirstlane_b32 s42, v16
+; SI-NEXT: v_writelane_b32 v47, s25, 24
+; SI-NEXT: v_writelane_b32 v47, s74, 25
+; SI-NEXT: v_readfirstlane_b32 s64, v12
+; SI-NEXT: v_writelane_b32 v47, s75, 26
+; SI-NEXT: v_readfirstlane_b32 s92, v29
+; SI-NEXT: v_readfirstlane_b32 s79, v52
+; SI-NEXT: v_writelane_b32 v47, s64, 27
+; SI-NEXT: v_readfirstlane_b32 s89, v0
+; SI-NEXT: v_writelane_b32 v47, s92, 28
+; SI-NEXT: v_writelane_b32 v47, s65, 29
+; SI-NEXT: v_readfirstlane_b32 s34, v53
+; SI-NEXT: v_writelane_b32 v47, s94, 30
+; SI-NEXT: v_writelane_b32 v47, s18, 31
; SI-NEXT: v_readfirstlane_b32 s41, v30
-; SI-NEXT: v_readfirstlane_b32 s19, v41
-; SI-NEXT: v_writelane_b32 v56, s19, 37
-; SI-NEXT: v_readfirstlane_b32 s43, v51
-; SI-NEXT: v_readfirstlane_b32 s42, v18
-; SI-NEXT: v_writelane_b32 v56, s42, 38
-; SI-NEXT: v_writelane_b32 v56, s43, 39
+; SI-NEXT: v_writelane_b32 v47, s44, 32
+; SI-NEXT: v_readfirstlane_b32 s58, v11
+; SI-NEXT: v_readfirstlane_b32 s37, v39
+; SI-NEXT: v_readfirstlane_b32 s16, v20
+; SI-NEXT: v_writelane_b32 v56, s16, 39
+; SI-NEXT: v_readfirstlane_b32 s17, v25
+; SI-NEXT: v_readfirstlane_b32 s40, v41
+; SI-NEXT: v_writelane_b32 v56, s17, 40
; SI-NEXT: v_readfirstlane_b32 s6, v42
+; SI-NEXT: v_writelane_b32 v56, s40, 41
+; SI-NEXT: v_writelane_b32 v56, s6, 42
+; SI-NEXT: v_readfirstlane_b32 s43, v51
+; SI-NEXT: v_writelane_b32 v56, s42, 43
; SI-NEXT: v_readfirstlane_b32 s7, v23
-; SI-NEXT: v_writelane_b32 v56, s6, 40
-; SI-NEXT: v_readfirstlane_b32 s75, v52
-; SI-NEXT: v_writelane_b32 v56, s7, 41
+; SI-NEXT: v_writelane_b32 v56, s43, 44
+; SI-NEXT: v_writelane_b32 v56, s7, 45
+; SI-NEXT: v_writelane_b32 v56, s79, 46
; SI-NEXT: s_waitcnt vmcnt(13)
-; SI-NEXT: v_readfirstlane_b32 s79, v0
-; SI-NEXT: v_writelane_b32 v56, s75, 42
-; SI-NEXT: s_waitcnt vmcnt(11)
-; SI-NEXT: v_readfirstlane_b32 s89, v22
-; SI-NEXT: v_writelane_b32 v56, s79, 43
-; SI-NEXT: v_readfirstlane_b32 s91, v53
-; SI-NEXT: v_writelane_b32 v56, s89, 44
-; SI-NEXT: v_writelane_b32 v56, s91, 45
-; SI-NEXT: v_writelane_b32 v56, s92, 46
-; SI-NEXT: s_waitcnt vmcnt(10)
+; SI-NEXT: v_readfirstlane_b32 s90, v21
+; SI-NEXT: v_writelane_b32 v56, s89, 47
+; SI-NEXT: v_writelane_b32 v56, s90, 48
+; SI-NEXT: s_waitcnt vmcnt(12)
; SI-NEXT: v_readfirstlane_b32 s8, v54
-; SI-NEXT: v_writelane_b32 v56, s93, 47
+; SI-NEXT: v_writelane_b32 v56, s34, 49
+; SI-NEXT: s_waitcnt vmcnt(11)
+; SI-NEXT: v_readfirstlane_b32 s36, v2
+; SI-NEXT: v_writelane_b32 v56, s8, 50
+; SI-NEXT: v_writelane_b32 v56, s36, 51
+; SI-NEXT: v_writelane_b32 v47, s41, 33
; SI-NEXT: s_waitcnt vmcnt(9)
-; SI-NEXT: v_readfirstlane_b32 s9, v20
-; SI-NEXT: v_writelane_b32 v56, s8, 48
-; SI-NEXT: v_writelane_b32 v56, s9, 49
+; SI-NEXT: v_readfirstlane_b32 s9, v19
+; SI-NEXT: v_writelane_b32 v56, s37, 52
+; SI-NEXT: v_writelane_b32 v47, s58, 34
+; SI-NEXT: v_readfirstlane_b32 s38, v48
+; SI-NEXT: v_writelane_b32 v56, s9, 53
+; SI-NEXT: v_writelane_b32 v47, s59, 35
; SI-NEXT: s_waitcnt vmcnt(7)
-; SI-NEXT: v_readfirstlane_b32 s31, v16
-; SI-NEXT: v_writelane_b32 v56, s95, 50
-; SI-NEXT: v_writelane_b32 v56, s31, 51
+; SI-NEXT: v_readfirstlane_b32 s39, v14
+; SI-NEXT: v_writelane_b32 v56, s38, 54
+; SI-NEXT: v_writelane_b32 v47, s73, 36
; SI-NEXT: s_waitcnt vmcnt(5)
-; SI-NEXT: v_readfirstlane_b32 s34, v1
-; SI-NEXT: v_writelane_b32 v56, s80, 52
-; SI-NEXT: v_writelane_b32 v47, s40, 35
-; SI-NEXT: v_readfirstlane_b32 s36, v49
-; SI-NEXT: v_writelane_b32 v56, s34, 53
-; SI-NEXT: v_writelane_b32 v47, s41, 36
-; SI-NEXT: v_readfirstlane_b32 s68, v10
-; SI-NEXT: v_writelane_b32 v56, s36, 54
-; SI-NEXT: v_writelane_b32 v47, s84, 37
+; SI-NEXT: v_readfirstlane_b32 s48, v1
+; SI-NEXT: v_writelane_b32 v56, s39, 55
+; SI-NEXT: v_writelane_b32 v47, s70, 37
+; SI-NEXT: v_readfirstlane_b32 s49, v49
+; SI-NEXT: v_writelane_b32 v56, s48, 56
+; SI-NEXT: v_writelane_b32 v47, vcc_lo, 38
; SI-NEXT: s_waitcnt vmcnt(4)
; SI-NEXT: v_readfirstlane_b32 s10, v50
-; SI-NEXT: v_writelane_b32 v56, s81, 55
-; SI-NEXT: v_writelane_b32 v47, s68, 38
-; SI-NEXT: v_readfirstlane_b32 s38, v5
-; SI-NEXT: v_writelane_b32 v56, s10, 56
-; SI-NEXT: v_writelane_b32 v47, s65, 39
-; SI-NEXT: v_writelane_b32 v56, s38, 57
-; SI-NEXT: v_writelane_b32 v47, s90, 40
-; SI-NEXT: v_readfirstlane_b32 s11, v17
-; SI-NEXT: v_writelane_b32 v56, s39, 58
-; SI-NEXT: v_writelane_b32 v47, s69, 41
-; SI-NEXT: v_readfirstlane_b32 s48, v36
+; SI-NEXT: v_writelane_b32 v56, s49, 57
+; SI-NEXT: v_writelane_b32 v47, s30, 39
+; SI-NEXT: v_readfirstlane_b32 s11, v15
+; SI-NEXT: v_writelane_b32 v56, s10, 58
+; SI-NEXT: v_writelane_b32 v47, vcc_hi, 40
+; SI-NEXT: v_readfirstlane_b32 s50, v5
; SI-NEXT: v_writelane_b32 v56, s11, 59
-; SI-NEXT: v_writelane_b32 v47, s94, 42
-; SI-NEXT: v_writelane_b32 v56, s48, 60
-; SI-NEXT: v_writelane_b32 v47, s70, 43
-; SI-NEXT: v_readfirstlane_b32 s35, v19
-; SI-NEXT: v_writelane_b32 v56, s49, 61
-; SI-NEXT: v_writelane_b32 v47, s37, 44
-; SI-NEXT: v_readfirstlane_b32 s71, v15
-; SI-NEXT: v_readfirstlane_b32 s50, v3
-; SI-NEXT: v_readfirstlane_b32 s22, v55
+; SI-NEXT: v_writelane_b32 v47, s31, 41
+; SI-NEXT: v_readfirstlane_b32 s67, v24
+; SI-NEXT: v_readfirstlane_b32 s51, v35
+; SI-NEXT: v_writelane_b32 v56, s50, 60
+; SI-NEXT: v_writelane_b32 v47, s66, 42
+; SI-NEXT: v_readfirstlane_b32 s52, v36
+; SI-NEXT: v_writelane_b32 v56, s51, 61
+; SI-NEXT: v_writelane_b32 v47, s67, 43
+; SI-NEXT: v_readfirstlane_b32 s35, v18
+; SI-NEXT: v_readfirstlane_b32 s69, v55
; SI-NEXT: s_waitcnt vmcnt(3)
-; SI-NEXT: v_readfirstlane_b32 s85, v24
+; SI-NEXT: v_readfirstlane_b32 s81, v22
; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_readfirstlane_b32 s25, v40
-; SI-NEXT: v_readfirstlane_b32 s28, v21
-; SI-NEXT: v_readfirstlane_b32 s87, v25
-; SI-NEXT: v_readfirstlane_b32 vcc_hi, v43
+; SI-NEXT: v_readfirstlane_b32 s68, v40
+; SI-NEXT: v_readfirstlane_b32 s20, v43
; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_readfirstlane_b32 s26, v29
+; SI-NEXT: v_readfirstlane_b32 s27, v28
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_readfirstlane_b32 s27, v44
-; SI-NEXT: v_writelane_b32 v56, s82, 62
+; SI-NEXT: v_readfirstlane_b32 s19, v44
+; SI-NEXT: v_writelane_b32 v56, s52, 62
+; SI-NEXT: v_writelane_b32 v47, s71, 44
+; SI-NEXT: v_writelane_b32 v56, s4, 63
; SI-NEXT: v_writelane_b32 v47, s35, 45
-; SI-NEXT: v_writelane_b32 v56, s50, 63
-; SI-NEXT: v_writelane_b32 v47, s71, 46
; SI-NEXT: s_cbranch_scc0 .LBB93_2
; SI-NEXT: ; %bb.1: ; %cmp.false
-; SI-NEXT: v_readlane_b32 s4, v56, 11
-; SI-NEXT: v_readlane_b32 s5, v56, 10
+; SI-NEXT: s_mov_b32 s80, s4
+; SI-NEXT: v_readlane_b32 s4, v56, 13
+; SI-NEXT: v_readlane_b32 s5, v56, 12
; SI-NEXT: s_and_b32 s4, s4, 0xff
; SI-NEXT: s_lshl_b32 s5, s5, 8
-; SI-NEXT: v_writelane_b32 v47, s21, 47
-; SI-NEXT: s_or_b32 s4, s4, s5
+; SI-NEXT: s_or_b32 s28, s4, s5
+; SI-NEXT: v_readlane_b32 s4, v56, 5
; SI-NEXT: v_readlane_b32 s5, v56, 4
-; SI-NEXT: v_writelane_b32 v47, s4, 48
-; SI-NEXT: s_and_b32 s4, s24, 0xff
-; SI-NEXT: s_lshl_b32 s5, s5, 8
-; SI-NEXT: s_or_b32 s4, s4, s5
-; SI-NEXT: v_readlane_b32 s5, v56, 34
-; SI-NEXT: v_writelane_b32 v47, s4, 49
-; SI-NEXT: s_and_b32 s4, s77, 0xff
-; SI-NEXT: s_lshl_b32 s5, s5, 8
-; SI-NEXT: s_or_b32 s4, s4, s5
-; SI-NEXT: v_readlane_b32 s5, v56, 29
-; SI-NEXT: v_writelane_b32 v47, s4, 50
-; SI-NEXT: s_and_b32 s4, s76, 0xff
+; SI-NEXT: s_and_b32 s4, s4, 0xff
; SI-NEXT: s_lshl_b32 s5, s5, 8
+; SI-NEXT: s_or_b32 s82, s4, s5
+; SI-NEXT: v_readlane_b32 s4, v56, 31
+; SI-NEXT: s_and_b32 s4, s4, 0xff
+; SI-NEXT: s_lshl_b32 s5, s76, 8
; SI-NEXT: s_or_b32 s4, s4, s5
-; SI-NEXT: v_writelane_b32 v47, s4, 51
-; SI-NEXT: v_readlane_b32 s4, v56, 24
-; SI-NEXT: s_and_b32 s5, s4, 0xff
-; SI-NEXT: v_readlane_b32 s4, v56, 23
+; SI-NEXT: v_writelane_b32 v47, s4, 46
+; SI-NEXT: s_and_b32 s4, s22, 0xff
+; SI-NEXT: s_lshl_b32 s5, s77, 8
+; SI-NEXT: s_or_b32 s84, s4, s5
+; SI-NEXT: v_readlane_b32 s4, v56, 25
+; SI-NEXT: s_and_b32 s5, s21, 0xff
; SI-NEXT: s_lshl_b32 s4, s4, 8
; SI-NEXT: s_or_b32 s4, s5, s4
-; SI-NEXT: v_writelane_b32 v47, s4, 52
-; SI-NEXT: v_readlane_b32 s4, v56, 16
-; SI-NEXT: v_readlane_b32 s5, v56, 15
+; SI-NEXT: v_writelane_b32 v47, s4, 47
+; SI-NEXT: v_readlane_b32 s4, v56, 18
+; SI-NEXT: v_readlane_b32 s5, v56, 17
; SI-NEXT: s_and_b32 s4, s4, 0xff
; SI-NEXT: s_lshl_b32 s5, s5, 8
; SI-NEXT: s_or_b32 s4, s4, s5
-; SI-NEXT: v_writelane_b32 v47, s4, 53
+; SI-NEXT: v_writelane_b32 v47, s4, 48
; SI-NEXT: s_and_b32 s4, s7, 0xff
; SI-NEXT: s_lshl_b32 s5, s6, 8
; SI-NEXT: s_or_b32 s4, s4, s5
-; SI-NEXT: v_writelane_b32 v47, s4, 54
+; SI-NEXT: v_writelane_b32 v47, s4, 49
; SI-NEXT: s_and_b32 s4, s9, 0xff
; SI-NEXT: s_lshl_b32 s5, s8, 8
; SI-NEXT: s_or_b32 s4, s4, s5
-; SI-NEXT: v_writelane_b32 v47, s4, 55
+; SI-NEXT: v_writelane_b32 v47, s4, 50
; SI-NEXT: s_and_b32 s4, s11, 0xff
; SI-NEXT: s_lshl_b32 s5, s10, 8
; SI-NEXT: s_or_b32 s4, s4, s5
-; SI-NEXT: v_writelane_b32 v47, s4, 56
+; SI-NEXT: v_writelane_b32 v47, s4, 51
; SI-NEXT: s_and_b32 s4, s13, 0xff
; SI-NEXT: s_lshl_b32 s5, s12, 8
; SI-NEXT: s_or_b32 s4, s4, s5
-; SI-NEXT: v_writelane_b32 v47, s4, 57
+; SI-NEXT: v_writelane_b32 v47, s4, 52
; SI-NEXT: s_and_b32 s4, s15, 0xff
; SI-NEXT: s_lshl_b32 s5, s14, 8
; SI-NEXT: s_or_b32 s4, s4, s5
-; SI-NEXT: v_writelane_b32 v47, s4, 58
-; SI-NEXT: s_and_b32 s4, s68, 0xff
+; SI-NEXT: v_writelane_b32 v47, s4, 53
+; SI-NEXT: s_and_b32 s4, s58, 0xff
; SI-NEXT: s_lshl_b32 s5, s41, 8
; SI-NEXT: s_or_b32 s4, s4, s5
-; SI-NEXT: v_writelane_b32 v47, s4, 59
+; SI-NEXT: v_writelane_b32 v47, s4, 54
+; SI-NEXT: s_and_b32 s4, s35, 0xff
+; SI-NEXT: s_lshl_b32 s5, s67, 8
+; SI-NEXT: s_or_b32 s4, s4, s5
+; SI-NEXT: v_writelane_b32 v47, s4, 55
; SI-NEXT: s_and_b32 s4, s71, 0xff
-; SI-NEXT: s_lshl_b32 s5, s35, 8
+; SI-NEXT: s_lshl_b32 s5, s66, 8
; SI-NEXT: s_or_b32 s71, s4, s5
-; SI-NEXT: s_and_b32 s4, s37, 0xff
-; SI-NEXT: s_lshl_b32 s5, s70, 8
-; SI-NEXT: s_or_b32 s70, s4, s5
-; SI-NEXT: s_and_b32 s4, s69, 0xff
-; SI-NEXT: s_lshl_b32 s5, s40, 8
-; SI-NEXT: s_or_b32 s69, s4, s5
-; SI-NEXT: s_and_b32 s4, s18, 0xff
-; SI-NEXT: s_lshl_b32 s5, s16, 8
-; SI-NEXT: s_or_b32 s4, s4, s5
-; SI-NEXT: v_readlane_b32 s5, v56, 7
-; SI-NEXT: v_writelane_b32 v47, s4, 60
-; SI-NEXT: s_and_b32 s4, s20, 0xff
+; SI-NEXT: s_and_b32 s4, s31, 0xff
+; SI-NEXT: s_lshl_b32 s5, vcc_lo, 8
+; SI-NEXT: s_or_b32 vcc_lo, s4, s5
+; SI-NEXT: s_and_b32 s4, s59, 0xff
+; SI-NEXT: s_lshl_b32 s5, s18, 8
+; SI-NEXT: s_or_b32 s31, s4, s5
+; SI-NEXT: v_readlane_b32 s4, v56, 9
+; SI-NEXT: v_readlane_b32 s5, v56, 8
+; SI-NEXT: s_and_b32 s4, s4, 0xff
; SI-NEXT: s_lshl_b32 s5, s5, 8
; SI-NEXT: s_or_b32 s5, s4, s5
-; SI-NEXT: v_readlane_b32 s4, v56, 6
+; SI-NEXT: v_readlane_b32 s4, v56, 7
; SI-NEXT: s_and_b32 s4, s4, 0xff
-; SI-NEXT: v_readlane_b32 s6, v56, 5
+; SI-NEXT: v_readlane_b32 s6, v56, 6
; SI-NEXT: s_lshl_b32 s4, s4, 16
; SI-NEXT: s_lshl_b32 s6, s6, 24
; SI-NEXT: s_or_b32 s7, s6, s4
-; SI-NEXT: v_readlane_b32 s4, v56, 9
+; SI-NEXT: v_readlane_b32 s4, v56, 11
; SI-NEXT: s_and_b32 s4, s4, 0xff
-; SI-NEXT: v_readlane_b32 s6, v56, 8
+; SI-NEXT: v_readlane_b32 s6, v56, 10
; SI-NEXT: s_lshl_b32 s4, s4, 16
; SI-NEXT: s_lshl_b32 s6, s6, 24
+; SI-NEXT: s_or_b32 s58, s6, s4
+; SI-NEXT: v_readlane_b32 s4, v56, 1
; SI-NEXT: s_and_b32 s5, s5, 0xffff
-; SI-NEXT: v_writelane_b32 v47, s7, 61
-; SI-NEXT: s_or_b32 s4, s6, s4
-; SI-NEXT: s_or_b32 s5, s5, s7
-; SI-NEXT: v_readlane_b32 s6, v56, 1
-; SI-NEXT: v_readlane_b32 s7, v56, 0
-; SI-NEXT: s_and_b32 s6, s6, 0xff
-; SI-NEXT: s_lshl_b32 s7, s7, 8
+; SI-NEXT: s_and_b32 s6, s4, 0xff
+; SI-NEXT: v_readlane_b32 s4, v56, 0
+; SI-NEXT: v_writelane_b32 v47, s7, 56
+; SI-NEXT: s_or_b32 s59, s5, s7
+; SI-NEXT: s_lshl_b32 s7, s4, 8
; SI-NEXT: s_or_b32 s7, s6, s7
-; SI-NEXT: v_readlane_b32 s6, v56, 36
-; SI-NEXT: s_and_b32 s6, s6, 0xff
-; SI-NEXT: v_readlane_b32 s8, v56, 35
+; SI-NEXT: s_and_b32 s6, s23, 0xff
+; SI-NEXT: v_readlane_b32 s8, v56, 32
; SI-NEXT: s_lshl_b32 s6, s6, 16
; SI-NEXT: s_lshl_b32 s8, s8, 24
-; SI-NEXT: s_or_b32 s9, s8, s6
-; SI-NEXT: v_readlane_b32 s6, v56, 3
-; SI-NEXT: s_and_b32 s6, s6, 0xff
-; SI-NEXT: v_readlane_b32 s8, v56, 2
+; SI-NEXT: v_readlane_b32 s4, v56, 3
+; SI-NEXT: s_or_b32 s5, s8, s6
+; SI-NEXT: s_and_b32 s6, s4, 0xff
+; SI-NEXT: v_readlane_b32 s4, v56, 2
; SI-NEXT: s_lshl_b32 s6, s6, 16
-; SI-NEXT: s_lshl_b32 s8, s8, 24
-; SI-NEXT: s_and_b32 s7, s7, 0xffff
-; SI-NEXT: v_writelane_b32 v47, s9, 62
+; SI-NEXT: s_lshl_b32 s8, s4, 24
+; SI-NEXT: v_readlane_b32 s4, v56, 30
; SI-NEXT: s_or_b32 s6, s8, s6
-; SI-NEXT: s_or_b32 s7, s7, s9
-; SI-NEXT: v_readlane_b32 s8, v56, 33
-; SI-NEXT: v_readlane_b32 s9, v56, 32
-; SI-NEXT: s_and_b32 s8, s8, 0xff
-; SI-NEXT: s_lshl_b32 s9, s9, 8
+; SI-NEXT: s_and_b32 s8, s87, 0xff
+; SI-NEXT: s_lshl_b32 s9, s4, 8
+; SI-NEXT: v_readlane_b32 s4, v56, 29
; SI-NEXT: s_or_b32 s9, s8, s9
-; SI-NEXT: v_readlane_b32 s8, v56, 31
-; SI-NEXT: s_and_b32 s8, s8, 0xff
-; SI-NEXT: v_readlane_b32 s10, v56, 30
+; SI-NEXT: s_and_b32 s8, s4, 0xff
+; SI-NEXT: v_readlane_b32 s4, v56, 28
; SI-NEXT: s_lshl_b32 s8, s8, 16
-; SI-NEXT: s_lshl_b32 s10, s10, 24
-; SI-NEXT: s_or_b32 s11, s10, s8
+; SI-NEXT: s_lshl_b32 s10, s4, 24
+; SI-NEXT: s_or_b32 s4, s10, s8
; SI-NEXT: s_and_b32 s8, s99, 0xff
+; SI-NEXT: v_writelane_b32 v47, s5, 57
; SI-NEXT: s_lshl_b32 s8, s8, 16
-; SI-NEXT: s_lshl_b32 s10, s98, 24
+; SI-NEXT: s_lshl_b32 s10, s97, 24
; SI-NEXT: s_and_b32 s9, s9, 0xffff
-; SI-NEXT: v_writelane_b32 v47, s11, 63
+; SI-NEXT: v_writelane_b32 v47, s4, 58
; SI-NEXT: s_or_b32 s8, s10, s8
-; SI-NEXT: s_or_b32 s9, s9, s11
-; SI-NEXT: v_readlane_b32 s10, v56, 28
-; SI-NEXT: v_readlane_b32 s11, v56, 27
-; SI-NEXT: s_and_b32 s10, s10, 0xff
-; SI-NEXT: s_lshl_b32 s11, s11, 8
+; SI-NEXT: s_or_b32 s9, s9, s4
+; SI-NEXT: s_and_b32 s10, s86, 0xff
+; SI-NEXT: s_lshl_b32 s11, s85, 8
+; SI-NEXT: v_readlane_b32 s4, v56, 27
; SI-NEXT: s_or_b32 s11, s10, s11
-; SI-NEXT: v_readlane_b32 s10, v56, 26
-; SI-NEXT: s_and_b32 s10, s10, 0xff
-; SI-NEXT: v_readlane_b32 s12, v56, 25
+; SI-NEXT: s_and_b32 s10, s4, 0xff
+; SI-NEXT: v_readlane_b32 s4, v56, 26
; SI-NEXT: s_lshl_b32 s10, s10, 16
-; SI-NEXT: s_lshl_b32 s12, s12, 24
-; SI-NEXT: s_or_b32 s13, s12, s10
-; SI-NEXT: s_and_b32 s10, s97, 0xff
+; SI-NEXT: s_lshl_b32 s12, s4, 24
+; SI-NEXT: s_or_b32 s4, s12, s10
+; SI-NEXT: s_and_b32 s10, s98, 0xff
; SI-NEXT: s_lshl_b32 s10, s10, 16
; SI-NEXT: s_lshl_b32 s12, s96, 24
-; SI-NEXT: ; implicit-def: $vgpr46 : SGPR spill to VGPR lane
; SI-NEXT: s_or_b32 s10, s12, s10
-; SI-NEXT: s_and_b32 s11, s11, 0xffff
-; SI-NEXT: v_readlane_b32 s12, v56, 20
-; SI-NEXT: v_writelane_b32 v46, s13, 0
-; SI-NEXT: s_or_b32 s11, s11, s13
+; SI-NEXT: v_readlane_b32 s12, v56, 22
; SI-NEXT: s_and_b32 s13, s12, 0xff
-; SI-NEXT: v_readlane_b32 s12, v56, 19
+; SI-NEXT: v_readlane_b32 s12, v56, 21
; SI-NEXT: s_lshl_b32 s12, s12, 8
; SI-NEXT: s_or_b32 s13, s13, s12
-; SI-NEXT: v_readlane_b32 s12, v56, 18
+; SI-NEXT: v_readlane_b32 s12, v56, 20
; SI-NEXT: s_and_b32 s12, s12, 0xff
; SI-NEXT: s_lshl_b32 s14, s12, 16
-; SI-NEXT: v_readlane_b32 s12, v56, 17
+; SI-NEXT: v_readlane_b32 s12, v56, 19
+; SI-NEXT: s_and_b32 s11, s11, 0xffff
; SI-NEXT: s_lshl_b32 s12, s12, 24
-; SI-NEXT: s_or_b32 s86, s12, s14
-; SI-NEXT: v_readlane_b32 s12, v56, 22
+; SI-NEXT: v_writelane_b32 v47, s4, 59
+; SI-NEXT: s_or_b32 s11, s11, s4
+; SI-NEXT: s_or_b32 s4, s12, s14
+; SI-NEXT: v_readlane_b32 s12, v56, 24
; SI-NEXT: s_and_b32 s12, s12, 0xff
; SI-NEXT: s_lshl_b32 s14, s12, 16
-; SI-NEXT: v_readlane_b32 s12, v56, 21
+; SI-NEXT: v_readlane_b32 s12, v56, 23
; SI-NEXT: s_lshl_b32 s12, s12, 24
; SI-NEXT: s_or_b32 s12, s12, s14
-; SI-NEXT: v_readlane_b32 s14, v56, 12
+; SI-NEXT: v_readlane_b32 s14, v56, 14
; SI-NEXT: s_and_b32 s14, s14, 0xff
-; SI-NEXT: s_lshl_b32 s15, s27, 8
+; SI-NEXT: s_lshl_b32 s15, s19, 8
; SI-NEXT: s_or_b32 s15, s14, s15
-; SI-NEXT: s_and_b32 s14, s26, 0xff
+; SI-NEXT: s_and_b32 s14, s27, 0xff
; SI-NEXT: s_lshl_b32 s14, s14, 16
-; SI-NEXT: s_lshl_b32 s16, vcc_hi, 24
-; SI-NEXT: s_or_b32 s29, s16, s14
-; SI-NEXT: v_readlane_b32 s14, v56, 14
+; SI-NEXT: s_lshl_b32 s18, s20, 24
+; SI-NEXT: s_or_b32 s66, s18, s14
+; SI-NEXT: v_readlane_b32 s14, v56, 16
; SI-NEXT: s_and_b32 s14, s14, 0xff
-; SI-NEXT: s_lshl_b32 s16, s14, 16
-; SI-NEXT: v_readlane_b32 s14, v56, 13
+; SI-NEXT: s_lshl_b32 s18, s14, 16
+; SI-NEXT: v_readlane_b32 s14, v56, 15
+; SI-NEXT: s_and_b32 s13, s13, 0xffff
; SI-NEXT: s_lshl_b32 s14, s14, 24
-; SI-NEXT: s_or_b32 s14, s14, s16
-; SI-NEXT: s_and_b32 s16, s28, 0xff
-; SI-NEXT: s_lshl_b32 s18, s25, 8
-; SI-NEXT: s_or_b32 s18, s16, s18
-; SI-NEXT: s_and_b32 s16, s85, 0xff
-; SI-NEXT: v_writelane_b32 v46, s20, 1
-; SI-NEXT: s_lshl_b32 s16, s16, 16
-; SI-NEXT: s_lshl_b32 s20, s22, 24
-; SI-NEXT: v_writelane_b32 v46, vcc_hi, 2
-; SI-NEXT: v_writelane_b32 v46, s28, 3
-; SI-NEXT: s_or_b32 s28, s20, s16
-; SI-NEXT: s_and_b32 s20, s87, 0xff
+; SI-NEXT: v_writelane_b32 v47, s4, 60
+; SI-NEXT: s_or_b32 s13, s13, s4
+; SI-NEXT: s_mov_b32 s4, s20
+; SI-NEXT: s_or_b32 s14, s14, s18
+; SI-NEXT: s_and_b32 s18, s16, 0xff
+; SI-NEXT: s_lshl_b32 s20, s68, 8
+; SI-NEXT: s_or_b32 s18, s18, s20
+; SI-NEXT: s_and_b32 s20, s81, 0xff
+; SI-NEXT: s_lshl_b32 s20, s20, 16
+; SI-NEXT: s_lshl_b32 s24, s69, 24
+; SI-NEXT: s_or_b32 s67, s24, s20
+; SI-NEXT: s_and_b32 s20, s17, 0xff
; SI-NEXT: s_lshl_b32 s20, s20, 16
-; SI-NEXT: v_writelane_b32 v46, s24, 4
-; SI-NEXT: s_lshl_b32 s24, s19, 24
+; SI-NEXT: s_lshl_b32 s24, s40, 24
; SI-NEXT: s_and_b32 s18, s18, 0xffff
; SI-NEXT: s_or_b32 s40, s24, s20
-; SI-NEXT: s_or_b32 s41, s18, s28
-; SI-NEXT: s_and_b32 s18, s79, 0xff
-; SI-NEXT: s_lshl_b32 s20, s75, 8
-; SI-NEXT: s_or_b32 s20, s18, s20
-; SI-NEXT: s_and_b32 s18, s42, 0xff
-; SI-NEXT: s_lshl_b32 s18, s18, 16
+; SI-NEXT: s_or_b32 s41, s18, s67
+; SI-NEXT: s_and_b32 s18, s89, 0xff
+; SI-NEXT: s_lshl_b32 s20, s79, 8
+; SI-NEXT: s_or_b32 s18, s18, s20
+; SI-NEXT: s_and_b32 s20, s42, 0xff
+; SI-NEXT: v_writelane_b32 v47, s68, 61
+; SI-NEXT: s_lshl_b32 s20, s20, 16
; SI-NEXT: s_lshl_b32 s24, s43, 24
-; SI-NEXT: s_or_b32 s19, s24, s18
-; SI-NEXT: s_and_b32 s24, s89, 0xff
-; SI-NEXT: s_lshl_b32 s24, s24, 16
-; SI-NEXT: v_writelane_b32 v46, s25, 5
-; SI-NEXT: s_lshl_b32 s25, s91, 24
-; SI-NEXT: s_and_b32 s20, s20, 0xffff
-; SI-NEXT: s_or_b32 s42, s25, s24
-; SI-NEXT: s_or_b32 s43, s20, s19
-; SI-NEXT: s_and_b32 s20, s31, 0xff
-; SI-NEXT: s_lshl_b32 s24, s95, 8
-; SI-NEXT: s_or_b32 s20, s20, s24
-; SI-NEXT: s_and_b32 s24, s92, 0xff
-; SI-NEXT: s_lshl_b32 s24, s24, 16
-; SI-NEXT: s_lshl_b32 s25, s93, 24
-; SI-NEXT: s_or_b32 s24, s25, s24
-; SI-NEXT: s_and_b32 s25, s34, 0xff
-; SI-NEXT: s_mov_b32 s21, s26
-; SI-NEXT: s_lshl_b32 s25, s25, 16
-; SI-NEXT: s_lshl_b32 s26, s36, 24
-; SI-NEXT: s_and_b32 s20, s20, 0xffff
-; SI-NEXT: s_or_b32 s34, s26, s25
-; SI-NEXT: s_or_b32 s35, s20, s24
-; SI-NEXT: s_and_b32 s20, s49, 0xff
-; SI-NEXT: s_lshl_b32 s25, s48, 8
-; SI-NEXT: s_or_b32 s20, s20, s25
-; SI-NEXT: s_and_b32 s25, s38, 0xff
-; SI-NEXT: s_lshl_b32 s25, s25, 16
-; SI-NEXT: s_lshl_b32 s26, s39, 24
-; SI-NEXT: v_writelane_b32 v46, s27, 6
-; SI-NEXT: s_or_b32 s27, s26, s25
-; SI-NEXT: s_and_b32 s26, s50, 0xff
-; SI-NEXT: s_lshl_b32 s26, s26, 16
-; SI-NEXT: s_lshl_b32 s16, s51, 24
-; SI-NEXT: s_and_b32 s20, s20, 0xffff
-; SI-NEXT: s_or_b32 s36, s16, s26
-; SI-NEXT: s_or_b32 s37, s20, s27
-; SI-NEXT: s_and_b32 s20, s88, 0xff
-; SI-NEXT: s_lshl_b32 s26, s67, 8
-; SI-NEXT: s_or_b32 s20, s20, s26
-; SI-NEXT: s_and_b32 s26, s52, 0xff
-; SI-NEXT: s_lshl_b32 s26, s26, 16
-; SI-NEXT: s_lshl_b32 s16, s53, 24
-; SI-NEXT: s_or_b32 s18, s16, s26
-; SI-NEXT: s_and_b32 s26, s78, 0xff
-; SI-NEXT: s_lshl_b32 s26, s26, 16
-; SI-NEXT: s_lshl_b32 s75, s66, 24
-; SI-NEXT: s_and_b32 s20, s20, 0xffff
-; SI-NEXT: s_or_b32 s38, s75, s26
-; SI-NEXT: s_or_b32 s39, s20, s18
-; SI-NEXT: s_and_b32 s20, s63, 0xff
-; SI-NEXT: s_lshl_b32 s26, s61, 8
-; SI-NEXT: s_or_b32 s20, s20, s26
-; SI-NEXT: s_and_b32 s26, s58, 0xff
-; SI-NEXT: s_lshl_b32 s26, s26, 16
-; SI-NEXT: s_lshl_b32 s75, s59, 24
-; SI-NEXT: s_or_b32 s26, s75, s26
-; SI-NEXT: s_and_b32 s75, s74, 0xff
-; SI-NEXT: s_lshl_b32 s75, s75, 16
-; SI-NEXT: s_lshl_b32 s78, s64, 24
-; SI-NEXT: s_and_b32 s20, s20, 0xffff
-; SI-NEXT: s_or_b32 s48, s78, s75
-; SI-NEXT: s_or_b32 s49, s20, s26
-; SI-NEXT: s_and_b32 s20, s23, 0xff
-; SI-NEXT: s_lshl_b32 s75, vcc_lo, 8
-; SI-NEXT: s_or_b32 s75, s20, s75
-; SI-NEXT: s_and_b32 s20, s60, 0xff
+; SI-NEXT: v_writelane_b32 v47, s19, 62
+; SI-NEXT: s_or_b32 s19, s24, s20
+; SI-NEXT: s_and_b32 s20, s90, 0xff
+; SI-NEXT: s_lshl_b32 s20, s20, 16
+; SI-NEXT: s_lshl_b32 s24, s34, 24
+; SI-NEXT: s_and_b32 s18, s18, 0xffff
+; SI-NEXT: s_or_b32 s42, s24, s20
+; SI-NEXT: s_or_b32 s43, s18, s19
+; SI-NEXT: s_and_b32 s18, s39, 0xff
+; SI-NEXT: s_lshl_b32 s20, s38, 8
+; SI-NEXT: s_or_b32 s18, s18, s20
+; SI-NEXT: s_and_b32 s20, s36, 0xff
+; SI-NEXT: s_lshl_b32 s20, s20, 16
+; SI-NEXT: s_lshl_b32 s24, s37, 24
+; SI-NEXT: s_or_b32 s68, s24, s20
+; SI-NEXT: s_and_b32 s20, s48, 0xff
+; SI-NEXT: s_lshl_b32 s20, s20, 16
+; SI-NEXT: s_lshl_b32 s24, s49, 24
+; SI-NEXT: s_and_b32 s18, s18, 0xffff
+; SI-NEXT: s_or_b32 s34, s24, s20
+; SI-NEXT: s_or_b32 s35, s18, s68
+; SI-NEXT: s_and_b32 s18, s53, 0xff
+; SI-NEXT: s_lshl_b32 s20, s52, 8
+; SI-NEXT: s_or_b32 s18, s18, s20
+; SI-NEXT: s_and_b32 s20, s50, 0xff
+; SI-NEXT: ; implicit-def: $vgpr46 : SGPR spill to VGPR lane
+; SI-NEXT: s_lshl_b32 s20, s20, 16
+; SI-NEXT: v_writelane_b32 v46, s27, 0
+; SI-NEXT: s_lshl_b32 s27, s51, 24
+; SI-NEXT: s_or_b32 s26, s27, s20
+; SI-NEXT: s_and_b32 s20, s54, 0xff
+; SI-NEXT: s_lshl_b32 s20, s20, 16
+; SI-NEXT: s_lshl_b32 s27, s55, 24
+; SI-NEXT: s_and_b32 s18, s18, 0xffff
+; SI-NEXT: s_or_b32 s36, s27, s20
+; SI-NEXT: s_or_b32 s37, s18, s26
+; SI-NEXT: s_and_b32 s18, s78, 0xff
+; SI-NEXT: s_lshl_b32 s20, s29, 8
+; SI-NEXT: s_or_b32 s18, s18, s20
+; SI-NEXT: s_and_b32 s20, s95, 0xff
+; SI-NEXT: s_lshl_b32 s20, s20, 16
+; SI-NEXT: s_lshl_b32 s27, s88, 24
+; SI-NEXT: s_or_b32 s27, s27, s20
+; SI-NEXT: s_and_b32 s20, s45, 0xff
+; SI-NEXT: s_lshl_b32 s20, s20, 16
+; SI-NEXT: s_lshl_b32 s78, s46, 24
+; SI-NEXT: s_and_b32 s18, s18, 0xffff
+; SI-NEXT: s_or_b32 s38, s78, s20
+; SI-NEXT: s_or_b32 s39, s18, s27
+; SI-NEXT: s_and_b32 s18, s25, 0xff
+; SI-NEXT: s_lshl_b32 s20, s63, 8
+; SI-NEXT: s_or_b32 s18, s18, s20
+; SI-NEXT: s_and_b32 s20, s91, 0xff
+; SI-NEXT: s_lshl_b32 s20, s20, 16
+; SI-NEXT: s_lshl_b32 s78, s93, 24
+; SI-NEXT: v_writelane_b32 v46, s69, 1
+; SI-NEXT: s_or_b32 s69, s78, s20
+; SI-NEXT: s_and_b32 s20, s64, 0xff
; SI-NEXT: s_lshl_b32 s20, s20, 16
-; SI-NEXT: s_lshl_b32 s78, s56, 24
-; SI-NEXT: s_or_b32 s20, s78, s20
-; SI-NEXT: s_and_b32 s78, s94, 0xff
+; SI-NEXT: s_lshl_b32 s78, s92, 24
+; SI-NEXT: s_and_b32 s18, s18, 0xffff
+; SI-NEXT: s_or_b32 s48, s78, s20
+; SI-NEXT: s_or_b32 s49, s18, s69
+; SI-NEXT: s_and_b32 s18, s65, 0xff
+; SI-NEXT: s_lshl_b32 s20, s74, 8
+; SI-NEXT: s_or_b32 s20, s18, s20
+; SI-NEXT: s_and_b32 s18, s62, 0xff
+; SI-NEXT: s_lshl_b32 s18, s18, 16
+; SI-NEXT: s_lshl_b32 s78, s60, 24
+; SI-NEXT: s_or_b32 s18, s78, s18
+; SI-NEXT: s_and_b32 s78, s30, 0xff
; SI-NEXT: s_lshl_b32 s78, s78, 16
-; SI-NEXT: s_lshl_b32 s79, s65, 24
-; SI-NEXT: s_and_b32 s75, s75, 0xffff
+; SI-NEXT: s_lshl_b32 s79, s70, 24
+; SI-NEXT: s_and_b32 s20, s20, 0xffff
; SI-NEXT: s_or_b32 s50, s79, s78
-; SI-NEXT: s_or_b32 s51, s75, s20
-; SI-NEXT: s_and_b32 s75, s62, 0xff
-; SI-NEXT: s_lshl_b32 s78, s17, 8
-; SI-NEXT: s_or_b32 s75, s75, s78
-; SI-NEXT: s_and_b32 s78, s45, 0xff
-; SI-NEXT: s_lshl_b32 s78, s78, 16
-; SI-NEXT: s_lshl_b32 s79, s44, 24
-; SI-NEXT: s_or_b32 s78, s79, s78
-; SI-NEXT: s_and_b32 s79, s90, 0xff
+; SI-NEXT: s_or_b32 s51, s20, s18
+; SI-NEXT: s_and_b32 s20, s75, 0xff
+; SI-NEXT: s_lshl_b32 s78, s72, 8
+; SI-NEXT: s_or_b32 s78, s20, s78
+; SI-NEXT: s_and_b32 s20, s57, 0xff
+; SI-NEXT: s_lshl_b32 s20, s20, 16
+; SI-NEXT: s_lshl_b32 s79, s47, 24
+; SI-NEXT: s_or_b32 s20, s79, s20
+; SI-NEXT: s_and_b32 s79, vcc_hi, 0xff
; SI-NEXT: s_lshl_b32 s79, s79, 16
-; SI-NEXT: s_lshl_b32 s88, s84, 24
-; SI-NEXT: s_and_b32 s75, s75, 0xffff
-; SI-NEXT: v_readlane_b32 s16, v47, 47
+; SI-NEXT: s_lshl_b32 s88, s73, 24
+; SI-NEXT: s_and_b32 s78, s78, 0xffff
+; SI-NEXT: s_mov_b32 s17, s4
; SI-NEXT: s_or_b32 s52, s88, s79
-; SI-NEXT: s_or_b32 s53, s75, s78
-; SI-NEXT: s_and_b32 s75, s46, 0xff
-; SI-NEXT: s_lshl_b32 s79, s16, 8
-; SI-NEXT: s_or_b32 s75, s75, s79
-; SI-NEXT: s_and_b32 s79, s55, 0xff
+; SI-NEXT: s_or_b32 s53, s78, s20
+; SI-NEXT: s_and_b32 s78, s61, 0xff
+; SI-NEXT: s_lshl_b32 s79, s56, 8
+; SI-NEXT: v_readlane_b32 s4, v56, 38
+; SI-NEXT: s_or_b32 s78, s78, s79
+; SI-NEXT: s_and_b32 s79, s4, 0xff
+; SI-NEXT: v_readlane_b32 s4, v56, 37
; SI-NEXT: s_lshl_b32 s79, s79, 16
-; SI-NEXT: s_lshl_b32 s88, s54, 24
-; SI-NEXT: s_or_b32 s88, s88, s79
-; SI-NEXT: s_and_b32 s79, s73, 0xff
+; SI-NEXT: s_lshl_b32 s88, s4, 24
+; SI-NEXT: s_or_b32 s16, s88, s79
+; SI-NEXT: s_and_b32 s79, s44, 0xff
+; SI-NEXT: s_and_b32 s78, s78, 0xffff
+; SI-NEXT: v_readlane_b32 s4, v56, 34
; SI-NEXT: s_lshl_b32 s79, s79, 16
-; SI-NEXT: s_lshl_b32 s89, s72, 24
-; SI-NEXT: s_and_b32 s75, s75, 0xffff
-; SI-NEXT: v_readlane_b32 s16, v47, 48
-; SI-NEXT: s_or_b32 s54, s89, s79
-; SI-NEXT: s_or_b32 s55, s75, s88
-; SI-NEXT: s_and_b32 s75, s83, 0xff
-; SI-NEXT: s_lshl_b32 s79, s82, 8
-; SI-NEXT: s_and_b32 s44, s16, 0xffff
-; SI-NEXT: v_readlane_b32 s16, v47, 49
-; SI-NEXT: s_or_b32 s75, s75, s79
-; SI-NEXT: s_and_b32 s79, s81, 0xff
-; SI-NEXT: s_and_b32 s45, s16, 0xffff
-; SI-NEXT: v_readlane_b32 s16, v47, 50
+; SI-NEXT: s_lshl_b32 s88, s94, 24
+; SI-NEXT: s_or_b32 s55, s78, s16
+; SI-NEXT: s_and_b32 s78, s4, 0xff
+; SI-NEXT: v_readlane_b32 s4, v56, 33
+; SI-NEXT: s_or_b32 s54, s88, s79
+; SI-NEXT: s_lshl_b32 s79, s4, 8
+; SI-NEXT: s_or_b32 s78, s78, s79
+; SI-NEXT: s_and_b32 s79, s83, 0xff
; SI-NEXT: s_lshl_b32 s79, s79, 16
-; SI-NEXT: s_lshl_b32 s89, s80, 24
-; SI-NEXT: s_and_b32 s46, s16, 0xffff
-; SI-NEXT: v_readlane_b32 s16, v47, 51
-; SI-NEXT: s_or_b32 s90, s89, s79
-; SI-NEXT: s_lshl_b32 s89, s47, 24
-; SI-NEXT: s_and_b32 s47, s16, 0xffff
-; SI-NEXT: v_readlane_b32 s16, v47, 52
-; SI-NEXT: s_and_b32 s79, s57, 0xff
-; SI-NEXT: s_and_b32 s56, s16, 0xffff
-; SI-NEXT: v_readlane_b32 s16, v47, 53
+; SI-NEXT: s_lshl_b32 s88, s80, 24
+; SI-NEXT: v_readlane_b32 s4, v56, 36
+; SI-NEXT: v_writelane_b32 v47, s81, 63
+; SI-NEXT: s_or_b32 s88, s88, s79
+; SI-NEXT: s_and_b32 s79, s4, 0xff
+; SI-NEXT: v_readlane_b32 s4, v56, 35
+; SI-NEXT: s_lshl_b32 s89, s4, 24
+; SI-NEXT: v_readlane_b32 s4, v47, 46
+; SI-NEXT: s_and_b32 s46, s4, 0xffff
+; SI-NEXT: v_readlane_b32 s4, v47, 47
+; SI-NEXT: s_and_b32 s56, s4, 0xffff
+; SI-NEXT: v_readlane_b32 s4, v47, 48
; SI-NEXT: s_lshl_b32 s79, s79, 16
-; SI-NEXT: s_and_b32 s57, s16, 0xffff
-; SI-NEXT: v_readlane_b32 s16, v47, 54
+; SI-NEXT: s_and_b32 s57, s4, 0xffff
+; SI-NEXT: v_readlane_b32 s4, v47, 49
; SI-NEXT: s_or_b32 s64, s89, s79
-; SI-NEXT: s_and_b32 s79, s16, 0xffff
-; SI-NEXT: v_readlane_b32 s16, v47, 55
-; SI-NEXT: s_and_b32 s89, s16, 0xffff
-; SI-NEXT: v_readlane_b32 s16, v47, 56
-; SI-NEXT: s_and_b32 s17, s16, 0xffff
-; SI-NEXT: v_readlane_b32 s16, v47, 57
-; SI-NEXT: s_and_b32 s91, s16, 0xffff
-; SI-NEXT: v_readlane_b32 s16, v47, 58
-; SI-NEXT: s_and_b32 s13, s13, 0xffff
-; SI-NEXT: s_and_b32 s92, s16, 0xffff
-; SI-NEXT: v_readlane_b32 s16, v47, 59
-; SI-NEXT: s_or_b32 s13, s13, s86
-; SI-NEXT: s_and_b32 s93, s16, 0xffff
-; SI-NEXT: s_mov_b32 s16, s85
+; SI-NEXT: s_and_b32 s89, s4, 0xffff
+; SI-NEXT: v_readlane_b32 s4, v47, 50
+; SI-NEXT: s_and_b32 s78, s78, 0xffff
+; SI-NEXT: s_and_b32 s30, s4, 0xffff
+; SI-NEXT: v_readlane_b32 s4, v47, 51
+; SI-NEXT: s_or_b32 s65, s78, s88
+; SI-NEXT: s_and_b32 s78, s4, 0xffff
+; SI-NEXT: v_readlane_b32 s4, v47, 52
+; SI-NEXT: s_and_b32 s7, s7, 0xffff
+; SI-NEXT: s_and_b32 s15, s15, 0xffff
+; SI-NEXT: s_and_b32 s47, s84, 0xffff
+; SI-NEXT: s_and_b32 s79, s4, 0xffff
+; SI-NEXT: v_readlane_b32 s4, v47, 53
+; SI-NEXT: s_lshr_b64 s[24:25], s[58:59], 16
+; SI-NEXT: s_or_b32 s7, s7, s5
+; SI-NEXT: s_or_b32 s15, s15, s66
+; SI-NEXT: s_mov_b32 s5, s85
+; SI-NEXT: s_and_b32 s44, s28, 0xffff
+; SI-NEXT: s_and_b32 s90, s4, 0xffff
+; SI-NEXT: v_readlane_b32 s4, v47, 54
+; SI-NEXT: s_or_b32 s62, s46, s8
+; SI-NEXT: s_or_b32 s60, s47, s10
+; SI-NEXT: s_or_b32 s46, s89, s40
+; SI-NEXT: s_mov_b32 s47, s41
; SI-NEXT: s_lshr_b64 s[84:85], s[40:41], 16
-; SI-NEXT: s_and_b32 s94, s71, 0xffff
-; SI-NEXT: s_and_b32 s95, s70, 0xffff
+; SI-NEXT: s_or_b32 s40, s79, s36
+; SI-NEXT: s_mov_b32 s41, s37
+; SI-NEXT: s_lshr_b64 s[36:37], s[36:37], 16
+; SI-NEXT: v_readlane_b32 s25, v47, 56
+; SI-NEXT: s_and_b32 s91, s4, 0xffff
+; SI-NEXT: s_and_b32 s93, s71, 0xffff
+; SI-NEXT: s_or_b32 s74, s44, s58
; SI-NEXT: s_or_b32 s58, s56, s12
+; SI-NEXT: s_or_b32 s56, s57, s14
+; SI-NEXT: s_mov_b32 s57, s15
+; SI-NEXT: s_lshr_b64 s[70:71], s[14:15], 16
+; SI-NEXT: s_or_b32 s14, s90, s38
+; SI-NEXT: s_mov_b32 s15, s39
+; SI-NEXT: s_lshr_b64 s[38:39], s[38:39], 16
+; SI-NEXT: s_lshr_b32 s37, s25, 16
+; SI-NEXT: v_readlane_b32 s25, v47, 57
+; SI-NEXT: s_and_b32 s45, s82, 0xffff
+; SI-NEXT: v_readlane_b32 s4, v47, 55
+; SI-NEXT: s_mov_b32 s75, s59
; SI-NEXT: s_mov_b32 s59, s13
-; SI-NEXT: s_lshr_b64 s[70:71], s[12:13], 16
-; SI-NEXT: s_or_b32 s12, s93, s48
+; SI-NEXT: s_lshr_b64 s[82:83], s[12:13], 16
+; SI-NEXT: s_or_b32 s12, s91, s48
; SI-NEXT: s_mov_b32 s13, s49
; SI-NEXT: s_lshr_b64 s[48:49], s[48:49], 16
-; SI-NEXT: s_mov_b32 s85, s16
-; SI-NEXT: v_readlane_b32 s16, v47, 61
-; SI-NEXT: s_and_b32 s15, s15, 0xffff
-; SI-NEXT: s_mov_b32 s25, s22
-; SI-NEXT: s_and_b32 s75, s75, 0xffff
-; SI-NEXT: v_readlane_b32 s22, v47, 60
-; SI-NEXT: s_or_b32 s60, s47, s10
+; SI-NEXT: s_lshr_b32 s39, s25, 16
+; SI-NEXT: v_readlane_b32 s25, v47, 58
+; SI-NEXT: s_and_b32 s92, s4, 0xffff
+; SI-NEXT: s_and_b32 s94, vcc_lo, 0xffff
+; SI-NEXT: s_and_b32 s95, s31, 0xffff
+; SI-NEXT: s_lshr_b32 s49, s25, 16
+; SI-NEXT: v_readlane_b32 s25, v47, 59
+; SI-NEXT: s_or_b32 s72, s45, s6
+; SI-NEXT: s_mov_b32 s73, s7
+; SI-NEXT: s_lshr_b64 vcc, s[6:7], 16
+; SI-NEXT: s_mov_b32 s63, s9
+; SI-NEXT: s_lshr_b64 s[28:29], s[8:9], 16
; SI-NEXT: s_mov_b32 s61, s11
-; SI-NEXT: s_lshr_b64 vcc, s[10:11], 16
-; SI-NEXT: s_or_b32 s10, s94, s50
+; SI-NEXT: s_lshr_b64 s[80:81], s[10:11], 16
+; SI-NEXT: s_mov_b32 s85, s5
+; SI-NEXT: s_or_b32 s10, s92, s50
; SI-NEXT: s_mov_b32 s11, s51
; SI-NEXT: s_lshr_b64 s[50:51], s[50:51], 16
-; SI-NEXT: s_lshr_b32 s49, s16, 16
-; SI-NEXT: v_readlane_b32 s16, v47, 62
-; SI-NEXT: s_or_b32 s15, s15, s29
-; SI-NEXT: s_mov_b32 s23, s21
-; SI-NEXT: s_or_b32 s65, s75, s90
-; SI-NEXT: s_and_b32 s21, s69, 0xffff
-; SI-NEXT: s_and_b32 s22, s22, 0xffff
-; SI-NEXT: s_or_b32 s62, s46, s8
-; SI-NEXT: s_mov_b32 s63, s9
-; SI-NEXT: s_lshr_b64 s[66:67], s[8:9], 16
-; SI-NEXT: s_or_b32 s8, s95, s52
+; SI-NEXT: s_or_b32 s8, s93, s52
; SI-NEXT: s_mov_b32 s9, s53
; SI-NEXT: s_lshr_b64 s[52:53], s[52:53], 16
-; SI-NEXT: s_lshr_b32 s51, s16, 16
-; SI-NEXT: v_readlane_b32 s16, v47, 63
-; SI-NEXT: s_or_b32 s74, s44, s4
-; SI-NEXT: s_mov_b32 s75, s5
-; SI-NEXT: s_lshr_b64 s[82:83], s[4:5], 16
-; SI-NEXT: s_or_b32 s72, s45, s6
-; SI-NEXT: s_mov_b32 s73, s7
-; SI-NEXT: s_lshr_b64 s[30:31], s[6:7], 16
-; SI-NEXT: s_or_b32 s56, s57, s14
-; SI-NEXT: s_mov_b32 s57, s15
-; SI-NEXT: s_lshr_b64 s[80:81], s[14:15], 16
-; SI-NEXT: s_or_b32 s44, s89, s42
-; SI-NEXT: s_mov_b32 s45, s43
-; SI-NEXT: s_lshr_b64 s[68:69], s[42:43], 16
-; SI-NEXT: s_or_b32 s42, s17, s34
-; SI-NEXT: s_mov_b32 s43, s35
-; SI-NEXT: s_lshr_b64 s[34:35], s[34:35], 16
-; SI-NEXT: s_or_b32 s14, s92, s38
-; SI-NEXT: s_mov_b32 s15, s39
-; SI-NEXT: s_lshr_b64 s[38:39], s[38:39], 16
-; SI-NEXT: s_or_b32 s6, s21, s54
+; SI-NEXT: s_or_b32 s6, s94, s54
; SI-NEXT: s_mov_b32 s7, s55
; SI-NEXT: s_lshr_b64 s[54:55], s[54:55], 16
-; SI-NEXT: s_or_b32 s4, s22, s64
+; SI-NEXT: s_or_b32 s4, s95, s64
; SI-NEXT: s_mov_b32 s5, s65
; SI-NEXT: s_lshr_b64 s[64:65], s[64:65], 16
-; SI-NEXT: s_lshr_b32 s53, s16, 16
-; SI-NEXT: v_readlane_b32 s16, v46, 0
-; SI-NEXT: s_or_b32 s46, s79, s40
-; SI-NEXT: s_mov_b32 s47, s41
-; SI-NEXT: s_or_b32 s40, s91, s36
-; SI-NEXT: s_mov_b32 s41, s37
-; SI-NEXT: s_lshr_b64 s[36:37], s[36:37], 16
-; SI-NEXT: s_lshr_b32 s55, s16, 16
-; SI-NEXT: s_lshr_b32 s65, s86, 16
-; SI-NEXT: s_lshr_b32 s35, s29, 16
-; SI-NEXT: s_mov_b32 s94, s66
-; SI-NEXT: s_lshr_b32 s79, s28, 16
-; SI-NEXT: v_readlane_b32 s28, v46, 3
-; SI-NEXT: v_readlane_b32 vcc_hi, v46, 2
-; SI-NEXT: s_lshr_b32 s89, s19, 16
-; SI-NEXT: s_lshr_b32 s91, s24, 16
-; SI-NEXT: v_readlane_b32 s24, v46, 4
-; SI-NEXT: s_lshr_b32 s93, s27, 16
-; SI-NEXT: v_readlane_b32 s27, v46, 6
-; SI-NEXT: s_lshr_b32 s95, s18, 16
-; SI-NEXT: s_lshr_b32 s31, s26, 16
-; SI-NEXT: s_lshr_b32 s17, s20, 16
-; SI-NEXT: v_readlane_b32 s20, v46, 1
-; SI-NEXT: s_lshr_b32 s92, s78, 16
-; SI-NEXT: s_lshr_b32 s78, s88, 16
-; SI-NEXT: v_readlane_b32 s21, v47, 47
-; SI-NEXT: s_mov_b32 s26, s23
-; SI-NEXT: s_mov_b32 s22, s25
-; SI-NEXT: v_readlane_b32 s25, v46, 5
-; SI-NEXT: s_lshr_b32 s39, s90, 16
+; SI-NEXT: s_lshr_b32 s90, s25, 16
+; SI-NEXT: v_readlane_b32 s25, v47, 60
+; SI-NEXT: s_or_b32 s44, s30, s42
+; SI-NEXT: s_mov_b32 s45, s43
+; SI-NEXT: s_lshr_b64 s[30:31], s[42:43], 16
+; SI-NEXT: s_or_b32 s42, s78, s34
+; SI-NEXT: s_mov_b32 s43, s35
+; SI-NEXT: s_lshr_b64 s[34:35], s[34:35], 16
+; SI-NEXT: v_readlane_b32 s81, v47, 63
+; SI-NEXT: s_lshr_b32 s78, s25, 16
+; SI-NEXT: s_lshr_b32 s51, s66, 16
+; SI-NEXT: s_lshr_b32 s53, s67, 16
+; SI-NEXT: s_lshr_b32 s55, s19, 16
+; SI-NEXT: v_readlane_b32 s19, v47, 62
+; SI-NEXT: s_lshr_b32 s65, s68, 16
+; SI-NEXT: s_lshr_b32 s79, s26, 16
+; SI-NEXT: s_lshr_b32 s89, s27, 16
+; SI-NEXT: v_readlane_b32 s27, v46, 0
+; SI-NEXT: s_lshr_b32 s91, s69, 16
+; SI-NEXT: v_readlane_b32 s69, v46, 1
+; SI-NEXT: v_readlane_b32 s68, v47, 61
+; SI-NEXT: s_lshr_b32 s93, s18, 16
+; SI-NEXT: s_lshr_b32 s95, s20, 16
+; SI-NEXT: s_lshr_b32 s92, s16, 16
+; SI-NEXT: s_lshr_b32 s16, s88, 16
+; SI-NEXT: s_mov_b32 s20, s17
; SI-NEXT: s_mov_b64 s[66:67], 0
; SI-NEXT: s_branch .LBB93_3
; SI-NEXT: .LBB93_2:
; SI-NEXT: s_mov_b64 s[66:67], -1
; SI-NEXT: ; implicit-def: $sgpr74
-; SI-NEXT: ; implicit-def: $sgpr82
-; SI-NEXT: ; implicit-def: $sgpr49
+; SI-NEXT: ; implicit-def: $sgpr24
+; SI-NEXT: ; implicit-def: $sgpr37
; SI-NEXT: ; implicit-def: $sgpr72
-; SI-NEXT: ; implicit-def: $sgpr30
-; SI-NEXT: ; implicit-def: $sgpr51
+; SI-NEXT: ; implicit-def: $vcc_lo
+; SI-NEXT: ; implicit-def: $sgpr39
; SI-NEXT: ; implicit-def: $sgpr62
-; SI-NEXT: ; implicit-def: $sgpr94
-; SI-NEXT: ; implicit-def: $sgpr53
+; SI-NEXT: ; implicit-def: $sgpr28
+; SI-NEXT: ; implicit-def: $sgpr49
; SI-NEXT: ; implicit-def: $sgpr60
-; SI-NEXT: ; implicit-def: $vcc_lo
-; SI-NEXT: ; implicit-def: $sgpr55
+; SI-NEXT: ; implicit-def: $sgpr80
+; SI-NEXT: ; implicit-def: $sgpr90
; SI-NEXT: ; implicit-def: $sgpr58
-; SI-NEXT: ; implicit-def: $sgpr70
-; SI-NEXT: ; implicit-def: $sgpr65
+; SI-NEXT: ; implicit-def: $sgpr82
+; SI-NEXT: ; implicit-def: $sgpr78
; SI-NEXT: ; implicit-def: $sgpr56
-; SI-NEXT: ; implicit-def: $sgpr80
-; SI-NEXT: ; implicit-def: $sgpr35
+; SI-NEXT: ; implicit-def: $sgpr70
+; SI-NEXT: ; implicit-def: $sgpr51
; SI-NEXT: ; implicit-def: $sgpr46
; SI-NEXT: ; implicit-def: $sgpr84
-; SI-NEXT: ; implicit-def: $sgpr79
+; SI-NEXT: ; implicit-def: $sgpr53
; SI-NEXT: ; implicit-def: $sgpr44
-; SI-NEXT: ; implicit-def: $sgpr68
-; SI-NEXT: ; implicit-def: $sgpr89
+; SI-NEXT: ; implicit-def: $sgpr30
+; SI-NEXT: ; implicit-def: $sgpr55
; SI-NEXT: ; implicit-def: $sgpr42
; SI-NEXT: ; implicit-def: $sgpr34
-; SI-NEXT: ; implicit-def: $sgpr91
+; SI-NEXT: ; implicit-def: $sgpr65
; SI-NEXT: ; implicit-def: $sgpr40
; SI-NEXT: ; implicit-def: $sgpr36
-; SI-NEXT: ; implicit-def: $sgpr93
+; SI-NEXT: ; implicit-def: $sgpr79
; SI-NEXT: ; implicit-def: $sgpr14
; SI-NEXT: ; implicit-def: $sgpr38
-; SI-NEXT: ; implicit-def: $sgpr95
+; SI-NEXT: ; implicit-def: $sgpr89
; SI-NEXT: ; implicit-def: $sgpr12
; SI-NEXT: ; implicit-def: $sgpr48
-; SI-NEXT: ; implicit-def: $sgpr31
+; SI-NEXT: ; implicit-def: $sgpr91
; SI-NEXT: ; implicit-def: $sgpr10
; SI-NEXT: ; implicit-def: $sgpr50
-; SI-NEXT: ; implicit-def: $sgpr17
+; SI-NEXT: ; implicit-def: $sgpr93
; SI-NEXT: ; implicit-def: $sgpr8
; SI-NEXT: ; implicit-def: $sgpr52
-; SI-NEXT: ; implicit-def: $sgpr92
+; SI-NEXT: ; implicit-def: $sgpr95
; SI-NEXT: ; implicit-def: $sgpr6
; SI-NEXT: ; implicit-def: $sgpr54
-; SI-NEXT: ; implicit-def: $sgpr78
+; SI-NEXT: ; implicit-def: $sgpr92
; SI-NEXT: ; implicit-def: $sgpr4
; SI-NEXT: ; implicit-def: $sgpr64
-; SI-NEXT: ; implicit-def: $sgpr39
+; SI-NEXT: ; implicit-def: $sgpr16
; SI-NEXT: .LBB93_3: ; %Flow
-; SI-NEXT: s_and_b64 s[18:19], s[66:67], exec
-; SI-NEXT: s_cselect_b32 s16, 1, 0
-; SI-NEXT: s_cmp_lg_u32 s16, 1
+; SI-NEXT: s_and_b64 s[66:67], s[66:67], exec
+; SI-NEXT: s_cselect_b32 s18, 1, 0
+; SI-NEXT: s_cmp_lg_u32 s18, 1
; SI-NEXT: s_cbranch_scc1 .LBB93_5
; SI-NEXT: ; %bb.4: ; %cmp.true
-; SI-NEXT: v_readlane_b32 s4, v47, 32
+; SI-NEXT: v_readlane_b32 s4, v47, 35
; SI-NEXT: s_add_i32 s4, s4, 3
-; SI-NEXT: v_readlane_b32 s5, v47, 27
-; SI-NEXT: v_readlane_b32 s6, v47, 17
+; SI-NEXT: v_readlane_b32 s5, v47, 31
+; SI-NEXT: v_readlane_b32 s6, v56, 36
; SI-NEXT: s_and_b32 s4, s4, 0xff
; SI-NEXT: s_lshl_b32 s5, s5, 8
; SI-NEXT: s_add_i32 s6, s6, 3
; SI-NEXT: s_or_b32 s4, s5, s4
-; SI-NEXT: v_readlane_b32 s5, v47, 15
+; SI-NEXT: v_readlane_b32 s5, v56, 35
; SI-NEXT: s_and_b32 s6, s6, 0xff
; SI-NEXT: s_lshl_b32 s5, s5, 24
; SI-NEXT: s_lshl_b32 s6, s6, 16
@@ -174096,15 +174163,15 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; SI-NEXT: s_or_b32 s5, s5, s6
; SI-NEXT: s_and_b32 s4, s4, 0xffff
; SI-NEXT: s_or_b32 s4, s5, s4
-; SI-NEXT: v_readlane_b32 s5, v47, 2
+; SI-NEXT: v_readlane_b32 s5, v56, 34
; SI-NEXT: s_add_i32 s5, s5, 3
-; SI-NEXT: v_readlane_b32 s6, v56, 62
-; SI-NEXT: v_readlane_b32 s7, v56, 55
+; SI-NEXT: v_readlane_b32 s6, v56, 33
+; SI-NEXT: v_readlane_b32 s7, v47, 1
; SI-NEXT: s_and_b32 s5, s5, 0xff
; SI-NEXT: s_lshl_b32 s6, s6, 8
; SI-NEXT: s_add_i32 s7, s7, 3
; SI-NEXT: s_or_b32 s5, s6, s5
-; SI-NEXT: v_readlane_b32 s6, v56, 52
+; SI-NEXT: v_readlane_b32 s6, v56, 63
; SI-NEXT: s_and_b32 s7, s7, 0xff
; SI-NEXT: s_lshl_b32 s6, s6, 24
; SI-NEXT: s_lshl_b32 s7, s7, 16
@@ -174114,13 +174181,13 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; SI-NEXT: s_or_b32 s5, s6, s5
; SI-NEXT: v_readlane_b32 s6, v47, 41
; SI-NEXT: s_add_i32 s6, s6, 3
-; SI-NEXT: v_readlane_b32 s7, v47, 35
-; SI-NEXT: v_readlane_b32 s8, v47, 30
+; SI-NEXT: v_readlane_b32 s7, v47, 38
+; SI-NEXT: v_readlane_b32 s8, v47, 32
; SI-NEXT: s_and_b32 s6, s6, 0xff
; SI-NEXT: s_lshl_b32 s7, s7, 8
; SI-NEXT: s_add_i32 s8, s8, 3
; SI-NEXT: s_or_b32 s6, s7, s6
-; SI-NEXT: v_readlane_b32 s7, v47, 29
+; SI-NEXT: v_readlane_b32 s7, v47, 30
; SI-NEXT: s_and_b32 s8, s8, 0xff
; SI-NEXT: s_lshl_b32 s7, s7, 24
; SI-NEXT: s_lshl_b32 s8, s8, 16
@@ -174128,14 +174195,15 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; SI-NEXT: s_or_b32 s7, s7, s8
; SI-NEXT: s_and_b32 s6, s6, 0xffff
; SI-NEXT: s_or_b32 s6, s7, s6
-; SI-NEXT: v_readlane_b32 s7, v47, 12
+; SI-NEXT: v_readlane_b32 s7, v47, 20
; SI-NEXT: s_add_i32 s7, s7, 3
-; SI-NEXT: v_readlane_b32 s9, v47, 6
+; SI-NEXT: v_readlane_b32 s8, v47, 13
+; SI-NEXT: v_readlane_b32 s9, v56, 38
; SI-NEXT: s_and_b32 s7, s7, 0xff
-; SI-NEXT: s_lshl_b32 s8, s21, 8
+; SI-NEXT: s_lshl_b32 s8, s8, 8
; SI-NEXT: s_add_i32 s9, s9, 3
; SI-NEXT: s_or_b32 s7, s8, s7
-; SI-NEXT: v_readlane_b32 s8, v47, 1
+; SI-NEXT: v_readlane_b32 s8, v56, 37
; SI-NEXT: s_and_b32 s9, s9, 0xff
; SI-NEXT: s_lshl_b32 s8, s8, 24
; SI-NEXT: s_lshl_b32 s9, s9, 16
@@ -174145,13 +174213,13 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; SI-NEXT: s_or_b32 s7, s8, s7
; SI-NEXT: v_readlane_b32 s8, v47, 44
; SI-NEXT: s_add_i32 s8, s8, 3
-; SI-NEXT: v_readlane_b32 s9, v47, 43
+; SI-NEXT: v_readlane_b32 s9, v47, 42
; SI-NEXT: v_readlane_b32 s10, v47, 40
; SI-NEXT: s_and_b32 s8, s8, 0xff
; SI-NEXT: s_lshl_b32 s9, s9, 8
; SI-NEXT: s_add_i32 s10, s10, 3
; SI-NEXT: s_or_b32 s8, s9, s8
-; SI-NEXT: v_readlane_b32 s9, v47, 37
+; SI-NEXT: v_readlane_b32 s9, v47, 36
; SI-NEXT: s_and_b32 s10, s10, 0xff
; SI-NEXT: s_lshl_b32 s9, s9, 24
; SI-NEXT: s_lshl_b32 s10, s10, 16
@@ -174159,15 +174227,15 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; SI-NEXT: s_or_b32 s9, s9, s10
; SI-NEXT: s_and_b32 s8, s8, 0xffff
; SI-NEXT: s_or_b32 s8, s9, s8
-; SI-NEXT: v_readlane_b32 s9, v47, 25
+; SI-NEXT: v_readlane_b32 s9, v47, 26
; SI-NEXT: s_add_i32 s9, s9, 3
-; SI-NEXT: v_readlane_b32 s10, v47, 21
-; SI-NEXT: v_readlane_b32 s11, v47, 11
+; SI-NEXT: v_readlane_b32 s10, v47, 23
+; SI-NEXT: v_readlane_b32 s11, v47, 14
; SI-NEXT: s_and_b32 s9, s9, 0xff
; SI-NEXT: s_lshl_b32 s10, s10, 8
; SI-NEXT: s_add_i32 s11, s11, 3
; SI-NEXT: s_or_b32 s9, s10, s9
-; SI-NEXT: v_readlane_b32 s10, v47, 10
+; SI-NEXT: v_readlane_b32 s10, v47, 12
; SI-NEXT: s_and_b32 s11, s11, 0xff
; SI-NEXT: s_lshl_b32 s10, s10, 24
; SI-NEXT: s_lshl_b32 s11, s11, 16
@@ -174175,15 +174243,15 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; SI-NEXT: s_or_b32 s10, s10, s11
; SI-NEXT: s_and_b32 s9, s9, 0xffff
; SI-NEXT: s_or_b32 s9, s10, s9
-; SI-NEXT: v_readlane_b32 s10, v47, 46
+; SI-NEXT: v_readlane_b32 s10, v47, 45
; SI-NEXT: s_add_i32 s10, s10, 3
-; SI-NEXT: v_readlane_b32 s11, v47, 45
-; SI-NEXT: v_readlane_b32 s12, v47, 42
+; SI-NEXT: v_readlane_b32 s11, v47, 43
+; SI-NEXT: v_readlane_b32 s12, v47, 39
; SI-NEXT: s_and_b32 s10, s10, 0xff
; SI-NEXT: s_lshl_b32 s11, s11, 8
; SI-NEXT: s_add_i32 s12, s12, 3
; SI-NEXT: s_or_b32 s10, s11, s10
-; SI-NEXT: v_readlane_b32 s11, v47, 39
+; SI-NEXT: v_readlane_b32 s11, v47, 37
; SI-NEXT: s_and_b32 s12, s12, 0xff
; SI-NEXT: s_lshl_b32 s11, s11, 24
; SI-NEXT: s_lshl_b32 s12, s12, 16
@@ -174191,15 +174259,15 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; SI-NEXT: s_or_b32 s11, s11, s12
; SI-NEXT: s_and_b32 s10, s10, 0xffff
; SI-NEXT: s_or_b32 s10, s11, s10
-; SI-NEXT: v_readlane_b32 s11, v47, 31
+; SI-NEXT: v_readlane_b32 s11, v47, 29
; SI-NEXT: s_add_i32 s11, s11, 3
-; SI-NEXT: v_readlane_b32 s12, v47, 28
-; SI-NEXT: v_readlane_b32 s13, v47, 22
+; SI-NEXT: v_readlane_b32 s12, v47, 25
+; SI-NEXT: v_readlane_b32 s13, v47, 21
; SI-NEXT: s_and_b32 s11, s11, 0xff
; SI-NEXT: s_lshl_b32 s12, s12, 8
; SI-NEXT: s_add_i32 s13, s13, 3
; SI-NEXT: s_or_b32 s11, s12, s11
-; SI-NEXT: v_readlane_b32 s12, v47, 16
+; SI-NEXT: v_readlane_b32 s12, v47, 19
; SI-NEXT: s_and_b32 s13, s13, 0xff
; SI-NEXT: s_lshl_b32 s12, s12, 24
; SI-NEXT: s_lshl_b32 s13, s13, 16
@@ -174207,15 +174275,15 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; SI-NEXT: s_or_b32 s12, s12, s13
; SI-NEXT: s_and_b32 s11, s11, 0xffff
; SI-NEXT: s_or_b32 s11, s12, s11
-; SI-NEXT: v_readlane_b32 s12, v47, 38
+; SI-NEXT: v_readlane_b32 s12, v47, 34
; SI-NEXT: s_add_i32 s12, s12, 3
-; SI-NEXT: v_readlane_b32 s13, v47, 36
-; SI-NEXT: v_readlane_b32 s14, v47, 33
+; SI-NEXT: v_readlane_b32 s13, v47, 33
+; SI-NEXT: v_readlane_b32 s14, v47, 27
; SI-NEXT: s_and_b32 s12, s12, 0xff
; SI-NEXT: s_lshl_b32 s13, s13, 8
; SI-NEXT: s_add_i32 s14, s14, 3
; SI-NEXT: s_or_b32 s12, s13, s12
-; SI-NEXT: v_readlane_b32 s13, v47, 34
+; SI-NEXT: v_readlane_b32 s13, v47, 28
; SI-NEXT: s_and_b32 s14, s14, 0xff
; SI-NEXT: s_lshl_b32 s13, s13, 24
; SI-NEXT: s_lshl_b32 s14, s14, 16
@@ -174223,15 +174291,15 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; SI-NEXT: s_or_b32 s13, s13, s14
; SI-NEXT: s_and_b32 s12, s12, 0xffff
; SI-NEXT: s_or_b32 s12, s13, s12
-; SI-NEXT: v_readlane_b32 s13, v47, 26
+; SI-NEXT: v_readlane_b32 s13, v47, 24
; SI-NEXT: s_add_i32 s13, s13, 3
-; SI-NEXT: v_readlane_b32 s14, v47, 24
-; SI-NEXT: v_readlane_b32 s15, v47, 19
+; SI-NEXT: v_readlane_b32 s14, v47, 22
+; SI-NEXT: v_readlane_b32 s15, v47, 17
; SI-NEXT: s_and_b32 s13, s13, 0xff
; SI-NEXT: s_lshl_b32 s14, s14, 8
; SI-NEXT: s_add_i32 s15, s15, 3
; SI-NEXT: s_or_b32 s13, s14, s13
-; SI-NEXT: v_readlane_b32 s14, v47, 20
+; SI-NEXT: v_readlane_b32 s14, v47, 18
; SI-NEXT: s_and_b32 s15, s15, 0xff
; SI-NEXT: s_lshl_b32 s14, s14, 24
; SI-NEXT: s_lshl_b32 s15, s15, 16
@@ -174239,15 +174307,15 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; SI-NEXT: s_or_b32 s14, s14, s15
; SI-NEXT: s_and_b32 s13, s13, 0xffff
; SI-NEXT: s_or_b32 s13, s14, s13
-; SI-NEXT: v_readlane_b32 s14, v47, 23
+; SI-NEXT: v_readlane_b32 s14, v47, 16
; SI-NEXT: s_add_i32 s14, s14, 3
-; SI-NEXT: v_readlane_b32 s15, v47, 18
-; SI-NEXT: v_readlane_b32 s16, v47, 13
+; SI-NEXT: v_readlane_b32 s15, v47, 15
+; SI-NEXT: v_readlane_b32 s16, v47, 10
; SI-NEXT: s_and_b32 s14, s14, 0xff
; SI-NEXT: s_lshl_b32 s15, s15, 8
; SI-NEXT: s_add_i32 s16, s16, 3
; SI-NEXT: s_or_b32 s14, s15, s14
-; SI-NEXT: v_readlane_b32 s15, v47, 14
+; SI-NEXT: v_readlane_b32 s15, v47, 11
; SI-NEXT: s_and_b32 s16, s16, 0xff
; SI-NEXT: s_lshl_b32 s15, s15, 24
; SI-NEXT: s_lshl_b32 s16, s16, 16
@@ -174258,12 +174326,12 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; SI-NEXT: v_readlane_b32 s15, v47, 9
; SI-NEXT: s_add_i32 s15, s15, 3
; SI-NEXT: v_readlane_b32 s16, v47, 8
-; SI-NEXT: v_readlane_b32 s17, v47, 4
+; SI-NEXT: v_readlane_b32 s17, v47, 6
; SI-NEXT: s_and_b32 s15, s15, 0xff
; SI-NEXT: s_lshl_b32 s16, s16, 8
; SI-NEXT: s_add_i32 s17, s17, 3
; SI-NEXT: s_or_b32 s15, s16, s15
-; SI-NEXT: v_readlane_b32 s16, v47, 5
+; SI-NEXT: v_readlane_b32 s16, v47, 7
; SI-NEXT: s_and_b32 s17, s17, 0xff
; SI-NEXT: s_lshl_b32 s16, s16, 24
; SI-NEXT: s_lshl_b32 s17, s17, 16
@@ -174271,15 +174339,15 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: s_and_b32 s15, s15, 0xffff
; SI-NEXT: s_or_b32 s15, s16, s15
-; SI-NEXT: v_readlane_b32 s16, v47, 7
+; SI-NEXT: v_readlane_b32 s16, v47, 5
; SI-NEXT: s_add_i32 s16, s16, 3
-; SI-NEXT: v_readlane_b32 s17, v47, 3
-; SI-NEXT: v_readlane_b32 s18, v56, 63
+; SI-NEXT: v_readlane_b32 s17, v47, 4
+; SI-NEXT: v_readlane_b32 s18, v47, 2
; SI-NEXT: s_and_b32 s16, s16, 0xff
; SI-NEXT: s_lshl_b32 s17, s17, 8
; SI-NEXT: s_add_i32 s18, s18, 3
; SI-NEXT: s_or_b32 s16, s17, s16
-; SI-NEXT: v_readlane_b32 s17, v47, 0
+; SI-NEXT: v_readlane_b32 s17, v47, 3
; SI-NEXT: s_and_b32 s18, s18, 0xff
; SI-NEXT: s_addk_i32 s16, 0x300
; SI-NEXT: s_lshl_b32 s17, s17, 24
@@ -174288,15 +174356,15 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; SI-NEXT: s_or_b32 s17, s17, s18
; SI-NEXT: s_or_b32 s16, s17, s16
; SI-NEXT: s_add_i32 s40, s16, 0x3000000
-; SI-NEXT: v_readlane_b32 s16, v56, 61
+; SI-NEXT: v_readlane_b32 s16, v47, 0
; SI-NEXT: s_add_i32 s16, s16, 3
-; SI-NEXT: v_readlane_b32 s17, v56, 60
-; SI-NEXT: v_readlane_b32 s18, v56, 57
+; SI-NEXT: v_readlane_b32 s17, v56, 62
+; SI-NEXT: v_readlane_b32 s18, v56, 60
; SI-NEXT: s_and_b32 s16, s16, 0xff
; SI-NEXT: s_lshl_b32 s17, s17, 8
; SI-NEXT: s_add_i32 s18, s18, 3
; SI-NEXT: s_or_b32 s16, s17, s16
-; SI-NEXT: v_readlane_b32 s17, v56, 58
+; SI-NEXT: v_readlane_b32 s17, v56, 61
; SI-NEXT: s_and_b32 s18, s18, 0xff
; SI-NEXT: s_addk_i32 s16, 0x300
; SI-NEXT: s_lshl_b32 s17, s17, 24
@@ -174307,13 +174375,13 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; SI-NEXT: s_add_i32 s41, s16, 0x3000000
; SI-NEXT: v_readlane_b32 s16, v56, 59
; SI-NEXT: s_add_i32 s16, s16, 3
-; SI-NEXT: v_readlane_b32 s17, v56, 56
-; SI-NEXT: v_readlane_b32 s18, v56, 53
+; SI-NEXT: v_readlane_b32 s17, v56, 58
+; SI-NEXT: v_readlane_b32 s18, v56, 56
; SI-NEXT: s_and_b32 s16, s16, 0xff
; SI-NEXT: s_lshl_b32 s17, s17, 8
; SI-NEXT: s_add_i32 s18, s18, 3
; SI-NEXT: s_or_b32 s16, s17, s16
-; SI-NEXT: v_readlane_b32 s17, v56, 54
+; SI-NEXT: v_readlane_b32 s17, v56, 57
; SI-NEXT: s_and_b32 s18, s18, 0xff
; SI-NEXT: s_addk_i32 s16, 0x300
; SI-NEXT: s_lshl_b32 s17, s17, 24
@@ -174322,15 +174390,15 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; SI-NEXT: s_or_b32 s17, s17, s18
; SI-NEXT: s_or_b32 s16, s17, s16
; SI-NEXT: s_add_i32 s42, s16, 0x3000000
-; SI-NEXT: v_readlane_b32 s16, v56, 51
+; SI-NEXT: v_readlane_b32 s16, v56, 55
; SI-NEXT: s_add_i32 s16, s16, 3
-; SI-NEXT: v_readlane_b32 s17, v56, 50
-; SI-NEXT: v_readlane_b32 s18, v56, 46
+; SI-NEXT: v_readlane_b32 s17, v56, 54
+; SI-NEXT: v_readlane_b32 s18, v56, 51
; SI-NEXT: s_and_b32 s16, s16, 0xff
; SI-NEXT: s_lshl_b32 s17, s17, 8
; SI-NEXT: s_add_i32 s18, s18, 3
; SI-NEXT: s_or_b32 s16, s17, s16
-; SI-NEXT: v_readlane_b32 s17, v56, 47
+; SI-NEXT: v_readlane_b32 s17, v56, 52
; SI-NEXT: s_and_b32 s18, s18, 0xff
; SI-NEXT: s_addk_i32 s16, 0x300
; SI-NEXT: s_lshl_b32 s17, s17, 24
@@ -174339,15 +174407,15 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; SI-NEXT: s_or_b32 s17, s17, s18
; SI-NEXT: s_or_b32 s16, s17, s16
; SI-NEXT: s_add_i32 s43, s16, 0x3000000
-; SI-NEXT: v_readlane_b32 s16, v56, 49
+; SI-NEXT: v_readlane_b32 s16, v56, 53
; SI-NEXT: s_add_i32 s16, s16, 3
-; SI-NEXT: v_readlane_b32 s17, v56, 48
-; SI-NEXT: v_readlane_b32 s18, v56, 44
+; SI-NEXT: v_readlane_b32 s17, v56, 50
+; SI-NEXT: v_readlane_b32 s18, v56, 48
; SI-NEXT: s_and_b32 s16, s16, 0xff
; SI-NEXT: s_lshl_b32 s17, s17, 8
; SI-NEXT: s_add_i32 s18, s18, 3
; SI-NEXT: s_or_b32 s16, s17, s16
-; SI-NEXT: v_readlane_b32 s17, v56, 45
+; SI-NEXT: v_readlane_b32 s17, v56, 49
; SI-NEXT: s_and_b32 s18, s18, 0xff
; SI-NEXT: s_addk_i32 s16, 0x300
; SI-NEXT: s_lshl_b32 s17, s17, 24
@@ -174356,15 +174424,15 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; SI-NEXT: s_or_b32 s17, s17, s18
; SI-NEXT: s_or_b32 s16, s17, s16
; SI-NEXT: s_add_i32 s44, s16, 0x3000000
-; SI-NEXT: v_readlane_b32 s16, v56, 43
+; SI-NEXT: v_readlane_b32 s16, v56, 47
; SI-NEXT: s_add_i32 s16, s16, 3
-; SI-NEXT: v_readlane_b32 s17, v56, 42
-; SI-NEXT: v_readlane_b32 s18, v56, 38
+; SI-NEXT: v_readlane_b32 s17, v56, 46
+; SI-NEXT: v_readlane_b32 s18, v56, 43
; SI-NEXT: s_and_b32 s16, s16, 0xff
; SI-NEXT: s_lshl_b32 s17, s17, 8
; SI-NEXT: s_add_i32 s18, s18, 3
; SI-NEXT: s_or_b32 s16, s17, s16
-; SI-NEXT: v_readlane_b32 s17, v56, 39
+; SI-NEXT: v_readlane_b32 s17, v56, 44
; SI-NEXT: s_and_b32 s18, s18, 0xff
; SI-NEXT: s_addk_i32 s16, 0x300
; SI-NEXT: s_lshl_b32 s17, s17, 24
@@ -174373,14 +174441,15 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; SI-NEXT: s_or_b32 s17, s17, s18
; SI-NEXT: s_or_b32 s16, s17, s16
; SI-NEXT: s_add_i32 s45, s16, 0x3000000
-; SI-NEXT: v_readlane_b32 s16, v56, 41
+; SI-NEXT: v_readlane_b32 s16, v56, 45
; SI-NEXT: s_add_i32 s16, s16, 3
-; SI-NEXT: v_readlane_b32 s17, v56, 40
+; SI-NEXT: v_readlane_b32 s17, v56, 42
+; SI-NEXT: v_readlane_b32 s18, v56, 40
; SI-NEXT: s_and_b32 s16, s16, 0xff
; SI-NEXT: s_lshl_b32 s17, s17, 8
-; SI-NEXT: s_add_i32 s18, s87, 3
+; SI-NEXT: s_add_i32 s18, s18, 3
; SI-NEXT: s_or_b32 s16, s17, s16
-; SI-NEXT: v_readlane_b32 s17, v56, 37
+; SI-NEXT: v_readlane_b32 s17, v56, 41
; SI-NEXT: s_and_b32 s18, s18, 0xff
; SI-NEXT: s_addk_i32 s16, 0x300
; SI-NEXT: s_lshl_b32 s17, s17, 24
@@ -174389,89 +174458,88 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; SI-NEXT: s_or_b32 s17, s17, s18
; SI-NEXT: s_or_b32 s16, s17, s16
; SI-NEXT: s_add_i32 s46, s16, 0x3000000
-; SI-NEXT: s_add_i32 s16, s28, 3
+; SI-NEXT: v_readlane_b32 s16, v56, 39
+; SI-NEXT: s_add_i32 s16, s16, 3
; SI-NEXT: s_and_b32 s16, s16, 0xff
-; SI-NEXT: s_lshl_b32 s17, s25, 8
-; SI-NEXT: s_add_i32 s18, s85, 3
+; SI-NEXT: s_lshl_b32 s17, s68, 8
+; SI-NEXT: s_add_i32 s18, s81, 3
; SI-NEXT: s_or_b32 s16, s17, s16
; SI-NEXT: s_and_b32 s18, s18, 0xff
; SI-NEXT: s_addk_i32 s16, 0x300
-; SI-NEXT: s_lshl_b32 s17, s22, 24
+; SI-NEXT: s_lshl_b32 s17, s69, 24
; SI-NEXT: s_lshl_b32 s18, s18, 16
; SI-NEXT: s_and_b32 s16, s16, 0xffff
; SI-NEXT: s_or_b32 s17, s17, s18
; SI-NEXT: s_or_b32 s16, s17, s16
; SI-NEXT: s_add_i32 s47, s16, 0x3000000
-; SI-NEXT: v_readlane_b32 s16, v56, 16
+; SI-NEXT: v_readlane_b32 s16, v56, 18
; SI-NEXT: s_add_i32 s16, s16, 3
-; SI-NEXT: v_readlane_b32 s17, v56, 15
+; SI-NEXT: v_readlane_b32 s17, v56, 17
; SI-NEXT: s_and_b32 s16, s16, 0xff
; SI-NEXT: s_lshl_b32 s17, s17, 8
; SI-NEXT: s_or_b32 s16, s17, s16
; SI-NEXT: s_addk_i32 s16, 0x300
; SI-NEXT: s_and_b32 s17, s16, 0xffff
-; SI-NEXT: v_readlane_b32 s16, v56, 13
+; SI-NEXT: v_readlane_b32 s16, v56, 15
; SI-NEXT: s_lshl_b32 s18, s16, 24
-; SI-NEXT: v_readlane_b32 s16, v56, 14
+; SI-NEXT: v_readlane_b32 s16, v56, 16
; SI-NEXT: s_add_i32 s16, s16, 3
; SI-NEXT: s_and_b32 s16, s16, 0xff
; SI-NEXT: s_lshl_b32 s16, s16, 16
; SI-NEXT: s_or_b32 s16, s18, s16
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: s_add_i32 s56, s16, 0x3000000
-; SI-NEXT: v_readlane_b32 s16, v56, 12
+; SI-NEXT: v_readlane_b32 s16, v56, 14
; SI-NEXT: s_add_i32 s16, s16, 3
; SI-NEXT: s_and_b32 s16, s16, 0xff
-; SI-NEXT: s_lshl_b32 s17, s27, 8
-; SI-NEXT: s_add_i32 s18, s26, 3
+; SI-NEXT: s_lshl_b32 s17, s19, 8
+; SI-NEXT: s_add_i32 s18, s27, 3
; SI-NEXT: s_or_b32 s16, s17, s16
; SI-NEXT: s_and_b32 s18, s18, 0xff
; SI-NEXT: s_addk_i32 s16, 0x300
-; SI-NEXT: s_lshl_b32 s17, vcc_hi, 24
+; SI-NEXT: s_lshl_b32 s17, s20, 24
; SI-NEXT: s_lshl_b32 s18, s18, 16
; SI-NEXT: s_and_b32 s16, s16, 0xffff
; SI-NEXT: s_or_b32 s17, s17, s18
; SI-NEXT: s_or_b32 s16, s17, s16
; SI-NEXT: s_add_i32 s57, s16, 0x3000000
-; SI-NEXT: v_readlane_b32 s16, v56, 24
-; SI-NEXT: s_add_i32 s16, s16, 3
+; SI-NEXT: s_add_i32 s16, s21, 3
; SI-NEXT: s_and_b32 s17, s16, 0xff
-; SI-NEXT: v_readlane_b32 s16, v56, 23
+; SI-NEXT: v_readlane_b32 s16, v56, 25
; SI-NEXT: s_lshl_b32 s16, s16, 8
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: s_addk_i32 s16, 0x300
; SI-NEXT: s_and_b32 s17, s16, 0xffff
-; SI-NEXT: v_readlane_b32 s16, v56, 21
+; SI-NEXT: v_readlane_b32 s16, v56, 23
; SI-NEXT: s_lshl_b32 s18, s16, 24
-; SI-NEXT: v_readlane_b32 s16, v56, 22
+; SI-NEXT: v_readlane_b32 s16, v56, 24
; SI-NEXT: s_add_i32 s16, s16, 3
; SI-NEXT: s_and_b32 s16, s16, 0xff
; SI-NEXT: s_lshl_b32 s16, s16, 16
; SI-NEXT: s_or_b32 s16, s18, s16
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: s_add_i32 s58, s16, 0x3000000
-; SI-NEXT: v_readlane_b32 s16, v56, 20
+; SI-NEXT: v_readlane_b32 s16, v56, 22
; SI-NEXT: s_add_i32 s16, s16, 3
; SI-NEXT: s_and_b32 s17, s16, 0xff
-; SI-NEXT: v_readlane_b32 s16, v56, 19
+; SI-NEXT: v_readlane_b32 s16, v56, 21
; SI-NEXT: s_lshl_b32 s16, s16, 8
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: s_addk_i32 s16, 0x300
; SI-NEXT: s_and_b32 s17, s16, 0xffff
-; SI-NEXT: v_readlane_b32 s16, v56, 17
+; SI-NEXT: v_readlane_b32 s16, v56, 19
; SI-NEXT: s_lshl_b32 s18, s16, 24
-; SI-NEXT: v_readlane_b32 s16, v56, 18
+; SI-NEXT: v_readlane_b32 s16, v56, 20
; SI-NEXT: s_add_i32 s16, s16, 3
; SI-NEXT: s_and_b32 s16, s16, 0xff
; SI-NEXT: s_lshl_b32 s16, s16, 16
; SI-NEXT: s_or_b32 s16, s18, s16
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: s_add_i32 s59, s16, 0x3000000
-; SI-NEXT: s_add_i32 s16, s76, 3
-; SI-NEXT: v_readlane_b32 s17, v56, 29
+; SI-NEXT: s_add_i32 s16, s22, 3
; SI-NEXT: s_and_b32 s16, s16, 0xff
-; SI-NEXT: s_lshl_b32 s17, s17, 8
-; SI-NEXT: s_add_i32 s18, s97, 3
+; SI-NEXT: s_lshl_b32 s17, s77, 8
+; SI-NEXT: s_add_i32 s18, s98, 3
; SI-NEXT: s_or_b32 s16, s17, s16
; SI-NEXT: s_and_b32 s18, s18, 0xff
; SI-NEXT: s_addk_i32 s16, 0x300
@@ -174481,15 +174549,13 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; SI-NEXT: s_or_b32 s17, s17, s18
; SI-NEXT: s_or_b32 s16, s17, s16
; SI-NEXT: s_add_i32 s60, s16, 0x3000000
-; SI-NEXT: v_readlane_b32 s16, v56, 28
-; SI-NEXT: s_add_i32 s16, s16, 3
-; SI-NEXT: v_readlane_b32 s17, v56, 27
-; SI-NEXT: v_readlane_b32 s18, v56, 26
+; SI-NEXT: s_add_i32 s16, s86, 3
+; SI-NEXT: v_readlane_b32 s18, v56, 27
; SI-NEXT: s_and_b32 s16, s16, 0xff
-; SI-NEXT: s_lshl_b32 s17, s17, 8
+; SI-NEXT: s_lshl_b32 s17, s85, 8
; SI-NEXT: s_add_i32 s18, s18, 3
; SI-NEXT: s_or_b32 s16, s17, s16
-; SI-NEXT: v_readlane_b32 s17, v56, 25
+; SI-NEXT: v_readlane_b32 s17, v56, 26
; SI-NEXT: s_and_b32 s18, s18, 0xff
; SI-NEXT: s_addk_i32 s16, 0x300
; SI-NEXT: s_lshl_b32 s17, s17, 24
@@ -174498,29 +174564,28 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; SI-NEXT: s_or_b32 s17, s17, s18
; SI-NEXT: s_or_b32 s16, s17, s16
; SI-NEXT: s_add_i32 s61, s16, 0x3000000
-; SI-NEXT: s_add_i32 s16, s77, 3
-; SI-NEXT: v_readlane_b32 s17, v56, 34
+; SI-NEXT: v_readlane_b32 s16, v56, 31
+; SI-NEXT: s_add_i32 s16, s16, 3
; SI-NEXT: s_and_b32 s16, s16, 0xff
-; SI-NEXT: s_lshl_b32 s17, s17, 8
+; SI-NEXT: s_lshl_b32 s17, s76, 8
; SI-NEXT: s_add_i32 s18, s99, 3
; SI-NEXT: s_or_b32 s16, s17, s16
; SI-NEXT: s_and_b32 s18, s18, 0xff
; SI-NEXT: s_addk_i32 s16, 0x300
-; SI-NEXT: s_lshl_b32 s17, s98, 24
+; SI-NEXT: s_lshl_b32 s17, s97, 24
; SI-NEXT: s_lshl_b32 s18, s18, 16
; SI-NEXT: s_and_b32 s16, s16, 0xffff
; SI-NEXT: s_or_b32 s17, s17, s18
; SI-NEXT: s_or_b32 s16, s17, s16
; SI-NEXT: s_add_i32 s62, s16, 0x3000000
-; SI-NEXT: v_readlane_b32 s16, v56, 33
-; SI-NEXT: s_add_i32 s16, s16, 3
-; SI-NEXT: v_readlane_b32 s17, v56, 32
-; SI-NEXT: v_readlane_b32 s18, v56, 31
+; SI-NEXT: s_add_i32 s16, s87, 3
+; SI-NEXT: v_readlane_b32 s17, v56, 30
+; SI-NEXT: v_readlane_b32 s18, v56, 29
; SI-NEXT: s_and_b32 s16, s16, 0xff
; SI-NEXT: s_lshl_b32 s17, s17, 8
; SI-NEXT: s_add_i32 s18, s18, 3
; SI-NEXT: s_or_b32 s16, s17, s16
-; SI-NEXT: v_readlane_b32 s17, v56, 30
+; SI-NEXT: v_readlane_b32 s17, v56, 28
; SI-NEXT: s_and_b32 s18, s18, 0xff
; SI-NEXT: s_addk_i32 s16, 0x300
; SI-NEXT: s_lshl_b32 s17, s17, 24
@@ -174529,7 +174594,8 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; SI-NEXT: s_or_b32 s17, s17, s18
; SI-NEXT: s_or_b32 s16, s17, s16
; SI-NEXT: s_add_i32 s63, s16, 0x3000000
-; SI-NEXT: s_add_i32 s16, s24, 3
+; SI-NEXT: v_readlane_b32 s16, v56, 5
+; SI-NEXT: s_add_i32 s16, s16, 3
; SI-NEXT: v_readlane_b32 s17, v56, 4
; SI-NEXT: v_readlane_b32 s18, v56, 3
; SI-NEXT: s_and_b32 s16, s16, 0xff
@@ -174548,12 +174614,11 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; SI-NEXT: v_readlane_b32 s16, v56, 1
; SI-NEXT: s_add_i32 s16, s16, 3
; SI-NEXT: v_readlane_b32 s17, v56, 0
-; SI-NEXT: v_readlane_b32 s18, v56, 36
; SI-NEXT: s_and_b32 s16, s16, 0xff
; SI-NEXT: s_lshl_b32 s17, s17, 8
-; SI-NEXT: s_add_i32 s18, s18, 3
+; SI-NEXT: s_add_i32 s18, s23, 3
; SI-NEXT: s_or_b32 s16, s17, s16
-; SI-NEXT: v_readlane_b32 s17, v56, 35
+; SI-NEXT: v_readlane_b32 s17, v56, 32
; SI-NEXT: s_and_b32 s18, s18, 0xff
; SI-NEXT: s_addk_i32 s16, 0x300
; SI-NEXT: s_lshl_b32 s17, s17, 24
@@ -174562,15 +174627,15 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; SI-NEXT: s_or_b32 s17, s17, s18
; SI-NEXT: s_or_b32 s16, s17, s16
; SI-NEXT: s_add_i32 s73, s16, 0x3000000
-; SI-NEXT: v_readlane_b32 s16, v56, 11
+; SI-NEXT: v_readlane_b32 s16, v56, 13
; SI-NEXT: s_add_i32 s16, s16, 3
-; SI-NEXT: v_readlane_b32 s17, v56, 10
-; SI-NEXT: v_readlane_b32 s18, v56, 9
+; SI-NEXT: v_readlane_b32 s17, v56, 12
+; SI-NEXT: v_readlane_b32 s18, v56, 11
; SI-NEXT: s_and_b32 s16, s16, 0xff
; SI-NEXT: s_lshl_b32 s17, s17, 8
; SI-NEXT: s_add_i32 s18, s18, 3
; SI-NEXT: s_or_b32 s16, s17, s16
-; SI-NEXT: v_readlane_b32 s17, v56, 8
+; SI-NEXT: v_readlane_b32 s17, v56, 10
; SI-NEXT: s_and_b32 s18, s18, 0xff
; SI-NEXT: s_addk_i32 s16, 0x300
; SI-NEXT: s_lshl_b32 s17, s17, 24
@@ -174579,14 +174644,15 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; SI-NEXT: s_or_b32 s17, s17, s18
; SI-NEXT: s_or_b32 s16, s17, s16
; SI-NEXT: s_add_i32 s74, s16, 0x3000000
-; SI-NEXT: s_add_i32 s16, s20, 3
-; SI-NEXT: v_readlane_b32 s17, v56, 7
-; SI-NEXT: v_readlane_b32 s18, v56, 6
+; SI-NEXT: v_readlane_b32 s16, v56, 9
+; SI-NEXT: s_add_i32 s16, s16, 3
+; SI-NEXT: v_readlane_b32 s17, v56, 8
+; SI-NEXT: v_readlane_b32 s18, v56, 7
; SI-NEXT: s_and_b32 s16, s16, 0xff
; SI-NEXT: s_lshl_b32 s17, s17, 8
; SI-NEXT: s_add_i32 s18, s18, 3
; SI-NEXT: s_or_b32 s16, s17, s16
-; SI-NEXT: v_readlane_b32 s17, v56, 5
+; SI-NEXT: v_readlane_b32 s17, v56, 6
; SI-NEXT: s_and_b32 s18, s18, 0xff
; SI-NEXT: s_addk_i32 s16, 0x300
; SI-NEXT: s_lshl_b32 s17, s17, 24
@@ -174607,142 +174673,142 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; SI-NEXT: s_add_i32 s15, s15, 0x3000000
; SI-NEXT: s_or_b32 s16, s17, s16
; SI-NEXT: s_add_i32 s75, s16, 0x3000000
-; SI-NEXT: s_lshr_b64 s[30:31], s[72:73], 16
-; SI-NEXT: s_lshr_b64 s[94:95], s[62:63], 16
-; SI-NEXT: s_lshr_b64 s[34:35], s[42:43], 16
+; SI-NEXT: s_lshr_b64 s[36:37], s[40:41], 16
; SI-NEXT: s_lshr_b64 s[38:39], s[14:15], 16
; SI-NEXT: s_lshr_b64 s[48:49], s[12:13], 16
; SI-NEXT: s_lshr_b64 s[50:51], s[10:11], 16
; SI-NEXT: s_lshr_b64 s[52:53], s[8:9], 16
; SI-NEXT: s_lshr_b64 s[54:55], s[6:7], 16
; SI-NEXT: s_lshr_b64 s[64:65], s[4:5], 16
-; SI-NEXT: s_lshr_b64 s[82:83], s[74:75], 16
-; SI-NEXT: s_lshr_b64 vcc, s[60:61], 16
-; SI-NEXT: s_lshr_b64 s[70:71], s[58:59], 16
-; SI-NEXT: s_lshr_b64 s[80:81], s[56:57], 16
+; SI-NEXT: s_lshr_b64 s[24:25], s[74:75], 16
+; SI-NEXT: s_lshr_b64 vcc, s[72:73], 16
+; SI-NEXT: s_lshr_b64 s[28:29], s[62:63], 16
+; SI-NEXT: s_lshr_b64 s[80:81], s[60:61], 16
+; SI-NEXT: s_lshr_b64 s[82:83], s[58:59], 16
+; SI-NEXT: s_lshr_b64 s[70:71], s[56:57], 16
; SI-NEXT: s_lshr_b64 s[84:85], s[46:47], 16
-; SI-NEXT: s_lshr_b64 s[68:69], s[44:45], 16
-; SI-NEXT: s_lshr_b64 s[36:37], s[40:41], 16
-; SI-NEXT: s_lshr_b32 s49, s75, 16
-; SI-NEXT: s_lshr_b32 s51, s73, 16
-; SI-NEXT: s_lshr_b32 s53, s63, 16
-; SI-NEXT: s_lshr_b32 s55, s61, 16
-; SI-NEXT: s_lshr_b32 s65, s59, 16
-; SI-NEXT: s_lshr_b32 s35, s57, 16
-; SI-NEXT: s_lshr_b32 s79, s47, 16
-; SI-NEXT: s_lshr_b32 s89, s45, 16
-; SI-NEXT: s_lshr_b32 s91, s43, 16
-; SI-NEXT: s_lshr_b32 s93, s41, 16
-; SI-NEXT: s_lshr_b32 s95, s15, 16
-; SI-NEXT: s_lshr_b32 s31, s13, 16
-; SI-NEXT: s_lshr_b32 s17, s11, 16
-; SI-NEXT: s_lshr_b32 s92, s9, 16
-; SI-NEXT: s_lshr_b32 s78, s7, 16
-; SI-NEXT: s_lshr_b32 s39, s5, 16
+; SI-NEXT: s_lshr_b64 s[30:31], s[44:45], 16
+; SI-NEXT: s_lshr_b64 s[34:35], s[42:43], 16
+; SI-NEXT: s_lshr_b32 s37, s75, 16
+; SI-NEXT: s_lshr_b32 s39, s73, 16
+; SI-NEXT: s_lshr_b32 s49, s63, 16
+; SI-NEXT: s_lshr_b32 s90, s61, 16
+; SI-NEXT: s_lshr_b32 s78, s59, 16
+; SI-NEXT: s_lshr_b32 s51, s57, 16
+; SI-NEXT: s_lshr_b32 s53, s47, 16
+; SI-NEXT: s_lshr_b32 s55, s45, 16
+; SI-NEXT: s_lshr_b32 s65, s43, 16
+; SI-NEXT: s_lshr_b32 s79, s41, 16
+; SI-NEXT: s_lshr_b32 s89, s15, 16
+; SI-NEXT: s_lshr_b32 s91, s13, 16
+; SI-NEXT: s_lshr_b32 s93, s11, 16
+; SI-NEXT: s_lshr_b32 s95, s9, 16
+; SI-NEXT: s_lshr_b32 s92, s7, 16
+; SI-NEXT: s_lshr_b32 s16, s5, 16
; SI-NEXT: .LBB93_5: ; %end
; SI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:336 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:340 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:344 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:348 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:352 ; 4-byte Folded Reload
-; SI-NEXT: s_and_b32 s16, s74, 0xffff
-; SI-NEXT: s_lshl_b32 s19, s82, 16
-; SI-NEXT: s_or_b32 s16, s16, s19
+; SI-NEXT: s_and_b32 s18, s74, 0xffff
+; SI-NEXT: s_lshl_b32 s19, s24, 16
+; SI-NEXT: s_or_b32 s18, s18, s19
; SI-NEXT: s_and_b32 s19, s75, 0xffff
-; SI-NEXT: s_lshl_b32 s20, s49, 16
+; SI-NEXT: s_lshl_b32 s20, s37, 16
; SI-NEXT: s_or_b32 s19, s19, s20
; SI-NEXT: s_and_b32 s20, s72, 0xffff
-; SI-NEXT: s_lshl_b32 s21, s30, 16
+; SI-NEXT: s_lshl_b32 s21, vcc_lo, 16
; SI-NEXT: s_or_b32 s20, s20, s21
; SI-NEXT: s_and_b32 s21, s73, 0xffff
-; SI-NEXT: s_lshl_b32 s22, s51, 16
+; SI-NEXT: s_lshl_b32 s22, s39, 16
; SI-NEXT: s_or_b32 s21, s21, s22
; SI-NEXT: s_and_b32 s22, s62, 0xffff
-; SI-NEXT: s_lshl_b32 s23, s94, 16
+; SI-NEXT: s_lshl_b32 s23, s28, 16
; SI-NEXT: s_or_b32 s22, s22, s23
; SI-NEXT: s_and_b32 s23, s63, 0xffff
-; SI-NEXT: s_lshl_b32 s24, s53, 16
+; SI-NEXT: s_lshl_b32 s24, s49, 16
; SI-NEXT: s_or_b32 s23, s23, s24
; SI-NEXT: s_and_b32 s24, s60, 0xffff
-; SI-NEXT: s_lshl_b32 s25, vcc_lo, 16
-; SI-NEXT: s_or_b32 s24, s24, s25
-; SI-NEXT: s_and_b32 s25, s61, 0xffff
-; SI-NEXT: s_lshl_b32 s26, s55, 16
-; SI-NEXT: s_or_b32 s25, s25, s26
+; SI-NEXT: s_lshl_b32 s26, s80, 16
+; SI-NEXT: s_or_b32 s24, s24, s26
+; SI-NEXT: s_and_b32 s26, s61, 0xffff
+; SI-NEXT: s_lshl_b32 s25, s90, 16
+; SI-NEXT: s_or_b32 s25, s26, s25
; SI-NEXT: s_and_b32 s26, s58, 0xffff
-; SI-NEXT: s_lshl_b32 s27, s70, 16
+; SI-NEXT: s_lshl_b32 s27, s82, 16
; SI-NEXT: s_or_b32 s26, s26, s27
; SI-NEXT: s_and_b32 s27, s59, 0xffff
-; SI-NEXT: s_lshl_b32 s28, s65, 16
+; SI-NEXT: s_lshl_b32 s17, s78, 16
+; SI-NEXT: s_or_b32 s17, s27, s17
+; SI-NEXT: s_and_b32 s27, s56, 0xffff
+; SI-NEXT: s_lshl_b32 s28, s70, 16
; SI-NEXT: s_or_b32 s27, s27, s28
-; SI-NEXT: s_and_b32 s28, s56, 0xffff
-; SI-NEXT: s_lshl_b32 s29, s80, 16
+; SI-NEXT: s_and_b32 s28, s57, 0xffff
+; SI-NEXT: s_lshl_b32 s29, s51, 16
; SI-NEXT: s_or_b32 s28, s28, s29
-; SI-NEXT: s_and_b32 s29, s57, 0xffff
-; SI-NEXT: s_lshl_b32 s56, s35, 16
-; SI-NEXT: s_or_b32 s29, s29, s56
-; SI-NEXT: s_and_b32 s46, s46, 0xffff
-; SI-NEXT: s_lshl_b32 s56, s84, 16
-; SI-NEXT: s_or_b32 s46, s46, s56
-; SI-NEXT: s_and_b32 s47, s47, 0xffff
-; SI-NEXT: s_lshl_b32 s56, s79, 16
-; SI-NEXT: s_or_b32 s47, s47, s56
+; SI-NEXT: s_and_b32 s29, s46, 0xffff
+; SI-NEXT: s_lshl_b32 s46, s84, 16
+; SI-NEXT: s_or_b32 s29, s29, s46
+; SI-NEXT: s_and_b32 s46, s47, 0xffff
+; SI-NEXT: s_lshl_b32 s47, s53, 16
+; SI-NEXT: s_or_b32 s46, s46, s47
; SI-NEXT: s_and_b32 s44, s44, 0xffff
-; SI-NEXT: s_lshl_b32 s56, s68, 16
-; SI-NEXT: s_or_b32 s44, s44, s56
+; SI-NEXT: s_lshl_b32 s47, s30, 16
+; SI-NEXT: s_or_b32 s44, s44, s47
; SI-NEXT: s_and_b32 s45, s45, 0xffff
-; SI-NEXT: s_lshl_b32 s56, s89, 16
-; SI-NEXT: s_or_b32 s45, s45, s56
+; SI-NEXT: s_lshl_b32 s47, s55, 16
+; SI-NEXT: s_or_b32 s45, s45, s47
; SI-NEXT: s_and_b32 s42, s42, 0xffff
-; SI-NEXT: s_lshl_b32 s56, s34, 16
-; SI-NEXT: s_or_b32 s42, s42, s56
+; SI-NEXT: s_lshl_b32 s47, s34, 16
+; SI-NEXT: s_or_b32 s42, s42, s47
; SI-NEXT: s_and_b32 s43, s43, 0xffff
-; SI-NEXT: s_lshl_b32 s56, s91, 16
-; SI-NEXT: s_or_b32 s43, s43, s56
+; SI-NEXT: s_lshl_b32 s47, s65, 16
+; SI-NEXT: s_or_b32 s43, s43, s47
; SI-NEXT: s_and_b32 s40, s40, 0xffff
-; SI-NEXT: s_lshl_b32 s56, s36, 16
-; SI-NEXT: s_and_b32 s11, s11, 0xffff
-; SI-NEXT: s_lshl_b32 s17, s17, 16
-; SI-NEXT: s_or_b32 s40, s40, s56
+; SI-NEXT: s_lshl_b32 s47, s36, 16
+; SI-NEXT: s_or_b32 s40, s40, s47
; SI-NEXT: s_and_b32 s41, s41, 0xffff
-; SI-NEXT: s_lshl_b32 s56, s93, 16
-; SI-NEXT: s_or_b32 s11, s11, s17
-; SI-NEXT: s_and_b32 s8, s8, 0xffff
-; SI-NEXT: s_lshl_b32 s17, s52, 16
-; SI-NEXT: s_or_b32 s41, s41, s56
+; SI-NEXT: s_lshl_b32 s47, s79, 16
+; SI-NEXT: s_or_b32 s41, s41, s47
; SI-NEXT: s_and_b32 s14, s14, 0xffff
-; SI-NEXT: s_lshl_b32 s56, s38, 16
-; SI-NEXT: s_or_b32 s8, s8, s17
-; SI-NEXT: s_and_b32 s9, s9, 0xffff
-; SI-NEXT: s_lshl_b32 s17, s92, 16
-; SI-NEXT: s_or_b32 s14, s14, s56
+; SI-NEXT: s_lshl_b32 s47, s38, 16
+; SI-NEXT: s_or_b32 s14, s14, s47
; SI-NEXT: s_and_b32 s15, s15, 0xffff
-; SI-NEXT: s_lshl_b32 s56, s95, 16
-; SI-NEXT: s_or_b32 s9, s9, s17
-; SI-NEXT: s_and_b32 s6, s6, 0xffff
-; SI-NEXT: s_lshl_b32 s17, s54, 16
-; SI-NEXT: s_or_b32 s15, s15, s56
+; SI-NEXT: s_lshl_b32 s47, s89, 16
+; SI-NEXT: s_or_b32 s15, s15, s47
; SI-NEXT: s_and_b32 s12, s12, 0xffff
-; SI-NEXT: s_lshl_b32 s56, s48, 16
-; SI-NEXT: s_or_b32 s6, s6, s17
-; SI-NEXT: s_and_b32 s7, s7, 0xffff
-; SI-NEXT: s_lshl_b32 s17, s78, 16
-; SI-NEXT: s_or_b32 s12, s12, s56
+; SI-NEXT: s_lshl_b32 s47, s48, 16
+; SI-NEXT: s_or_b32 s12, s12, s47
; SI-NEXT: s_and_b32 s13, s13, 0xffff
-; SI-NEXT: s_lshl_b32 s56, s31, 16
-; SI-NEXT: s_or_b32 s7, s7, s17
-; SI-NEXT: s_and_b32 s4, s4, 0xffff
-; SI-NEXT: s_lshl_b32 s17, s64, 16
-; SI-NEXT: s_or_b32 s13, s13, s56
+; SI-NEXT: s_lshl_b32 s47, s91, 16
+; SI-NEXT: s_or_b32 s13, s13, s47
; SI-NEXT: s_and_b32 s10, s10, 0xffff
-; SI-NEXT: s_lshl_b32 s56, s50, 16
-; SI-NEXT: s_or_b32 s4, s4, s17
+; SI-NEXT: s_lshl_b32 s47, s50, 16
+; SI-NEXT: s_or_b32 s10, s10, s47
+; SI-NEXT: s_and_b32 s11, s11, 0xffff
+; SI-NEXT: s_lshl_b32 s47, s93, 16
+; SI-NEXT: s_or_b32 s11, s11, s47
+; SI-NEXT: s_and_b32 s8, s8, 0xffff
+; SI-NEXT: s_lshl_b32 s47, s52, 16
+; SI-NEXT: s_or_b32 s8, s8, s47
+; SI-NEXT: s_and_b32 s9, s9, 0xffff
+; SI-NEXT: s_lshl_b32 s47, s95, 16
+; SI-NEXT: s_or_b32 s9, s9, s47
+; SI-NEXT: s_and_b32 s6, s6, 0xffff
+; SI-NEXT: s_lshl_b32 s47, s54, 16
+; SI-NEXT: s_or_b32 s6, s6, s47
+; SI-NEXT: s_and_b32 s7, s7, 0xffff
+; SI-NEXT: s_lshl_b32 s47, s92, 16
+; SI-NEXT: s_or_b32 s7, s7, s47
+; SI-NEXT: s_and_b32 s4, s4, 0xffff
+; SI-NEXT: s_lshl_b32 s47, s64, 16
; SI-NEXT: s_and_b32 s5, s5, 0xffff
-; SI-NEXT: s_lshl_b32 s17, s39, 16
-; SI-NEXT: s_or_b32 s10, s10, s56
-; SI-NEXT: s_or_b32 s5, s5, s17
+; SI-NEXT: s_lshl_b32 s16, s16, 16
+; SI-NEXT: s_or_b32 s4, s4, s47
+; SI-NEXT: s_or_b32 s5, s5, s16
; SI-NEXT: v_readlane_b32 s30, v45, 34
-; SI-NEXT: v_mov_b32_e32 v0, s16
+; SI-NEXT: v_mov_b32_e32 v0, s18
; SI-NEXT: v_mov_b32_e32 v1, s19
; SI-NEXT: v_mov_b32_e32 v2, s20
; SI-NEXT: v_mov_b32_e32 v3, s21
@@ -174751,11 +174817,11 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; SI-NEXT: v_mov_b32_e32 v6, s24
; SI-NEXT: v_mov_b32_e32 v7, s25
; SI-NEXT: v_mov_b32_e32 v8, s26
-; SI-NEXT: v_mov_b32_e32 v9, s27
-; SI-NEXT: v_mov_b32_e32 v10, s28
-; SI-NEXT: v_mov_b32_e32 v11, s29
-; SI-NEXT: v_mov_b32_e32 v12, s46
-; SI-NEXT: v_mov_b32_e32 v13, s47
+; SI-NEXT: v_mov_b32_e32 v9, s17
+; SI-NEXT: v_mov_b32_e32 v10, s27
+; SI-NEXT: v_mov_b32_e32 v11, s28
+; SI-NEXT: v_mov_b32_e32 v12, s29
+; SI-NEXT: v_mov_b32_e32 v13, s46
; SI-NEXT: v_mov_b32_e32 v14, s44
; SI-NEXT: v_mov_b32_e32 v15, s45
; SI-NEXT: v_mov_b32_e32 v16, s42
@@ -174841,13 +174907,13 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; VI-NEXT: v_readfirstlane_b32 s63, v12
; VI-NEXT: v_readfirstlane_b32 s45, v11
; VI-NEXT: v_readfirstlane_b32 s58, v10
-; VI-NEXT: v_readfirstlane_b32 s75, v30
; VI-NEXT: v_readfirstlane_b32 s74, v14
-; VI-NEXT: v_readfirstlane_b32 s60, v26
-; VI-NEXT: v_readfirstlane_b32 s43, v25
+; VI-NEXT: v_readfirstlane_b32 s75, v30
; VI-NEXT: v_readfirstlane_b32 s59, v29
; VI-NEXT: v_readfirstlane_b32 s72, v28
; VI-NEXT: v_readfirstlane_b32 s47, v27
+; VI-NEXT: v_readfirstlane_b32 s60, v26
+; VI-NEXT: v_readfirstlane_b32 s43, v25
; VI-NEXT: v_readfirstlane_b32 s56, v24
; VI-NEXT: v_readfirstlane_b32 s15, v23
; VI-NEXT: v_readfirstlane_b32 s44, v22
@@ -174869,7 +174935,7 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; VI-NEXT: v_readfirstlane_b32 s11, v2
; VI-NEXT: v_readfirstlane_b32 s6, v1
; VI-NEXT: v_readfirstlane_b32 s8, v0
-; VI-NEXT: buffer_load_ushort v32, off, s[0:3], s32 offset:8
+; VI-NEXT: buffer_load_ushort v34, off, s[0:3], s32 offset:8
; VI-NEXT: buffer_load_ushort v35, off, s[0:3], s32 offset:4
; VI-NEXT: buffer_load_ushort v13, off, s[0:3], s32
; VI-NEXT: buffer_load_ushort v1, off, s[0:3], s32 offset:328
@@ -174877,65 +174943,67 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; VI-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:320
; VI-NEXT: buffer_load_ushort v3, off, s[0:3], s32 offset:316
; VI-NEXT: buffer_load_ushort v5, off, s[0:3], s32 offset:312
-; VI-NEXT: buffer_load_ushort v8, off, s[0:3], s32 offset:308
+; VI-NEXT: buffer_load_ushort v9, off, s[0:3], s32 offset:308
; VI-NEXT: buffer_load_ushort v2, off, s[0:3], s32 offset:304
; VI-NEXT: buffer_load_ushort v6, off, s[0:3], s32 offset:300
-; VI-NEXT: buffer_load_ushort v33, off, s[0:3], s32 offset:296
-; VI-NEXT: buffer_load_ushort v54, off, s[0:3], s32 offset:292
+; VI-NEXT: buffer_load_ushort v8, off, s[0:3], s32 offset:296
+; VI-NEXT: buffer_load_ushort v42, off, s[0:3], s32 offset:292
; VI-NEXT: buffer_load_ushort v7, off, s[0:3], s32 offset:288
-; VI-NEXT: buffer_load_ushort v9, off, s[0:3], s32 offset:284
+; VI-NEXT: buffer_load_ushort v49, off, s[0:3], s32 offset:284
; VI-NEXT: s_waitcnt vmcnt(14)
; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v31
-; VI-NEXT: buffer_load_ushort v31, off, s[0:3], s32 offset:280
-; VI-NEXT: buffer_load_ushort v55, off, s[0:3], s32 offset:276
-; VI-NEXT: buffer_load_ushort v49, off, s[0:3], s32 offset:272
-; VI-NEXT: buffer_load_ushort v10, off, s[0:3], s32 offset:268
+; VI-NEXT: buffer_load_ushort v52, off, s[0:3], s32 offset:280
+; VI-NEXT: buffer_load_ushort v11, off, s[0:3], s32 offset:276
+; VI-NEXT: buffer_load_ushort v55, off, s[0:3], s32 offset:272
+; VI-NEXT: buffer_load_ushort v31, off, s[0:3], s32 offset:268
; VI-NEXT: buffer_load_ushort v12, off, s[0:3], s32 offset:264
-; VI-NEXT: buffer_load_ushort v11, off, s[0:3], s32 offset:260
-; VI-NEXT: s_and_b64 s[4:5], vcc, exec
-; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:456 ; 4-byte Folded Spill
-; VI-NEXT: buffer_load_ushort v11, off, s[0:3], s32 offset:256
-; VI-NEXT: buffer_load_ushort v42, off, s[0:3], s32 offset:252
-; VI-NEXT: buffer_load_ushort v30, off, s[0:3], s32 offset:248
-; VI-NEXT: buffer_load_ushort v40, off, s[0:3], s32 offset:244
-; VI-NEXT: buffer_load_ushort v41, off, s[0:3], s32 offset:240
+; VI-NEXT: buffer_load_ushort v10, off, s[0:3], s32 offset:260
+; VI-NEXT: s_cmp_lg_u64 vcc, 0
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:452 ; 4-byte Folded Spill
+; VI-NEXT: buffer_load_ushort v10, off, s[0:3], s32 offset:256
+; VI-NEXT: buffer_load_ushort v41, off, s[0:3], s32 offset:252
+; VI-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:248
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:436 ; 4-byte Folded Spill
+; VI-NEXT: buffer_load_ushort v53, off, s[0:3], s32 offset:244
+; VI-NEXT: buffer_load_ushort v40, off, s[0:3], s32 offset:240
; VI-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:236
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:452 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:448 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:232
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:440 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:444 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:228
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:432 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:428 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:224
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:436 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:440 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:220
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:428 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:432 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:216
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:444 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:456 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:212
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:420 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:208
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:448 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:460 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:204
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:424 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:200
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:464 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:472 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:196
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:412 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:192
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:460 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:468 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:188
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:416 ; 4-byte Folded Spill
@@ -174947,112 +175015,156 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:404 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:176
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:472 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:476 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:172
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:408 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v25, off, s[0:3], s32 offset:168
-; VI-NEXT: buffer_load_ushort v26, off, s[0:3], s32 offset:164
-; VI-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:160
-; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:468 ; 4-byte Folded Spill
-; VI-NEXT: buffer_load_ushort v22, off, s[0:3], s32 offset:156
-; VI-NEXT: buffer_load_ushort v27, off, s[0:3], s32 offset:152
-; VI-NEXT: buffer_load_ushort v24, off, s[0:3], s32 offset:148
+; VI-NEXT: buffer_load_ushort v22, off, s[0:3], s32 offset:164
+; VI-NEXT: buffer_load_ushort v54, off, s[0:3], s32 offset:160
+; VI-NEXT: buffer_load_ushort v23, off, s[0:3], s32 offset:156
+; VI-NEXT: buffer_load_ushort v24, off, s[0:3], s32 offset:152
+; VI-NEXT: buffer_load_ushort v21, off, s[0:3], s32 offset:148
; VI-NEXT: buffer_load_ushort v20, off, s[0:3], s32 offset:144
-; VI-NEXT: buffer_load_ushort v23, off, s[0:3], s32 offset:140
-; VI-NEXT: buffer_load_ushort v21, off, s[0:3], s32 offset:136
+; VI-NEXT: buffer_load_ushort v26, off, s[0:3], s32 offset:140
+; VI-NEXT: buffer_load_ushort v30, off, s[0:3], s32 offset:136
; VI-NEXT: buffer_load_ushort v44, off, s[0:3], s32 offset:132
; VI-NEXT: buffer_load_ushort v19, off, s[0:3], s32 offset:128
; VI-NEXT: buffer_load_ushort v43, off, s[0:3], s32 offset:124
; VI-NEXT: buffer_load_ushort v45, off, s[0:3], s32 offset:120
-; VI-NEXT: buffer_load_ushort v46, off, s[0:3], s32 offset:116
+; VI-NEXT: buffer_load_ushort v47, off, s[0:3], s32 offset:116
; VI-NEXT: buffer_load_ushort v18, off, s[0:3], s32 offset:112
; VI-NEXT: buffer_load_ushort v29, off, s[0:3], s32 offset:108
-; VI-NEXT: buffer_load_ushort v47, off, s[0:3], s32 offset:104
-; VI-NEXT: buffer_load_ushort v56, off, s[0:3], s32 offset:100
+; VI-NEXT: buffer_load_ushort v56, off, s[0:3], s32 offset:104
+; VI-NEXT: buffer_load_ushort v57, off, s[0:3], s32 offset:100
; VI-NEXT: buffer_load_ushort v16, off, s[0:3], s32 offset:96
; VI-NEXT: buffer_load_ushort v17, off, s[0:3], s32 offset:92
-; VI-NEXT: buffer_load_ushort v59, off, s[0:3], s32 offset:88
-; VI-NEXT: buffer_load_ushort v60, off, s[0:3], s32 offset:84
+; VI-NEXT: buffer_load_ushort v61, off, s[0:3], s32 offset:88
+; VI-NEXT: buffer_load_ushort v32, off, s[0:3], s32 offset:84
; VI-NEXT: buffer_load_ushort v28, off, s[0:3], s32 offset:80
-; VI-NEXT: buffer_load_ushort v58, off, s[0:3], s32 offset:76
-; VI-NEXT: buffer_load_ushort v34, off, s[0:3], s32 offset:72
-; VI-NEXT: buffer_load_ushort v61, off, s[0:3], s32 offset:68
+; VI-NEXT: buffer_load_ushort v60, off, s[0:3], s32 offset:76
+; VI-NEXT: buffer_load_ushort v33, off, s[0:3], s32 offset:72
+; VI-NEXT: buffer_load_ushort v27, off, s[0:3], s32 offset:68
; VI-NEXT: buffer_load_ushort v62, off, s[0:3], s32 offset:64
; VI-NEXT: buffer_load_ushort v15, off, s[0:3], s32 offset:60
-; VI-NEXT: buffer_load_ushort v53, off, s[0:3], s32 offset:56
+; VI-NEXT: buffer_load_ushort v58, off, s[0:3], s32 offset:56
; VI-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:52
; VI-NEXT: buffer_load_ushort v51, off, s[0:3], s32 offset:48
; VI-NEXT: buffer_load_ushort v63, off, s[0:3], s32 offset:44
; VI-NEXT: buffer_load_ushort v48, off, s[0:3], s32 offset:40
-; VI-NEXT: buffer_load_ushort v57, off, s[0:3], s32 offset:36
+; VI-NEXT: buffer_load_ushort v59, off, s[0:3], s32 offset:36
; VI-NEXT: buffer_load_ushort v38, off, s[0:3], s32 offset:32
-; VI-NEXT: buffer_load_ushort v52, off, s[0:3], s32 offset:28
+; VI-NEXT: buffer_load_ushort v46, off, s[0:3], s32 offset:28
; VI-NEXT: buffer_load_ushort v37, off, s[0:3], s32 offset:24
; VI-NEXT: buffer_load_ushort v50, off, s[0:3], s32 offset:20
; VI-NEXT: buffer_load_ushort v36, off, s[0:3], s32 offset:16
; VI-NEXT: buffer_load_ushort v39, off, s[0:3], s32 offset:12
; VI-NEXT: s_waitcnt vmcnt(10)
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:476 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:480 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v61, off, s[0:3], s32 offset:484 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v60, off, s[0:3], s32 offset:488 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v59, off, s[0:3], s32 offset:492 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:496 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:500 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:504 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:508 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:512 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:516 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:520 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:524 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:528 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:532 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:536 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:540 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:544 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:548 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:552 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:556 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:560 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:564 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:484 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:488 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:492 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v61, off, s[0:3], s32 offset:496 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:500 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:504 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v30, off, s[0:3], s32 offset:508 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v60, off, s[0:3], s32 offset:512 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:516 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:520 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:524 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v57, off, s[0:3], s32 offset:528 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:532 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:536 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:540 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:544 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:548 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:552 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:556 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:560 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:564 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:568 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:572 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v30, off, s[0:3], s32 offset:576 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:580 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:584 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:588 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:592 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:596 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:600 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:572 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:576 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:580 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:584 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:588 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:592 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:464 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:596 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:600 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:604 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:608 ; 4-byte Folded Spill
; VI-NEXT: s_waitcnt vmcnt(14)
-; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:604 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:608 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v38, off, s[0:3], s32 offset:612 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:616 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v48, off, s[0:3], s32 offset:620 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v50, off, s[0:3], s32 offset:624 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:628 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:632 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:636 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v57, off, s[0:3], s32 offset:640 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:644 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:648 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:652 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:656 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:612 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:616 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v38, off, s[0:3], s32 offset:620 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:624 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v48, off, s[0:3], s32 offset:628 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v50, off, s[0:3], s32 offset:632 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:636 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:640 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:644 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v59, off, s[0:3], s32 offset:648 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:652 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:656 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:480 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:660 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:664 ; 4-byte Folded Spill
; VI-NEXT: s_cbranch_scc0 .LBB93_2
; VI-NEXT: ; %bb.1: ; %cmp.false
-; VI-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:676 ; 4-byte Folded Spill
+; VI-NEXT: s_mov_b32 s4, 0xc0c0004
+; VI-NEXT: v_perm_b32 v27, v27, v33, s4
+; VI-NEXT: v_lshlrev_b32_e32 v27, 16, v27
+; VI-NEXT: v_perm_b32 v15, v15, v62, s4
+; VI-NEXT: v_or_b32_e32 v15, v15, v27
+; VI-NEXT: v_perm_b32 v27, v32, v61, s4
+; VI-NEXT: v_lshlrev_b32_e32 v27, 16, v27
+; VI-NEXT: v_perm_b32 v28, v60, v28, s4
+; VI-NEXT: v_perm_b32 v17, v17, v16, s4
+; VI-NEXT: v_or_b32_e32 v16, v28, v27
+; VI-NEXT: v_perm_b32 v27, v47, v45, s4
+; VI-NEXT: v_lshlrev_b32_e32 v27, 16, v27
+; VI-NEXT: v_perm_b32 v18, v29, v18, s4
+; VI-NEXT: v_or_b32_e32 v18, v18, v27
+; VI-NEXT: v_perm_b32 v27, v44, v30, s4
+; VI-NEXT: v_lshlrev_b32_e32 v27, 16, v27
+; VI-NEXT: v_perm_b32 v19, v43, v19, s4
+; VI-NEXT: v_or_b32_e32 v19, v19, v27
+; VI-NEXT: v_perm_b32 v27, v21, v24, s4
+; VI-NEXT: v_lshlrev_b32_e32 v27, 16, v27
+; VI-NEXT: v_mov_b32_e32 v43, v20
+; VI-NEXT: v_perm_b32 v20, v26, v20, s4
+; VI-NEXT: v_or_b32_e32 v20, v20, v27
+; VI-NEXT: v_perm_b32 v27, v22, v25, s4
+; VI-NEXT: v_perm_b32 v21, v23, v54, s4
+; VI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:400 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:404 ; 4-byte Folded Reload
+; VI-NEXT: v_lshlrev_b32_e32 v27, 16, v27
+; VI-NEXT: v_or_b32_e32 v21, v21, v27
+; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:676 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:708 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:712 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v49, v31
+; VI-NEXT: v_mov_b32_e32 v62, v49
+; VI-NEXT: v_perm_b32 v29, v49, v55, s4
+; VI-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:712 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:676 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v32, v57, v56, s4
+; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:692 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v42, v41
+; VI-NEXT: v_mov_b32_e32 v41, v12
+; VI-NEXT: v_lshlrev_b32_e32 v32, 16, v32
+; VI-NEXT: v_mov_b32_e32 v31, v10
+; VI-NEXT: v_or_b32_e32 v17, v17, v32
+; VI-NEXT: v_perm_b32 v28, v42, v31, s4
+; VI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:700 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v11, 0xc0c0004
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:664 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:672 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v1, s19
-; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:668 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v3, s23
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:660 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:668 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v0, s17
; VI-NEXT: v_perm_b32 v1, s18, v1, v11
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:672 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:680 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v2, s21
; VI-NEXT: v_perm_b32 v3, s22, v3, v11
; VI-NEXT: v_perm_b32 v0, s16, v0, v11
@@ -175066,36 +175178,33 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; VI-NEXT: v_perm_b32 v3, s26, v3, v11
; VI-NEXT: v_perm_b32 v2, s24, v2, v11
; VI-NEXT: v_lshlrev_b32_e32 v3, 16, v3
-; VI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:680 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:684 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v4, s6
; VI-NEXT: v_or_b32_e32 v2, v2, v3
; VI-NEXT: v_mov_b32_e32 v3, s29
; VI-NEXT: v_perm_b32 v4, s8, v4, v11
; VI-NEXT: v_perm_b32 v3, s28, v3, v11
; VI-NEXT: v_lshlrev_b32_e32 v4, 16, v4
-; VI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:684 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:688 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v5, s10
; VI-NEXT: v_or_b32_e32 v3, v3, v4
; VI-NEXT: v_mov_b32_e32 v4, s7
; VI-NEXT: v_perm_b32 v5, s14, v5, v11
; VI-NEXT: v_perm_b32 v4, s11, v4, v11
; VI-NEXT: v_lshlrev_b32_e32 v5, 16, v5
-; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:688 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v6, s41
; VI-NEXT: v_or_b32_e32 v4, v4, v5
; VI-NEXT: v_mov_b32_e32 v5, s13
; VI-NEXT: v_perm_b32 v6, s46, v6, v11
; VI-NEXT: v_perm_b32 v5, s42, v5, v11
; VI-NEXT: v_lshlrev_b32_e32 v6, 16, v6
-; VI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:692 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:696 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v7, s57
; VI-NEXT: v_or_b32_e32 v5, v5, v6
; VI-NEXT: v_mov_b32_e32 v6, s45
; VI-NEXT: v_perm_b32 v7, s63, v7, v11
; VI-NEXT: v_perm_b32 v6, s58, v6, v11
; VI-NEXT: v_lshlrev_b32_e32 v7, 16, v7
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:700 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:696 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v8, s61
; VI-NEXT: v_or_b32_e32 v6, v6, v7
; VI-NEXT: v_mov_b32_e32 v7, s62
@@ -175109,27 +175218,25 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; VI-NEXT: v_perm_b32 v9, s40, v9, v11
; VI-NEXT: v_perm_b32 v8, s76, v8, v11
; VI-NEXT: v_lshlrev_b32_e32 v9, 16, v9
-; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:708 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v54, v49
-; VI-NEXT: v_mov_b32_e32 v49, v10
+; VI-NEXT: s_waitcnt vmcnt(14)
+; VI-NEXT: v_perm_b32 v27, v23, v22, s4
+; VI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:476 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:408 ; 4-byte Folded Reload
+; VI-NEXT: v_lshlrev_b32_e32 v27, 16, v27
; VI-NEXT: v_mov_b32_e32 v10, s43
; VI-NEXT: v_or_b32_e32 v8, v8, v9
; VI-NEXT: v_mov_b32_e32 v9, s15
; VI-NEXT: v_perm_b32 v10, s56, v10, v11
; VI-NEXT: v_perm_b32 v9, s44, v9, v11
-; VI-NEXT: v_mov_b32_e32 v33, v31
; VI-NEXT: v_lshlrev_b32_e32 v10, 16, v10
-; VI-NEXT: v_mov_b32_e32 v31, v42
-; VI-NEXT: v_mov_b32_e32 v42, v12
; VI-NEXT: v_mov_b32_e32 v12, s59
; VI-NEXT: v_or_b32_e32 v9, v9, v10
; VI-NEXT: v_mov_b32_e32 v10, s47
; VI-NEXT: v_perm_b32 v12, s72, v12, v11
; VI-NEXT: v_perm_b32 v10, s60, v10, v11
; VI-NEXT: v_lshlrev_b32_e32 v12, 16, v12
-; VI-NEXT: s_mov_b32 s4, 0xc0c0004
; VI-NEXT: v_or_b32_e32 v10, v10, v12
-; VI-NEXT: v_perm_b32 v12, v35, v32, s4
+; VI-NEXT: v_perm_b32 v12, v35, v34, s4
; VI-NEXT: v_perm_b32 v11, s75, v13, v11
; VI-NEXT: v_lshlrev_b32_e32 v12, 16, v12
; VI-NEXT: v_or_b32_e32 v11, v11, v12
@@ -175137,206 +175244,159 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; VI-NEXT: v_lshlrev_b32_e32 v12, 16, v12
; VI-NEXT: v_perm_b32 v13, v39, v36, s4
; VI-NEXT: v_or_b32_e32 v12, v13, v12
-; VI-NEXT: v_perm_b32 v13, v57, v48, s4
+; VI-NEXT: v_perm_b32 v13, v59, v48, s4
; VI-NEXT: v_lshlrev_b32_e32 v13, 16, v13
-; VI-NEXT: v_perm_b32 v32, v52, v38, s4
-; VI-NEXT: v_perm_b32 v14, v14, v53, s4
-; VI-NEXT: v_or_b32_e32 v13, v32, v13
+; VI-NEXT: v_perm_b32 v34, v46, v38, s4
+; VI-NEXT: v_perm_b32 v14, v14, v58, s4
+; VI-NEXT: v_or_b32_e32 v13, v34, v13
; VI-NEXT: v_lshlrev_b32_e32 v14, 16, v14
-; VI-NEXT: v_perm_b32 v32, v63, v51, s4
-; VI-NEXT: v_or_b32_e32 v14, v32, v14
-; VI-NEXT: v_perm_b32 v32, v61, v34, s4
-; VI-NEXT: v_lshlrev_b32_e32 v32, 16, v32
-; VI-NEXT: v_perm_b32 v15, v15, v62, s4
-; VI-NEXT: v_or_b32_e32 v15, v15, v32
-; VI-NEXT: v_perm_b32 v32, v60, v59, s4
-; VI-NEXT: v_lshlrev_b32_e32 v32, 16, v32
-; VI-NEXT: v_perm_b32 v28, v58, v28, s4
-; VI-NEXT: v_perm_b32 v17, v17, v16, s4
-; VI-NEXT: v_or_b32_e32 v16, v28, v32
-; VI-NEXT: v_perm_b32 v28, v46, v45, s4
-; VI-NEXT: v_lshlrev_b32_e32 v28, 16, v28
-; VI-NEXT: v_perm_b32 v18, v29, v18, s4
-; VI-NEXT: v_or_b32_e32 v18, v18, v28
-; VI-NEXT: v_perm_b32 v28, v44, v21, s4
-; VI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:468 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v38, off, s[0:3], s32 offset:688 ; 4-byte Folded Reload
-; VI-NEXT: v_perm_b32 v19, v43, v19, s4
-; VI-NEXT: v_mov_b32_e32 v43, v20
-; VI-NEXT: v_perm_b32 v20, v23, v20, s4
-; VI-NEXT: v_lshlrev_b32_e32 v28, 16, v28
-; VI-NEXT: v_or_b32_e32 v19, v19, v28
-; VI-NEXT: v_perm_b32 v28, v24, v27, s4
-; VI-NEXT: v_lshlrev_b32_e32 v28, 16, v28
-; VI-NEXT: v_or_b32_e32 v20, v20, v28
-; VI-NEXT: v_perm_b32 v28, v26, v25, s4
-; VI-NEXT: v_mov_b32_e32 v37, v54
-; VI-NEXT: v_perm_b32 v29, v49, v54, s4
-; VI-NEXT: v_lshlrev_b32_e32 v28, 16, v28
-; VI-NEXT: v_mov_b32_e32 v53, v49
-; VI-NEXT: v_mov_b32_e32 v52, v33
-; VI-NEXT: v_perm_b32 v35, v56, v47, s4
-; VI-NEXT: v_lshlrev_b32_e32 v35, 16, v35
-; VI-NEXT: v_or_b32_e32 v17, v17, v35
-; VI-NEXT: v_mov_b32_e32 v39, v55
-; VI-NEXT: buffer_load_dword v54, off, s[0:3], s32 offset:660 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(2)
-; VI-NEXT: v_perm_b32 v21, v22, v21, s4
-; VI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:400 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:404 ; 4-byte Folded Reload
-; VI-NEXT: v_or_b32_e32 v21, v21, v28
-; VI-NEXT: s_waitcnt vmcnt(3)
-; VI-NEXT: v_mov_b32_e32 v36, v38
-; VI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:676 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(3)
-; VI-NEXT: v_mov_b32_e32 v48, v54
-; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_perm_b32 v24, v23, v22, s4
-; VI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:472 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:408 ; 4-byte Folded Reload
-; VI-NEXT: v_lshlrev_b32_e32 v24, 16, v24
+; VI-NEXT: v_perm_b32 v34, v63, v51, s4
+; VI-NEXT: v_or_b32_e32 v14, v34, v14
+; VI-NEXT: s_waitcnt vmcnt(12)
+; VI-NEXT: v_mov_b32_e32 v34, v30
+; VI-NEXT: v_mov_b32_e32 v35, v52
+; VI-NEXT: v_mov_b32_e32 v48, v55
+; VI-NEXT: s_waitcnt vmcnt(11)
+; VI-NEXT: v_mov_b32_e32 v37, v49
+; VI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:692 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:708 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(2)
-; VI-NEXT: v_mov_b32_e32 v50, v28
-; VI-NEXT: v_perm_b32 v28, v31, v28, s4
-; VI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:704 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_perm_b32 v22, v23, v22, s4
-; VI-NEXT: v_or_b32_e32 v22, v22, v24
-; VI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:412 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:464 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:472 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:412 ; 4-byte Folded Reload
+; VI-NEXT: v_or_b32_e32 v22, v22, v27
+; VI-NEXT: s_waitcnt vmcnt(3)
+; VI-NEXT: v_mov_b32_e32 v58, v32
; VI-NEXT: s_waitcnt vmcnt(2)
-; VI-NEXT: v_mov_b32_e32 v57, v31
+; VI-NEXT: v_mov_b32_e32 v51, v31
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v23, v23, v24, s4
-; VI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:416 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:460 ; 4-byte Folded Reload
-; VI-NEXT: v_lshlrev_b32_e32 v23, 16, v23
+; VI-NEXT: v_perm_b32 v24, v24, v23, s4
+; VI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:468 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:416 ; 4-byte Folded Reload
+; VI-NEXT: v_lshlrev_b32_e32 v24, 16, v24
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v24, v24, v25, s4
-; VI-NEXT: v_or_b32_e32 v23, v24, v23
-; VI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:444 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v23, v25, v23, s4
+; VI-NEXT: v_or_b32_e32 v23, v23, v24
+; VI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:456 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:420 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v24, v25, v24, s4
-; VI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:448 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:460 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:424 ; 4-byte Folded Reload
; VI-NEXT: v_lshlrev_b32_e32 v24, 16, v24
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v25, v26, v25, s4
; VI-NEXT: v_or_b32_e32 v24, v25, v24
-; VI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:432 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:440 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v25, v25, v26, s4
+; VI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:444 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:428 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:436 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_perm_b32 v25, v26, v25, s4
+; VI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:440 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:432 ; 4-byte Folded Reload
; VI-NEXT: v_lshlrev_b32_e32 v25, 16, v25
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v26, v26, v27, s4
-; VI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:452 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v26, v27, v26, s4
; VI-NEXT: v_or_b32_e32 v25, v26, v25
-; VI-NEXT: v_perm_b32 v26, v40, v30, s4
-; VI-NEXT: v_lshlrev_b32_e32 v26, 16, v26
-; VI-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:708 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:436 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:448 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_perm_b32 v27, v27, v41, s4
+; VI-NEXT: v_perm_b32 v26, v53, v26, s4
+; VI-NEXT: v_lshlrev_b32_e32 v26, 16, v26
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_perm_b32 v27, v27, v40, s4
; VI-NEXT: v_or_b32_e32 v26, v27, v26
-; VI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:456 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_mov_b32_e32 v34, v30
+; VI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:452 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v27, v27, v42, s4
+; VI-NEXT: v_perm_b32 v27, v27, v41, s4
; VI-NEXT: v_lshlrev_b32_e32 v27, 16, v27
; VI-NEXT: v_or_b32_e32 v27, v28, v27
-; VI-NEXT: v_perm_b32 v28, v55, v33, s4
+; VI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:464 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_perm_b32 v28, v28, v52, s4
; VI-NEXT: v_lshlrev_b32_e32 v28, 16, v28
; VI-NEXT: v_or_b32_e32 v28, v29, v28
; VI-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:700 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v55, off, s[0:3], s32 offset:668 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_mov_b32_e32 v49, v29
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_mov_b32_e32 v50, v29
; VI-NEXT: v_perm_b32 v29, v30, v29, s4
-; VI-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:692 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:696 ; 4-byte Folded Reload
; VI-NEXT: v_lshlrev_b32_e32 v29, 16, v29
-; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_perm_b32 v41, v55, v54, s4
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_mov_b32_e32 v33, v30
+; VI-NEXT: v_mov_b32_e32 v46, v30
; VI-NEXT: v_perm_b32 v30, v31, v30, s4
; VI-NEXT: v_or_b32_e32 v29, v30, v29
-; VI-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:684 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:696 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:688 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:704 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_mov_b32_e32 v32, v30
+; VI-NEXT: v_mov_b32_e32 v33, v30
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_mov_b32_e32 v35, v31
+; VI-NEXT: v_mov_b32_e32 v63, v31
; VI-NEXT: v_perm_b32 v30, v31, v30, s4
-; VI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:672 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:680 ; 4-byte Folded Reload
; VI-NEXT: v_lshlrev_b32_e32 v30, 16, v30
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_mov_b32_e32 v62, v31
-; VI-NEXT: v_perm_b32 v31, v38, v31, s4
+; VI-NEXT: v_mov_b32_e32 v59, v31
+; VI-NEXT: v_perm_b32 v31, v32, v31, s4
; VI-NEXT: v_or_b32_e32 v30, v31, v30
-; VI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:664 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v38, off, s[0:3], s32 offset:680 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:672 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:684 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_mov_b32_e32 v63, v31
+; VI-NEXT: v_mov_b32_e32 v36, v31
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v31, v38, v31, s4
+; VI-NEXT: v_mov_b32_e32 v39, v32
+; VI-NEXT: v_perm_b32 v31, v32, v31, s4
+; VI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:668 ; 4-byte Folded Reload
; VI-NEXT: v_lshlrev_b32_e32 v31, 16, v31
-; VI-NEXT: v_mov_b32_e32 v51, v38
-; VI-NEXT: v_mov_b32_e32 v38, v55
-; VI-NEXT: v_or_b32_e32 v31, v41, v31
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_mov_b32_e32 v38, v32
+; VI-NEXT: v_perm_b32 v32, v49, v32, s4
+; VI-NEXT: v_or_b32_e32 v31, v32, v31
; VI-NEXT: s_mov_b64 s[4:5], 0
; VI-NEXT: s_branch .LBB93_3
; VI-NEXT: .LBB93_2:
-; VI-NEXT: v_mov_b32_e32 v51, v4
-; VI-NEXT: v_mov_b32_e32 v39, v55
-; VI-NEXT: v_mov_b32_e32 v53, v10
-; VI-NEXT: v_mov_b32_e32 v38, v3
-; VI-NEXT: v_mov_b32_e32 v52, v31
-; VI-NEXT: v_mov_b32_e32 v35, v8
-; VI-NEXT: v_mov_b32_e32 v63, v1
-; VI-NEXT: v_mov_b32_e32 v37, v49
-; VI-NEXT: v_mov_b32_e32 v36, v6
-; VI-NEXT: v_mov_b32_e32 v48, v0
-; VI-NEXT: v_mov_b32_e32 v34, v54
-; VI-NEXT: v_mov_b32_e32 v32, v5
-; VI-NEXT: v_mov_b32_e32 v50, v11
-; VI-NEXT: v_mov_b32_e32 v57, v9
-; VI-NEXT: v_mov_b32_e32 v62, v2
-; VI-NEXT: v_mov_b32_e32 v49, v33
-; VI-NEXT: v_mov_b32_e32 v33, v7
+; VI-NEXT: v_mov_b32_e32 v39, v4
+; VI-NEXT: v_mov_b32_e32 v62, v31
+; VI-NEXT: v_mov_b32_e32 v37, v3
+; VI-NEXT: v_mov_b32_e32 v35, v52
+; VI-NEXT: v_mov_b32_e32 v63, v9
+; VI-NEXT: v_mov_b32_e32 v36, v1
+; VI-NEXT: v_mov_b32_e32 v48, v55
+; VI-NEXT: v_mov_b32_e32 v58, v6
+; VI-NEXT: v_mov_b32_e32 v38, v0
+; VI-NEXT: v_mov_b32_e32 v34, v42
+; VI-NEXT: v_mov_b32_e32 v33, v5
+; VI-NEXT: v_mov_b32_e32 v51, v49
+; VI-NEXT: v_mov_b32_e32 v59, v2
+; VI-NEXT: v_mov_b32_e32 v50, v8
+; VI-NEXT: v_mov_b32_e32 v46, v7
; VI-NEXT: v_mov_b32_e32 v43, v20
; VI-NEXT: s_mov_b64 s[4:5], -1
; VI-NEXT: ; implicit-def: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15
; VI-NEXT: ; implicit-def: $vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31
; VI-NEXT: .LBB93_3: ; %Flow
+; VI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:480 ; 4-byte Folded Reload
; VI-NEXT: s_and_b64 s[4:5], s[4:5], exec
; VI-NEXT: s_cselect_b32 s4, 1, 0
; VI-NEXT: s_cmp_lg_u32 s4, 1
; VI-NEXT: s_cbranch_scc1 .LBB93_5
; VI-NEXT: ; %bb.4: ; %cmp.true
-; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v51
+; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v39
; VI-NEXT: s_mov_b32 s4, 0xc0c0004
-; VI-NEXT: v_perm_b32 v0, v0, v63, s4
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:660 ; 4-byte Folded Spill
-; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v38
-; VI-NEXT: v_perm_b32 v0, v0, v48, s4
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:664 ; 4-byte Folded Spill
-; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v35
-; VI-NEXT: v_perm_b32 v20, v0, v32, s4
-; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v36
-; VI-NEXT: v_perm_b32 v21, v0, v62, s4
+; VI-NEXT: v_perm_b32 v0, v0, v36, s4
+; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:668 ; 4-byte Folded Spill
+; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v37
+; VI-NEXT: v_perm_b32 v0, v0, v38, s4
+; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:672 ; 4-byte Folded Spill
+; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v63
+; VI-NEXT: v_perm_b32 v0, v0, v33, s4
+; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:676 ; 4-byte Folded Spill
+; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v58
+; VI-NEXT: v_perm_b32 v63, v0, v59, s4
; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v34
-; VI-NEXT: v_perm_b32 v22, v0, v49, s4
-; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v57
-; VI-NEXT: v_perm_b32 v23, v0, v33, s4
-; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v39
-; VI-NEXT: v_perm_b32 v24, v0, v52, s4
-; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v53
-; VI-NEXT: v_perm_b32 v25, v0, v37, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:456 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v22, v0, v50, s4
+; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v51
+; VI-NEXT: v_perm_b32 v23, v0, v46, s4
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:464 ; 4-byte Folded Reload
; VI-NEXT: s_add_i32 s75, s75, 3
; VI-NEXT: s_add_i32 s72, s72, 3
; VI-NEXT: s_add_i32 s60, s60, 3
@@ -175358,212 +175418,217 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; VI-NEXT: s_add_i32 s24, s24, 3
; VI-NEXT: s_add_i32 s22, s22, 3
; VI-NEXT: s_add_i32 s20, s20, 3
-; VI-NEXT: v_mov_b32_e32 v57, s21
+; VI-NEXT: v_mov_b32_e32 v46, s21
; VI-NEXT: s_add_i32 s18, s18, 3
-; VI-NEXT: v_mov_b32_e32 v62, s19
+; VI-NEXT: v_mov_b32_e32 v58, s19
; VI-NEXT: s_add_i32 s16, s16, 3
-; VI-NEXT: v_mov_b32_e32 v63, s17
+; VI-NEXT: v_mov_b32_e32 v59, s17
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v0
+; VI-NEXT: v_perm_b32 v24, v0, v35, s4
+; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v62
+; VI-NEXT: v_perm_b32 v25, v0, v48, s4
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:452 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:588 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:592 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v26, v1, v0, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:584 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:588 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v0
-; VI-NEXT: v_perm_b32 v27, v0, v50, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:572 ; 4-byte Folded Reload
+; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:596 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_perm_b32 v27, v1, v0, s4
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:580 ; 4-byte Folded Reload
; VI-NEXT: v_add_u32_e32 v27, vcc, 0x300, v27
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:576 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:436 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v28, v1, v0, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:452 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:448 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:580 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:584 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v29, v1, v0, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:432 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:428 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:440 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:444 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v30, v1, v0, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:428 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:432 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:436 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:440 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v31, v1, v0, s4
; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:420 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:444 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:456 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v41, v1, v0, s4
+; VI-NEXT: v_perm_b32 v62, v1, v0, s4
; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:424 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:448 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:460 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v19, v1, v0, s4
+; VI-NEXT: v_perm_b32 v21, v1, v0, s4
; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:412 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:472 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(1)
+; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v0
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:464 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v44, v1, v0, s4
+; VI-NEXT: v_perm_b32 v44, v0, v1, s4
; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:416 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:468 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(1)
+; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v0
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:460 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v45, v1, v0, s4
+; VI-NEXT: v_perm_b32 v45, v0, v1, s4
; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:404 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:400 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v46, v1, v0, s4
+; VI-NEXT: v_perm_b32 v20, v1, v0, s4
; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:408 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:472 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:476 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v0
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v47, v0, v1, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:568 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:656 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:576 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:664 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v0
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v56, v0, v1, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:564 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:468 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:572 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:660 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v0
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v18, v0, v1, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:540 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v57, v0, v1, s4
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:548 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:536 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:544 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v58, v1, v0, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:560 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v19, v1, v0, s4
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:568 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v0
-; VI-NEXT: v_perm_b32 v59, v0, v43, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:512 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v18, v0, v43, s4
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:520 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:500 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:508 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v60, v1, v0, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:508 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:516 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:496 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:504 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v61, v1, v0, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:544 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:552 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:552 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:560 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v40, v1, v0, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:548 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:556 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:556 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:564 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v42, v1, v0, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:520 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:528 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:524 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:532 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v10, v1, v0, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:528 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:536 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:532 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:540 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v11, v1, v0, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:488 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:500 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:492 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:496 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v12, v1, v0, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:504 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:512 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:516 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:524 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v13, v1, v0, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:484 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:488 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:652 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v0
+; VI-NEXT: v_perm_b32 v14, v0, v32, s4
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:492 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v14, v0, v1, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:480 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:644 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v0
-; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v15, v0, v1, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:476 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:636 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:484 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:644 ; 4-byte Folded Reload
; VI-NEXT: v_add_u32_e32 v15, vcc, 0x300, v15
; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v0
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v16, v0, v1, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:648 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:628 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:656 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:636 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v0
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v17, v0, v1, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:640 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:620 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:648 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:628 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v0
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v32, v0, v1, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:632 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:612 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:640 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:620 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v0
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v34, v0, v1, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:624 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:608 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:632 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:616 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v0
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v36, v0, v1, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:616 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:604 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:624 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:612 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v0
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v37, v0, v1, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:600 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:596 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:608 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:604 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v0
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v38, v0, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:592 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:600 ; 4-byte Folded Reload
; VI-NEXT: v_mov_b32_e32 v0, 0xc0c0004
-; VI-NEXT: v_perm_b32 v57, s20, v57, v0
-; VI-NEXT: v_perm_b32 v62, s18, v62, v0
-; VI-NEXT: v_lshlrev_b32_e32 v62, 16, v62
-; VI-NEXT: v_add_u32_e32 v57, vcc, 0x300, v57
+; VI-NEXT: v_perm_b32 v46, s20, v46, v0
+; VI-NEXT: v_perm_b32 v58, s18, v58, v0
+; VI-NEXT: v_lshlrev_b32_e32 v58, 16, v58
+; VI-NEXT: v_add_u32_e32 v46, vcc, 0x300, v46
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v39, s75, v1, v0
; VI-NEXT: v_mov_b32_e32 v1, s59
@@ -175586,31 +175651,46 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; VI-NEXT: v_perm_b32 v6, s63, v1, v0
; VI-NEXT: v_mov_b32_e32 v1, s45
; VI-NEXT: v_perm_b32 v51, s58, v1, v0
+; VI-NEXT: v_mov_b32_e32 v1, s41
+; VI-NEXT: v_perm_b32 v5, s46, v1, v0
+; VI-NEXT: v_mov_b32_e32 v1, s13
+; VI-NEXT: v_perm_b32 v52, s42, v1, v0
+; VI-NEXT: v_lshlrev_b32_e32 v5, 16, v5
+; VI-NEXT: v_add_u32_e32 v52, vcc, 0x300, v52
; VI-NEXT: v_lshlrev_b32_e32 v6, 16, v6
; VI-NEXT: v_add_u32_e32 v51, vcc, 0x300, v51
; VI-NEXT: v_lshlrev_b32_e32 v7, 16, v7
; VI-NEXT: v_add_u32_e32 v50, vcc, 0x300, v50
+; VI-NEXT: v_lshlrev_b32_e32 v8, 16, v8
+; VI-NEXT: v_add_u32_e32 v49, vcc, 0x300, v49
; VI-NEXT: v_lshlrev_b32_e32 v9, 16, v9
; VI-NEXT: v_add_u32_e32 v48, vcc, 0x300, v48
+; VI-NEXT: v_or_b32_sdwa v5, v5, v52 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; VI-NEXT: v_or_b32_sdwa v6, v6, v51 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; VI-NEXT: v_or_b32_sdwa v7, v7, v50 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; VI-NEXT: v_or_b32_sdwa v8, v8, v49 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; VI-NEXT: v_or_b32_sdwa v9, v9, v48 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; VI-NEXT: v_lshlrev_b32_e32 v48, 16, v10
+; VI-NEXT: v_add_u32_e32 v49, vcc, 0x300, v11
; VI-NEXT: v_lshlrev_b32_e32 v50, 16, v12
; VI-NEXT: v_add_u32_e32 v51, vcc, 0x300, v13
+; VI-NEXT: v_lshlrev_b32_e32 v52, 16, v14
+; VI-NEXT: v_lshlrev_b32_e32 v14, 16, v16
+; VI-NEXT: v_add_u32_e32 v16, vcc, 0x300, v17
; VI-NEXT: v_lshlrev_b32_e32 v13, 16, v32
+; VI-NEXT: v_add_u32_e32 v17, vcc, 0x300, v34
; VI-NEXT: v_lshlrev_b32_e32 v12, 16, v36
; VI-NEXT: v_add_u32_e32 v32, vcc, 0x300, v37
+; VI-NEXT: v_lshlrev_b32_e32 v11, 16, v38
+; VI-NEXT: v_add_u32_e32 v34, vcc, 0x300, v39
; VI-NEXT: v_lshlrev_b32_e32 v10, 16, v33
; VI-NEXT: v_add_u32_e32 v33, vcc, 0x300, v35
; VI-NEXT: v_or_b32_sdwa v10, v10, v33 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; VI-NEXT: v_or_b32_sdwa v11, v11, v34 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; VI-NEXT: v_or_b32_sdwa v12, v12, v32 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; VI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:660 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:664 ; 4-byte Folded Reload
-; VI-NEXT: v_mov_b32_e32 v1, s41
-; VI-NEXT: v_perm_b32 v5, s46, v1, v0
-; VI-NEXT: v_mov_b32_e32 v1, s13
-; VI-NEXT: v_perm_b32 v52, s42, v1, v0
+; VI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:668 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:672 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:676 ; 4-byte Folded Reload
; VI-NEXT: v_mov_b32_e32 v1, s10
; VI-NEXT: v_perm_b32 v4, s14, v1, v0
; VI-NEXT: v_mov_b32_e32 v1, s7
@@ -175624,23 +175704,10 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; VI-NEXT: v_mov_b32_e32 v1, s25
; VI-NEXT: v_perm_b32 v55, s24, v1, v0
; VI-NEXT: v_mov_b32_e32 v1, s23
-; VI-NEXT: v_lshlrev_b32_e32 v5, 16, v5
-; VI-NEXT: v_add_u32_e32 v52, vcc, 0x300, v52
-; VI-NEXT: v_lshlrev_b32_e32 v8, 16, v8
-; VI-NEXT: v_add_u32_e32 v49, vcc, 0x300, v49
; VI-NEXT: v_perm_b32 v1, s22, v1, v0
-; VI-NEXT: v_perm_b32 v0, s16, v63, v0
+; VI-NEXT: v_perm_b32 v0, s16, v59, v0
; VI-NEXT: v_lshlrev_b32_e32 v4, 16, v4
; VI-NEXT: v_add_u32_e32 v53, vcc, 0x300, v53
-; VI-NEXT: v_or_b32_sdwa v5, v5, v52 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; VI-NEXT: v_or_b32_sdwa v8, v8, v49 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; VI-NEXT: v_add_u32_e32 v49, vcc, 0x300, v11
-; VI-NEXT: v_lshlrev_b32_e32 v52, 16, v14
-; VI-NEXT: v_lshlrev_b32_e32 v14, 16, v16
-; VI-NEXT: v_add_u32_e32 v16, vcc, 0x300, v17
-; VI-NEXT: v_add_u32_e32 v17, vcc, 0x300, v34
-; VI-NEXT: v_lshlrev_b32_e32 v11, 16, v38
-; VI-NEXT: v_add_u32_e32 v34, vcc, 0x300, v39
; VI-NEXT: v_add_u32_e32 v0, vcc, 0x300, v0
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
@@ -175648,14 +175715,12 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; VI-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; VI-NEXT: v_add_u32_e32 v54, vcc, 0x300, v54
; VI-NEXT: v_or_b32_sdwa v4, v4, v53 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; VI-NEXT: v_or_b32_sdwa v11, v11, v34 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; VI-NEXT: v_or_b32_sdwa v13, v13, v17 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; VI-NEXT: v_or_b32_sdwa v14, v14, v16 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; VI-NEXT: v_or_b32_sdwa v15, v52, v15 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; VI-NEXT: v_or_b32_sdwa v16, v50, v51 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; VI-NEXT: v_or_b32_sdwa v17, v48, v49 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; VI-NEXT: v_lshlrev_b32_e32 v34, 16, v20
-; VI-NEXT: v_add_u32_e32 v35, vcc, 0x300, v21
+; VI-NEXT: v_add_u32_e32 v35, vcc, 0x300, v63
; VI-NEXT: v_lshlrev_b32_e32 v36, 16, v22
; VI-NEXT: v_add_u32_e32 v37, vcc, 0x300, v23
; VI-NEXT: v_lshlrev_b32_e32 v38, 16, v24
@@ -175665,32 +175730,34 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; VI-NEXT: v_add_u32_e32 v28, vcc, 0x300, v29
; VI-NEXT: v_lshlrev_b32_e32 v25, 16, v30
; VI-NEXT: v_add_u32_e32 v29, vcc, 0x300, v31
-; VI-NEXT: v_lshlrev_b32_e32 v24, 16, v41
-; VI-NEXT: v_add_u32_e32 v30, vcc, 0x300, v19
+; VI-NEXT: v_lshlrev_b32_e32 v24, 16, v62
+; VI-NEXT: v_add_u32_e32 v30, vcc, 0x300, v21
; VI-NEXT: v_lshlrev_b32_e32 v23, 16, v44
; VI-NEXT: v_add_u32_e32 v31, vcc, 0x300, v45
-; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_lshlrev_b32_e32 v32, 16, v32
-; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_add_u32_e32 v33, vcc, 0x300, v33
-; VI-NEXT: v_lshlrev_b32_e32 v22, 16, v46
+; VI-NEXT: v_lshlrev_b32_e32 v22, 16, v20
; VI-NEXT: v_add_u32_e32 v49, vcc, 0x300, v47
; VI-NEXT: v_lshlrev_b32_e32 v21, 16, v56
-; VI-NEXT: v_add_u32_e32 v50, vcc, 0x300, v18
-; VI-NEXT: v_lshlrev_b32_e32 v20, 16, v58
-; VI-NEXT: v_add_u32_e32 v51, vcc, 0x300, v59
+; VI-NEXT: v_add_u32_e32 v50, vcc, 0x300, v57
+; VI-NEXT: v_lshlrev_b32_e32 v20, 16, v19
+; VI-NEXT: v_add_u32_e32 v51, vcc, 0x300, v18
; VI-NEXT: v_lshlrev_b32_e32 v19, 16, v60
; VI-NEXT: v_add_u32_e32 v52, vcc, 0x300, v61
; VI-NEXT: v_lshlrev_b32_e32 v18, 16, v40
; VI-NEXT: v_add_u32_e32 v53, vcc, 0x300, v42
-; VI-NEXT: v_or_b32_sdwa v0, v62, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; VI-NEXT: v_or_b32_sdwa v1, v1, v57 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; VI-NEXT: v_or_b32_sdwa v0, v58, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; VI-NEXT: v_or_b32_sdwa v1, v1, v46 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; VI-NEXT: v_or_b32_sdwa v2, v2, v55 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; VI-NEXT: v_or_b32_sdwa v3, v3, v54 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; VI-NEXT: v_or_b32_sdwa v18, v18, v53 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; VI-NEXT: v_or_b32_sdwa v19, v19, v52 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; VI-NEXT: v_or_b32_sdwa v20, v20, v51 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; VI-NEXT: v_or_b32_sdwa v21, v21, v50 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; VI-NEXT: s_waitcnt vmcnt(2)
+; VI-NEXT: v_lshlrev_b32_e32 v32, 16, v32
+; VI-NEXT: s_waitcnt vmcnt(1)
+; VI-NEXT: v_add_u32_e32 v33, vcc, 0x300, v33
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_lshlrev_b32_e32 v34, 16, v34
; VI-NEXT: v_or_b32_sdwa v22, v22, v49 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; VI-NEXT: v_or_b32_sdwa v23, v23, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; VI-NEXT: v_or_b32_sdwa v24, v24, v30 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
@@ -175780,559 +175847,539 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; GFX9-NEXT: buffer_load_ushort v12, off, s[0:3], s32 offset:4
; GFX9-NEXT: buffer_load_ushort v13, off, s[0:3], s32
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:328
-; GFX9-NEXT: v_readfirstlane_b32 s11, v20
-; GFX9-NEXT: v_readfirstlane_b32 s6, v1
-; GFX9-NEXT: v_readfirstlane_b32 s9, v21
+; GFX9-NEXT: v_readfirstlane_b32 s13, v25
+; GFX9-NEXT: v_readfirstlane_b32 s40, v24
+; GFX9-NEXT: v_readfirstlane_b32 s60, v22
; GFX9-NEXT: v_readfirstlane_b32 s43, v2
+; GFX9-NEXT: v_readfirstlane_b32 s6, v1
; GFX9-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:332
-; GFX9-NEXT: v_readfirstlane_b32 s40, v24
-; GFX9-NEXT: v_readfirstlane_b32 s57, v23
-; GFX9-NEXT: v_readfirstlane_b32 s12, v9
-; GFX9-NEXT: v_readfirstlane_b32 s14, v8
; GFX9-NEXT: v_readfirstlane_b32 s59, v6
; GFX9-NEXT: v_readfirstlane_b32 s15, v3
; GFX9-NEXT: v_readfirstlane_b32 s10, v4
+; GFX9-NEXT: v_readfirstlane_b32 s47, v7
; GFX9-NEXT: v_readfirstlane_b32 s8, v5
+; GFX9-NEXT: v_readfirstlane_b32 s12, v9
+; GFX9-NEXT: v_readfirstlane_b32 s14, v8
; GFX9-NEXT: v_readfirstlane_b32 s63, v10
-; GFX9-NEXT: v_readfirstlane_b32 s47, v7
-; GFX9-NEXT: v_readfirstlane_b32 s75, v14
-; GFX9-NEXT: v_readfirstlane_b32 s13, v25
+; GFX9-NEXT: v_readfirstlane_b32 s11, v20
; GFX9-NEXT: v_readfirstlane_b32 s74, v30
; GFX9-NEXT: v_readfirstlane_b32 s44, v29
; GFX9-NEXT: v_readfirstlane_b32 s56, v28
; GFX9-NEXT: v_readfirstlane_b32 s62, v27
; GFX9-NEXT: v_readfirstlane_b32 s72, v26
-; GFX9-NEXT: v_readfirstlane_b32 s60, v22
+; GFX9-NEXT: v_readfirstlane_b32 s57, v23
+; GFX9-NEXT: v_readfirstlane_b32 s9, v21
; GFX9-NEXT: v_readfirstlane_b32 s41, v19
; GFX9-NEXT: v_readfirstlane_b32 s76, v18
; GFX9-NEXT: v_readfirstlane_b32 s45, v17
; GFX9-NEXT: v_readfirstlane_b32 s58, v16
; GFX9-NEXT: v_readfirstlane_b32 s73, v15
-; GFX9-NEXT: buffer_load_ushort v22, off, s[0:3], s32 offset:288
-; GFX9-NEXT: buffer_load_ushort v45, off, s[0:3], s32 offset:284
+; GFX9-NEXT: v_readfirstlane_b32 s75, v14
+; GFX9-NEXT: buffer_load_ushort v23, off, s[0:3], s32 offset:288
+; GFX9-NEXT: buffer_load_ushort v51, off, s[0:3], s32 offset:284
; GFX9-NEXT: s_waitcnt vmcnt(3)
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:448 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:468 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v63, off, s[0:3], s32 offset:324
-; GFX9-NEXT: buffer_load_ushort v20, off, s[0:3], s32 offset:320
+; GFX9-NEXT: buffer_load_ushort v22, off, s[0:3], s32 offset:320
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:316
-; GFX9-NEXT: buffer_load_ushort v1, off, s[0:3], s32 offset:312
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:452 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_ushort v49, off, s[0:3], s32 offset:308
-; GFX9-NEXT: buffer_load_ushort v21, off, s[0:3], s32 offset:304
-; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_load_ushort v24, off, s[0:3], s32 offset:312
+; GFX9-NEXT: buffer_load_ushort v53, off, s[0:3], s32 offset:308
+; GFX9-NEXT: buffer_load_ushort v48, off, s[0:3], s32 offset:304
; GFX9-NEXT: buffer_load_ushort v1, off, s[0:3], s32 offset:300
-; GFX9-NEXT: buffer_load_ushort v2, off, s[0:3], s32 offset:296
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:460 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v25, off, s[0:3], s32 offset:296
; GFX9-NEXT: buffer_load_ushort v2, off, s[0:3], s32 offset:292
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:428 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v2, off, s[0:3], s32 offset:280
; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v31
-; GFX9-NEXT: s_and_b64 s[4:5], vcc, exec
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:456 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_ushort v23, off, s[0:3], s32 offset:280
-; GFX9-NEXT: buffer_load_ushort v33, off, s[0:3], s32 offset:276
-; GFX9-NEXT: buffer_load_ushort v6, off, s[0:3], s32 offset:272
-; GFX9-NEXT: buffer_load_ushort v8, off, s[0:3], s32 offset:268
-; GFX9-NEXT: buffer_load_ushort v41, off, s[0:3], s32 offset:264
-; GFX9-NEXT: buffer_load_ushort v2, off, s[0:3], s32 offset:260
-; GFX9-NEXT: buffer_load_ushort v24, off, s[0:3], s32 offset:256
-; GFX9-NEXT: buffer_load_ushort v9, off, s[0:3], s32 offset:252
+; GFX9-NEXT: buffer_load_ushort v41, off, s[0:3], s32 offset:116
+; GFX9-NEXT: buffer_load_ushort v18, off, s[0:3], s32 offset:112
+; GFX9-NEXT: buffer_load_ushort v50, off, s[0:3], s32 offset:108
+; GFX9-NEXT: buffer_load_ushort v21, off, s[0:3], s32 offset:104
+; GFX9-NEXT: buffer_load_ushort v35, off, s[0:3], s32 offset:100
+; GFX9-NEXT: buffer_load_ushort v16, off, s[0:3], s32 offset:96
+; GFX9-NEXT: buffer_load_ushort v17, off, s[0:3], s32 offset:92
+; GFX9-NEXT: buffer_load_ushort v46, off, s[0:3], s32 offset:88
+; GFX9-NEXT: buffer_load_ushort v38, off, s[0:3], s32 offset:84
+; GFX9-NEXT: buffer_load_ushort v57, off, s[0:3], s32 offset:80
+; GFX9-NEXT: buffer_load_ushort v59, off, s[0:3], s32 offset:76
+; GFX9-NEXT: buffer_load_ushort v15, off, s[0:3], s32 offset:72
+; GFX9-NEXT: buffer_load_ushort v56, off, s[0:3], s32 offset:68
+; GFX9-NEXT: buffer_load_ushort v31, off, s[0:3], s32 offset:64
+; GFX9-NEXT: buffer_load_ushort v30, off, s[0:3], s32 offset:60
+; GFX9-NEXT: buffer_load_ushort v62, off, s[0:3], s32 offset:56
+; GFX9-NEXT: buffer_load_ushort v55, off, s[0:3], s32 offset:52
+; GFX9-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:48
+; GFX9-NEXT: buffer_load_ushort v29, off, s[0:3], s32 offset:44
+; GFX9-NEXT: buffer_load_ushort v49, off, s[0:3], s32 offset:40
+; GFX9-NEXT: buffer_load_ushort v39, off, s[0:3], s32 offset:36
+; GFX9-NEXT: buffer_load_ushort v28, off, s[0:3], s32 offset:32
+; GFX9-NEXT: buffer_load_ushort v27, off, s[0:3], s32 offset:28
+; GFX9-NEXT: buffer_load_ushort v34, off, s[0:3], s32 offset:24
+; GFX9-NEXT: buffer_load_ushort v36, off, s[0:3], s32 offset:20
+; GFX9-NEXT: buffer_load_ushort v37, off, s[0:3], s32 offset:16
+; GFX9-NEXT: buffer_load_ushort v26, off, s[0:3], s32 offset:12
+; GFX9-NEXT: s_cmp_lg_u64 vcc, 0
+; GFX9-NEXT: s_waitcnt vmcnt(27)
+; GFX9-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:484 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v52, off, s[0:3], s32 offset:276
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_load_ushort v2, off, s[0:3], s32 offset:272
+; GFX9-NEXT: buffer_load_ushort v6, off, s[0:3], s32 offset:268
+; GFX9-NEXT: buffer_load_ushort v3, off, s[0:3], s32 offset:264
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:444 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v44, off, s[0:3], s32 offset:260
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_load_ushort v3, off, s[0:3], s32 offset:256
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:488 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v58, off, s[0:3], s32 offset:252
+; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_ushort v3, off, s[0:3], s32 offset:248
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:436 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_ushort v44, off, s[0:3], s32 offset:244
+; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:452 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v47, off, s[0:3], s32 offset:244
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_ushort v3, off, s[0:3], s32 offset:240
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:444 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_ushort v55, off, s[0:3], s32 offset:236
+; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:492 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v42, off, s[0:3], s32 offset:236
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_ushort v3, off, s[0:3], s32 offset:232
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:440 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:448 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v61, off, s[0:3], s32 offset:228
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_ushort v3, off, s[0:3], s32 offset:224
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:476 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_ushort v37, off, s[0:3], s32 offset:220
+; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:496 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v43, off, s[0:3], s32 offset:220
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_ushort v3, off, s[0:3], s32 offset:216
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:432 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_ushort v3, off, s[0:3], s32 offset:212
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_ushort v4, off, s[0:3], s32 offset:208
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:416 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_ushort v47, off, s[0:3], s32 offset:204
+; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:440 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v33, off, s[0:3], s32 offset:212
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_ushort v4, off, s[0:3], s32 offset:200
+; GFX9-NEXT: buffer_load_ushort v3, off, s[0:3], s32 offset:208
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:424 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_ushort v4, off, s[0:3], s32 offset:196
+; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:412 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v32, off, s[0:3], s32 offset:204
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_ushort v5, off, s[0:3], s32 offset:192
+; GFX9-NEXT: buffer_load_ushort v3, off, s[0:3], s32 offset:200
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:412 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_ushort v10, off, s[0:3], s32 offset:188
+; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:436 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v3, off, s[0:3], s32 offset:196
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_ushort v5, off, s[0:3], s32 offset:184
+; GFX9-NEXT: buffer_load_ushort v4, off, s[0:3], s32 offset:192
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:420 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_ushort v7, off, s[0:3], s32 offset:180
+; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:408 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v7, off, s[0:3], s32 offset:188
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_ushort v5, off, s[0:3], s32 offset:176
+; GFX9-NEXT: buffer_load_ushort v4, off, s[0:3], s32 offset:184
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:404 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_ushort v58, off, s[0:3], s32 offset:172
+; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:432 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v5, off, s[0:3], s32 offset:180
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_ushort v5, off, s[0:3], s32 offset:168
+; GFX9-NEXT: buffer_load_ushort v4, off, s[0:3], s32 offset:176
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:464 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_ushort v5, off, s[0:3], s32 offset:164
+; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:404 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v9, off, s[0:3], s32 offset:172
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:160
+; GFX9-NEXT: buffer_load_ushort v4, off, s[0:3], s32 offset:168
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:408 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_ushort v25, off, s[0:3], s32 offset:156
+; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:424 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v4, off, s[0:3], s32 offset:164
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:152
+; GFX9-NEXT: buffer_load_ushort v8, off, s[0:3], s32 offset:160
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:468 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_ushort v54, off, s[0:3], s32 offset:148
+; GFX9-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:400 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v8, off, s[0:3], s32 offset:156
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:144
+; GFX9-NEXT: buffer_load_ushort v10, off, s[0:3], s32 offset:152
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:400 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_ushort v50, off, s[0:3], s32 offset:140
+; GFX9-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:472 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v60, off, s[0:3], s32 offset:148
+; GFX9-NEXT: buffer_load_ushort v20, off, s[0:3], s32 offset:144
+; GFX9-NEXT: buffer_load_ushort v54, off, s[0:3], s32 offset:140
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:136
+; GFX9-NEXT: buffer_load_ushort v10, off, s[0:3], s32 offset:136
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:472 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_ushort v59, off, s[0:3], s32 offset:132
+; GFX9-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:476 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v40, off, s[0:3], s32 offset:132
; GFX9-NEXT: buffer_load_ushort v19, off, s[0:3], s32 offset:128
-; GFX9-NEXT: buffer_load_ushort v51, off, s[0:3], s32 offset:124
-; GFX9-NEXT: buffer_load_ushort v36, off, s[0:3], s32 offset:120
-; GFX9-NEXT: buffer_load_ushort v57, off, s[0:3], s32 offset:116
-; GFX9-NEXT: buffer_load_ushort v18, off, s[0:3], s32 offset:112
-; GFX9-NEXT: buffer_load_ushort v48, off, s[0:3], s32 offset:108
-; GFX9-NEXT: buffer_load_ushort v17, off, s[0:3], s32 offset:104
-; GFX9-NEXT: buffer_load_ushort v40, off, s[0:3], s32 offset:100
-; GFX9-NEXT: buffer_load_ushort v16, off, s[0:3], s32 offset:96
-; GFX9-NEXT: buffer_load_ushort v32, off, s[0:3], s32 offset:92
-; GFX9-NEXT: buffer_load_ushort v38, off, s[0:3], s32 offset:88
-; GFX9-NEXT: buffer_load_ushort v43, off, s[0:3], s32 offset:84
-; GFX9-NEXT: buffer_load_ushort v60, off, s[0:3], s32 offset:80
-; GFX9-NEXT: buffer_load_ushort v46, off, s[0:3], s32 offset:76
-; GFX9-NEXT: buffer_load_ushort v15, off, s[0:3], s32 offset:72
-; GFX9-NEXT: buffer_load_ushort v56, off, s[0:3], s32 offset:68
-; GFX9-NEXT: buffer_load_ushort v31, off, s[0:3], s32 offset:64
-; GFX9-NEXT: buffer_load_ushort v30, off, s[0:3], s32 offset:60
-; GFX9-NEXT: buffer_load_ushort v62, off, s[0:3], s32 offset:56
-; GFX9-NEXT: buffer_load_ushort v52, off, s[0:3], s32 offset:52
-; GFX9-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:48
-; GFX9-NEXT: buffer_load_ushort v29, off, s[0:3], s32 offset:44
-; GFX9-NEXT: buffer_load_ushort v39, off, s[0:3], s32 offset:40
-; GFX9-NEXT: buffer_load_ushort v34, off, s[0:3], s32 offset:36
-; GFX9-NEXT: buffer_load_ushort v28, off, s[0:3], s32 offset:32
-; GFX9-NEXT: buffer_load_ushort v27, off, s[0:3], s32 offset:28
-; GFX9-NEXT: buffer_load_ushort v35, off, s[0:3], s32 offset:24
-; GFX9-NEXT: buffer_load_ushort v53, off, s[0:3], s32 offset:20
-; GFX9-NEXT: buffer_load_ushort v26, off, s[0:3], s32 offset:16
-; GFX9-NEXT: buffer_load_ushort v42, off, s[0:3], s32 offset:12
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:480 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:484 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:488 ; 4-byte Folded Spill
-; GFX9-NEXT: s_waitcnt vmcnt(7)
-; GFX9-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:492 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:496 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:500 ; 4-byte Folded Spill
-; GFX9-NEXT: s_waitcnt vmcnt(9)
-; GFX9-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:504 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:508 ; 4-byte Folded Spill
-; GFX9-NEXT: s_waitcnt vmcnt(10)
-; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:512 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:516 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:520 ; 4-byte Folded Spill
-; GFX9-NEXT: s_waitcnt vmcnt(12)
-; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:524 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:528 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:532 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:536 ; 4-byte Folded Spill
-; GFX9-NEXT: s_waitcnt vmcnt(15)
-; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:540 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:544 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:548 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v30, off, s[0:3], s32 offset:552 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v38, off, s[0:3], s32 offset:556 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:560 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:564 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:568 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v60, off, s[0:3], s32 offset:572 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:576 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:580 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:584 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:588 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v57, off, s[0:3], s32 offset:592 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v48, off, s[0:3], s32 offset:596 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v45, off, s[0:3], s32 offset:124
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_load_ushort v10, off, s[0:3], s32 offset:120
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:500 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:504 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:508 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:512 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:516 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:520 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:524 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:528 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v30, off, s[0:3], s32 offset:532 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:536 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:540 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:544 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:548 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:552 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:556 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:560 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:564 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:568 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v38, off, s[0:3], s32 offset:572 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:576 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v57, off, s[0:3], s32 offset:580 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v59, off, s[0:3], s32 offset:584 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:588 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:592 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:596 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:600 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:604 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:608 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v50, off, s[0:3], s32 offset:612 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:616 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:620 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:624 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:628 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:632 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:636 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:428 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v59, off, s[0:3], s32 offset:640 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v50, off, s[0:3], s32 offset:604 ; 4-byte Folded Spill
+; GFX9-NEXT: s_waitcnt vmcnt(30)
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:608 ; 4-byte Folded Spill
+; GFX9-NEXT: s_waitcnt vmcnt(29)
+; GFX9-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:612 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:616 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:620 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:624 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:628 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:632 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:636 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:640 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:644 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:648 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:456 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:460 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:464 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:416 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:420 ; 4-byte Folded Spill
+; GFX9-NEXT: s_waitcnt vmcnt(43)
+; GFX9-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:480 ; 4-byte Folded Spill
; GFX9-NEXT: s_cbranch_scc0 .LBB93_2
; GFX9-NEXT: ; %bb.1: ; %cmp.false
-; GFX9-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:676 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v24, 0xc0c0004
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:648 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:660 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:672 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:664 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:680 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:684 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:692 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:688 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:700 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:696 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v49, v3
+; GFX9-NEXT: v_mov_b32_e32 v25, 0xc0c0004
+; GFX9-NEXT: buffer_store_dword v48, off, s[0:3], s32 offset:652 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v48, s19
+; GFX9-NEXT: v_mov_b32_e32 v10, s17
+; GFX9-NEXT: v_perm_b32 v48, s18, v48, v25
+; GFX9-NEXT: v_perm_b32 v10, s16, v10, v25
+; GFX9-NEXT: v_lshlrev_b32_e32 v24, 16, v48
+; GFX9-NEXT: s_mov_b32 s5, 0xc0c0004
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:660 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:664 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:676 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:668 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:680 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:684 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:692 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:688 ; 4-byte Folded Spill
+; GFX9-NEXT: v_or_b32_sdwa v0, v24, v10 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_perm_b32 v24, v59, v57, s5
+; GFX9-NEXT: buffer_load_dword v57, off, s[0:3], s32 offset:480 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v59, off, s[0:3], s32 offset:476 ; 4-byte Folded Reload
+; GFX9-NEXT: v_mov_b32_e32 v52, v3
; GFX9-NEXT: v_mov_b32_e32 v3, s27
; GFX9-NEXT: v_mov_b32_e32 v2, s25
-; GFX9-NEXT: v_perm_b32 v3, s26, v3, v24
-; GFX9-NEXT: v_mov_b32_e32 v63, v55
-; GFX9-NEXT: v_mov_b32_e32 v55, v4
-; GFX9-NEXT: v_perm_b32 v2, s24, v2, v24
+; GFX9-NEXT: v_perm_b32 v3, s26, v3, v25
+; GFX9-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:696 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v58, v4
+; GFX9-NEXT: v_perm_b32 v2, s24, v2, v25
; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; GFX9-NEXT: v_mov_b32_e32 v4, s6
; GFX9-NEXT: v_or_b32_sdwa v2, v3, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: v_mov_b32_e32 v3, s29
-; GFX9-NEXT: v_perm_b32 v4, s7, v4, v24
-; GFX9-NEXT: v_mov_b32_e32 v33, v5
-; GFX9-NEXT: v_perm_b32 v3, s28, v3, v24
+; GFX9-NEXT: v_perm_b32 v4, s7, v4, v25
+; GFX9-NEXT: v_mov_b32_e32 v63, v44
+; GFX9-NEXT: v_mov_b32_e32 v44, v42
+; GFX9-NEXT: v_mov_b32_e32 v42, v5
+; GFX9-NEXT: v_perm_b32 v3, s28, v3, v25
; GFX9-NEXT: v_lshlrev_b32_e32 v4, 16, v4
; GFX9-NEXT: v_mov_b32_e32 v5, s8
+; GFX9-NEXT: v_mov_b32_e32 v48, s21
; GFX9-NEXT: v_or_b32_sdwa v3, v4, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: v_mov_b32_e32 v4, s15
-; GFX9-NEXT: v_perm_b32 v5, s10, v5, v24
-; GFX9-NEXT: v_mov_b32_e32 v41, s17
-; GFX9-NEXT: v_perm_b32 v4, s43, v4, v24
+; GFX9-NEXT: v_perm_b32 v5, s10, v5, v25
+; GFX9-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:672 ; 4-byte Folded Spill
+; GFX9-NEXT: v_perm_b32 v23, s20, v48, v25
+; GFX9-NEXT: v_mov_b32_e32 v48, s23
+; GFX9-NEXT: v_perm_b32 v4, s43, v4, v25
; GFX9-NEXT: v_lshlrev_b32_e32 v5, 16, v5
; GFX9-NEXT: v_mov_b32_e32 v6, s12
-; GFX9-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:668 ; 4-byte Folded Spill
-; GFX9-NEXT: v_perm_b32 v23, s16, v41, v24
-; GFX9-NEXT: v_mov_b32_e32 v41, s19
+; GFX9-NEXT: v_perm_b32 v48, s22, v48, v25
; GFX9-NEXT: v_or_b32_sdwa v4, v5, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: v_mov_b32_e32 v5, s47
-; GFX9-NEXT: v_perm_b32 v6, s14, v6, v24
-; GFX9-NEXT: v_perm_b32 v41, s18, v41, v24
-; GFX9-NEXT: v_mov_b32_e32 v45, v44
-; GFX9-NEXT: v_mov_b32_e32 v44, v37
-; GFX9-NEXT: v_mov_b32_e32 v37, v7
-; GFX9-NEXT: v_perm_b32 v5, s59, v5, v24
+; GFX9-NEXT: v_perm_b32 v6, s14, v6, v25
+; GFX9-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:656 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshlrev_b32_e32 v22, 16, v48
+; GFX9-NEXT: v_mov_b32_e32 v48, v33
+; GFX9-NEXT: v_mov_b32_e32 v33, v7
+; GFX9-NEXT: v_perm_b32 v5, s59, v5, v25
; GFX9-NEXT: v_lshlrev_b32_e32 v6, 16, v6
; GFX9-NEXT: v_mov_b32_e32 v7, s42
-; GFX9-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:656 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshlrev_b32_e32 v22, 16, v41
-; GFX9-NEXT: v_mov_b32_e32 v41, s21
; GFX9-NEXT: v_or_b32_sdwa v5, v6, v5 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: v_mov_b32_e32 v6, s61
-; GFX9-NEXT: v_perm_b32 v7, s46, v7, v24
-; GFX9-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:652 ; 4-byte Folded Spill
-; GFX9-NEXT: v_perm_b32 v21, s20, v41, v24
-; GFX9-NEXT: v_mov_b32_e32 v41, s23
-; GFX9-NEXT: v_perm_b32 v6, s63, v6, v24
+; GFX9-NEXT: v_perm_b32 v7, s46, v7, v25
+; GFX9-NEXT: v_mov_b32_e32 v53, v47
+; GFX9-NEXT: v_mov_b32_e32 v47, v43
+; GFX9-NEXT: v_mov_b32_e32 v43, v8
+; GFX9-NEXT: v_perm_b32 v6, s63, v6, v25
; GFX9-NEXT: v_lshlrev_b32_e32 v7, 16, v7
; GFX9-NEXT: v_mov_b32_e32 v8, s45
-; GFX9-NEXT: v_perm_b32 v41, s22, v41, v24
; GFX9-NEXT: v_or_b32_sdwa v6, v7, v6 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: v_mov_b32_e32 v7, s73
-; GFX9-NEXT: v_perm_b32 v8, s58, v8, v24
-; GFX9-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:644 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshlrev_b32_e32 v20, 16, v41
-; GFX9-NEXT: v_mov_b32_e32 v41, v61
-; GFX9-NEXT: v_mov_b32_e32 v61, v47
-; GFX9-NEXT: v_mov_b32_e32 v47, v10
-; GFX9-NEXT: v_perm_b32 v7, s75, v7, v24
+; GFX9-NEXT: v_perm_b32 v8, s58, v8, v25
+; GFX9-NEXT: v_mov_b32_e32 v51, v61
+; GFX9-NEXT: v_mov_b32_e32 v61, v32
+; GFX9-NEXT: v_mov_b32_e32 v32, v9
+; GFX9-NEXT: v_perm_b32 v7, s75, v7, v25
; GFX9-NEXT: v_lshlrev_b32_e32 v8, 16, v8
; GFX9-NEXT: v_mov_b32_e32 v10, 0x6050400
; GFX9-NEXT: v_mov_b32_e32 v9, s11
; GFX9-NEXT: v_or_b32_sdwa v7, v8, v7 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: v_mov_b32_e32 v8, s76
; GFX9-NEXT: v_perm_b32 v9, s9, v9, v10
-; GFX9-NEXT: v_or_b32_sdwa v1, v20, v21 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_or_b32_sdwa v1, v22, v23 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: v_perm_b32 v8, s41, v8, v10
; GFX9-NEXT: v_lshlrev_b32_e32 v9, 16, v9
-; GFX9-NEXT: v_mov_b32_e32 v20, s40
+; GFX9-NEXT: v_mov_b32_e32 v22, s40
; GFX9-NEXT: v_or_b32_sdwa v8, v9, v8 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: v_mov_b32_e32 v9, s57
-; GFX9-NEXT: v_perm_b32 v20, s13, v20, v10
+; GFX9-NEXT: v_perm_b32 v22, s13, v22, v10
; GFX9-NEXT: s_mov_b32 s4, 0x6050400
-; GFX9-NEXT: v_perm_b32 v9, s60, v9, v24
-; GFX9-NEXT: v_lshlrev_b32_e32 v20, 16, v20
+; GFX9-NEXT: v_perm_b32 v9, s60, v9, v25
+; GFX9-NEXT: v_lshlrev_b32_e32 v22, 16, v22
; GFX9-NEXT: v_perm_b32 v11, v11, v12, s4
-; GFX9-NEXT: v_or_b32_sdwa v9, v20, v9 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_mov_b32_e32 v20, s72
-; GFX9-NEXT: v_mov_b32_e32 v21, s56
-; GFX9-NEXT: v_perm_b32 v13, s74, v13, v24
+; GFX9-NEXT: v_or_b32_sdwa v9, v22, v9 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_mov_b32_e32 v22, s72
+; GFX9-NEXT: v_mov_b32_e32 v23, s56
+; GFX9-NEXT: v_perm_b32 v13, s74, v13, v25
; GFX9-NEXT: v_lshlrev_b32_e32 v11, 16, v11
-; GFX9-NEXT: v_perm_b32 v12, v35, v53, s4
-; GFX9-NEXT: v_perm_b32 v20, s62, v20, v10
-; GFX9-NEXT: v_perm_b32 v10, s44, v21, v10
+; GFX9-NEXT: v_perm_b32 v12, v34, v36, s4
+; GFX9-NEXT: v_perm_b32 v22, s62, v22, v10
+; GFX9-NEXT: v_perm_b32 v10, s44, v23, v10
; GFX9-NEXT: v_or_b32_sdwa v11, v11, v13 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: v_lshlrev_b32_e32 v12, 16, v12
-; GFX9-NEXT: v_perm_b32 v13, v26, v42, s4
+; GFX9-NEXT: v_perm_b32 v13, v37, v26, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v10, 16, v10
; GFX9-NEXT: v_or_b32_sdwa v12, v12, v13 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: s_mov_b32 s5, 0xc0c0004
-; GFX9-NEXT: v_perm_b32 v13, v39, v34, s4
-; GFX9-NEXT: v_or_b32_sdwa v10, v10, v20 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_perm_b32 v13, v49, v39, s4
+; GFX9-NEXT: v_or_b32_sdwa v10, v10, v22 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: v_lshlrev_b32_e32 v13, 16, v13
-; GFX9-NEXT: v_perm_b32 v20, v27, v28, s5
-; GFX9-NEXT: v_or_b32_sdwa v13, v13, v20 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_perm_b32 v20, v62, v52, s4
-; GFX9-NEXT: v_lshlrev_b32_e32 v20, 16, v20
+; GFX9-NEXT: v_perm_b32 v22, v27, v28, s5
+; GFX9-NEXT: v_or_b32_sdwa v13, v13, v22 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_perm_b32 v22, v62, v55, s4
+; GFX9-NEXT: v_lshlrev_b32_e32 v22, 16, v22
; GFX9-NEXT: v_perm_b32 v14, v14, v29, s4
; GFX9-NEXT: v_perm_b32 v15, v15, v56, s4
-; GFX9-NEXT: v_or_b32_sdwa v14, v20, v14 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_or_b32_sdwa v14, v22, v14 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: v_lshlrev_b32_e32 v15, 16, v15
-; GFX9-NEXT: v_perm_b32 v20, v30, v31, s5
-; GFX9-NEXT: v_or_b32_sdwa v0, v22, v23 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_or_b32_sdwa v15, v15, v20 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_perm_b32 v20, v43, v38, s5
-; GFX9-NEXT: v_perm_b32 v22, v32, v16, s5
-; GFX9-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:472 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:412 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:444 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v22, v30, v31, s5
+; GFX9-NEXT: v_or_b32_sdwa v15, v15, v22 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_perm_b32 v22, v38, v46, s5
+; GFX9-NEXT: v_lshlrev_b32_e32 v22, 16, v22
+; GFX9-NEXT: v_perm_b32 v17, v17, v16, s5
+; GFX9-NEXT: v_or_b32_sdwa v16, v22, v24 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: s_waitcnt vmcnt(4)
+; GFX9-NEXT: v_perm_b32 v22, v41, v57, s5
+; GFX9-NEXT: v_lshlrev_b32_e32 v22, 16, v22
+; GFX9-NEXT: v_perm_b32 v18, v50, v18, s5
+; GFX9-NEXT: v_or_b32_sdwa v18, v22, v18 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: s_waitcnt vmcnt(3)
+; GFX9-NEXT: v_perm_b32 v22, v40, v59, s5
+; GFX9-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:472 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v23, v35, v21, s5
+; GFX9-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:424 ; 4-byte Folded Reload
+; GFX9-NEXT: v_lshlrev_b32_e32 v22, 16, v22
+; GFX9-NEXT: v_perm_b32 v19, v45, v19, s5
+; GFX9-NEXT: v_or_b32_sdwa v19, v22, v19 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_perm_b32 v20, v54, v20, s5
+; GFX9-NEXT: v_lshlrev_b32_e32 v23, 16, v23
+; GFX9-NEXT: v_or_b32_sdwa v17, v23, v17 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:696 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:404 ; 4-byte Folded Reload
-; GFX9-NEXT: v_lshlrev_b32_e32 v20, 16, v20
-; GFX9-NEXT: v_perm_b32 v21, v46, v60, s5
-; GFX9-NEXT: v_or_b32_sdwa v16, v20, v21 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_perm_b32 v20, v57, v36, s5
-; GFX9-NEXT: buffer_load_dword v57, off, s[0:3], s32 offset:468 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:400 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v60, off, s[0:3], s32 offset:464 ; 4-byte Folded Reload
-; GFX9-NEXT: v_perm_b32 v17, v40, v17, s5
-; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v17
-; GFX9-NEXT: v_or_b32_sdwa v17, v17, v22 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:408 ; 4-byte Folded Reload
-; GFX9-NEXT: v_lshlrev_b32_e32 v20, 16, v20
-; GFX9-NEXT: v_perm_b32 v18, v48, v18, s5
-; GFX9-NEXT: v_or_b32_sdwa v18, v20, v18 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_perm_b32 v19, v51, v19, s5
+; GFX9-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:408 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:412 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v38, off, s[0:3], s32 offset:468 ; 4-byte Folded Reload
+; GFX9-NEXT: v_mov_b32_e32 v45, v58
+; GFX9-NEXT: v_mov_b32_e32 v54, v42
+; GFX9-NEXT: v_mov_b32_e32 v50, v60
+; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:488 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:492 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:496 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:680 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:448 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:688 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:452 ; 4-byte Folded Reload
-; GFX9-NEXT: v_mov_b32_e32 v51, v33
-; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:700 ; 4-byte Folded Reload
-; GFX9-NEXT: v_mov_b32_e32 v48, v54
-; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:476 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:696 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(14)
-; GFX9-NEXT: v_perm_b32 v20, v59, v32, s5
-; GFX9-NEXT: v_lshlrev_b32_e32 v20, 16, v20
-; GFX9-NEXT: v_or_b32_sdwa v19, v20, v19 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: s_waitcnt vmcnt(11)
-; GFX9-NEXT: v_perm_b32 v23, v58, v23, s5
-; GFX9-NEXT: v_perm_b32 v24, v47, v24, s5
-; GFX9-NEXT: v_perm_b32 v27, v27, v63, s4
-; GFX9-NEXT: buffer_load_dword v59, off, s[0:3], s32 offset:456 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:460 ; 4-byte Folded Reload
-; GFX9-NEXT: v_mov_b32_e32 v58, v49
+; GFX9-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:668 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(12)
-; GFX9-NEXT: v_perm_b32 v20, v54, v57, s5
-; GFX9-NEXT: v_lshlrev_b32_e32 v20, 16, v20
+; GFX9-NEXT: v_perm_b32 v22, v60, v40, s5
+; GFX9-NEXT: v_lshlrev_b32_e32 v22, 16, v22
+; GFX9-NEXT: v_or_b32_sdwa v20, v22, v20 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: s_waitcnt vmcnt(11)
+; GFX9-NEXT: v_perm_b32 v22, v58, v21, s5
+; GFX9-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:400 ; 4-byte Folded Reload
+; GFX9-NEXT: v_lshlrev_b32_e32 v22, 16, v22
+; GFX9-NEXT: v_mov_b32_e32 v60, v40
; GFX9-NEXT: s_waitcnt vmcnt(11)
-; GFX9-NEXT: v_perm_b32 v21, v50, v21, s5
-; GFX9-NEXT: v_or_b32_sdwa v20, v20, v21 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_mov_b32_e32 v58, v29
; GFX9-NEXT: s_waitcnt vmcnt(10)
-; GFX9-NEXT: v_perm_b32 v21, v33, v60, s5
-; GFX9-NEXT: v_lshlrev_b32_e32 v21, 16, v21
+; GFX9-NEXT: v_perm_b32 v23, v32, v23, s5
; GFX9-NEXT: s_waitcnt vmcnt(9)
-; GFX9-NEXT: v_perm_b32 v22, v25, v22, s5
-; GFX9-NEXT: v_or_b32_sdwa v21, v21, v22 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:420 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:416 ; 4-byte Folded Reload
-; GFX9-NEXT: v_mov_b32_e32 v50, v37
-; GFX9-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:664 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v54, off, s[0:3], s32 offset:644 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(10)
-; GFX9-NEXT: v_mov_b32_e32 v62, v30
-; GFX9-NEXT: s_waitcnt vmcnt(7)
-; GFX9-NEXT: v_mov_b32_e32 v47, v26
-; GFX9-NEXT: v_perm_b32 v26, v44, v26, s5
-; GFX9-NEXT: s_waitcnt vmcnt(6)
-; GFX9-NEXT: v_mov_b32_e32 v42, v29
-; GFX9-NEXT: v_mov_b32_e32 v44, v45
-; GFX9-NEXT: s_waitcnt vmcnt(3)
-; GFX9-NEXT: v_perm_b32 v22, v37, v22, s5
-; GFX9-NEXT: v_lshlrev_b32_e32 v22, 16, v22
-; GFX9-NEXT: v_or_b32_sdwa v22, v22, v23 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:424 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(3)
+; GFX9-NEXT: v_perm_b32 v24, v33, v24, s5
+; GFX9-NEXT: s_waitcnt vmcnt(8)
; GFX9-NEXT: v_perm_b32 v25, v25, v61, s4
-; GFX9-NEXT: v_mov_b32_e32 v61, v41
-; GFX9-NEXT: v_mov_b32_e32 v37, v28
+; GFX9-NEXT: v_mov_b32_e32 v61, v51
+; GFX9-NEXT: v_mov_b32_e32 v33, v48
+; GFX9-NEXT: s_waitcnt vmcnt(6)
+; GFX9-NEXT: v_mov_b32_e32 v36, v28
+; GFX9-NEXT: v_perm_b32 v28, v29, v28, s5
+; GFX9-NEXT: s_waitcnt vmcnt(4)
+; GFX9-NEXT: v_mov_b32_e32 v32, v26
+; GFX9-NEXT: v_perm_b32 v26, v47, v26, s5
; GFX9-NEXT: s_waitcnt vmcnt(2)
-; GFX9-NEXT: v_mov_b32_e32 v38, v33
+; GFX9-NEXT: v_mov_b32_e32 v34, v30
+; GFX9-NEXT: v_mov_b32_e32 v39, v31
+; GFX9-NEXT: v_mov_b32_e32 v47, v53
+; GFX9-NEXT: s_waitcnt vmcnt(1)
+; GFX9-NEXT: v_mov_b32_e32 v55, v35
+; GFX9-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:692 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_mov_b32_e32 v56, v54
+; GFX9-NEXT: v_perm_b32 v21, v43, v21, s5
+; GFX9-NEXT: v_or_b32_sdwa v21, v22, v21 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:432 ; 4-byte Folded Reload
+; GFX9-NEXT: v_mov_b32_e32 v43, v27
+; GFX9-NEXT: v_perm_b32 v27, v27, v44, s4
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_perm_b32 v22, v42, v22, s5
+; GFX9-NEXT: v_lshlrev_b32_e32 v22, 16, v22
+; GFX9-NEXT: v_or_b32_sdwa v22, v22, v23 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:436 ; 4-byte Folded Reload
+; GFX9-NEXT: v_mov_b32_e32 v42, v44
+; GFX9-NEXT: v_mov_b32_e32 v44, v63
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v23, v55, v23, s5
+; GFX9-NEXT: v_perm_b32 v23, v52, v23, s5
; GFX9-NEXT: v_lshlrev_b32_e32 v23, 16, v23
; GFX9-NEXT: v_or_b32_sdwa v23, v23, v24 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:432 ; 4-byte Folded Reload
-; GFX9-NEXT: v_mov_b32_e32 v55, v63
+; GFX9-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:440 ; 4-byte Folded Reload
+; GFX9-NEXT: v_mov_b32_e32 v52, v29
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v24, v24, v49, s4
+; GFX9-NEXT: v_perm_b32 v24, v24, v48, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v24, 16, v24
; GFX9-NEXT: v_or_b32_sdwa v24, v24, v25 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:440 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:448 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v25, v25, v41, s4
+; GFX9-NEXT: v_perm_b32 v25, v25, v51, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v25, 16, v25
; GFX9-NEXT: v_or_b32_sdwa v25, v25, v26 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:436 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:648 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_perm_b32 v26, v26, v45, s4
+; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:452 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_perm_b32 v26, v26, v53, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v26, 16, v26
; GFX9-NEXT: v_or_b32_sdwa v26, v26, v27 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:428 ; 4-byte Folded Reload
-; GFX9-NEXT: v_mov_b32_e32 v45, v31
+; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:444 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:660 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_perm_b32 v54, v41, v54, s5
-; GFX9-NEXT: v_mov_b32_e32 v52, v41
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v27, v27, v28, s4
-; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:676 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v27, v27, v63, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v27, 16, v27
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_mov_b32_e32 v53, v28
-; GFX9-NEXT: v_perm_b32 v28, v29, v28, s5
; GFX9-NEXT: v_or_b32_sdwa v27, v27, v28 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:668 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:692 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:484 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_mov_b32_e32 v35, v28
+; GFX9-NEXT: v_mov_b32_e32 v46, v53
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_mov_b32_e32 v39, v29
+; GFX9-NEXT: v_mov_b32_e32 v37, v28
; GFX9-NEXT: v_perm_b32 v28, v28, v29, s4
; GFX9-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:684 ; 4-byte Folded Reload
; GFX9-NEXT: v_lshlrev_b32_e32 v28, 16, v28
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_mov_b32_e32 v34, v29
+; GFX9-NEXT: v_mov_b32_e32 v62, v29
; GFX9-NEXT: v_perm_b32 v29, v29, v30, s4
-; GFX9-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:656 ; 4-byte Folded Reload
; GFX9-NEXT: v_or_b32_sdwa v28, v28, v29 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_perm_b32 v29, v46, v59, s4
+; GFX9-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:428 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:420 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_perm_b32 v29, v30, v29, s4
+; GFX9-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:672 ; 4-byte Folded Reload
; GFX9-NEXT: v_lshlrev_b32_e32 v29, 16, v29
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_mov_b32_e32 v63, v30
+; GFX9-NEXT: v_mov_b32_e32 v49, v30
; GFX9-NEXT: v_perm_b32 v30, v31, v30, s5
; GFX9-NEXT: v_or_b32_sdwa v29, v29, v30 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:672 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:652 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:676 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:416 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_mov_b32_e32 v49, v30
-; GFX9-NEXT: v_perm_b32 v30, v43, v30, s4
+; GFX9-NEXT: v_mov_b32_e32 v51, v31
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_perm_b32 v30, v30, v31, s4
+; GFX9-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:652 ; 4-byte Folded Reload
; GFX9-NEXT: v_lshlrev_b32_e32 v30, 16, v30
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_mov_b32_e32 v36, v31
-; GFX9-NEXT: v_perm_b32 v31, v31, v33, s4
+; GFX9-NEXT: v_mov_b32_e32 v48, v31
+; GFX9-NEXT: v_perm_b32 v31, v31, v35, s4
; GFX9-NEXT: v_or_b32_sdwa v30, v30, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:660 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_mov_b32_e32 v33, v31
-; GFX9-NEXT: v_perm_b32 v31, v40, v31, s4
+; GFX9-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:664 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:656 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(1)
+; GFX9-NEXT: v_mov_b32_e32 v63, v31
+; GFX9-NEXT: v_perm_b32 v31, v38, v31, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v31, 16, v31
-; GFX9-NEXT: v_or_b32_sdwa v31, v31, v54 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_mov_b32_e32 v56, v35
+; GFX9-NEXT: v_perm_b32 v35, v53, v35, s5
+; GFX9-NEXT: v_or_b32_sdwa v31, v31, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: s_mov_b64 s[4:5], 0
-; GFX9-NEXT: v_mov_b32_e32 v54, v40
+; GFX9-NEXT: v_mov_b32_e32 v53, v57
+; GFX9-NEXT: v_mov_b32_e32 v35, v38
; GFX9-NEXT: s_branch .LBB93_3
; GFX9-NEXT: .LBB93_2:
-; GFX9-NEXT: v_mov_b32_e32 v48, v54
-; GFX9-NEXT: buffer_load_dword v54, off, s[0:3], s32 offset:448 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:472 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:452 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:460 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v57, off, s[0:3], s32 offset:468 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v59, off, s[0:3], s32 offset:456 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v60, off, s[0:3], s32 offset:464 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:476 ; 4-byte Folded Reload
-; GFX9-NEXT: v_mov_b32_e32 v52, v0
-; GFX9-NEXT: v_mov_b32_e32 v56, v20
-; GFX9-NEXT: v_mov_b32_e32 v62, v8
-; GFX9-NEXT: v_mov_b32_e32 v42, v9
+; GFX9-NEXT: v_mov_b32_e32 v39, v51
+; GFX9-NEXT: v_mov_b32_e32 v51, v53
+; GFX9-NEXT: v_mov_b32_e32 v50, v60
+; GFX9-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:480 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v59, off, s[0:3], s32 offset:476 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:468 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v60, off, s[0:3], s32 offset:472 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v36, off, s[0:3], s32 offset:488 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:492 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:496 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v37, off, s[0:3], s32 offset:484 ; 4-byte Folded Reload
+; GFX9-NEXT: v_mov_b32_e32 v46, v0
+; GFX9-NEXT: v_mov_b32_e32 v56, v22
; GFX9-NEXT: v_mov_b32_e32 v34, v6
-; GFX9-NEXT: v_mov_b32_e32 v38, v1
-; GFX9-NEXT: v_mov_b32_e32 v53, v24
-; GFX9-NEXT: v_mov_b32_e32 v36, v21
-; GFX9-NEXT: v_mov_b32_e32 v39, v33
-; GFX9-NEXT: v_mov_b32_e32 v33, v63
-; GFX9-NEXT: v_mov_b32_e32 v63, v22
-; GFX9-NEXT: v_mov_b32_e32 v37, v2
-; GFX9-NEXT: v_mov_b32_e32 v35, v23
-; GFX9-NEXT: v_mov_b32_e32 v58, v3
-; GFX9-NEXT: v_mov_b32_e32 v50, v7
-; GFX9-NEXT: v_mov_b32_e32 v51, v5
+; GFX9-NEXT: v_mov_b32_e32 v62, v2
+; GFX9-NEXT: v_mov_b32_e32 v55, v1
+; GFX9-NEXT: v_mov_b32_e32 v49, v23
+; GFX9-NEXT: v_mov_b32_e32 v54, v5
+; GFX9-NEXT: v_mov_b32_e32 v45, v4
; GFX9-NEXT: s_mov_b64 s[4:5], -1
; GFX9-NEXT: ; implicit-def: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15
; GFX9-NEXT: ; implicit-def: $vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31
; GFX9-NEXT: .LBB93_3: ; %Flow
+; GFX9-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:456 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:460 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v57, off, s[0:3], s32 offset:464 ; 4-byte Folded Reload
; GFX9-NEXT: s_and_b64 s[4:5], s[4:5], exec
; GFX9-NEXT: s_cselect_b32 s4, 1, 0
; GFX9-NEXT: s_cmp_lg_u32 s4, 1
; GFX9-NEXT: s_cbranch_scc1 .LBB93_5
; GFX9-NEXT: ; %bb.4: ; %cmp.true
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:428 ; 4-byte Folded Reload
-; GFX9-NEXT: v_add_u32_e32 v0, 3, v52
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:416 ; 4-byte Folded Reload
+; GFX9-NEXT: v_add_u32_e32 v0, 3, v46
; GFX9-NEXT: s_mov_b32 s5, 0xc0c0004
; GFX9-NEXT: v_perm_b32 v0, v0, v56, s5
-; GFX9-NEXT: v_add_u32_e32 v0, 0x300, v0
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:448 ; 4-byte Folded Spill
-; GFX9-NEXT: v_add_u32_e32 v0, 3, v33
+; GFX9-NEXT: v_add_u32_e32 v38, 0x300, v0
+; GFX9-NEXT: v_add_u32_e32 v0, 3, v63
; GFX9-NEXT: s_movk_i32 s4, 0x300
; GFX9-NEXT: s_waitcnt vmcnt(9)
-; GFX9-NEXT: v_perm_b32 v0, v0, v54, s5
-; GFX9-NEXT: v_add_u32_sdwa v0, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:452 ; 4-byte Folded Spill
-; GFX9-NEXT: v_add_u32_e32 v0, 3, v38
-; GFX9-NEXT: v_perm_b32 v0, v0, v36, s5
-; GFX9-NEXT: v_add_u32_e32 v36, 0x300, v0
-; GFX9-NEXT: v_add_u32_e32 v0, 3, v49
-; GFX9-NEXT: s_waitcnt vmcnt(8)
-; GFX9-NEXT: v_perm_b32 v0, v0, v43, s5
-; GFX9-NEXT: v_add_u32_sdwa v38, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-; GFX9-NEXT: v_add_u32_e32 v0, 3, v45
-; GFX9-NEXT: v_perm_b32 v0, v0, v63, s5
-; GFX9-NEXT: v_add_u32_e32 v0, 0x300, v0
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:456 ; 4-byte Folded Spill
-; GFX9-NEXT: s_waitcnt vmcnt(6)
-; GFX9-NEXT: v_add_u32_e32 v0, 3, v59
-; GFX9-NEXT: v_perm_b32 v0, v0, v46, s5
-; GFX9-NEXT: v_add_u32_sdwa v0, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:460 ; 4-byte Folded Spill
-; GFX9-NEXT: v_add_u32_e32 v0, 3, v62
-; GFX9-NEXT: v_perm_b32 v0, v0, v34, s5
-; GFX9-NEXT: v_add_u32_e32 v31, 0x300, v0
-; GFX9-NEXT: v_add_u32_e32 v0, 3, v39
; GFX9-NEXT: v_perm_b32 v0, v0, v35, s5
-; GFX9-NEXT: v_add_u32_sdwa v35, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-; GFX9-NEXT: v_add_u32_e32 v0, 3, v42
-; GFX9-NEXT: v_perm_b32 v0, v0, v53, s5
-; GFX9-NEXT: v_add_u32_e32 v30, 0x300, v0
-; GFX9-NEXT: v_add_u32_e32 v0, 3, v37
+; GFX9-NEXT: v_add_u32_sdwa v0, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:468 ; 4-byte Folded Spill
+; GFX9-NEXT: v_add_u32_e32 v0, 3, v55
+; GFX9-NEXT: v_perm_b32 v0, v0, v48, s5
+; GFX9-NEXT: v_add_u32_e32 v48, 0x300, v0
+; GFX9-NEXT: v_add_u32_e32 v0, 3, v51
; GFX9-NEXT: s_add_i32 s74, s74, 3
; GFX9-NEXT: s_add_i32 s72, s72, 3
; GFX9-NEXT: s_add_i32 s56, s56, 3
@@ -176355,118 +176402,145 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; GFX9-NEXT: s_add_i32 s20, s20, 3
; GFX9-NEXT: s_add_i32 s22, s22, 3
; GFX9-NEXT: s_add_i32 s16, s16, 3
-; GFX9-NEXT: v_mov_b32_e32 v33, s17
; GFX9-NEXT: s_add_i32 s18, s18, 3
-; GFX9-NEXT: v_mov_b32_e32 v34, s19
-; GFX9-NEXT: s_waitcnt vmcnt(4)
+; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_perm_b32 v0, v0, v1, s5
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:444 ; 4-byte Folded Reload
-; GFX9-NEXT: v_add_u32_sdwa v29, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-; GFX9-NEXT: v_add_u32_e32 v0, 3, v55
+; GFX9-NEXT: v_add_u32_sdwa v0, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:416 ; 4-byte Folded Spill
+; GFX9-NEXT: v_add_u32_e32 v0, 3, v39
+; GFX9-NEXT: v_perm_b32 v0, v0, v49, s5
+; GFX9-NEXT: v_add_u32_e32 v31, 0x300, v0
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:428 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:420 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(1)
+; GFX9-NEXT: v_add_u32_e32 v0, 3, v0
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v0, v1, s5
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:436 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:444 ; 4-byte Folded Reload
+; GFX9-NEXT: v_add_u32_sdwa v35, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+; GFX9-NEXT: v_add_u32_e32 v0, 3, v34
+; GFX9-NEXT: v_perm_b32 v0, v0, v62, s5
+; GFX9-NEXT: v_add_u32_e32 v30, 0x300, v0
+; GFX9-NEXT: v_add_u32_e32 v0, 3, v52
+; GFX9-NEXT: v_perm_b32 v0, v0, v37, s5
+; GFX9-NEXT: v_add_u32_sdwa v29, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+; GFX9-NEXT: v_add_u32_e32 v0, 3, v58
+; GFX9-NEXT: v_perm_b32 v0, v0, v36, s5
; GFX9-NEXT: v_add_u32_e32 v28, 0x300, v0
; GFX9-NEXT: v_add_u32_e32 v0, 3, v44
+; GFX9-NEXT: v_mov_b32_e32 v34, s19
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v0, v1, s5
-; GFX9-NEXT: v_add_u32_sdwa v27, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:636 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:440 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:452 ; 4-byte Folded Reload
+; GFX9-NEXT: v_add_u32_sdwa v36, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+; GFX9-NEXT: v_add_u32_e32 v0, 3, v42
+; GFX9-NEXT: v_perm_b32 v0, v0, v43, s5
+; GFX9-NEXT: v_add_u32_e32 v27, 0x300, v0
+; GFX9-NEXT: v_add_u32_e32 v0, 3, v47
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_perm_b32 v0, v0, v1, s5
+; GFX9-NEXT: v_add_u32_sdwa v37, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:648 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:448 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_add_u32_e32 v0, 3, v0
-; GFX9-NEXT: v_perm_b32 v0, v0, v47, s5
+; GFX9-NEXT: v_perm_b32 v0, v0, v32, s5
; GFX9-NEXT: v_add_u32_e32 v26, 0x300, v0
; GFX9-NEXT: v_add_u32_e32 v0, 3, v61
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v0, v1, s5
; GFX9-NEXT: v_add_u32_sdwa v25, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:632 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:644 ; 4-byte Folded Reload
; GFX9-NEXT: v_or_b32_sdwa v25, v25, v26 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_or_b32_sdwa v26, v27, v28 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_or_b32_sdwa v27, v29, v30 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_or_b32_sdwa v28, v35, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:456 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:460 ; 4-byte Folded Reload
+; GFX9-NEXT: v_or_b32_sdwa v26, v37, v27 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_or_b32_sdwa v27, v36, v28 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_or_b32_sdwa v28, v29, v30 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_or_b32_sdwa v29, v35, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_mov_b32_e32 v32, s23
+; GFX9-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:468 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:416 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(2)
; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:416 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:412 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(2)
+; GFX9-NEXT: v_or_b32_sdwa v31, v31, v38 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_or_b32_sdwa v29, v30, v29 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_or_b32_sdwa v30, v38, v36 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_or_b32_sdwa v30, v30, v48 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:432 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:440 ; 4-byte Folded Reload
; GFX9-NEXT: v_add_u32_e32 v24, 0x300, v0
-; GFX9-NEXT: v_add_u32_e32 v0, 3, v58
+; GFX9-NEXT: v_add_u32_e32 v0, 3, v33
+; GFX9-NEXT: v_mov_b32_e32 v33, s17
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v0, v1, s5
; GFX9-NEXT: v_add_u32_sdwa v39, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:628 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:640 ; 4-byte Folded Reload
; GFX9-NEXT: v_or_b32_sdwa v24, v39, v24 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:412 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:408 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
; GFX9-NEXT: v_add_u32_e32 v23, 0x300, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:624 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:424 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:636 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:436 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_add_u32_e32 v0, 3, v0
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v0, v1, s5
; GFX9-NEXT: v_add_u32_sdwa v63, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:620 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:632 ; 4-byte Folded Reload
; GFX9-NEXT: v_or_b32_sdwa v23, v63, v23 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:404 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:420 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:432 ; 4-byte Folded Reload
; GFX9-NEXT: v_add_u32_e32 v22, 0x300, v0
-; GFX9-NEXT: v_add_u32_e32 v0, 3, v50
+; GFX9-NEXT: v_add_u32_e32 v0, 3, v54
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v0, v1, s5
; GFX9-NEXT: v_add_u32_sdwa v49, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:616 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:628 ; 4-byte Folded Reload
; GFX9-NEXT: v_or_b32_sdwa v22, v49, v22 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:408 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:400 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:424 ; 4-byte Folded Reload
; GFX9-NEXT: v_add_u32_e32 v21, 0x300, v0
-; GFX9-NEXT: v_add_u32_e32 v0, 3, v51
-; GFX9-NEXT: v_perm_b32 v0, v0, v60, s5
-; GFX9-NEXT: v_add_u32_sdwa v50, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:612 ; 4-byte Folded Reload
-; GFX9-NEXT: v_or_b32_sdwa v21, v50, v21 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_add_u32_e32 v0, 3, v45
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_perm_b32 v0, v0, v1, s5
+; GFX9-NEXT: v_add_u32_sdwa v62, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:620 ; 4-byte Folded Reload
+; GFX9-NEXT: v_or_b32_sdwa v21, v62, v21 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:400 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:624 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
; GFX9-NEXT: v_add_u32_e32 v20, 0x300, v0
-; GFX9-NEXT: v_add_u32_e32 v0, 3, v48
-; GFX9-NEXT: v_perm_b32 v0, v0, v57, s5
+; GFX9-NEXT: v_add_u32_e32 v0, 3, v50
+; GFX9-NEXT: v_perm_b32 v0, v0, v60, s5
; GFX9-NEXT: v_add_u32_sdwa v51, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:604 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:612 ; 4-byte Folded Reload
; GFX9-NEXT: v_or_b32_sdwa v20, v51, v20 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:608 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:616 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
; GFX9-NEXT: v_add_u32_e32 v19, 0x300, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:640 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:608 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u32_e32 v0, 3, v0
-; GFX9-NEXT: v_perm_b32 v0, v0, v32, s5
+; GFX9-NEXT: v_perm_b32 v0, v0, v59, s5
; GFX9-NEXT: v_add_u32_sdwa v52, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:596 ; 4-byte Folded Reload
-; GFX9-NEXT: v_mov_b32_e32 v32, s23
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:604 ; 4-byte Folded Reload
; GFX9-NEXT: v_or_b32_sdwa v19, v52, v19 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
@@ -176474,117 +176548,109 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
; GFX9-NEXT: v_add_u32_e32 v18, 0x300, v0
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:596 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_add_u32_e32 v0, 3, v0
+; GFX9-NEXT: v_perm_b32 v0, v0, v53, s5
+; GFX9-NEXT: v_add_u32_sdwa v53, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:592 ; 4-byte Folded Reload
+; GFX9-NEXT: v_or_b32_sdwa v18, v53, v18 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:588 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
-; GFX9-NEXT: v_add_u32_sdwa v62, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:584 ; 4-byte Folded Reload
-; GFX9-NEXT: v_or_b32_sdwa v18, v62, v18 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:580 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
; GFX9-NEXT: v_add_u32_e32 v17, 0x300, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:568 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:564 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:576 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
+; GFX9-NEXT: v_add_u32_e32 v0, 3, v0
+; GFX9-NEXT: v_perm_b32 v0, v0, v57, s5
; GFX9-NEXT: v_add_u32_sdwa v54, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:576 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:584 ; 4-byte Folded Reload
; GFX9-NEXT: v_or_b32_sdwa v17, v54, v17 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:572 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:580 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
; GFX9-NEXT: v_add_u32_e32 v16, 0x300, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:560 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:556 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:572 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
+; GFX9-NEXT: v_add_u32_e32 v0, 3, v0
+; GFX9-NEXT: v_perm_b32 v0, v0, v40, s5
; GFX9-NEXT: v_add_u32_sdwa v55, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:552 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:532 ; 4-byte Folded Reload
; GFX9-NEXT: v_or_b32_sdwa v16, v55, v16 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:548 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:524 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
; GFX9-NEXT: v_add_u32_e32 v15, 0x300, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:544 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:528 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:556 ; 4-byte Folded Reload
+; GFX9-NEXT: v_add_u32_e32 v1, 3, v41
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
; GFX9-NEXT: v_add_u32_sdwa v40, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:496 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:516 ; 4-byte Folded Reload
; GFX9-NEXT: v_or_b32_sdwa v15, v40, v15 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:500 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:520 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
; GFX9-NEXT: v_add_u32_e32 v14, 0x300, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:532 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:560 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:516 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:544 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
; GFX9-NEXT: v_add_u32_sdwa v41, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:492 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:512 ; 4-byte Folded Reload
; GFX9-NEXT: v_or_b32_sdwa v14, v41, v14 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:536 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:564 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
; GFX9-NEXT: v_add_u32_e32 v13, 0x300, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:520 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:548 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:508 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:536 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
; GFX9-NEXT: v_add_u32_sdwa v42, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:540 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:568 ; 4-byte Folded Reload
; GFX9-NEXT: v_or_b32_sdwa v13, v42, v13 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:524 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:552 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
; GFX9-NEXT: v_add_u32_e32 v12, 0x300, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:512 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:540 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:504 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:528 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:488 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:508 ; 4-byte Folded Reload
; GFX9-NEXT: v_add_u32_sdwa v43, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
; GFX9-NEXT: v_mov_b32_e32 v0, 0xc0c0004
; GFX9-NEXT: v_perm_b32 v32, s22, v32, v0
-; GFX9-NEXT: v_add_u32_sdwa v32, v32, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
; GFX9-NEXT: v_perm_b32 v33, s16, v33, v0
+; GFX9-NEXT: v_add_u32_sdwa v32, v32, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
; GFX9-NEXT: v_add_u32_e32 v33, 0x300, v33
; GFX9-NEXT: v_or_b32_sdwa v12, v43, v12 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, s74, v1, v0
; GFX9-NEXT: v_add_u32_e32 v11, 0x300, v1
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:484 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:504 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u32_e32 v2, 3, v1
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:480 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:500 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v2, v1, s5
; GFX9-NEXT: v_add_u32_sdwa v44, v1, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
@@ -176644,13 +176710,11 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; GFX9-NEXT: v_add_u32_sdwa v61, v1, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
; GFX9-NEXT: v_mov_b32_e32 v1, s21
; GFX9-NEXT: v_perm_b32 v1, s20, v1, v0
-; GFX9-NEXT: v_add_u32_e32 v1, 0x300, v1
-; GFX9-NEXT: v_or_b32_sdwa v1, v32, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:448 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:452 ; 4-byte Folded Reload
; GFX9-NEXT: v_perm_b32 v0, s18, v34, v0
+; GFX9-NEXT: v_add_u32_e32 v1, 0x300, v1
; GFX9-NEXT: v_add_u32_sdwa v0, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
; GFX9-NEXT: v_or_b32_sdwa v0, v0, v33 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_or_b32_sdwa v1, v32, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: v_or_b32_sdwa v2, v61, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: v_or_b32_sdwa v3, v60, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: v_or_b32_sdwa v4, v59, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
@@ -176661,8 +176725,6 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; GFX9-NEXT: v_or_b32_sdwa v9, v46, v9 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: v_or_b32_sdwa v10, v45, v10 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: v_or_b32_sdwa v11, v44, v11 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_or_b32_sdwa v31, v32, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: .LBB93_5: ; %end
; GFX9-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:336 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:340 ; 4-byte Folded Reload
@@ -176687,131 +176749,131 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; GFX11-TRUE16: ; %bb.0:
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
; GFX11-TRUE16-NEXT: s_clause 0x1f
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v133, off, s32 offset:312
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v166, off, s32 offset:308
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v161, off, s32 offset:304
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v180, off, s32 offset:300
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v129, off, s32 offset:296
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v165, off, s32 offset:292
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v178, off, s32 offset:288
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v182, off, s32 offset:284
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v102, off, s32 offset:280
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v160, off, s32 offset:276
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v163, off, s32 offset:272
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v181, off, s32 offset:268
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v132, off, s32 offset:264
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v162, off, s32 offset:260
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v150, off, s32 offset:256
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v179, off, s32 offset:252
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v101, off, s32 offset:248
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v149, off, s32 offset:244
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v146, off, s32 offset:240
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v177, off, s32 offset:236
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v87, off, s32 offset:232
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v144, off, s32 offset:228
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v128, off, s32 offset:224
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v167, off, s32 offset:220
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v82, off, s32 offset:216
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v131, off, s32 offset:212
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v148, off, s32 offset:208
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v176, off, s32 offset:204
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v64, off, s32 offset:200
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v117, off, s32 offset:196
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v119, off, s32 offset:192
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v164, off, s32 offset:188
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v32, off, s32 offset:312
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v35, off, s32 offset:308
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v34, off, s32 offset:304
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v38, off, s32 offset:300
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v33, off, s32 offset:296
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v37, off, s32 offset:292
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v49, off, s32 offset:288
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v52, off, s32 offset:284
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v36, off, s32 offset:280
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v48, off, s32 offset:276
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v51, off, s32 offset:272
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v67, off, s32 offset:268
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v39, off, s32 offset:264
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v55, off, s32 offset:260
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v54, off, s32 offset:256
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v71, off, s32 offset:252
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v50, off, s32 offset:248
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v64, off, s32 offset:244
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v66, off, s32 offset:240
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v81, off, s32 offset:236
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v53, off, s32 offset:232
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v70, off, s32 offset:228
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v69, off, s32 offset:224
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v85, off, s32 offset:220
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v65, off, s32 offset:216
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v80, off, s32 offset:212
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v84, off, s32 offset:208
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v99, off, s32 offset:204
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v68, off, s32 offset:200
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v83, off, s32 offset:196
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v87, off, s32 offset:192
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v101, off, s32 offset:188
; GFX11-TRUE16-NEXT: s_clause 0x1f
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v85, off, s32 offset:184
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v118, off, s32 offset:180
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v115, off, s32 offset:176
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v151, off, s32 offset:172
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v55, off, s32 offset:168
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v113, off, s32 offset:164
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v100, off, s32 offset:160
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v147, off, s32 offset:156
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v52, off, s32 offset:152
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v98, off, s32 offset:148
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v81, off, s32 offset:144
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v135, off, s32 offset:140
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v49, off, s32 offset:136
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v84, off, s32 offset:132
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v112, off, s32 offset:128
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v145, off, s32 offset:124
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v36, off, s32 offset:120
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v69, off, s32 offset:116
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v80, off, s32 offset:112
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v130, off, s32 offset:108
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v51, off, s32 offset:104
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v71, off, s32 offset:100
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v67, off, s32 offset:96
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v116, off, s32 offset:92
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v35, off, s32 offset:88
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v66, off, s32 offset:84
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v54, off, s32 offset:80
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v103, off, s32 offset:76
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v34, off, s32 offset:72
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v53, off, s32 offset:68
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v48, off, s32 offset:64
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v97, off, s32 offset:60
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v82, off, s32 offset:184
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v98, off, s32 offset:180
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v97, off, s32 offset:176
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v115, off, s32 offset:172
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v86, off, s32 offset:168
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v100, off, s32 offset:164
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v103, off, s32 offset:160
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v117, off, s32 offset:156
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v96, off, s32 offset:152
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v114, off, s32 offset:148
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v113, off, s32 offset:144
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v129, off, s32 offset:140
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v102, off, s32 offset:136
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v116, off, s32 offset:132
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v128, off, s32 offset:128
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v135, off, s32 offset:124
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v112, off, s32 offset:120
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v119, off, s32 offset:116
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v131, off, s32 offset:112
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v145, off, s32 offset:108
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v118, off, s32 offset:104
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v134, off, s32 offset:100
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v133, off, s32 offset:96
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v151, off, s32 offset:92
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v130, off, s32 offset:88
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v144, off, s32 offset:84
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v147, off, s32 offset:80
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v161, off, s32 offset:76
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v132, off, s32 offset:72
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v150, off, s32 offset:68
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v149, off, s32 offset:64
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v164, off, s32 offset:60
; GFX11-TRUE16-NEXT: s_clause 0xf
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v33, off, s32 offset:56
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v50, off, s32 offset:52
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v65, off, s32 offset:48
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v99, off, s32 offset:44
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v32, off, s32 offset:40
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v38, off, s32 offset:36
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v39, off, s32 offset:32
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v83, off, s32 offset:28
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v146, off, s32 offset:56
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v160, off, s32 offset:52
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v163, off, s32 offset:48
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v166, off, s32 offset:44
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v148, off, s32 offset:40
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v162, off, s32 offset:36
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v165, off, s32 offset:32
; GFX11-TRUE16-NEXT: scratch_load_b32 v31, off, s32 offset:316
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v70, off, s32 offset:24
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v114, off, s32 offset:20
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v96, off, s32 offset:16
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v134, off, s32 offset:12
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v37, off, s32 offset:8
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v68, off, s32 offset:4
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v86, off, s32
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v182, off, s32 offset:28
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v177, off, s32 offset:24
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v180, off, s32 offset:20
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v179, off, s32 offset:16
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v181, off, s32 offset:12
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v167, off, s32 offset:8
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v176, off, s32 offset:4
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v178, off, s32
; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s74, v30
; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s10, v29
-; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s41, v28
-; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s42, v27
+; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s40, v28
+; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s41, v27
; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s73, v26
-; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s13, v25
+; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s14, v25
; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s46, v24
; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s47, v23
-; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s62, v22
+; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s61, v22
; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s11, v21
-; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s43, v20
-; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s44, v19
+; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s42, v20
+; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s43, v19
; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s59, v18
-; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s5, v17
+; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s6, v17
; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s56, v16
; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s57, v15
-; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s63, v14
-; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s6, v13
+; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s62, v14
+; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s7, v13
; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s12, v12
; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s58, v11
-; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s72, v10
-; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s7, v9
-; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s14, v8
-; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s15, v7
+; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s63, v10
+; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s4, v9
+; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s15, v8
+; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s44, v7
; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s60, v6
; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s8, v5
-; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s40, v4
+; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s13, v4
; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s45, v3
-; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s61, v2
-; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s4, v1
+; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s72, v2
+; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s5, v1
; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s9, v0
; GFX11-TRUE16-NEXT: s_mov_b32 s75, 0
-; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(7)
+; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(8)
; GFX11-TRUE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v31
-; GFX11-TRUE16-NEXT: s_and_b32 s76, vcc_lo, exec_lo
+; GFX11-TRUE16-NEXT: s_cmp_lg_u32 vcc_lo, 0
; GFX11-TRUE16-NEXT: s_cbranch_scc0 .LBB93_2
; GFX11-TRUE16-NEXT: ; %bb.1: ; %cmp.false
; GFX11-TRUE16-NEXT: v_mov_b32_e32 v11, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b32_e32 v10, 0x6050400
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(5)
-; GFX11-TRUE16-NEXT: v_perm_b32 v14, v70, v114, 0x6050400
-; GFX11-TRUE16-NEXT: v_perm_b32 v15, v32, v38, 0x6050400
-; GFX11-TRUE16-NEXT: v_perm_b32 v16, v33, v50, 0x6050400
+; GFX11-TRUE16-NEXT: v_perm_b32 v14, v177, v180, 0x6050400
+; GFX11-TRUE16-NEXT: v_perm_b32 v15, v148, v162, 0x6050400
+; GFX11-TRUE16-NEXT: v_perm_b32 v16, v146, v160, 0x6050400
; GFX11-TRUE16-NEXT: v_perm_b32 v3, s2, s3, v11
; GFX11-TRUE16-NEXT: v_perm_b32 v5, s22, s23, v11
; GFX11-TRUE16-NEXT: v_perm_b32 v6, s26, s27, v11
@@ -176820,92 +176882,92 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; GFX11-TRUE16-NEXT: v_perm_b32 v2, s20, s21, v11
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v0.h, v3.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v2.h, v5.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v5, s9, s4, v11
+; GFX11-TRUE16-NEXT: v_perm_b32 v5, s9, s5, v11
; GFX11-TRUE16-NEXT: v_perm_b32 v3, s24, s25, v11
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v3.h, v6.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v6, s40, s8, v11
-; GFX11-TRUE16-NEXT: v_perm_b32 v7, s14, s7, v11
+; GFX11-TRUE16-NEXT: v_perm_b32 v6, s13, s8, v11
+; GFX11-TRUE16-NEXT: v_perm_b32 v7, s15, s4, v11
; GFX11-TRUE16-NEXT: v_perm_b32 v1, s16, s17, v11
-; GFX11-TRUE16-NEXT: v_perm_b32 v8, s12, s6, v11
+; GFX11-TRUE16-NEXT: v_perm_b32 v8, s12, s7, v11
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v1.h, v4.l
; GFX11-TRUE16-NEXT: v_perm_b32 v4, s28, s29, v11
-; GFX11-TRUE16-NEXT: v_perm_b32 v9, s5, s56, v10
+; GFX11-TRUE16-NEXT: v_perm_b32 v9, s6, s56, v10
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v4.h, v5.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v5, s61, s45, v11
-; GFX11-TRUE16-NEXT: v_perm_b32 v12, s11, s43, v10
+; GFX11-TRUE16-NEXT: v_perm_b32 v5, s72, s45, v11
+; GFX11-TRUE16-NEXT: v_perm_b32 v12, s11, s42, v10
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v5.h, v6.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v6, s60, s15, v11
-; GFX11-TRUE16-NEXT: v_perm_b32 v13, s13, s46, v10
+; GFX11-TRUE16-NEXT: v_perm_b32 v6, s60, s44, v11
+; GFX11-TRUE16-NEXT: v_perm_b32 v13, s14, s46, v10
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v6.h, v7.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v7, s72, s58, v11
+; GFX11-TRUE16-NEXT: v_perm_b32 v7, s63, s58, v11
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v7.h, v8.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v8, s57, s63, v10
+; GFX11-TRUE16-NEXT: v_perm_b32 v8, s57, s62, v10
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v8.h, v9.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v9, s59, s44, v11
+; GFX11-TRUE16-NEXT: v_perm_b32 v9, s59, s43, v11
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v9.h, v12.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v12, s10, s41, v10
-; GFX11-TRUE16-NEXT: v_perm_b32 v10, s47, s62, v10
+; GFX11-TRUE16-NEXT: v_perm_b32 v12, s10, s40, v10
+; GFX11-TRUE16-NEXT: v_perm_b32 v10, s47, s61, v10
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v10.h, v13.l
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(1)
-; GFX11-TRUE16-NEXT: v_perm_b32 v13, v37, v68, 0x6050400
-; GFX11-TRUE16-NEXT: v_perm_b32 v11, s73, s42, v11
+; GFX11-TRUE16-NEXT: v_perm_b32 v13, v167, v176, 0x6050400
+; GFX11-TRUE16-NEXT: v_perm_b32 v11, s73, s41, v11
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v11.h, v12.l
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0)
-; GFX11-TRUE16-NEXT: v_perm_b32 v12, v86, s74, 0x6050400
-; GFX11-TRUE16-NEXT: v_perm_b32 v17, v53, v34, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v12, v178, s74, 0x6050400
+; GFX11-TRUE16-NEXT: v_perm_b32 v17, v150, v132, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v12.h, v13.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v13, v134, v96, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v18, v66, v35, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v13, v181, v179, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v18, v144, v130, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v13.h, v14.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v14, v39, v83, 0x6050400
-; GFX11-TRUE16-NEXT: v_perm_b32 v19, v71, v51, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v14, v165, v182, 0x6050400
+; GFX11-TRUE16-NEXT: v_perm_b32 v19, v134, v118, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v14.h, v15.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v15, v99, v65, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v20, v69, v36, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v15, v166, v163, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v20, v119, v112, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v15.h, v16.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v16, v97, v48, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v21, v84, v49, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v16, v164, v149, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v21, v116, v102, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v16.h, v17.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v17, v103, v54, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v22, v98, v52, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v17, v161, v147, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v22, v114, v96, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v17.h, v18.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v18, v116, v67, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v23, v113, v55, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v18, v151, v133, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v23, v100, v86, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v18.h, v19.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v19, v130, v80, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v24, v118, v85, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v19, v145, v131, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v24, v98, v82, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v19.h, v20.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v20, v145, v112, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v25, v64, v117, 0x6050400
+; GFX11-TRUE16-NEXT: v_perm_b32 v20, v135, v128, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v25, v68, v83, 0x6050400
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v20.h, v21.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v21, v135, v81, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v26, v82, v131, 0x6050400
+; GFX11-TRUE16-NEXT: v_perm_b32 v21, v129, v113, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v26, v65, v80, 0x6050400
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v21.h, v22.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v22, v147, v100, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v27, v87, v144, 0x6050400
+; GFX11-TRUE16-NEXT: v_perm_b32 v22, v117, v103, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v27, v53, v70, 0x6050400
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v22.h, v23.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v23, v151, v115, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v28, v101, v149, 0x6050400
+; GFX11-TRUE16-NEXT: v_perm_b32 v23, v115, v97, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v28, v50, v64, 0x6050400
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v23.h, v24.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v24, v119, v164, 0x6050400
-; GFX11-TRUE16-NEXT: v_perm_b32 v29, v132, v162, 0x6050400
+; GFX11-TRUE16-NEXT: v_perm_b32 v24, v87, v101, 0x6050400
+; GFX11-TRUE16-NEXT: v_perm_b32 v29, v39, v55, 0x6050400
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v24.h, v25.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v25, v176, v148, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v30, v102, v160, 0x6050400
+; GFX11-TRUE16-NEXT: v_perm_b32 v25, v99, v84, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v30, v36, v48, 0x6050400
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v25.h, v26.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v26, v128, v167, 0x6050400
-; GFX11-TRUE16-NEXT: v_perm_b32 v31, v129, v165, 0x6050400
+; GFX11-TRUE16-NEXT: v_perm_b32 v26, v69, v85, 0x6050400
+; GFX11-TRUE16-NEXT: v_perm_b32 v31, v33, v37, 0x6050400
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v26.h, v27.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v27, v177, v146, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v183, v133, v166, 0x6050400
+; GFX11-TRUE16-NEXT: v_perm_b32 v27, v81, v66, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v183, v32, v35, 0x6050400
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v27.h, v28.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v28, v150, v179, 0x6050400
+; GFX11-TRUE16-NEXT: v_perm_b32 v28, v54, v71, 0x6050400
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v28.h, v29.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v29, v181, v163, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v29, v67, v51, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v29.h, v30.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v30, v178, v182, 0x6050400
+; GFX11-TRUE16-NEXT: v_perm_b32 v30, v49, v52, 0x6050400
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v30.h, v31.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v31, v180, v161, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v31, v38, v34, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e64 v31.h, v183.l
; GFX11-TRUE16-NEXT: s_branch .LBB93_3
; GFX11-TRUE16-NEXT: .LBB93_2:
@@ -176919,234 +176981,235 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; GFX11-TRUE16-NEXT: s_cmp_lg_u32 s75, 1
; GFX11-TRUE16-NEXT: s_cbranch_scc1 .LBB93_5
; GFX11-TRUE16-NEXT: ; %bb.4: ; %cmp.true
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v0, 3, v180
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v1, 3, v166
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v2, 3, v182
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v165
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v4, 3, v181
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, v0, v161, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v1, v1, v133, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v2, v2, v178, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v0, 3, v38
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v1, 3, v35
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v2, 3, v52
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v37
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v4, 3, v67
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, v0, v34, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v1, v1, v32, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v2, v2, v49, 0xc0c0004
; GFX11-TRUE16-NEXT: s_add_i32 s74, s74, 3
; GFX11-TRUE16-NEXT: s_add_i32 s59, s59, 3
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v31, 0x300, v0
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v133, 0x300, v1
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, v3, v129, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v1, 3, v160
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v32, 0x300, v1
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, v3, v33, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v1, 3, v48
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v30, 0x300, v2
-; GFX11-TRUE16-NEXT: v_perm_b32 v2, v4, v163, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v179
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v4, 3, v162
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v129, 0x300, v0
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, v1, v102, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v2, v4, v51, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v71
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v4, 3, v55
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v33, 0x300, v0
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, v1, v36, 0xc0c0004
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v29, 0x300, v2
-; GFX11-TRUE16-NEXT: v_perm_b32 v1, v3, v150, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v2, v4, v132, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v177
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v102, 0x300, v0
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v0, 3, v149
+; GFX11-TRUE16-NEXT: v_perm_b32 v1, v3, v54, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v2, v4, v39, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v81
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v34, 0x300, v0
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v0, 3, v64
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v28, 0x300, v1
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v132, 0x300, v2
-; GFX11-TRUE16-NEXT: v_perm_b32 v1, v3, v146, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v2, 3, v167
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, v0, v101, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v144
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v4, 3, v176
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v35, 0x300, v2
+; GFX11-TRUE16-NEXT: v_perm_b32 v1, v3, v66, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v2, 3, v85
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, v0, v50, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v70
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v4, 3, v99
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v27, 0x300, v1
-; GFX11-TRUE16-NEXT: v_perm_b32 v1, v2, v128, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v101, 0x300, v0
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, v3, v87, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v2, v4, v148, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v131
+; GFX11-TRUE16-NEXT: v_perm_b32 v1, v2, v69, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v36, 0x300, v0
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, v3, v53, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v2, v4, v84, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v80
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v26, 0x300, v1
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v1, 3, v164
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v87, 0x300, v0
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v1, 3, v101
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v37, 0x300, v0
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v25, 0x300, v2
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, v3, v82, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v2, 3, v117
-; GFX11-TRUE16-NEXT: v_perm_b32 v1, v1, v119, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v151
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v4, 3, v118
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v82, 0x300, v0
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, v2, v64, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, v3, v65, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v2, 3, v83
+; GFX11-TRUE16-NEXT: v_perm_b32 v1, v1, v87, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v115
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v4, 3, v98
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v38, 0x300, v0
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, v2, v68, 0xc0c0004
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v24, 0x300, v1
-; GFX11-TRUE16-NEXT: v_perm_b32 v1, v3, v115, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v2, v4, v85, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v147
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v64, 0x300, v0
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v0, 3, v113
+; GFX11-TRUE16-NEXT: v_perm_b32 v1, v3, v97, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v2, v4, v82, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v117
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v39, 0x300, v0
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v0, 3, v100
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v23, 0x300, v1
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v85, 0x300, v2
-; GFX11-TRUE16-NEXT: v_perm_b32 v1, v3, v100, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v2, 3, v135
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, v0, v55, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v98
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v4, 3, v145
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v48, 0x300, v2
+; GFX11-TRUE16-NEXT: v_perm_b32 v1, v3, v103, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v2, 3, v129
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, v0, v86, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v114
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v4, 3, v135
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v22, 0x300, v1
-; GFX11-TRUE16-NEXT: v_perm_b32 v1, v2, v81, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v55, 0x300, v0
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, v3, v52, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v2, v4, v112, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v84
+; GFX11-TRUE16-NEXT: v_perm_b32 v1, v2, v113, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v49, 0x300, v0
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, v3, v96, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v2, v4, v128, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v116
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v21, 0x300, v1
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v1, 3, v130
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v52, 0x300, v0
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v1, 3, v145
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v50, 0x300, v0
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v20, 0x300, v2
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, v3, v49, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v2, 3, v69
-; GFX11-TRUE16-NEXT: v_perm_b32 v1, v1, v80, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v116
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v4, 3, v71
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v49, 0x300, v0
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, v2, v36, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, v3, v102, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v2, 3, v119
+; GFX11-TRUE16-NEXT: v_perm_b32 v1, v1, v131, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v151
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v4, 3, v134
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v51, 0x300, v0
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, v2, v112, 0xc0c0004
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v19, 0x300, v1
-; GFX11-TRUE16-NEXT: v_perm_b32 v1, v3, v67, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v2, v4, v51, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v103
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v36, 0x300, v0
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v0, 3, v66
+; GFX11-TRUE16-NEXT: v_perm_b32 v1, v3, v133, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v2, v4, v118, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v161
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v52, 0x300, v0
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v0, 3, v144
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v18, 0x300, v1
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v51, 0x300, v2
-; GFX11-TRUE16-NEXT: v_perm_b32 v1, v3, v54, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v2, 3, v97
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, v0, v35, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v53
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v4, 3, v99
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v53, 0x300, v2
+; GFX11-TRUE16-NEXT: v_perm_b32 v1, v3, v147, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v2, 3, v164
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, v0, v130, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v150
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v4, 3, v166
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v17, 0x300, v1
-; GFX11-TRUE16-NEXT: v_perm_b32 v1, v2, v48, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v35, 0x300, v0
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, v3, v34, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v2, v4, v65, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v50
+; GFX11-TRUE16-NEXT: v_perm_b32 v1, v2, v149, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v54, 0x300, v0
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, v3, v132, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v2, v4, v163, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v160
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v16, 0x300, v1
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v1, 3, v83
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v34, 0x300, v0
+; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(7)
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v1, 3, v182
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v55, 0x300, v0
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v15, 0x300, v2
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, v3, v33, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v2, 3, v38
-; GFX11-TRUE16-NEXT: v_perm_b32 v1, v1, v39, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, v3, v146, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v2, 3, v162
+; GFX11-TRUE16-NEXT: v_perm_b32 v1, v1, v165, 0xc0c0004
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(3)
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v134
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v4, 3, v114
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v33, 0x300, v0
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, v2, v32, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v181
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v4, 3, v180
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v64, 0x300, v0
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, v2, v148, 0xc0c0004
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v14, 0x300, v1
-; GFX11-TRUE16-NEXT: v_perm_b32 v1, v3, v96, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v1, v3, v179, 0xc0c0004
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(1)
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v68
-; GFX11-TRUE16-NEXT: v_perm_b32 v2, v4, v70, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v32, 0x300, v0
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v176
+; GFX11-TRUE16-NEXT: v_perm_b32 v2, v4, v177, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v65, 0x300, v0
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0)
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, s74, v86, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, s74, v178, 0xc0c0004
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v13, 0x300, v1
; GFX11-TRUE16-NEXT: v_mov_b32_e32 v1, 0xc0c0004
; GFX11-TRUE16-NEXT: s_add_i32 s73, s73, 3
-; GFX11-TRUE16-NEXT: s_add_i32 s62, s62, 3
+; GFX11-TRUE16-NEXT: s_add_i32 s61, s61, 3
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v12, 0x300, v0
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, v3, v37, 0xc0c0004
-; GFX11-TRUE16-NEXT: s_add_i32 s72, s72, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v38, 0x300, v2
-; GFX11-TRUE16-NEXT: v_perm_b32 v2, s73, s42, v1
-; GFX11-TRUE16-NEXT: v_perm_b32 v4, s62, s47, v1
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v37, 0x300, v0
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, s59, s44, v1
-; GFX11-TRUE16-NEXT: s_add_i32 s43, s43, 3
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, v3, v167, 0xc0c0004
+; GFX11-TRUE16-NEXT: s_add_i32 s63, s63, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v66, 0x300, v2
+; GFX11-TRUE16-NEXT: v_perm_b32 v2, s73, s41, v1
+; GFX11-TRUE16-NEXT: v_perm_b32 v4, s61, s47, v1
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v67, 0x300, v0
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, s59, s43, v1
+; GFX11-TRUE16-NEXT: s_add_i32 s42, s42, 3
; GFX11-TRUE16-NEXT: s_add_i32 s56, s56, 3
; GFX11-TRUE16-NEXT: s_add_i32 s12, s12, 3
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v11, 0x300, v2
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v9, 0x300, v0
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, s72, s58, v1
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, s63, s58, v1
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v10, 0x300, v4
-; GFX11-TRUE16-NEXT: v_perm_b32 v2, s43, s11, v1
-; GFX11-TRUE16-NEXT: v_perm_b32 v4, s56, s5, v1
-; GFX11-TRUE16-NEXT: s_add_i32 s41, s41, 3
+; GFX11-TRUE16-NEXT: v_perm_b32 v2, s42, s11, v1
+; GFX11-TRUE16-NEXT: v_perm_b32 v4, s56, s6, v1
+; GFX11-TRUE16-NEXT: s_add_i32 s40, s40, 3
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v7, 0x300, v0
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, s12, s6, v1
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, s12, s7, v1
; GFX11-TRUE16-NEXT: s_add_i32 s46, s46, 3
; GFX11-TRUE16-NEXT: s_add_i32 s60, s60, 3
-; GFX11-TRUE16-NEXT: s_add_i32 s61, s61, 3
+; GFX11-TRUE16-NEXT: s_add_i32 s72, s72, 3
; GFX11-TRUE16-NEXT: s_add_i32 s28, s28, 3
-; GFX11-TRUE16-NEXT: v_perm_b32 v3, s41, s10, v1
-; GFX11-TRUE16-NEXT: v_perm_b32 v5, s46, s13, v1
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v50, 0x300, v2
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v53, 0x300, v4
-; GFX11-TRUE16-NEXT: v_perm_b32 v2, s60, s15, v1
-; GFX11-TRUE16-NEXT: v_perm_b32 v4, s61, s45, v1
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v65, 0x300, v0
+; GFX11-TRUE16-NEXT: v_perm_b32 v3, s40, s10, v1
+; GFX11-TRUE16-NEXT: v_perm_b32 v5, s46, s14, v1
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v70, 0x300, v2
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v71, 0x300, v4
+; GFX11-TRUE16-NEXT: v_perm_b32 v2, s60, s44, v1
+; GFX11-TRUE16-NEXT: v_perm_b32 v4, s72, s45, v1
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v81, 0x300, v0
; GFX11-TRUE16-NEXT: v_perm_b32 v0, s28, s29, v1
-; GFX11-TRUE16-NEXT: s_add_i32 s63, s63, 3
+; GFX11-TRUE16-NEXT: s_add_i32 s62, s62, 3
; GFX11-TRUE16-NEXT: s_add_i32 s9, s9, 3
; GFX11-TRUE16-NEXT: s_add_i32 s20, s20, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v39, 0x300, v3
-; GFX11-TRUE16-NEXT: v_perm_b32 v3, s63, s57, v1
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v48, 0x300, v5
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v68, 0x300, v3
+; GFX11-TRUE16-NEXT: v_perm_b32 v3, s62, s57, v1
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v69, 0x300, v5
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v6, 0x300, v2
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v5, 0x300, v4
-; GFX11-TRUE16-NEXT: v_perm_b32 v2, s9, s4, v1
+; GFX11-TRUE16-NEXT: v_perm_b32 v2, s9, s5, v1
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v4, 0x300, v0
; GFX11-TRUE16-NEXT: v_perm_b32 v0, s20, s21, v1
-; GFX11-TRUE16-NEXT: s_add_i32 s14, s14, 3
-; GFX11-TRUE16-NEXT: s_add_i32 s40, s40, 3
+; GFX11-TRUE16-NEXT: s_add_i32 s15, s15, 3
+; GFX11-TRUE16-NEXT: s_add_i32 s13, s13, 3
; GFX11-TRUE16-NEXT: s_add_i32 s26, s26, 3
; GFX11-TRUE16-NEXT: s_add_i32 s22, s22, 3
; GFX11-TRUE16-NEXT: s_add_i32 s2, s2, 3
; GFX11-TRUE16-NEXT: s_add_i32 s18, s18, 3
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v8, 0x300, v3
-; GFX11-TRUE16-NEXT: v_perm_b32 v3, s14, s7, v1
-; GFX11-TRUE16-NEXT: v_perm_b32 v54, s40, s8, v1
-; GFX11-TRUE16-NEXT: v_perm_b32 v67, s26, s27, v1
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v68, 0x300, v2
+; GFX11-TRUE16-NEXT: v_perm_b32 v3, s15, s4, v1
+; GFX11-TRUE16-NEXT: v_perm_b32 v80, s13, s8, v1
+; GFX11-TRUE16-NEXT: v_perm_b32 v83, s26, s27, v1
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v84, 0x300, v2
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v2, 0x300, v0
; GFX11-TRUE16-NEXT: v_perm_b32 v0, s22, s23, v1
-; GFX11-TRUE16-NEXT: v_perm_b32 v69, s2, s3, v1
-; GFX11-TRUE16-NEXT: v_perm_b32 v70, s18, s19, v1
+; GFX11-TRUE16-NEXT: v_perm_b32 v85, s2, s3, v1
+; GFX11-TRUE16-NEXT: v_perm_b32 v86, s18, s19, v1
; GFX11-TRUE16-NEXT: s_add_i32 s24, s24, 3
; GFX11-TRUE16-NEXT: s_add_i32 s16, s16, 3
; GFX11-TRUE16-NEXT: s_add_i32 s0, s0, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v66, 0x300, v3
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v82, 0x300, v3
; GFX11-TRUE16-NEXT: v_perm_b32 v3, s24, s25, v1
-; GFX11-TRUE16-NEXT: v_perm_b32 v71, s16, s17, v1
-; GFX11-TRUE16-NEXT: v_perm_b32 v80, s0, s1, v1
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v54, 0x300, v54
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v67, 0x300, v67
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v69, 0x300, v69
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v70, 0x300, v70
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v81, 0x300, v0
+; GFX11-TRUE16-NEXT: v_perm_b32 v87, s16, s17, v1
+; GFX11-TRUE16-NEXT: v_perm_b32 v96, s0, s1, v1
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v80, 0x300, v80
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v83, 0x300, v83
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v85, 0x300, v85
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v86, 0x300, v86
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v97, 0x300, v0
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 0x300, v3
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v1, 0x300, v71
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v0, 0x300, v80
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v0.h, v69.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v1.h, v70.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v2.h, v81.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v3.h, v67.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v4.h, v68.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v5.h, v54.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v6.h, v66.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v7.h, v65.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v8.h, v53.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v9.h, v50.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v10.h, v48.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v11.h, v39.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v12.h, v37.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v13.h, v38.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v14.h, v32.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v15.h, v33.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v16.h, v34.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v17.h, v35.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v18.h, v51.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v19.h, v36.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v20.h, v49.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v21.h, v52.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v22.h, v55.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v23.h, v85.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v24.h, v64.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v25.h, v82.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v26.h, v87.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v27.h, v101.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v28.h, v132.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v29.h, v102.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v30.h, v129.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v31.h, v133.l
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v1, 0x300, v87
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v0, 0x300, v96
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v0.h, v85.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v1.h, v86.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v2.h, v97.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v3.h, v83.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v4.h, v84.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v5.h, v80.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v6.h, v82.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v7.h, v81.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v8.h, v71.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v9.h, v70.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v10.h, v69.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v11.h, v68.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v12.h, v67.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v13.h, v66.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v14.h, v65.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v15.h, v64.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v16.h, v55.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v17.h, v54.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v18.h, v53.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v19.h, v52.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v20.h, v51.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v21.h, v50.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v22.h, v49.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v23.h, v48.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v24.h, v39.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v25.h, v38.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v26.h, v37.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v27.h, v36.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v28.h, v35.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v29.h, v34.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v30.h, v33.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v31.h, v32.l
; GFX11-TRUE16-NEXT: .LBB93_5: ; %end
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0)
; GFX11-TRUE16-NEXT: s_setpc_b64 s[30:31]
@@ -177212,34 +177275,34 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; GFX11-FAKE16-NEXT: scratch_load_u16 v86, off, s32 offset:116
; GFX11-FAKE16-NEXT: scratch_load_u16 v83, off, s32 offset:112
; GFX11-FAKE16-NEXT: scratch_load_u16 v98, off, s32 offset:108
-; GFX11-FAKE16-NEXT: scratch_load_u16 v54, off, s32 offset:104
+; GFX11-FAKE16-NEXT: scratch_load_u16 v53, off, s32 offset:104
; GFX11-FAKE16-NEXT: scratch_load_u16 v71, off, s32 offset:100
; GFX11-FAKE16-NEXT: scratch_load_u16 v85, off, s32 offset:96
; GFX11-FAKE16-NEXT: scratch_load_u16 v96, off, s32 offset:92
-; GFX11-FAKE16-NEXT: scratch_load_u16 v52, off, s32 offset:88
+; GFX11-FAKE16-NEXT: scratch_load_u16 v51, off, s32 offset:88
; GFX11-FAKE16-NEXT: scratch_load_u16 v69, off, s32 offset:84
-; GFX11-FAKE16-NEXT: scratch_load_u16 v64, off, s32 offset:80
+; GFX11-FAKE16-NEXT: scratch_load_u16 v55, off, s32 offset:80
; GFX11-FAKE16-NEXT: scratch_load_u16 v82, off, s32 offset:76
-; GFX11-FAKE16-NEXT: scratch_load_u16 v55, off, s32 offset:72
-; GFX11-FAKE16-NEXT: scratch_load_u16 v68, off, s32 offset:68
-; GFX11-FAKE16-NEXT: scratch_load_u16 v66, off, s32 offset:64
+; GFX11-FAKE16-NEXT: scratch_load_u16 v54, off, s32 offset:72
+; GFX11-FAKE16-NEXT: scratch_load_u16 v67, off, s32 offset:68
+; GFX11-FAKE16-NEXT: scratch_load_u16 v65, off, s32 offset:64
; GFX11-FAKE16-NEXT: scratch_load_u16 v80, off, s32 offset:60
; GFX11-FAKE16-NEXT: s_clause 0xf
; GFX11-FAKE16-NEXT: scratch_load_u16 v34, off, s32 offset:56
; GFX11-FAKE16-NEXT: scratch_load_u16 v50, off, s32 offset:52
-; GFX11-FAKE16-NEXT: scratch_load_u16 v39, off, s32 offset:48
-; GFX11-FAKE16-NEXT: scratch_load_u16 v65, off, s32 offset:44
+; GFX11-FAKE16-NEXT: scratch_load_u16 v38, off, s32 offset:48
+; GFX11-FAKE16-NEXT: scratch_load_u16 v64, off, s32 offset:44
; GFX11-FAKE16-NEXT: scratch_load_u16 v36, off, s32 offset:40
; GFX11-FAKE16-NEXT: scratch_load_u16 v49, off, s32 offset:36
; GFX11-FAKE16-NEXT: scratch_load_u16 v37, off, s32 offset:32
-; GFX11-FAKE16-NEXT: scratch_load_u16 v53, off, s32 offset:28
; GFX11-FAKE16-NEXT: scratch_load_b32 v31, off, s32 offset:316
+; GFX11-FAKE16-NEXT: scratch_load_u16 v68, off, s32 offset:28
; GFX11-FAKE16-NEXT: scratch_load_u16 v32, off, s32 offset:24
; GFX11-FAKE16-NEXT: scratch_load_u16 v48, off, s32 offset:20
-; GFX11-FAKE16-NEXT: scratch_load_u16 v51, off, s32 offset:16
-; GFX11-FAKE16-NEXT: scratch_load_u16 v67, off, s32 offset:12
+; GFX11-FAKE16-NEXT: scratch_load_u16 v52, off, s32 offset:16
+; GFX11-FAKE16-NEXT: scratch_load_u16 v66, off, s32 offset:12
; GFX11-FAKE16-NEXT: scratch_load_u16 v33, off, s32 offset:8
-; GFX11-FAKE16-NEXT: scratch_load_u16 v38, off, s32 offset:4
+; GFX11-FAKE16-NEXT: scratch_load_u16 v39, off, s32 offset:4
; GFX11-FAKE16-NEXT: scratch_load_u16 v35, off, s32
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s74, v30
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s61, v29
@@ -177254,7 +177317,7 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s46, v20
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s57, v19
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s60, v18
-; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s13, v17
+; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s12, v17
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s40, v16
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s47, v15
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s58, v14
@@ -177263,19 +177326,19 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s41, v11
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s44, v10
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s9, v9
-; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s12, v8
+; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s11, v8
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s15, v7
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s42, v6
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s5, v5
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s7, v4
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s8, v3
-; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s11, v2
+; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s13, v2
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s4, v1
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s6, v0
; GFX11-FAKE16-NEXT: s_mov_b32 s75, 0
-; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(7)
+; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(8)
; GFX11-FAKE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v31
-; GFX11-FAKE16-NEXT: s_and_b32 s76, vcc_lo, exec_lo
+; GFX11-FAKE16-NEXT: s_cmp_lg_u32 vcc_lo, 0
; GFX11-FAKE16-NEXT: s_cbranch_scc0 .LBB93_2
; GFX11-FAKE16-NEXT: ; %bb.1: ; %cmp.false
; GFX11-FAKE16-NEXT: v_mov_b32_e32 v9, 0xc0c0004
@@ -177283,7 +177346,7 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(5)
; GFX11-FAKE16-NEXT: v_perm_b32 v17, v32, v48, 0x6050400
; GFX11-FAKE16-NEXT: v_perm_b32 v18, v36, v49, 0x6050400
-; GFX11-FAKE16-NEXT: v_perm_b32 v19, v68, v55, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v19, v67, v54, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v0, s0, s1, v9
; GFX11-FAKE16-NEXT: v_perm_b32 v2, s16, s17, v9
; GFX11-FAKE16-NEXT: v_perm_b32 v4, s20, s21, v9
@@ -177299,7 +177362,7 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v0, v1, 16, v0
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v1, v3, 16, v2
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v2, v5, 16, v4
-; GFX11-FAKE16-NEXT: v_perm_b32 v5, s11, s8, v9
+; GFX11-FAKE16-NEXT: v_perm_b32 v5, s13, s8, v9
; GFX11-FAKE16-NEXT: v_perm_b32 v4, s28, s29, v9
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v3, v7, 16, v6
; GFX11-FAKE16-NEXT: v_perm_b32 v7, s42, s15, v9
@@ -177307,7 +177370,7 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; GFX11-FAKE16-NEXT: v_and_b32_e32 v5, 0xffff, v5
; GFX11-FAKE16-NEXT: v_perm_b32 v6, s6, s4, v9
; GFX11-FAKE16-NEXT: v_and_b32_e32 v4, 0xffff, v4
-; GFX11-FAKE16-NEXT: v_perm_b32 v10, s12, s9, v9
+; GFX11-FAKE16-NEXT: v_perm_b32 v10, s11, s9, v9
; GFX11-FAKE16-NEXT: v_and_b32_e32 v7, 0xffff, v7
; GFX11-FAKE16-NEXT: v_perm_b32 v12, s44, s41, v9
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v5, v8, 16, v5
@@ -177318,7 +177381,7 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; GFX11-FAKE16-NEXT: v_perm_b32 v7, s14, s10, v9
; GFX11-FAKE16-NEXT: v_and_b32_e32 v10, 0xffff, v12
; GFX11-FAKE16-NEXT: v_perm_b32 v12, s60, s57, v9
-; GFX11-FAKE16-NEXT: v_perm_b32 v13, s13, s40, v11
+; GFX11-FAKE16-NEXT: v_perm_b32 v13, s12, s40, v11
; GFX11-FAKE16-NEXT: v_and_b32_e32 v8, 0xffff, v8
; GFX11-FAKE16-NEXT: v_perm_b32 v16, s45, s56, v11
; GFX11-FAKE16-NEXT: v_and_b32_e32 v14, 0xffff, v14
@@ -177329,8 +177392,8 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; GFX11-FAKE16-NEXT: v_perm_b32 v13, s73, s72, v9
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v10, v16, 16, v14
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(3)
-; GFX11-FAKE16-NEXT: v_perm_b32 v14, v67, v51, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v16, v37, v53, 0x6050400
+; GFX11-FAKE16-NEXT: v_perm_b32 v14, v66, v52, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v16, v37, v68, 0x6050400
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v9, v15, 16, v12
; GFX11-FAKE16-NEXT: v_perm_b32 v11, s61, s63, v11
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0)
@@ -177338,18 +177401,18 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; GFX11-FAKE16-NEXT: v_and_b32_e32 v13, 0xffff, v13
; GFX11-FAKE16-NEXT: v_and_b32_e32 v14, 0xffff, v14
; GFX11-FAKE16-NEXT: v_and_b32_e32 v16, 0xffff, v16
-; GFX11-FAKE16-NEXT: v_perm_b32 v15, v33, v38, 0x6050400
+; GFX11-FAKE16-NEXT: v_perm_b32 v15, v33, v39, 0x6050400
; GFX11-FAKE16-NEXT: v_and_b32_e32 v12, 0xffff, v12
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v11, v11, 16, v13
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v13, v17, 16, v14
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v14, v18, 16, v16
-; GFX11-FAKE16-NEXT: v_perm_b32 v16, v80, v66, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v16, v80, v65, 0xc0c0004
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v12, v15, 16, v12
-; GFX11-FAKE16-NEXT: v_perm_b32 v15, v65, v39, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v18, v82, v64, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v15, v64, v38, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v18, v82, v55, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v17, v34, v50, 0x6050400
; GFX11-FAKE16-NEXT: v_and_b32_e32 v16, 0xffff, v16
-; GFX11-FAKE16-NEXT: v_perm_b32 v20, v69, v52, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v20, v69, v51, 0xc0c0004
; GFX11-FAKE16-NEXT: v_and_b32_e32 v15, 0xffff, v15
; GFX11-FAKE16-NEXT: v_and_b32_e32 v18, 0xffff, v18
; GFX11-FAKE16-NEXT: v_perm_b32 v21, v96, v85, 0xc0c0004
@@ -177357,7 +177420,7 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; GFX11-FAKE16-NEXT: v_perm_b32 v19, v98, v83, 0xc0c0004
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v15, v17, 16, v15
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v17, v20, 16, v18
-; GFX11-FAKE16-NEXT: v_perm_b32 v18, v71, v54, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v18, v71, v53, 0xc0c0004
; GFX11-FAKE16-NEXT: v_and_b32_e32 v20, 0xffff, v21
; GFX11-FAKE16-NEXT: v_perm_b32 v21, v86, v81, 0xc0c0004
; GFX11-FAKE16-NEXT: v_and_b32_e32 v19, 0xffff, v19
@@ -177447,13 +177510,13 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v28, 0x300, v2
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v30, 0x300, v1
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v1, 3, v151
-; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v150, 0x300, v4
+; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v29, 0x300, v4
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v151, 0x300, v0
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v0, 3, v162
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v2, 3, v149
; GFX11-FAKE16-NEXT: v_perm_b32 v1, v1, v135, 0xc0c0004
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v4, 3, v148
-; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v29, 0x300, v3
+; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v150, 0x300, v3
; GFX11-FAKE16-NEXT: v_perm_b32 v0, v0, v145, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v2, v2, v133, 0xc0c0004
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v133, 0x300, v1
@@ -177510,36 +177573,36 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v0, 3, v82
; GFX11-FAKE16-NEXT: v_perm_b32 v2, v2, v83, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v3, v3, v81, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v1, v1, v54, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v4, 3, v68
-; GFX11-FAKE16-NEXT: v_perm_b32 v0, v0, v64, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v1, v1, v53, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v4, 3, v67
+; GFX11-FAKE16-NEXT: v_perm_b32 v0, v0, v55, 0xc0c0004
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v19, 0x300, v2
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v70, 0x300, v3
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v2, 3, v69
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v3, 3, v80
-; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v54, 0x300, v0
-; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v0, 3, v65
+; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v53, 0x300, v0
+; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v0, 3, v64
; GFX11-FAKE16-NEXT: s_add_i32 s40, s40, 3
-; GFX11-FAKE16-NEXT: v_perm_b32 v2, v2, v52, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v3, v3, v66, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v52, 0x300, v1
-; GFX11-FAKE16-NEXT: v_perm_b32 v1, v4, v55, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v0, v0, v39, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v2, v2, v51, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v3, v3, v65, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v51, 0x300, v1
+; GFX11-FAKE16-NEXT: v_perm_b32 v1, v4, v54, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v0, v0, v38, 0xc0c0004
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(3)
-; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v4, 3, v67
-; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v55, 0x300, v2
+; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v4, 3, v66
+; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v54, 0x300, v2
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v12, 0x300, v3
-; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v2, 3, v53
+; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v2, 3, v68
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v3, 3, v49
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v13, 0x300, v0
-; GFX11-FAKE16-NEXT: v_perm_b32 v0, v4, v51, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v0, v4, v52, 0xc0c0004
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v16, 0x300, v1
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v1, 3, v50
; GFX11-FAKE16-NEXT: v_perm_b32 v2, v2, v37, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v3, v3, v36, 0xc0c0004
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v36, 0x300, v0
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(1)
-; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v0, 3, v38
+; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v0, 3, v39
; GFX11-FAKE16-NEXT: v_perm_b32 v1, v1, v34, 0xc0c0004
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v14, 0x300, v2
; GFX11-FAKE16-NEXT: v_mov_b32_e32 v2, 0xc0c0004
@@ -177554,19 +177617,19 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; GFX11-FAKE16-NEXT: v_perm_b32 v0, s62, s59, v2
; GFX11-FAKE16-NEXT: v_perm_b32 v1, v1, v32, 0xc0c0004
; GFX11-FAKE16-NEXT: s_add_i32 s63, s63, 3
-; GFX11-FAKE16-NEXT: s_add_i32 s12, s12, 3
+; GFX11-FAKE16-NEXT: s_add_i32 s11, s11, 3
; GFX11-FAKE16-NEXT: v_perm_b32 v4, s73, s72, v2
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v8, 0x300, v0
-; GFX11-FAKE16-NEXT: v_perm_b32 v0, s40, s13, v2
+; GFX11-FAKE16-NEXT: v_perm_b32 v0, s40, s12, v2
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v32, 0x300, v1
; GFX11-FAKE16-NEXT: v_perm_b32 v1, s63, s61, v2
; GFX11-FAKE16-NEXT: s_add_i32 s56, s56, 3
; GFX11-FAKE16-NEXT: s_add_i32 s60, s60, 3
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v39, 0x300, v0
-; GFX11-FAKE16-NEXT: v_perm_b32 v0, s12, s9, v2
+; GFX11-FAKE16-NEXT: v_perm_b32 v0, s11, s9, v2
; GFX11-FAKE16-NEXT: s_add_i32 s46, s46, 3
; GFX11-FAKE16-NEXT: s_add_i32 s58, s58, 3
-; GFX11-FAKE16-NEXT: s_add_i32 s11, s11, 3
+; GFX11-FAKE16-NEXT: s_add_i32 s13, s13, 3
; GFX11-FAKE16-NEXT: s_add_i32 s24, s24, 3
; GFX11-FAKE16-NEXT: s_add_i32 s0, s0, 3
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v33, 0x300, v3
@@ -177577,7 +177640,7 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; GFX11-FAKE16-NEXT: v_perm_b32 v4, s46, s43, v2
; GFX11-FAKE16-NEXT: v_perm_b32 v5, s58, s47, v2
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v6, 0x300, v0
-; GFX11-FAKE16-NEXT: v_perm_b32 v0, s11, s8, v2
+; GFX11-FAKE16-NEXT: v_perm_b32 v0, s13, s8, v2
; GFX11-FAKE16-NEXT: v_perm_b32 v50, s24, s25, v2
; GFX11-FAKE16-NEXT: v_perm_b32 v65, s0, s1, v2
; GFX11-FAKE16-NEXT: s_add_i32 s44, s44, 3
@@ -177592,7 +177655,7 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; GFX11-FAKE16-NEXT: v_perm_b32 v1, s44, s41, v2
; GFX11-FAKE16-NEXT: v_perm_b32 v3, s14, s10, v2
; GFX11-FAKE16-NEXT: v_perm_b32 v4, s42, s15, v2
-; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v51, 0x300, v0
+; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v52, 0x300, v0
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v50, 0x300, v50
; GFX11-FAKE16-NEXT: v_perm_b32 v0, s26, s27, v2
; GFX11-FAKE16-NEXT: v_perm_b32 v67, s2, s3, v2
@@ -177619,7 +177682,7 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; GFX11-FAKE16-NEXT: s_add_i32 s20, s20, 3
; GFX11-FAKE16-NEXT: s_add_i32 s18, s18, 3
; GFX11-FAKE16-NEXT: v_perm_b32 v5, s6, s4, v2
-; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v53, 0x300, v1
+; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v55, 0x300, v1
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v4, 0x300, v4
; GFX11-FAKE16-NEXT: v_perm_b32 v1, s20, s21, v2
; GFX11-FAKE16-NEXT: v_perm_b32 v66, s18, s19, v2
@@ -177635,7 +177698,7 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v12, v35, 16, v33
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v13, v32, 16, v36
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v14, v34, 16, v14
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v32, 0xffff, v54
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v32, 0xffff, v53
; GFX11-FAKE16-NEXT: v_and_b32_e32 v33, 0xffff, v71
; GFX11-FAKE16-NEXT: v_and_b32_e32 v34, 0xffff, v18
; GFX11-FAKE16-NEXT: v_and_b32_e32 v35, 0xffff, v17
@@ -177646,9 +177709,9 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; GFX11-FAKE16-NEXT: v_and_b32_e32 v64, 0xffff, v64
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v68, 0x300, v1
; GFX11-FAKE16-NEXT: v_and_b32_e32 v4, 0xffff, v4
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v51, 0xffff, v51
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v17, v55, 16, v32
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v18, v52, 16, v33
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v52, 0xffff, v52
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v17, v54, 16, v32
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v18, v51, 16, v33
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v20, v20, 16, v34
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v21, v21, 16, v35
; GFX11-FAKE16-NEXT: v_and_b32_e32 v32, 0xffff, v99
@@ -177659,9 +177722,9 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v1, v66, 16, v64
; GFX11-FAKE16-NEXT: v_and_b32_e32 v64, 0xffff, v68
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v4, v5, 16, v4
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v5, v53, 16, v51
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v5, v55, 16, v52
; GFX11-FAKE16-NEXT: v_and_b32_e32 v48, 0xffff, v48
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v51, 0xffff, v7
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v52, 0xffff, v7
; GFX11-FAKE16-NEXT: v_and_b32_e32 v19, 0xffff, v19
; GFX11-FAKE16-NEXT: v_and_b32_e32 v24, 0xffff, v24
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v22, v100, 16, v32
@@ -177670,23 +177733,23 @@ define inreg <64 x half> @bitcast_v128i8_to_v64f16_scalar(<128 x i8> inreg %a, i
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v26, v26, 16, v35
; GFX11-FAKE16-NEXT: v_and_b32_e32 v32, 0xffff, v135
; GFX11-FAKE16-NEXT: v_and_b32_e32 v33, 0xffff, v151
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v29, 0xffff, v29
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v34, 0xffff, v28
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v35, 0xffff, v27
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v34, 0xffff, v150
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v35, 0xffff, v28
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v36, 0xffff, v27
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v2, v2, 16, v64
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v6, v6, 16, v65
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v7, v49, 16, v48
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v10, v10, 16, v50
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v11, v11, 16, v51
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v11, v11, 16, v52
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v15, v15, 16, v37
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v16, v16, 16, v38
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v19, v70, 16, v19
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v24, v114, 16, v24
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v27, v144, 16, v32
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v28, v133, 16, v33
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v29, v150, 16, v29
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v30, v30, 16, v34
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v31, v31, 16, v35
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v29, v29, 16, v34
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v30, v30, 16, v35
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v31, v31, 16, v36
; GFX11-FAKE16-NEXT: .LBB93_5: ; %end
; GFX11-FAKE16-NEXT: s_clause 0x1 ; 8-byte Folded Reload
; GFX11-FAKE16-NEXT: scratch_load_b32 v41, off, s32 offset:320
@@ -179651,95 +179714,98 @@ define <128 x i8> @bitcast_v64f16_to_v128i8(<64 x half> %a, i32 %b) #0 {
; VI-NEXT: buffer_store_dword v61, off, s[0:3], s32 offset:20 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v59, 16, v16
-; VI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v62, 16, v14
-; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v49, v30
-; VI-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:8
-; VI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:4
-; VI-NEXT: buffer_load_dword v50, off, s[0:3], s32
-; VI-NEXT: v_mov_b32_e32 v48, v29
-; VI-NEXT: v_lshrrev_b32_e32 v29, 16, v48
-; VI-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v29, 16, v27
-; VI-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v29, 16, v25
-; VI-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v29, 16, v23
-; VI-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v29, 16, v21
-; VI-NEXT: v_lshrrev_b32_e32 v55, 16, v12
-; VI-NEXT: v_lshrrev_b32_e32 v43, 16, v11
-; VI-NEXT: v_lshrrev_b32_e32 v35, 16, v10
-; VI-NEXT: v_lshrrev_b32_e32 v42, 16, v9
-; VI-NEXT: v_lshrrev_b32_e32 v34, 16, v8
-; VI-NEXT: v_lshrrev_b32_e32 v41, 16, v7
-; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v6
-; VI-NEXT: v_lshrrev_b32_e32 v54, 16, v5
-; VI-NEXT: v_lshrrev_b32_e32 v53, 16, v3
-; VI-NEXT: v_lshrrev_b32_e32 v61, 16, v2
-; VI-NEXT: v_lshrrev_b32_e32 v52, 16, v1
-; VI-NEXT: v_lshrrev_b32_e32 v46, 16, v28
-; VI-NEXT: v_lshrrev_b32_e32 v63, 16, v26
-; VI-NEXT: v_lshrrev_b32_e32 v60, 16, v24
-; VI-NEXT: v_lshrrev_b32_e32 v45, 16, v22
-; VI-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v47, 16, v20
-; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v19
-; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v18
-; VI-NEXT: v_lshrrev_b32_e32 v38, 16, v17
-; VI-NEXT: ; implicit-def: $vgpr44
-; VI-NEXT: ; implicit-def: $vgpr32
-; VI-NEXT: ; implicit-def: $vgpr57
-; VI-NEXT: ; implicit-def: $vgpr40
-; VI-NEXT: ; implicit-def: $vgpr56
-; VI-NEXT: v_lshrrev_b32_e32 v16, 16, v15
-; VI-NEXT: v_lshrrev_b32_e32 v15, 16, v13
-; VI-NEXT: v_lshrrev_b32_e32 v13, 16, v4
-; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v53, v30
+; VI-NEXT: v_lshrrev_b32_e32 v30, 16, v16
+; VI-NEXT: buffer_store_dword v30, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v16, 16, v14
+; VI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v52, v29
+; VI-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:8
+; VI-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:4
+; VI-NEXT: buffer_load_dword v48, off, s[0:3], s32
+; VI-NEXT: v_lshrrev_b32_e32 v31, 16, v52
+; VI-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v63, 16, v12
+; VI-NEXT: v_lshrrev_b32_e32 v43, 16, v10
+; VI-NEXT: v_lshrrev_b32_e32 v40, 16, v8
+; VI-NEXT: v_lshrrev_b32_e32 v38, 16, v7
+; VI-NEXT: v_lshrrev_b32_e32 v55, 16, v6
+; VI-NEXT: v_lshrrev_b32_e32 v47, 16, v4
+; VI-NEXT: v_lshrrev_b32_e32 v32, 16, v3
+; VI-NEXT: v_lshrrev_b32_e32 v60, 16, v2
+; VI-NEXT: v_lshrrev_b32_e32 v57, 16, v20
+; VI-NEXT: v_lshrrev_b32_e32 v59, 16, v18
+; VI-NEXT: v_lshrrev_b32_e32 v15, 16, v15
+; VI-NEXT: v_lshrrev_b32_e32 v13, 16, v13
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v13, 16, v11
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v13, 16, v9
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v13, 16, v5
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v13, 16, v1
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v13, 16, v53
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v13, 16, v28
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v13, 16, v26
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v13, 16, v24
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v13, 16, v22
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v13, 16, v19
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
+; VI-NEXT: s_waitcnt vmcnt(14)
; VI-NEXT: v_lshrrev_b32_e32 v13, 16, v49
-; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr13
-; VI-NEXT: ; kill: killed $vgpr13
-; VI-NEXT: ; implicit-def: $vgpr13
-; VI-NEXT: ; kill: killed $vgpr13
-; VI-NEXT: ; implicit-def: $vgpr13
-; VI-NEXT: ; kill: killed $vgpr13
-; VI-NEXT: ; implicit-def: $vgpr13
-; VI-NEXT: ; kill: killed $vgpr13
-; VI-NEXT: ; implicit-def: $vgpr13
-; VI-NEXT: ; kill: killed $vgpr13
-; VI-NEXT: ; implicit-def: $vgpr13
-; VI-NEXT: ; kill: killed $vgpr13
-; VI-NEXT: ; implicit-def: $vgpr13
-; VI-NEXT: ; kill: killed $vgpr13
-; VI-NEXT: ; implicit-def: $vgpr13
-; VI-NEXT: ; kill: killed $vgpr13
-; VI-NEXT: ; implicit-def: $vgpr13
-; VI-NEXT: ; kill: killed $vgpr13
-; VI-NEXT: ; implicit-def: $vgpr13
-; VI-NEXT: ; kill: killed $vgpr13
-; VI-NEXT: ; implicit-def: $vgpr13
-; VI-NEXT: ; kill: killed $vgpr13
+; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v29
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v13, 16, v17
+; VI-NEXT: v_lshrrev_b32_e32 v31, 16, v27
+; VI-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v31, 16, v25
+; VI-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v31, 16, v23
+; VI-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v31, 16, v21
+; VI-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v31, 16, v48
+; VI-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
; VI-NEXT: ; implicit-def: $vgpr13
; VI-NEXT: ; kill: killed $vgpr13
+; VI-NEXT: ; implicit-def: $vgpr61
+; VI-NEXT: ; implicit-def: $vgpr35
; VI-NEXT: ; implicit-def: $vgpr13
; VI-NEXT: ; kill: killed $vgpr13
; VI-NEXT: ; implicit-def: $vgpr13
; VI-NEXT: ; kill: killed $vgpr13
+; VI-NEXT: ; implicit-def: $vgpr46
; VI-NEXT: ; implicit-def: $vgpr13
; VI-NEXT: ; kill: killed $vgpr13
; VI-NEXT: ; implicit-def: $vgpr13
; VI-NEXT: ; kill: killed $vgpr13
+; VI-NEXT: ; implicit-def: $vgpr44
; VI-NEXT: ; implicit-def: $vgpr13
; VI-NEXT: ; kill: killed $vgpr13
+; VI-NEXT: ; implicit-def: $vgpr51
; VI-NEXT: ; implicit-def: $vgpr13
; VI-NEXT: ; kill: killed $vgpr13
; VI-NEXT: ; implicit-def: $vgpr13
; VI-NEXT: ; kill: killed $vgpr13
+; VI-NEXT: ; implicit-def: $vgpr50
; VI-NEXT: ; implicit-def: $vgpr13
; VI-NEXT: ; kill: killed $vgpr13
; VI-NEXT: ; implicit-def: $vgpr13
@@ -179762,10 +179828,13 @@ define <128 x i8> @bitcast_v64f16_to_v128i8(<64 x half> %a, i32 %b) #0 {
; VI-NEXT: ; kill: killed $vgpr13
; VI-NEXT: ; implicit-def: $vgpr13
; VI-NEXT: ; kill: killed $vgpr13
+; VI-NEXT: ; implicit-def: $vgpr45
+; VI-NEXT: ; implicit-def: $vgpr58
; VI-NEXT: ; implicit-def: $vgpr13
; VI-NEXT: ; kill: killed $vgpr13
; VI-NEXT: ; implicit-def: $vgpr13
; VI-NEXT: ; kill: killed $vgpr13
+; VI-NEXT: ; implicit-def: $vgpr56
; VI-NEXT: ; implicit-def: $vgpr13
; VI-NEXT: ; kill: killed $vgpr13
; VI-NEXT: ; implicit-def: $vgpr13
@@ -179774,6 +179843,7 @@ define <128 x i8> @bitcast_v64f16_to_v128i8(<64 x half> %a, i32 %b) #0 {
; VI-NEXT: ; kill: killed $vgpr13
; VI-NEXT: ; implicit-def: $vgpr13
; VI-NEXT: ; kill: killed $vgpr13
+; VI-NEXT: ; implicit-def: $vgpr36
; VI-NEXT: ; implicit-def: $vgpr13
; VI-NEXT: ; kill: killed $vgpr13
; VI-NEXT: ; implicit-def: $vgpr13
@@ -179790,16 +179860,18 @@ define <128 x i8> @bitcast_v64f16_to_v128i8(<64 x half> %a, i32 %b) #0 {
; VI-NEXT: ; kill: killed $vgpr13
; VI-NEXT: ; implicit-def: $vgpr13
; VI-NEXT: ; kill: killed $vgpr13
+; VI-NEXT: ; implicit-def: $vgpr28
+; VI-NEXT: ; implicit-def: $vgpr24
+; VI-NEXT: ; implicit-def: $vgpr27
+; VI-NEXT: ; implicit-def: $vgpr23
+; VI-NEXT: ; implicit-def: $vgpr22
+; VI-NEXT: ; implicit-def: $vgpr41
+; VI-NEXT: ; implicit-def: $vgpr54
+; VI-NEXT: ; implicit-def: $vgpr62
; VI-NEXT: ; implicit-def: $vgpr13
-; VI-NEXT: s_waitcnt vmcnt(9)
-; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v30
-; VI-NEXT: s_waitcnt vmcnt(8)
-; VI-NEXT: v_lshrrev_b32_e32 v31, 16, v51
-; VI-NEXT: s_waitcnt vmcnt(7)
-; VI-NEXT: v_lshrrev_b32_e32 v29, 16, v50
-; VI-NEXT: ; kill: killed $vgpr13
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
; VI-NEXT: ; implicit-def: $vgpr13
-; VI-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
; VI-NEXT: ; implicit-def: $vgpr13
@@ -179811,856 +179883,821 @@ define <128 x i8> @bitcast_v64f16_to_v128i8(<64 x half> %a, i32 %b) #0 {
; VI-NEXT: ; implicit-def: $vgpr13
; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr13
-; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr13
-; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr42
; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr58
+; VI-NEXT: ; implicit-def: $vgpr21
; VI-NEXT: ; implicit-def: $vgpr13
-; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr13
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
; VI-NEXT: ; implicit-def: $vgpr13
; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
; VI-NEXT: ; implicit-def: $vgpr13
-; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr13
-; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
; VI-NEXT: ; implicit-def: $vgpr13
; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr13
-; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
; VI-NEXT: s_and_saveexec_b64 s[4:5], vcc
; VI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]
; VI-NEXT: s_cbranch_execz .LBB94_2
; VI-NEXT: ; %bb.1: ; %cmp.false
-; VI-NEXT: v_mov_b32_e32 v29, v15
-; VI-NEXT: v_mov_b32_e32 v30, v16
-; VI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
-; VI-NEXT: v_lshrrev_b32_e32 v40, 8, v50
-; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v40, 24, v49
-; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v40, 8, v49
-; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v40, 8, v48
-; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v40, 24, v28
-; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v40, 8, v28
-; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v40, 8, v27
-; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v40, 24, v26
-; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v40, 8, v26
-; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v40, 8, v25
-; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v40, 24, v24
-; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v40, 8, v24
-; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v40, 8, v23
-; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v40, 24, v22
-; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v40, 8, v22
-; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v40, 8, v21
-; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v40, 24, v20
-; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:396 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v40, 8, v20
-; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v40, 8, v19
-; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v40, 24, v18
-; VI-NEXT: v_lshrrev_b64 v[56:57], 24, v[3:4]
-; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:420 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v32, 8, v18
-; VI-NEXT: v_lshrrev_b32_e32 v44, 8, v17
-; VI-NEXT: s_waitcnt vmcnt(14)
+; VI-NEXT: v_mov_b32_e32 v31, v15
+; VI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
+; VI-NEXT: v_mov_b32_e32 v27, v63
+; VI-NEXT: v_lshrrev_b64 v[62:63], 24, v[5:6]
+; VI-NEXT: v_mov_b32_e32 v63, v27
+; VI-NEXT: v_mov_b32_e32 v27, v55
+; VI-NEXT: v_lshrrev_b32_e32 v39, 8, v49
+; VI-NEXT: v_lshrrev_b64 v[41:42], 24, v[1:2]
+; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v10
+; VI-NEXT: v_lshrrev_b32_e32 v37, 8, v8
+; VI-NEXT: v_lshrrev_b32_e32 v51, 24, v49
+; VI-NEXT: v_lshrrev_b32_e32 v50, 24, v53
+; VI-NEXT: v_lshrrev_b32_e32 v34, 8, v53
+; VI-NEXT: v_lshrrev_b32_e32 v44, 24, v6
+; VI-NEXT: v_lshrrev_b32_e32 v46, 24, v4
+; VI-NEXT: v_lshrrev_b32_e32 v35, 24, v2
+; VI-NEXT: v_lshrrev_b32_e32 v61, 8, v2
+; VI-NEXT: v_lshrrev_b32_e32 v56, 24, v20
+; VI-NEXT: v_lshrrev_b32_e32 v58, 24, v18
+; VI-NEXT: v_lshrrev_b32_e32 v45, 8, v18
+; VI-NEXT: s_waitcnt vmcnt(4)
; VI-NEXT: v_lshrrev_b32_e32 v13, 24, v16
-; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v13, 8, v16
-; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v13, 8, v15
-; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
-; VI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
+; VI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
; VI-NEXT: v_lshrrev_b64 v[15:16], 24, v[15:16]
-; VI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v16, v30
-; VI-NEXT: v_mov_b32_e32 v30, v42
-; VI-NEXT: v_mov_b32_e32 v15, v43
-; VI-NEXT: v_lshrrev_b64 v[42:43], 24, v[1:2]
-; VI-NEXT: v_mov_b32_e32 v43, v15
-; VI-NEXT: v_mov_b32_e32 v15, v29
-; VI-NEXT: v_mov_b32_e32 v29, v59
-; VI-NEXT: v_lshrrev_b64 v[58:59], 24, v[19:20]
-; VI-NEXT: v_mov_b32_e32 v59, v29
+; VI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v15, v31
+; VI-NEXT: s_waitcnt vmcnt(7)
+; VI-NEXT: v_lshrrev_b32_e32 v36, 8, v24
; VI-NEXT: s_waitcnt vmcnt(2)
-; VI-NEXT: v_lshrrev_b32_e32 v39, 24, v14
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v39, 8, v14
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v39, 8, v13
+; VI-NEXT: v_lshrrev_b32_e32 v21, 24, v14
+; VI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v21, 8, v14
+; VI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v21, 8, v13
+; VI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v21, 24, v12
+; VI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v21, 8, v12
+; VI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v21, 8, v11
+; VI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v21, 24, v10
+; VI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v21, 8, v9
+; VI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:384 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v21, 24, v8
+; VI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v21, 8, v7
+; VI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:392 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v21, 8, v6
+; VI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:396 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v21, 8, v5
+; VI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:400 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v21, 8, v4
+; VI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:404 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v21, 8, v3
+; VI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:408 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v21, 8, v1
+; VI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:412 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v21, 8, v52
+; VI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v21, 24, v29
+; VI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v21, 8, v29
+; VI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v21, 8, v28
+; VI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v21, 24, v26
+; VI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v21, 8, v26
+; VI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v21, 8, v25
+; VI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v21, 24, v24
+; VI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v21, 8, v23
+; VI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
+; VI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
+; VI-NEXT: v_lshrrev_b64 v[23:24], 24, v[23:24]
+; VI-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b64 v[13:14], 24, v[13:14]
-; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[13:14], 24, v[11:12]
-; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[13:14], 24, v[9:10]
+; VI-NEXT: v_mov_b32_e32 v23, v39
; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[13:14], 24, v[7:8]
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v39, 24, v12
-; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v39, 8, v12
-; VI-NEXT: v_lshrrev_b64 v[13:14], 24, v[5:6]
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v39, 8, v11
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v39, 24, v10
-; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v39, 8, v10
-; VI-NEXT: v_lshrrev_b64 v[13:14], 24, v[50:51]
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v39, 8, v9
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v39, 24, v8
-; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v39, 8, v8
-; VI-NEXT: v_lshrrev_b64 v[13:14], 24, v[48:49]
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v39, 8, v7
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:384 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v39, 24, v6
-; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v39, 8, v6
-; VI-NEXT: v_lshrrev_b64 v[13:14], 24, v[27:28]
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:392 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v39, 8, v5
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:400 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v39, 24, v4
-; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v39, 8, v4
-; VI-NEXT: v_lshrrev_b64 v[13:14], 24, v[25:26]
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:404 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v39, 8, v3
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:408 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v39, 24, v2
-; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:388 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v39, 8, v2
-; VI-NEXT: v_lshrrev_b64 v[13:14], 24, v[23:24]
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:412 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v39, 8, v1
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:416 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v39, 24, v51
-; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v39, 8, v51
-; VI-NEXT: v_lshrrev_b64 v[13:14], 24, v[21:22]
-; VI-NEXT: v_mov_b32_e32 v57, v39
-; VI-NEXT: v_lshrrev_b64 v[39:40], 24, v[17:18]
-; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v40, v42
-; VI-NEXT: v_mov_b32_e32 v42, v30
+; VI-NEXT: v_mov_b32_e32 v24, v50
+; VI-NEXT: v_mov_b32_e32 v50, v33
+; VI-NEXT: s_waitcnt vmcnt(5)
+; VI-NEXT: v_lshrrev_b32_e32 v30, 8, v21
+; VI-NEXT: buffer_store_dword v30, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v30, 8, v20
+; VI-NEXT: buffer_store_dword v30, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v30, 8, v19
+; VI-NEXT: buffer_store_dword v30, off, s[0:3], s32 offset:388 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v30, 8, v17
+; VI-NEXT: buffer_store_dword v30, off, s[0:3], s32 offset:416 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[30:31], 24, v[11:12]
+; VI-NEXT: buffer_store_dword v30, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[30:31], 24, v[9:10]
+; VI-NEXT: buffer_store_dword v30, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[30:31], 24, v[7:8]
+; VI-NEXT: buffer_store_dword v30, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
+; VI-NEXT: s_waitcnt vmcnt(14)
+; VI-NEXT: v_lshrrev_b32_e32 v54, 24, v22
+; VI-NEXT: v_lshrrev_b64 v[30:31], 24, v[48:49]
+; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v54, 8, v22
+; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[54:55], 24, v[3:4]
+; VI-NEXT: buffer_store_dword v30, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v55, v27
+; VI-NEXT: v_lshrrev_b64 v[30:31], 24, v[52:53]
+; VI-NEXT: v_lshrrev_b64 v[27:28], 24, v[28:29]
+; VI-NEXT: buffer_store_dword v30, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[29:30], 24, v[25:26]
+; VI-NEXT: v_mov_b32_e32 v27, v26
+; VI-NEXT: v_mov_b32_e32 v26, v25
+; VI-NEXT: v_mov_b32_e32 v25, v40
+; VI-NEXT: v_lshrrev_b64 v[39:40], 24, v[19:20]
+; VI-NEXT: v_lshrrev_b64 v[21:22], 24, v[21:22]
+; VI-NEXT: v_mov_b32_e32 v40, v25
+; VI-NEXT: v_mov_b32_e32 v25, v26
+; VI-NEXT: v_mov_b32_e32 v26, v27
+; VI-NEXT: v_mov_b32_e32 v27, v43
+; VI-NEXT: v_lshrrev_b64 v[42:43], 24, v[17:18]
+; VI-NEXT: v_mov_b32_e32 v28, v34
+; VI-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v30, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v22, v51
+; VI-NEXT: v_mov_b32_e32 v51, v37
+; VI-NEXT: v_mov_b32_e32 v43, v27
+; VI-NEXT: v_lshrrev_b32_e32 v27, 8, v48
; VI-NEXT: .LBB94_2: ; %Flow
; VI-NEXT: s_or_saveexec_b64 s[4:5], s[4:5]
-; VI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v48, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
; VI-NEXT: s_xor_b64 exec, exec, s[4:5]
; VI-NEXT: s_cbranch_execz .LBB94_4
; VI-NEXT: ; %bb.3: ; %cmp.true
; VI-NEXT: v_mov_b32_e32 v31, 0x200
; VI-NEXT: v_add_f16_sdwa v13, v18, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
-; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:464 ; 4-byte Folded Spill
-; VI-NEXT: v_lshlrev_b32_e32 v21, 16, v13
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:444 ; 4-byte Folded Spill
+; VI-NEXT: v_lshlrev_b32_e32 v29, 16, v13
; VI-NEXT: v_add_f16_e32 v18, 0x200, v18
; VI-NEXT: v_add_f16_sdwa v13, v17, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+; VI-NEXT: v_or_b32_e32 v44, v18, v29
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
+; VI-NEXT: v_lshlrev_b32_e32 v29, 16, v13
; VI-NEXT: v_add_f16_e32 v17, 0x200, v17
-; VI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
-; VI-NEXT: v_or_b32_e32 v43, v18, v21
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:424 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:428 ; 4-byte Folded Spill
-; VI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:424 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:428 ; 4-byte Folded Reload
-; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:468 ; 4-byte Folded Spill
-; VI-NEXT: v_lshlrev_b32_e32 v21, 16, v13
-; VI-NEXT: v_add_f16_sdwa v30, v8, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
-; VI-NEXT: v_add_f16_sdwa v52, v1, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
-; VI-NEXT: v_add_f16_e32 v8, 0x200, v8
-; VI-NEXT: v_add_f16_sdwa v41, v7, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
-; VI-NEXT: v_lshlrev_b32_e32 v23, 16, v30
-; VI-NEXT: v_add_f16_e32 v1, 0x200, v1
-; VI-NEXT: v_add_f16_e32 v7, 0x200, v7
-; VI-NEXT: v_add_f16_sdwa v53, v10, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
-; VI-NEXT: v_add_f16_sdwa v16, v3, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
-; VI-NEXT: v_add_f16_e32 v10, 0x200, v10
-; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_add_f16_sdwa v18, v9, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
-; VI-NEXT: v_add_f16_e32 v3, 0x200, v3
-; VI-NEXT: v_add_f16_sdwa v54, v6, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
-; VI-NEXT: v_add_f16_e32 v9, 0x200, v9
-; VI-NEXT: v_add_f16_e32 v6, 0x200, v6
-; VI-NEXT: v_add_f16_sdwa v63, v5, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
-; VI-NEXT: v_add_f16_e32 v5, 0x200, v5
; VI-NEXT: v_add_f16_sdwa v13, v20, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
-; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:472 ; 4-byte Folded Spill
-; VI-NEXT: v_or_b32_e32 v42, v17, v21
-; VI-NEXT: v_lshlrev_b32_e32 v21, 16, v13
+; VI-NEXT: v_or_b32_e32 v43, v17, v29
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:448 ; 4-byte Folded Spill
+; VI-NEXT: v_lshlrev_b32_e32 v29, 16, v13
; VI-NEXT: v_add_f16_e32 v20, 0x200, v20
; VI-NEXT: v_add_f16_sdwa v13, v19, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
; VI-NEXT: v_add_f16_e32 v19, 0x200, v19
-; VI-NEXT: v_or_b32_e32 v45, v20, v21
-; VI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
-; VI-NEXT: v_lshlrev_b32_e32 v21, 16, v13
-; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:476 ; 4-byte Folded Spill
-; VI-NEXT: v_add_f16_sdwa v17, v2, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
-; VI-NEXT: v_add_f16_e32 v2, 0x200, v2
-; VI-NEXT: v_or_b32_e32 v44, v19, v21
-; VI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(1)
+; VI-NEXT: v_or_b32_e32 v46, v20, v29
+; VI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:436 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:440 ; 4-byte Folded Spill
+; VI-NEXT: v_lshlrev_b32_e32 v29, 16, v13
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
+; VI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v48, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload
+; VI-NEXT: v_mov_b32_e32 v15, v17
+; VI-NEXT: v_mov_b32_e32 v16, v18
+; VI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
+; VI-NEXT: v_add_f16_sdwa v38, v7, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+; VI-NEXT: v_add_f16_e32 v7, 0x200, v7
+; VI-NEXT: v_add_f16_sdwa v32, v10, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+; VI-NEXT: v_add_f16_e32 v10, 0x200, v10
+; VI-NEXT: v_add_f16_sdwa v23, v12, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+; VI-NEXT: v_add_f16_e32 v12, 0x200, v12
+; VI-NEXT: v_or_b32_e32 v45, v19, v29
+; VI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(4)
+; VI-NEXT: v_add_f16_sdwa v14, v49, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+; VI-NEXT: v_add_f16_e32 v49, 0x200, v49
+; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
+; VI-NEXT: s_waitcnt vmcnt(3)
+; VI-NEXT: v_add_f16_sdwa v24, v18, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+; VI-NEXT: v_add_f16_e32 v18, 0x200, v18
+; VI-NEXT: s_waitcnt vmcnt(2)
; VI-NEXT: v_add_f16_sdwa v33, v19, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
-; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_add_f16_sdwa v13, v20, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
-; VI-NEXT: v_lshlrev_b32_e32 v21, 16, v13
+; VI-NEXT: v_lshlrev_b32_e32 v29, 16, v13
; VI-NEXT: v_add_f16_e32 v20, 0x200, v20
; VI-NEXT: v_add_f16_e32 v19, 0x200, v19
-; VI-NEXT: v_or_b32_e32 v40, v20, v21
-; VI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
-; VI-NEXT: v_lshlrev_b32_e32 v21, 16, v33
-; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:480 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
-; VI-NEXT: v_or_b32_e32 v39, v19, v21
-; VI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
+; VI-NEXT: v_or_b32_e32 v40, v20, v29
+; VI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
+; VI-NEXT: v_lshlrev_b32_e32 v29, 16, v33
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
+; VI-NEXT: v_or_b32_e32 v39, v19, v29
+; VI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_add_f16_sdwa v33, v19, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_f16_sdwa v13, v20, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
-; VI-NEXT: v_lshlrev_b32_e32 v21, 16, v13
+; VI-NEXT: v_lshlrev_b32_e32 v29, 16, v13
; VI-NEXT: v_add_f16_e32 v20, 0x200, v20
; VI-NEXT: v_add_f16_e32 v19, 0x200, v19
-; VI-NEXT: v_or_b32_e32 v47, v20, v21
-; VI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:484 ; 4-byte Folded Spill
-; VI-NEXT: v_lshlrev_b32_e32 v21, 16, v33
+; VI-NEXT: v_or_b32_e32 v57, v20, v29
+; VI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; VI-NEXT: v_lshlrev_b32_e32 v29, 16, v33
; VI-NEXT: v_add_f16_sdwa v13, v26, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
; VI-NEXT: v_add_f16_e32 v26, 0x200, v26
; VI-NEXT: v_add_f16_sdwa v33, v25, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
; VI-NEXT: v_add_f16_e32 v25, 0x200, v25
-; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:488 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
-; VI-NEXT: v_or_b32_e32 v46, v19, v21
-; VI-NEXT: v_lshlrev_b32_e32 v21, 16, v13
-; VI-NEXT: v_or_b32_e32 v38, v26, v21
-; VI-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:456 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:460 ; 4-byte Folded Spill
-; VI-NEXT: v_lshlrev_b32_e32 v21, 16, v33
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
+; VI-NEXT: v_or_b32_e32 v56, v19, v29
+; VI-NEXT: v_lshlrev_b32_e32 v29, 16, v13
+; VI-NEXT: v_or_b32_e32 v22, v26, v29
+; VI-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:428 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:432 ; 4-byte Folded Spill
+; VI-NEXT: v_lshlrev_b32_e32 v29, 16, v33
; VI-NEXT: v_add_f16_sdwa v13, v28, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
; VI-NEXT: v_add_f16_e32 v28, 0x200, v28
; VI-NEXT: v_add_f16_sdwa v33, v27, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
; VI-NEXT: v_add_f16_e32 v27, 0x200, v27
-; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:492 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
-; VI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
-; VI-NEXT: v_or_b32_e32 v37, v25, v21
-; VI-NEXT: v_lshlrev_b32_e32 v21, 16, v13
-; VI-NEXT: v_or_b32_e32 v56, v28, v21
-; VI-NEXT: v_lshlrev_b32_e32 v21, 16, v33
-; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:440 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:444 ; 4-byte Folded Spill
-; VI-NEXT: v_add_f16_sdwa v13, v49, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
-; VI-NEXT: v_add_f16_e32 v49, 0x200, v49
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
+; VI-NEXT: v_add_f16_sdwa v26, v2, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+; VI-NEXT: v_add_f16_e32 v2, 0x200, v2
+; VI-NEXT: v_or_b32_e32 v21, v25, v29
+; VI-NEXT: v_lshlrev_b32_e32 v29, 16, v13
+; VI-NEXT: v_or_b32_e32 v59, v28, v29
+; VI-NEXT: v_lshlrev_b32_e32 v29, 16, v33
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
+; VI-NEXT: v_add_f16_sdwa v13, v53, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+; VI-NEXT: v_add_f16_e32 v53, 0x200, v53
+; VI-NEXT: v_add_f16_sdwa v33, v52, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+; VI-NEXT: v_add_f16_e32 v52, 0x200, v52
+; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:420 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:424 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; VI-NEXT: v_add_f16_sdwa v28, v6, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+; VI-NEXT: v_add_f16_e32 v6, 0x200, v6
+; VI-NEXT: v_add_f16_sdwa v25, v8, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+; VI-NEXT: v_add_f16_e32 v8, 0x200, v8
+; VI-NEXT: v_or_b32_e32 v58, v27, v29
+; VI-NEXT: v_lshlrev_b32_e32 v29, 16, v13
+; VI-NEXT: v_add_f16_sdwa v13, v1, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+; VI-NEXT: v_add_f16_e32 v1, 0x200, v1
+; VI-NEXT: v_add_f16_sdwa v27, v4, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+; VI-NEXT: v_or_b32_e32 v36, v53, v29
+; VI-NEXT: v_lshlrev_b32_e32 v29, 16, v33
+; VI-NEXT: v_or_b32_e32 v35, v52, v29
; VI-NEXT: v_add_f16_sdwa v33, v48, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
; VI-NEXT: v_add_f16_e32 v48, 0x200, v48
-; VI-NEXT: buffer_store_dword v48, off, s[0:3], s32 offset:432 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:436 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
-; VI-NEXT: s_waitcnt vmcnt(6)
-; VI-NEXT: v_add_f16_sdwa v29, v20, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
-; VI-NEXT: v_add_f16_e32 v20, 0x200, v20
-; VI-NEXT: v_add_f16_sdwa v15, v19, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
-; VI-NEXT: v_add_f16_e32 v19, 0x200, v19
-; VI-NEXT: v_or_b32_e32 v55, v27, v21
-; VI-NEXT: v_lshlrev_b32_e32 v21, 16, v13
-; VI-NEXT: v_add_f16_sdwa v13, v51, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
-; VI-NEXT: v_add_f16_e32 v51, 0x200, v51
-; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:496 ; 4-byte Folded Spill
-; VI-NEXT: v_or_b32_e32 v36, v49, v21
-; VI-NEXT: v_lshlrev_b32_e32 v21, 16, v33
-; VI-NEXT: v_add_f16_sdwa v33, v50, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
-; VI-NEXT: v_add_f16_e32 v50, 0x200, v50
-; VI-NEXT: buffer_store_dword v50, off, s[0:3], s32 offset:448 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:452 ; 4-byte Folded Spill
-; VI-NEXT: v_or_b32_e32 v35, v48, v21
-; VI-NEXT: v_lshlrev_b32_e32 v21, 16, v13
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
-; VI-NEXT: v_add_f16_sdwa v48, v4, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+; VI-NEXT: v_lshlrev_b32_e32 v29, 16, v14
+; VI-NEXT: v_or_b32_e32 v34, v49, v29
+; VI-NEXT: buffer_store_dword v48, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; VI-NEXT: v_lshlrev_b32_e32 v29, 16, v33
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
; VI-NEXT: v_add_f16_e32 v4, 0x200, v4
-; VI-NEXT: v_add_f16_sdwa v49, v12, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
-; VI-NEXT: v_add_f16_e32 v12, 0x200, v12
+; VI-NEXT: v_add_f16_sdwa v53, v3, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+; VI-NEXT: v_add_f16_e32 v3, 0x200, v3
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
+; VI-NEXT: v_or_b32_e32 v33, v48, v29
+; VI-NEXT: v_lshlrev_b32_e32 v29, 16, v26
+; VI-NEXT: v_or_b32_e32 v42, v2, v29
+; VI-NEXT: v_lshlrev_b32_e32 v29, 16, v13
+; VI-NEXT: v_or_b32_e32 v41, v1, v29
+; VI-NEXT: v_lshlrev_b32_e32 v29, 16, v27
+; VI-NEXT: v_or_b32_e32 v61, v4, v29
+; VI-NEXT: v_lshlrev_b32_e32 v29, 16, v53
+; VI-NEXT: v_or_b32_e32 v60, v3, v29
+; VI-NEXT: v_add_f16_sdwa v13, v5, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+; VI-NEXT: v_lshlrev_b32_e32 v29, 16, v28
+; VI-NEXT: v_add_f16_e32 v5, 0x200, v5
+; VI-NEXT: v_or_b32_e32 v55, v6, v29
+; VI-NEXT: v_lshlrev_b32_e32 v29, 16, v13
+; VI-NEXT: v_or_b32_e32 v54, v5, v29
+; VI-NEXT: v_lshlrev_b32_e32 v29, 16, v25
+; VI-NEXT: v_or_b32_e32 v63, v8, v29
+; VI-NEXT: v_lshlrev_b32_e32 v29, 16, v38
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
+; VI-NEXT: v_or_b32_e32 v62, v7, v29
+; VI-NEXT: v_add_f16_sdwa v13, v9, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+; VI-NEXT: v_lshlrev_b32_e32 v29, 16, v32
+; VI-NEXT: v_add_f16_e32 v9, 0x200, v9
+; VI-NEXT: v_or_b32_e32 v52, v10, v29
+; VI-NEXT: v_lshlrev_b32_e32 v29, 16, v13
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
+; VI-NEXT: v_or_b32_e32 v51, v9, v29
; VI-NEXT: v_add_f16_sdwa v13, v11, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+; VI-NEXT: v_lshlrev_b32_e32 v29, 16, v23
; VI-NEXT: v_add_f16_e32 v11, 0x200, v11
-; VI-NEXT: v_or_b32_e32 v34, v51, v21
-; VI-NEXT: v_lshlrev_b32_e32 v21, 16, v33
-; VI-NEXT: v_or_b32_e32 v33, v50, v21
-; VI-NEXT: v_lshlrev_b32_e32 v21, 16, v17
-; VI-NEXT: v_or_b32_e32 v58, v2, v21
-; VI-NEXT: v_lshlrev_b32_e32 v21, 16, v52
-; VI-NEXT: v_or_b32_e32 v51, v8, v23
-; VI-NEXT: v_lshlrev_b32_e32 v23, 16, v41
-; VI-NEXT: v_or_b32_e32 v57, v1, v21
-; VI-NEXT: v_lshlrev_b32_e32 v21, 16, v48
-; VI-NEXT: v_or_b32_e32 v50, v7, v23
-; VI-NEXT: v_lshlrev_b32_e32 v23, 16, v53
-; VI-NEXT: v_or_b32_e32 v60, v4, v21
-; VI-NEXT: v_lshlrev_b32_e32 v21, 16, v16
-; VI-NEXT: v_or_b32_e32 v28, v10, v23
-; VI-NEXT: v_lshlrev_b32_e32 v23, 16, v18
-; VI-NEXT: v_or_b32_e32 v59, v3, v21
-; VI-NEXT: v_lshlrev_b32_e32 v21, 16, v54
-; VI-NEXT: v_or_b32_e32 v27, v9, v23
-; VI-NEXT: v_lshlrev_b32_e32 v23, 16, v49
-; VI-NEXT: v_or_b32_e32 v62, v6, v21
-; VI-NEXT: v_lshlrev_b32_e32 v21, 16, v63
-; VI-NEXT: v_or_b32_e32 v26, v12, v23
-; VI-NEXT: v_lshlrev_b32_e32 v23, 16, v13
-; VI-NEXT: v_or_b32_e32 v61, v5, v21
-; VI-NEXT: v_or_b32_e32 v25, v11, v23
-; VI-NEXT: v_lshlrev_b32_e32 v23, 16, v29
-; VI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
-; VI-NEXT: v_or_b32_e32 v24, v20, v23
-; VI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
-; VI-NEXT: v_lshlrev_b32_e32 v23, 16, v15
-; VI-NEXT: s_waitcnt vmcnt(3)
-; VI-NEXT: v_add_f16_sdwa v14, v21, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
-; VI-NEXT: v_add_f16_e32 v21, 0x200, v21
-; VI-NEXT: v_or_b32_e32 v23, v19, v23
-; VI-NEXT: s_waitcnt vmcnt(2)
-; VI-NEXT: v_add_f16_sdwa v19, v22, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
-; VI-NEXT: v_add_f16_e32 v22, 0x200, v22
-; VI-NEXT: v_lshlrev_b32_e32 v20, 16, v19
-; VI-NEXT: v_or_b32_e32 v32, v22, v20
-; VI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
-; VI-NEXT: v_lshlrev_b32_e32 v20, 16, v14
-; VI-NEXT: v_or_b32_e32 v31, v21, v20
-; VI-NEXT: v_lshrrev_b32_e32 v20, 8, v32
-; VI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v20, 8, v31
-; VI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[20:21], 24, v[31:32]
-; VI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v20, 8, v24
-; VI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v20, 8, v23
-; VI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[20:21], 24, v[23:24]
-; VI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v20, 8, v26
-; VI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v20, 8, v25
-; VI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[20:21], 24, v[25:26]
-; VI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v20, 8, v28
-; VI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v20, 8, v27
-; VI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[20:21], 24, v[27:28]
-; VI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v20, 8, v51
-; VI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v20, 8, v50
-; VI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:384 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[20:21], 24, v[50:51]
-; VI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v20, 8, v62
-; VI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:392 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v20, 8, v61
-; VI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:400 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[20:21], 24, v[61:62]
-; VI-NEXT: v_mov_b32_e32 v61, v17
-; VI-NEXT: v_lshrrev_b32_e32 v17, 8, v60
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:404 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 8, v59
-; VI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:408 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 8, v58
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:412 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 8, v57
-; VI-NEXT: v_lshrrev_b64 v[20:21], 24, v[33:34]
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:416 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 8, v33
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 8, v36
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 8, v35
-; VI-NEXT: v_lshrrev_b64 v[20:21], 24, v[35:36]
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 8, v56
-; VI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 8, v55
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[20:21], 24, v[55:56]
-; VI-NEXT: v_lshrrev_b32_e32 v17, 8, v38
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 8, v37
-; VI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 8, v47
-; VI-NEXT: v_lshrrev_b64 v[20:21], 24, v[37:38]
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 8, v46
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 8, v40
-; VI-NEXT: v_lshrrev_b64 v[23:24], 24, v[59:60]
-; VI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 8, v39
-; VI-NEXT: v_lshrrev_b64 v[24:25], 24, v[57:58]
-; VI-NEXT: v_lshrrev_b64 v[20:21], 24, v[46:47]
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 8, v45
-; VI-NEXT: v_lshrrev_b64 v[58:59], 24, v[44:45]
-; VI-NEXT: buffer_load_dword v38, off, s[0:3], s32 offset:468 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:476 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v36, off, s[0:3], s32 offset:464 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:472 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:496 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:480 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v60, off, s[0:3], s32 offset:484 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:492 ; 4-byte Folded Reload
-; VI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v59, v19
-; VI-NEXT: v_lshrrev_b64 v[20:21], 24, v[39:40]
-; VI-NEXT: v_mov_b32_e32 v62, v29
-; VI-NEXT: v_lshrrev_b32_e32 v32, 8, v43
-; VI-NEXT: v_lshrrev_b64 v[39:40], 24, v[42:43]
-; VI-NEXT: v_mov_b32_e32 v43, v13
-; VI-NEXT: v_bfe_u32 v13, v59, 8, 8
-; VI-NEXT: v_mov_b32_e32 v55, v49
-; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
-; VI-NEXT: v_bfe_u32 v13, v62, 8, 8
-; VI-NEXT: v_mov_b32_e32 v35, v53
-; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
-; VI-NEXT: v_bfe_u32 v13, v55, 8, 8
-; VI-NEXT: v_lshrrev_b32_e32 v57, 8, v34
-; VI-NEXT: v_mov_b32_e32 v34, v30
+; VI-NEXT: v_or_b32_e32 v50, v12, v29
+; VI-NEXT: v_lshlrev_b32_e32 v29, 16, v13
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
+; VI-NEXT: v_or_b32_e32 v49, v11, v29
+; VI-NEXT: v_add_f16_sdwa v13, v17, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+; VI-NEXT: v_add_f16_e32 v17, 0x200, v17
+; VI-NEXT: v_lshlrev_b32_e32 v29, 16, v24
+; VI-NEXT: v_or_b32_e32 v48, v18, v29
+; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; VI-NEXT: v_lshlrev_b32_e32 v29, 16, v13
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[19:20], 24, v[62:63]
+; VI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
+; VI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:436 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:440 ; 4-byte Folded Reload
+; VI-NEXT: v_or_b32_e32 v47, v17, v29
+; VI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_add_f16_sdwa v37, v18, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+; VI-NEXT: v_add_f16_e32 v18, 0x200, v18
+; VI-NEXT: v_add_f16_sdwa v31, v17, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+; VI-NEXT: v_add_f16_e32 v17, 0x200, v17
+; VI-NEXT: v_lshlrev_b32_e32 v29, 16, v37
+; VI-NEXT: v_or_b32_e32 v30, v18, v29
+; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
+; VI-NEXT: v_lshlrev_b32_e32 v29, 16, v31
+; VI-NEXT: v_lshrrev_b32_e32 v13, 8, v30
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
+; VI-NEXT: v_or_b32_e32 v29, v17, v29
+; VI-NEXT: v_lshrrev_b32_e32 v13, 8, v29
; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
-; VI-NEXT: v_bfe_u32 v13, v35, 8, 8
-; VI-NEXT: v_mov_b32_e32 v37, v54
+; VI-NEXT: v_lshrrev_b32_e32 v13, 8, v48
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v13, 8, v47
; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
-; VI-NEXT: v_bfe_u32 v13, v34, 8, 8
-; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v13, 8, v50
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v13, 8, v49
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v13, 8, v51
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:384 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v13, 8, v62
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:392 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v13, 8, v55
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:396 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v13, 8, v54
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:400 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v13, 8, v61
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:404 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v13, 8, v60
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:408 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v13, 8, v41
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:412 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v13, 8, v35
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v13, 8, v59
+; VI-NEXT: v_lshrrev_b64 v[17:18], 24, v[29:30]
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v13, 8, v58
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v13, 8, v22
+; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v13, 8, v21
+; VI-NEXT: v_lshrrev_b64 v[17:18], 24, v[47:48]
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v13, 8, v56
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v13, 8, v40
+; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[21:22], 24, v[21:22]
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v13, 8, v39
+; VI-NEXT: v_lshrrev_b64 v[17:18], 24, v[49:50]
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v13, 8, v46
+; VI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v13, 8, v45
+; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[21:22], 24, v[56:57]
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:388 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v13, 8, v43
+; VI-NEXT: v_lshrrev_b64 v[17:18], 24, v[51:52]
+; VI-NEXT: v_lshrrev_b32_e32 v51, 8, v63
+; VI-NEXT: v_lshrrev_b64 v[62:63], 24, v[54:55]
+; VI-NEXT: v_lshrrev_b64 v[54:55], 24, v[60:61]
+; VI-NEXT: v_lshrrev_b32_e32 v61, 8, v42
+; VI-NEXT: v_lshrrev_b64 v[41:42], 24, v[41:42]
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:416 ; 4-byte Folded Spill
; VI-NEXT: v_bfe_u32 v13, v37, 8, 8
+; VI-NEXT: v_mov_b32_e32 v63, v23
+; VI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[42:43], 24, v[43:44]
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
+; VI-NEXT: v_bfe_u32 v13, v24, 8, 8
+; VI-NEXT: v_lshrrev_b64 v[21:22], 24, v[39:40]
+; VI-NEXT: v_lshrrev_b64 v[39:40], 24, v[45:46]
+; VI-NEXT: v_mov_b32_e32 v43, v32
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
+; VI-NEXT: v_bfe_u32 v13, v63, 8, 8
+; VI-NEXT: v_mov_b32_e32 v40, v25
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
+; VI-NEXT: v_bfe_u32 v13, v43, 8, 8
; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v48, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
-; VI-NEXT: v_bfe_u32 v13, v48, 8, 8
+; VI-NEXT: v_bfe_u32 v13, v40, 8, 8
; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
-; VI-NEXT: v_bfe_u32 v13, v61, 8, 8
-; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:388 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v54, v63
-; VI-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:488 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:448 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:452 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:440 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:444 ; 4-byte Folded Reload
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v17, 8, v44
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
-; VI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:456 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:460 ; 4-byte Folded Reload
-; VI-NEXT: v_lshrrev_b32_e32 v44, 8, v42
-; VI-NEXT: v_mov_b32_e32 v42, v18
-; VI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:424 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:428 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v48, off, s[0:3], s32 offset:432 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:436 ; 4-byte Folded Reload
-; VI-NEXT: v_mov_b32_e32 v56, v23
-; VI-NEXT: v_mov_b32_e32 v53, v16
-; VI-NEXT: v_mov_b32_e32 v16, v14
-; VI-NEXT: v_mov_b32_e32 v40, v24
-; VI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; VI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
+; VI-NEXT: v_mov_b32_e32 v55, v28
+; VI-NEXT: v_lshrrev_b64 v[28:29], 24, v[33:34]
+; VI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[29:30], 24, v[35:36]
+; VI-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v30, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v60, v26
+; VI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:428 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:432 ; 4-byte Folded Reload
+; VI-NEXT: v_lshrrev_b32_e32 v50, 8, v52
+; VI-NEXT: v_lshrrev_b32_e32 v28, 8, v36
+; VI-NEXT: v_lshrrev_b64 v[29:30], 24, v[58:59]
+; VI-NEXT: v_lshrrev_b32_e32 v36, 8, v57
+; VI-NEXT: v_mov_b32_e32 v32, v53
+; VI-NEXT: buffer_load_dword v59, off, s[0:3], s32 offset:444 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v57, off, s[0:3], s32 offset:448 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:420 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:424 ; 4-byte Folded Reload
+; VI-NEXT: v_mov_b32_e32 v47, v27
+; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v18, v16
+; VI-NEXT: v_mov_b32_e32 v17, v15
+; VI-NEXT: v_mov_b32_e32 v15, v31
+; VI-NEXT: v_lshrrev_b32_e32 v23, 8, v34
+; VI-NEXT: v_lshrrev_b32_e32 v27, 8, v33
+; VI-NEXT: v_lshrrev_b32_e32 v45, 8, v44
+; VI-NEXT: v_bfe_u32 v44, v55, 8, 8
+; VI-NEXT: v_bfe_u32 v46, v47, 8, 8
+; VI-NEXT: v_bfe_u32 v35, v60, 8, 8
+; VI-NEXT: v_bfe_u32 v22, v14, 8, 8
+; VI-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v30, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
; VI-NEXT: s_waitcnt vmcnt(14)
-; VI-NEXT: v_bfe_u32 v13, v31, 8, 8
-; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
-; VI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload
+; VI-NEXT: v_bfe_u32 v24, v13, 8, 8
+; VI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(8)
+; VI-NEXT: v_bfe_u32 v58, v59, 8, 8
+; VI-NEXT: s_waitcnt vmcnt(7)
+; VI-NEXT: v_bfe_u32 v56, v57, 8, 8
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_bfe_u32 v13, v13, 8, 8
-; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
-; VI-NEXT: v_bfe_u32 v13, v46, 8, 8
-; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
-; VI-NEXT: v_bfe_u32 v13, v63, 8, 8
-; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
-; VI-NEXT: v_bfe_u32 v13, v60, 8, 8
-; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
-; VI-NEXT: v_bfe_u32 v13, v45, 8, 8
-; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
-; VI-NEXT: v_bfe_u32 v13, v47, 8, 8
-; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:396 ; 4-byte Folded Spill
-; VI-NEXT: v_bfe_u32 v13, v36, 8, 8
-; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:420 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
+; VI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_bfe_u32 v13, v13, 8, 8
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
+; VI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_bfe_u32 v13, v13, 8, 8
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
+; VI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_bfe_u32 v13, v13, 8, 8
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
; VI-NEXT: .LBB94_4: ; %end
; VI-NEXT: s_or_b64 exec, exec, s[4:5]
-; VI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:416 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload
; VI-NEXT: s_mov_b32 s4, 0xc0c0004
-; VI-NEXT: v_perm_b32 v19, v52, v40, s4
-; VI-NEXT: v_perm_b32 v20, v53, v56, s4
-; VI-NEXT: v_lshlrev_b32_e32 v19, 16, v19
-; VI-NEXT: v_perm_b32 v17, v17, v44, s4
-; VI-NEXT: v_perm_b32 v18, v18, v32, s4
-; VI-NEXT: v_perm_b32 v30, v33, v58, s4
-; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v1, v13, s4
+; VI-NEXT: v_perm_b32 v30, v32, v54, s4
+; VI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v10, v10, v50, s4
+; VI-NEXT: v_perm_b32 v8, v8, v51, s4
+; VI-NEXT: v_perm_b32 v2, v2, v61, s4
+; VI-NEXT: v_perm_b32 v18, v18, v45, s4
+; VI-NEXT: s_waitcnt vmcnt(2)
+; VI-NEXT: v_perm_b32 v29, v13, v41, s4
; VI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:412 ; 4-byte Folded Reload
-; VI-NEXT: v_or_b32_e32 v1, v1, v19
+; VI-NEXT: v_lshlrev_b32_e32 v29, 16, v29
+; VI-NEXT: s_waitcnt vmcnt(2)
+; VI-NEXT: v_perm_b32 v32, v38, v32, s4
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v2, v2, v13, s4
+; VI-NEXT: v_perm_b32 v1, v1, v13, s4
; VI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:408 ; 4-byte Folded Reload
+; VI-NEXT: v_or_b32_e32 v1, v1, v29
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v3, v3, v13, s4
; VI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:404 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v4, v4, v13, s4
-; VI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_perm_b32 v21, v54, v13, s4
+; VI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:280 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_perm_b32 v31, v13, v62, s4
; VI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:400 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v54, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_perm_b32 v53, v16, v53, s4
+; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v5, v5, v13, s4
-; VI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:392 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:396 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v6, v6, v13, s4
-; VI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_perm_b32 v22, v41, v13, s4
-; VI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:384 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:392 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v7, v7, v13, s4
-; VI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:376 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v8, v8, v13, s4
-; VI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_perm_b32 v23, v42, v13, s4
-; VI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:364 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v48, v13, v33, s4
+; VI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:384 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v9, v9, v13, s4
-; VI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:356 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v10, v10, v13, s4
-; VI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_perm_b32 v24, v43, v13, s4
-; VI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:340 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v49, v13, v33, s4
+; VI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:364 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v11, v11, v13, s4
-; VI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:332 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:356 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v12, v12, v13, s4
-; VI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_perm_b32 v50, v13, v33, s4
+; VI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:348 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(1)
+; VI-NEXT: v_perm_b32 v51, v15, v33, s4
+; VI-NEXT: v_perm_b32 v13, v13, v16, s4
+; VI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:340 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:276 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_perm_b32 v52, v15, v13, s4
-; VI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:324 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v14, v14, v16, s4
+; VI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:336 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v13, v13, v15, s4
-; VI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:316 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v15, v15, v34, s4
+; VI-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:332 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v14, v14, v15, s4
-; VI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:312 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v16, v16, v34, s4
+; VI-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:416 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v15, v15, v29, s4
-; VI-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:308 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v17, v17, v34, s4
+; VI-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:272 ; 4-byte Folded Reload
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:388 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(2)
-; VI-NEXT: v_perm_b32 v16, v16, v29, s4
-; VI-NEXT: v_perm_b32 v29, v38, v39, s4
-; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v61, v1, s4
+; VI-NEXT: v_perm_b32 v1, v60, v35, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v2, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:4
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v20
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v30
; VI-NEXT: v_or_b32_e32 v1, v3, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:8
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:380 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v2, v1, s4
+; VI-NEXT: v_perm_b32 v1, v47, v46, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v4, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:12
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v21
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v31
; VI-NEXT: v_or_b32_e32 v1, v5, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:16
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:372 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v37, v1, s4
+; VI-NEXT: v_perm_b32 v1, v55, v44, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v6, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:20
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v22
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v32
; VI-NEXT: v_or_b32_e32 v1, v7, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:24
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:360 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:380 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v33, v33, v42, s4
+; VI-NEXT: s_waitcnt vmcnt(8)
+; VI-NEXT: v_perm_b32 v34, v34, v39, s4
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v34, v1, s4
+; VI-NEXT: v_perm_b32 v1, v40, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v8, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:28
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v23
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v48
; VI-NEXT: v_or_b32_e32 v1, v9, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:32
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:348 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:372 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v35, v1, s4
+; VI-NEXT: v_perm_b32 v1, v43, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v10, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:36
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v24
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v49
; VI-NEXT: v_or_b32_e32 v1, v11, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:40
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:336 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:360 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v55, v1, s4
+; VI-NEXT: v_perm_b32 v1, v63, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v12, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:44
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v52
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v50
; VI-NEXT: v_or_b32_e32 v1, v13, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:48
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:328 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:352 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v62, v1, s4
+; VI-NEXT: v_perm_b32 v1, v1, v2, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v14, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:52
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v53
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v51
; VI-NEXT: v_or_b32_e32 v1, v15, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:56
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:320 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:344 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v59, v1, s4
+; VI-NEXT: v_perm_b32 v1, v1, v2, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v16, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:60
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v29
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v33
; VI-NEXT: v_or_b32_e32 v1, v17, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:64
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:420 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v36, v1, s4
+; VI-NEXT: v_perm_b32 v1, v59, v58, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v18, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:68
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:368 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:388 ; 4-byte Folded Reload
+; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v34
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v2, v1, s4
-; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v30
+; VI-NEXT: v_perm_b32 v1, v19, v1, s4
; VI-NEXT: v_or_b32_e32 v1, v1, v2
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:72
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:352 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:396 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_perm_b32 v1, v3, v1, s4
-; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v2, v47, v2, s4
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:376 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v2, v57, v56, s4
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_perm_b32 v1, v20, v1, s4
; VI-NEXT: v_or_b32_e32 v1, v1, v2
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:76
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:344 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:368 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v2, v2, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_perm_b32 v1, v1, v4, s4
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_perm_b32 v1, v1, v21, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v2, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:80
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:304 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(1)
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:312 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v3, v1, s4
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:328 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v2, v45, v2, s4
+; VI-NEXT: v_perm_b32 v2, v3, v2, s4
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
; VI-NEXT: v_or_b32_e32 v1, v1, v2
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:84
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:280 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:308 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v2, v2, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_perm_b32 v1, v1, v4, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v2, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:88
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:276 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:300 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_perm_b32 v1, v3, v1, s4
+; VI-NEXT: v_perm_b32 v1, v3, v36, s4
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:324 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v2, v60, v2, s4
+; VI-NEXT: v_perm_b32 v2, v3, v2, s4
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
; VI-NEXT: v_or_b32_e32 v1, v1, v2
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:92
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:268 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:304 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v2, v25, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_perm_b32 v1, v1, v3, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v2, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:96
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:320 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:300 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_perm_b32 v1, v26, v1, s4
+; VI-NEXT: v_perm_b32 v2, v3, v2, s4
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v2, v63, v2, s4
+; VI-NEXT: v_perm_b32 v1, v26, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
; VI-NEXT: v_or_b32_e32 v1, v1, v2
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:100
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v2, v27, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v2, v2, v1, s4
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_perm_b32 v1, v1, v3, s4
+; VI-NEXT: v_perm_b32 v1, v1, v4, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v2, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:104
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_perm_b32 v1, v28, v1, s4
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v2, v46, v2, s4
+; VI-NEXT: v_perm_b32 v1, v3, v1, s4
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:316 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_perm_b32 v2, v3, v2, s4
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
; VI-NEXT: v_or_b32_e32 v1, v1, v2
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:108
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v2, v48, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v2, v52, v1, s4
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_perm_b32 v1, v1, v3, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v2, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:112
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_perm_b32 v2, v3, v2, s4
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v1, v53, v28, s4
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v49, v1, s4
+; VI-NEXT: v_perm_b32 v2, v2, v24, s4
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
; VI-NEXT: v_or_b32_e32 v1, v1, v2
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:116
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v2, v50, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(3)
+; VI-NEXT: v_perm_b32 v1, v1, v4, s4
; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_perm_b32 v1, v1, v3, s4
+; VI-NEXT: v_perm_b32 v2, v2, v27, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v2, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:120
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:272 ; 4-byte Folded Reload
-; VI-NEXT: v_perm_b32 v1, v51, v57, s4
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:268 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(2)
+; VI-NEXT: v_perm_b32 v1, v3, v23, s4
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v2, v31, v2, s4
+; VI-NEXT: v_perm_b32 v2, v2, v22, s4
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
; VI-NEXT: v_or_b32_e32 v1, v1, v2
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:124
@@ -180716,395 +180753,383 @@ define <128 x i8> @bitcast_v64f16_to_v128i8(<64 x half> %a, i32 %b) #0 {
; GFX9-NEXT: ; implicit-def: $vgpr40
; GFX9-NEXT: ; kill: killed $vgpr40
; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr40
-; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
; GFX9-NEXT: ; kill: killed $vgpr40
; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
; GFX9-NEXT: ; kill: killed $vgpr40
; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
; GFX9-NEXT: ; kill: killed $vgpr40
; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
; GFX9-NEXT: ; kill: killed $vgpr40
; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
; GFX9-NEXT: ; kill: killed $vgpr40
; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
; GFX9-NEXT: ; kill: killed $vgpr40
; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
; GFX9-NEXT: ; kill: killed $vgpr40
; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
; GFX9-NEXT: ; kill: killed $vgpr40
; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
; GFX9-NEXT: ; kill: killed $vgpr40
; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
; GFX9-NEXT: ; kill: killed $vgpr40
; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
; GFX9-NEXT: ; kill: killed $vgpr40
; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
; GFX9-NEXT: ; kill: killed $vgpr40
; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
; GFX9-NEXT: ; kill: killed $vgpr40
; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
; GFX9-NEXT: ; kill: killed $vgpr40
; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
+; GFX9-NEXT: ; implicit-def: $vgpr39
; GFX9-NEXT: ; kill: killed $vgpr40
; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
; GFX9-NEXT: ; kill: killed $vgpr40
; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
; GFX9-NEXT: ; kill: killed $vgpr40
; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
; GFX9-NEXT: ; kill: killed $vgpr40
; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
; GFX9-NEXT: ; kill: killed $vgpr40
; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
; GFX9-NEXT: ; kill: killed $vgpr40
; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
; GFX9-NEXT: ; kill: killed $vgpr40
; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
+; GFX9-NEXT: ; kill: killed $vgpr39
; GFX9-NEXT: ; kill: killed $vgpr40
; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: ; implicit-def: $vgpr63
-; GFX9-NEXT: ; implicit-def: $vgpr62
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr60
-; GFX9-NEXT: ; implicit-def: $vgpr59
-; GFX9-NEXT: ; implicit-def: $vgpr58
-; GFX9-NEXT: ; implicit-def: $vgpr57
-; GFX9-NEXT: ; implicit-def: $vgpr56
-; GFX9-NEXT: ; implicit-def: $vgpr46
-; GFX9-NEXT: ; implicit-def: $vgpr45
-; GFX9-NEXT: ; implicit-def: $vgpr43
; GFX9-NEXT: ; implicit-def: $vgpr39
-; GFX9-NEXT: ; implicit-def: $vgpr53
-; GFX9-NEXT: ; implicit-def: $vgpr51
+; GFX9-NEXT: ; implicit-def: $vgpr44
+; GFX9-NEXT: ; implicit-def: $vgpr43
+; GFX9-NEXT: ; implicit-def: $vgpr41
+; GFX9-NEXT: ; implicit-def: $vgpr52
; GFX9-NEXT: ; implicit-def: $vgpr50
-; GFX9-NEXT: ; implicit-def: $vgpr49
-; GFX9-NEXT: ; kill: killed $vgpr34
+; GFX9-NEXT: ; implicit-def: $vgpr51
; GFX9-NEXT: ; implicit-def: $vgpr38
-; GFX9-NEXT: ; implicit-def: $vgpr48
; GFX9-NEXT: ; implicit-def: $vgpr37
+; GFX9-NEXT: ; implicit-def: $vgpr36
; GFX9-NEXT: ; implicit-def: $vgpr35
+; GFX9-NEXT: ; implicit-def: $vgpr53
; GFX9-NEXT: ; implicit-def: $vgpr34
+; GFX9-NEXT: ; implicit-def: $vgpr63
+; GFX9-NEXT: ; implicit-def: $vgpr49
+; GFX9-NEXT: ; implicit-def: $vgpr60
+; GFX9-NEXT: ; implicit-def: $vgpr48
+; GFX9-NEXT: ; implicit-def: $vgpr59
+; GFX9-NEXT: ; implicit-def: $vgpr58
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr57
; GFX9-NEXT: ; implicit-def: $vgpr47
-; GFX9-NEXT: ; implicit-def: $vgpr36
-; GFX9-NEXT: ; implicit-def: $vgpr44
-; GFX9-NEXT: ; implicit-def: $vgpr42
+; GFX9-NEXT: ; implicit-def: $vgpr45
+; GFX9-NEXT: ; implicit-def: $vgpr46
; GFX9-NEXT: ; implicit-def: $vgpr55
+; GFX9-NEXT: ; implicit-def: $vgpr61
; GFX9-NEXT: ; implicit-def: $vgpr54
-; GFX9-NEXT: ; implicit-def: $vgpr52
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr62
+; GFX9-NEXT: ; kill: killed $vgpr40
+; GFX9-NEXT: ; implicit-def: $vgpr42
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
-; GFX9-NEXT: s_waitcnt vmcnt(33)
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
+; GFX9-NEXT: s_waitcnt vmcnt(29)
; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v33
; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: ; kill: killed $vgpr33
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: ; kill: killed $vgpr33
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: ; kill: killed $vgpr33
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: ; kill: killed $vgpr33
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: ; kill: killed $vgpr33
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: ; kill: killed $vgpr33
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: ; kill: killed $vgpr33
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: ; kill: killed $vgpr33
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: ; kill: killed $vgpr33
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: ; kill: killed $vgpr33
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: ; kill: killed $vgpr33
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: ; kill: killed $vgpr33
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: ; kill: killed $vgpr33
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: ; kill: killed $vgpr33
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: ; kill: killed $vgpr33
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: ; kill: killed $vgpr33
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: ; kill: killed $vgpr33
+; GFX9-NEXT: ; implicit-def: $vgpr33
; GFX9-NEXT: s_and_saveexec_b64 s[4:5], vcc
; GFX9-NEXT: s_xor_b64 s[4:5], exec, s[4:5]
; GFX9-NEXT: s_cbranch_execz .LBB94_2
; GFX9-NEXT: ; %bb.1: ; %cmp.false
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v16
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v16
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v16
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v15
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:388 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v15
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:384 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v14
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v14
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v14
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:392 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v13
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:400 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v13
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:396 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v12
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v12
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v12
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:404 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v10
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v10
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v8
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[39:40], 24, v[15:16]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v8
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v6
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v6
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[39:40], 24, v[13:14]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v4
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v4
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v2
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[39:40], 24, v[11:12]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v2
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v32
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v32
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[39:40], 24, v[9:10]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v32
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
-; GFX9-NEXT: s_waitcnt vmcnt(58)
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
+; GFX9-NEXT: s_waitcnt vmcnt(54)
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v31
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v31
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[39:40], 24, v[7:8]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v30
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v30
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v30
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[39:40], 24, v[5:6]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v29
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v29
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v28
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[39:40], 24, v[3:4]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v28
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v28
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v27
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[39:40], 24, v[31:32]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v27
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v26
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v26
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[39:40], 24, v[29:30]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v26
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v25
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v25
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[39:40], 24, v[27:28]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v24
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v24
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v24
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[39:40], 24, v[25:26]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v23
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v23
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v22
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[39:40], 24, v[23:24]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v22
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v22
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[15:16]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[13:14]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[11:12]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[9:10]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[7:8]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[5:6]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[3:4]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[1:2]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[31:32]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[29:30]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[27:28]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[25:26]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[23:24]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[21:22]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[19:20]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v21
+; GFX9-NEXT: v_lshrrev_b64 v[39:40], 24, v[21:22]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v21
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v20
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[17:18]
-; GFX9-NEXT: v_lshrrev_b32_e32 v40, 16, v1
-; GFX9-NEXT: v_lshrrev_b32_e32 v41, 24, v18
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v20
+; GFX9-NEXT: v_lshrrev_b64 v[39:40], 24, v[19:20]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v20
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:384 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v19
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v11
-; GFX9-NEXT: v_lshrrev_b32_e32 v50, 8, v11
-; GFX9-NEXT: v_lshrrev_b32_e32 v51, 8, v10
-; GFX9-NEXT: v_lshrrev_b32_e32 v53, 16, v9
-; GFX9-NEXT: v_lshrrev_b32_e32 v39, 8, v9
-; GFX9-NEXT: v_lshrrev_b32_e32 v43, 8, v8
-; GFX9-NEXT: v_lshrrev_b32_e32 v45, 16, v7
-; GFX9-NEXT: v_lshrrev_b32_e32 v46, 8, v7
-; GFX9-NEXT: v_lshrrev_b32_e32 v56, 8, v6
-; GFX9-NEXT: v_lshrrev_b32_e32 v57, 16, v5
-; GFX9-NEXT: v_lshrrev_b32_e32 v58, 8, v5
-; GFX9-NEXT: v_lshrrev_b32_e32 v59, 8, v4
-; GFX9-NEXT: v_lshrrev_b32_e32 v60, 16, v3
-; GFX9-NEXT: v_lshrrev_b32_e32 v61, 8, v3
-; GFX9-NEXT: v_lshrrev_b32_e32 v62, 8, v2
-; GFX9-NEXT: v_lshrrev_b32_e32 v63, 8, v1
-; GFX9-NEXT: v_lshrrev_b32_e32 v52, 16, v21
-; GFX9-NEXT: v_lshrrev_b32_e32 v54, 8, v21
-; GFX9-NEXT: v_lshrrev_b32_e32 v55, 24, v20
-; GFX9-NEXT: v_lshrrev_b32_e32 v42, 16, v20
-; GFX9-NEXT: v_lshrrev_b32_e32 v44, 8, v20
-; GFX9-NEXT: v_lshrrev_b32_e32 v36, 16, v19
-; GFX9-NEXT: v_lshrrev_b32_e32 v47, 8, v19
-; GFX9-NEXT: v_lshrrev_b32_e32 v35, 16, v18
-; GFX9-NEXT: v_lshrrev_b32_e32 v37, 8, v18
-; GFX9-NEXT: v_lshrrev_b32_e32 v48, 16, v17
-; GFX9-NEXT: v_lshrrev_b32_e32 v38, 8, v17
-; GFX9-NEXT: v_mov_b32_e32 v34, v41
-; GFX9-NEXT: v_mov_b32_e32 v33, v40
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:388 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v18
+; GFX9-NEXT: v_lshrrev_b64 v[42:43], 24, v[1:2]
+; GFX9-NEXT: v_lshrrev_b64 v[40:41], 24, v[17:18]
+; GFX9-NEXT: v_lshrrev_b32_e32 v46, 16, v15
+; GFX9-NEXT: v_lshrrev_b32_e32 v45, 8, v15
+; GFX9-NEXT: v_lshrrev_b32_e32 v47, 8, v14
+; GFX9-NEXT: v_lshrrev_b32_e32 v57, 16, v13
+; GFX9-NEXT: v_lshrrev_b32_e32 v56, 8, v13
+; GFX9-NEXT: v_lshrrev_b32_e32 v58, 8, v12
+; GFX9-NEXT: v_lshrrev_b32_e32 v59, 16, v11
+; GFX9-NEXT: v_lshrrev_b32_e32 v48, 8, v11
+; GFX9-NEXT: v_lshrrev_b32_e32 v60, 8, v10
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v9
+; GFX9-NEXT: v_lshrrev_b32_e32 v63, 8, v9
+; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v8
+; GFX9-NEXT: v_lshrrev_b32_e32 v53, 16, v7
+; GFX9-NEXT: v_lshrrev_b32_e32 v35, 8, v7
+; GFX9-NEXT: v_lshrrev_b32_e32 v36, 8, v6
+; GFX9-NEXT: v_lshrrev_b32_e32 v37, 16, v5
+; GFX9-NEXT: v_lshrrev_b32_e32 v38, 8, v5
+; GFX9-NEXT: v_lshrrev_b32_e32 v51, 8, v4
+; GFX9-NEXT: v_lshrrev_b32_e32 v50, 16, v3
+; GFX9-NEXT: v_lshrrev_b32_e32 v52, 8, v3
+; GFX9-NEXT: v_lshrrev_b32_e32 v44, 8, v1
+; GFX9-NEXT: v_lshrrev_b32_e32 v62, 16, v19
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:392 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v18
+; GFX9-NEXT: v_lshrrev_b32_e32 v54, 8, v18
+; GFX9-NEXT: v_lshrrev_b32_e32 v61, 16, v17
+; GFX9-NEXT: v_lshrrev_b32_e32 v55, 8, v17
+; GFX9-NEXT: v_lshrrev_b32_e32 v43, 16, v1
+; GFX9-NEXT: v_lshrrev_b32_e32 v41, 8, v2
; GFX9-NEXT: .LBB94_2: ; %Flow
; GFX9-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]
; GFX9-NEXT: s_cbranch_execz .LBB94_4
@@ -181115,493 +181140,485 @@ define <128 x i8> @bitcast_v64f16_to_v128i8(<64 x half> %a, i32 %b) #0 {
; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[15:16]
; GFX9-NEXT: v_pk_add_f16 v14, v14, s6 op_sel_hi:[1,0]
; GFX9-NEXT: v_pk_add_f16 v13, v13, s6 op_sel_hi:[1,0]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[13:14]
; GFX9-NEXT: v_pk_add_f16 v12, v12, s6 op_sel_hi:[1,0]
; GFX9-NEXT: v_pk_add_f16 v11, v11, s6 op_sel_hi:[1,0]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[11:12]
; GFX9-NEXT: v_pk_add_f16 v10, v10, s6 op_sel_hi:[1,0]
; GFX9-NEXT: v_pk_add_f16 v9, v9, s6 op_sel_hi:[1,0]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[9:10]
; GFX9-NEXT: v_pk_add_f16 v8, v8, s6 op_sel_hi:[1,0]
; GFX9-NEXT: v_pk_add_f16 v7, v7, s6 op_sel_hi:[1,0]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[7:8]
; GFX9-NEXT: v_pk_add_f16 v6, v6, s6 op_sel_hi:[1,0]
; GFX9-NEXT: v_pk_add_f16 v5, v5, s6 op_sel_hi:[1,0]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[5:6]
; GFX9-NEXT: v_pk_add_f16 v4, v4, s6 op_sel_hi:[1,0]
; GFX9-NEXT: v_pk_add_f16 v3, v3, s6 op_sel_hi:[1,0]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[3:4]
-; GFX9-NEXT: v_pk_add_f16 v2, v2, s6 op_sel_hi:[1,0]
-; GFX9-NEXT: v_pk_add_f16 v1, v1, s6 op_sel_hi:[1,0]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[1:2]
; GFX9-NEXT: v_pk_add_f16 v32, v32, s6 op_sel_hi:[1,0]
-; GFX9-NEXT: s_waitcnt vmcnt(46)
+; GFX9-NEXT: s_waitcnt vmcnt(40)
; GFX9-NEXT: v_pk_add_f16 v31, v31, s6 op_sel_hi:[1,0]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[31:32]
; GFX9-NEXT: v_pk_add_f16 v30, v30, s6 op_sel_hi:[1,0]
; GFX9-NEXT: v_pk_add_f16 v29, v29, s6 op_sel_hi:[1,0]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[29:30]
; GFX9-NEXT: v_pk_add_f16 v28, v28, s6 op_sel_hi:[1,0]
; GFX9-NEXT: v_pk_add_f16 v27, v27, s6 op_sel_hi:[1,0]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[27:28]
; GFX9-NEXT: v_pk_add_f16 v26, v26, s6 op_sel_hi:[1,0]
; GFX9-NEXT: v_pk_add_f16 v25, v25, s6 op_sel_hi:[1,0]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[25:26]
; GFX9-NEXT: v_pk_add_f16 v24, v24, s6 op_sel_hi:[1,0]
; GFX9-NEXT: v_pk_add_f16 v23, v23, s6 op_sel_hi:[1,0]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[23:24]
; GFX9-NEXT: v_pk_add_f16 v22, v22, s6 op_sel_hi:[1,0]
; GFX9-NEXT: v_pk_add_f16 v21, v21, s6 op_sel_hi:[1,0]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[21:22]
; GFX9-NEXT: v_pk_add_f16 v20, v20, s6 op_sel_hi:[1,0]
; GFX9-NEXT: v_pk_add_f16 v19, v19, s6 op_sel_hi:[1,0]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[19:20]
-; GFX9-NEXT: v_pk_add_f16 v18, v18, s6 op_sel_hi:[1,0]
-; GFX9-NEXT: v_pk_add_f16 v17, v17, s6 op_sel_hi:[1,0]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[17:18]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v32
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v32
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v32
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v31
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v31
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v16
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v30
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v16
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v30
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v16
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v30
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v15
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v29
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:388 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v15
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v29
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:384 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v14
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v28
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v14
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v28
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v14
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v28
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:392 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v13
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v27
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:400 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v13
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v27
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:396 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v12
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v26
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v12
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v26
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v12
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v26
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:404 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v10
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v25
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v10
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v25
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v8
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v24
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v8
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v24
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v6
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v24
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v6
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v23
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v4
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v23
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
+; GFX9-NEXT: v_pk_add_f16 v2, v2, s6 op_sel_hi:[1,0]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v4
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v22
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v2
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v22
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v2
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v22
-; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v11
-; GFX9-NEXT: v_lshrrev_b32_e32 v50, 8, v11
-; GFX9-NEXT: v_lshrrev_b32_e32 v51, 8, v10
-; GFX9-NEXT: v_lshrrev_b32_e32 v53, 16, v9
-; GFX9-NEXT: v_lshrrev_b32_e32 v39, 8, v9
-; GFX9-NEXT: v_lshrrev_b32_e32 v43, 8, v8
-; GFX9-NEXT: v_lshrrev_b32_e32 v45, 16, v7
-; GFX9-NEXT: v_lshrrev_b32_e32 v46, 8, v7
-; GFX9-NEXT: v_lshrrev_b32_e32 v56, 8, v6
-; GFX9-NEXT: v_lshrrev_b32_e32 v57, 16, v5
-; GFX9-NEXT: v_lshrrev_b32_e32 v58, 8, v5
-; GFX9-NEXT: v_lshrrev_b32_e32 v59, 8, v4
-; GFX9-NEXT: v_lshrrev_b32_e32 v60, 16, v3
-; GFX9-NEXT: v_lshrrev_b32_e32 v61, 8, v3
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v32
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v32
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v32
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v31
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v31
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v30
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v30
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v30
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v29
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v29
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v28
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v28
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v28
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v27
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v27
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v26
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v26
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v26
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v25
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v25
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v24
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v24
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v24
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v23
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v23
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v22
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v22
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v22
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v21
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v21
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v20
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v62, 8, v2
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v1
-; GFX9-NEXT: v_lshrrev_b32_e32 v63, 8, v1
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v52, 16, v21
-; GFX9-NEXT: v_lshrrev_b32_e32 v54, 8, v21
-; GFX9-NEXT: v_lshrrev_b32_e32 v55, 24, v20
-; GFX9-NEXT: v_lshrrev_b32_e32 v42, 16, v20
-; GFX9-NEXT: v_lshrrev_b32_e32 v44, 8, v20
-; GFX9-NEXT: v_lshrrev_b32_e32 v36, 16, v19
-; GFX9-NEXT: v_lshrrev_b32_e32 v47, 8, v19
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v18
-; GFX9-NEXT: v_lshrrev_b32_e32 v35, 16, v18
-; GFX9-NEXT: v_lshrrev_b32_e32 v37, 8, v18
-; GFX9-NEXT: v_lshrrev_b32_e32 v48, 16, v17
-; GFX9-NEXT: v_lshrrev_b32_e32 v38, 8, v17
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v20
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v20
+; GFX9-NEXT: v_pk_add_f16 v18, v18, s6 op_sel_hi:[1,0]
+; GFX9-NEXT: v_pk_add_f16 v17, v17, s6 op_sel_hi:[1,0]
+; GFX9-NEXT: v_pk_add_f16 v1, v1, s6 op_sel_hi:[1,0]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:384 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v19
+; GFX9-NEXT: v_lshrrev_b64 v[42:43], 24, v[1:2]
+; GFX9-NEXT: v_lshrrev_b64 v[40:41], 24, v[17:18]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:388 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v18
+; GFX9-NEXT: v_lshrrev_b32_e32 v46, 16, v15
+; GFX9-NEXT: v_lshrrev_b32_e32 v45, 8, v15
+; GFX9-NEXT: v_lshrrev_b32_e32 v47, 8, v14
+; GFX9-NEXT: v_lshrrev_b32_e32 v57, 16, v13
+; GFX9-NEXT: v_lshrrev_b32_e32 v56, 8, v13
+; GFX9-NEXT: v_lshrrev_b32_e32 v58, 8, v12
+; GFX9-NEXT: v_lshrrev_b32_e32 v59, 16, v11
+; GFX9-NEXT: v_lshrrev_b32_e32 v48, 8, v11
+; GFX9-NEXT: v_lshrrev_b32_e32 v60, 8, v10
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v9
+; GFX9-NEXT: v_lshrrev_b32_e32 v63, 8, v9
+; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v8
+; GFX9-NEXT: v_lshrrev_b32_e32 v53, 16, v7
+; GFX9-NEXT: v_lshrrev_b32_e32 v35, 8, v7
+; GFX9-NEXT: v_lshrrev_b32_e32 v36, 8, v6
+; GFX9-NEXT: v_lshrrev_b32_e32 v37, 16, v5
+; GFX9-NEXT: v_lshrrev_b32_e32 v38, 8, v5
+; GFX9-NEXT: v_lshrrev_b32_e32 v51, 8, v4
+; GFX9-NEXT: v_lshrrev_b32_e32 v50, 16, v3
+; GFX9-NEXT: v_lshrrev_b32_e32 v52, 8, v3
+; GFX9-NEXT: v_lshrrev_b32_e32 v41, 8, v2
+; GFX9-NEXT: v_lshrrev_b32_e32 v43, 16, v1
+; GFX9-NEXT: v_lshrrev_b32_e32 v44, 8, v1
+; GFX9-NEXT: v_lshrrev_b32_e32 v62, 16, v19
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:392 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v18
+; GFX9-NEXT: v_lshrrev_b32_e32 v54, 8, v18
+; GFX9-NEXT: v_lshrrev_b32_e32 v61, 16, v17
+; GFX9-NEXT: v_lshrrev_b32_e32 v55, 8, v17
; GFX9-NEXT: .LBB94_4: ; %end
; GFX9-NEXT: s_or_b64 exec, exec, s[4:5]
-; GFX9-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
; GFX9-NEXT: s_mov_b32 s4, 0xc0c0004
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v41, v2, v62, s4
-; GFX9-NEXT: v_perm_b32 v9, v9, v39, s4
-; GFX9-NEXT: v_perm_b32 v11, v11, v50, s4
-; GFX9-NEXT: v_perm_b32 v10, v10, v51, s4
-; GFX9-NEXT: v_perm_b32 v3, v3, v61, s4
-; GFX9-NEXT: v_perm_b32 v4, v4, v59, s4
-; GFX9-NEXT: v_perm_b32 v5, v5, v58, s4
-; GFX9-NEXT: v_perm_b32 v6, v6, v56, s4
-; GFX9-NEXT: v_perm_b32 v7, v7, v46, s4
-; GFX9-NEXT: v_perm_b32 v8, v8, v43, s4
-; GFX9-NEXT: v_perm_b32 v17, v17, v38, s4
-; GFX9-NEXT: v_perm_b32 v18, v18, v37, s4
-; GFX9-NEXT: v_perm_b32 v33, v33, v40, s4
-; GFX9-NEXT: v_perm_b32 v40, v1, v63, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_perm_b32 v60, v60, v1, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_perm_b32 v57, v57, v1, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_perm_b32 v45, v45, v1, s4
+; GFX9-NEXT: v_perm_b32 v42, v43, v42, s4
+; GFX9-NEXT: v_perm_b32 v43, v1, v44, s4
+; GFX9-NEXT: v_perm_b32 v41, v2, v41, s4
; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v6, v6, v36, s4
+; GFX9-NEXT: v_perm_b32 v8, v8, v34, s4
+; GFX9-NEXT: v_perm_b32 v7, v7, v35, s4
+; GFX9-NEXT: v_perm_b32 v5, v5, v38, s4
+; GFX9-NEXT: v_perm_b32 v11, v11, v48, s4
+; GFX9-NEXT: v_perm_b32 v3, v3, v52, s4
+; GFX9-NEXT: v_perm_b32 v4, v4, v51, s4
+; GFX9-NEXT: v_perm_b32 v9, v9, v63, s4
+; GFX9-NEXT: v_perm_b32 v10, v10, v60, s4
+; GFX9-NEXT: v_perm_b32 v12, v12, v58, s4
+; GFX9-NEXT: v_perm_b32 v13, v13, v56, s4
+; GFX9-NEXT: v_perm_b32 v14, v14, v47, s4
+; GFX9-NEXT: v_perm_b32 v15, v15, v45, s4
+; GFX9-NEXT: v_perm_b32 v17, v17, v55, s4
+; GFX9-NEXT: v_perm_b32 v18, v18, v54, s4
; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_perm_b32 v53, v53, v1, s4
+; GFX9-NEXT: v_perm_b32 v50, v50, v1, s4
; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_perm_b32 v39, v49, v1, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:404 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v12, v12, v1, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:400 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v37, v37, v1, s4
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_perm_b32 v49, v1, v49, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:396 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v13, v13, v1, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:392 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v14, v14, v1, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:388 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v36, v53, v1, s4
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_perm_b32 v50, v1, v50, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:384 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v15, v15, v1, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:380 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v34, v49, v1, s4
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v49, v61, v40, s4
+; GFX9-NEXT: s_waitcnt vmcnt(1)
+; GFX9-NEXT: v_perm_b32 v35, v59, v1, s4
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(1)
+; GFX9-NEXT: v_perm_b32 v38, v57, v1, s4
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(1)
+; GFX9-NEXT: v_perm_b32 v48, v46, v1, s4
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:364 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v16, v16, v1, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_perm_b32 v48, v48, v1, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_perm_b32 v36, v36, v1, s4
-; GFX9-NEXT: v_lshl_or_b32 v1, v33, 16, v40
+; GFX9-NEXT: v_perm_b32 v39, v62, v1, s4
+; GFX9-NEXT: v_lshl_or_b32 v1, v42, 16, v43
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:372 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:356 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:376 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:360 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v41
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:4
-; GFX9-NEXT: v_lshl_or_b32 v1, v60, 16, v3
+; GFX9-NEXT: v_lshl_or_b32 v1, v50, 16, v3
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:8
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:364 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:348 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:368 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:352 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v4
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:12
-; GFX9-NEXT: v_lshl_or_b32 v1, v57, 16, v5
+; GFX9-NEXT: v_lshl_or_b32 v1, v37, 16, v5
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:16
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:352 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:336 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:360 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:344 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v6
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:20
-; GFX9-NEXT: v_lshl_or_b32 v1, v45, 16, v7
+; GFX9-NEXT: v_lshl_or_b32 v1, v36, 16, v7
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:24
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:332 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:316 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:336 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:320 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v8
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:28
-; GFX9-NEXT: v_lshl_or_b32 v1, v53, 16, v9
+; GFX9-NEXT: v_lshl_or_b32 v1, v34, 16, v9
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:32
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:308 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:316 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v10
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:36
-; GFX9-NEXT: v_lshl_or_b32 v1, v39, 16, v11
+; GFX9-NEXT: v_lshl_or_b32 v1, v35, 16, v11
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:40
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:272 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:276 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v12
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:44
-; GFX9-NEXT: v_lshl_or_b32 v1, v49, 16, v13
+; GFX9-NEXT: v_lshl_or_b32 v1, v38, 16, v13
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:48
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:272 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v14
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:52
-; GFX9-NEXT: v_lshl_or_b32 v1, v50, 16, v15
+; GFX9-NEXT: v_lshl_or_b32 v1, v48, 16, v15
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:56
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v16
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:60
-; GFX9-NEXT: v_lshl_or_b32 v1, v48, 16, v17
+; GFX9-NEXT: v_lshl_or_b32 v1, v49, 16, v17
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:64
-; GFX9-NEXT: v_perm_b32 v1, v35, v34, s4
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:392 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_perm_b32 v1, v33, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v18
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:68
-; GFX9-NEXT: v_perm_b32 v1, v19, v47, s4
-; GFX9-NEXT: v_lshl_or_b32 v1, v36, 16, v1
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:388 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_perm_b32 v1, v19, v1, s4
+; GFX9-NEXT: v_lshl_or_b32 v1, v39, 16, v1
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:72
-; GFX9-NEXT: v_perm_b32 v1, v20, v44, s4
-; GFX9-NEXT: v_perm_b32 v2, v42, v55, s4
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:384 ; 4-byte Folded Reload
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:376 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:380 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(2)
+; GFX9-NEXT: v_perm_b32 v1, v20, v1, s4
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_perm_b32 v2, v3, v2, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v2, 16, v1
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:76
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
-; GFX9-NEXT: v_perm_b32 v1, v21, v54, s4
-; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_perm_b32 v2, v52, v2, s4
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:368 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_perm_b32 v2, v3, v2, s4
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:372 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_perm_b32 v1, v21, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v2, 16, v1
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:80
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:356 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:340 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v3, v22, v1, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:344 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:348 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:328 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:332 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v3
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:84
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:340 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:324 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v2, v23, v1, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:328 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:312 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_perm_b32 v1, v1, v3, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v2
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:88
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:324 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:308 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v3, v24, v1, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:312 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:320 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:300 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:304 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v3
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:92
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:304 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v2, v25, v1, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:300 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_perm_b32 v1, v1, v3, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v2
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:96
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:280 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v3, v26, v1, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:280 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:268 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v3
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:100
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:276 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v2, v27, v1, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:268 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_perm_b32 v1, v1, v3, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v2
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:104
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v3, v28, v1, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v3
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:108
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v2, v29, v1, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_perm_b32 v1, v1, v3, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v2
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:112
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v3, v30, v1, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v3
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:116
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v2, v31, v1, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_perm_b32 v1, v1, v3, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v2
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:120
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v3, v32, v1, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v3
@@ -181632,69 +181649,69 @@ define <128 x i8> @bitcast_v64f16_to_v128i8(<64 x half> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: scratch_load_b32 v33, off, s32 offset:8
; GFX11-TRUE16-NEXT: scratch_load_b32 v32, off, s32 offset:4
; GFX11-TRUE16-NEXT: scratch_load_b32 v31, off, s32
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr165_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr69_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr164_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr163_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr67_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr162_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr161_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr160_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr66_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr151_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr68_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr150_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr149_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr65_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr148_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr147_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr146_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr67_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr64_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr145_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr144_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr132_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr131_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr66_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr54_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr130_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr129_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr128_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr118_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr53_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr116_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr114_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr118_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr115_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr112_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr52_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr49_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr102_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr99_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr97_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr101_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr100_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr48_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr98_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr87_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr86_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr85_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr38_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr81_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr71_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr37_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr64_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr163_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr162_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr161_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr54_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr149_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr147_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr145_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr50_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr39_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr51_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr135_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr134_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr133_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr49_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr129_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr50_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr131_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr119_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr117_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr36_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr115_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr38_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr116_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr114_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr113_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr37_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr103_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr35_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr101_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr100_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr98_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr34_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr99_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr97_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr36_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr96_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr86_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr85_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr35_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr84_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr83_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr82_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr34_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr81_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr80_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr71_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr70_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr69_lo16
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(2)
; GFX11-TRUE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v33
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr33_lo16
@@ -181705,69 +181722,69 @@ define <128 x i8> @bitcast_v64f16_to_v128i8(<64 x half> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: ; %bb.1: ; %cmp.false
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0)
; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[33:34], 24, v[31:32]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[66:67], 24, v[7:8]
; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[34:35], 24, v[29:30]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[48:49], 24, v[13:14]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[52:53], 24, v[11:12]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[67:68], 24, v[5:6]
; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[35:36], 24, v[27:28]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[53:54], 24, v[9:10]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[68:69], 24, v[3:4]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[48:49], 24, v[15:16]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[64:65], 24, v[7:8]
; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[36:37], 24, v[25:26]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[49:50], 24, v[23:24]
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v71, 24, v16
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v81, 8, v16
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v85, 8, v15
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v86, 24, v14
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v87, 8, v14
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v97, 8, v13
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v99, 24, v12
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v102, 8, v12
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v112, 8, v11
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v114, 24, v10
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v116, 8, v10
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v118, 8, v9
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v128, 24, v8
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v130, 8, v8
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v131, 8, v7
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v132, 24, v6
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v144, 8, v6
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v146, 8, v5
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v148, 24, v4
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v150, 8, v4
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v151, 8, v3
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v160, 24, v2
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v164, 8, v2
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v165, 8, v1
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v80, 24, v32
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v82, 8, v32
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v83, 8, v31
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v84, 24, v30
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v96, 8, v30
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v98, 8, v29
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v100, 24, v28
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v101, 8, v28
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v103, 8, v27
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v113, 24, v26
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v115, 8, v26
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v117, 8, v25
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v119, 24, v24
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v129, 8, v24
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v133, 8, v23
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v134, 24, v22
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v135, 8, v22
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v145, 8, v21
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v147, 24, v20
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v149, 8, v20
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v161, 8, v19
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v162, 24, v18
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v163, 8, v18
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[38:39], 24, v[15:16]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[69:70], 24, v[1:2]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[50:51], 24, v[21:22]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[54:55], 24, v[19:20]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[64:65], 24, v[17:18]
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v37, 8, v17
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[49:50], 24, v[13:14]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[65:66], 24, v[5:6]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[37:38], 24, v[23:24]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[53:54], 24, v[11:12]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[66:67], 24, v[3:4]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[38:39], 24, v[21:22]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[50:51], 24, v[19:20]
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v87, 24, v16
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v98, 8, v16
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v100, 8, v15
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v101, 24, v14
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v102, 8, v14
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v112, 8, v13
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v115, 24, v12
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v118, 8, v12
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v128, 8, v11
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v129, 24, v10
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v130, 8, v10
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v132, 8, v9
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v144, 24, v8
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v145, 8, v8
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v146, 8, v7
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v147, 24, v6
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v148, 8, v6
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v149, 8, v5
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v150, 24, v4
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v151, 8, v4
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v160, 8, v3
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v161, 24, v2
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v162, 8, v2
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v163, 8, v1
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v69, 24, v32
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v70, 8, v32
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v71, 8, v31
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v80, 24, v30
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v81, 8, v30
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v82, 8, v29
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v83, 24, v28
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v84, 8, v28
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v85, 8, v27
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v86, 24, v26
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v96, 8, v26
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v97, 8, v25
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v99, 24, v24
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v103, 8, v24
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v113, 8, v23
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v114, 24, v22
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v116, 8, v22
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v117, 8, v21
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v119, 24, v20
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v131, 8, v20
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v133, 8, v19
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v134, 24, v18
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v135, 8, v18
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[54:55], 24, v[9:10]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[67:68], 24, v[1:2]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[51:52], 24, v[17:18]
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v39, 8, v17
; GFX11-TRUE16-NEXT: .LBB94_2: ; %Flow
; GFX11-TRUE16-NEXT: s_and_not1_saveexec_b32 s0, s0
; GFX11-TRUE16-NEXT: s_cbranch_execz .LBB94_4
@@ -181776,161 +181793,161 @@ define <128 x i8> @bitcast_v64f16_to_v128i8(<64 x half> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_pk_add_f16 v32, 0x200, v32 op_sel_hi:[0,1]
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0)
; GFX11-TRUE16-NEXT: v_pk_add_f16 v31, 0x200, v31 op_sel_hi:[0,1]
-; GFX11-TRUE16-NEXT: v_pk_add_f16 v8, 0x200, v8 op_sel_hi:[0,1]
-; GFX11-TRUE16-NEXT: v_pk_add_f16 v7, 0x200, v7 op_sel_hi:[0,1]
; GFX11-TRUE16-NEXT: v_pk_add_f16 v30, 0x200, v30 op_sel_hi:[0,1]
; GFX11-TRUE16-NEXT: v_pk_add_f16 v29, 0x200, v29 op_sel_hi:[0,1]
+; GFX11-TRUE16-NEXT: v_pk_add_f16 v28, 0x200, v28 op_sel_hi:[0,1]
+; GFX11-TRUE16-NEXT: v_pk_add_f16 v27, 0x200, v27 op_sel_hi:[0,1]
+; GFX11-TRUE16-NEXT: v_pk_add_f16 v8, 0x200, v8 op_sel_hi:[0,1]
+; GFX11-TRUE16-NEXT: v_pk_add_f16 v16, 0x200, v16 op_sel_hi:[0,1]
+; GFX11-TRUE16-NEXT: v_pk_add_f16 v15, 0x200, v15 op_sel_hi:[0,1]
+; GFX11-TRUE16-NEXT: v_pk_add_f16 v7, 0x200, v7 op_sel_hi:[0,1]
+; GFX11-TRUE16-NEXT: v_pk_add_f16 v26, 0x200, v26 op_sel_hi:[0,1]
+; GFX11-TRUE16-NEXT: v_pk_add_f16 v25, 0x200, v25 op_sel_hi:[0,1]
; GFX11-TRUE16-NEXT: v_pk_add_f16 v6, 0x200, v6 op_sel_hi:[0,1]
; GFX11-TRUE16-NEXT: v_pk_add_f16 v5, 0x200, v5 op_sel_hi:[0,1]
-; GFX11-TRUE16-NEXT: v_pk_add_f16 v12, 0x200, v12 op_sel_hi:[0,1]
; GFX11-TRUE16-NEXT: v_pk_add_f16 v14, 0x200, v14 op_sel_hi:[0,1]
; GFX11-TRUE16-NEXT: v_pk_add_f16 v13, 0x200, v13 op_sel_hi:[0,1]
-; GFX11-TRUE16-NEXT: v_pk_add_f16 v11, 0x200, v11 op_sel_hi:[0,1]
+; GFX11-TRUE16-NEXT: v_pk_add_f16 v20, 0x200, v20 op_sel_hi:[0,1]
+; GFX11-TRUE16-NEXT: v_pk_add_f16 v19, 0x200, v19 op_sel_hi:[0,1]
; GFX11-TRUE16-NEXT: v_pk_add_f16 v24, 0x200, v24 op_sel_hi:[0,1]
; GFX11-TRUE16-NEXT: v_pk_add_f16 v23, 0x200, v23 op_sel_hi:[0,1]
-; GFX11-TRUE16-NEXT: v_pk_add_f16 v28, 0x200, v28 op_sel_hi:[0,1]
-; GFX11-TRUE16-NEXT: v_pk_add_f16 v27, 0x200, v27 op_sel_hi:[0,1]
; GFX11-TRUE16-NEXT: v_pk_add_f16 v4, 0x200, v4 op_sel_hi:[0,1]
; GFX11-TRUE16-NEXT: v_pk_add_f16 v3, 0x200, v3 op_sel_hi:[0,1]
-; GFX11-TRUE16-NEXT: v_pk_add_f16 v10, 0x200, v10 op_sel_hi:[0,1]
-; GFX11-TRUE16-NEXT: v_pk_add_f16 v9, 0x200, v9 op_sel_hi:[0,1]
+; GFX11-TRUE16-NEXT: v_pk_add_f16 v12, 0x200, v12 op_sel_hi:[0,1]
+; GFX11-TRUE16-NEXT: v_pk_add_f16 v11, 0x200, v11 op_sel_hi:[0,1]
; GFX11-TRUE16-NEXT: v_pk_add_f16 v18, 0x200, v18 op_sel_hi:[0,1]
; GFX11-TRUE16-NEXT: v_pk_add_f16 v17, 0x200, v17 op_sel_hi:[0,1]
-; GFX11-TRUE16-NEXT: v_pk_add_f16 v20, 0x200, v20 op_sel_hi:[0,1]
-; GFX11-TRUE16-NEXT: v_pk_add_f16 v19, 0x200, v19 op_sel_hi:[0,1]
; GFX11-TRUE16-NEXT: v_pk_add_f16 v22, 0x200, v22 op_sel_hi:[0,1]
; GFX11-TRUE16-NEXT: v_pk_add_f16 v21, 0x200, v21 op_sel_hi:[0,1]
-; GFX11-TRUE16-NEXT: v_pk_add_f16 v26, 0x200, v26 op_sel_hi:[0,1]
-; GFX11-TRUE16-NEXT: v_pk_add_f16 v25, 0x200, v25 op_sel_hi:[0,1]
; GFX11-TRUE16-NEXT: v_pk_add_f16 v2, 0x200, v2 op_sel_hi:[0,1]
; GFX11-TRUE16-NEXT: v_pk_add_f16 v1, 0x200, v1 op_sel_hi:[0,1]
-; GFX11-TRUE16-NEXT: v_pk_add_f16 v16, 0x200, v16 op_sel_hi:[0,1]
-; GFX11-TRUE16-NEXT: v_pk_add_f16 v15, 0x200, v15 op_sel_hi:[0,1]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[66:67], 24, v[7:8]
+; GFX11-TRUE16-NEXT: v_pk_add_f16 v10, 0x200, v10 op_sel_hi:[0,1]
+; GFX11-TRUE16-NEXT: v_pk_add_f16 v9, 0x200, v9 op_sel_hi:[0,1]
; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[33:34], 24, v[31:32]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[48:49], 24, v[13:14]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[52:53], 24, v[11:12]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[67:68], 24, v[5:6]
; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[34:35], 24, v[29:30]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[53:54], 24, v[9:10]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[68:69], 24, v[3:4]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[48:49], 24, v[15:16]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[64:65], 24, v[7:8]
; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[35:36], 24, v[27:28]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[49:50], 24, v[23:24]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[38:39], 24, v[15:16]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[69:70], 24, v[1:2]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[49:50], 24, v[13:14]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[65:66], 24, v[5:6]
; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[36:37], 24, v[25:26]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[50:51], 24, v[21:22]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[54:55], 24, v[19:20]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[64:65], 24, v[17:18]
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v71, 24, v16
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v81, 8, v16
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v85, 8, v15
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v86, 24, v14
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v87, 8, v14
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v97, 8, v13
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v99, 24, v12
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v102, 8, v12
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v112, 8, v11
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v114, 24, v10
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v116, 8, v10
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v118, 8, v9
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v128, 24, v8
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v130, 8, v8
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v131, 8, v7
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v132, 24, v6
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v144, 8, v6
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v146, 8, v5
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v148, 24, v4
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v150, 8, v4
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v151, 8, v3
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v160, 24, v2
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v164, 8, v2
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v165, 8, v1
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v80, 24, v32
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v82, 8, v32
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v83, 8, v31
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v84, 24, v30
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v96, 8, v30
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v98, 8, v29
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v100, 24, v28
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v101, 8, v28
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v103, 8, v27
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v113, 24, v26
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v115, 8, v26
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v117, 8, v25
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v119, 24, v24
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v129, 8, v24
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v133, 8, v23
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v134, 24, v22
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v135, 8, v22
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v145, 8, v21
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v147, 24, v20
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v149, 8, v20
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v161, 8, v19
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v162, 24, v18
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v163, 8, v18
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v37, 8, v17
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[53:54], 24, v[11:12]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[66:67], 24, v[3:4]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[37:38], 24, v[23:24]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[50:51], 24, v[19:20]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[54:55], 24, v[9:10]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[67:68], 24, v[1:2]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[38:39], 24, v[21:22]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[51:52], 24, v[17:18]
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v87, 24, v16
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v98, 8, v16
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v100, 8, v15
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v101, 24, v14
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v102, 8, v14
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v112, 8, v13
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v115, 24, v12
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v118, 8, v12
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v128, 8, v11
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v129, 24, v10
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v130, 8, v10
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v132, 8, v9
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v144, 24, v8
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v145, 8, v8
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v146, 8, v7
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v147, 24, v6
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v148, 8, v6
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v149, 8, v5
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v150, 24, v4
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v151, 8, v4
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v160, 8, v3
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v161, 24, v2
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v162, 8, v2
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v163, 8, v1
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v69, 24, v32
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v70, 8, v32
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v71, 8, v31
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v80, 24, v30
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v81, 8, v30
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v82, 8, v29
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v83, 24, v28
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v84, 8, v28
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v85, 8, v27
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v86, 24, v26
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v96, 8, v26
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v97, 8, v25
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v99, 24, v24
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v103, 8, v24
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v113, 8, v23
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v114, 24, v22
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v116, 8, v22
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v117, 8, v21
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v119, 24, v20
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v131, 8, v20
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v133, 8, v19
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v134, 24, v18
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v135, 8, v18
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v39, 8, v17
; GFX11-TRUE16-NEXT: .LBB94_4: ; %end
; GFX11-TRUE16-NEXT: s_or_b32 exec_lo, exec_lo, s0
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v39.l, v1.h
-; GFX11-TRUE16-NEXT: v_perm_b32 v1, v1, v165, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v51.l, v2.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v55.l, v3.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v65.l, v4.h
-; GFX11-TRUE16-NEXT: v_perm_b32 v39, v39, v69, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v2, v2, v164, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v51, v51, v160, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v3, v3, v151, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v55, v55, v68, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_lshl_or_b32 v1, v39, 16, v1
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v39.l, v5.h
-; GFX11-TRUE16-NEXT: v_perm_b32 v4, v4, v150, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v65, v65, v148, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_lshl_or_b32 v2, v51, 16, v2
-; GFX11-TRUE16-NEXT: v_lshl_or_b32 v3, v55, 16, v3
-; GFX11-TRUE16-NEXT: v_perm_b32 v5, v5, v146, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v51.l, v6.h
-; GFX11-TRUE16-NEXT: v_perm_b32 v39, v39, v67, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v55.l, v7.h
-; GFX11-TRUE16-NEXT: v_lshl_or_b32 v4, v65, 16, v4
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v65.l, v8.h
-; GFX11-TRUE16-NEXT: v_perm_b32 v6, v6, v144, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v51, v51, v132, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v7, v7, v131, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v55, v55, v66, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_lshl_or_b32 v5, v39, 16, v5
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v39.l, v9.h
-; GFX11-TRUE16-NEXT: v_perm_b32 v8, v8, v130, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v65, v65, v128, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_lshl_or_b32 v6, v51, 16, v6
-; GFX11-TRUE16-NEXT: v_lshl_or_b32 v7, v55, 16, v7
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v51.l, v10.h
-; GFX11-TRUE16-NEXT: v_perm_b32 v9, v9, v118, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v55.l, v11.h
-; GFX11-TRUE16-NEXT: v_perm_b32 v39, v39, v53, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v52.l, v1.h
+; GFX11-TRUE16-NEXT: v_perm_b32 v1, v1, v163, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v55.l, v2.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v68.l, v3.h
+; GFX11-TRUE16-NEXT: v_perm_b32 v2, v2, v162, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v52, v52, v67, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v3, v3, v160, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v55, v55, v161, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v66, v68, v66, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v67.l, v4.h
+; GFX11-TRUE16-NEXT: v_lshl_or_b32 v1, v52, 16, v1
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v52.l, v5.h
+; GFX11-TRUE16-NEXT: v_lshl_or_b32 v2, v55, 16, v2
+; GFX11-TRUE16-NEXT: v_perm_b32 v5, v5, v149, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v55.l, v6.h
+; GFX11-TRUE16-NEXT: v_lshl_or_b32 v3, v66, 16, v3
+; GFX11-TRUE16-NEXT: v_perm_b32 v52, v52, v65, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v65.l, v7.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v66.l, v8.h
+; GFX11-TRUE16-NEXT: v_perm_b32 v4, v4, v151, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v67, v67, v150, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v6, v6, v148, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v55, v55, v147, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v7, v7, v146, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v64, v65, v64, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_lshl_or_b32 v5, v52, 16, v5
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v52.l, v9.h
+; GFX11-TRUE16-NEXT: v_perm_b32 v8, v8, v145, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v65, v66, v144, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_lshl_or_b32 v4, v67, 16, v4
+; GFX11-TRUE16-NEXT: v_lshl_or_b32 v6, v55, 16, v6
+; GFX11-TRUE16-NEXT: v_lshl_or_b32 v7, v64, 16, v7
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v55.l, v10.h
+; GFX11-TRUE16-NEXT: v_perm_b32 v9, v9, v132, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v64.l, v11.h
+; GFX11-TRUE16-NEXT: v_perm_b32 v52, v52, v54, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v8, v65, 16, v8
-; GFX11-TRUE16-NEXT: v_perm_b32 v10, v10, v116, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v51, v51, v114, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v11, v11, v112, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v52, v55, v52, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v10, v10, v130, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v54, v55, v129, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v11, v11, v128, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v53, v64, v53, 0xc0c0004
; GFX11-TRUE16-NEXT: s_clause 0x1
; GFX11-TRUE16-NEXT: scratch_store_b128 v0, v[1:4], off
; GFX11-TRUE16-NEXT: scratch_store_b128 v0, v[5:8], off offset:16
-; GFX11-TRUE16-NEXT: v_lshl_or_b32 v1, v39, 16, v9
+; GFX11-TRUE16-NEXT: v_lshl_or_b32 v1, v52, 16, v9
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v4.l, v12.h
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v6.l, v13.h
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v7.l, v14.h
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v9.l, v15.h
-; GFX11-TRUE16-NEXT: v_lshl_or_b32 v2, v51, 16, v10
-; GFX11-TRUE16-NEXT: v_lshl_or_b32 v3, v52, 16, v11
-; GFX11-TRUE16-NEXT: v_perm_b32 v5, v12, v102, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v4, v4, v99, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v8, v13, v97, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v6, v6, v48, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v10, v14, v87, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v7, v7, v86, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v11, v15, v85, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v9, v9, v38, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_lshl_or_b32 v2, v54, 16, v10
+; GFX11-TRUE16-NEXT: v_lshl_or_b32 v3, v53, 16, v11
+; GFX11-TRUE16-NEXT: v_perm_b32 v5, v12, v118, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v4, v4, v115, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v8, v13, v112, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v6, v6, v49, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v10, v14, v102, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v7, v7, v101, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v11, v15, v100, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v9, v9, v48, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v4, v4, 16, v5
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v5, v6, 16, v8
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v8.l, v16.h
@@ -181939,14 +181956,14 @@ define <128 x i8> @bitcast_v64f16_to_v128i8(<64 x half> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v10.l, v17.h
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v11.l, v18.h
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v13.l, v19.h
-; GFX11-TRUE16-NEXT: v_perm_b32 v9, v16, v81, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v8, v8, v71, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v12, v17, v37, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v10, v10, v64, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v14, v18, v163, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v11, v11, v162, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v15, v19, v161, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v13, v13, v54, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v9, v16, v98, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v8, v8, v87, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v12, v17, v39, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v10, v10, v51, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v14, v18, v135, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v11, v11, v134, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v15, v19, v133, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v13, v13, v50, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v8, v8, 16, v9
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v9, v10, 16, v12
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v12.l, v20.h
@@ -181955,14 +181972,14 @@ define <128 x i8> @bitcast_v64f16_to_v128i8(<64 x half> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v14.l, v21.h
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v15.l, v22.h
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v17.l, v23.h
-; GFX11-TRUE16-NEXT: v_perm_b32 v13, v20, v149, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v12, v12, v147, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v16, v21, v145, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v14, v14, v50, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v18, v22, v135, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v15, v15, v134, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v19, v23, v133, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v17, v17, v49, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v13, v20, v131, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v12, v12, v119, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v16, v21, v117, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v14, v14, v38, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v18, v22, v116, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v15, v15, v114, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v19, v23, v113, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v17, v17, v37, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v12, v12, 16, v13
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v13, v14, 16, v16
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v16.l, v24.h
@@ -181971,13 +181988,13 @@ define <128 x i8> @bitcast_v64f16_to_v128i8(<64 x half> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v15, v17, 16, v19
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v19.l, v26.h
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v21.l, v27.h
-; GFX11-TRUE16-NEXT: v_perm_b32 v17, v24, v129, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v16, v16, v119, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v20, v25, v117, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v17, v24, v103, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v16, v16, v99, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v20, v25, v97, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v18, v18, v36, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v22, v26, v115, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v19, v19, v113, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v23, v27, v103, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v22, v26, v96, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v19, v19, v86, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v23, v27, v85, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v21, v21, v35, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v16, v16, 16, v17
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v17, v18, 16, v20
@@ -181989,16 +182006,16 @@ define <128 x i8> @bitcast_v64f16_to_v128i8(<64 x half> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0)
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v25.l, v31.h
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v27.l, v32.h
-; GFX11-TRUE16-NEXT: v_perm_b32 v22, v28, v101, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v20, v20, v100, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v23, v29, v98, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v22, v28, v84, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v20, v20, v83, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v23, v29, v82, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v21, v21, v34, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v26, v30, v96, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v24, v24, v84, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v28, v31, v83, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v26, v30, v81, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v24, v24, v80, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v28, v31, v71, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v25, v25, v33, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v29, v32, v82, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v27, v27, v80, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v29, v32, v70, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v27, v27, v69, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v20, v20, 16, v22
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v21, v21, 16, v23
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v22, v24, 16, v26
@@ -182016,69 +182033,71 @@ define <128 x i8> @bitcast_v64f16_to_v128i8(<64 x half> %a, i32 %b) #0 {
; GFX11-FAKE16-LABEL: bitcast_v64f16_to_v128i8:
; GFX11-FAKE16: ; %bb.0:
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX11-FAKE16-NEXT: s_clause 0x12 ; 76-byte Folded Spill
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v40, s32 offset:84
+; GFX11-FAKE16-NEXT: s_clause 0x13 ; 80-byte Folded Spill
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v40, s32 offset:88
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v41, s32 offset:80
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v41, s32 offset:84
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v42, s32 offset:76
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v42, s32 offset:80
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v43, s32 offset:72
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v43, s32 offset:76
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v44, s32 offset:68
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v44, s32 offset:72
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v45, s32 offset:64
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v45, s32 offset:68
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v46, s32 offset:60
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v46, s32 offset:64
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v47, s32 offset:56
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v47, s32 offset:60
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v56, s32 offset:52
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v56, s32 offset:56
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v57, s32 offset:48
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v57, s32 offset:52
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v58, s32 offset:44
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v58, s32 offset:48
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v59, s32 offset:40
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v59, s32 offset:44
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v60, s32 offset:36
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v60, s32 offset:40
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v61, s32 offset:32
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v61, s32 offset:36
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v62, s32 offset:28
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v62, s32 offset:32
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v63, s32 offset:24
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v63, s32 offset:28
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v72, s32 offset:20
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v72, s32 offset:24
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v73, s32 offset:16
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v73, s32 offset:20
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v74, s32 offset:12
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v74, s32 offset:16
+; GFX11-FAKE16-NEXT: ; meta instruction
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v75, s32 offset:12
; GFX11-FAKE16-NEXT: s_clause 0x2
; GFX11-FAKE16-NEXT: scratch_load_b32 v33, off, s32 offset:8
; GFX11-FAKE16-NEXT: scratch_load_b32 v32, off, s32 offset:4
; GFX11-FAKE16-NEXT: scratch_load_b32 v31, off, s32
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr177
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr176
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr64
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr166
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr163
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr162
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr161
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr64
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr151
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr149
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr147
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr145
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr134
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr52
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr160
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr53
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr150
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr148
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr146
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr133
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr132
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr131
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr130
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr49
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr129
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr48
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr128
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr119
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr118
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr117
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr116
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr37
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr48
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr115
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr114
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr113
@@ -182105,8 +182124,8 @@ define <128 x i8> @bitcast_v64f16_to_v128i8(<64 x half> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr71
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr70
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr69
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr75
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr74
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr51
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr67
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr73
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr72
@@ -182131,28 +182150,28 @@ define <128 x i8> @bitcast_v64f16_to_v128i8(<64 x half> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr40
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr39
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr183
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr53
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr51
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr182
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr181
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr180
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr179
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr178
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr50
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr177
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr176
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr167
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr166
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr165
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr164
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr163
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr160
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr150
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr148
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr146
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr151
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr149
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr147
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr145
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr144
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr135
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr49
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr134
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr132
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr130
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr128
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr38
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr37
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(2)
; GFX11-FAKE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v33
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr33
@@ -182162,23 +182181,20 @@ define <128 x i8> @bitcast_v64f16_to_v128i8(<64 x half> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: s_cbranch_execz .LBB94_2
; GFX11-FAKE16-NEXT: ; %bb.1: ; %cmp.false
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[33:34], 24, v[15:16]
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v50, 8, v25
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v51, 8, v25
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[34:35], 24, v[13:14]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[35:36], 24, v[11:12]
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v54, 16, v17
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[36:37], 24, v[9:10]
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[37:38], 24, v[7:8]
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[48:49], 24, v[5:6]
-; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0)
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[38:39], 24, v[31:32]
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[48:49], 24, v[7:8]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[64:65], 24, v[1:2]
-; GFX11-FAKE16-NEXT: v_mov_b32_e32 v39, v50
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[49:50], 24, v[29:30]
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[52:53], 24, v[3:4]
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[50:51], 24, v[27:28]
+; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0)
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[37:38], 24, v[31:32]
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[49:50], 24, v[5:6]
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[38:39], 24, v[29:30]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[65:66], 24, v[21:22]
-; GFX11-FAKE16-NEXT: v_mov_b32_e32 v51, v54
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[53:54], 24, v[25:26]
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[53:54], 24, v[3:4]
+; GFX11-FAKE16-NEXT: v_mov_b32_e32 v39, v51
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[50:51], 24, v[27:28]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[66:67], 24, v[19:20]
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v69, 24, v16
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v70, 16, v16
@@ -182207,32 +182223,32 @@ define <128 x i8> @bitcast_v64f16_to_v128i8(<64 x half> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v117, 8, v7
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v118, 24, v6
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v119, 16, v6
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v128, 8, v6
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v129, 16, v5
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v130, 8, v5
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v131, 24, v4
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v132, 16, v4
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v133, 8, v4
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v134, 16, v3
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v145, 8, v3
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v147, 24, v2
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v149, 16, v2
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v151, 8, v2
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v161, 16, v1
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v162, 8, v1
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v135, 24, v32
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v144, 16, v32
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v146, 8, v32
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v148, 16, v31
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v150, 8, v31
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v160, 24, v30
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v163, 16, v30
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v164, 8, v30
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v165, 16, v29
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v166, 8, v29
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v167, 24, v28
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v176, 16, v28
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v177, 8, v28
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v129, 8, v6
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v131, 16, v5
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v133, 8, v5
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v146, 24, v4
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v148, 16, v4
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v150, 8, v4
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v160, 16, v3
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v161, 8, v3
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v162, 24, v2
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v163, 16, v2
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v166, 8, v2
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v176, 16, v1
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v177, 8, v1
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v128, 24, v32
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v130, 16, v32
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v132, 8, v32
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v134, 16, v31
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v135, 8, v31
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v144, 24, v30
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v145, 16, v30
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v147, 8, v30
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v149, 16, v29
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v151, 8, v29
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v164, 24, v28
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v165, 16, v28
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v167, 8, v28
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v178, 16, v27
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v179, 8, v27
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v180, 24, v26
@@ -182257,7 +182273,9 @@ define <128 x i8> @bitcast_v64f16_to_v128i8(<64 x half> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v63, 24, v18
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v72, 16, v18
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v73, 8, v18
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v74, 8, v17
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v74, 16, v17
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v75, 8, v17
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[51:52], 24, v[25:26]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[54:55], 24, v[23:24]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[67:68], 24, v[17:18]
; GFX11-FAKE16-NEXT: .LBB94_2: ; %Flow
@@ -182270,48 +182288,48 @@ define <128 x i8> @bitcast_v64f16_to_v128i8(<64 x half> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: v_pk_add_f16 v13, 0x200, v13 op_sel_hi:[0,1]
; GFX11-FAKE16-NEXT: v_pk_add_f16 v2, 0x200, v2 op_sel_hi:[0,1]
; GFX11-FAKE16-NEXT: v_pk_add_f16 v1, 0x200, v1 op_sel_hi:[0,1]
+; GFX11-FAKE16-NEXT: v_pk_add_f16 v8, 0x200, v8 op_sel_hi:[0,1]
; GFX11-FAKE16-NEXT: v_pk_add_f16 v12, 0x200, v12 op_sel_hi:[0,1]
; GFX11-FAKE16-NEXT: v_pk_add_f16 v11, 0x200, v11 op_sel_hi:[0,1]
+; GFX11-FAKE16-NEXT: v_pk_add_f16 v7, 0x200, v7 op_sel_hi:[0,1]
; GFX11-FAKE16-NEXT: v_pk_add_f16 v22, 0x200, v22 op_sel_hi:[0,1]
; GFX11-FAKE16-NEXT: v_pk_add_f16 v21, 0x200, v21 op_sel_hi:[0,1]
-; GFX11-FAKE16-NEXT: v_pk_add_f16 v4, 0x200, v4 op_sel_hi:[0,1]
-; GFX11-FAKE16-NEXT: v_pk_add_f16 v3, 0x200, v3 op_sel_hi:[0,1]
; GFX11-FAKE16-NEXT: v_pk_add_f16 v6, 0x200, v6 op_sel_hi:[0,1]
; GFX11-FAKE16-NEXT: v_pk_add_f16 v5, 0x200, v5 op_sel_hi:[0,1]
; GFX11-FAKE16-NEXT: v_pk_add_f16 v10, 0x200, v10 op_sel_hi:[0,1]
; GFX11-FAKE16-NEXT: v_pk_add_f16 v9, 0x200, v9 op_sel_hi:[0,1]
; GFX11-FAKE16-NEXT: v_pk_add_f16 v20, 0x200, v20 op_sel_hi:[0,1]
; GFX11-FAKE16-NEXT: v_pk_add_f16 v19, 0x200, v19 op_sel_hi:[0,1]
-; GFX11-FAKE16-NEXT: v_pk_add_f16 v26, 0x200, v26 op_sel_hi:[0,1]
-; GFX11-FAKE16-NEXT: v_pk_add_f16 v25, 0x200, v25 op_sel_hi:[0,1]
-; GFX11-FAKE16-NEXT: v_pk_add_f16 v30, 0x200, v30 op_sel_hi:[0,1]
-; GFX11-FAKE16-NEXT: v_pk_add_f16 v29, 0x200, v29 op_sel_hi:[0,1]
-; GFX11-FAKE16-NEXT: v_pk_add_f16 v8, 0x200, v8 op_sel_hi:[0,1]
-; GFX11-FAKE16-NEXT: v_pk_add_f16 v7, 0x200, v7 op_sel_hi:[0,1]
-; GFX11-FAKE16-NEXT: v_pk_add_f16 v18, 0x200, v18 op_sel_hi:[0,1]
-; GFX11-FAKE16-NEXT: v_pk_add_f16 v17, 0x200, v17 op_sel_hi:[0,1]
-; GFX11-FAKE16-NEXT: v_pk_add_f16 v24, 0x200, v24 op_sel_hi:[0,1]
-; GFX11-FAKE16-NEXT: v_pk_add_f16 v23, 0x200, v23 op_sel_hi:[0,1]
; GFX11-FAKE16-NEXT: v_pk_add_f16 v28, 0x200, v28 op_sel_hi:[0,1]
; GFX11-FAKE16-NEXT: v_pk_add_f16 v27, 0x200, v27 op_sel_hi:[0,1]
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(1)
; GFX11-FAKE16-NEXT: v_pk_add_f16 v32, 0x200, v32 op_sel_hi:[0,1]
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0)
; GFX11-FAKE16-NEXT: v_pk_add_f16 v31, 0x200, v31 op_sel_hi:[0,1]
+; GFX11-FAKE16-NEXT: v_pk_add_f16 v4, 0x200, v4 op_sel_hi:[0,1]
+; GFX11-FAKE16-NEXT: v_pk_add_f16 v3, 0x200, v3 op_sel_hi:[0,1]
+; GFX11-FAKE16-NEXT: v_pk_add_f16 v18, 0x200, v18 op_sel_hi:[0,1]
+; GFX11-FAKE16-NEXT: v_pk_add_f16 v17, 0x200, v17 op_sel_hi:[0,1]
+; GFX11-FAKE16-NEXT: v_pk_add_f16 v24, 0x200, v24 op_sel_hi:[0,1]
+; GFX11-FAKE16-NEXT: v_pk_add_f16 v23, 0x200, v23 op_sel_hi:[0,1]
+; GFX11-FAKE16-NEXT: v_pk_add_f16 v26, 0x200, v26 op_sel_hi:[0,1]
+; GFX11-FAKE16-NEXT: v_pk_add_f16 v25, 0x200, v25 op_sel_hi:[0,1]
+; GFX11-FAKE16-NEXT: v_pk_add_f16 v30, 0x200, v30 op_sel_hi:[0,1]
+; GFX11-FAKE16-NEXT: v_pk_add_f16 v29, 0x200, v29 op_sel_hi:[0,1]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[33:34], 24, v[15:16]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[34:35], 24, v[13:14]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[35:36], 24, v[11:12]
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[48:49], 24, v[7:8]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[64:65], 24, v[1:2]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[36:37], 24, v[9:10]
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[48:49], 24, v[5:6]
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[52:53], 24, v[3:4]
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[49:50], 24, v[5:6]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[65:66], 24, v[21:22]
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[37:38], 24, v[7:8]
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[49:50], 24, v[29:30]
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[53:54], 24, v[25:26]
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[66:67], 24, v[19:20]
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[38:39], 24, v[31:32]
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[53:54], 24, v[3:4]
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[37:38], 24, v[31:32]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[50:51], 24, v[27:28]
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[66:67], 24, v[19:20]
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[38:39], 24, v[29:30]
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[51:52], 24, v[25:26]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[54:55], 24, v[23:24]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[67:68], 24, v[17:18]
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v69, 24, v16
@@ -182341,32 +182359,32 @@ define <128 x i8> @bitcast_v64f16_to_v128i8(<64 x half> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v117, 8, v7
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v118, 24, v6
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v119, 16, v6
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v128, 8, v6
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v129, 16, v5
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v130, 8, v5
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v131, 24, v4
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v132, 16, v4
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v133, 8, v4
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v134, 16, v3
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v145, 8, v3
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v147, 24, v2
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v149, 16, v2
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v151, 8, v2
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v161, 16, v1
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v162, 8, v1
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v135, 24, v32
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v144, 16, v32
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v146, 8, v32
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v148, 16, v31
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v150, 8, v31
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v160, 24, v30
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v163, 16, v30
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v164, 8, v30
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v165, 16, v29
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v166, 8, v29
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v167, 24, v28
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v176, 16, v28
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v177, 8, v28
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v129, 8, v6
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v131, 16, v5
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v133, 8, v5
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v146, 24, v4
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v148, 16, v4
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v150, 8, v4
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v160, 16, v3
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v161, 8, v3
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v162, 24, v2
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v163, 16, v2
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v166, 8, v2
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v176, 16, v1
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v177, 8, v1
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v128, 24, v32
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v130, 16, v32
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v132, 8, v32
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v134, 16, v31
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v135, 8, v31
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v144, 24, v30
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v145, 16, v30
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v147, 8, v30
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v149, 16, v29
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v151, 8, v29
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v164, 24, v28
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v165, 16, v28
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v167, 8, v28
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v178, 16, v27
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v179, 8, v27
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v180, 24, v26
@@ -182392,49 +182410,49 @@ define <128 x i8> @bitcast_v64f16_to_v128i8(<64 x half> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v63, 24, v18
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v72, 16, v18
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v73, 8, v18
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v51, 16, v17
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v74, 8, v17
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v74, 16, v17
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v75, 8, v17
; GFX11-FAKE16-NEXT: .LBB94_4: ; %end
; GFX11-FAKE16-NEXT: s_or_b32 exec_lo, exec_lo, s0
-; GFX11-FAKE16-NEXT: v_perm_b32 v3, v3, v145, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v52, v134, v52, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v55, v161, v64, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v1, v1, v162, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v2, v2, v151, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v64, v149, v147, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v3, v52, 16, v3
-; GFX11-FAKE16-NEXT: v_perm_b32 v4, v4, v133, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v52, v132, v131, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v5, v5, v130, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v48, v129, v48, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v52, v176, v64, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v1, v1, v177, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v2, v2, v166, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v55, v163, v162, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v3, v3, v161, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v53, v160, v53, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v1, v52, 16, v1
+; GFX11-FAKE16-NEXT: v_perm_b32 v4, v4, v150, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v52, v148, v146, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v5, v5, v133, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v49, v131, v49, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v7, v7, v117, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v37, v116, v37, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v1, v55, 16, v1
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v2, v64, 16, v2
-; GFX11-FAKE16-NEXT: v_perm_b32 v6, v6, v128, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v55, v119, v118, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v48, v116, v48, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v2, v55, 16, v2
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v3, v53, 16, v3
+; GFX11-FAKE16-NEXT: v_perm_b32 v6, v6, v129, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v53, v119, v118, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v8, v8, v115, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v64, v114, v113, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v55, v114, v113, 0xc0c0004
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v4, v52, 16, v4
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v5, v48, 16, v5
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v7, v37, 16, v7
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v5, v49, 16, v5
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v7, v48, 16, v7
; GFX11-FAKE16-NEXT: v_perm_b32 v9, v9, v112, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v36, v103, v36, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v10, v10, v102, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v37, v101, v100, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v48, v101, v100, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v11, v11, v99, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v35, v98, v35, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v12, v12, v97, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v48, v96, v87, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v6, v55, 16, v6
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v8, v64, 16, v8
+; GFX11-FAKE16-NEXT: v_perm_b32 v49, v96, v87, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v6, v53, 16, v6
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v8, v55, 16, v8
; GFX11-FAKE16-NEXT: s_clause 0x1
; GFX11-FAKE16-NEXT: scratch_store_b128 v0, v[1:4], off
; GFX11-FAKE16-NEXT: scratch_store_b128 v0, v[5:8], off offset:16
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v1, v36, 16, v9
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v2, v37, 16, v10
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v2, v48, 16, v10
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v3, v35, 16, v11
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v4, v48, 16, v12
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v4, v49, 16, v12
; GFX11-FAKE16-NEXT: v_perm_b32 v5, v13, v86, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v6, v85, v34, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v7, v14, v84, 0xc0c0004
@@ -182443,8 +182461,8 @@ define <128 x i8> @bitcast_v64f16_to_v128i8(<64 x half> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: v_perm_b32 v10, v80, v33, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v11, v16, v71, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v12, v70, v69, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v13, v17, v74, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v14, v51, v67, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v13, v17, v75, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v14, v74, v67, 0xc0c0004
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v5, v6, 16, v5
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v6, v8, 16, v7
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v7, v10, 16, v9
@@ -182470,7 +182488,7 @@ define <128 x i8> @bitcast_v64f16_to_v128i8(<64 x half> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: v_perm_b32 v17, v24, v42, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v18, v41, v40, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v19, v25, v39, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v20, v183, v53, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v20, v183, v51, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v21, v26, v182, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v22, v181, v180, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v23, v27, v179, 0xc0c0004
@@ -182479,18 +182497,18 @@ define <128 x i8> @bitcast_v64f16_to_v128i8(<64 x half> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v16, v18, 16, v17
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v17, v20, 16, v19
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v18, v22, 16, v21
-; GFX11-FAKE16-NEXT: v_perm_b32 v20, v28, v177, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v21, v176, v167, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v20, v28, v167, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v21, v165, v164, 0xc0c0004
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v19, v24, 16, v23
-; GFX11-FAKE16-NEXT: v_perm_b32 v22, v29, v166, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v23, v165, v49, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v24, v30, v164, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v25, v163, v160, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v22, v29, v151, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v23, v149, v38, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v24, v30, v147, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v25, v145, v144, 0xc0c0004
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0)
-; GFX11-FAKE16-NEXT: v_perm_b32 v26, v31, v150, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v27, v148, v38, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v28, v32, v146, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v29, v144, v135, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v26, v31, v135, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v27, v134, v37, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v28, v32, v132, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v29, v130, v128, 0xc0c0004
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v20, v21, 16, v20
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v21, v23, 16, v22
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v22, v25, 16, v24
@@ -182503,26 +182521,27 @@ define <128 x i8> @bitcast_v64f16_to_v128i8(<64 x half> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: scratch_store_b128 v0, v[13:16], off offset:80
; GFX11-FAKE16-NEXT: scratch_store_b128 v0, v[17:20], off offset:96
; GFX11-FAKE16-NEXT: scratch_store_b128 v0, v[21:24], off offset:112
-; GFX11-FAKE16-NEXT: s_clause 0x12 ; 76-byte Folded Reload
-; GFX11-FAKE16-NEXT: scratch_load_b32 v74, off, s32 offset:12
-; GFX11-FAKE16-NEXT: scratch_load_b32 v73, off, s32 offset:16
-; GFX11-FAKE16-NEXT: scratch_load_b32 v72, off, s32 offset:20
-; GFX11-FAKE16-NEXT: scratch_load_b32 v63, off, s32 offset:24
-; GFX11-FAKE16-NEXT: scratch_load_b32 v62, off, s32 offset:28
-; GFX11-FAKE16-NEXT: scratch_load_b32 v61, off, s32 offset:32
-; GFX11-FAKE16-NEXT: scratch_load_b32 v60, off, s32 offset:36
-; GFX11-FAKE16-NEXT: scratch_load_b32 v59, off, s32 offset:40
-; GFX11-FAKE16-NEXT: scratch_load_b32 v58, off, s32 offset:44
-; GFX11-FAKE16-NEXT: scratch_load_b32 v57, off, s32 offset:48
-; GFX11-FAKE16-NEXT: scratch_load_b32 v56, off, s32 offset:52
-; GFX11-FAKE16-NEXT: scratch_load_b32 v47, off, s32 offset:56
-; GFX11-FAKE16-NEXT: scratch_load_b32 v46, off, s32 offset:60
-; GFX11-FAKE16-NEXT: scratch_load_b32 v45, off, s32 offset:64
-; GFX11-FAKE16-NEXT: scratch_load_b32 v44, off, s32 offset:68
-; GFX11-FAKE16-NEXT: scratch_load_b32 v43, off, s32 offset:72
-; GFX11-FAKE16-NEXT: scratch_load_b32 v42, off, s32 offset:76
-; GFX11-FAKE16-NEXT: scratch_load_b32 v41, off, s32 offset:80
-; GFX11-FAKE16-NEXT: scratch_load_b32 v40, off, s32 offset:84
+; GFX11-FAKE16-NEXT: s_clause 0x13 ; 80-byte Folded Reload
+; GFX11-FAKE16-NEXT: scratch_load_b32 v75, off, s32 offset:12
+; GFX11-FAKE16-NEXT: scratch_load_b32 v74, off, s32 offset:16
+; GFX11-FAKE16-NEXT: scratch_load_b32 v73, off, s32 offset:20
+; GFX11-FAKE16-NEXT: scratch_load_b32 v72, off, s32 offset:24
+; GFX11-FAKE16-NEXT: scratch_load_b32 v63, off, s32 offset:28
+; GFX11-FAKE16-NEXT: scratch_load_b32 v62, off, s32 offset:32
+; GFX11-FAKE16-NEXT: scratch_load_b32 v61, off, s32 offset:36
+; GFX11-FAKE16-NEXT: scratch_load_b32 v60, off, s32 offset:40
+; GFX11-FAKE16-NEXT: scratch_load_b32 v59, off, s32 offset:44
+; GFX11-FAKE16-NEXT: scratch_load_b32 v58, off, s32 offset:48
+; GFX11-FAKE16-NEXT: scratch_load_b32 v57, off, s32 offset:52
+; GFX11-FAKE16-NEXT: scratch_load_b32 v56, off, s32 offset:56
+; GFX11-FAKE16-NEXT: scratch_load_b32 v47, off, s32 offset:60
+; GFX11-FAKE16-NEXT: scratch_load_b32 v46, off, s32 offset:64
+; GFX11-FAKE16-NEXT: scratch_load_b32 v45, off, s32 offset:68
+; GFX11-FAKE16-NEXT: scratch_load_b32 v44, off, s32 offset:72
+; GFX11-FAKE16-NEXT: scratch_load_b32 v43, off, s32 offset:76
+; GFX11-FAKE16-NEXT: scratch_load_b32 v42, off, s32 offset:80
+; GFX11-FAKE16-NEXT: scratch_load_b32 v41, off, s32 offset:84
+; GFX11-FAKE16-NEXT: scratch_load_b32 v40, off, s32 offset:88
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0)
; GFX11-FAKE16-NEXT: s_setpc_b64 s[30:31]
%cmp = icmp eq i32 %b, 0
@@ -182589,399 +182608,401 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; SI-NEXT: v_writelane_b32 v34, s99, 33
; SI-NEXT: v_writelane_b32 v34, s30, 34
; SI-NEXT: v_writelane_b32 v34, s31, 35
-; SI-NEXT: s_lshr_b32 s6, s18, 16
; SI-NEXT: ; implicit-def: $vgpr37 : SGPR spill to VGPR lane
-; SI-NEXT: s_lshr_b32 s7, s20, 16
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_writelane_b32 v37, s6, 0
-; SI-NEXT: s_lshr_b32 s8, s22, 16
-; SI-NEXT: v_writelane_b32 v37, s7, 2
-; SI-NEXT: s_lshr_b32 s9, s24, 16
-; SI-NEXT: v_writelane_b32 v37, s8, 4
-; SI-NEXT: s_lshr_b32 s10, s26, 16
-; SI-NEXT: v_writelane_b32 v37, s9, 6
-; SI-NEXT: s_lshr_b32 s11, s28, 16
-; SI-NEXT: v_writelane_b32 v37, s10, 7
-; SI-NEXT: s_lshr_b32 s5, s16, 16
+; SI-NEXT: s_lshr_b32 s6, s20, 16
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_writelane_b32 v37, s20, 0
+; SI-NEXT: v_writelane_b32 v37, s23, 2
+; SI-NEXT: v_writelane_b32 v37, s6, 4
+; SI-NEXT: s_lshr_b32 s7, s22, 16
+; SI-NEXT: v_writelane_b32 v37, s22, 6
+; SI-NEXT: s_lshr_b32 s8, s24, 16
+; SI-NEXT: v_writelane_b32 v37, s7, 8
+; SI-NEXT: s_lshr_b32 s9, s26, 16
+; SI-NEXT: v_writelane_b32 v37, s8, 9
+; SI-NEXT: s_lshr_b32 s10, s28, 16
; SI-NEXT: v_readfirstlane_b32 s51, v1
-; SI-NEXT: v_writelane_b32 v37, s11, 8
+; SI-NEXT: v_writelane_b32 v37, s9, 10
; SI-NEXT: v_readfirstlane_b32 vcc_lo, v3
-; SI-NEXT: s_lshr_b32 s12, s51, 16
-; SI-NEXT: v_writelane_b32 v37, s5, 9
+; SI-NEXT: s_lshr_b32 s11, s51, 16
+; SI-NEXT: v_writelane_b32 v37, s10, 11
; SI-NEXT: v_readfirstlane_b32 s89, v5
-; SI-NEXT: s_lshr_b32 s13, vcc_lo, 16
-; SI-NEXT: v_writelane_b32 v37, s12, 10
-; SI-NEXT: s_mov_b32 s69, s16
-; SI-NEXT: v_readfirstlane_b32 s95, v18
-; SI-NEXT: v_readfirstlane_b32 s16, v17
-; SI-NEXT: v_readfirstlane_b32 s34, v16
-; SI-NEXT: v_readfirstlane_b32 s30, v15
-; SI-NEXT: v_readfirstlane_b32 s92, v14
-; SI-NEXT: v_readfirstlane_b32 s36, v13
-; SI-NEXT: v_readfirstlane_b32 s65, v12
-; SI-NEXT: v_readfirstlane_b32 s94, v11
+; SI-NEXT: s_lshr_b32 s12, vcc_lo, 16
+; SI-NEXT: v_writelane_b32 v37, s11, 12
+; SI-NEXT: v_readfirstlane_b32 s70, v7
+; SI-NEXT: s_lshr_b32 s13, s89, 16
+; SI-NEXT: v_writelane_b32 v37, s12, 13
+; SI-NEXT: v_readfirstlane_b32 s92, v9
+; SI-NEXT: s_lshr_b32 s14, s70, 16
+; SI-NEXT: v_writelane_b32 v37, s13, 14
+; SI-NEXT: s_mov_b32 s79, s17
+; SI-NEXT: s_mov_b32 s85, s16
+; SI-NEXT: s_lshr_b32 s69, s17, 16
+; SI-NEXT: s_lshr_b32 s87, s16, 16
+; SI-NEXT: v_readfirstlane_b32 s93, v18
+; SI-NEXT: v_readfirstlane_b32 s36, v17
+; SI-NEXT: v_readfirstlane_b32 s16, v16
+; SI-NEXT: v_readfirstlane_b32 s95, v15
+; SI-NEXT: v_readfirstlane_b32 s65, v14
+; SI-NEXT: v_readfirstlane_b32 s17, v13
+; SI-NEXT: v_readfirstlane_b32 s66, v12
+; SI-NEXT: v_readfirstlane_b32 s64, v11
; SI-NEXT: v_readfirstlane_b32 s71, v10
-; SI-NEXT: v_readfirstlane_b32 s67, v9
+; SI-NEXT: s_lshr_b32 s76, s92, 16
; SI-NEXT: v_readfirstlane_b32 s80, v8
-; SI-NEXT: v_readfirstlane_b32 s70, v7
; SI-NEXT: v_readfirstlane_b32 vcc_hi, v6
-; SI-NEXT: s_lshr_b32 s14, s89, 16
; SI-NEXT: v_readfirstlane_b32 s54, v4
; SI-NEXT: v_readfirstlane_b32 s53, v2
-; SI-NEXT: v_writelane_b32 v37, s13, 11
-; SI-NEXT: s_mov_b32 s79, s17
+; SI-NEXT: v_writelane_b32 v37, s14, 15
; SI-NEXT: s_lshr_b32 s49, s29, 16
-; SI-NEXT: s_lshr_b32 s38, s27, 16
+; SI-NEXT: s_lshr_b32 s91, s27, 16
; SI-NEXT: s_lshr_b32 s52, s25, 16
; SI-NEXT: s_lshr_b32 s50, s23, 16
; SI-NEXT: s_lshr_b32 s48, s21, 16
-; SI-NEXT: s_lshr_b32 s91, s19, 16
-; SI-NEXT: s_lshr_b32 s90, s17, 16
-; SI-NEXT: s_lshr_b32 s17, s95, 16
-; SI-NEXT: s_lshr_b32 s96, s16, 16
-; SI-NEXT: s_lshr_b32 s35, s34, 16
-; SI-NEXT: s_lshr_b32 s31, s30, 16
-; SI-NEXT: s_lshr_b32 s93, s92, 16
+; SI-NEXT: s_lshr_b32 s97, s19, 16
+; SI-NEXT: s_lshr_b32 s99, s18, 16
+; SI-NEXT: s_lshr_b32 s96, s93, 16
; SI-NEXT: s_lshr_b32 s37, s36, 16
-; SI-NEXT: s_lshr_b32 s64, s65, 16
-; SI-NEXT: s_lshr_b32 s77, s94, 16
-; SI-NEXT: s_lshr_b32 s66, s71, 16
-; SI-NEXT: s_lshr_b32 s76, s67, 16
+; SI-NEXT: s_lshr_b32 s94, s16, 16
+; SI-NEXT: s_lshr_b32 s30, s95, 16
+; SI-NEXT: s_lshr_b32 s90, s65, 16
+; SI-NEXT: s_lshr_b32 s78, s17, 16
+; SI-NEXT: s_lshr_b32 s67, s66, 16
+; SI-NEXT: s_lshr_b32 s77, s64, 16
+; SI-NEXT: s_lshr_b32 s86, s71, 16
; SI-NEXT: s_lshr_b32 s81, s80, 16
-; SI-NEXT: s_lshr_b32 s15, s70, 16
; SI-NEXT: s_lshr_b32 s88, vcc_hi, 16
; SI-NEXT: s_lshr_b32 s55, s54, 16
; SI-NEXT: s_lshr_b32 s39, s53, 16
; SI-NEXT: v_readfirstlane_b32 s4, v19
-; SI-NEXT: v_writelane_b32 v37, s14, 12
+; SI-NEXT: v_writelane_b32 v37, s76, 16
; SI-NEXT: s_cmp_lg_u32 s4, 0
-; SI-NEXT: v_writelane_b32 v37, s15, 13
-; SI-NEXT: v_writelane_b32 v37, s76, 14
+; SI-NEXT: v_writelane_b32 v37, s77, 17
+; SI-NEXT: v_writelane_b32 v37, s78, 18
; SI-NEXT: ; implicit-def: $vgpr36 : SGPR spill to VGPR lane
; SI-NEXT: ; implicit-def: $vgpr35 : SGPR spill to VGPR lane
; SI-NEXT: s_cbranch_scc0 .LBB95_2
; SI-NEXT: ; %bb.1: ; %cmp.false
-; SI-NEXT: s_and_b32 s4, s69, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s5, 16
+; SI-NEXT: s_and_b32 s4, s85, 0xffff
+; SI-NEXT: s_lshl_b32 s5, s87, 16
; SI-NEXT: s_or_b32 s74, s4, s5
; SI-NEXT: s_and_b32 s4, s79, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s90, 16
+; SI-NEXT: s_lshl_b32 s5, s69, 16
; SI-NEXT: s_or_b32 s75, s4, s5
; SI-NEXT: s_and_b32 s4, s18, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s6, 16
+; SI-NEXT: s_lshl_b32 s5, s99, 16
; SI-NEXT: s_or_b32 s72, s4, s5
; SI-NEXT: s_and_b32 s4, s19, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s91, 16
+; SI-NEXT: s_lshl_b32 s5, s97, 16
; SI-NEXT: s_or_b32 s73, s4, s5
; SI-NEXT: s_and_b32 s4, s20, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s7, 16
+; SI-NEXT: s_lshl_b32 s5, s6, 16
; SI-NEXT: s_or_b32 s62, s4, s5
; SI-NEXT: s_and_b32 s4, s21, 0xffff
; SI-NEXT: s_lshl_b32 s5, s48, 16
; SI-NEXT: s_or_b32 s63, s4, s5
; SI-NEXT: s_and_b32 s4, s22, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s8, 16
+; SI-NEXT: s_lshl_b32 s5, s7, 16
; SI-NEXT: s_or_b32 s58, s4, s5
; SI-NEXT: s_and_b32 s4, s23, 0xffff
; SI-NEXT: s_lshl_b32 s5, s50, 16
; SI-NEXT: s_or_b32 s59, s4, s5
; SI-NEXT: s_and_b32 s4, s24, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s9, 16
+; SI-NEXT: s_lshl_b32 s5, s8, 16
; SI-NEXT: s_or_b32 s46, s4, s5
; SI-NEXT: s_and_b32 s4, s25, 0xffff
; SI-NEXT: s_lshl_b32 s5, s52, 16
; SI-NEXT: s_or_b32 s47, s4, s5
; SI-NEXT: s_and_b32 s4, s26, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s10, 16
+; SI-NEXT: s_lshl_b32 s5, s9, 16
; SI-NEXT: s_or_b32 s60, s4, s5
; SI-NEXT: s_and_b32 s4, s27, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s38, 16
+; SI-NEXT: s_lshl_b32 s5, s91, 16
; SI-NEXT: s_or_b32 s61, s4, s5
; SI-NEXT: s_and_b32 s4, s28, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s11, 16
+; SI-NEXT: s_lshl_b32 s5, s10, 16
; SI-NEXT: s_or_b32 s56, s4, s5
; SI-NEXT: s_and_b32 s4, s29, 0xffff
; SI-NEXT: s_lshl_b32 s5, s49, 16
; SI-NEXT: s_or_b32 s57, s4, s5
; SI-NEXT: s_and_b32 s4, s51, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s12, 16
+; SI-NEXT: s_lshl_b32 s5, s11, 16
; SI-NEXT: s_or_b32 s44, s4, s5
; SI-NEXT: s_and_b32 s4, s53, 0xffff
; SI-NEXT: s_lshl_b32 s5, s39, 16
; SI-NEXT: s_or_b32 s45, s4, s5
; SI-NEXT: s_and_b32 s4, vcc_lo, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s13, 16
+; SI-NEXT: s_lshl_b32 s5, s12, 16
; SI-NEXT: s_or_b32 s42, s4, s5
; SI-NEXT: s_and_b32 s4, s54, 0xffff
; SI-NEXT: s_lshl_b32 s5, s55, 16
; SI-NEXT: s_or_b32 s43, s4, s5
; SI-NEXT: s_and_b32 s4, s89, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s14, 16
+; SI-NEXT: s_lshl_b32 s5, s13, 16
; SI-NEXT: s_or_b32 s40, s4, s5
; SI-NEXT: s_and_b32 s4, vcc_hi, 0xffff
; SI-NEXT: s_lshl_b32 s5, s88, 16
; SI-NEXT: s_or_b32 s41, s4, s5
; SI-NEXT: s_and_b32 s4, s70, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s15, 16
+; SI-NEXT: s_lshl_b32 s5, s14, 16
; SI-NEXT: s_or_b32 s14, s4, s5
; SI-NEXT: s_and_b32 s4, s80, 0xffff
; SI-NEXT: s_lshl_b32 s5, s81, 16
; SI-NEXT: s_or_b32 s15, s4, s5
-; SI-NEXT: s_and_b32 s4, s67, 0xffff
+; SI-NEXT: s_and_b32 s4, s92, 0xffff
; SI-NEXT: s_lshl_b32 s5, s76, 16
; SI-NEXT: s_or_b32 s12, s4, s5
; SI-NEXT: s_and_b32 s4, s71, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s66, 16
+; SI-NEXT: s_lshl_b32 s5, s86, 16
; SI-NEXT: s_or_b32 s13, s4, s5
-; SI-NEXT: s_and_b32 s4, s94, 0xffff
; SI-NEXT: s_lshl_b32 s5, s77, 16
-; SI-NEXT: s_or_b32 s10, s4, s5
-; SI-NEXT: s_and_b32 s4, s65, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s64, 16
-; SI-NEXT: s_or_b32 s11, s4, s5
-; SI-NEXT: s_and_b32 s4, s36, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s37, 16
-; SI-NEXT: s_or_b32 s8, s4, s5
-; SI-NEXT: s_and_b32 s4, s92, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s93, 16
-; SI-NEXT: s_or_b32 s9, s4, s5
-; SI-NEXT: s_and_b32 s4, s30, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s31, 16
-; SI-NEXT: s_or_b32 s6, s4, s5
-; SI-NEXT: s_and_b32 s4, s34, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s35, 16
-; SI-NEXT: s_or_b32 s7, s4, s5
-; SI-NEXT: s_and_b32 s4, s16, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s96, 16
-; SI-NEXT: s_or_b32 s4, s4, s5
-; SI-NEXT: s_and_b32 s5, s95, 0xffff
-; SI-NEXT: s_lshl_b32 s76, s17, 16
-; SI-NEXT: s_or_b32 s5, s5, s76
-; SI-NEXT: s_lshr_b32 s76, s75, 8
-; SI-NEXT: v_writelane_b32 v35, s76, 2
-; SI-NEXT: s_lshr_b32 s76, s73, 8
-; SI-NEXT: v_writelane_b32 v35, s76, 1
-; SI-NEXT: s_lshr_b32 s76, s63, 8
-; SI-NEXT: v_writelane_b32 v35, s76, 0
-; SI-NEXT: s_lshr_b32 s76, s59, 8
-; SI-NEXT: v_writelane_b32 v36, s76, 63
-; SI-NEXT: s_lshr_b32 s76, s47, 8
-; SI-NEXT: v_writelane_b32 v36, s76, 62
-; SI-NEXT: s_lshr_b32 s76, s61, 8
-; SI-NEXT: v_writelane_b32 v36, s76, 61
-; SI-NEXT: s_lshr_b32 s76, s57, 8
-; SI-NEXT: v_writelane_b32 v36, s76, 60
-; SI-NEXT: s_lshr_b32 s76, s45, 8
-; SI-NEXT: v_writelane_b32 v36, s76, 59
-; SI-NEXT: s_lshr_b32 s76, s43, 8
-; SI-NEXT: v_writelane_b32 v36, s76, 58
-; SI-NEXT: s_lshr_b32 s76, s41, 8
-; SI-NEXT: v_writelane_b32 v36, s76, 57
-; SI-NEXT: s_lshr_b32 s76, s15, 8
-; SI-NEXT: v_writelane_b32 v36, s76, 56
-; SI-NEXT: s_lshr_b32 s76, s13, 8
-; SI-NEXT: v_writelane_b32 v36, s76, 55
-; SI-NEXT: s_lshr_b32 s76, s11, 8
-; SI-NEXT: v_writelane_b32 v36, s76, 54
-; SI-NEXT: s_lshr_b32 s76, s9, 8
-; SI-NEXT: v_writelane_b32 v36, s76, 53
-; SI-NEXT: s_lshr_b32 s76, s7, 8
-; SI-NEXT: v_writelane_b32 v36, s76, 52
-; SI-NEXT: s_lshr_b32 s76, s5, 8
-; SI-NEXT: v_writelane_b32 v36, s76, 51
-; SI-NEXT: s_bfe_u32 s76, s90, 0x80008
-; SI-NEXT: v_writelane_b32 v36, s76, 50
-; SI-NEXT: s_bfe_u32 s76, s91, 0x80008
-; SI-NEXT: v_writelane_b32 v36, s76, 49
-; SI-NEXT: s_bfe_u32 s76, s48, 0x80008
-; SI-NEXT: v_writelane_b32 v36, s76, 48
-; SI-NEXT: s_bfe_u32 s76, s50, 0x80008
-; SI-NEXT: v_writelane_b32 v36, s76, 47
-; SI-NEXT: s_bfe_u32 s76, s52, 0x80008
-; SI-NEXT: v_writelane_b32 v36, s76, 46
-; SI-NEXT: s_bfe_u32 s76, s38, 0x80008
-; SI-NEXT: v_writelane_b32 v36, s76, 45
-; SI-NEXT: s_bfe_u32 s76, s49, 0x80008
-; SI-NEXT: v_writelane_b32 v36, s76, 44
-; SI-NEXT: s_bfe_u32 s76, s39, 0x80008
-; SI-NEXT: v_writelane_b32 v36, s76, 43
-; SI-NEXT: s_bfe_u32 s76, s55, 0x80008
-; SI-NEXT: v_writelane_b32 v36, s76, 42
-; SI-NEXT: s_bfe_u32 s76, s88, 0x80008
-; SI-NEXT: s_mov_b32 s99, s77
-; SI-NEXT: v_writelane_b32 v36, s76, 41
; SI-NEXT: s_lshr_b64 s[76:77], s[74:75], 24
-; SI-NEXT: v_writelane_b32 v37, s76, 19
-; SI-NEXT: v_writelane_b32 v37, s77, 20
-; SI-NEXT: s_lshr_b64 s[76:77], s[74:75], 16
-; SI-NEXT: v_writelane_b32 v37, s76, 17
-; SI-NEXT: v_writelane_b32 v37, s77, 18
-; SI-NEXT: s_lshr_b64 s[76:77], s[74:75], 8
-; SI-NEXT: v_writelane_b32 v37, s76, 15
-; SI-NEXT: v_writelane_b32 v37, s77, 16
-; SI-NEXT: s_lshr_b64 s[76:77], s[72:73], 24
-; SI-NEXT: v_writelane_b32 v37, s76, 25
-; SI-NEXT: v_writelane_b32 v37, s77, 26
-; SI-NEXT: s_lshr_b64 s[76:77], s[72:73], 16
; SI-NEXT: v_writelane_b32 v37, s76, 23
; SI-NEXT: v_writelane_b32 v37, s77, 24
-; SI-NEXT: s_lshr_b64 s[76:77], s[72:73], 8
+; SI-NEXT: s_lshr_b64 s[76:77], s[74:75], 16
; SI-NEXT: v_writelane_b32 v37, s76, 21
; SI-NEXT: v_writelane_b32 v37, s77, 22
-; SI-NEXT: s_lshr_b64 s[76:77], s[62:63], 24
-; SI-NEXT: v_writelane_b32 v37, s76, 31
-; SI-NEXT: v_writelane_b32 v37, s77, 32
-; SI-NEXT: s_lshr_b64 s[76:77], s[62:63], 16
+; SI-NEXT: s_lshr_b64 s[76:77], s[74:75], 8
+; SI-NEXT: v_writelane_b32 v37, s76, 19
+; SI-NEXT: v_writelane_b32 v37, s77, 20
+; SI-NEXT: s_lshr_b64 s[76:77], s[72:73], 24
; SI-NEXT: v_writelane_b32 v37, s76, 29
; SI-NEXT: v_writelane_b32 v37, s77, 30
-; SI-NEXT: s_lshr_b64 s[76:77], s[62:63], 8
+; SI-NEXT: s_lshr_b64 s[76:77], s[72:73], 16
; SI-NEXT: v_writelane_b32 v37, s76, 27
+; SI-NEXT: s_and_b32 s4, s64, 0xffff
; SI-NEXT: v_writelane_b32 v37, s77, 28
-; SI-NEXT: s_lshr_b64 s[76:77], s[58:59], 24
-; SI-NEXT: v_writelane_b32 v37, s76, 37
-; SI-NEXT: v_writelane_b32 v37, s77, 38
-; SI-NEXT: s_lshr_b64 s[76:77], s[58:59], 16
+; SI-NEXT: s_lshr_b64 s[76:77], s[72:73], 8
+; SI-NEXT: s_or_b32 s10, s4, s5
+; SI-NEXT: s_and_b32 s4, s66, 0xffff
+; SI-NEXT: s_lshl_b32 s5, s67, 16
+; SI-NEXT: v_writelane_b32 v37, s76, 25
+; SI-NEXT: s_or_b32 s11, s4, s5
+; SI-NEXT: s_and_b32 s4, s17, 0xffff
+; SI-NEXT: s_lshl_b32 s5, s78, 16
+; SI-NEXT: v_writelane_b32 v37, s77, 26
+; SI-NEXT: s_lshr_b64 s[76:77], s[62:63], 24
+; SI-NEXT: s_or_b32 s8, s4, s5
+; SI-NEXT: s_and_b32 s4, s65, 0xffff
+; SI-NEXT: s_lshl_b32 s5, s90, 16
; SI-NEXT: v_writelane_b32 v37, s76, 35
+; SI-NEXT: s_or_b32 s9, s4, s5
+; SI-NEXT: s_and_b32 s4, s95, 0xffff
+; SI-NEXT: s_lshl_b32 s5, s30, 16
; SI-NEXT: v_writelane_b32 v37, s77, 36
-; SI-NEXT: s_lshr_b64 s[76:77], s[58:59], 8
+; SI-NEXT: s_lshr_b64 s[76:77], s[62:63], 16
+; SI-NEXT: s_or_b32 s6, s4, s5
+; SI-NEXT: s_and_b32 s4, s16, 0xffff
+; SI-NEXT: s_lshl_b32 s5, s94, 16
; SI-NEXT: v_writelane_b32 v37, s76, 33
+; SI-NEXT: s_or_b32 s7, s4, s5
+; SI-NEXT: s_and_b32 s4, s36, 0xffff
+; SI-NEXT: s_lshl_b32 s5, s37, 16
; SI-NEXT: v_writelane_b32 v37, s77, 34
-; SI-NEXT: s_lshr_b64 s[76:77], s[46:47], 24
-; SI-NEXT: v_writelane_b32 v37, s76, 43
-; SI-NEXT: v_writelane_b32 v37, s77, 44
-; SI-NEXT: s_lshr_b64 s[76:77], s[46:47], 16
+; SI-NEXT: s_lshr_b64 s[76:77], s[62:63], 8
+; SI-NEXT: s_or_b32 s4, s4, s5
+; SI-NEXT: s_and_b32 s5, s93, 0xffff
+; SI-NEXT: s_lshl_b32 s20, s96, 16
+; SI-NEXT: v_writelane_b32 v37, s76, 31
+; SI-NEXT: s_or_b32 s5, s5, s20
+; SI-NEXT: s_lshr_b32 s20, s75, 8
+; SI-NEXT: v_writelane_b32 v37, s77, 32
+; SI-NEXT: s_lshr_b64 s[76:77], s[58:59], 24
+; SI-NEXT: v_writelane_b32 v35, s20, 2
+; SI-NEXT: s_lshr_b32 s20, s73, 8
; SI-NEXT: v_writelane_b32 v37, s76, 41
+; SI-NEXT: v_writelane_b32 v35, s20, 1
+; SI-NEXT: s_lshr_b32 s20, s63, 8
; SI-NEXT: v_writelane_b32 v37, s77, 42
-; SI-NEXT: s_lshr_b64 s[76:77], s[46:47], 8
+; SI-NEXT: s_lshr_b64 s[76:77], s[58:59], 16
+; SI-NEXT: v_writelane_b32 v35, s20, 0
+; SI-NEXT: s_lshr_b32 s20, s59, 8
; SI-NEXT: v_writelane_b32 v37, s76, 39
+; SI-NEXT: v_writelane_b32 v36, s20, 63
+; SI-NEXT: s_lshr_b32 s20, s47, 8
; SI-NEXT: v_writelane_b32 v37, s77, 40
-; SI-NEXT: s_lshr_b64 s[76:77], s[60:61], 24
-; SI-NEXT: v_writelane_b32 v37, s76, 49
-; SI-NEXT: v_writelane_b32 v37, s77, 50
-; SI-NEXT: s_lshr_b64 s[76:77], s[60:61], 16
+; SI-NEXT: s_lshr_b64 s[76:77], s[58:59], 8
+; SI-NEXT: v_writelane_b32 v36, s20, 62
+; SI-NEXT: s_lshr_b32 s20, s61, 8
+; SI-NEXT: v_writelane_b32 v37, s76, 37
+; SI-NEXT: v_writelane_b32 v36, s20, 61
+; SI-NEXT: s_lshr_b32 s20, s57, 8
+; SI-NEXT: v_writelane_b32 v37, s77, 38
+; SI-NEXT: s_lshr_b64 s[76:77], s[46:47], 24
+; SI-NEXT: v_writelane_b32 v36, s20, 60
+; SI-NEXT: s_lshr_b32 s20, s45, 8
; SI-NEXT: v_writelane_b32 v37, s76, 47
+; SI-NEXT: v_writelane_b32 v36, s20, 59
+; SI-NEXT: s_lshr_b32 s20, s43, 8
; SI-NEXT: v_writelane_b32 v37, s77, 48
-; SI-NEXT: s_lshr_b64 s[76:77], s[60:61], 8
+; SI-NEXT: s_lshr_b64 s[76:77], s[46:47], 16
+; SI-NEXT: v_writelane_b32 v36, s20, 58
+; SI-NEXT: s_lshr_b32 s20, s41, 8
; SI-NEXT: v_writelane_b32 v37, s76, 45
+; SI-NEXT: v_writelane_b32 v36, s20, 57
+; SI-NEXT: s_lshr_b32 s20, s15, 8
; SI-NEXT: v_writelane_b32 v37, s77, 46
-; SI-NEXT: s_lshr_b64 s[76:77], s[56:57], 24
-; SI-NEXT: v_writelane_b32 v37, s76, 55
-; SI-NEXT: v_writelane_b32 v37, s77, 56
-; SI-NEXT: s_lshr_b64 s[76:77], s[56:57], 16
+; SI-NEXT: s_lshr_b64 s[76:77], s[46:47], 8
+; SI-NEXT: v_writelane_b32 v36, s20, 56
+; SI-NEXT: s_lshr_b32 s20, s13, 8
+; SI-NEXT: v_writelane_b32 v37, s76, 43
+; SI-NEXT: v_writelane_b32 v36, s20, 55
+; SI-NEXT: s_lshr_b32 s20, s11, 8
+; SI-NEXT: v_writelane_b32 v37, s77, 44
+; SI-NEXT: s_lshr_b64 s[76:77], s[60:61], 24
+; SI-NEXT: v_writelane_b32 v36, s20, 54
+; SI-NEXT: s_lshr_b32 s20, s9, 8
; SI-NEXT: v_writelane_b32 v37, s76, 53
+; SI-NEXT: v_writelane_b32 v36, s20, 53
+; SI-NEXT: s_lshr_b32 s20, s7, 8
; SI-NEXT: v_writelane_b32 v37, s77, 54
-; SI-NEXT: s_lshr_b64 s[76:77], s[56:57], 8
+; SI-NEXT: s_lshr_b64 s[76:77], s[60:61], 16
+; SI-NEXT: v_writelane_b32 v36, s20, 52
+; SI-NEXT: s_lshr_b32 s20, s5, 8
; SI-NEXT: v_writelane_b32 v37, s76, 51
+; SI-NEXT: v_writelane_b32 v36, s20, 51
+; SI-NEXT: s_bfe_u32 s20, s97, 0x80008
; SI-NEXT: v_writelane_b32 v37, s77, 52
-; SI-NEXT: s_lshr_b64 s[76:77], s[44:45], 24
-; SI-NEXT: v_writelane_b32 v37, s76, 61
-; SI-NEXT: v_writelane_b32 v37, s77, 62
-; SI-NEXT: s_lshr_b64 s[76:77], s[44:45], 16
+; SI-NEXT: s_lshr_b64 s[76:77], s[60:61], 8
+; SI-NEXT: v_writelane_b32 v36, s20, 50
+; SI-NEXT: s_bfe_u32 s20, s48, 0x80008
+; SI-NEXT: v_writelane_b32 v37, s76, 49
+; SI-NEXT: v_writelane_b32 v36, s20, 49
+; SI-NEXT: s_bfe_u32 s20, s50, 0x80008
+; SI-NEXT: v_writelane_b32 v37, s77, 50
+; SI-NEXT: s_lshr_b64 s[76:77], s[56:57], 24
+; SI-NEXT: v_writelane_b32 v36, s20, 48
+; SI-NEXT: s_bfe_u32 s20, s52, 0x80008
; SI-NEXT: v_writelane_b32 v37, s76, 59
+; SI-NEXT: v_writelane_b32 v36, s20, 47
+; SI-NEXT: s_bfe_u32 s20, s91, 0x80008
; SI-NEXT: v_writelane_b32 v37, s77, 60
-; SI-NEXT: s_lshr_b64 s[76:77], s[44:45], 8
+; SI-NEXT: s_lshr_b64 s[76:77], s[56:57], 16
+; SI-NEXT: v_writelane_b32 v36, s20, 46
+; SI-NEXT: s_bfe_u32 s20, s49, 0x80008
; SI-NEXT: v_writelane_b32 v37, s76, 57
+; SI-NEXT: v_writelane_b32 v36, s20, 45
+; SI-NEXT: s_bfe_u32 s20, s39, 0x80008
; SI-NEXT: v_writelane_b32 v37, s77, 58
-; SI-NEXT: s_lshr_b64 s[76:77], s[42:43], 24
-; SI-NEXT: v_writelane_b32 v36, s76, 3
-; SI-NEXT: v_writelane_b32 v36, s77, 4
-; SI-NEXT: s_lshr_b64 s[76:77], s[42:43], 16
+; SI-NEXT: s_lshr_b64 s[76:77], s[56:57], 8
+; SI-NEXT: v_writelane_b32 v36, s20, 44
+; SI-NEXT: s_bfe_u32 s20, s55, 0x80008
+; SI-NEXT: v_writelane_b32 v37, s76, 55
+; SI-NEXT: v_writelane_b32 v36, s20, 43
+; SI-NEXT: v_writelane_b32 v37, s77, 56
+; SI-NEXT: s_lshr_b64 s[76:77], s[44:45], 24
; SI-NEXT: v_writelane_b32 v36, s76, 1
; SI-NEXT: v_writelane_b32 v36, s77, 2
-; SI-NEXT: s_lshr_b64 s[76:77], s[42:43], 8
+; SI-NEXT: s_lshr_b64 s[76:77], s[44:45], 16
; SI-NEXT: v_writelane_b32 v37, s76, 63
; SI-NEXT: v_writelane_b32 v36, s77, 0
-; SI-NEXT: s_lshr_b64 s[76:77], s[40:41], 24
-; SI-NEXT: v_writelane_b32 v36, s76, 9
-; SI-NEXT: v_writelane_b32 v36, s77, 10
-; SI-NEXT: s_lshr_b64 s[76:77], s[40:41], 16
+; SI-NEXT: s_lshr_b64 s[76:77], s[44:45], 8
+; SI-NEXT: v_writelane_b32 v37, s76, 61
+; SI-NEXT: v_writelane_b32 v37, s77, 62
+; SI-NEXT: s_lshr_b64 s[76:77], s[42:43], 24
; SI-NEXT: v_writelane_b32 v36, s76, 7
; SI-NEXT: v_writelane_b32 v36, s77, 8
-; SI-NEXT: s_lshr_b64 s[76:77], s[40:41], 8
+; SI-NEXT: s_lshr_b64 s[76:77], s[42:43], 16
; SI-NEXT: v_writelane_b32 v36, s76, 5
; SI-NEXT: v_writelane_b32 v36, s77, 6
-; SI-NEXT: s_lshr_b64 s[76:77], s[14:15], 24
-; SI-NEXT: v_writelane_b32 v36, s76, 15
-; SI-NEXT: v_writelane_b32 v36, s77, 16
-; SI-NEXT: s_lshr_b64 s[76:77], s[14:15], 16
+; SI-NEXT: s_lshr_b64 s[76:77], s[42:43], 8
+; SI-NEXT: v_writelane_b32 v36, s76, 3
+; SI-NEXT: v_writelane_b32 v36, s77, 4
+; SI-NEXT: s_lshr_b64 s[76:77], s[40:41], 24
; SI-NEXT: v_writelane_b32 v36, s76, 13
; SI-NEXT: v_writelane_b32 v36, s77, 14
-; SI-NEXT: s_lshr_b64 s[76:77], s[14:15], 8
+; SI-NEXT: s_lshr_b64 s[76:77], s[40:41], 16
; SI-NEXT: v_writelane_b32 v36, s76, 11
; SI-NEXT: v_writelane_b32 v36, s77, 12
-; SI-NEXT: s_lshr_b64 s[76:77], s[12:13], 24
-; SI-NEXT: v_writelane_b32 v36, s76, 21
-; SI-NEXT: v_writelane_b32 v36, s77, 22
-; SI-NEXT: s_lshr_b64 s[76:77], s[12:13], 16
+; SI-NEXT: s_lshr_b64 s[76:77], s[40:41], 8
+; SI-NEXT: v_writelane_b32 v36, s76, 9
+; SI-NEXT: v_writelane_b32 v36, s77, 10
+; SI-NEXT: s_lshr_b64 s[76:77], s[14:15], 24
; SI-NEXT: v_writelane_b32 v36, s76, 19
; SI-NEXT: v_writelane_b32 v36, s77, 20
-; SI-NEXT: s_lshr_b64 s[76:77], s[12:13], 8
+; SI-NEXT: s_lshr_b64 s[76:77], s[14:15], 16
; SI-NEXT: v_writelane_b32 v36, s76, 17
; SI-NEXT: v_writelane_b32 v36, s77, 18
-; SI-NEXT: s_lshr_b64 s[76:77], s[10:11], 24
-; SI-NEXT: v_writelane_b32 v36, s76, 27
-; SI-NEXT: v_writelane_b32 v36, s77, 28
-; SI-NEXT: s_lshr_b64 s[76:77], s[10:11], 16
+; SI-NEXT: s_lshr_b64 s[76:77], s[14:15], 8
+; SI-NEXT: v_writelane_b32 v36, s76, 15
+; SI-NEXT: v_writelane_b32 v36, s77, 16
+; SI-NEXT: s_lshr_b64 s[76:77], s[12:13], 24
; SI-NEXT: v_writelane_b32 v36, s76, 25
; SI-NEXT: v_writelane_b32 v36, s77, 26
-; SI-NEXT: s_lshr_b64 s[76:77], s[10:11], 8
+; SI-NEXT: s_lshr_b64 s[76:77], s[12:13], 16
; SI-NEXT: v_writelane_b32 v36, s76, 23
; SI-NEXT: v_writelane_b32 v36, s77, 24
+; SI-NEXT: s_lshr_b64 s[76:77], s[12:13], 8
+; SI-NEXT: v_writelane_b32 v36, s76, 21
+; SI-NEXT: v_writelane_b32 v36, s77, 22
+; SI-NEXT: s_lshr_b64 s[76:77], s[10:11], 24
+; SI-NEXT: v_writelane_b32 v36, s76, 31
+; SI-NEXT: v_writelane_b32 v36, s77, 32
+; SI-NEXT: s_lshr_b64 s[76:77], s[10:11], 16
+; SI-NEXT: v_writelane_b32 v36, s76, 29
+; SI-NEXT: v_writelane_b32 v36, s77, 30
+; SI-NEXT: s_lshr_b64 s[76:77], s[10:11], 8
+; SI-NEXT: v_writelane_b32 v36, s76, 27
+; SI-NEXT: v_writelane_b32 v36, s77, 28
; SI-NEXT: s_lshr_b64 s[76:77], s[8:9], 24
-; SI-NEXT: v_writelane_b32 v36, s76, 33
-; SI-NEXT: v_writelane_b32 v36, s77, 34
-; SI-NEXT: s_mov_b32 s68, s79
+; SI-NEXT: s_mov_b32 s77, s79
; SI-NEXT: s_lshr_b64 s[78:79], s[8:9], 16
-; SI-NEXT: v_writelane_b32 v36, s78, 31
-; SI-NEXT: v_writelane_b32 v36, s79, 32
-; SI-NEXT: s_lshr_b64 s[78:79], s[8:9], 8
-; SI-NEXT: v_writelane_b32 v36, s78, 29
-; SI-NEXT: v_writelane_b32 v36, s79, 30
-; SI-NEXT: s_lshr_b64 s[78:79], s[6:7], 16
-; SI-NEXT: v_writelane_b32 v36, s78, 37
-; SI-NEXT: v_writelane_b32 v36, s79, 38
-; SI-NEXT: s_lshr_b64 s[78:79], s[6:7], 8
; SI-NEXT: v_writelane_b32 v36, s78, 35
-; SI-NEXT: s_lshr_b64 s[76:77], s[6:7], 24
; SI-NEXT: v_writelane_b32 v36, s79, 36
+; SI-NEXT: s_lshr_b64 s[78:79], s[8:9], 8
+; SI-NEXT: v_writelane_b32 v36, s78, 33
+; SI-NEXT: v_writelane_b32 v36, s79, 34
+; SI-NEXT: s_lshr_b64 s[82:83], s[6:7], 24
+; SI-NEXT: v_writelane_b32 v36, s82, 41
+; SI-NEXT: v_writelane_b32 v36, s83, 42
+; SI-NEXT: s_lshr_b64 s[82:83], s[6:7], 16
+; SI-NEXT: v_writelane_b32 v36, s82, 39
; SI-NEXT: s_lshr_b64 s[78:79], s[4:5], 24
-; SI-NEXT: s_lshr_b64 s[82:83], s[4:5], 8
-; SI-NEXT: s_mov_b32 s79, s68
+; SI-NEXT: s_bfe_u32 s22, s69, 0x80008
+; SI-NEXT: v_writelane_b32 v36, s83, 40
+; SI-NEXT: s_lshr_b64 s[82:83], s[6:7], 8
+; SI-NEXT: s_mov_b32 s79, s77
; SI-NEXT: s_mov_b32 s77, s69
; SI-NEXT: s_lshr_b64 s[68:69], s[4:5], 16
-; SI-NEXT: v_writelane_b32 v36, s82, 39
-; SI-NEXT: s_bfe_u32 s86, s81, 0x80008
-; SI-NEXT: s_bfe_u32 s87, s66, 0x80008
-; SI-NEXT: s_bfe_u32 s84, s64, 0x80008
-; SI-NEXT: s_bfe_u32 s85, s93, 0x80008
-; SI-NEXT: s_bfe_u32 s97, s35, 0x80008
-; SI-NEXT: s_bfe_u32 s98, s17, 0x80008
+; SI-NEXT: v_writelane_b32 v36, s82, 37
; SI-NEXT: s_mov_b32 s69, s77
-; SI-NEXT: v_writelane_b32 v36, s83, 40
+; SI-NEXT: s_mov_b32 s77, s99
+; SI-NEXT: s_lshr_b64 s[98:99], s[4:5], 8
+; SI-NEXT: s_mov_b32 s84, s30
+; SI-NEXT: s_bfe_u32 s20, s88, 0x80008
+; SI-NEXT: s_bfe_u32 s34, s81, 0x80008
+; SI-NEXT: s_bfe_u32 s35, s86, 0x80008
+; SI-NEXT: s_bfe_u32 s30, s67, 0x80008
+; SI-NEXT: s_bfe_u32 s31, s90, 0x80008
+; SI-NEXT: s_bfe_u32 s38, s94, 0x80008
+; SI-NEXT: s_bfe_u32 s23, s96, 0x80008
+; SI-NEXT: v_writelane_b32 v36, s83, 38
+; SI-NEXT: s_mov_b32 s99, s77
; SI-NEXT: s_mov_b64 s[82:83], 0
; SI-NEXT: s_branch .LBB95_3
; SI-NEXT: .LBB95_2:
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: ; implicit-def: $sgpr78
-; SI-NEXT: s_mov_b32 s99, s77
-; SI-NEXT: v_writelane_b32 v37, s4, 15
-; SI-NEXT: v_writelane_b32 v37, s5, 16
+; SI-NEXT: s_mov_b32 s84, s30
+; SI-NEXT: v_writelane_b32 v37, s4, 19
+; SI-NEXT: v_writelane_b32 v37, s5, 20
; SI-NEXT: ; implicit-def: $sgpr4
; SI-NEXT: s_mov_b64 s[82:83], -1
-; SI-NEXT: v_writelane_b32 v37, s4, 17
-; SI-NEXT: v_writelane_b32 v37, s5, 18
+; SI-NEXT: v_writelane_b32 v37, s4, 21
+; SI-NEXT: v_writelane_b32 v37, s5, 22
; SI-NEXT: ; implicit-def: $sgpr4
; SI-NEXT: ; implicit-def: $sgpr74
+; SI-NEXT: ; implicit-def: $sgpr22
; SI-NEXT: ; implicit-def: $sgpr72
; SI-NEXT: ; implicit-def: $sgpr62
; SI-NEXT: ; implicit-def: $sgpr58
; SI-NEXT: ; implicit-def: $sgpr46
-; SI-NEXT: ; implicit-def: $sgpr86
-; SI-NEXT: ; implicit-def: $sgpr87
-; SI-NEXT: ; implicit-def: $sgpr84
-; SI-NEXT: ; implicit-def: $sgpr85
-; SI-NEXT: ; implicit-def: $sgpr97
-; SI-NEXT: ; implicit-def: $sgpr98
+; SI-NEXT: ; implicit-def: $sgpr20
+; SI-NEXT: ; implicit-def: $sgpr34
+; SI-NEXT: ; implicit-def: $sgpr35
+; SI-NEXT: ; implicit-def: $sgpr30
+; SI-NEXT: ; implicit-def: $sgpr31
+; SI-NEXT: ; implicit-def: $sgpr38
+; SI-NEXT: ; implicit-def: $sgpr23
; SI-NEXT: ; implicit-def: $sgpr60
; SI-NEXT: ; implicit-def: $sgpr56
; SI-NEXT: ; implicit-def: $sgpr44
@@ -182991,28 +183012,18 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; SI-NEXT: ; implicit-def: $sgpr12
; SI-NEXT: ; implicit-def: $sgpr10
; SI-NEXT: ; implicit-def: $sgpr8
-; SI-NEXT: ; implicit-def: $sgpr6
; SI-NEXT: ; implicit-def: $sgpr76
+; SI-NEXT: ; implicit-def: $sgpr6
+; SI-NEXT: ; implicit-def: $sgpr98
; SI-NEXT: ; implicit-def: $sgpr68
-; SI-NEXT: v_writelane_b32 v37, s4, 19
-; SI-NEXT: v_writelane_b32 v37, s5, 20
-; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: ; kill: killed $sgpr4
-; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: ; kill: killed $sgpr4
-; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_writelane_b32 v37, s4, 21
-; SI-NEXT: v_writelane_b32 v37, s5, 22
-; SI-NEXT: ; implicit-def: $sgpr4
+; SI-NEXT: ; implicit-def: $sgpr78
; SI-NEXT: v_writelane_b32 v37, s4, 23
; SI-NEXT: v_writelane_b32 v37, s5, 24
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_writelane_b32 v37, s4, 25
-; SI-NEXT: v_writelane_b32 v37, s5, 26
-; SI-NEXT: ; implicit-def: $sgpr4
; SI-NEXT: ; kill: killed $sgpr4
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: ; kill: killed $sgpr4
+; SI-NEXT: v_writelane_b32 v37, s4, 25
+; SI-NEXT: v_writelane_b32 v37, s5, 26
; SI-NEXT: ; implicit-def: $sgpr4
; SI-NEXT: v_writelane_b32 v37, s4, 27
; SI-NEXT: v_writelane_b32 v37, s5, 28
@@ -183020,25 +183031,31 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; SI-NEXT: v_writelane_b32 v37, s4, 29
; SI-NEXT: v_writelane_b32 v37, s5, 30
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_writelane_b32 v37, s4, 31
-; SI-NEXT: v_writelane_b32 v37, s5, 32
-; SI-NEXT: ; implicit-def: $sgpr4
; SI-NEXT: ; kill: killed $sgpr4
; SI-NEXT: ; implicit-def: $sgpr4
; SI-NEXT: ; kill: killed $sgpr4
; SI-NEXT: ; implicit-def: $sgpr4
+; SI-NEXT: v_writelane_b32 v37, s4, 31
+; SI-NEXT: v_writelane_b32 v37, s5, 32
+; SI-NEXT: ; implicit-def: $sgpr4
; SI-NEXT: v_writelane_b32 v37, s4, 33
; SI-NEXT: v_writelane_b32 v37, s5, 34
; SI-NEXT: ; implicit-def: $sgpr4
; SI-NEXT: v_writelane_b32 v37, s4, 35
; SI-NEXT: v_writelane_b32 v37, s5, 36
; SI-NEXT: ; implicit-def: $sgpr4
+; SI-NEXT: ; kill: killed $sgpr4
+; SI-NEXT: ; implicit-def: $sgpr4
+; SI-NEXT: ; kill: killed $sgpr4
+; SI-NEXT: ; implicit-def: $sgpr4
; SI-NEXT: v_writelane_b32 v37, s4, 37
; SI-NEXT: v_writelane_b32 v37, s5, 38
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: ; kill: killed $sgpr4
+; SI-NEXT: v_writelane_b32 v37, s4, 39
+; SI-NEXT: v_writelane_b32 v37, s5, 40
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: ; kill: killed $sgpr4
+; SI-NEXT: v_writelane_b32 v37, s4, 41
+; SI-NEXT: v_writelane_b32 v37, s5, 42
; SI-NEXT: ; implicit-def: $sgpr4
; SI-NEXT: ; kill: killed $sgpr4
; SI-NEXT: ; implicit-def: $sgpr4
@@ -183076,11 +183093,7 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; SI-NEXT: ; implicit-def: $sgpr4
; SI-NEXT: ; kill: killed $sgpr4
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_writelane_b32 v37, s4, 39
-; SI-NEXT: v_writelane_b32 v37, s5, 40
-; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_writelane_b32 v37, s4, 41
-; SI-NEXT: v_writelane_b32 v37, s5, 42
+; SI-NEXT: ; kill: killed $sgpr4
; SI-NEXT: ; implicit-def: $sgpr4
; SI-NEXT: v_writelane_b32 v37, s4, 43
; SI-NEXT: v_writelane_b32 v37, s5, 44
@@ -183171,28 +183184,31 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; SI-NEXT: ; implicit-def: $sgpr4
; SI-NEXT: v_writelane_b32 v36, s4, 37
; SI-NEXT: v_writelane_b32 v36, s5, 38
-; SI-NEXT: v_writelane_b32 v36, s78, 39
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_writelane_b32 v36, s79, 40
-; SI-NEXT: ; implicit-def: $sgpr78
+; SI-NEXT: v_writelane_b32 v36, s4, 39
+; SI-NEXT: v_writelane_b32 v36, s5, 40
+; SI-NEXT: ; implicit-def: $sgpr4
+; SI-NEXT: v_writelane_b32 v36, s4, 41
+; SI-NEXT: v_writelane_b32 v36, s5, 42
+; SI-NEXT: ; implicit-def: $sgpr4
; SI-NEXT: .LBB95_3: ; %Flow
; SI-NEXT: s_and_b64 s[82:83], s[82:83], exec
; SI-NEXT: s_cselect_b32 s77, 1, 0
; SI-NEXT: s_cmp_lg_u32 s77, 1
; SI-NEXT: s_cbranch_scc1 .LBB95_5
; SI-NEXT: ; %bb.4: ; %cmp.true
-; SI-NEXT: v_cvt_f32_f16_e32 v2, s16
-; SI-NEXT: v_cvt_f32_f16_e32 v1, s96
-; SI-NEXT: v_cvt_f32_f16_e32 v3, s17
-; SI-NEXT: v_readlane_b32 s12, v37, 14
+; SI-NEXT: v_cvt_f32_f16_e32 v2, s36
+; SI-NEXT: v_cvt_f32_f16_e32 v1, s37
+; SI-NEXT: v_cvt_f32_f16_e32 v3, s96
+; SI-NEXT: v_readlane_b32 s8, v37, 18
; SI-NEXT: v_add_f32_e32 v2, 0x38000000, v2
; SI-NEXT: v_cvt_f16_f32_e32 v2, v2
; SI-NEXT: v_add_f32_e32 v1, 0x38000000, v1
; SI-NEXT: v_cvt_f16_f32_e32 v4, v1
; SI-NEXT: v_add_f32_e32 v1, 0x38000000, v3
; SI-NEXT: v_readfirstlane_b32 s5, v2
-; SI-NEXT: v_cvt_f32_f16_e32 v2, s95
-; SI-NEXT: v_cvt_f32_f16_e32 v3, s31
+; SI-NEXT: v_cvt_f32_f16_e32 v2, s93
+; SI-NEXT: v_cvt_f32_f16_e32 v3, s84
; SI-NEXT: v_cvt_f16_f32_e32 v1, v1
; SI-NEXT: v_readfirstlane_b32 s4, v4
; SI-NEXT: v_add_f32_e32 v2, 0x38000000, v2
@@ -183204,17 +183220,17 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; SI-NEXT: v_readfirstlane_b32 s5, v1
; SI-NEXT: s_lshl_b32 s5, s5, 16
; SI-NEXT: v_readfirstlane_b32 s6, v2
-; SI-NEXT: v_cvt_f32_f16_e32 v2, s30
+; SI-NEXT: v_cvt_f32_f16_e32 v2, s95
; SI-NEXT: s_or_b32 s5, s6, s5
; SI-NEXT: v_readfirstlane_b32 s6, v3
-; SI-NEXT: v_cvt_f32_f16_e32 v3, s35
+; SI-NEXT: v_cvt_f32_f16_e32 v3, s94
; SI-NEXT: v_add_f32_e32 v2, 0x38000000, v2
; SI-NEXT: v_cvt_f16_f32_e32 v4, v2
; SI-NEXT: s_lshl_b32 s6, s6, 16
; SI-NEXT: v_add_f32_e32 v2, 0x38000000, v3
-; SI-NEXT: v_cvt_f32_f16_e32 v3, s34
+; SI-NEXT: v_cvt_f32_f16_e32 v3, s16
; SI-NEXT: v_readfirstlane_b32 s7, v4
-; SI-NEXT: v_cvt_f32_f16_e32 v4, s37
+; SI-NEXT: v_cvt_f32_f16_e32 v4, s8
; SI-NEXT: v_cvt_f16_f32_e32 v2, v2
; SI-NEXT: v_add_f32_e32 v3, 0x38000000, v3
; SI-NEXT: v_cvt_f16_f32_e32 v3, v3
@@ -183222,37 +183238,38 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; SI-NEXT: v_cvt_f16_f32_e32 v4, v4
; SI-NEXT: s_or_b32 s6, s7, s6
; SI-NEXT: v_readfirstlane_b32 s8, v3
-; SI-NEXT: v_cvt_f32_f16_e32 v3, s36
+; SI-NEXT: v_cvt_f32_f16_e32 v3, s17
; SI-NEXT: v_readfirstlane_b32 s7, v2
; SI-NEXT: s_lshl_b32 s7, s7, 16
; SI-NEXT: s_or_b32 s7, s8, s7
; SI-NEXT: v_readfirstlane_b32 s8, v4
-; SI-NEXT: v_cvt_f32_f16_e32 v4, s93
+; SI-NEXT: v_cvt_f32_f16_e32 v4, s90
; SI-NEXT: v_add_f32_e32 v3, 0x38000000, v3
; SI-NEXT: v_cvt_f16_f32_e32 v5, v3
-; SI-NEXT: s_lshl_b32 s8, s8, 16
+; SI-NEXT: v_readlane_b32 s10, v37, 17
; SI-NEXT: v_add_f32_e32 v3, 0x38000000, v4
-; SI-NEXT: v_cvt_f32_f16_e32 v4, s92
+; SI-NEXT: v_cvt_f32_f16_e32 v4, s65
; SI-NEXT: v_readfirstlane_b32 s9, v5
-; SI-NEXT: v_cvt_f32_f16_e32 v5, s99
+; SI-NEXT: v_cvt_f32_f16_e32 v5, s10
; SI-NEXT: v_cvt_f16_f32_e32 v3, v3
; SI-NEXT: v_add_f32_e32 v4, 0x38000000, v4
; SI-NEXT: v_cvt_f16_f32_e32 v4, v4
; SI-NEXT: v_add_f32_e32 v5, 0x38000000, v5
; SI-NEXT: v_cvt_f16_f32_e32 v5, v5
+; SI-NEXT: s_lshl_b32 s8, s8, 16
; SI-NEXT: s_or_b32 s8, s9, s8
; SI-NEXT: v_readfirstlane_b32 s9, v3
; SI-NEXT: s_lshl_b32 s9, s9, 16
; SI-NEXT: v_readfirstlane_b32 s10, v4
-; SI-NEXT: v_cvt_f32_f16_e32 v4, s94
+; SI-NEXT: v_cvt_f32_f16_e32 v4, s64
; SI-NEXT: s_or_b32 s9, s10, s9
; SI-NEXT: v_readfirstlane_b32 s10, v5
-; SI-NEXT: v_cvt_f32_f16_e32 v5, s64
+; SI-NEXT: v_cvt_f32_f16_e32 v5, s67
; SI-NEXT: v_add_f32_e32 v4, 0x38000000, v4
; SI-NEXT: v_cvt_f16_f32_e32 v6, v4
-; SI-NEXT: s_lshl_b32 s10, s10, 16
+; SI-NEXT: v_readlane_b32 s12, v37, 16
; SI-NEXT: v_add_f32_e32 v4, 0x38000000, v5
-; SI-NEXT: v_cvt_f32_f16_e32 v5, s65
+; SI-NEXT: v_cvt_f32_f16_e32 v5, s66
; SI-NEXT: v_readfirstlane_b32 s11, v6
; SI-NEXT: v_cvt_f32_f16_e32 v6, s12
; SI-NEXT: v_cvt_f16_f32_e32 v4, v4
@@ -183260,17 +183277,18 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; SI-NEXT: v_cvt_f16_f32_e32 v5, v5
; SI-NEXT: v_add_f32_e32 v6, 0x38000000, v6
; SI-NEXT: v_cvt_f16_f32_e32 v6, v6
-; SI-NEXT: s_or_b32 s10, s11, s10
+; SI-NEXT: s_lshl_b32 s10, s10, 16
; SI-NEXT: v_readfirstlane_b32 s12, v5
-; SI-NEXT: v_cvt_f32_f16_e32 v5, s67
+; SI-NEXT: v_cvt_f32_f16_e32 v5, s92
+; SI-NEXT: s_or_b32 s10, s11, s10
; SI-NEXT: v_readfirstlane_b32 s11, v4
; SI-NEXT: s_lshl_b32 s11, s11, 16
; SI-NEXT: s_or_b32 s11, s12, s11
; SI-NEXT: v_readfirstlane_b32 s12, v6
-; SI-NEXT: v_cvt_f32_f16_e32 v6, s66
+; SI-NEXT: v_cvt_f32_f16_e32 v6, s86
; SI-NEXT: v_add_f32_e32 v5, 0x38000000, v5
; SI-NEXT: v_cvt_f16_f32_e32 v7, v5
-; SI-NEXT: v_readlane_b32 s14, v37, 13
+; SI-NEXT: v_readlane_b32 s14, v37, 15
; SI-NEXT: v_add_f32_e32 v5, 0x38000000, v6
; SI-NEXT: v_cvt_f32_f16_e32 v6, s71
; SI-NEXT: v_readfirstlane_b32 s13, v7
@@ -183291,7 +183309,7 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; SI-NEXT: v_cvt_f32_f16_e32 v7, s81
; SI-NEXT: v_add_f32_e32 v6, 0x38000000, v6
; SI-NEXT: v_cvt_f16_f32_e32 v8, v6
-; SI-NEXT: v_readlane_b32 s16, v37, 12
+; SI-NEXT: v_readlane_b32 s16, v37, 14
; SI-NEXT: v_add_f32_e32 v6, 0x38000000, v7
; SI-NEXT: v_cvt_f32_f16_e32 v7, s80
; SI-NEXT: v_readfirstlane_b32 s15, v8
@@ -183317,7 +183335,7 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; SI-NEXT: s_or_b32 s40, s17, s16
; SI-NEXT: v_add_f32_e32 v7, 0x38000000, v8
; SI-NEXT: v_cvt_f32_f16_e32 v8, vcc_hi
-; SI-NEXT: v_readlane_b32 s17, v37, 11
+; SI-NEXT: v_readlane_b32 s17, v37, 13
; SI-NEXT: v_cvt_f32_f16_e32 v9, s17
; SI-NEXT: v_cvt_f16_f32_e32 v7, v7
; SI-NEXT: v_add_f32_e32 v8, 0x38000000, v8
@@ -183338,12 +183356,12 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; SI-NEXT: v_cvt_f32_f16_e32 v9, s54
; SI-NEXT: v_readfirstlane_b32 s17, v10
; SI-NEXT: s_or_b32 s42, s17, s16
-; SI-NEXT: v_readlane_b32 s17, v37, 10
+; SI-NEXT: v_readlane_b32 s17, v37, 12
; SI-NEXT: v_add_f32_e32 v9, 0x38000000, v9
; SI-NEXT: v_cvt_f16_f32_e32 v9, v9
; SI-NEXT: v_cvt_f32_f16_e32 v10, s17
; SI-NEXT: v_cvt_f16_f32_e32 v8, v8
-; SI-NEXT: s_lshr_b64 s[64:65], s[14:15], 8
+; SI-NEXT: v_readlane_b32 s20, v37, 6
; SI-NEXT: v_readfirstlane_b32 s17, v9
; SI-NEXT: v_cvt_f32_f16_e32 v9, s51
; SI-NEXT: v_add_f32_e32 v10, 0x38000000, v10
@@ -183360,7 +183378,7 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; SI-NEXT: s_or_b32 s44, s17, s16
; SI-NEXT: v_add_f32_e32 v9, 0x38000000, v10
; SI-NEXT: v_cvt_f32_f16_e32 v10, s53
-; SI-NEXT: v_readlane_b32 s17, v37, 8
+; SI-NEXT: v_readlane_b32 s17, v37, 11
; SI-NEXT: v_cvt_f32_f16_e32 v11, s17
; SI-NEXT: v_cvt_f16_f32_e32 v9, v9
; SI-NEXT: v_add_f32_e32 v10, 0x38000000, v10
@@ -183381,12 +183399,12 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; SI-NEXT: v_cvt_f32_f16_e32 v11, s29
; SI-NEXT: v_readfirstlane_b32 s17, v12
; SI-NEXT: s_or_b32 s56, s17, s16
-; SI-NEXT: v_readlane_b32 s17, v37, 7
+; SI-NEXT: v_readlane_b32 s17, v37, 10
; SI-NEXT: v_add_f32_e32 v11, 0x38000000, v11
; SI-NEXT: v_cvt_f16_f32_e32 v11, v11
; SI-NEXT: v_cvt_f32_f16_e32 v12, s17
; SI-NEXT: v_cvt_f16_f32_e32 v10, v10
-; SI-NEXT: v_writelane_b32 v36, s64, 11
+; SI-NEXT: s_lshr_b64 s[64:65], s[14:15], 8
; SI-NEXT: v_readfirstlane_b32 s17, v11
; SI-NEXT: v_cvt_f32_f16_e32 v11, s26
; SI-NEXT: v_add_f32_e32 v12, 0x38000000, v12
@@ -183397,13 +183415,13 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; SI-NEXT: v_cvt_f16_f32_e32 v13, v11
; SI-NEXT: s_or_b32 s57, s17, s16
; SI-NEXT: v_readfirstlane_b32 s16, v12
-; SI-NEXT: v_cvt_f32_f16_e32 v12, s38
+; SI-NEXT: v_cvt_f32_f16_e32 v12, s91
; SI-NEXT: s_lshl_b32 s16, s16, 16
; SI-NEXT: v_readfirstlane_b32 s17, v13
; SI-NEXT: s_or_b32 s60, s17, s16
; SI-NEXT: v_add_f32_e32 v11, 0x38000000, v12
; SI-NEXT: v_cvt_f32_f16_e32 v12, s27
-; SI-NEXT: v_readlane_b32 s17, v37, 6
+; SI-NEXT: v_readlane_b32 s17, v37, 9
; SI-NEXT: v_cvt_f32_f16_e32 v13, s17
; SI-NEXT: v_cvt_f16_f32_e32 v11, v11
; SI-NEXT: v_add_f32_e32 v12, 0x38000000, v12
@@ -183424,24 +183442,24 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; SI-NEXT: v_cvt_f32_f16_e32 v13, s25
; SI-NEXT: v_readfirstlane_b32 s17, v14
; SI-NEXT: s_or_b32 s46, s17, s16
-; SI-NEXT: v_readlane_b32 s17, v37, 4
+; SI-NEXT: v_readlane_b32 s17, v37, 8
; SI-NEXT: v_add_f32_e32 v13, 0x38000000, v13
; SI-NEXT: v_cvt_f16_f32_e32 v13, v13
; SI-NEXT: v_cvt_f32_f16_e32 v14, s17
; SI-NEXT: v_cvt_f16_f32_e32 v12, v12
-; SI-NEXT: v_writelane_b32 v36, s65, 12
+; SI-NEXT: v_cvt_f32_f16_e32 v16, s85
; SI-NEXT: v_readfirstlane_b32 s17, v13
-; SI-NEXT: v_cvt_f32_f16_e32 v13, s22
+; SI-NEXT: v_cvt_f32_f16_e32 v13, s20
; SI-NEXT: v_readfirstlane_b32 s16, v12
; SI-NEXT: s_lshl_b32 s16, s16, 16
; SI-NEXT: v_add_f32_e32 v14, 0x38000000, v14
; SI-NEXT: v_add_f32_e32 v13, 0x38000000, v13
; SI-NEXT: v_cvt_f16_f32_e32 v13, v13
+; SI-NEXT: v_readlane_b32 s20, v37, 2
; SI-NEXT: v_cvt_f16_f32_e32 v14, v14
; SI-NEXT: s_or_b32 s47, s17, s16
-; SI-NEXT: s_lshr_b64 s[64:65], s[12:13], 24
; SI-NEXT: v_readfirstlane_b32 s17, v13
-; SI-NEXT: v_cvt_f32_f16_e32 v13, s23
+; SI-NEXT: v_cvt_f32_f16_e32 v13, s20
; SI-NEXT: v_readfirstlane_b32 s16, v14
; SI-NEXT: v_cvt_f32_f16_e32 v14, s50
; SI-NEXT: s_lshl_b32 s16, s16, 16
@@ -183449,106 +183467,108 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; SI-NEXT: v_cvt_f16_f32_e32 v13, v13
; SI-NEXT: v_add_f32_e32 v14, 0x38000000, v14
; SI-NEXT: s_or_b32 s58, s17, s16
-; SI-NEXT: v_readlane_b32 s17, v37, 2
+; SI-NEXT: v_readlane_b32 s17, v37, 4
+; SI-NEXT: v_readlane_b32 s20, v37, 0
; SI-NEXT: v_cvt_f16_f32_e32 v15, v14
; SI-NEXT: v_cvt_f32_f16_e32 v14, s17
; SI-NEXT: v_readfirstlane_b32 s17, v13
; SI-NEXT: v_cvt_f32_f16_e32 v13, s20
; SI-NEXT: v_readfirstlane_b32 s16, v15
-; SI-NEXT: v_add_f32_e32 v14, 0x38000000, v14
-; SI-NEXT: v_cvt_f16_f32_e32 v14, v14
-; SI-NEXT: v_add_f32_e32 v13, 0x38000000, v13
-; SI-NEXT: v_cvt_f16_f32_e32 v13, v13
; SI-NEXT: s_lshl_b32 s16, s16, 16
; SI-NEXT: s_or_b32 s59, s17, s16
-; SI-NEXT: v_readfirstlane_b32 s16, v14
+; SI-NEXT: v_add_f32_e32 v13, 0x38000000, v13
+; SI-NEXT: v_cvt_f16_f32_e32 v13, v13
+; SI-NEXT: v_add_f32_e32 v14, 0x38000000, v14
+; SI-NEXT: v_cvt_f16_f32_e32 v14, v14
+; SI-NEXT: s_lshr_b64 s[22:23], s[58:59], 16
; SI-NEXT: v_readfirstlane_b32 s17, v13
; SI-NEXT: v_cvt_f32_f16_e32 v13, s21
+; SI-NEXT: v_readfirstlane_b32 s16, v14
; SI-NEXT: v_cvt_f32_f16_e32 v14, s48
; SI-NEXT: s_lshl_b32 s16, s16, 16
-; SI-NEXT: s_or_b32 s62, s17, s16
; SI-NEXT: v_add_f32_e32 v13, 0x38000000, v13
-; SI-NEXT: v_add_f32_e32 v14, 0x38000000, v14
-; SI-NEXT: v_readlane_b32 s17, v37, 0
; SI-NEXT: v_cvt_f16_f32_e32 v13, v13
-; SI-NEXT: v_cvt_f16_f32_e32 v19, v14
-; SI-NEXT: v_cvt_f32_f16_e32 v14, s17
-; SI-NEXT: v_writelane_b32 v36, s64, 21
+; SI-NEXT: s_or_b32 s62, s17, s16
+; SI-NEXT: v_add_f32_e32 v14, 0x38000000, v14
+; SI-NEXT: v_cvt_f16_f32_e32 v18, v14
; SI-NEXT: v_readfirstlane_b32 s17, v13
; SI-NEXT: v_cvt_f32_f16_e32 v13, s18
-; SI-NEXT: v_add_f32_e32 v14, 0x38000000, v14
-; SI-NEXT: v_cvt_f16_f32_e32 v14, v14
-; SI-NEXT: v_readfirstlane_b32 s16, v19
-; SI-NEXT: v_add_f32_e32 v13, 0x38000000, v13
+; SI-NEXT: v_cvt_f32_f16_e32 v14, s99
+; SI-NEXT: v_readfirstlane_b32 s16, v18
; SI-NEXT: s_lshl_b32 s16, s16, 16
+; SI-NEXT: v_add_f32_e32 v13, 0x38000000, v13
; SI-NEXT: v_cvt_f16_f32_e32 v13, v13
; SI-NEXT: s_or_b32 s63, s17, s16
-; SI-NEXT: v_readfirstlane_b32 s16, v14
-; SI-NEXT: v_cvt_f32_f16_e32 v14, s91
-; SI-NEXT: s_lshl_b32 s16, s16, 16
+; SI-NEXT: v_add_f32_e32 v14, 0x38000000, v14
+; SI-NEXT: v_cvt_f16_f32_e32 v14, v14
; SI-NEXT: v_readfirstlane_b32 s17, v13
-; SI-NEXT: v_writelane_b32 v36, s65, 22
+; SI-NEXT: v_cvt_f32_f16_e32 v13, s19
+; SI-NEXT: s_lshr_b64 s[18:19], s[56:57], 24
+; SI-NEXT: v_writelane_b32 v37, s18, 59
+; SI-NEXT: v_writelane_b32 v37, s19, 60
+; SI-NEXT: s_lshr_b64 s[18:19], s[56:57], 16
+; SI-NEXT: v_writelane_b32 v37, s18, 57
+; SI-NEXT: v_writelane_b32 v37, s19, 58
+; SI-NEXT: s_lshr_b64 s[18:19], s[44:45], 24
+; SI-NEXT: v_writelane_b32 v36, s18, 1
+; SI-NEXT: v_writelane_b32 v36, s19, 2
+; SI-NEXT: v_readfirstlane_b32 s16, v14
+; SI-NEXT: v_cvt_f32_f16_e32 v14, s97
+; SI-NEXT: v_writelane_b32 v36, s64, 15
+; SI-NEXT: v_writelane_b32 v36, s65, 16
+; SI-NEXT: s_lshr_b64 s[64:65], s[12:13], 24
+; SI-NEXT: v_writelane_b32 v36, s64, 25
+; SI-NEXT: v_writelane_b32 v36, s65, 26
; SI-NEXT: s_lshr_b64 s[64:65], s[10:11], 24
; SI-NEXT: v_add_f32_e32 v14, 0x38000000, v14
-; SI-NEXT: s_or_b32 s72, s17, s16
-; SI-NEXT: v_cvt_f32_f16_e32 v13, s19
-; SI-NEXT: v_readlane_b32 s17, v37, 9
-; SI-NEXT: v_writelane_b32 v36, s64, 27
+; SI-NEXT: v_writelane_b32 v36, s64, 31
; SI-NEXT: v_cvt_f16_f32_e32 v22, v14
-; SI-NEXT: v_cvt_f32_f16_e32 v14, s17
-; SI-NEXT: v_writelane_b32 v36, s65, 28
+; SI-NEXT: v_cvt_f32_f16_e32 v14, s87
+; SI-NEXT: v_writelane_b32 v36, s65, 32
; SI-NEXT: s_lshr_b64 s[64:65], s[10:11], 16
-; SI-NEXT: v_writelane_b32 v36, s64, 25
-; SI-NEXT: v_writelane_b32 v36, s65, 26
+; SI-NEXT: v_writelane_b32 v36, s64, 29
+; SI-NEXT: v_writelane_b32 v36, s65, 30
; SI-NEXT: s_lshr_b64 s[64:65], s[10:11], 8
; SI-NEXT: v_add_f32_e32 v13, 0x38000000, v13
-; SI-NEXT: v_writelane_b32 v36, s64, 23
+; SI-NEXT: v_writelane_b32 v36, s64, 27
; SI-NEXT: v_cvt_f16_f32_e32 v13, v13
; SI-NEXT: v_add_f32_e32 v14, 0x38000000, v14
-; SI-NEXT: v_cvt_f32_f16_e32 v16, s69
-; SI-NEXT: s_lshr_b64 s[18:19], s[56:57], 24
-; SI-NEXT: v_writelane_b32 v36, s65, 24
+; SI-NEXT: v_writelane_b32 v36, s65, 28
; SI-NEXT: s_lshr_b64 s[64:65], s[8:9], 24
; SI-NEXT: v_cvt_f16_f32_e32 v14, v14
-; SI-NEXT: v_writelane_b32 v37, s18, 55
-; SI-NEXT: v_writelane_b32 v36, s64, 33
-; SI-NEXT: v_writelane_b32 v37, s19, 56
-; SI-NEXT: s_lshr_b64 s[18:19], s[56:57], 16
-; SI-NEXT: v_writelane_b32 v36, s65, 34
+; SI-NEXT: v_writelane_b32 v37, s64, 6
+; SI-NEXT: s_lshl_b32 s16, s16, 16
+; SI-NEXT: v_writelane_b32 v37, s65, 7
; SI-NEXT: s_lshr_b64 s[64:65], s[8:9], 16
+; SI-NEXT: s_or_b32 s72, s17, s16
; SI-NEXT: v_readfirstlane_b32 s16, v22
-; SI-NEXT: v_writelane_b32 v37, s18, 53
-; SI-NEXT: v_writelane_b32 v36, s64, 31
+; SI-NEXT: v_writelane_b32 v36, s64, 35
; SI-NEXT: s_lshl_b32 s16, s16, 16
; SI-NEXT: v_readfirstlane_b32 s17, v13
; SI-NEXT: v_add_f32_e32 v13, 0x38000000, v16
-; SI-NEXT: v_writelane_b32 v37, s19, 54
-; SI-NEXT: s_lshr_b64 s[18:19], s[44:45], 24
-; SI-NEXT: v_writelane_b32 v36, s65, 32
+; SI-NEXT: v_writelane_b32 v36, s65, 36
; SI-NEXT: s_lshr_b64 s[64:65], s[8:9], 8
; SI-NEXT: s_or_b32 s73, s17, s16
; SI-NEXT: v_readfirstlane_b32 s16, v14
; SI-NEXT: v_cvt_f16_f32_e32 v13, v13
-; SI-NEXT: v_cvt_f32_f16_e32 v14, s90
-; SI-NEXT: v_writelane_b32 v37, s18, 61
-; SI-NEXT: v_writelane_b32 v36, s64, 29
+; SI-NEXT: v_cvt_f32_f16_e32 v14, s69
+; SI-NEXT: v_writelane_b32 v36, s64, 33
; SI-NEXT: v_cvt_f32_f16_e32 v16, s79
-; SI-NEXT: v_writelane_b32 v37, s19, 62
-; SI-NEXT: v_writelane_b32 v36, s65, 30
+; SI-NEXT: v_writelane_b32 v36, s65, 34
; SI-NEXT: s_lshr_b64 s[64:65], s[6:7], 24
-; SI-NEXT: v_writelane_b32 v37, s64, 4
-; SI-NEXT: v_writelane_b32 v37, s65, 5
+; SI-NEXT: v_writelane_b32 v36, s64, 41
+; SI-NEXT: v_writelane_b32 v36, s65, 42
; SI-NEXT: s_lshr_b64 s[64:65], s[6:7], 16
; SI-NEXT: v_readfirstlane_b32 s17, v13
; SI-NEXT: v_add_f32_e32 v13, 0x38000000, v14
-; SI-NEXT: v_writelane_b32 v36, s64, 37
+; SI-NEXT: v_writelane_b32 v36, s64, 39
; SI-NEXT: v_cvt_f16_f32_e32 v26, v13
; SI-NEXT: v_add_f32_e32 v13, 0x38000000, v16
-; SI-NEXT: v_writelane_b32 v36, s65, 38
+; SI-NEXT: v_writelane_b32 v36, s65, 40
; SI-NEXT: s_lshr_b64 s[64:65], s[6:7], 8
; SI-NEXT: v_cvt_f16_f32_e32 v13, v13
-; SI-NEXT: v_writelane_b32 v36, s64, 35
-; SI-NEXT: v_writelane_b32 v36, s65, 36
+; SI-NEXT: v_writelane_b32 v36, s64, 37
+; SI-NEXT: v_writelane_b32 v36, s65, 38
; SI-NEXT: s_lshr_b64 s[64:65], s[4:5], 24
; SI-NEXT: s_lshl_b32 s16, s16, 16
; SI-NEXT: v_writelane_b32 v37, s64, 0
@@ -183558,9 +183578,9 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; SI-NEXT: s_lshr_b64 s[64:65], s[4:5], 16
; SI-NEXT: s_lshl_b32 s16, s16, 16
; SI-NEXT: v_readfirstlane_b32 s17, v13
-; SI-NEXT: v_writelane_b32 v37, s64, 2
+; SI-NEXT: v_writelane_b32 v37, s64, 4
; SI-NEXT: s_or_b32 s75, s17, s16
-; SI-NEXT: v_writelane_b32 v37, s65, 3
+; SI-NEXT: v_writelane_b32 v37, s65, 5
; SI-NEXT: s_lshr_b64 s[64:65], s[4:5], 8
; SI-NEXT: s_lshr_b64 s[50:51], s[74:75], 24
; SI-NEXT: s_lshr_b64 s[90:91], s[74:75], 16
@@ -183570,7 +183590,6 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; SI-NEXT: s_lshr_b64 s[48:49], s[72:73], 8
; SI-NEXT: s_lshr_b64 s[30:31], s[62:63], 16
; SI-NEXT: s_lshr_b64 s[34:35], s[62:63], 8
-; SI-NEXT: s_lshr_b64 s[22:23], s[58:59], 16
; SI-NEXT: s_lshr_b64 s[26:27], s[58:59], 8
; SI-NEXT: s_lshr_b64 s[96:97], s[46:47], 24
; SI-NEXT: s_lshr_b64 s[76:77], s[46:47], 8
@@ -183579,7 +183598,7 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; SI-NEXT: s_lshr_b64 s[86:87], s[60:61], 8
; SI-NEXT: s_lshr_b64 s[68:69], s[56:57], 8
; SI-NEXT: s_lshr_b64 s[70:71], s[12:13], 16
-; SI-NEXT: v_writelane_b32 v36, s64, 39
+; SI-NEXT: v_writelane_b32 v37, s64, 2
; SI-NEXT: s_lshr_b64 s[16:17], s[62:63], 24
; SI-NEXT: s_lshr_b64 s[20:21], s[58:59], 24
; SI-NEXT: s_lshr_b64 s[98:99], s[46:47], 16
@@ -183601,7 +183620,7 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; SI-NEXT: s_lshr_b32 s23, s5, 8
; SI-NEXT: v_bfe_u32 v32, v26, 8, 8
; SI-NEXT: v_bfe_u32 v31, v22, 8, 8
-; SI-NEXT: v_bfe_u32 v30, v19, 8, 8
+; SI-NEXT: v_bfe_u32 v30, v18, 8, 8
; SI-NEXT: v_bfe_u32 v29, v15, 8, 8
; SI-NEXT: v_bfe_u32 v28, v12, 8, 8
; SI-NEXT: v_bfe_u32 v27, v11, 8, 8
@@ -183610,7 +183629,7 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; SI-NEXT: v_bfe_u32 v23, v8, 8, 8
; SI-NEXT: v_bfe_u32 v21, v7, 8, 8
; SI-NEXT: v_bfe_u32 v20, v6, 8, 8
-; SI-NEXT: v_bfe_u32 v18, v5, 8, 8
+; SI-NEXT: v_bfe_u32 v19, v5, 8, 8
; SI-NEXT: v_bfe_u32 v17, v4, 8, 8
; SI-NEXT: v_bfe_u32 v16, v3, 8, 8
; SI-NEXT: v_bfe_u32 v14, v2, 8, 8
@@ -183626,120 +183645,120 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; SI-NEXT: s_lshr_b64 s[54:55], s[14:15], 24
; SI-NEXT: s_lshr_b64 s[80:81], s[14:15], 16
; SI-NEXT: s_lshr_b64 s[66:67], s[12:13], 8
-; SI-NEXT: v_writelane_b32 v36, s65, 40
+; SI-NEXT: v_writelane_b32 v37, s65, 3
; SI-NEXT: s_mov_b32 s64, s70
; SI-NEXT: s_branch .LBB95_6
; SI-NEXT: .LBB95_5:
-; SI-NEXT: v_readlane_b32 s16, v36, 41
-; SI-NEXT: v_mov_b32_e32 v21, s16
-; SI-NEXT: v_readlane_b32 s16, v36, 42
+; SI-NEXT: v_mov_b32_e32 v3, s90
; SI-NEXT: v_mov_b32_e32 v9, s39
; SI-NEXT: v_mov_b32_e32 v10, s49
-; SI-NEXT: v_mov_b32_e32 v11, s38
+; SI-NEXT: v_mov_b32_e32 v11, s91
; SI-NEXT: v_mov_b32_e32 v12, s52
; SI-NEXT: v_mov_b32_e32 v15, s50
-; SI-NEXT: v_mov_b32_e32 v19, s48
-; SI-NEXT: v_mov_b32_e32 v22, s91
-; SI-NEXT: v_mov_b32_e32 v26, s90
-; SI-NEXT: v_mov_b32_e32 v23, s16
+; SI-NEXT: v_mov_b32_e32 v18, s48
+; SI-NEXT: v_mov_b32_e32 v14, s38
+; SI-NEXT: v_readlane_b32 s38, v37, 27
+; SI-NEXT: v_readlane_b32 s50, v37, 23
+; SI-NEXT: v_readlane_b32 s48, v37, 25
+; SI-NEXT: v_readlane_b32 s90, v37, 21
+; SI-NEXT: v_readlane_b32 s52, v37, 19
+; SI-NEXT: v_readlane_b32 s39, v37, 28
+; SI-NEXT: v_readlane_b32 s51, v37, 24
+; SI-NEXT: v_readlane_b32 s49, v37, 26
+; SI-NEXT: v_readlane_b32 s91, v37, 22
+; SI-NEXT: v_readlane_b32 s53, v37, 20
+; SI-NEXT: v_writelane_b32 v37, s78, 0
+; SI-NEXT: v_writelane_b32 v37, s79, 1
+; SI-NEXT: v_mov_b32_e32 v26, s69
; SI-NEXT: v_readlane_b32 s16, v36, 43
-; SI-NEXT: v_readlane_b32 s38, v37, 23
-; SI-NEXT: v_readlane_b32 s50, v37, 19
-; SI-NEXT: v_readlane_b32 s48, v37, 21
-; SI-NEXT: v_readlane_b32 s90, v37, 17
-; SI-NEXT: v_readlane_b32 s52, v37, 15
-; SI-NEXT: v_mov_b32_e32 v24, s16
+; SI-NEXT: v_writelane_b32 v37, s68, 4
+; SI-NEXT: v_mov_b32_e32 v23, s16
; SI-NEXT: v_readlane_b32 s16, v36, 44
-; SI-NEXT: v_readlane_b32 s39, v37, 24
-; SI-NEXT: v_readlane_b32 s51, v37, 20
-; SI-NEXT: v_readlane_b32 s49, v37, 22
-; SI-NEXT: v_readlane_b32 s91, v37, 18
-; SI-NEXT: v_readlane_b32 s53, v37, 16
-; SI-NEXT: v_writelane_b32 v37, s78, 0
-; SI-NEXT: v_mov_b32_e32 v25, s16
+; SI-NEXT: v_writelane_b32 v37, s69, 5
+; SI-NEXT: v_mov_b32_e32 v24, s16
; SI-NEXT: v_readlane_b32 s16, v36, 45
-; SI-NEXT: v_writelane_b32 v37, s79, 1
-; SI-NEXT: v_mov_b32_e32 v27, s16
+; SI-NEXT: v_writelane_b32 v37, s98, 2
+; SI-NEXT: v_mov_b32_e32 v25, s16
; SI-NEXT: v_readlane_b32 s16, v36, 46
-; SI-NEXT: v_writelane_b32 v37, s68, 2
-; SI-NEXT: v_mov_b32_e32 v28, s16
+; SI-NEXT: v_writelane_b32 v37, s99, 3
+; SI-NEXT: v_mov_b32_e32 v27, s16
; SI-NEXT: v_readlane_b32 s16, v36, 47
-; SI-NEXT: v_writelane_b32 v37, s69, 3
-; SI-NEXT: v_mov_b32_e32 v29, s16
+; SI-NEXT: v_readlane_b32 s68, v37, 55
+; SI-NEXT: v_mov_b32_e32 v28, s16
; SI-NEXT: v_readlane_b32 s16, v36, 48
-; SI-NEXT: v_writelane_b32 v37, s76, 4
-; SI-NEXT: v_mov_b32_e32 v30, s16
+; SI-NEXT: v_readlane_b32 s69, v37, 56
+; SI-NEXT: v_writelane_b32 v37, s76, 6
+; SI-NEXT: v_mov_b32_e32 v29, s16
; SI-NEXT: v_readlane_b32 s16, v36, 49
-; SI-NEXT: v_writelane_b32 v37, s77, 5
-; SI-NEXT: v_mov_b32_e32 v2, s35
-; SI-NEXT: v_mov_b32_e32 v14, s97
-; SI-NEXT: v_mov_b32_e32 v16, s85
-; SI-NEXT: v_mov_b32_e32 v17, s84
-; SI-NEXT: v_mov_b32_e32 v18, s87
-; SI-NEXT: v_mov_b32_e32 v20, s86
-; SI-NEXT: v_mov_b32_e32 v31, s16
+; SI-NEXT: v_writelane_b32 v37, s77, 7
+; SI-NEXT: v_mov_b32_e32 v1, s96
+; SI-NEXT: v_mov_b32_e32 v5, s86
+; SI-NEXT: v_mov_b32_e32 v22, s97
+; SI-NEXT: v_mov_b32_e32 v13, s23
+; SI-NEXT: v_mov_b32_e32 v16, s31
+; SI-NEXT: v_mov_b32_e32 v17, s30
+; SI-NEXT: v_mov_b32_e32 v19, s35
+; SI-NEXT: v_mov_b32_e32 v20, s34
+; SI-NEXT: v_mov_b32_e32 v30, s16
; SI-NEXT: v_readlane_b32 s16, v36, 50
-; SI-NEXT: v_readlane_b32 s68, v37, 51
-; SI-NEXT: v_readlane_b32 s76, v37, 39
-; SI-NEXT: v_readlane_b32 s96, v37, 43
-; SI-NEXT: v_readlane_b32 s86, v37, 45
-; SI-NEXT: v_readlane_b32 s84, v37, 47
-; SI-NEXT: v_readlane_b32 s82, v37, 49
-; SI-NEXT: v_readlane_b32 s22, v37, 35
-; SI-NEXT: v_readlane_b32 s26, v37, 33
-; SI-NEXT: v_readlane_b32 s30, v37, 29
-; SI-NEXT: v_readlane_b32 s36, v37, 25
-; SI-NEXT: v_readlane_b32 s34, v37, 27
-; SI-NEXT: v_mov_b32_e32 v1, s17
-; SI-NEXT: v_mov_b32_e32 v3, s93
-; SI-NEXT: v_mov_b32_e32 v4, s64
-; SI-NEXT: v_mov_b32_e32 v5, s66
+; SI-NEXT: v_mov_b32_e32 v32, s22
+; SI-NEXT: v_readlane_b32 s76, v37, 43
+; SI-NEXT: v_readlane_b32 s96, v37, 47
+; SI-NEXT: v_readlane_b32 s86, v37, 49
+; SI-NEXT: v_readlane_b32 s84, v37, 51
+; SI-NEXT: v_readlane_b32 s82, v37, 53
+; SI-NEXT: v_readlane_b32 s22, v37, 39
+; SI-NEXT: v_readlane_b32 s26, v37, 37
+; SI-NEXT: v_readlane_b32 s30, v37, 33
+; SI-NEXT: v_readlane_b32 s36, v37, 29
+; SI-NEXT: v_readlane_b32 s34, v37, 31
+; SI-NEXT: v_mov_b32_e32 v2, s94
+; SI-NEXT: v_mov_b32_e32 v4, s67
; SI-NEXT: v_mov_b32_e32 v6, s81
; SI-NEXT: v_mov_b32_e32 v7, s88
; SI-NEXT: v_mov_b32_e32 v8, s55
-; SI-NEXT: v_mov_b32_e32 v13, s98
-; SI-NEXT: v_mov_b32_e32 v32, s16
-; SI-NEXT: v_readlane_b32 s69, v37, 52
-; SI-NEXT: v_readlane_b32 s64, v36, 19
-; SI-NEXT: v_readlane_b32 s66, v36, 17
-; SI-NEXT: v_readlane_b32 s77, v37, 40
-; SI-NEXT: v_readlane_b32 s54, v36, 15
-; SI-NEXT: v_readlane_b32 s80, v36, 13
-; SI-NEXT: v_readlane_b32 vcc_lo, v36, 5
-; SI-NEXT: v_readlane_b32 s94, v36, 3
-; SI-NEXT: v_readlane_b32 s92, v36, 1
-; SI-NEXT: v_readlane_b32 s98, v37, 41
-; SI-NEXT: v_readlane_b32 s97, v37, 44
-; SI-NEXT: v_readlane_b32 s87, v37, 46
-; SI-NEXT: v_readlane_b32 s18, v37, 63
-; SI-NEXT: v_readlane_b32 s78, v36, 7
-; SI-NEXT: v_readlane_b32 s24, v37, 59
-; SI-NEXT: v_readlane_b32 s88, v36, 9
-; SI-NEXT: v_readlane_b32 s85, v37, 48
-; SI-NEXT: v_readlane_b32 s83, v37, 50
-; SI-NEXT: v_readlane_b32 s28, v37, 57
-; SI-NEXT: v_readlane_b32 s20, v37, 37
-; SI-NEXT: v_readlane_b32 s23, v37, 36
-; SI-NEXT: v_readlane_b32 s16, v37, 31
-; SI-NEXT: v_readlane_b32 s27, v37, 34
-; SI-NEXT: v_readlane_b32 s31, v37, 30
-; SI-NEXT: v_readlane_b32 s37, v37, 26
-; SI-NEXT: v_readlane_b32 s35, v37, 28
-; SI-NEXT: v_readlane_b32 s65, v36, 20
-; SI-NEXT: v_readlane_b32 s67, v36, 18
-; SI-NEXT: v_readlane_b32 s55, v36, 16
-; SI-NEXT: v_readlane_b32 s81, v36, 14
-; SI-NEXT: v_readlane_b32 vcc_hi, v36, 6
-; SI-NEXT: v_readlane_b32 s95, v36, 4
-; SI-NEXT: v_readlane_b32 s93, v36, 2
-; SI-NEXT: v_readlane_b32 s99, v37, 42
-; SI-NEXT: v_readlane_b32 s19, v36, 0
-; SI-NEXT: v_readlane_b32 s79, v36, 8
-; SI-NEXT: v_readlane_b32 s25, v37, 60
-; SI-NEXT: v_readlane_b32 s89, v36, 10
-; SI-NEXT: v_readlane_b32 s29, v37, 58
-; SI-NEXT: v_readlane_b32 s21, v37, 38
-; SI-NEXT: v_readlane_b32 s17, v37, 32
+; SI-NEXT: v_mov_b32_e32 v21, s20
+; SI-NEXT: v_mov_b32_e32 v31, s16
+; SI-NEXT: v_readlane_b32 s64, v36, 23
+; SI-NEXT: v_readlane_b32 s66, v36, 21
+; SI-NEXT: v_readlane_b32 s77, v37, 44
+; SI-NEXT: v_readlane_b32 s54, v36, 19
+; SI-NEXT: v_readlane_b32 s80, v36, 17
+; SI-NEXT: v_readlane_b32 vcc_lo, v36, 9
+; SI-NEXT: v_readlane_b32 s94, v36, 7
+; SI-NEXT: v_readlane_b32 s92, v36, 5
+; SI-NEXT: v_readlane_b32 s98, v37, 45
+; SI-NEXT: v_readlane_b32 s97, v37, 48
+; SI-NEXT: v_readlane_b32 s87, v37, 50
+; SI-NEXT: v_readlane_b32 s18, v36, 3
+; SI-NEXT: v_readlane_b32 s78, v36, 11
+; SI-NEXT: v_readlane_b32 s24, v37, 63
+; SI-NEXT: v_readlane_b32 s88, v36, 13
+; SI-NEXT: v_readlane_b32 s85, v37, 52
+; SI-NEXT: v_readlane_b32 s83, v37, 54
+; SI-NEXT: v_readlane_b32 s28, v37, 61
+; SI-NEXT: v_readlane_b32 s20, v37, 41
+; SI-NEXT: v_readlane_b32 s23, v37, 40
+; SI-NEXT: v_readlane_b32 s16, v37, 35
+; SI-NEXT: v_readlane_b32 s27, v37, 38
+; SI-NEXT: v_readlane_b32 s31, v37, 34
+; SI-NEXT: v_readlane_b32 s37, v37, 30
+; SI-NEXT: v_readlane_b32 s35, v37, 32
+; SI-NEXT: v_readlane_b32 s65, v36, 24
+; SI-NEXT: v_readlane_b32 s67, v36, 22
+; SI-NEXT: v_readlane_b32 s55, v36, 20
+; SI-NEXT: v_readlane_b32 s81, v36, 18
+; SI-NEXT: v_readlane_b32 vcc_hi, v36, 10
+; SI-NEXT: v_readlane_b32 s95, v36, 8
+; SI-NEXT: v_readlane_b32 s93, v36, 6
+; SI-NEXT: v_readlane_b32 s99, v37, 46
+; SI-NEXT: v_readlane_b32 s19, v36, 4
+; SI-NEXT: v_readlane_b32 s79, v36, 12
+; SI-NEXT: v_readlane_b32 s25, v36, 0
+; SI-NEXT: v_readlane_b32 s89, v36, 14
+; SI-NEXT: v_readlane_b32 s29, v37, 62
+; SI-NEXT: v_readlane_b32 s21, v37, 42
+; SI-NEXT: v_readlane_b32 s17, v37, 36
; SI-NEXT: v_readlane_b32 s23, v36, 51
; SI-NEXT: v_readlane_b32 s27, v36, 52
; SI-NEXT: v_readlane_b32 s77, v36, 53
@@ -183807,13 +183826,13 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; SI-NEXT: v_mov_b32_e32 v31, s16
; SI-NEXT: s_and_b32 s16, s63, 0xff
; SI-NEXT: s_lshl_b32 s17, s85, 8
-; SI-NEXT: v_and_b32_e32 v19, 0xff, v19
+; SI-NEXT: v_and_b32_e32 v18, 0xff, v18
; SI-NEXT: s_or_b32 s16, s16, s17
-; SI-NEXT: v_lshlrev_b32_e32 v19, 16, v19
+; SI-NEXT: v_lshlrev_b32_e32 v18, 16, v18
; SI-NEXT: v_lshlrev_b32_e32 v30, 24, v30
; SI-NEXT: s_and_b32 s16, s16, 0xffff
-; SI-NEXT: v_or_b32_e32 v19, v30, v19
-; SI-NEXT: v_or_b32_e32 v19, s16, v19
+; SI-NEXT: v_or_b32_e32 v18, v30, v18
+; SI-NEXT: v_or_b32_e32 v18, s16, v18
; SI-NEXT: s_lshl_b32 s16, s26, 8
; SI-NEXT: s_and_b32 s17, s58, 0xff
; SI-NEXT: s_or_b32 s16, s17, s16
@@ -183870,7 +183889,7 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; SI-NEXT: buffer_store_dword v32, v0, s[0:3], 0 offen offset:8
; SI-NEXT: buffer_store_dword v22, v0, s[0:3], 0 offen offset:12
; SI-NEXT: buffer_store_dword v31, v0, s[0:3], 0 offen offset:16
-; SI-NEXT: buffer_store_dword v19, v0, s[0:3], 0 offen offset:20
+; SI-NEXT: buffer_store_dword v18, v0, s[0:3], 0 offen offset:20
; SI-NEXT: buffer_store_dword v30, v0, s[0:3], 0 offen offset:24
; SI-NEXT: buffer_store_dword v15, v0, s[0:3], 0 offen offset:28
; SI-NEXT: buffer_store_dword v29, v0, s[0:3], 0 offen offset:32
@@ -183887,10 +183906,10 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; SI-NEXT: s_lshl_b32 s17, s68, 8
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: s_and_b32 s19, s16, 0xffff
-; SI-NEXT: v_readlane_b32 s16, v37, 53
-; SI-NEXT: v_readlane_b32 s17, v37, 54
+; SI-NEXT: v_readlane_b32 s16, v37, 57
+; SI-NEXT: v_readlane_b32 s17, v37, 58
; SI-NEXT: s_and_b32 s16, s16, 0xff
-; SI-NEXT: v_readlane_b32 s20, v37, 55
+; SI-NEXT: v_readlane_b32 s20, v37, 59
; SI-NEXT: s_lshl_b32 s16, s16, 16
; SI-NEXT: s_lshl_b32 s17, s20, 24
; SI-NEXT: s_or_b32 s16, s17, s16
@@ -183908,13 +183927,13 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; SI-NEXT: v_lshlrev_b32_e32 v11, 24, v25
; SI-NEXT: s_and_b32 s16, s16, 0xffff
; SI-NEXT: v_or_b32_e32 v10, v11, v10
-; SI-NEXT: v_readlane_b32 s21, v37, 56
+; SI-NEXT: v_readlane_b32 s21, v37, 60
; SI-NEXT: v_or_b32_e32 v10, s16, v10
; SI-NEXT: s_and_b32 s16, s44, 0xff
; SI-NEXT: s_lshl_b32 s17, s28, 8
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: s_and_b32 s17, s24, 0xff
-; SI-NEXT: v_readlane_b32 s20, v37, 61
+; SI-NEXT: v_readlane_b32 s20, v36, 1
; SI-NEXT: s_lshl_b32 s17, s17, 16
; SI-NEXT: s_lshl_b32 s19, s20, 24
; SI-NEXT: s_and_b32 s16, s16, 0xffff
@@ -183980,10 +183999,10 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; SI-NEXT: s_and_b32 s16, s16, 0xffff
; SI-NEXT: v_or_b32_e32 v7, v8, v7
; SI-NEXT: v_or_b32_e32 v7, s16, v7
-; SI-NEXT: v_readlane_b32 s16, v36, 11
+; SI-NEXT: v_readlane_b32 s16, v36, 15
; SI-NEXT: s_and_b32 s14, s14, 0xff
; SI-NEXT: s_lshl_b32 s16, s16, 8
-; SI-NEXT: v_readlane_b32 s17, v36, 12
+; SI-NEXT: v_readlane_b32 s17, v36, 16
; SI-NEXT: s_or_b32 s14, s14, s16
; SI-NEXT: s_and_b32 s16, s80, 0xff
; SI-NEXT: s_lshl_b32 s16, s16, 16
@@ -184009,7 +184028,7 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; SI-NEXT: s_lshl_b32 s14, s66, 8
; SI-NEXT: s_or_b32 s12, s12, s14
; SI-NEXT: s_and_b32 s14, s64, 0xff
-; SI-NEXT: v_readlane_b32 s16, v36, 21
+; SI-NEXT: v_readlane_b32 s16, v36, 25
; SI-NEXT: s_lshl_b32 s14, s14, 16
; SI-NEXT: s_lshl_b32 s15, s16, 24
; SI-NEXT: s_and_b32 s12, s12, 0xffff
@@ -184025,19 +184044,19 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; SI-NEXT: s_or_b32 s12, s12, s13
; SI-NEXT: v_lshlrev_b32_e32 v5, 16, v5
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshlrev_b32_e32 v6, 24, v18
+; SI-NEXT: v_lshlrev_b32_e32 v6, 24, v19
; SI-NEXT: s_and_b32 s12, s12, 0xffff
; SI-NEXT: v_or_b32_e32 v5, v6, v5
; SI-NEXT: v_or_b32_e32 v5, s12, v5
-; SI-NEXT: v_readlane_b32 s12, v36, 23
+; SI-NEXT: v_readlane_b32 s12, v36, 27
; SI-NEXT: s_and_b32 s10, s10, 0xff
-; SI-NEXT: v_readlane_b32 s13, v36, 24
+; SI-NEXT: v_readlane_b32 s13, v36, 28
; SI-NEXT: s_lshl_b32 s12, s12, 8
; SI-NEXT: s_or_b32 s10, s10, s12
-; SI-NEXT: v_readlane_b32 s12, v36, 25
-; SI-NEXT: v_readlane_b32 s13, v36, 26
+; SI-NEXT: v_readlane_b32 s12, v36, 29
+; SI-NEXT: v_readlane_b32 s13, v36, 30
; SI-NEXT: s_and_b32 s12, s12, 0xff
-; SI-NEXT: v_readlane_b32 s14, v36, 27
+; SI-NEXT: v_readlane_b32 s14, v36, 31
; SI-NEXT: s_lshl_b32 s12, s12, 16
; SI-NEXT: s_lshl_b32 s13, s14, 24
; SI-NEXT: s_and_b32 s10, s10, 0xffff
@@ -184057,15 +184076,15 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; SI-NEXT: s_and_b32 s10, s10, 0xffff
; SI-NEXT: v_or_b32_e32 v4, v5, v4
; SI-NEXT: v_or_b32_e32 v4, s10, v4
-; SI-NEXT: v_readlane_b32 s10, v36, 29
+; SI-NEXT: v_readlane_b32 s10, v36, 33
; SI-NEXT: s_and_b32 s8, s8, 0xff
-; SI-NEXT: v_readlane_b32 s11, v36, 30
+; SI-NEXT: v_readlane_b32 s11, v36, 34
; SI-NEXT: s_lshl_b32 s10, s10, 8
; SI-NEXT: s_or_b32 s8, s8, s10
-; SI-NEXT: v_readlane_b32 s10, v36, 31
-; SI-NEXT: v_readlane_b32 s11, v36, 32
+; SI-NEXT: v_readlane_b32 s10, v36, 35
+; SI-NEXT: v_readlane_b32 s11, v36, 36
; SI-NEXT: s_and_b32 s10, s10, 0xff
-; SI-NEXT: v_readlane_b32 s12, v36, 33
+; SI-NEXT: v_readlane_b32 s12, v37, 6
; SI-NEXT: s_lshl_b32 s10, s10, 16
; SI-NEXT: s_lshl_b32 s11, s12, 24
; SI-NEXT: s_and_b32 s8, s8, 0xffff
@@ -184085,15 +184104,15 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; SI-NEXT: s_and_b32 s8, s8, 0xffff
; SI-NEXT: v_or_b32_e32 v3, v4, v3
; SI-NEXT: v_or_b32_e32 v3, s8, v3
-; SI-NEXT: v_readlane_b32 s8, v36, 35
+; SI-NEXT: v_readlane_b32 s8, v36, 37
; SI-NEXT: s_and_b32 s6, s6, 0xff
-; SI-NEXT: v_readlane_b32 s9, v36, 36
+; SI-NEXT: v_readlane_b32 s9, v36, 38
; SI-NEXT: s_lshl_b32 s8, s8, 8
; SI-NEXT: s_or_b32 s6, s6, s8
-; SI-NEXT: v_readlane_b32 s8, v36, 37
-; SI-NEXT: v_readlane_b32 s9, v36, 38
+; SI-NEXT: v_readlane_b32 s8, v36, 39
+; SI-NEXT: v_readlane_b32 s9, v36, 40
; SI-NEXT: s_and_b32 s8, s8, 0xff
-; SI-NEXT: v_readlane_b32 s10, v37, 4
+; SI-NEXT: v_readlane_b32 s10, v36, 41
; SI-NEXT: s_lshl_b32 s8, s8, 16
; SI-NEXT: s_lshl_b32 s9, s10, 24
; SI-NEXT: s_and_b32 s6, s6, 0xffff
@@ -184113,13 +184132,13 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; SI-NEXT: s_and_b32 s6, s6, 0xffff
; SI-NEXT: v_or_b32_e32 v2, v3, v2
; SI-NEXT: v_or_b32_e32 v2, s6, v2
-; SI-NEXT: v_readlane_b32 s6, v36, 39
+; SI-NEXT: v_readlane_b32 s6, v37, 2
; SI-NEXT: s_and_b32 s4, s4, 0xff
-; SI-NEXT: v_readlane_b32 s7, v36, 40
+; SI-NEXT: v_readlane_b32 s7, v37, 3
; SI-NEXT: s_lshl_b32 s6, s6, 8
; SI-NEXT: s_or_b32 s4, s4, s6
-; SI-NEXT: v_readlane_b32 s6, v37, 2
-; SI-NEXT: v_readlane_b32 s7, v37, 3
+; SI-NEXT: v_readlane_b32 s6, v37, 4
+; SI-NEXT: v_readlane_b32 s7, v37, 5
; SI-NEXT: s_and_b32 s6, s6, 0xff
; SI-NEXT: v_readlane_b32 s8, v37, 0
; SI-NEXT: s_lshl_b32 s6, s6, 16
@@ -184142,11 +184161,11 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; SI-NEXT: v_or_b32_e32 v1, v2, v1
; SI-NEXT: v_or_b32_e32 v1, s4, v1
; SI-NEXT: v_readlane_b32 s30, v34, 34
-; SI-NEXT: v_readlane_b32 s21, v37, 62
-; SI-NEXT: v_readlane_b32 s17, v36, 22
-; SI-NEXT: v_readlane_b32 s15, v36, 28
-; SI-NEXT: v_readlane_b32 s13, v36, 34
-; SI-NEXT: v_readlane_b32 s11, v37, 5
+; SI-NEXT: v_readlane_b32 s21, v36, 2
+; SI-NEXT: v_readlane_b32 s17, v36, 26
+; SI-NEXT: v_readlane_b32 s15, v36, 32
+; SI-NEXT: v_readlane_b32 s13, v37, 7
+; SI-NEXT: v_readlane_b32 s11, v36, 42
; SI-NEXT: v_readlane_b32 s9, v37, 1
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:124
; SI-NEXT: v_readlane_b32 s31, v34, 35
@@ -184197,8 +184216,8 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; VI: ; %bb.0:
; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
; VI-NEXT: s_or_saveexec_b64 s[4:5], -1
-; VI-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
; VI-NEXT: s_mov_b64 exec, s[4:5]
; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:52 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:48 ; 4-byte Folded Spill
@@ -184247,7 +184266,6 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; VI-NEXT: v_writelane_b32 v63, s30, 30
; VI-NEXT: v_writelane_b32 v63, s31, 31
; VI-NEXT: v_readfirstlane_b32 s4, v19
-; VI-NEXT: v_mov_b32_e32 v61, v0
; VI-NEXT: v_readfirstlane_b32 s7, v18
; VI-NEXT: v_readfirstlane_b32 s6, v17
; VI-NEXT: v_readfirstlane_b32 s9, v16
@@ -184344,6 +184362,10 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; VI-NEXT: v_writelane_b32 v62, s46, 8
; VI-NEXT: s_lshr_b32 s46, s16, 8
; VI-NEXT: v_writelane_b32 v62, s46, 45
+; VI-NEXT: s_lshr_b32 s46, s7, 16
+; VI-NEXT: v_writelane_b32 v62, s46, 7
+; VI-NEXT: s_lshr_b32 s46, s6, 16
+; VI-NEXT: v_writelane_b32 v62, s46, 6
; VI-NEXT: s_lshr_b32 s46, s10, 8
; VI-NEXT: v_writelane_b32 v62, s46, 47
; VI-NEXT: s_lshr_b32 s46, s13, 8
@@ -184352,67 +184374,63 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; VI-NEXT: v_writelane_b32 v62, s46, 48
; VI-NEXT: s_lshr_b32 s46, s15, 8
; VI-NEXT: v_writelane_b32 v62, s46, 51
-; VI-NEXT: s_lshr_b32 s46, s14, 8
-; VI-NEXT: v_writelane_b32 v62, s46, 50
-; VI-NEXT: s_lshr_b32 s46, s41, 8
-; VI-NEXT: v_writelane_b32 v62, s46, 53
-; VI-NEXT: s_lshr_b32 s46, s40, 8
-; VI-NEXT: v_writelane_b32 v62, s46, 52
-; VI-NEXT: s_lshr_b32 s46, s43, 24
-; VI-NEXT: v_writelane_b32 v62, s46, 29
-; VI-NEXT: s_lshr_b32 s46, s43, 8
-; VI-NEXT: v_writelane_b32 v62, s46, 55
-; VI-NEXT: s_lshr_b32 s46, s42, 8
-; VI-NEXT: v_writelane_b32 v62, s46, 54
-; VI-NEXT: s_lshr_b32 s46, s45, 24
-; VI-NEXT: v_writelane_b32 v62, s46, 30
-; VI-NEXT: s_lshr_b32 s46, s45, 8
-; VI-NEXT: v_writelane_b32 v62, s46, 57
-; VI-NEXT: s_lshr_b32 s46, s44, 8
-; VI-NEXT: v_writelane_b32 v62, s46, 56
-; VI-NEXT: s_lshr_b64 s[72:73], s[4:5], 24
-; VI-NEXT: v_writelane_b32 v62, s72, 6
-; VI-NEXT: v_writelane_b32 v62, s73, 7
-; VI-NEXT: s_lshr_b64 s[72:73], s[28:29], 24
-; VI-NEXT: s_lshr_b32 s62, s13, 24
-; VI-NEXT: v_writelane_b32 v62, s72, 4
-; VI-NEXT: v_writelane_b32 v62, s73, 5
-; VI-NEXT: s_mov_b32 s46, s62
-; VI-NEXT: s_lshr_b64 s[62:63], s[26:27], 24
+; VI-NEXT: s_lshr_b32 s47, s14, 8
+; VI-NEXT: v_writelane_b32 v62, s47, 50
+; VI-NEXT: s_lshr_b32 s47, s41, 8
+; VI-NEXT: v_writelane_b32 v62, s47, 53
+; VI-NEXT: s_lshr_b32 s47, s40, 8
+; VI-NEXT: v_writelane_b32 v62, s47, 52
+; VI-NEXT: s_lshr_b32 s47, s43, 24
+; VI-NEXT: v_writelane_b32 v62, s47, 29
+; VI-NEXT: s_lshr_b32 s47, s43, 8
+; VI-NEXT: v_writelane_b32 v62, s47, 55
+; VI-NEXT: s_lshr_b32 s47, s42, 8
+; VI-NEXT: v_writelane_b32 v62, s47, 54
+; VI-NEXT: s_lshr_b32 s47, s45, 24
+; VI-NEXT: v_writelane_b32 v62, s47, 30
+; VI-NEXT: s_lshr_b32 s57, s45, 8
+; VI-NEXT: v_writelane_b32 v62, s57, 57
+; VI-NEXT: s_lshr_b32 s57, s44, 8
+; VI-NEXT: v_writelane_b32 v62, s57, 56
+; VI-NEXT: s_lshr_b64 s[62:63], s[4:5], 24
+; VI-NEXT: v_writelane_b32 v62, s62, 4
+; VI-NEXT: v_writelane_b32 v62, s63, 5
+; VI-NEXT: s_lshr_b64 s[62:63], s[28:29], 24
+; VI-NEXT: s_lshr_b32 s60, s6, 8
; VI-NEXT: v_writelane_b32 v62, s62, 2
; VI-NEXT: v_writelane_b32 v62, s63, 3
-; VI-NEXT: s_lshr_b64 s[62:63], s[24:25], 24
-; VI-NEXT: v_writelane_b32 v62, s62, 0
-; VI-NEXT: s_lshr_b32 s64, s5, 16
-; VI-NEXT: s_lshr_b32 s54, s4, 16
-; VI-NEXT: s_lshr_b32 s50, s29, 16
-; VI-NEXT: s_lshr_b32 s61, s7, 24
-; VI-NEXT: s_lshr_b32 s52, s7, 16
-; VI-NEXT: s_lshr_b32 s57, s7, 8
-; VI-NEXT: s_lshr_b32 s55, s6, 16
-; VI-NEXT: s_lshr_b32 s82, s6, 8
-; VI-NEXT: s_lshr_b32 s60, s9, 24
-; VI-NEXT: s_lshr_b32 s65, s9, 16
-; VI-NEXT: s_lshr_b32 s68, s9, 8
-; VI-NEXT: s_lshr_b32 s67, s8, 16
-; VI-NEXT: s_lshr_b32 s66, s8, 8
-; VI-NEXT: s_lshr_b32 s87, s11, 24
-; VI-NEXT: s_lshr_b32 s69, s11, 16
-; VI-NEXT: s_lshr_b32 s51, s11, 8
-; VI-NEXT: s_lshr_b32 s71, s10, 16
-; VI-NEXT: s_lshr_b32 s80, s13, 16
-; VI-NEXT: s_lshr_b32 s81, s12, 16
-; VI-NEXT: s_lshr_b32 s70, s15, 24
-; VI-NEXT: s_lshr_b32 s83, s15, 16
-; VI-NEXT: s_lshr_b32 s84, s14, 16
-; VI-NEXT: s_lshr_b32 s53, s41, 24
-; VI-NEXT: s_lshr_b32 s85, s41, 16
-; VI-NEXT: s_lshr_b32 s56, s40, 16
-; VI-NEXT: s_lshr_b32 s86, s43, 16
-; VI-NEXT: s_lshr_b32 s58, s42, 16
-; VI-NEXT: s_lshr_b32 s59, s45, 16
-; VI-NEXT: s_lshr_b32 s47, s44, 16
-; VI-NEXT: v_writelane_b32 v62, s63, 1
+; VI-NEXT: s_mov_b32 s57, s60
+; VI-NEXT: s_lshr_b64 s[60:61], s[26:27], 24
+; VI-NEXT: v_writelane_b32 v62, s60, 0
+; VI-NEXT: s_lshr_b32 s69, s5, 16
+; VI-NEXT: s_lshr_b32 s65, s4, 16
+; VI-NEXT: s_lshr_b32 s53, s29, 16
+; VI-NEXT: s_lshr_b32 s52, s7, 24
+; VI-NEXT: s_lshr_b32 s87, s7, 8
+; VI-NEXT: s_lshr_b32 s59, s9, 24
+; VI-NEXT: s_lshr_b32 s54, s9, 16
+; VI-NEXT: s_lshr_b32 s81, s9, 8
+; VI-NEXT: s_lshr_b32 s55, s8, 16
+; VI-NEXT: s_lshr_b32 s71, s8, 8
+; VI-NEXT: s_lshr_b32 s58, s11, 24
+; VI-NEXT: s_lshr_b32 s67, s11, 16
+; VI-NEXT: s_lshr_b32 s64, s11, 8
+; VI-NEXT: s_lshr_b32 s68, s10, 16
+; VI-NEXT: s_lshr_b32 s50, s13, 24
+; VI-NEXT: s_lshr_b32 s70, s13, 16
+; VI-NEXT: s_lshr_b32 s80, s12, 16
+; VI-NEXT: s_lshr_b32 s83, s15, 24
+; VI-NEXT: s_lshr_b32 s82, s15, 16
+; VI-NEXT: s_lshr_b32 s46, s14, 16
+; VI-NEXT: s_lshr_b32 s66, s41, 24
+; VI-NEXT: s_lshr_b32 s84, s41, 16
+; VI-NEXT: s_lshr_b32 s85, s40, 16
+; VI-NEXT: s_lshr_b32 s56, s43, 16
+; VI-NEXT: s_lshr_b32 s86, s42, 16
+; VI-NEXT: s_lshr_b32 s47, s45, 16
+; VI-NEXT: s_lshr_b32 s51, s44, 16
+; VI-NEXT: v_writelane_b32 v62, s61, 1
+; VI-NEXT: s_lshr_b64 s[60:61], s[24:25], 24
; VI-NEXT: s_lshr_b64 s[62:63], s[22:23], 24
; VI-NEXT: s_lshr_b64 s[72:73], s[20:21], 24
; VI-NEXT: s_lshr_b64 s[74:75], s[18:19], 24
@@ -184432,6 +184450,9 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; VI-NEXT: ; kill: killed $sgpr46
; VI-NEXT: ; implicit-def: $sgpr78
; VI-NEXT: ; implicit-def: $sgpr57
+; VI-NEXT: ; kill: killed $sgpr57
+; VI-NEXT: ; implicit-def: $sgpr60
+; VI-NEXT: ; kill: killed $sgpr60
; VI-NEXT: s_mov_b64 s[48:49], -1
; VI-NEXT: ; implicit-def: $sgpr46
; VI-NEXT: ; kill: killed $sgpr46
@@ -184442,40 +184463,63 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; VI-NEXT: ; implicit-def: $sgpr46
; VI-NEXT: ; kill: killed $sgpr46
; VI-NEXT: ; implicit-def: $sgpr78
-; VI-NEXT: ; implicit-def: $sgpr50
-; VI-NEXT: ; implicit-def: $sgpr54
-; VI-NEXT: ; implicit-def: $sgpr64
+; VI-NEXT: ; implicit-def: $sgpr57
+; VI-NEXT: ; kill: killed $sgpr57
+; VI-NEXT: ; implicit-def: $sgpr57
+; VI-NEXT: ; implicit-def: $sgpr46
+; VI-NEXT: ; kill: killed $sgpr46
+; VI-NEXT: v_writelane_b32 v62, s78, 2
+; VI-NEXT: ; implicit-def: $sgpr46
+; VI-NEXT: ; kill: killed $sgpr46
+; VI-NEXT: v_writelane_b32 v62, s79, 3
+; VI-NEXT: ; implicit-def: $sgpr46
+; VI-NEXT: ; kill: killed $sgpr46
+; VI-NEXT: ; implicit-def: $sgpr78
+; VI-NEXT: ; kill: killed $sgpr57
+; VI-NEXT: ; implicit-def: $sgpr57
+; VI-NEXT: ; implicit-def: $sgpr60
+; VI-NEXT: ; implicit-def: $sgpr53
+; VI-NEXT: ; implicit-def: $sgpr65
+; VI-NEXT: ; implicit-def: $sgpr69
+; VI-NEXT: ; implicit-def: $sgpr51
; VI-NEXT: ; implicit-def: $sgpr47
-; VI-NEXT: ; implicit-def: $sgpr59
-; VI-NEXT: ; implicit-def: $sgpr58
; VI-NEXT: ; implicit-def: $sgpr86
; VI-NEXT: ; implicit-def: $sgpr56
; VI-NEXT: ; implicit-def: $sgpr85
-; VI-NEXT: ; implicit-def: $sgpr53
; VI-NEXT: ; implicit-def: $sgpr84
+; VI-NEXT: ; implicit-def: $sgpr66
+; VI-NEXT: ; implicit-def: $sgpr82
; VI-NEXT: ; implicit-def: $sgpr83
-; VI-NEXT: ; implicit-def: $sgpr70
-; VI-NEXT: ; implicit-def: $sgpr81
; VI-NEXT: ; implicit-def: $sgpr80
+; VI-NEXT: ; implicit-def: $sgpr70
+; VI-NEXT: ; implicit-def: $sgpr50
; VI-NEXT: ; kill: killed $sgpr57
-; VI-NEXT: ; implicit-def: $sgpr71
-; VI-NEXT: ; implicit-def: $sgpr51
-; VI-NEXT: ; implicit-def: $sgpr69
-; VI-NEXT: ; implicit-def: $sgpr87
-; VI-NEXT: ; implicit-def: $sgpr66
-; VI-NEXT: ; implicit-def: $sgpr67
; VI-NEXT: ; implicit-def: $sgpr68
-; VI-NEXT: ; implicit-def: $sgpr65
-; VI-NEXT: ; implicit-def: $sgpr60
-; VI-NEXT: ; implicit-def: $sgpr82
+; VI-NEXT: ; implicit-def: $sgpr64
+; VI-NEXT: ; implicit-def: $sgpr67
+; VI-NEXT: ; implicit-def: $sgpr58
+; VI-NEXT: ; implicit-def: $sgpr71
; VI-NEXT: ; implicit-def: $sgpr55
+; VI-NEXT: ; implicit-def: $sgpr81
+; VI-NEXT: ; implicit-def: $sgpr54
+; VI-NEXT: ; implicit-def: $sgpr59
; VI-NEXT: ; implicit-def: $sgpr57
+; VI-NEXT: ; implicit-def: $sgpr46
+; VI-NEXT: ; kill: killed $sgpr46
+; VI-NEXT: v_writelane_b32 v62, s78, 4
+; VI-NEXT: ; implicit-def: $sgpr46
+; VI-NEXT: ; kill: killed $sgpr46
+; VI-NEXT: v_writelane_b32 v62, s79, 5
+; VI-NEXT: ; implicit-def: $sgpr46
+; VI-NEXT: ; kill: killed $sgpr46
+; VI-NEXT: ; implicit-def: $sgpr87
+; VI-NEXT: ; kill: killed $sgpr60
; VI-NEXT: ; implicit-def: $sgpr52
-; VI-NEXT: ; implicit-def: $sgpr61
; VI-NEXT: ; implicit-def: $sgpr76
; VI-NEXT: ; implicit-def: $sgpr74
; VI-NEXT: ; implicit-def: $sgpr72
; VI-NEXT: ; implicit-def: $sgpr62
+; VI-NEXT: ; implicit-def: $sgpr60
; VI-NEXT: ; implicit-def: $sgpr38
; VI-NEXT: ; implicit-def: $sgpr36
; VI-NEXT: ; implicit-def: $sgpr34
@@ -184483,32 +184527,6 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; VI-NEXT: ; implicit-def: $vcc_lo
; VI-NEXT: ; implicit-def: $sgpr90
; VI-NEXT: ; implicit-def: $sgpr88
-; VI-NEXT: ; implicit-def: $sgpr46
-; VI-NEXT: ; kill: killed $sgpr46
-; VI-NEXT: v_writelane_b32 v62, s78, 2
-; VI-NEXT: ; implicit-def: $sgpr46
-; VI-NEXT: ; kill: killed $sgpr46
-; VI-NEXT: v_writelane_b32 v62, s79, 3
-; VI-NEXT: ; implicit-def: $sgpr46
-; VI-NEXT: ; kill: killed $sgpr46
-; VI-NEXT: ; implicit-def: $sgpr78
-; VI-NEXT: ; implicit-def: $sgpr46
-; VI-NEXT: ; kill: killed $sgpr46
-; VI-NEXT: v_writelane_b32 v62, s78, 4
-; VI-NEXT: ; implicit-def: $sgpr46
-; VI-NEXT: ; kill: killed $sgpr46
-; VI-NEXT: v_writelane_b32 v62, s79, 5
-; VI-NEXT: ; implicit-def: $sgpr46
-; VI-NEXT: ; kill: killed $sgpr46
-; VI-NEXT: ; implicit-def: $sgpr78
-; VI-NEXT: ; implicit-def: $sgpr46
-; VI-NEXT: ; kill: killed $sgpr46
-; VI-NEXT: v_writelane_b32 v62, s78, 6
-; VI-NEXT: ; implicit-def: $sgpr46
-; VI-NEXT: ; kill: killed $sgpr46
-; VI-NEXT: v_writelane_b32 v62, s79, 7
-; VI-NEXT: ; implicit-def: $sgpr46
-; VI-NEXT: ; kill: killed $sgpr46
; VI-NEXT: ; implicit-def: $sgpr78
; VI-NEXT: ; implicit-def: $sgpr46
; VI-NEXT: ; kill: killed $sgpr46
@@ -184585,337 +184603,325 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; VI-NEXT: ; implicit-def: $sgpr46
; VI-NEXT: .LBB95_3: ; %Flow
; VI-NEXT: s_and_b64 s[48:49], s[48:49], exec
-; VI-NEXT: s_cselect_b32 s63, 1, 0
-; VI-NEXT: s_cmp_lg_u32 s63, 1
+; VI-NEXT: s_cselect_b32 s61, 1, 0
+; VI-NEXT: s_cmp_lg_u32 s61, 1
; VI-NEXT: s_cbranch_scc1 .LBB95_5
; VI-NEXT: ; %bb.4: ; %cmp.true
; VI-NEXT: s_lshr_b32 s46, s45, 16
-; VI-NEXT: v_mov_b32_e32 v8, 0x200
-; VI-NEXT: v_add_f16_e32 v0, s46, v8
-; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v0
-; VI-NEXT: v_add_f16_e32 v1, s45, v8
+; VI-NEXT: v_mov_b32_e32 v3, 0x200
+; VI-NEXT: v_add_f16_e32 v44, s46, v3
+; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v44
+; VI-NEXT: v_add_f16_e32 v1, s45, v3
; VI-NEXT: s_lshr_b32 s45, s44, 16
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
; VI-NEXT: v_or_b32_e32 v22, v1, v2
-; VI-NEXT: v_add_f16_e32 v51, s45, v8
-; VI-NEXT: v_add_f16_e32 v1, s44, v8
+; VI-NEXT: v_add_f16_e32 v12, s45, v3
+; VI-NEXT: v_add_f16_e32 v1, s44, v3
; VI-NEXT: s_lshr_b32 s44, s43, 16
-; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v51
-; VI-NEXT: v_add_f16_e32 v49, s44, v8
+; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v12
+; VI-NEXT: v_add_f16_e32 v49, s44, v3
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
; VI-NEXT: v_or_b32_e32 v21, v1, v2
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v49
-; VI-NEXT: v_add_f16_e32 v1, s43, v8
+; VI-NEXT: v_add_f16_e32 v1, s43, v3
; VI-NEXT: s_lshr_b32 s43, s42, 16
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
; VI-NEXT: v_or_b32_e32 v24, v1, v2
-; VI-NEXT: v_add_f16_e32 v0, s43, v8
-; VI-NEXT: v_add_f16_e32 v1, s42, v8
+; VI-NEXT: v_add_f16_e32 v58, s43, v3
+; VI-NEXT: v_add_f16_e32 v1, s42, v3
; VI-NEXT: s_lshr_b32 s42, s41, 16
-; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v0
-; VI-NEXT: v_add_f16_e32 v46, s42, v8
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
+; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v58
+; VI-NEXT: v_add_f16_e32 v61, s42, v3
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
; VI-NEXT: v_or_b32_e32 v23, v1, v2
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v46
-; VI-NEXT: v_add_f16_e32 v0, s41, v8
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v61
+; VI-NEXT: v_add_f16_e32 v52, s41, v3
; VI-NEXT: s_lshr_b32 s41, s40, 16
-; VI-NEXT: v_or_b32_e32 v26, v0, v1
-; VI-NEXT: v_add_f16_e32 v1, s41, v8
+; VI-NEXT: v_or_b32_e32 v26, v52, v1
+; VI-NEXT: v_add_f16_e32 v1, s41, v3
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v1
-; VI-NEXT: v_add_f16_e32 v1, s40, v8
+; VI-NEXT: v_add_f16_e32 v1, s40, v3
; VI-NEXT: s_lshr_b32 s40, s15, 16
-; VI-NEXT: v_add_f16_e32 v48, s40, v8
+; VI-NEXT: v_add_f16_e32 v36, s40, v3
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
; VI-NEXT: v_or_b32_e32 v25, v1, v2
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v48
-; VI-NEXT: v_add_f16_e32 v58, s15, v8
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v36
+; VI-NEXT: v_add_f16_e32 v35, s15, v3
; VI-NEXT: s_lshr_b32 s15, s14, 16
-; VI-NEXT: v_or_b32_e32 v7, v58, v1
-; VI-NEXT: v_add_f16_e32 v1, s15, v8
-; VI-NEXT: v_add_f16_e32 v2, s14, v8
+; VI-NEXT: v_or_b32_e32 v7, v35, v1
+; VI-NEXT: v_add_f16_e32 v1, s15, v3
+; VI-NEXT: v_add_f16_e32 v2, s14, v3
; VI-NEXT: s_lshr_b32 s14, s13, 16
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
-; VI-NEXT: v_add_f16_e32 v36, s14, v8
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
+; VI-NEXT: v_add_f16_e32 v47, s14, v3
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
; VI-NEXT: v_or_b32_e32 v6, v2, v1
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v36
-; VI-NEXT: v_add_f16_e32 v2, s13, v8
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v47
+; VI-NEXT: v_add_f16_e32 v2, s13, v3
; VI-NEXT: s_lshr_b32 s13, s12, 16
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
; VI-NEXT: v_or_b32_e32 v28, v2, v1
-; VI-NEXT: v_add_f16_e32 v1, s13, v8
-; VI-NEXT: v_add_f16_e32 v2, s12, v8
+; VI-NEXT: v_add_f16_e32 v1, s13, v3
+; VI-NEXT: v_add_f16_e32 v2, s12, v3
; VI-NEXT: s_lshr_b32 s12, s11, 16
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
-; VI-NEXT: v_add_f16_e32 v60, s12, v8
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
+; VI-NEXT: v_add_f16_e32 v48, s12, v3
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
; VI-NEXT: v_or_b32_e32 v27, v2, v1
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v60
-; VI-NEXT: v_add_f16_e32 v2, s11, v8
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v48
+; VI-NEXT: v_add_f16_e32 v2, s11, v3
; VI-NEXT: s_lshr_b32 s11, s10, 16
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
; VI-NEXT: v_or_b32_e32 v5, v2, v1
-; VI-NEXT: v_add_f16_e32 v1, s11, v8
-; VI-NEXT: v_add_f16_e32 v38, s10, v8
+; VI-NEXT: v_add_f16_e32 v1, s11, v3
+; VI-NEXT: v_add_f16_e32 v2, s10, v3
; VI-NEXT: s_lshr_b32 s10, s9, 16
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
-; VI-NEXT: v_add_f16_e32 v59, s10, v8
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
-; VI-NEXT: v_or_b32_e32 v4, v38, v1
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v59
-; VI-NEXT: v_add_f16_e32 v2, s9, v8
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
-; VI-NEXT: v_or_b32_e32 v30, v2, v1
+; VI-NEXT: v_add_f16_e32 v56, s10, v3
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
+; VI-NEXT: v_or_b32_e32 v4, v2, v1
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v56
+; VI-NEXT: v_add_f16_e32 v2, s9, v3
; VI-NEXT: s_lshr_b32 s9, s8, 16
-; VI-NEXT: v_add_f16_e32 v44, s8, v8
+; VI-NEXT: v_or_b32_e32 v30, v2, v1
+; VI-NEXT: v_add_f16_e32 v1, s9, v3
+; VI-NEXT: v_add_f16_e32 v41, s8, v3
; VI-NEXT: s_lshr_b32 s8, s7, 16
-; VI-NEXT: v_add_f16_e32 v2, s7, v8
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
+; VI-NEXT: v_add_f16_e32 v38, s8, v3
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
+; VI-NEXT: v_or_b32_e32 v29, v41, v1
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v38
+; VI-NEXT: v_add_f16_e32 v2, s7, v3
; VI-NEXT: s_lshr_b32 s7, s6, 16
-; VI-NEXT: v_add_f16_e32 v3, s6, v8
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
+; VI-NEXT: v_or_b32_e32 v2, v2, v1
+; VI-NEXT: v_add_f16_e32 v1, s7, v3
+; VI-NEXT: v_add_f16_e32 v8, s6, v3
; VI-NEXT: s_lshr_b32 s6, s17, 16
-; VI-NEXT: v_add_f16_e32 v18, s6, v8
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
+; VI-NEXT: v_add_f16_e32 v59, s6, v3
+; VI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
+; VI-NEXT: v_or_b32_e32 v1, v8, v1
+; VI-NEXT: v_lshlrev_b32_e32 v9, 16, v59
+; VI-NEXT: v_add_f16_e32 v8, s17, v3
; VI-NEXT: s_lshr_b32 s6, s16, 16
-; VI-NEXT: v_add_f16_e32 v1, s9, v8
-; VI-NEXT: v_lshlrev_b32_e32 v10, 16, v18
-; VI-NEXT: v_add_f16_e32 v9, s17, v8
-; VI-NEXT: v_add_f16_e32 v52, s6, v8
+; VI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; VI-NEXT: v_or_b32_e32 v32, v8, v9
+; VI-NEXT: v_add_f16_e32 v8, s6, v3
; VI-NEXT: s_lshr_b32 s6, s19, 16
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
-; VI-NEXT: v_add_f16_e32 v50, s8, v8
-; VI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
-; VI-NEXT: v_or_b32_e32 v32, v9, v10
-; VI-NEXT: v_lshlrev_b32_e32 v10, 16, v52
-; VI-NEXT: v_add_f16_e32 v9, s16, v8
-; VI-NEXT: v_add_f16_e32 v12, s6, v8
+; VI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
+; VI-NEXT: v_lshlrev_b32_e32 v9, 16, v8
+; VI-NEXT: v_add_f16_e32 v8, s16, v3
+; VI-NEXT: v_add_f16_e32 v60, s6, v3
+; VI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
+; VI-NEXT: v_or_b32_e32 v31, v8, v9
+; VI-NEXT: v_lshlrev_b32_e32 v9, 16, v60
+; VI-NEXT: v_add_f16_e32 v8, s19, v3
; VI-NEXT: s_lshr_b32 s6, s18, 16
-; VI-NEXT: v_or_b32_e32 v29, v44, v1
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v50
-; VI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
-; VI-NEXT: v_or_b32_e32 v31, v9, v10
-; VI-NEXT: v_lshlrev_b32_e32 v10, 16, v12
-; VI-NEXT: v_add_f16_e32 v9, s19, v8
-; VI-NEXT: v_add_f16_e32 v39, s6, v8
+; VI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; VI-NEXT: v_or_b32_e32 v20, v8, v9
+; VI-NEXT: v_add_f16_e32 v8, s6, v3
; VI-NEXT: s_lshr_b32 s6, s21, 16
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
-; VI-NEXT: v_or_b32_e32 v2, v2, v1
-; VI-NEXT: v_add_f16_e32 v1, s7, v8
-; VI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
-; VI-NEXT: v_or_b32_e32 v20, v9, v10
-; VI-NEXT: v_lshlrev_b32_e32 v10, 16, v39
-; VI-NEXT: v_add_f16_e32 v9, s18, v8
+; VI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
+; VI-NEXT: v_lshlrev_b32_e32 v9, 16, v8
+; VI-NEXT: v_add_f16_e32 v8, s18, v3
+; VI-NEXT: v_add_f16_e32 v55, s6, v3
+; VI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; VI-NEXT: v_or_b32_e32 v19, v8, v9
; VI-NEXT: s_lshr_b32 s7, s20, 16
-; VI-NEXT: v_add_f16_e32 v54, s6, v8
-; VI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
-; VI-NEXT: v_or_b32_e32 v19, v9, v10
-; VI-NEXT: v_lshlrev_b32_e32 v9, 16, v54
-; VI-NEXT: v_add_f16_e32 v15, s21, v8
-; VI-NEXT: v_add_f16_e32 v35, s7, v8
+; VI-NEXT: v_lshlrev_b32_e32 v8, 16, v55
+; VI-NEXT: v_add_f16_e32 v57, s21, v3
+; VI-NEXT: v_or_b32_e32 v34, v57, v8
+; VI-NEXT: v_add_f16_e32 v8, s7, v3
; VI-NEXT: s_lshr_b32 s6, s23, 16
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
-; VI-NEXT: v_or_b32_e32 v34, v15, v9
-; VI-NEXT: v_lshlrev_b32_e32 v9, 16, v35
-; VI-NEXT: v_add_f16_e32 v55, s20, v8
+; VI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
+; VI-NEXT: v_lshlrev_b32_e32 v8, 16, v8
+; VI-NEXT: v_add_f16_e32 v50, s20, v3
+; VI-NEXT: v_add_f16_e32 v43, s6, v3
+; VI-NEXT: v_or_b32_e32 v33, v50, v8
; VI-NEXT: s_lshr_b32 s7, s22, 16
-; VI-NEXT: v_add_f16_e32 v56, s6, v8
-; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
-; VI-NEXT: v_or_b32_e32 v1, v3, v1
-; VI-NEXT: v_or_b32_e32 v33, v55, v9
-; VI-NEXT: v_lshlrev_b32_e32 v9, 16, v56
-; VI-NEXT: v_add_f16_e32 v41, s23, v8
-; VI-NEXT: v_add_f16_e32 v3, s7, v8
+; VI-NEXT: v_lshlrev_b32_e32 v9, 16, v43
+; VI-NEXT: v_add_f16_e32 v8, s23, v3
+; VI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; VI-NEXT: v_or_b32_e32 v16, v8, v9
+; VI-NEXT: v_add_f16_e32 v8, s7, v3
; VI-NEXT: s_lshr_b32 s6, s25, 16
-; VI-NEXT: v_or_b32_e32 v17, v41, v9
-; VI-NEXT: v_lshlrev_b32_e32 v10, 16, v3
-; VI-NEXT: v_add_f16_e32 v9, s22, v8
-; VI-NEXT: v_add_f16_e32 v40, s6, v8
-; VI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
-; VI-NEXT: v_or_b32_e32 v16, v9, v10
+; VI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
+; VI-NEXT: v_lshlrev_b32_e32 v9, 16, v8
+; VI-NEXT: v_add_f16_e32 v8, s22, v3
+; VI-NEXT: v_add_f16_e32 v51, s6, v3
+; VI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
+; VI-NEXT: v_or_b32_e32 v15, v8, v9
; VI-NEXT: s_lshr_b32 s7, s24, 16
-; VI-NEXT: v_lshlrev_b32_e32 v10, 16, v40
-; VI-NEXT: v_add_f16_e32 v9, s25, v8
-; VI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
-; VI-NEXT: v_or_b32_e32 v14, v9, v10
-; VI-NEXT: v_add_f16_e32 v9, s7, v8
+; VI-NEXT: v_lshlrev_b32_e32 v9, 16, v51
+; VI-NEXT: v_add_f16_e32 v8, s25, v3
+; VI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
+; VI-NEXT: v_or_b32_e32 v14, v8, v9
+; VI-NEXT: v_add_f16_e32 v8, s7, v3
; VI-NEXT: s_lshr_b32 s6, s27, 16
-; VI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
-; VI-NEXT: v_lshlrev_b32_e32 v10, 16, v9
-; VI-NEXT: v_add_f16_e32 v9, s24, v8
-; VI-NEXT: v_add_f16_e32 v45, s6, v8
-; VI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
-; VI-NEXT: v_or_b32_e32 v13, v9, v10
+; VI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
+; VI-NEXT: v_lshlrev_b32_e32 v9, 16, v8
+; VI-NEXT: v_add_f16_e32 v8, s24, v3
+; VI-NEXT: v_add_f16_e32 v42, s6, v3
+; VI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; VI-NEXT: v_or_b32_e32 v13, v8, v9
; VI-NEXT: s_lshr_b32 s7, s26, 16
-; VI-NEXT: v_lshlrev_b32_e32 v9, 16, v45
-; VI-NEXT: v_add_f16_e32 v10, s27, v8
-; VI-NEXT: v_or_b32_e32 v43, v10, v9
-; VI-NEXT: v_add_f16_e32 v9, s7, v8
+; VI-NEXT: v_lshlrev_b32_e32 v9, 16, v42
+; VI-NEXT: v_add_f16_e32 v8, s27, v3
+; VI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
+; VI-NEXT: v_or_b32_e32 v18, v8, v9
+; VI-NEXT: v_add_f16_e32 v8, s7, v3
; VI-NEXT: s_lshr_b32 s6, s29, 16
-; VI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
-; VI-NEXT: v_lshlrev_b32_e32 v9, 16, v9
-; VI-NEXT: v_add_f16_e32 v10, s26, v8
-; VI-NEXT: v_add_f16_e32 v53, s6, v8
-; VI-NEXT: v_or_b32_e32 v42, v10, v9
+; VI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
+; VI-NEXT: v_lshlrev_b32_e32 v9, 16, v8
+; VI-NEXT: v_add_f16_e32 v8, s26, v3
+; VI-NEXT: v_add_f16_e32 v53, s6, v3
+; VI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
+; VI-NEXT: v_or_b32_e32 v17, v8, v9
; VI-NEXT: s_lshr_b32 s7, s28, 16
-; VI-NEXT: v_lshlrev_b32_e32 v9, 16, v53
-; VI-NEXT: v_add_f16_e32 v57, s29, v8
-; VI-NEXT: v_or_b32_e32 v11, v57, v9
-; VI-NEXT: v_add_f16_e32 v9, s7, v8
+; VI-NEXT: v_lshlrev_b32_e32 v8, 16, v53
+; VI-NEXT: v_add_f16_e32 v9, s29, v3
+; VI-NEXT: v_or_b32_e32 v11, v9, v8
+; VI-NEXT: v_add_f16_e32 v8, s7, v3
; VI-NEXT: s_lshr_b32 s6, s5, 16
-; VI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
-; VI-NEXT: v_lshlrev_b32_e32 v9, 16, v9
-; VI-NEXT: v_add_f16_e32 v10, s28, v8
-; VI-NEXT: s_lshr_b32 s7, s4, 16
-; VI-NEXT: v_add_f16_e32 v37, s6, v8
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
-; VI-NEXT: v_or_b32_e32 v10, v10, v9
-; VI-NEXT: v_add_f16_e32 v9, s5, v8
-; VI-NEXT: v_add_f16_e32 v0, s7, v8
-; VI-NEXT: v_add_f16_e32 v47, s4, v8
-; VI-NEXT: v_lshlrev_b32_e32 v8, 16, v37
; VI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
-; VI-NEXT: v_or_b32_e32 v9, v9, v8
-; VI-NEXT: v_lshlrev_b32_e32 v8, 16, v0
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
-; VI-NEXT: v_or_b32_e32 v8, v47, v8
-; VI-NEXT: v_lshrrev_b32_e32 v0, 8, v9
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v0, 8, v8
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v0, 8, v11
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v0, 8, v10
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v0, 8, v43
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v0, 8, v42
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v0, 8, v14
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v0, 8, v13
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v0, 8, v17
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v0, 8, v16
-; VI-NEXT: v_lshrrev_b64 v[16:17], 24, v[16:17]
-; VI-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v17, v39
-; VI-NEXT: v_lshrrev_b32_e32 v47, 8, v2
+; VI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
+; VI-NEXT: v_lshlrev_b32_e32 v8, 16, v8
+; VI-NEXT: v_add_f16_e32 v9, s28, v3
+; VI-NEXT: s_lshr_b32 s7, s4, 16
+; VI-NEXT: v_add_f16_e32 v40, s6, v3
+; VI-NEXT: v_or_b32_e32 v10, v9, v8
+; VI-NEXT: v_add_f16_e32 v8, s5, v3
+; VI-NEXT: v_add_f16_e32 v54, s7, v3
+; VI-NEXT: v_add_f16_e32 v39, s4, v3
+; VI-NEXT: v_lshlrev_b32_e32 v3, 16, v40
+; VI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
+; VI-NEXT: v_or_b32_e32 v9, v8, v3
+; VI-NEXT: v_lshlrev_b32_e32 v3, 16, v54
+; VI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
+; VI-NEXT: v_or_b32_e32 v8, v39, v3
+; VI-NEXT: v_lshrrev_b32_e32 v45, 8, v2
; VI-NEXT: v_lshrrev_b32_e32 v39, 8, v1
; VI-NEXT: v_lshrrev_b64 v[1:2], 24, v[1:2]
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v29
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b64 v[1:2], 24, v[29:30]
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v5
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v4
+; VI-NEXT: v_lshrrev_b32_e32 v3, 8, v9
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b64 v[1:2], 24, v[4:5]
+; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v3, 8, v8
+; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v3, 8, v11
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[8:9], 24, v[8:9]
-; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v28
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v3, 8, v10
; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v27
-; VI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v3, 8, v18
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b64 v[1:2], 24, v[27:28]
-; VI-NEXT: v_lshrrev_b64 v[8:9], 24, v[10:11]
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v0, 8, v34
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v0, 8, v33
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[4:5], 24, v[6:7]
-; VI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[10:11], 24, v[42:43]
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v0, 8, v20
-; VI-NEXT: v_lshrrev_b32_e32 v2, 8, v26
-; VI-NEXT: v_mov_b32_e32 v11, v3
-; VI-NEXT: v_lshrrev_b64 v[8:9], 24, v[33:34]
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v0, 8, v19
-; VI-NEXT: v_lshrrev_b64 v[33:34], 24, v[19:20]
-; VI-NEXT: v_lshrrev_b64 v[19:20], 24, v[31:32]
+; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v3, 8, v17
+; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v3, 8, v14
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[8:9], 24, v[8:9]
+; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v3, 8, v13
; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v7
-; VI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[2:3], 24, v[25:26]
-; VI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:364 ; 4-byte Folded Reload
+; VI-NEXT: v_lshrrev_b64 v[9:10], 24, v[10:11]
+; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v3, 8, v16
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v6
-; VI-NEXT: v_lshrrev_b32_e32 v20, 8, v24
-; VI-NEXT: v_lshrrev_b64 v[5:6], 24, v[23:24]
-; VI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:368 ; 4-byte Folded Reload
-; VI-NEXT: v_mov_b32_e32 v4, v59
+; VI-NEXT: v_lshrrev_b64 v[10:11], 24, v[17:18]
+; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v3, 8, v15
+; VI-NEXT: v_lshrrev_b64 v[16:17], 24, v[15:16]
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[1:2], 24, v[6:7]
+; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v3, 8, v34
+; VI-NEXT: v_lshrrev_b64 v[17:18], 24, v[33:34]
+; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v3, 8, v33
+; VI-NEXT: v_lshrrev_b32_e32 v33, 8, v19
+; VI-NEXT: v_lshrrev_b64 v[18:19], 24, v[19:20]
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b64 v[13:14], 24, v[13:14]
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v29, 8, v25
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v25, v60
-; VI-NEXT: v_lshrrev_b32_e32 v0, 8, v21
-; VI-NEXT: v_lshrrev_b64 v[59:60], 24, v[21:22]
-; VI-NEXT: v_mov_b32_e32 v21, v41
-; VI-NEXT: v_mov_b32_e32 v41, v56
-; VI-NEXT: v_bfe_u32 v7, v56, 8, 8
-; VI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
-; VI-NEXT: v_bfe_u32 v56, v4, 8, 8
-; VI-NEXT: v_bfe_u32 v4, v36, 8, 8
-; VI-NEXT: v_lshrrev_b32_e32 v14, 8, v32
-; VI-NEXT: v_lshrrev_b32_e32 v9, 8, v30
-; VI-NEXT: v_mov_b32_e32 v32, v54
-; VI-NEXT: v_mov_b32_e32 v34, v12
-; VI-NEXT: v_mov_b32_e32 v3, v18
-; VI-NEXT: v_mov_b32_e32 v42, v38
-; VI-NEXT: v_mov_b32_e32 v38, v4
-; VI-NEXT: v_bfe_u32 v4, v46, 8, 8
-; VI-NEXT: v_lshrrev_b32_e32 v43, 8, v31
-; VI-NEXT: v_lshrrev_b32_e32 v30, 8, v23
-; VI-NEXT: v_mov_b32_e32 v2, v51
-; VI-NEXT: v_lshrrev_b32_e32 v23, 8, v22
-; VI-NEXT: v_mov_b32_e32 v51, v55
-; VI-NEXT: v_mov_b32_e32 v60, v9
-; VI-NEXT: v_mov_b32_e32 v9, v52
-; VI-NEXT: v_bfe_u32 v22, v37, 8, 8
-; VI-NEXT: v_mov_b32_e32 v54, v53
-; VI-NEXT: v_bfe_u32 v12, v53, 8, 8
-; VI-NEXT: v_mov_b32_e32 v55, v45
-; VI-NEXT: v_bfe_u32 v53, v45, 8, 8
-; VI-NEXT: v_mov_b32_e32 v45, v40
-; VI-NEXT: v_bfe_u32 v27, v40, 8, 8
-; VI-NEXT: v_mov_b32_e32 v40, v1
-; VI-NEXT: v_bfe_u32 v31, v32, 8, 8
-; VI-NEXT: v_bfe_u32 v28, v34, 8, 8
-; VI-NEXT: v_bfe_u32 v1, v3, 8, 8
-; VI-NEXT: buffer_store_dword v50, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
-; VI-NEXT: v_bfe_u32 v6, v50, 8, 8
-; VI-NEXT: v_mov_b32_e32 v50, v58
-; VI-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
-; VI-NEXT: v_bfe_u32 v58, v25, 8, 8
-; VI-NEXT: v_bfe_u32 v52, v48, 8, 8
-; VI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v3, 8, v20
+; VI-NEXT: v_lshrrev_b64 v[19:20], 24, v[31:32]
+; VI-NEXT: v_lshrrev_b32_e32 v4, 8, v28
+; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v26
+; VI-NEXT: v_lshrrev_b64 v[6:7], 24, v[25:26]
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v20, 8, v24
+; VI-NEXT: v_lshrrev_b64 v[1:2], 24, v[23:24]
+; VI-NEXT: v_mov_b32_e32 v24, v43
+; VI-NEXT: v_mov_b32_e32 v7, v36
+; VI-NEXT: v_lshrrev_b64 v[14:15], 24, v[21:22]
+; VI-NEXT: v_mov_b32_e32 v43, v61
+; VI-NEXT: v_mov_b32_e32 v61, v4
+; VI-NEXT: v_bfe_u32 v4, v47, 8, 8
+; VI-NEXT: v_mov_b32_e32 v37, v54
+; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v3, 8, v32
+; VI-NEXT: v_lshrrev_b32_e32 v34, 8, v31
+; VI-NEXT: v_lshrrev_b32_e32 v46, 8, v30
+; VI-NEXT: v_lshrrev_b32_e32 v27, 8, v25
+; VI-NEXT: v_mov_b32_e32 v32, v58
+; VI-NEXT: v_mov_b32_e32 v11, v12
+; VI-NEXT: v_lshrrev_b32_e32 v26, 8, v23
+; VI-NEXT: v_lshrrev_b32_e32 v31, 8, v22
+; VI-NEXT: v_lshrrev_b32_e32 v23, 8, v21
+; VI-NEXT: v_mov_b32_e32 v22, v50
+; VI-NEXT: v_mov_b32_e32 v21, v57
+; VI-NEXT: v_mov_b32_e32 v54, v40
+; VI-NEXT: v_bfe_u32 v2, v40, 8, 8
+; VI-NEXT: v_mov_b32_e32 v36, v53
+; VI-NEXT: v_bfe_u32 v57, v53, 8, 8
+; VI-NEXT: v_mov_b32_e32 v50, v42
+; VI-NEXT: v_bfe_u32 v5, v42, 8, 8
+; VI-NEXT: v_mov_b32_e32 v42, v51
+; VI-NEXT: v_bfe_u32 v25, v51, 8, 8
+; VI-NEXT: v_bfe_u32 v29, v24, 8, 8
+; VI-NEXT: v_bfe_u32 v30, v55, 8, 8
+; VI-NEXT: v_bfe_u32 v28, v60, 8, 8
+; VI-NEXT: v_bfe_u32 v15, v59, 8, 8
+; VI-NEXT: buffer_store_dword v38, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; VI-NEXT: v_bfe_u32 v53, v38, 8, 8
+; VI-NEXT: v_mov_b32_e32 v38, v52
+; VI-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; VI-NEXT: v_bfe_u32 v52, v56, 8, 8
+; VI-NEXT: v_bfe_u32 v56, v48, 8, 8
+; VI-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v40, v7
+; VI-NEXT: v_bfe_u32 v47, v7, 8, 8
+; VI-NEXT: v_bfe_u32 v51, v43, 8, 8
; VI-NEXT: v_bfe_u32 v4, v49, 8, 8
-; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
-; VI-NEXT: s_waitcnt vmcnt(10)
-; VI-NEXT: v_bfe_u32 v25, v26, 8, 8
+; VI-NEXT: v_bfe_u32 v7, v44, 8, 8
+; VI-NEXT: buffer_store_dword v48, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
; VI-NEXT: s_branch .LBB95_6
; VI-NEXT: .LBB95_5:
; VI-NEXT: v_mov_b32_e32 v1, s44
@@ -184929,270 +184935,268 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; VI-NEXT: v_mov_b32_e32 v1, s40
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v1, s14
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v1, s12
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v1, s13
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s10
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v1, s11
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v1, s9
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v1, s6
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v1, s7
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s7
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v1, s16
+; VI-NEXT: v_mov_b32_e32 v2, s85
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v1, s17
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v2, s46
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v1, s18
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v2, s80
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v1, s19
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v2, s70
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v1, s22
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v2, s68
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s23
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v2, s67
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v1, s24
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v2, s55
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v1, s25
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v2, s54
+; VI-NEXT: v_readlane_b32 s6, v62, 6
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v1, s26
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v2, s6
+; VI-NEXT: v_readlane_b32 s6, v62, 7
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v1, s27
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v1, s56
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v1, s84
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v2, s6
; VI-NEXT: v_readlane_b32 s6, v62, 8
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v1, s81
-; VI-NEXT: v_mov_b32_e32 v9, s6
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s6
; VI-NEXT: v_readlane_b32 s6, v62, 9
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v1, s80
-; VI-NEXT: v_mov_b32_e32 v3, s6
+; VI-NEXT: v_mov_b32_e32 v59, s6
; VI-NEXT: v_readlane_b32 s6, v62, 10
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v1, s71
-; VI-NEXT: v_mov_b32_e32 v17, s6
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s6
; VI-NEXT: v_readlane_b32 s6, v62, 11
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v1, s69
-; VI-NEXT: v_mov_b32_e32 v34, s6
+; VI-NEXT: v_mov_b32_e32 v60, s6
; VI-NEXT: v_readlane_b32 s6, v62, 12
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v1, s67
-; VI-NEXT: v_mov_b32_e32 v35, s6
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s6
; VI-NEXT: v_readlane_b32 s6, v62, 13
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v1, s65
-; VI-NEXT: v_mov_b32_e32 v32, s6
+; VI-NEXT: v_mov_b32_e32 v55, s6
; VI-NEXT: v_readlane_b32 s6, v62, 14
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v1, s55
-; VI-NEXT: v_mov_b32_e32 v11, s6
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s6
; VI-NEXT: v_readlane_b32 s6, v62, 15
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v1, s52
-; VI-NEXT: v_mov_b32_e32 v41, s6
+; VI-NEXT: v_mov_b32_e32 v24, s6
; VI-NEXT: v_readlane_b32 s6, v62, 16
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v1, s6
; VI-NEXT: v_readlane_b32 s6, v62, 17
-; VI-NEXT: v_mov_b32_e32 v45, s6
+; VI-NEXT: v_mov_b32_e32 v42, s6
; VI-NEXT: v_readlane_b32 s6, v62, 18
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v1, s6
; VI-NEXT: v_readlane_b32 s6, v62, 19
-; VI-NEXT: v_mov_b32_e32 v55, s6
+; VI-NEXT: v_mov_b32_e32 v50, s6
; VI-NEXT: v_readlane_b32 s6, v62, 20
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v1, s6
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v1, s54
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v1, s28
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s29
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v1, s4
; VI-NEXT: v_readlane_b32 s4, v62, 21
-; VI-NEXT: v_mov_b32_e32 v22, s4
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v2, s4
; VI-NEXT: v_readlane_b32 s4, v62, 22
-; VI-NEXT: v_mov_b32_e32 v12, s4
+; VI-NEXT: v_mov_b32_e32 v57, s4
; VI-NEXT: v_readlane_b32 s4, v62, 23
-; VI-NEXT: v_mov_b32_e32 v53, s4
+; VI-NEXT: v_mov_b32_e32 v5, s4
; VI-NEXT: v_readlane_b32 s4, v62, 24
-; VI-NEXT: v_mov_b32_e32 v27, s4
+; VI-NEXT: v_mov_b32_e32 v25, s4
; VI-NEXT: v_readlane_b32 s4, v62, 25
-; VI-NEXT: v_mov_b32_e32 v7, s4
+; VI-NEXT: v_mov_b32_e32 v29, s4
; VI-NEXT: v_readlane_b32 s4, v62, 26
-; VI-NEXT: v_mov_b32_e32 v31, s4
+; VI-NEXT: v_mov_b32_e32 v30, s4
; VI-NEXT: v_readlane_b32 s4, v62, 27
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v1, s5
; VI-NEXT: v_mov_b32_e32 v28, s4
; VI-NEXT: v_readlane_b32 s4, v62, 28
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v1, s4
-; VI-NEXT: v_mov_b32_e32 v4, s53
+; VI-NEXT: v_mov_b32_e32 v15, s4
; VI-NEXT: v_readlane_b32 s4, v62, 29
-; VI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s5
; VI-NEXT: v_mov_b32_e32 v4, s4
; VI-NEXT: v_readlane_b32 s4, v62, 30
-; VI-NEXT: v_mov_b32_e32 v0, s41
-; VI-NEXT: v_mov_b32_e32 v25, s4
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s50
+; VI-NEXT: v_mov_b32_e32 v7, s4
; VI-NEXT: v_readlane_b32 s4, v62, 31
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v0, s4
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s4
; VI-NEXT: v_readlane_b32 s4, v62, 32
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v0, s4
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s4
; VI-NEXT: v_readlane_b32 s4, v62, 33
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v0, s4
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s4
; VI-NEXT: v_readlane_b32 s4, v62, 34
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v0, s4
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s4
; VI-NEXT: v_readlane_b32 s4, v62, 35
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v0, s4
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s4
; VI-NEXT: v_readlane_b32 s4, v62, 36
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v0, s4
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s4
; VI-NEXT: v_readlane_b32 s4, v62, 37
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v0, s4
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s4
; VI-NEXT: v_readlane_b32 s4, v62, 38
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v0, s4
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s4
; VI-NEXT: v_readlane_b32 s4, v62, 39
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v0, s4
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s4
; VI-NEXT: v_readlane_b32 s4, v62, 40
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v0, s4
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s4
; VI-NEXT: v_readlane_b32 s4, v62, 41
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v0, s4
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s4
; VI-NEXT: v_readlane_b32 s4, v62, 42
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v0, s4
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s4
; VI-NEXT: v_readlane_b32 s4, v62, 43
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v0, s4
+; VI-NEXT: v_mov_b32_e32 v33, s4
; VI-NEXT: v_readlane_b32 s4, v62, 44
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v0, s4
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s4
; VI-NEXT: v_readlane_b32 s4, v62, 45
-; VI-NEXT: v_mov_b32_e32 v43, s4
+; VI-NEXT: v_mov_b32_e32 v34, s4
; VI-NEXT: v_readlane_b32 s4, v62, 46
-; VI-NEXT: v_mov_b32_e32 v14, s4
-; VI-NEXT: v_mov_b32_e32 v6, s66
+; VI-NEXT: v_mov_b32_e32 v3, s4
+; VI-NEXT: v_mov_b32_e32 v6, s71
; VI-NEXT: v_readlane_b32 s4, v62, 47
-; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v6, s4
-; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v6, s51
-; VI-NEXT: v_readlane_b32 s4, v62, 48
; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v6, s4
+; VI-NEXT: v_readlane_b32 s4, v62, 48
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s4
; VI-NEXT: v_readlane_b32 s4, v62, 49
-; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v6, s4
+; VI-NEXT: v_mov_b32_e32 v61, s4
; VI-NEXT: v_readlane_b32 s4, v62, 50
-; VI-NEXT: v_mov_b32_e32 v40, s4
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s4
; VI-NEXT: v_readlane_b32 s4, v62, 51
-; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v6, s4
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s4
; VI-NEXT: v_readlane_b32 s4, v62, 52
-; VI-NEXT: v_mov_b32_e32 v29, s4
+; VI-NEXT: v_mov_b32_e32 v27, s4
; VI-NEXT: v_readlane_b32 s4, v62, 53
-; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v6, s4
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s4
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s78
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s88
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, s90
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, vcc_lo
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
; VI-NEXT: v_readlane_b32 s4, v62, 54
-; VI-NEXT: v_mov_b32_e32 v30, s4
+; VI-NEXT: v_mov_b32_e32 v26, s4
; VI-NEXT: v_readlane_b32 s4, v62, 55
; VI-NEXT: v_mov_b32_e32 v20, s4
; VI-NEXT: v_readlane_b32 s4, v62, 56
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v0, s4
-; VI-NEXT: v_readlane_b32 s4, v62, 57
; VI-NEXT: v_mov_b32_e32 v23, s4
-; VI-NEXT: v_readlane_b32 s4, v62, 6
-; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v6, s4
-; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
-; VI-NEXT: v_readlane_b32 s5, v62, 7
+; VI-NEXT: v_readlane_b32 s4, v62, 57
+; VI-NEXT: v_mov_b32_e32 v31, s4
; VI-NEXT: v_readlane_b32 s4, v62, 4
-; VI-NEXT: v_mov_b32_e32 v6, s4
-; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v6, s78
-; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v6, s88
-; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v6, s90
-; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v6, vcc_lo
-; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
; VI-NEXT: v_readlane_b32 s5, v62, 5
-; VI-NEXT: v_mov_b32_e32 v6, s30
+; VI-NEXT: v_mov_b32_e32 v8, s4
; VI-NEXT: v_readlane_b32 s4, v62, 2
-; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
; VI-NEXT: v_readlane_b32 s5, v62, 3
-; VI-NEXT: v_mov_b32_e32 v6, s61
-; VI-NEXT: v_mov_b32_e32 v5, s34
-; VI-NEXT: v_mov_b32_e32 v10, s4
+; VI-NEXT: v_mov_b32_e32 v1, s30
+; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v6, s64
+; VI-NEXT: v_mov_b32_e32 v9, s4
; VI-NEXT: v_readlane_b32 s4, v62, 0
-; VI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v50, s15
-; VI-NEXT: v_mov_b32_e32 v42, s10
-; VI-NEXT: v_mov_b32_e32 v44, s8
-; VI-NEXT: v_mov_b32_e32 v51, s20
-; VI-NEXT: v_mov_b32_e32 v15, s21
-; VI-NEXT: v_mov_b32_e32 v21, s23
-; VI-NEXT: v_mov_b32_e32 v2, s47
-; VI-NEXT: v_mov_b32_e32 v26, s59
-; VI-NEXT: v_mov_b32_e32 v24, s58
-; VI-NEXT: v_mov_b32_e32 v49, s86
-; VI-NEXT: v_mov_b32_e32 v46, s85
-; VI-NEXT: v_mov_b32_e32 v48, s83
-; VI-NEXT: v_mov_b32_e32 v54, s50
-; VI-NEXT: v_mov_b32_e32 v37, s64
-; VI-NEXT: v_mov_b32_e32 v57, s29
-; VI-NEXT: v_mov_b32_e32 v56, s60
-; VI-NEXT: v_mov_b32_e32 v58, s87
-; VI-NEXT: v_mov_b32_e32 v38, s46
-; VI-NEXT: v_mov_b32_e32 v52, s70
-; VI-NEXT: v_mov_b32_e32 v39, s82
-; VI-NEXT: v_mov_b32_e32 v47, s57
-; VI-NEXT: v_mov_b32_e32 v60, s68
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v38, s41
+; VI-NEXT: v_mov_b32_e32 v35, s15
+; VI-NEXT: v_mov_b32_e32 v41, s8
+; VI-NEXT: v_mov_b32_e32 v22, s20
+; VI-NEXT: v_mov_b32_e32 v21, s21
+; VI-NEXT: v_mov_b32_e32 v11, s51
+; VI-NEXT: v_mov_b32_e32 v44, s47
+; VI-NEXT: v_mov_b32_e32 v32, s86
+; VI-NEXT: v_mov_b32_e32 v49, s56
+; VI-NEXT: v_mov_b32_e32 v43, s84
+; VI-NEXT: v_mov_b32_e32 v40, s82
+; VI-NEXT: v_mov_b32_e32 v36, s53
+; VI-NEXT: v_mov_b32_e32 v37, s65
+; VI-NEXT: v_mov_b32_e32 v54, s69
+; VI-NEXT: v_mov_b32_e32 v53, s52
+; VI-NEXT: v_mov_b32_e32 v52, s59
+; VI-NEXT: v_mov_b32_e32 v56, s58
+; VI-NEXT: v_mov_b32_e32 v47, s83
+; VI-NEXT: v_mov_b32_e32 v51, s66
+; VI-NEXT: v_mov_b32_e32 v39, s57
+; VI-NEXT: v_mov_b32_e32 v45, s87
+; VI-NEXT: v_mov_b32_e32 v46, s81
+; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
; VI-NEXT: v_readlane_b32 s5, v62, 1
-; VI-NEXT: v_mov_b32_e32 v13, s4
+; VI-NEXT: v_mov_b32_e32 v10, s4
+; VI-NEXT: v_mov_b32_e32 v13, s60
; VI-NEXT: v_mov_b32_e32 v16, s62
-; VI-NEXT: v_mov_b32_e32 v8, s72
-; VI-NEXT: v_mov_b32_e32 v33, s74
+; VI-NEXT: v_mov_b32_e32 v17, s72
+; VI-NEXT: v_mov_b32_e32 v18, s74
; VI-NEXT: v_mov_b32_e32 v19, s76
-; VI-NEXT: v_mov_b32_e32 v5, s36
-; VI-NEXT: v_mov_b32_e32 v59, s38
+; VI-NEXT: v_mov_b32_e32 v6, s34
+; VI-NEXT: v_mov_b32_e32 v1, s36
+; VI-NEXT: v_mov_b32_e32 v14, s38
; VI-NEXT: .LBB95_6: ; %end
+; VI-NEXT: buffer_load_dword v48, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:352 ; 4-byte Folded Reload
; VI-NEXT: s_mov_b32 s4, 0xc0c0004
-; VI-NEXT: v_perm_b32 v18, v17, v33, s4
-; VI-NEXT: v_perm_b32 v17, v35, v8, s4
-; VI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload
-; VI-NEXT: v_perm_b32 v19, v9, v19, s4
-; VI-NEXT: v_lshlrev_b32_e32 v19, 16, v19
-; VI-NEXT: v_perm_b32 v1, v3, v1, s4
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
-; VI-NEXT: v_perm_b32 v16, v11, v16, s4
-; VI-NEXT: s_waitcnt vmcnt(9)
-; VI-NEXT: v_perm_b32 v11, v24, v5, s4
+; VI-NEXT: v_perm_b32 v14, v11, v14, s4
+; VI-NEXT: v_perm_b32 v11, v32, v1, s4
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v15, v59, v15, s4
+; VI-NEXT: v_lshlrev_b32_e32 v15, 16, v15
+; VI-NEXT: v_perm_b32 v8, v37, v8, s4
+; VI-NEXT: v_perm_b32 v2, v54, v2, s4
+; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
; VI-NEXT: v_readlane_b32 s30, v63, 30
; VI-NEXT: v_readlane_b32 s31, v63, 31
; VI-NEXT: v_readlane_b32 s87, v63, 29
@@ -185225,182 +185229,181 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; VI-NEXT: v_readlane_b32 s36, v63, 2
; VI-NEXT: v_readlane_b32 s35, v63, 1
; VI-NEXT: v_readlane_b32 s34, v63, 0
+; VI-NEXT: s_waitcnt vmcnt(2)
+; VI-NEXT: v_perm_b32 v19, v48, v19, s4
+; VI-NEXT: buffer_load_dword v48, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload
+; VI-NEXT: v_lshlrev_b32_e32 v19, 16, v19
+; VI-NEXT: s_waitcnt vmcnt(2)
+; VI-NEXT: v_perm_b32 v9, v12, v9, s4
+; VI-NEXT: s_waitcnt vmcnt(1)
+; VI-NEXT: v_perm_b32 v1, v1, v34, s4
+; VI-NEXT: v_or_b32_e32 v1, v1, v19
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v13, v8, v13, s4
-; VI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:268 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v18, v48, v18, s4
+; VI-NEXT: buffer_load_dword v48, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v10, v8, v10, s4
-; VI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:272 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:356 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v36, off, s[0:3], s32 offset:360 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_perm_b32 v9, v8, v35, s4
-; VI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:276 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:344 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v36, off, s[0:3], s32 offset:348 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_perm_b32 v8, v8, v35, s4
-; VI-NEXT: v_perm_b32 v35, v2, v59, s4
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v17, v48, v17, s4
+; VI-NEXT: buffer_load_dword v48, off, s[0:3], s32 offset:280 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v2, v2, v43, s4
-; VI-NEXT: v_or_b32_e32 v2, v2, v19
-; VI-NEXT: buffer_store_dword v2, v61, s[0:3], 0 offen
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v16, v48, v16, s4
+; VI-NEXT: buffer_load_dword v48, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v2, v2, v14, s4
-; VI-NEXT: v_or_b32_e32 v1, v2, v1
-; VI-NEXT: buffer_store_dword v1, v61, s[0:3], 0 offen offset:4
+; VI-NEXT: v_perm_b32 v13, v48, v13, s4
+; VI-NEXT: buffer_load_dword v48, off, s[0:3], s32 offset:348 ; 4-byte Folded Reload
+; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(2)
+; VI-NEXT: v_perm_b32 v10, v48, v10, s4
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_perm_b32 v1, v1, v3, s4
+; VI-NEXT: v_or_b32_e32 v1, v1, v15
+; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:4
; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:340 ; 4-byte Folded Reload
+; VI-NEXT: v_lshlrev_b32_e32 v15, 16, v18
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v1, v2, s4
-; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v18
-; VI-NEXT: v_or_b32_e32 v1, v1, v2
-; VI-NEXT: buffer_store_dword v1, v61, s[0:3], 0 offen offset:8
+; VI-NEXT: v_perm_b32 v1, v1, v33, s4
+; VI-NEXT: v_or_b32_e32 v1, v1, v15
+; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:8
; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:336 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:344 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v15, v60, v28, s4
+; VI-NEXT: v_lshlrev_b32_e32 v15, 16, v15
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v1, v2, s4
-; VI-NEXT: v_perm_b32 v2, v34, v28, s4
-; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
-; VI-NEXT: v_or_b32_e32 v1, v1, v2
-; VI-NEXT: buffer_store_dword v1, v61, s[0:3], 0 offen offset:12
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:332 ; 4-byte Folded Reload
-; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v17
+; VI-NEXT: v_perm_b32 v1, v1, v3, s4
+; VI-NEXT: v_or_b32_e32 v1, v1, v15
+; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:12
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:340 ; 4-byte Folded Reload
+; VI-NEXT: v_lshlrev_b32_e32 v3, 16, v17
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v51, v1, s4
-; VI-NEXT: v_or_b32_e32 v1, v1, v2
-; VI-NEXT: buffer_store_dword v1, v61, s[0:3], 0 offen offset:16
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:328 ; 4-byte Folded Reload
-; VI-NEXT: v_perm_b32 v2, v32, v31, s4
-; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
+; VI-NEXT: v_perm_b32 v1, v22, v1, s4
+; VI-NEXT: v_or_b32_e32 v1, v1, v3
+; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:16
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:336 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v3, v55, v30, s4
+; VI-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v15, v1, s4
-; VI-NEXT: v_or_b32_e32 v1, v1, v2
-; VI-NEXT: buffer_store_dword v1, v61, s[0:3], 0 offen offset:20
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:324 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v1, v21, v1, s4
+; VI-NEXT: v_or_b32_e32 v1, v1, v3
+; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:20
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:332 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v1, v2, s4
-; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v16
-; VI-NEXT: v_or_b32_e32 v1, v1, v2
-; VI-NEXT: buffer_store_dword v1, v61, s[0:3], 0 offen offset:24
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:320 ; 4-byte Folded Reload
-; VI-NEXT: v_perm_b32 v2, v41, v7, s4
-; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
+; VI-NEXT: v_perm_b32 v1, v1, v3, s4
+; VI-NEXT: v_lshlrev_b32_e32 v3, 16, v16
+; VI-NEXT: v_or_b32_e32 v1, v1, v3
+; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:24
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:328 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v21, v1, s4
-; VI-NEXT: v_or_b32_e32 v1, v1, v2
-; VI-NEXT: buffer_store_dword v1, v61, s[0:3], 0 offen offset:28
+; VI-NEXT: v_perm_b32 v1, v1, v3, s4
+; VI-NEXT: v_perm_b32 v3, v24, v29, s4
+; VI-NEXT: v_lshlrev_b32_e32 v3, 16, v3
+; VI-NEXT: v_or_b32_e32 v1, v1, v3
+; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:28
; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:316 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:324 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v1, v2, s4
-; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v13
-; VI-NEXT: v_or_b32_e32 v1, v1, v2
-; VI-NEXT: buffer_store_dword v1, v61, s[0:3], 0 offen offset:32
+; VI-NEXT: v_perm_b32 v1, v1, v3, s4
+; VI-NEXT: v_lshlrev_b32_e32 v3, 16, v13
+; VI-NEXT: v_or_b32_e32 v1, v1, v3
+; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:32
; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:312 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:320 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v1, v2, s4
-; VI-NEXT: v_perm_b32 v2, v45, v27, s4
-; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
-; VI-NEXT: v_or_b32_e32 v1, v1, v2
-; VI-NEXT: buffer_store_dword v1, v61, s[0:3], 0 offen offset:36
+; VI-NEXT: v_perm_b32 v1, v1, v3, s4
+; VI-NEXT: v_perm_b32 v3, v42, v25, s4
+; VI-NEXT: v_lshlrev_b32_e32 v3, 16, v3
+; VI-NEXT: v_or_b32_e32 v1, v1, v3
+; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:36
; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:308 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:316 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v1, v2, s4
-; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v10
-; VI-NEXT: v_or_b32_e32 v1, v1, v2
-; VI-NEXT: buffer_store_dword v1, v61, s[0:3], 0 offen offset:40
+; VI-NEXT: v_perm_b32 v1, v1, v3, s4
+; VI-NEXT: v_lshlrev_b32_e32 v3, 16, v10
+; VI-NEXT: v_or_b32_e32 v1, v1, v3
+; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:40
; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:304 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:312 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v1, v2, s4
-; VI-NEXT: v_perm_b32 v2, v55, v53, s4
-; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
-; VI-NEXT: v_or_b32_e32 v1, v1, v2
-; VI-NEXT: buffer_store_dword v1, v61, s[0:3], 0 offen offset:44
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:300 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v1, v1, v3, s4
+; VI-NEXT: v_perm_b32 v3, v50, v5, s4
+; VI-NEXT: v_lshlrev_b32_e32 v3, 16, v3
+; VI-NEXT: v_or_b32_e32 v1, v1, v3
+; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:44
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:308 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v1, v2, s4
-; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v9
-; VI-NEXT: v_or_b32_e32 v1, v1, v2
-; VI-NEXT: buffer_store_dword v1, v61, s[0:3], 0 offen offset:48
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload
-; VI-NEXT: v_perm_b32 v2, v54, v12, s4
-; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
+; VI-NEXT: v_perm_b32 v1, v1, v3, s4
+; VI-NEXT: v_lshlrev_b32_e32 v3, 16, v9
+; VI-NEXT: v_or_b32_e32 v1, v1, v3
+; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:48
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:304 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v57, v1, s4
-; VI-NEXT: v_or_b32_e32 v1, v1, v2
-; VI-NEXT: buffer_store_dword v1, v61, s[0:3], 0 offen offset:52
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v1, v1, v3, s4
+; VI-NEXT: v_perm_b32 v3, v36, v57, s4
+; VI-NEXT: v_lshlrev_b32_e32 v3, 16, v3
+; VI-NEXT: v_or_b32_e32 v1, v1, v3
+; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:52
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:300 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v1, v2, s4
-; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v8
-; VI-NEXT: v_or_b32_e32 v1, v1, v2
-; VI-NEXT: buffer_store_dword v1, v61, s[0:3], 0 offen offset:56
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:280 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v1, v1, v3, s4
+; VI-NEXT: v_lshlrev_b32_e32 v3, 16, v8
+; VI-NEXT: v_or_b32_e32 v1, v1, v3
+; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:56
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v1, v2, s4
-; VI-NEXT: v_perm_b32 v2, v37, v22, s4
-; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
+; VI-NEXT: v_perm_b32 v1, v1, v3, s4
; VI-NEXT: v_or_b32_e32 v1, v1, v2
-; VI-NEXT: buffer_store_dword v1, v61, s[0:3], 0 offen offset:60
+; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:60
; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
-; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v35
+; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v14
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v1, v0, s4
+; VI-NEXT: v_perm_b32 v1, v1, v23, s4
; VI-NEXT: v_or_b32_e32 v1, v1, v2
-; VI-NEXT: buffer_store_dword v1, v61, s[0:3], 0 offen offset:64
+; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:64
; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
-; VI-NEXT: v_perm_b32 v2, v26, v25, s4
+; VI-NEXT: v_perm_b32 v2, v44, v7, s4
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v1, v23, s4
+; VI-NEXT: v_perm_b32 v1, v1, v31, s4
; VI-NEXT: v_or_b32_e32 v1, v1, v2
-; VI-NEXT: buffer_store_dword v1, v61, s[0:3], 0 offen offset:68
+; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:68
; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v11
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v1, v30, s4
+; VI-NEXT: v_perm_b32 v1, v1, v26, s4
; VI-NEXT: v_or_b32_e32 v1, v1, v2
-; VI-NEXT: buffer_store_dword v1, v61, s[0:3], 0 offen offset:72
+; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:72
; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
; VI-NEXT: v_perm_b32 v2, v49, v4, s4
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v1, v20, s4
; VI-NEXT: v_or_b32_e32 v1, v1, v2
-; VI-NEXT: buffer_store_dword v1, v61, s[0:3], 0 offen offset:76
+; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:76
; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_perm_b32 v2, v2, v3, s4
-; VI-NEXT: v_perm_b32 v1, v1, v29, s4
+; VI-NEXT: v_perm_b32 v1, v1, v27, s4
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_perm_b32 v2, v2, v6, s4
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
; VI-NEXT: v_or_b32_e32 v1, v1, v2
-; VI-NEXT: buffer_store_dword v1, v61, s[0:3], 0 offen offset:80
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload
+; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:80
; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:352 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(2)
-; VI-NEXT: v_perm_b32 v2, v46, v2, s4
-; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v0, v1, s4
+; VI-NEXT: v_perm_b32 v2, v43, v51, s4
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_perm_b32 v1, v38, v1, s4
; VI-NEXT: v_or_b32_e32 v1, v1, v2
-; VI-NEXT: buffer_store_dword v1, v61, s[0:3], 0 offen offset:84
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload
+; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:84
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v2, v1, v40, s4
+; VI-NEXT: v_perm_b32 v2, v1, v2, s4
; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload
@@ -185408,39 +185411,40 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; VI-NEXT: v_perm_b32 v1, v1, v3, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v2, v1
-; VI-NEXT: buffer_store_dword v1, v61, s[0:3], 0 offen offset:88
+; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:88
; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload
-; VI-NEXT: v_perm_b32 v2, v48, v52, s4
+; VI-NEXT: v_perm_b32 v2, v40, v47, s4
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v50, v1, s4
+; VI-NEXT: v_perm_b32 v1, v35, v1, s4
; VI-NEXT: v_or_b32_e32 v1, v1, v2
-; VI-NEXT: buffer_store_dword v1, v61, s[0:3], 0 offen offset:92
+; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:92
; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v2, v2, v1, s4
; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_perm_b32 v1, v1, v3, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v2, v1
-; VI-NEXT: buffer_store_dword v1, v61, s[0:3], 0 offen offset:96
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload
+; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:96
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:272 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v2, v2, v1, s4
+; VI-NEXT: v_perm_b32 v2, v1, v61, s4
; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:276 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v1, v38, s4
+; VI-NEXT: v_perm_b32 v1, v1, v3, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v2, v1
-; VI-NEXT: buffer_store_dword v1, v61, s[0:3], 0 offen offset:100
+; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:100
; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:268 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v2, v42, v1, s4
+; VI-NEXT: v_perm_b32 v2, v2, v1, s4
; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload
@@ -185448,20 +185452,20 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; VI-NEXT: v_perm_b32 v1, v1, v3, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v2, v1
-; VI-NEXT: buffer_store_dword v1, v61, s[0:3], 0 offen offset:104
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload
+; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:104
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v2, v2, v1, s4
; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v1, v58, s4
+; VI-NEXT: v_perm_b32 v1, v1, v56, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v2, v1
-; VI-NEXT: buffer_store_dword v1, v61, s[0:3], 0 offen offset:108
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
+; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:108
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v2, v44, v1, s4
+; VI-NEXT: v_perm_b32 v2, v41, v1, s4
; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload
@@ -185469,36 +185473,36 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; VI-NEXT: v_perm_b32 v1, v1, v3, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v2, v1
-; VI-NEXT: buffer_store_dword v1, v61, s[0:3], 0 offen offset:112
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload
+; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:112
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v2, v1, v60, s4
+; VI-NEXT: v_perm_b32 v2, v1, v46, s4
; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v1, v56, s4
+; VI-NEXT: v_perm_b32 v1, v1, v52, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v2, v1
-; VI-NEXT: buffer_store_dword v1, v61, s[0:3], 0 offen offset:116
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload
+; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:116
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v2, v1, v39, s4
; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:56 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_perm_b32 v1, v1, v3, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v2, v1
-; VI-NEXT: buffer_store_dword v1, v61, s[0:3], 0 offen offset:120
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload
+; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:120
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v2, v1, v47, s4
+; VI-NEXT: v_perm_b32 v2, v1, v45, s4
; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v1, v6, s4
+; VI-NEXT: v_perm_b32 v1, v1, v53, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v2, v1
-; VI-NEXT: buffer_store_dword v1, v61, s[0:3], 0 offen offset:124
+; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:124
; VI-NEXT: buffer_load_dword v61, off, s[0:3], s32 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v60, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v59, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload
@@ -185514,8 +185518,8 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; VI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:48 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:52 ; 4-byte Folded Reload
; VI-NEXT: s_or_saveexec_b64 s[4:5], -1
-; VI-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:372 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:376 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:356 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:360 ; 4-byte Folded Reload
; VI-NEXT: s_mov_b64 exec, s[4:5]
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: s_setpc_b64 s[30:31]
@@ -185524,8 +185528,8 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; GFX9: ; %bb.0:
; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
; GFX9-NEXT: s_or_saveexec_b64 s[4:5], -1
-; GFX9-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:384 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:388 ; 4-byte Folded Spill
; GFX9-NEXT: s_mov_b64 exec, s[4:5]
; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:52 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:48 ; 4-byte Folded Spill
@@ -185901,458 +185905,451 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; GFX9-NEXT: s_cmp_lg_u32 s57, 1
; GFX9-NEXT: s_cbranch_scc1 .LBB95_5
; GFX9-NEXT: ; %bb.4: ; %cmp.true
-; GFX9-NEXT: v_mov_b32_e32 v15, 0x200
-; GFX9-NEXT: v_pk_add_f16 v26, s5, v15 op_sel_hi:[1,0]
-; GFX9-NEXT: v_pk_add_f16 v25, s4, v15 op_sel_hi:[1,0]
-; GFX9-NEXT: v_pk_add_f16 v20, s45, v15 op_sel_hi:[1,0]
-; GFX9-NEXT: v_pk_add_f16 v19, s44, v15 op_sel_hi:[1,0]
-; GFX9-NEXT: v_pk_add_f16 v14, s43, v15 op_sel_hi:[1,0]
-; GFX9-NEXT: v_pk_add_f16 v13, s42, v15 op_sel_hi:[1,0]
-; GFX9-NEXT: v_pk_add_f16 v12, s41, v15 op_sel_hi:[1,0]
-; GFX9-NEXT: v_pk_add_f16 v11, s40, v15 op_sel_hi:[1,0]
-; GFX9-NEXT: v_pk_add_f16 v10, s15, v15 op_sel_hi:[1,0]
-; GFX9-NEXT: v_pk_add_f16 v9, s14, v15 op_sel_hi:[1,0]
-; GFX9-NEXT: v_pk_add_f16 v8, s13, v15 op_sel_hi:[1,0]
-; GFX9-NEXT: v_pk_add_f16 v7, s12, v15 op_sel_hi:[1,0]
-; GFX9-NEXT: v_pk_add_f16 v6, s11, v15 op_sel_hi:[1,0]
-; GFX9-NEXT: v_pk_add_f16 v5, s10, v15 op_sel_hi:[1,0]
-; GFX9-NEXT: v_pk_add_f16 v4, s9, v15 op_sel_hi:[1,0]
-; GFX9-NEXT: v_pk_add_f16 v3, s8, v15 op_sel_hi:[1,0]
-; GFX9-NEXT: v_pk_add_f16 v2, s7, v15 op_sel_hi:[1,0]
-; GFX9-NEXT: v_pk_add_f16 v1, s6, v15 op_sel_hi:[1,0]
-; GFX9-NEXT: v_pk_add_f16 v49, s17, v15 op_sel_hi:[1,0]
-; GFX9-NEXT: v_pk_add_f16 v48, s16, v15 op_sel_hi:[1,0]
-; GFX9-NEXT: v_pk_add_f16 v38, s19, v15 op_sel_hi:[1,0]
-; GFX9-NEXT: v_pk_add_f16 v37, s18, v15 op_sel_hi:[1,0]
-; GFX9-NEXT: v_pk_add_f16 v36, s21, v15 op_sel_hi:[1,0]
-; GFX9-NEXT: v_pk_add_f16 v35, s20, v15 op_sel_hi:[1,0]
-; GFX9-NEXT: v_pk_add_f16 v34, s23, v15 op_sel_hi:[1,0]
-; GFX9-NEXT: v_pk_add_f16 v33, s22, v15 op_sel_hi:[1,0]
-; GFX9-NEXT: v_pk_add_f16 v32, s25, v15 op_sel_hi:[1,0]
-; GFX9-NEXT: v_pk_add_f16 v31, s24, v15 op_sel_hi:[1,0]
-; GFX9-NEXT: v_pk_add_f16 v30, s27, v15 op_sel_hi:[1,0]
-; GFX9-NEXT: v_pk_add_f16 v29, s26, v15 op_sel_hi:[1,0]
-; GFX9-NEXT: v_pk_add_f16 v28, s29, v15 op_sel_hi:[1,0]
-; GFX9-NEXT: v_pk_add_f16 v27, s28, v15 op_sel_hi:[1,0]
-; GFX9-NEXT: v_lshrrev_b64 v[15:16], 24, v[25:26]
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, 0x200
+; GFX9-NEXT: v_pk_add_f16 v25, s5, v17 op_sel_hi:[1,0]
+; GFX9-NEXT: v_pk_add_f16 v24, s4, v17 op_sel_hi:[1,0]
+; GFX9-NEXT: v_pk_add_f16 v16, s45, v17 op_sel_hi:[1,0]
+; GFX9-NEXT: v_pk_add_f16 v15, s44, v17 op_sel_hi:[1,0]
+; GFX9-NEXT: v_pk_add_f16 v14, s43, v17 op_sel_hi:[1,0]
+; GFX9-NEXT: v_pk_add_f16 v13, s42, v17 op_sel_hi:[1,0]
+; GFX9-NEXT: v_pk_add_f16 v12, s41, v17 op_sel_hi:[1,0]
+; GFX9-NEXT: v_pk_add_f16 v11, s40, v17 op_sel_hi:[1,0]
+; GFX9-NEXT: v_pk_add_f16 v10, s15, v17 op_sel_hi:[1,0]
+; GFX9-NEXT: v_pk_add_f16 v9, s14, v17 op_sel_hi:[1,0]
+; GFX9-NEXT: v_pk_add_f16 v8, s13, v17 op_sel_hi:[1,0]
+; GFX9-NEXT: v_pk_add_f16 v7, s12, v17 op_sel_hi:[1,0]
+; GFX9-NEXT: v_pk_add_f16 v6, s11, v17 op_sel_hi:[1,0]
+; GFX9-NEXT: v_pk_add_f16 v5, s10, v17 op_sel_hi:[1,0]
+; GFX9-NEXT: v_pk_add_f16 v4, s9, v17 op_sel_hi:[1,0]
+; GFX9-NEXT: v_pk_add_f16 v3, s8, v17 op_sel_hi:[1,0]
+; GFX9-NEXT: v_pk_add_f16 v2, s7, v17 op_sel_hi:[1,0]
+; GFX9-NEXT: v_pk_add_f16 v1, s6, v17 op_sel_hi:[1,0]
+; GFX9-NEXT: v_pk_add_f16 v39, s17, v17 op_sel_hi:[1,0]
+; GFX9-NEXT: v_pk_add_f16 v38, s16, v17 op_sel_hi:[1,0]
+; GFX9-NEXT: v_pk_add_f16 v37, s19, v17 op_sel_hi:[1,0]
+; GFX9-NEXT: v_pk_add_f16 v36, s18, v17 op_sel_hi:[1,0]
+; GFX9-NEXT: v_pk_add_f16 v35, s21, v17 op_sel_hi:[1,0]
+; GFX9-NEXT: v_pk_add_f16 v34, s20, v17 op_sel_hi:[1,0]
+; GFX9-NEXT: v_pk_add_f16 v33, s23, v17 op_sel_hi:[1,0]
+; GFX9-NEXT: v_pk_add_f16 v32, s22, v17 op_sel_hi:[1,0]
+; GFX9-NEXT: v_pk_add_f16 v31, s25, v17 op_sel_hi:[1,0]
+; GFX9-NEXT: v_pk_add_f16 v30, s24, v17 op_sel_hi:[1,0]
+; GFX9-NEXT: v_pk_add_f16 v29, s27, v17 op_sel_hi:[1,0]
+; GFX9-NEXT: v_pk_add_f16 v28, s26, v17 op_sel_hi:[1,0]
+; GFX9-NEXT: v_pk_add_f16 v27, s29, v17 op_sel_hi:[1,0]
+; GFX9-NEXT: v_pk_add_f16 v26, s28, v17 op_sel_hi:[1,0]
+; GFX9-NEXT: v_lshrrev_b64 v[17:18], 24, v[24:25]
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[15:16], 24, v[27:28]
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[17:18], 24, v[26:27]
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[15:16], 24, v[29:30]
-; GFX9-NEXT: v_lshrrev_b64 v[16:17], 24, v[31:32]
+; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[17:18], 24, v[28:29]
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[17:18], 24, v[30:31]
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[17:18], 24, v[32:33]
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[17:18], 24, v[34:35]
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b64 v[17:18], 24, v[1:2]
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v1
; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 8, v1
; GFX9-NEXT: v_lshrrev_b64 v[17:18], 24, v[3:4]
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 24, v4
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v4
; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 8, v4
; GFX9-NEXT: v_lshrrev_b64 v[17:18], 24, v[5:6]
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v3
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 8, v3
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 24, v6
; GFX9-NEXT: v_lshrrev_b64 v[17:18], 24, v[7:8]
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v6
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 8, v6
; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v5
; GFX9-NEXT: v_lshrrev_b64 v[17:18], 24, v[9:10]
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 8, v5
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 24, v8
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v8
; GFX9-NEXT: v_lshrrev_b64 v[17:18], 24, v[11:12]
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 8, v8
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v7
; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 8, v7
; GFX9-NEXT: v_lshrrev_b64 v[17:18], 24, v[13:14]
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 24, v10
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v10
; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[17:18], 24, v[19:20]
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 8, v10
+; GFX9-NEXT: v_lshrrev_b64 v[17:18], 24, v[15:16]
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v9
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 8, v9
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 24, v38
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v38
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 24, v49
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v49
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 24, v2
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v2
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v1
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v1
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 24, v4
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v4
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v4
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v3
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v3
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 24, v6
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v6
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v6
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v5
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v5
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 24, v8
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v8
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v8
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v7
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v7
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 24, v10
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v10
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v10
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v9
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v9
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 24, v12
-; GFX9-NEXT: v_mov_b32_e32 v18, v15
-; GFX9-NEXT: v_lshrrev_b32_e32 v15, 24, v26
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v12
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v15, 16, v26
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v12
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v15, 8, v26
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v11
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v15, 8, v25
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v11
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v15, 24, v28
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 24, v14
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v15, 16, v28
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v14
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v15, 8, v28
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v14
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v15, 24, v30
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v13
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v15, 16, v30
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v13
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v15, 24, v32
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 24, v20
-; GFX9-NEXT: v_lshrrev_b64 v[39:40], 24, v[35:36]
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v15, 16, v32
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v20
-; GFX9-NEXT: v_lshrrev_b64 v[40:41], 24, v[37:38]
-; GFX9-NEXT: v_mov_b32_e32 v24, v16
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v15, 24, v34
-; GFX9-NEXT: v_lshrrev_b32_e32 v16, 24, v36
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v20
-; GFX9-NEXT: v_lshrrev_b64 v[52:53], 24, v[33:34]
-; GFX9-NEXT: v_lshrrev_b64 v[41:42], 24, v[48:49]
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v15, 16, v34
-; GFX9-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v16, 16, v36
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v19
-; GFX9-NEXT: v_lshrrev_b32_e32 v45, 16, v25
-; GFX9-NEXT: v_lshrrev_b32_e32 v47, 16, v27
-; GFX9-NEXT: v_lshrrev_b32_e32 v46, 8, v27
-; GFX9-NEXT: v_lshrrev_b32_e32 v56, 8, v30
-; GFX9-NEXT: v_lshrrev_b32_e32 v58, 16, v29
-; GFX9-NEXT: v_lshrrev_b32_e32 v57, 8, v29
-; GFX9-NEXT: v_lshrrev_b32_e32 v53, 8, v32
-; GFX9-NEXT: v_lshrrev_b32_e32 v60, 16, v31
-; GFX9-NEXT: v_lshrrev_b32_e32 v59, 8, v31
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v23, 8, v34
-; GFX9-NEXT: v_lshrrev_b32_e32 v61, 16, v33
-; GFX9-NEXT: v_lshrrev_b32_e32 v15, 8, v33
-; GFX9-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v16, 8, v36
-; GFX9-NEXT: v_lshrrev_b32_e32 v54, 16, v35
-; GFX9-NEXT: v_lshrrev_b32_e32 v21, 8, v35
-; GFX9-NEXT: v_lshrrev_b32_e32 v55, 8, v38
-; GFX9-NEXT: v_lshrrev_b32_e32 v43, 16, v37
-; GFX9-NEXT: v_lshrrev_b32_e32 v42, 8, v37
-; GFX9-NEXT: v_lshrrev_b32_e32 v50, 8, v49
-; GFX9-NEXT: v_lshrrev_b32_e32 v22, 16, v48
-; GFX9-NEXT: v_lshrrev_b32_e32 v44, 8, v48
-; GFX9-NEXT: v_lshrrev_b32_e32 v51, 16, v2
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v19
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 24, v12
+; GFX9-NEXT: v_lshrrev_b32_e32 v17, 24, v25
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v12
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v25
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 8, v12
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v25
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v11
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v17, 24, v27
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 8, v11
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v27
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 24, v14
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v17, 24, v29
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v14
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v29
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 8, v14
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v17, 24, v31
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v13
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v31
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 8, v13
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v17, 24, v33
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 24, v16
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v33
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v16
+; GFX9-NEXT: v_lshrrev_b64 v[43:44], 24, v[36:37]
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v17, 24, v35
+; GFX9-NEXT: v_lshrrev_b32_e32 v21, 24, v37
+; GFX9-NEXT: v_lshrrev_b32_e32 v48, 24, v39
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 8, v16
+; GFX9-NEXT: v_lshrrev_b64 v[44:45], 24, v[38:39]
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v35
+; GFX9-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v21, 16, v37
+; GFX9-NEXT: buffer_store_dword v48, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v48, 16, v39
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v15
+; GFX9-NEXT: v_lshrrev_b32_e32 v55, 16, v24
+; GFX9-NEXT: v_lshrrev_b32_e32 v19, 8, v24
+; GFX9-NEXT: v_lshrrev_b32_e32 v45, 8, v27
+; GFX9-NEXT: v_lshrrev_b32_e32 v51, 16, v26
+; GFX9-NEXT: v_lshrrev_b32_e32 v46, 8, v26
+; GFX9-NEXT: v_lshrrev_b32_e32 v47, 8, v29
+; GFX9-NEXT: v_lshrrev_b32_e32 v57, 16, v28
+; GFX9-NEXT: v_lshrrev_b32_e32 v56, 8, v28
+; GFX9-NEXT: v_lshrrev_b32_e32 v58, 8, v31
+; GFX9-NEXT: v_lshrrev_b32_e32 v60, 16, v30
+; GFX9-NEXT: v_lshrrev_b32_e32 v59, 8, v30
+; GFX9-NEXT: v_lshrrev_b32_e32 v22, 8, v33
+; GFX9-NEXT: v_lshrrev_b32_e32 v52, 16, v32
+; GFX9-NEXT: v_lshrrev_b32_e32 v20, 8, v32
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v61, 8, v35
+; GFX9-NEXT: v_lshrrev_b32_e32 v18, 16, v34
+; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v34
+; GFX9-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v23, 8, v37
+; GFX9-NEXT: v_lshrrev_b32_e32 v50, 16, v36
+; GFX9-NEXT: v_lshrrev_b32_e32 v21, 8, v36
+; GFX9-NEXT: buffer_store_dword v48, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v48, 8, v39
+; GFX9-NEXT: v_lshrrev_b32_e32 v54, 16, v38
+; GFX9-NEXT: v_lshrrev_b32_e32 v53, 8, v38
+; GFX9-NEXT: v_lshrrev_b32_e32 v42, 24, v2
+; GFX9-NEXT: v_lshrrev_b32_e32 v40, 16, v2
+; GFX9-NEXT: v_lshrrev_b32_e32 v41, 8, v2
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 8, v15
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
; GFX9-NEXT: s_branch .LBB95_6
; GFX9-NEXT: .LBB95_5:
-; GFX9-NEXT: v_mov_b32_e32 v15, s71
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s69
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s70
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s68
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s67
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s66
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s64
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s65
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s55
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s54
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s53
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s51
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s52
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s50
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s49
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s48
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s38
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s39
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s99
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s98
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s97
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s87
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s96
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s86
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s85
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s84
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s82
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s83
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s81
-; GFX9-NEXT: v_mov_b32_e32 v25, s4
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s80
+; GFX9-NEXT: v_mov_b32_e32 v17, s71
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s69
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s70
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s68
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s67
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s66
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s64
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s65
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s55
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s54
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s53
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s51
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s52
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s50
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s49
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s48
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s38
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s39
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s99
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s98
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s97
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s87
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s96
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s86
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s85
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s84
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s82
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s83
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s81
+; GFX9-NEXT: v_mov_b32_e32 v24, s4
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s80
; GFX9-NEXT: v_readlane_b32 s4, v62, 0
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s4
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 1
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s4
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 2
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s4
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 3
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s4
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 4
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s4
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 5
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s4
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 6
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s4
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 7
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s4
+; GFX9-NEXT: v_mov_b32_e32 v49, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 8
-; GFX9-NEXT: v_mov_b32_e32 v17, s4
+; GFX9-NEXT: v_mov_b32_e32 v41, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 9
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s4
+; GFX9-NEXT: v_mov_b32_e32 v42, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 10
-; GFX9-NEXT: v_mov_b32_e32 v44, s4
+; GFX9-NEXT: v_mov_b32_e32 v53, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 11
-; GFX9-NEXT: v_mov_b32_e32 v22, s4
+; GFX9-NEXT: v_mov_b32_e32 v54, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 12
-; GFX9-NEXT: v_mov_b32_e32 v50, s4
+; GFX9-NEXT: v_mov_b32_e32 v48, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 13
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s4
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 14
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s4
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 15
-; GFX9-NEXT: v_mov_b32_e32 v42, s4
+; GFX9-NEXT: v_mov_b32_e32 v21, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 16
-; GFX9-NEXT: v_mov_b32_e32 v43, s4
+; GFX9-NEXT: v_mov_b32_e32 v50, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 17
-; GFX9-NEXT: v_mov_b32_e32 v55, s4
+; GFX9-NEXT: v_mov_b32_e32 v23, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 18
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s4
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 19
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s4
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 20
-; GFX9-NEXT: v_mov_b32_e32 v21, s4
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 21
-; GFX9-NEXT: v_mov_b32_e32 v54, s4
+; GFX9-NEXT: v_mov_b32_e32 v18, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 22
-; GFX9-NEXT: v_mov_b32_e32 v16, s4
+; GFX9-NEXT: v_mov_b32_e32 v61, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 23
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s4
+; GFX9-NEXT: v_mov_b32_e32 v19, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 24
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s4
+; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v19, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 25
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s4
+; GFX9-NEXT: v_mov_b32_e32 v20, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 26
-; GFX9-NEXT: v_mov_b32_e32 v61, s4
+; GFX9-NEXT: v_mov_b32_e32 v52, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 27
-; GFX9-NEXT: v_mov_b32_e32 v23, s4
+; GFX9-NEXT: v_mov_b32_e32 v22, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 28
-; GFX9-NEXT: v_mov_b32_e32 v18, s4
+; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v19, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 29
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v18, s4
+; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v19, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 30
; GFX9-NEXT: v_mov_b32_e32 v59, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 31
; GFX9-NEXT: v_mov_b32_e32 v60, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 32
-; GFX9-NEXT: v_mov_b32_e32 v53, s4
+; GFX9-NEXT: v_mov_b32_e32 v58, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 33
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v18, s4
+; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v19, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 34
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v18, s4
+; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v19, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 35
-; GFX9-NEXT: v_mov_b32_e32 v57, s4
+; GFX9-NEXT: v_mov_b32_e32 v56, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 36
-; GFX9-NEXT: v_mov_b32_e32 v58, s4
+; GFX9-NEXT: v_mov_b32_e32 v57, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 37
-; GFX9-NEXT: v_mov_b32_e32 v56, s4
+; GFX9-NEXT: v_mov_b32_e32 v47, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 38
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v18, s4
+; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v19, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 39
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v18, s4
+; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v19, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 40
; GFX9-NEXT: v_mov_b32_e32 v46, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 41
-; GFX9-NEXT: v_mov_b32_e32 v47, s4
+; GFX9-NEXT: v_mov_b32_e32 v51, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 42
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v18, s4
+; GFX9-NEXT: v_mov_b32_e32 v45, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 43
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v18, s4
+; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v19, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 44
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v18, s4
+; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v19, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 45
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v18, s4
+; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v19, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 46
-; GFX9-NEXT: v_mov_b32_e32 v51, s4
+; GFX9-NEXT: v_mov_b32_e32 v55, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 47
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v18, s4
+; GFX9-NEXT: v_mov_b32_e32 v40, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 48
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v18, s4
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v18, s47
-; GFX9-NEXT: v_mov_b32_e32 v19, s44
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v18, s46
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v45, s78
-; GFX9-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v18, s56
-; GFX9-NEXT: v_mov_b32_e32 v52, s62
-; GFX9-NEXT: v_mov_b32_e32 v45, v51
-; GFX9-NEXT: v_mov_b32_e32 v51, s88
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v40, s4
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v40, s47
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v40, s46
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v40, s56
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v18, s58
-; GFX9-NEXT: v_mov_b32_e32 v51, v17
-; GFX9-NEXT: v_mov_b32_e32 v17, s90
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v40, s58
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s92
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v40, s60
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s94
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v40, s62
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, vcc_lo
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v40, s72
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s30
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v40, s78
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s34
-; GFX9-NEXT: v_mov_b32_e32 v20, s45
+; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v40, s88
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v15, s44
+; GFX9-NEXT: v_mov_b32_e32 v16, s45
; GFX9-NEXT: v_mov_b32_e32 v13, s42
; GFX9-NEXT: v_mov_b32_e32 v14, s43
; GFX9-NEXT: v_mov_b32_e32 v11, s40
@@ -186367,54 +186364,75 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; GFX9-NEXT: v_mov_b32_e32 v4, s9
; GFX9-NEXT: v_mov_b32_e32 v1, s6
; GFX9-NEXT: v_mov_b32_e32 v2, s7
-; GFX9-NEXT: v_mov_b32_e32 v48, s16
-; GFX9-NEXT: v_mov_b32_e32 v49, s17
-; GFX9-NEXT: v_mov_b32_e32 v37, s18
-; GFX9-NEXT: v_mov_b32_e32 v38, s19
-; GFX9-NEXT: v_mov_b32_e32 v35, s20
-; GFX9-NEXT: v_mov_b32_e32 v36, s21
-; GFX9-NEXT: v_mov_b32_e32 v33, s22
-; GFX9-NEXT: v_mov_b32_e32 v34, s23
-; GFX9-NEXT: v_mov_b32_e32 v31, s24
-; GFX9-NEXT: v_mov_b32_e32 v32, s25
-; GFX9-NEXT: v_mov_b32_e32 v29, s26
-; GFX9-NEXT: v_mov_b32_e32 v30, s27
-; GFX9-NEXT: v_mov_b32_e32 v27, s28
-; GFX9-NEXT: v_mov_b32_e32 v28, s29
-; GFX9-NEXT: v_mov_b32_e32 v26, s5
-; GFX9-NEXT: v_mov_b32_e32 v24, s60
-; GFX9-NEXT: v_mov_b32_e32 v39, s72
-; GFX9-NEXT: v_mov_b32_e32 v40, s74
-; GFX9-NEXT: v_mov_b32_e32 v41, s76
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v38, s16
+; GFX9-NEXT: v_mov_b32_e32 v39, s17
+; GFX9-NEXT: v_mov_b32_e32 v36, s18
+; GFX9-NEXT: v_mov_b32_e32 v37, s19
+; GFX9-NEXT: v_mov_b32_e32 v34, s20
+; GFX9-NEXT: v_mov_b32_e32 v35, s21
+; GFX9-NEXT: v_mov_b32_e32 v32, s22
+; GFX9-NEXT: v_mov_b32_e32 v33, s23
+; GFX9-NEXT: v_mov_b32_e32 v30, s24
+; GFX9-NEXT: v_mov_b32_e32 v31, s25
+; GFX9-NEXT: v_mov_b32_e32 v28, s26
+; GFX9-NEXT: v_mov_b32_e32 v29, s27
+; GFX9-NEXT: v_mov_b32_e32 v26, s28
+; GFX9-NEXT: v_mov_b32_e32 v27, s29
+; GFX9-NEXT: v_mov_b32_e32 v25, s5
+; GFX9-NEXT: v_mov_b32_e32 v43, s74
+; GFX9-NEXT: v_mov_b32_e32 v44, s76
+; GFX9-NEXT: v_mov_b32_e32 v40, v41
+; GFX9-NEXT: v_mov_b32_e32 v41, v49
+; GFX9-NEXT: v_mov_b32_e32 v49, s90
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v50, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v49, s92
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v50, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v49, s94
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v50, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v49, vcc_lo
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v50, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v49, s30
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v50, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v49, s34
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v50, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
; GFX9-NEXT: .LBB95_6: ; %end
; GFX9-NEXT: s_mov_b32 s4, 0xc0c0004
-; GFX9-NEXT: v_perm_b32 v33, v33, v15, s4
-; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:364 ; 4-byte Folded Reload
-; GFX9-NEXT: v_perm_b32 v21, v35, v21, s4
-; GFX9-NEXT: v_perm_b32 v35, v61, v52, s4
-; GFX9-NEXT: v_perm_b32 v32, v32, v53, s4
-; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload
-; GFX9-NEXT: v_perm_b32 v23, v34, v23, s4
-; GFX9-NEXT: v_perm_b32 v16, v36, v16, s4
-; GFX9-NEXT: v_perm_b32 v22, v22, v41, s4
-; GFX9-NEXT: v_perm_b32 v48, v48, v44, s4
-; GFX9-NEXT: v_lshlrev_b32_e32 v22, 16, v22
-; GFX9-NEXT: v_or_b32_e32 v22, v48, v22
-; GFX9-NEXT: v_perm_b32 v49, v49, v50, s4
-; GFX9-NEXT: v_perm_b32 v50, v43, v40, s4
-; GFX9-NEXT: v_perm_b32 v37, v37, v42, s4
-; GFX9-NEXT: v_perm_b32 v38, v38, v55, s4
-; GFX9-NEXT: v_perm_b32 v39, v54, v39, s4
-; GFX9-NEXT: v_perm_b32 v24, v60, v24, s4
-; GFX9-NEXT: v_perm_b32 v31, v31, v59, s4
-; GFX9-NEXT: v_perm_b32 v18, v58, v18, s4
-; GFX9-NEXT: v_perm_b32 v29, v29, v57, s4
-; GFX9-NEXT: v_perm_b32 v30, v30, v56, s4
-; GFX9-NEXT: v_perm_b32 v27, v27, v46, s4
+; GFX9-NEXT: v_perm_b32 v21, v36, v21, s4
+; GFX9-NEXT: v_perm_b32 v23, v37, v23, s4
+; GFX9-NEXT: buffer_load_dword v36, off, s[0:3], s32 offset:372 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v37, off, s[0:3], s32 offset:376 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v17, v34, v17, s4
+; GFX9-NEXT: v_perm_b32 v34, v35, v61, s4
+; GFX9-NEXT: v_perm_b32 v19, v24, v19, s4
+; GFX9-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:380 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v39, v39, v48, s4
+; GFX9-NEXT: v_perm_b32 v48, v50, v43, s4
+; GFX9-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v20, v32, v20, s4
+; GFX9-NEXT: v_perm_b32 v22, v33, v22, s4
+; GFX9-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v54, v54, v44, s4
+; GFX9-NEXT: v_perm_b32 v38, v38, v53, s4
+; GFX9-NEXT: v_perm_b32 v30, v30, v59, s4
+; GFX9-NEXT: v_perm_b32 v31, v31, v58, s4
+; GFX9-NEXT: v_perm_b32 v28, v28, v56, s4
+; GFX9-NEXT: v_perm_b32 v29, v29, v47, s4
+; GFX9-NEXT: v_perm_b32 v26, v26, v46, s4
+; GFX9-NEXT: v_perm_b32 v27, v27, v45, s4
; GFX9-NEXT: v_readlane_b32 s30, v63, 34
; GFX9-NEXT: v_readlane_b32 s31, v63, 35
; GFX9-NEXT: v_readlane_b32 s99, v63, 33
@@ -186451,133 +186469,140 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; GFX9-NEXT: v_readlane_b32 s36, v63, 2
; GFX9-NEXT: v_readlane_b32 s35, v63, 1
; GFX9-NEXT: v_readlane_b32 s34, v63, 0
-; GFX9-NEXT: s_waitcnt vmcnt(2)
-; GFX9-NEXT: v_perm_b32 v17, v28, v15, s4
-; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:360 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(2)
-; GFX9-NEXT: v_perm_b32 v34, v47, v52, s4
-; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(2)
-; GFX9-NEXT: v_perm_b32 v25, v25, v15, s4
-; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:356 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(2)
-; GFX9-NEXT: v_perm_b32 v28, v45, v52, s4
+; GFX9-NEXT: s_waitcnt vmcnt(6)
+; GFX9-NEXT: v_perm_b32 v18, v18, v36, s4
+; GFX9-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:364 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v36, off, s[0:3], s32 offset:368 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v36, off, s[0:3], s32 offset:356 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v37, off, s[0:3], s32 offset:360 ; 4-byte Folded Reload
+; GFX9-NEXT: v_lshlrev_b32_e32 v18, 16, v18
+; GFX9-NEXT: v_or_b32_e32 v17, v17, v18
+; GFX9-NEXT: s_waitcnt vmcnt(8)
+; GFX9-NEXT: v_perm_b32 v24, v25, v24, s4
+; GFX9-NEXT: s_waitcnt vmcnt(5)
+; GFX9-NEXT: v_perm_b32 v32, v60, v32, s4
+; GFX9-NEXT: s_waitcnt vmcnt(3)
+; GFX9-NEXT: v_perm_b32 v35, v52, v35, s4
+; GFX9-NEXT: s_waitcnt vmcnt(1)
+; GFX9-NEXT: v_perm_b32 v33, v57, v36, s4
+; GFX9-NEXT: buffer_load_dword v36, off, s[0:3], s32 offset:276 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v37, off, s[0:3], s32 offset:280 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v26, v26, v15, s4
-; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:328 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:332 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:352 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v37, v55, v49, s4
+; GFX9-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:312 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:316 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:352 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v36, v51, v36, s4
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v36, v15, v52, s4
-; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:344 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v25, v25, v49, s4
+; GFX9-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:344 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v19, v19, v15, s4
-; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:316 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v49, v15, v49, s4
+; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:324 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v20, v20, v15, s4
-; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:280 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v16, v16, v15, s4
+; GFX9-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v15, v15, v52, s4
-; GFX9-NEXT: buffer_store_dword v22, v0, s[0:3], 0 offen
-; GFX9-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:340 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v15, v15, v50, s4
+; GFX9-NEXT: v_lshlrev_b32_e32 v50, 16, v54
+; GFX9-NEXT: v_or_b32_e32 v38, v38, v50
+; GFX9-NEXT: buffer_store_dword v38, v0, s[0:3], 0 offen
+; GFX9-NEXT: buffer_load_dword v38, off, s[0:3], s32 offset:340 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v48, off, s[0:3], s32 offset:348 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:348 ; 4-byte Folded Reload
; GFX9-NEXT: v_lshlrev_b32_e32 v15, 16, v15
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v22, v22, v48, s4
-; GFX9-NEXT: v_lshlrev_b32_e32 v22, 16, v22
-; GFX9-NEXT: v_or_b32_e32 v22, v49, v22
-; GFX9-NEXT: buffer_store_dword v22, v0, s[0:3], 0 offen offset:4
-; GFX9-NEXT: v_lshlrev_b32_e32 v22, 16, v50
-; GFX9-NEXT: v_or_b32_e32 v22, v37, v22
-; GFX9-NEXT: buffer_store_dword v22, v0, s[0:3], 0 offen offset:8
-; GFX9-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:324 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v38, v38, v50, s4
+; GFX9-NEXT: v_lshlrev_b32_e32 v38, 16, v38
+; GFX9-NEXT: v_or_b32_e32 v38, v39, v38
+; GFX9-NEXT: buffer_store_dword v38, v0, s[0:3], 0 offen offset:4
+; GFX9-NEXT: v_lshlrev_b32_e32 v38, 16, v48
+; GFX9-NEXT: v_or_b32_e32 v21, v21, v38
+; GFX9-NEXT: buffer_store_dword v21, v0, s[0:3], 0 offen offset:8
+; GFX9-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:332 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v37, off, s[0:3], s32 offset:336 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v38, off, s[0:3], s32 offset:336 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v22, v22, v37, s4
-; GFX9-NEXT: v_lshlrev_b32_e32 v22, 16, v22
-; GFX9-NEXT: v_or_b32_e32 v22, v38, v22
-; GFX9-NEXT: buffer_store_dword v22, v0, s[0:3], 0 offen offset:12
-; GFX9-NEXT: v_lshlrev_b32_e32 v22, 16, v39
-; GFX9-NEXT: v_or_b32_e32 v21, v21, v22
-; GFX9-NEXT: buffer_store_dword v21, v0, s[0:3], 0 offen offset:16
-; GFX9-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:312 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v21, v21, v38, s4
+; GFX9-NEXT: v_lshlrev_b32_e32 v21, 16, v21
+; GFX9-NEXT: v_or_b32_e32 v21, v23, v21
+; GFX9-NEXT: buffer_store_dword v21, v0, s[0:3], 0 offen offset:12
+; GFX9-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:16
+; GFX9-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:320 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:320 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:328 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v21, v21, v22, s4
-; GFX9-NEXT: v_lshlrev_b32_e32 v21, 16, v21
-; GFX9-NEXT: v_or_b32_e32 v16, v16, v21
-; GFX9-NEXT: buffer_store_dword v16, v0, s[0:3], 0 offen offset:20
-; GFX9-NEXT: v_lshlrev_b32_e32 v16, 16, v35
-; GFX9-NEXT: v_or_b32_e32 v16, v33, v16
-; GFX9-NEXT: buffer_store_dword v16, v0, s[0:3], 0 offen offset:24
-; GFX9-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:304 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v17, v17, v18, s4
+; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v17
+; GFX9-NEXT: v_or_b32_e32 v17, v34, v17
+; GFX9-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:20
+; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v35
+; GFX9-NEXT: v_or_b32_e32 v17, v20, v17
+; GFX9-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:24
+; GFX9-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:304 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:308 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:308 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v16, v16, v21, s4
-; GFX9-NEXT: v_lshlrev_b32_e32 v16, 16, v16
-; GFX9-NEXT: v_or_b32_e32 v16, v23, v16
-; GFX9-NEXT: buffer_store_dword v16, v0, s[0:3], 0 offen offset:28
-; GFX9-NEXT: v_lshlrev_b32_e32 v16, 16, v24
-; GFX9-NEXT: v_or_b32_e32 v16, v31, v16
-; GFX9-NEXT: buffer_store_dword v16, v0, s[0:3], 0 offen offset:32
-; GFX9-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v17, v17, v18, s4
+; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v17
+; GFX9-NEXT: v_or_b32_e32 v17, v22, v17
+; GFX9-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:28
+; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v32
+; GFX9-NEXT: v_or_b32_e32 v17, v30, v17
+; GFX9-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:32
+; GFX9-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:300 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:300 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v16, v16, v21, s4
-; GFX9-NEXT: v_lshlrev_b32_e32 v16, 16, v16
-; GFX9-NEXT: v_or_b32_e32 v16, v32, v16
-; GFX9-NEXT: buffer_store_dword v16, v0, s[0:3], 0 offen offset:36
-; GFX9-NEXT: v_lshlrev_b32_e32 v16, 16, v18
-; GFX9-NEXT: v_or_b32_e32 v16, v29, v16
-; GFX9-NEXT: buffer_store_dword v16, v0, s[0:3], 0 offen offset:40
-; GFX9-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:276 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v17, v17, v18, s4
+; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v17
+; GFX9-NEXT: v_or_b32_e32 v17, v31, v17
+; GFX9-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:36
+; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v33
+; GFX9-NEXT: v_or_b32_e32 v17, v28, v17
+; GFX9-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:40
+; GFX9-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v16, v16, v18, s4
-; GFX9-NEXT: v_lshlrev_b32_e32 v16, 16, v16
-; GFX9-NEXT: v_or_b32_e32 v16, v30, v16
-; GFX9-NEXT: buffer_store_dword v16, v0, s[0:3], 0 offen offset:44
-; GFX9-NEXT: v_lshlrev_b32_e32 v16, 16, v34
-; GFX9-NEXT: v_or_b32_e32 v16, v27, v16
-; GFX9-NEXT: buffer_store_dword v16, v0, s[0:3], 0 offen offset:48
-; GFX9-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v17, v17, v18, s4
+; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v17
+; GFX9-NEXT: v_or_b32_e32 v17, v29, v17
+; GFX9-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:44
+; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v36
+; GFX9-NEXT: v_or_b32_e32 v17, v26, v17
+; GFX9-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:48
+; GFX9-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:268 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:272 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v16, v16, v18, s4
-; GFX9-NEXT: v_lshlrev_b32_e32 v16, 16, v16
-; GFX9-NEXT: v_or_b32_e32 v16, v17, v16
-; GFX9-NEXT: buffer_store_dword v16, v0, s[0:3], 0 offen offset:52
-; GFX9-NEXT: v_lshlrev_b32_e32 v16, 16, v28
-; GFX9-NEXT: v_or_b32_e32 v16, v25, v16
-; GFX9-NEXT: buffer_store_dword v16, v0, s[0:3], 0 offen offset:56
-; GFX9-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v17, v17, v18, s4
+; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v17
+; GFX9-NEXT: v_or_b32_e32 v17, v27, v17
+; GFX9-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:52
+; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v37
+; GFX9-NEXT: v_or_b32_e32 v17, v19, v17
+; GFX9-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:56
+; GFX9-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:268 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v16, v16, v17, s4
-; GFX9-NEXT: v_lshlrev_b32_e32 v16, 16, v16
-; GFX9-NEXT: v_or_b32_e32 v16, v26, v16
-; GFX9-NEXT: buffer_store_dword v16, v0, s[0:3], 0 offen offset:60
-; GFX9-NEXT: v_lshlrev_b32_e32 v16, 16, v36
-; GFX9-NEXT: v_or_b32_e32 v16, v19, v16
-; GFX9-NEXT: buffer_store_dword v16, v0, s[0:3], 0 offen offset:64
-; GFX9-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v17, v17, v18, s4
+; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v17
+; GFX9-NEXT: v_or_b32_e32 v17, v24, v17
+; GFX9-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:60
+; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v25
+; GFX9-NEXT: v_or_b32_e32 v17, v49, v17
+; GFX9-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:64
+; GFX9-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v16, v16, v17, s4
-; GFX9-NEXT: v_lshlrev_b32_e32 v16, 16, v16
-; GFX9-NEXT: v_or_b32_e32 v16, v20, v16
+; GFX9-NEXT: v_perm_b32 v17, v17, v18, s4
+; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v17
+; GFX9-NEXT: v_or_b32_e32 v16, v16, v17
; GFX9-NEXT: buffer_store_dword v16, v0, s[0:3], 0 offen offset:68
; GFX9-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
@@ -186618,8 +186643,8 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; GFX9-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v9, v9, v11, s4
-; GFX9-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v11, v12, v11, s4
@@ -186636,12 +186661,12 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; GFX9-NEXT: v_lshlrev_b32_e32 v10, 16, v10
; GFX9-NEXT: v_or_b32_e32 v9, v9, v10
; GFX9-NEXT: buffer_store_dword v9, v0, s[0:3], 0 offen offset:92
-; GFX9-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v7, v7, v9, s4
; GFX9-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v9, v10, v9, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v9, 16, v9
@@ -186660,8 +186685,8 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; GFX9-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v5, v5, v7, s4
-; GFX9-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v7, v8, v7, s4
@@ -186699,23 +186724,19 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; GFX9-NEXT: v_lshlrev_b32_e32 v4, 16, v4
; GFX9-NEXT: v_or_b32_e32 v3, v3, v4
; GFX9-NEXT: buffer_store_dword v3, v0, s[0:3], 0 offen offset:116
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v1, v3, s4
; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:56 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v3, v4, v3, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; GFX9-NEXT: v_or_b32_e32 v1, v1, v3
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:120
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v2, v51, v2, s4
+; GFX9-NEXT: v_perm_b32 v1, v2, v41, s4
+; GFX9-NEXT: v_perm_b32 v2, v40, v42, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v2, 16, v2
; GFX9-NEXT: v_or_b32_e32 v1, v1, v2
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:124
@@ -186734,8 +186755,8 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; GFX9-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:48 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:52 ; 4-byte Folded Reload
; GFX9-NEXT: s_or_saveexec_b64 s[4:5], -1
-; GFX9-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:368 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:372 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:384 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:388 ; 4-byte Folded Reload
; GFX9-NEXT: s_mov_b64 exec, s[4:5]
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: s_setpc_b64 s[30:31]
@@ -186851,8 +186872,8 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; GFX11-NEXT: s_lshr_b64 s[74:75], s[24:25], 24
; GFX11-NEXT: v_writelane_b32 v76, s42, 5
; GFX11-NEXT: s_lshr_b32 s42, s21, 16
-; GFX11-NEXT: s_lshr_b32 s59, s11, 8
-; GFX11-NEXT: s_lshr_b32 s76, s10, 16
+; GFX11-NEXT: s_lshr_b32 s57, s41, 8
+; GFX11-NEXT: s_lshr_b32 s76, s40, 16
; GFX11-NEXT: s_lshr_b64 s[72:73], s[26:27], 24
; GFX11-NEXT: v_writelane_b32 v76, s42, 4
; GFX11-NEXT: s_lshr_b32 s42, s20, 16
@@ -186884,69 +186905,69 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; GFX11-NEXT: s_lshr_b32 s64, s21, 8
; GFX11-NEXT: v_writelane_b32 v77, s42, 30
; GFX11-NEXT: s_lshr_b32 s42, s18, 8
-; GFX11-NEXT: s_lshr_b32 s53, s5, 24
-; GFX11-NEXT: s_lshr_b32 s54, s5, 16
-; GFX11-NEXT: s_lshr_b32 s55, s5, 8
+; GFX11-NEXT: s_lshr_b32 s46, s5, 24
+; GFX11-NEXT: s_lshr_b32 s56, s5, 16
+; GFX11-NEXT: s_lshr_b32 s58, s5, 8
; GFX11-NEXT: v_writelane_b32 v77, s42, 29
; GFX11-NEXT: s_lshr_b32 s42, s17, 24
-; GFX11-NEXT: s_lshr_b32 s51, s4, 16
-; GFX11-NEXT: s_lshr_b32 s52, s4, 8
-; GFX11-NEXT: s_lshr_b32 s50, s7, 24
+; GFX11-NEXT: s_lshr_b32 s44, s4, 8
+; GFX11-NEXT: s_lshr_b32 s104, s7, 24
+; GFX11-NEXT: s_lshr_b32 s102, s7, 16
; GFX11-NEXT: v_writelane_b32 v77, s42, 28
; GFX11-NEXT: s_lshr_b32 s42, s17, 16
-; GFX11-NEXT: s_lshr_b32 s48, s7, 16
-; GFX11-NEXT: s_lshr_b32 s49, s7, 8
-; GFX11-NEXT: s_lshr_b32 s38, s6, 16
+; GFX11-NEXT: s_lshr_b32 s103, s7, 8
+; GFX11-NEXT: s_lshr_b32 s100, s6, 16
+; GFX11-NEXT: s_lshr_b32 s101, s6, 8
; GFX11-NEXT: v_writelane_b32 v77, s42, 27
; GFX11-NEXT: s_lshr_b32 s42, s17, 8
-; GFX11-NEXT: s_lshr_b32 s39, s6, 8
-; GFX11-NEXT: s_lshr_b32 s35, s9, 24
-; GFX11-NEXT: s_lshr_b32 s36, s9, 16
+; GFX11-NEXT: s_lshr_b32 s99, s9, 24
+; GFX11-NEXT: s_lshr_b32 s98, s9, 16
+; GFX11-NEXT: s_lshr_b32 s97, s9, 8
; GFX11-NEXT: v_writelane_b32 v77, s42, 26
; GFX11-NEXT: s_lshr_b32 s42, s16, 16
-; GFX11-NEXT: s_lshr_b32 s37, s9, 8
-; GFX11-NEXT: s_lshr_b32 s31, s8, 16
-; GFX11-NEXT: s_lshr_b32 s34, s8, 8
+; GFX11-NEXT: s_lshr_b32 s96, s8, 16
+; GFX11-NEXT: s_lshr_b32 s55, s8, 8
+; GFX11-NEXT: s_lshr_b32 s54, s11, 24
; GFX11-NEXT: v_writelane_b32 v77, s42, 25
; GFX11-NEXT: s_lshr_b32 s42, s16, 8
-; GFX11-NEXT: s_lshr_b32 s30, s11, 24
-; GFX11-NEXT: s_lshr_b32 s63, s11, 16
-; GFX11-NEXT: s_lshr_b32 s61, s10, 8
+; GFX11-NEXT: s_lshr_b32 s52, s11, 16
+; GFX11-NEXT: s_lshr_b32 s53, s11, 8
+; GFX11-NEXT: s_lshr_b32 s50, s10, 16
; GFX11-NEXT: v_writelane_b32 v77, s42, 24
; GFX11-NEXT: s_lshr_b32 s42, s3, 24
-; GFX11-NEXT: s_lshr_b32 s45, s13, 24
-; GFX11-NEXT: s_lshr_b32 s47, s13, 16
-; GFX11-NEXT: s_lshr_b32 s57, s13, 8
+; GFX11-NEXT: s_lshr_b32 s51, s10, 8
+; GFX11-NEXT: s_lshr_b32 s39, s13, 24
+; GFX11-NEXT: s_lshr_b32 s48, s13, 16
; GFX11-NEXT: v_writelane_b32 v77, s42, 23
; GFX11-NEXT: s_lshr_b32 s42, s3, 16
-; GFX11-NEXT: s_lshr_b32 s62, s12, 16
-; GFX11-NEXT: s_lshr_b32 s43, s12, 8
-; GFX11-NEXT: s_lshr_b32 s60, s15, 24
+; GFX11-NEXT: s_lshr_b32 s49, s13, 8
+; GFX11-NEXT: s_lshr_b32 s37, s12, 16
+; GFX11-NEXT: s_lshr_b32 s38, s12, 8
; GFX11-NEXT: v_writelane_b32 v77, s42, 22
; GFX11-NEXT: s_lshr_b32 s42, s3, 8
-; GFX11-NEXT: s_lshr_b32 s56, s15, 16
-; GFX11-NEXT: s_lshr_b32 s58, s15, 8
-; GFX11-NEXT: s_lshr_b32 s44, s14, 16
+; GFX11-NEXT: s_lshr_b32 s36, s15, 24
+; GFX11-NEXT: s_lshr_b32 s34, s15, 16
+; GFX11-NEXT: s_lshr_b32 s35, s15, 8
; GFX11-NEXT: v_writelane_b32 v77, s42, 21
; GFX11-NEXT: s_lshr_b32 s42, s2, 16
-; GFX11-NEXT: s_lshr_b32 s46, s14, 8
-; GFX11-NEXT: s_lshr_b32 s103, s41, 24
-; GFX11-NEXT: s_lshr_b32 s104, s41, 16
+; GFX11-NEXT: s_lshr_b32 s30, s14, 16
+; GFX11-NEXT: s_lshr_b32 s31, s14, 8
+; GFX11-NEXT: s_lshr_b32 s61, s41, 24
; GFX11-NEXT: v_writelane_b32 v77, s42, 20
; GFX11-NEXT: s_lshr_b32 s42, s2, 8
-; GFX11-NEXT: s_lshr_b32 s101, s40, 16
-; GFX11-NEXT: s_lshr_b32 s102, s40, 8
-; GFX11-NEXT: s_lshr_b32 s100, s29, 24
+; GFX11-NEXT: s_lshr_b32 s63, s41, 16
+; GFX11-NEXT: s_lshr_b32 s59, s40, 8
+; GFX11-NEXT: s_lshr_b32 s47, s29, 24
; GFX11-NEXT: v_writelane_b32 v77, s42, 19
; GFX11-NEXT: s_lshr_b32 s42, s1, 24
-; GFX11-NEXT: s_lshr_b32 s98, s29, 16
-; GFX11-NEXT: s_lshr_b32 s99, s29, 8
-; GFX11-NEXT: s_lshr_b32 s96, s28, 16
+; GFX11-NEXT: s_lshr_b32 s43, s29, 16
+; GFX11-NEXT: s_lshr_b32 s45, s29, 8
+; GFX11-NEXT: s_lshr_b32 s60, s28, 16
; GFX11-NEXT: v_writelane_b32 v77, s42, 18
; GFX11-NEXT: s_lshr_b32 s42, s1, 16
-; GFX11-NEXT: s_lshr_b32 s97, s28, 8
-; GFX11-NEXT: s_mov_b32 s73, s59
-; GFX11-NEXT: s_mov_b32 s59, s76
+; GFX11-NEXT: s_lshr_b32 s62, s28, 8
+; GFX11-NEXT: s_mov_b32 s73, s57
+; GFX11-NEXT: s_mov_b32 s57, s76
; GFX11-NEXT: v_writelane_b32 v77, s42, 17
; GFX11-NEXT: s_lshr_b32 s42, s1, 8
; GFX11-NEXT: s_lshr_b64 s[76:77], s[6:7], 24
@@ -186961,7 +186982,7 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; GFX11-NEXT: s_lshr_b32 s42, s0, 8
; GFX11-NEXT: s_lshr_b64 vcc, s[28:29], 24
; GFX11-NEXT: v_writelane_b32 v77, s42, 14
-; GFX11-NEXT: s_lshr_b32 s42, s41, 8
+; GFX11-NEXT: s_lshr_b32 s42, s4, 16
; GFX11-NEXT: v_writelane_b32 v77, s74, 12
; GFX11-NEXT: v_writelane_b32 v77, s75, 13
; GFX11-NEXT: s_lshr_b64 s[74:75], s[22:23], 24
@@ -187010,44 +187031,44 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; GFX11-NEXT: ; implicit-def: $sgpr86
; GFX11-NEXT: ; implicit-def: $sgpr85
; GFX11-NEXT: ; implicit-def: $sgpr87
-; GFX11-NEXT: ; implicit-def: $sgpr97
-; GFX11-NEXT: ; implicit-def: $sgpr96
-; GFX11-NEXT: ; implicit-def: $sgpr99
-; GFX11-NEXT: ; implicit-def: $sgpr98
-; GFX11-NEXT: ; implicit-def: $sgpr100
-; GFX11-NEXT: ; implicit-def: $sgpr102
-; GFX11-NEXT: ; implicit-def: $sgpr101
-; GFX11-NEXT: ; implicit-def: $sgpr104
-; GFX11-NEXT: ; implicit-def: $sgpr103
-; GFX11-NEXT: ; implicit-def: $sgpr46
-; GFX11-NEXT: ; implicit-def: $sgpr44
-; GFX11-NEXT: ; implicit-def: $sgpr58
-; GFX11-NEXT: ; implicit-def: $sgpr56
-; GFX11-NEXT: ; implicit-def: $sgpr60
; GFX11-NEXT: ; implicit-def: $sgpr62
-; GFX11-NEXT: ; implicit-def: $sgpr57
-; GFX11-NEXT: ; implicit-def: $sgpr47
+; GFX11-NEXT: ; implicit-def: $sgpr60
; GFX11-NEXT: ; implicit-def: $sgpr45
-; GFX11-NEXT: ; implicit-def: $sgpr61
+; GFX11-NEXT: ; implicit-def: $sgpr47
; GFX11-NEXT: ; implicit-def: $sgpr59
+; GFX11-NEXT: ; implicit-def: $sgpr57
; GFX11-NEXT: ; implicit-def: $sgpr73
; GFX11-NEXT: ; implicit-def: $sgpr63
+; GFX11-NEXT: ; implicit-def: $sgpr61
+; GFX11-NEXT: ; implicit-def: $sgpr31
; GFX11-NEXT: ; implicit-def: $sgpr30
+; GFX11-NEXT: ; implicit-def: $sgpr35
; GFX11-NEXT: ; implicit-def: $sgpr34
-; GFX11-NEXT: ; implicit-def: $sgpr31
-; GFX11-NEXT: ; implicit-def: $sgpr37
; GFX11-NEXT: ; implicit-def: $sgpr36
-; GFX11-NEXT: ; implicit-def: $sgpr35
-; GFX11-NEXT: ; implicit-def: $sgpr39
; GFX11-NEXT: ; implicit-def: $sgpr38
+; GFX11-NEXT: ; implicit-def: $sgpr37
; GFX11-NEXT: ; implicit-def: $sgpr49
; GFX11-NEXT: ; implicit-def: $sgpr48
+; GFX11-NEXT: ; implicit-def: $sgpr39
+; GFX11-NEXT: ; implicit-def: $sgpr51
; GFX11-NEXT: ; implicit-def: $sgpr50
+; GFX11-NEXT: ; implicit-def: $sgpr53
; GFX11-NEXT: ; implicit-def: $sgpr52
-; GFX11-NEXT: ; implicit-def: $sgpr51
-; GFX11-NEXT: ; implicit-def: $sgpr55
; GFX11-NEXT: ; implicit-def: $sgpr54
-; GFX11-NEXT: ; implicit-def: $sgpr53
+; GFX11-NEXT: ; implicit-def: $sgpr55
+; GFX11-NEXT: ; implicit-def: $sgpr96
+; GFX11-NEXT: ; implicit-def: $sgpr97
+; GFX11-NEXT: ; implicit-def: $sgpr98
+; GFX11-NEXT: ; implicit-def: $sgpr99
+; GFX11-NEXT: ; implicit-def: $sgpr101
+; GFX11-NEXT: ; implicit-def: $sgpr100
+; GFX11-NEXT: ; implicit-def: $sgpr103
+; GFX11-NEXT: ; implicit-def: $sgpr102
+; GFX11-NEXT: ; implicit-def: $sgpr104
+; GFX11-NEXT: ; implicit-def: $sgpr44
+; GFX11-NEXT: ; implicit-def: $sgpr58
+; GFX11-NEXT: ; implicit-def: $sgpr56
+; GFX11-NEXT: ; implicit-def: $sgpr46
; GFX11-NEXT: ; implicit-def: $sgpr72
; GFX11-NEXT: ; implicit-def: $vcc_lo
; GFX11-NEXT: ; implicit-def: $sgpr94
@@ -187122,8 +187143,8 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; GFX11-NEXT: ; implicit-def: $sgpr42
; GFX11-NEXT: v_writelane_b32 v77, s42, 12
; GFX11-NEXT: v_writelane_b32 v77, s43, 13
-; GFX11-NEXT: ; implicit-def: $sgpr42
; GFX11-NEXT: ; implicit-def: $sgpr43
+; GFX11-NEXT: ; implicit-def: $sgpr42
; GFX11-NEXT: .LBB95_3: ; %Flow
; GFX11-NEXT: s_and_b32 s75, s75, exec_lo
; GFX11-NEXT: s_cselect_b32 s75, 1, 0
@@ -187132,151 +187153,151 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; GFX11-NEXT: s_cbranch_scc1 .LBB95_5
; GFX11-NEXT: ; %bb.4: ; %cmp.true
; GFX11-NEXT: v_pk_add_f16 v30, 0x200, s17 op_sel_hi:[0,1]
-; GFX11-NEXT: v_pk_add_f16 v28, 0x200, s19 op_sel_hi:[0,1]
+; GFX11-NEXT: v_pk_add_f16 v29, 0x200, s16 op_sel_hi:[0,1]
+; GFX11-NEXT: v_pk_add_f16 v26, 0x200, s21 op_sel_hi:[0,1]
+; GFX11-NEXT: v_pk_add_f16 v25, 0x200, s20 op_sel_hi:[0,1]
+; GFX11-NEXT: v_pk_add_f16 v8, 0x200, s11 op_sel_hi:[0,1]
+; GFX11-NEXT: v_pk_add_f16 v7, 0x200, s10 op_sel_hi:[0,1]
+; GFX11-NEXT: v_pk_add_f16 v32, 0x200, s19 op_sel_hi:[0,1]
; GFX11-NEXT: v_pk_add_f16 v18, 0x200, s27 op_sel_hi:[0,1]
; GFX11-NEXT: v_pk_add_f16 v17, 0x200, s26 op_sel_hi:[0,1]
-; GFX11-NEXT: v_pk_add_f16 v27, 0x200, s18 op_sel_hi:[0,1]
-; GFX11-NEXT: v_pk_add_f16 v29, 0x200, s16 op_sel_hi:[0,1]
-; GFX11-NEXT: v_pk_add_f16 v20, 0x200, s25 op_sel_hi:[0,1]
-; GFX11-NEXT: v_pk_add_f16 v19, 0x200, s24 op_sel_hi:[0,1]
+; GFX11-NEXT: v_pk_add_f16 v31, 0x200, s18 op_sel_hi:[0,1]
; GFX11-NEXT: v_pk_add_f16 v14, 0x200, s41 op_sel_hi:[0,1]
; GFX11-NEXT: v_pk_add_f16 v13, 0x200, s40 op_sel_hi:[0,1]
; GFX11-NEXT: v_pk_add_f16 v10, 0x200, s13 op_sel_hi:[0,1]
; GFX11-NEXT: v_pk_add_f16 v9, 0x200, s12 op_sel_hi:[0,1]
-; GFX11-NEXT: v_pk_add_f16 v6, 0x200, s9 op_sel_hi:[0,1]
-; GFX11-NEXT: v_pk_add_f16 v5, 0x200, s8 op_sel_hi:[0,1]
; GFX11-NEXT: v_pk_add_f16 v34, 0x200, s3 op_sel_hi:[0,1]
; GFX11-NEXT: v_pk_add_f16 v33, 0x200, s2 op_sel_hi:[0,1]
-; GFX11-NEXT: v_pk_add_f16 v22, 0x200, s23 op_sel_hi:[0,1]
-; GFX11-NEXT: v_pk_add_f16 v21, 0x200, s22 op_sel_hi:[0,1]
+; GFX11-NEXT: v_pk_add_f16 v20, 0x200, s25 op_sel_hi:[0,1]
+; GFX11-NEXT: v_pk_add_f16 v19, 0x200, s24 op_sel_hi:[0,1]
+; GFX11-NEXT: v_lshrrev_b64 v[68:69], 24, v[29:30]
; GFX11-NEXT: v_pk_add_f16 v16, 0x200, s29 op_sel_hi:[0,1]
; GFX11-NEXT: v_pk_add_f16 v15, 0x200, s28 op_sel_hi:[0,1]
; GFX11-NEXT: v_pk_add_f16 v12, 0x200, s15 op_sel_hi:[0,1]
; GFX11-NEXT: v_pk_add_f16 v11, 0x200, s14 op_sel_hi:[0,1]
-; GFX11-NEXT: v_pk_add_f16 v8, 0x200, s11 op_sel_hi:[0,1]
-; GFX11-NEXT: v_pk_add_f16 v7, 0x200, s10 op_sel_hi:[0,1]
+; GFX11-NEXT: v_pk_add_f16 v6, 0x200, s9 op_sel_hi:[0,1]
+; GFX11-NEXT: v_pk_add_f16 v5, 0x200, s8 op_sel_hi:[0,1]
; GFX11-NEXT: v_pk_add_f16 v4, 0x200, s7 op_sel_hi:[0,1]
; GFX11-NEXT: v_pk_add_f16 v3, 0x200, s6 op_sel_hi:[0,1]
; GFX11-NEXT: v_pk_add_f16 v2, 0x200, s5 op_sel_hi:[0,1]
; GFX11-NEXT: v_pk_add_f16 v1, 0x200, s4 op_sel_hi:[0,1]
-; GFX11-NEXT: v_pk_add_f16 v36, 0x200, s1 op_sel_hi:[0,1]
-; GFX11-NEXT: v_pk_add_f16 v35, 0x200, s0 op_sel_hi:[0,1]
-; GFX11-NEXT: v_pk_add_f16 v24, 0x200, s21 op_sel_hi:[0,1]
-; GFX11-NEXT: v_pk_add_f16 v23, 0x200, s20 op_sel_hi:[0,1]
-; GFX11-NEXT: v_lshrrev_b32_e32 v73, 8, v30
-; GFX11-NEXT: v_lshrrev_b64 v[51:52], 24, v[17:18]
-; GFX11-NEXT: v_lshrrev_b64 v[64:65], 24, v[27:28]
-; GFX11-NEXT: v_lshrrev_b64 v[52:53], 24, v[19:20]
-; GFX11-NEXT: v_lshrrev_b64 v[65:66], 24, v[29:30]
-; GFX11-NEXT: v_lshrrev_b64 v[53:54], 24, v[21:22]
-; GFX11-NEXT: v_lshrrev_b64 v[69:70], 24, v[33:34]
-; GFX11-NEXT: v_lshrrev_b64 v[37:38], 24, v[5:6]
-; GFX11-NEXT: v_lshrrev_b64 v[48:49], 24, v[9:10]
+; GFX11-NEXT: v_pk_add_f16 v38, 0x200, s1 op_sel_hi:[0,1]
+; GFX11-NEXT: v_pk_add_f16 v37, 0x200, s0 op_sel_hi:[0,1]
+; GFX11-NEXT: v_pk_add_f16 v22, 0x200, s23 op_sel_hi:[0,1]
+; GFX11-NEXT: v_pk_add_f16 v21, 0x200, s22 op_sel_hi:[0,1]
+; GFX11-NEXT: v_lshrrev_b32_e32 v69, 8, v30
+; GFX11-NEXT: v_lshrrev_b64 v[64:65], 24, v[25:26]
+; GFX11-NEXT: v_lshrrev_b64 v[52:53], 24, v[17:18]
+; GFX11-NEXT: v_lshrrev_b64 v[65:66], 24, v[31:32]
+; GFX11-NEXT: v_lshrrev_b64 v[48:49], 24, v[7:8]
+; GFX11-NEXT: v_lshrrev_b64 v[53:54], 24, v[19:20]
+; GFX11-NEXT: v_lshrrev_b64 v[80:81], 24, v[33:34]
+; GFX11-NEXT: v_lshrrev_b64 v[49:50], 24, v[9:10]
; GFX11-NEXT: v_lshrrev_b64 v[66:67], 24, v[13:14]
-; GFX11-NEXT: v_lshrrev_b64 v[54:55], 24, v[23:24]
-; GFX11-NEXT: v_lshrrev_b64 v[70:71], 24, v[35:36]
-; GFX11-NEXT: v_lshrrev_b64 v[25:26], 24, v[1:2]
-; GFX11-NEXT: v_lshrrev_b64 v[31:32], 24, v[3:4]
-; GFX11-NEXT: v_lshrrev_b64 v[38:39], 24, v[7:8]
-; GFX11-NEXT: v_lshrrev_b64 v[49:50], 24, v[11:12]
-; GFX11-NEXT: v_lshrrev_b64 v[67:68], 24, v[15:16]
-; GFX11-NEXT: v_lshrrev_b32_e32 v148, 24, v18
-; GFX11-NEXT: v_lshrrev_b32_e32 v147, 16, v18
-; GFX11-NEXT: v_lshrrev_b32_e32 v146, 8, v18
-; GFX11-NEXT: v_lshrrev_b32_e32 v151, 16, v17
-; GFX11-NEXT: v_lshrrev_b32_e32 v149, 8, v17
-; GFX11-NEXT: v_lshrrev_b32_e32 v162, 24, v20
-; GFX11-NEXT: v_lshrrev_b32_e32 v161, 16, v20
-; GFX11-NEXT: v_lshrrev_b32_e32 v150, 8, v20
-; GFX11-NEXT: v_lshrrev_b32_e32 v163, 16, v19
-; GFX11-NEXT: v_lshrrev_b32_e32 v160, 8, v19
-; GFX11-NEXT: v_lshrrev_b32_e32 v166, 24, v22
-; GFX11-NEXT: v_lshrrev_b32_e32 v165, 16, v22
-; GFX11-NEXT: v_lshrrev_b32_e32 v164, 8, v22
-; GFX11-NEXT: v_lshrrev_b32_e32 v177, 16, v21
-; GFX11-NEXT: v_lshrrev_b32_e32 v176, 8, v21
-; GFX11-NEXT: v_lshrrev_b32_e32 v180, 24, v24
-; GFX11-NEXT: v_lshrrev_b32_e32 v179, 16, v24
-; GFX11-NEXT: v_lshrrev_b32_e32 v167, 8, v24
-; GFX11-NEXT: v_lshrrev_b32_e32 v181, 16, v23
-; GFX11-NEXT: v_lshrrev_b32_e32 v178, 8, v23
-; GFX11-NEXT: v_lshrrev_b32_e32 v47, 24, v28
-; GFX11-NEXT: v_lshrrev_b32_e32 v43, 16, v28
-; GFX11-NEXT: v_lshrrev_b32_e32 v183, 8, v28
-; GFX11-NEXT: v_lshrrev_b32_e32 v44, 16, v27
-; GFX11-NEXT: v_lshrrev_b32_e32 v182, 8, v27
-; GFX11-NEXT: v_lshrrev_b32_e32 v42, 24, v30
-; GFX11-NEXT: v_lshrrev_b32_e32 v41, 16, v30
-; GFX11-NEXT: v_lshrrev_b32_e32 v45, 16, v29
-; GFX11-NEXT: v_lshrrev_b32_e32 v40, 8, v29
-; GFX11-NEXT: v_lshrrev_b32_e32 v72, 24, v34
-; GFX11-NEXT: v_lshrrev_b32_e32 v62, 16, v34
-; GFX11-NEXT: v_lshrrev_b32_e32 v56, 8, v34
+; GFX11-NEXT: v_lshrrev_b64 v[54:55], 24, v[21:22]
+; GFX11-NEXT: v_lshrrev_b64 v[81:82], 24, v[37:38]
+; GFX11-NEXT: v_lshrrev_b64 v[23:24], 24, v[1:2]
+; GFX11-NEXT: v_lshrrev_b64 v[27:28], 24, v[3:4]
+; GFX11-NEXT: v_lshrrev_b64 v[35:36], 24, v[5:6]
+; GFX11-NEXT: v_lshrrev_b64 v[50:51], 24, v[11:12]
+; GFX11-NEXT: v_mov_b32_e32 v67, v69
+; GFX11-NEXT: v_lshrrev_b64 v[69:70], 24, v[15:16]
+; GFX11-NEXT: v_lshrrev_b32_e32 v149, 24, v18
+; GFX11-NEXT: v_lshrrev_b32_e32 v148, 16, v18
+; GFX11-NEXT: v_lshrrev_b32_e32 v147, 8, v18
+; GFX11-NEXT: v_lshrrev_b32_e32 v160, 16, v17
+; GFX11-NEXT: v_lshrrev_b32_e32 v150, 8, v17
+; GFX11-NEXT: v_lshrrev_b32_e32 v163, 24, v20
+; GFX11-NEXT: v_lshrrev_b32_e32 v162, 16, v20
+; GFX11-NEXT: v_lshrrev_b32_e32 v151, 8, v20
+; GFX11-NEXT: v_lshrrev_b32_e32 v164, 16, v19
+; GFX11-NEXT: v_lshrrev_b32_e32 v161, 8, v19
+; GFX11-NEXT: v_lshrrev_b32_e32 v167, 24, v22
+; GFX11-NEXT: v_lshrrev_b32_e32 v166, 16, v22
+; GFX11-NEXT: v_lshrrev_b32_e32 v165, 8, v22
+; GFX11-NEXT: v_lshrrev_b32_e32 v178, 16, v21
+; GFX11-NEXT: v_lshrrev_b32_e32 v177, 8, v21
+; GFX11-NEXT: v_lshrrev_b32_e32 v181, 24, v26
+; GFX11-NEXT: v_lshrrev_b32_e32 v180, 16, v26
+; GFX11-NEXT: v_lshrrev_b32_e32 v176, 8, v26
+; GFX11-NEXT: v_lshrrev_b32_e32 v182, 16, v25
+; GFX11-NEXT: v_lshrrev_b32_e32 v179, 8, v25
+; GFX11-NEXT: v_lshrrev_b32_e32 v45, 24, v32
+; GFX11-NEXT: v_lshrrev_b32_e32 v43, 16, v32
+; GFX11-NEXT: v_lshrrev_b32_e32 v40, 8, v32
+; GFX11-NEXT: v_lshrrev_b32_e32 v44, 16, v31
+; GFX11-NEXT: v_lshrrev_b32_e32 v183, 8, v31
+; GFX11-NEXT: v_lshrrev_b32_e32 v46, 24, v30
+; GFX11-NEXT: v_lshrrev_b32_e32 v42, 16, v30
+; GFX11-NEXT: v_lshrrev_b32_e32 v47, 16, v29
+; GFX11-NEXT: v_lshrrev_b32_e32 v41, 8, v29
+; GFX11-NEXT: v_lshrrev_b32_e32 v73, 24, v34
+; GFX11-NEXT: v_lshrrev_b32_e32 v61, 16, v34
+; GFX11-NEXT: v_lshrrev_b32_e32 v57, 8, v34
; GFX11-NEXT: v_lshrrev_b32_e32 v63, 16, v33
-; GFX11-NEXT: v_lshrrev_b32_e32 v46, 8, v33
-; GFX11-NEXT: v_lshrrev_b32_e32 v61, 24, v36
-; GFX11-NEXT: v_lshrrev_b32_e32 v60, 16, v36
-; GFX11-NEXT: v_lshrrev_b32_e32 v58, 8, v36
-; GFX11-NEXT: v_lshrrev_b32_e32 v59, 16, v35
-; GFX11-NEXT: v_lshrrev_b32_e32 v57, 8, v35
-; GFX11-NEXT: v_lshrrev_b32_e32 v50, 24, v2
-; GFX11-NEXT: v_lshrrev_b32_e32 v39, 16, v2
-; GFX11-NEXT: v_lshrrev_b32_e32 v26, 8, v2
-; GFX11-NEXT: v_lshrrev_b32_e32 v71, 16, v1
-; GFX11-NEXT: v_lshrrev_b32_e32 v32, 8, v1
-; GFX11-NEXT: v_lshrrev_b32_e32 v81, 24, v4
-; GFX11-NEXT: v_lshrrev_b32_e32 v80, 16, v4
-; GFX11-NEXT: v_lshrrev_b32_e32 v55, 8, v4
-; GFX11-NEXT: v_lshrrev_b32_e32 v84, 16, v3
-; GFX11-NEXT: v_lshrrev_b32_e32 v82, 8, v3
-; GFX11-NEXT: v_lshrrev_b32_e32 v86, 24, v6
-; GFX11-NEXT: v_lshrrev_b32_e32 v85, 16, v6
-; GFX11-NEXT: v_lshrrev_b32_e32 v83, 8, v6
-; GFX11-NEXT: v_lshrrev_b32_e32 v97, 16, v5
-; GFX11-NEXT: v_lshrrev_b32_e32 v87, 8, v5
-; GFX11-NEXT: v_lshrrev_b32_e32 v100, 24, v8
-; GFX11-NEXT: v_lshrrev_b32_e32 v99, 16, v8
-; GFX11-NEXT: v_lshrrev_b32_e32 v96, 8, v8
-; GFX11-NEXT: v_lshrrev_b32_e32 v101, 16, v7
-; GFX11-NEXT: v_lshrrev_b32_e32 v98, 8, v7
-; GFX11-NEXT: v_lshrrev_b32_e32 v112, 24, v10
-; GFX11-NEXT: v_lshrrev_b32_e32 v103, 16, v10
-; GFX11-NEXT: v_lshrrev_b32_e32 v102, 8, v10
-; GFX11-NEXT: v_lshrrev_b32_e32 v115, 16, v9
-; GFX11-NEXT: v_lshrrev_b32_e32 v113, 8, v9
-; GFX11-NEXT: v_lshrrev_b32_e32 v118, 24, v12
-; GFX11-NEXT: v_lshrrev_b32_e32 v117, 16, v12
-; GFX11-NEXT: v_lshrrev_b32_e32 v114, 8, v12
-; GFX11-NEXT: v_lshrrev_b32_e32 v119, 16, v11
-; GFX11-NEXT: v_lshrrev_b32_e32 v116, 8, v11
-; GFX11-NEXT: v_lshrrev_b32_e32 v130, 24, v14
-; GFX11-NEXT: v_lshrrev_b32_e32 v129, 16, v14
-; GFX11-NEXT: v_lshrrev_b32_e32 v128, 8, v14
-; GFX11-NEXT: v_lshrrev_b32_e32 v133, 16, v13
-; GFX11-NEXT: v_lshrrev_b32_e32 v131, 8, v13
-; GFX11-NEXT: v_lshrrev_b32_e32 v144, 24, v16
-; GFX11-NEXT: v_lshrrev_b32_e32 v135, 16, v16
-; GFX11-NEXT: v_lshrrev_b32_e32 v132, 8, v16
-; GFX11-NEXT: v_lshrrev_b32_e32 v145, 16, v15
-; GFX11-NEXT: v_lshrrev_b32_e32 v134, 8, v15
-; GFX11-NEXT: v_mov_b32_e32 v68, v73
+; GFX11-NEXT: v_lshrrev_b32_e32 v56, 8, v33
+; GFX11-NEXT: v_lshrrev_b32_e32 v72, 24, v38
+; GFX11-NEXT: v_lshrrev_b32_e32 v60, 16, v38
+; GFX11-NEXT: v_lshrrev_b32_e32 v59, 8, v38
+; GFX11-NEXT: v_lshrrev_b32_e32 v62, 16, v37
+; GFX11-NEXT: v_lshrrev_b32_e32 v58, 8, v37
+; GFX11-NEXT: v_lshrrev_b32_e32 v39, 24, v2
+; GFX11-NEXT: v_lshrrev_b32_e32 v36, 16, v2
+; GFX11-NEXT: v_lshrrev_b32_e32 v24, 8, v2
+; GFX11-NEXT: v_lshrrev_b32_e32 v55, 16, v1
+; GFX11-NEXT: v_lshrrev_b32_e32 v28, 8, v1
+; GFX11-NEXT: v_lshrrev_b32_e32 v82, 24, v4
+; GFX11-NEXT: v_lshrrev_b32_e32 v71, 16, v4
+; GFX11-NEXT: v_lshrrev_b32_e32 v51, 8, v4
+; GFX11-NEXT: v_lshrrev_b32_e32 v85, 16, v3
+; GFX11-NEXT: v_lshrrev_b32_e32 v83, 8, v3
+; GFX11-NEXT: v_lshrrev_b32_e32 v87, 24, v6
+; GFX11-NEXT: v_lshrrev_b32_e32 v86, 16, v6
+; GFX11-NEXT: v_lshrrev_b32_e32 v84, 8, v6
+; GFX11-NEXT: v_lshrrev_b32_e32 v98, 16, v5
+; GFX11-NEXT: v_lshrrev_b32_e32 v96, 8, v5
+; GFX11-NEXT: v_lshrrev_b32_e32 v101, 24, v8
+; GFX11-NEXT: v_lshrrev_b32_e32 v100, 16, v8
+; GFX11-NEXT: v_lshrrev_b32_e32 v97, 8, v8
+; GFX11-NEXT: v_lshrrev_b32_e32 v102, 16, v7
+; GFX11-NEXT: v_lshrrev_b32_e32 v99, 8, v7
+; GFX11-NEXT: v_lshrrev_b32_e32 v113, 24, v10
+; GFX11-NEXT: v_lshrrev_b32_e32 v112, 16, v10
+; GFX11-NEXT: v_lshrrev_b32_e32 v103, 8, v10
+; GFX11-NEXT: v_lshrrev_b32_e32 v116, 16, v9
+; GFX11-NEXT: v_lshrrev_b32_e32 v114, 8, v9
+; GFX11-NEXT: v_lshrrev_b32_e32 v119, 24, v12
+; GFX11-NEXT: v_lshrrev_b32_e32 v118, 16, v12
+; GFX11-NEXT: v_lshrrev_b32_e32 v115, 8, v12
+; GFX11-NEXT: v_lshrrev_b32_e32 v128, 16, v11
+; GFX11-NEXT: v_lshrrev_b32_e32 v117, 8, v11
+; GFX11-NEXT: v_lshrrev_b32_e32 v131, 24, v14
+; GFX11-NEXT: v_lshrrev_b32_e32 v130, 16, v14
+; GFX11-NEXT: v_lshrrev_b32_e32 v129, 8, v14
+; GFX11-NEXT: v_lshrrev_b32_e32 v134, 16, v13
+; GFX11-NEXT: v_lshrrev_b32_e32 v132, 8, v13
+; GFX11-NEXT: v_lshrrev_b32_e32 v145, 24, v16
+; GFX11-NEXT: v_lshrrev_b32_e32 v144, 16, v16
+; GFX11-NEXT: v_lshrrev_b32_e32 v133, 8, v16
+; GFX11-NEXT: v_lshrrev_b32_e32 v146, 16, v15
+; GFX11-NEXT: v_lshrrev_b32_e32 v135, 8, v15
; GFX11-NEXT: s_branch .LBB95_6
; GFX11-NEXT: .LBB95_5:
-; GFX11-NEXT: v_dual_mov_b32 v35, s0 :: v_dual_mov_b32 v36, s1
+; GFX11-NEXT: v_dual_mov_b32 v37, s0 :: v_dual_mov_b32 v38, s1
; GFX11-NEXT: v_readlane_b32 s0, v77, 14
; GFX11-NEXT: v_dual_mov_b32 v15, s28 :: v_dual_mov_b32 v16, s29
; GFX11-NEXT: v_dual_mov_b32 v13, s40 :: v_dual_mov_b32 v14, s41
; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_3) | instid1(VALU_DEP_3)
-; GFX11-NEXT: v_mov_b32_e32 v57, s0
+; GFX11-NEXT: v_mov_b32_e32 v58, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 15
; GFX11-NEXT: v_dual_mov_b32 v11, s14 :: v_dual_mov_b32 v12, s15
; GFX11-NEXT: v_dual_mov_b32 v9, s12 :: v_dual_mov_b32 v10, s13
-; GFX11-NEXT: v_mov_b32_e32 v59, s0
+; GFX11-NEXT: v_mov_b32_e32 v62, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 16
; GFX11-NEXT: v_dual_mov_b32 v7, s10 :: v_dual_mov_b32 v8, s11
; GFX11-NEXT: v_dual_mov_b32 v5, s8 :: v_dual_mov_b32 v6, s9
; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_3) | instid1(VALU_DEP_3)
-; GFX11-NEXT: v_mov_b32_e32 v58, s0
+; GFX11-NEXT: v_mov_b32_e32 v59, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 17
; GFX11-NEXT: v_dual_mov_b32 v3, s6 :: v_dual_mov_b32 v4, s7
; GFX11-NEXT: v_dual_mov_b32 v1, s4 :: v_dual_mov_b32 v2, s5
@@ -187285,11 +187306,11 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; GFX11-NEXT: v_dual_mov_b32 v33, s2 :: v_dual_mov_b32 v34, s3
; GFX11-NEXT: v_dual_mov_b32 v29, s16 :: v_dual_mov_b32 v30, s17
; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_3) | instid1(VALU_DEP_3)
-; GFX11-NEXT: v_mov_b32_e32 v61, s0
+; GFX11-NEXT: v_mov_b32_e32 v72, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 19
-; GFX11-NEXT: v_dual_mov_b32 v27, s18 :: v_dual_mov_b32 v28, s19
-; GFX11-NEXT: v_dual_mov_b32 v23, s20 :: v_dual_mov_b32 v24, s21
-; GFX11-NEXT: v_mov_b32_e32 v46, s0
+; GFX11-NEXT: v_dual_mov_b32 v31, s18 :: v_dual_mov_b32 v32, s19
+; GFX11-NEXT: v_dual_mov_b32 v25, s20 :: v_dual_mov_b32 v26, s21
+; GFX11-NEXT: v_mov_b32_e32 v56, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 20
; GFX11-NEXT: v_dual_mov_b32 v21, s22 :: v_dual_mov_b32 v22, s23
; GFX11-NEXT: v_dual_mov_b32 v19, s24 :: v_dual_mov_b32 v20, s25
@@ -187297,240 +187318,239 @@ define inreg <128 x i8> @bitcast_v64f16_to_v128i8_scalar(<64 x half> inreg %a, i
; GFX11-NEXT: v_mov_b32_e32 v63, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 21
; GFX11-NEXT: v_dual_mov_b32 v17, s26 :: v_dual_mov_b32 v18, s27
-; GFX11-NEXT: v_dual_mov_b32 v134, s97 :: v_dual_mov_b32 v145, s96
-; GFX11-NEXT: v_mov_b32_e32 v56, s0
+; GFX11-NEXT: v_dual_mov_b32 v135, s62 :: v_dual_mov_b32 v146, s60
+; GFX11-NEXT: v_mov_b32_e32 v57, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 22
-; GFX11-NEXT: v_dual_mov_b32 v132, s99 :: v_dual_mov_b32 v135, s98
-; GFX11-NEXT: v_dual_mov_b32 v144, s100 :: v_dual_mov_b32 v131, s102
+; GFX11-NEXT: v_dual_mov_b32 v133, s45 :: v_dual_mov_b32 v144, s43
+; GFX11-NEXT: v_dual_mov_b32 v145, s47 :: v_dual_mov_b32 v132, s59
; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_3) | instid1(VALU_DEP_3)
-; GFX11-NEXT: v_mov_b32_e32 v62, s0
+; GFX11-NEXT: v_mov_b32_e32 v61, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 23
-; GFX11-NEXT: v_dual_mov_b32 v133, s101 :: v_dual_mov_b32 v128, s42
-; GFX11-NEXT: v_dual_mov_b32 v129, s104 :: v_dual_mov_b32 v130, s103
-; GFX11-NEXT: v_mov_b32_e32 v72, s0
+; GFX11-NEXT: v_dual_mov_b32 v134, s57 :: v_dual_mov_b32 v129, s73
+; GFX11-NEXT: v_dual_mov_b32 v130, s63 :: v_dual_mov_b32 v131, s61
+; GFX11-NEXT: v_mov_b32_e32 v73, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 24
-; GFX11-NEXT: v_dual_mov_b32 v116, s46 :: v_dual_mov_b32 v119, s44
-; GFX11-NEXT: v_dual_mov_b32 v114, s58 :: v_dual_mov_b32 v117, s56
+; GFX11-NEXT: v_dual_mov_b32 v117, s31 :: v_dual_mov_b32 v128, s30
+; GFX11-NEXT: v_dual_mov_b32 v115, s35 :: v_dual_mov_b32 v118, s34
; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_3) | instid1(VALU_DEP_3)
-; GFX11-NEXT: v_mov_b32_e32 v40, s0
+; GFX11-NEXT: v_mov_b32_e32 v41, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 25
-; GFX11-NEXT: v_dual_mov_b32 v118, s60 :: v_dual_mov_b32 v113, s43
-; GFX11-NEXT: v_dual_mov_b32 v115, s62 :: v_dual_mov_b32 v102, s57
-; GFX11-NEXT: v_mov_b32_e32 v45, s0
+; GFX11-NEXT: v_dual_mov_b32 v119, s36 :: v_dual_mov_b32 v114, s38
+; GFX11-NEXT: v_dual_mov_b32 v116, s37 :: v_dual_mov_b32 v103, s49
+; GFX11-NEXT: v_mov_b32_e32 v47, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 26
-; GFX11-NEXT: v_dual_mov_b32 v103, s47 :: v_dual_mov_b32 v112, s45
-; GFX11-NEXT: v_dual_mov_b32 v98, s61 :: v_dual_mov_b32 v101, s59
+; GFX11-NEXT: v_dual_mov_b32 v112, s48 :: v_dual_mov_b32 v113, s39
+; GFX11-NEXT: v_dual_mov_b32 v99, s51 :: v_dual_mov_b32 v102, s50
; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_3) | instid1(VALU_DEP_3)
-; GFX11-NEXT: v_mov_b32_e32 v68, s0
+; GFX11-NEXT: v_mov_b32_e32 v67, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 27
-; GFX11-NEXT: v_dual_mov_b32 v96, s73 :: v_dual_mov_b32 v99, s63
-; GFX11-NEXT: v_dual_mov_b32 v100, s30 :: v_dual_mov_b32 v87, s34
-; GFX11-NEXT: v_mov_b32_e32 v41, s0
+; GFX11-NEXT: v_dual_mov_b32 v97, s53 :: v_dual_mov_b32 v100, s52
+; GFX11-NEXT: v_dual_mov_b32 v101, s54 :: v_dual_mov_b32 v96, s55
+; GFX11-NEXT: v_mov_b32_e32 v42, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 28
-; GFX11-NEXT: v_dual_mov_b32 v97, s31 :: v_dual_mov_b32 v86, s35
-; GFX11-NEXT: v_dual_mov_b32 v83, s37 :: v_dual_mov_b32 v82, s39
+; GFX11-NEXT: v_dual_mov_b32 v98, s96 :: v_dual_mov_b32 v87, s99
+; GFX11-NEXT: v_dual_mov_b32 v84, s97 :: v_dual_mov_b32 v83, s101
; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_3) | instid1(VALU_DEP_3)
-; GFX11-NEXT: v_mov_b32_e32 v42, s0
+; GFX11-NEXT: v_mov_b32_e32 v46, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 29
-; GFX11-NEXT: v_dual_mov_b32 v85, s36 :: v_dual_mov_b32 v84, s38
-; GFX11-NEXT: v_dual_mov_b32 v55, s49 :: v_dual_mov_b32 v80, s48
-; GFX11-NEXT: v_mov_b32_e32 v182, s0
+; GFX11-NEXT: v_dual_mov_b32 v86, s98 :: v_dual_mov_b32 v85, s100
+; GFX11-NEXT: v_dual_mov_b32 v51, s103 :: v_dual_mov_b32 v82, s104
+; GFX11-NEXT: v_mov_b32_e32 v183, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 30
-; GFX11-NEXT: v_dual_mov_b32 v81, s50 :: v_dual_mov_b32 v32, s52
-; GFX11-NEXT: v_dual_mov_b32 v71, s51 :: v_dual_mov_b32 v26, s55
-; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_3) | instid1(VALU_DEP_3)
-; GFX11-NEXT: v_dual_mov_b32 v44, s0 :: v_dual_mov_b32 v167, s64
+; GFX11-NEXT: v_dual_mov_b32 v71, s102 :: v_dual_mov_b32 v28, s44
+; GFX11-NEXT: v_dual_mov_b32 v55, s42 :: v_dual_mov_b32 v24, s58
+; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_4) | instid1(VALU_DEP_4)
+; GFX11-NEXT: v_mov_b32_e32 v44, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 31
-; GFX11-NEXT: v_dual_mov_b32 v39, s54 :: v_dual_mov_b32 v50, s53
-; GFX11-NEXT: v_dual_mov_b32 v176, s66 :: v_dual_mov_b32 v165, s67
-; GFX11-NEXT: v_mov_b32_e32 v183, s0
+; GFX11-NEXT: v_dual_mov_b32 v36, s56 :: v_dual_mov_b32 v39, s46
+; GFX11-NEXT: v_dual_mov_b32 v176, s64 :: v_dual_mov_b32 v177, s66
+; GFX11-NEXT: v_mov_b32_e32 v166, s67
+; GFX11-NEXT: v_mov_b32_e32 v40, s0
; GFX11-NEXT: v_readlane_b32 s0, v76, 0
-; GFX11-NEXT: v_dual_mov_b32 v164, s68 :: v_dual_mov_b32 v163, s70
-; GFX11-NEXT: v_dual_mov_b32 v166, s69 :: v_dual_mov_b32 v161, s81
-; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_4) | instid1(VALU_DEP_4)
+; GFX11-NEXT: v_dual_mov_b32 v165, s68 :: v_dual_mov_b32 v164, s70
+; GFX11-NEXT: v_dual_mov_b32 v167, s69 :: v_dual_mov_b32 v162, s81
+; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_3) | instid1(VALU_DEP_3)
; GFX11-NEXT: v_mov_b32_e32 v43, s0
; GFX11-NEXT: v_readlane_b32 s0, v76, 1
-; GFX11-NEXT: v_dual_mov_b32 v160, s71 :: v_dual_mov_b32 v149, s84
-; GFX11-NEXT: v_dual_mov_b32 v177, s65 :: v_dual_mov_b32 v150, s82
-; GFX11-NEXT: v_mov_b32_e32 v151, s83
-; GFX11-NEXT: v_mov_b32_e32 v47, s0
+; GFX11-NEXT: v_dual_mov_b32 v161, s71 :: v_dual_mov_b32 v150, s84
+; GFX11-NEXT: v_dual_mov_b32 v178, s65 :: v_dual_mov_b32 v151, s82
+; GFX11-NEXT: v_dual_mov_b32 v160, s83 :: v_dual_mov_b32 v45, s0
; GFX11-NEXT: v_readlane_b32 s0, v76, 2
-; GFX11-NEXT: v_dual_mov_b32 v162, s80 :: v_dual_mov_b32 v147, s85
-; GFX11-NEXT: v_dual_mov_b32 v146, s86 :: v_dual_mov_b32 v51, s72
+; GFX11-NEXT: v_dual_mov_b32 v163, s80 :: v_dual_mov_b32 v148, s85
+; GFX11-NEXT: v_dual_mov_b32 v147, s86 :: v_dual_mov_b32 v52, s72
; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_3) | instid1(VALU_DEP_3)
-; GFX11-NEXT: v_mov_b32_e32 v178, s0
+; GFX11-NEXT: v_mov_b32_e32 v179, s0
; GFX11-NEXT: v_readlane_b32 s0, v76, 3
-; GFX11-NEXT: v_dual_mov_b32 v37, s78 :: v_dual_mov_b32 v38, s88
-; GFX11-NEXT: v_dual_mov_b32 v48, s90 :: v_dual_mov_b32 v49, s92
-; GFX11-NEXT: v_mov_b32_e32 v181, s0
+; GFX11-NEXT: v_dual_mov_b32 v23, s74 :: v_dual_mov_b32 v48, s88
+; GFX11-NEXT: v_dual_mov_b32 v27, s76 :: v_dual_mov_b32 v50, s92
+; GFX11-NEXT: v_mov_b32_e32 v182, s0
; GFX11-NEXT: v_readlane_b32 s0, v76, 4
-; GFX11-NEXT: v_dual_mov_b32 v66, s94 :: v_dual_mov_b32 v67, vcc_lo
-; GFX11-NEXT: v_mov_b32_e32 v25, s74
-; GFX11-NEXT: v_mov_b32_e32 v31, s76
-; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_1) | instid1(VALU_DEP_1)
-; GFX11-NEXT: v_mov_b32_e32 v179, s0
+; GFX11-NEXT: v_dual_mov_b32 v35, s78 :: v_dual_mov_b32 v66, s94
+; GFX11-NEXT: v_mov_b32_e32 v49, s90
+; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_1) | instid1(VALU_DEP_1)
+; GFX11-NEXT: v_dual_mov_b32 v69, vcc_lo :: v_dual_mov_b32 v180, s0
; GFX11-NEXT: v_readlane_b32 s0, v76, 5
-; GFX11-NEXT: v_mov_b32_e32 v180, s0
+; GFX11-NEXT: v_mov_b32_e32 v181, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 12
; GFX11-NEXT: v_readlane_b32 s1, v77, 13
; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_2) | instskip(SKIP_2) | instid1(VALU_DEP_2)
-; GFX11-NEXT: v_mov_b32_e32 v52, s0
+; GFX11-NEXT: v_mov_b32_e32 v53, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 10
; GFX11-NEXT: v_readlane_b32 s1, v77, 11
-; GFX11-NEXT: v_dual_mov_b32 v148, s87 :: v_dual_mov_b32 v53, s0
+; GFX11-NEXT: v_dual_mov_b32 v149, s87 :: v_dual_mov_b32 v54, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 8
; GFX11-NEXT: v_readlane_b32 s1, v77, 9
; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_2) | instskip(SKIP_2) | instid1(VALU_DEP_2)
-; GFX11-NEXT: v_mov_b32_e32 v54, s0
+; GFX11-NEXT: v_mov_b32_e32 v64, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 6
; GFX11-NEXT: v_readlane_b32 s1, v77, 7
-; GFX11-NEXT: v_mov_b32_e32 v64, s0
+; GFX11-NEXT: v_mov_b32_e32 v65, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 4
; GFX11-NEXT: v_readlane_b32 s1, v77, 5
; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_2) | instskip(SKIP_2) | instid1(VALU_DEP_2)
-; GFX11-NEXT: v_mov_b32_e32 v65, s0
+; GFX11-NEXT: v_mov_b32_e32 v68, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 2
; GFX11-NEXT: v_readlane_b32 s1, v77, 3
-; GFX11-NEXT: v_mov_b32_e32 v69, s0
+; GFX11-NEXT: v_mov_b32_e32 v80, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 0
; GFX11-NEXT: v_readlane_b32 s1, v77, 1
; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_2)
-; GFX11-NEXT: v_mov_b32_e32 v70, s0
+; GFX11-NEXT: v_mov_b32_e32 v81, s0
; GFX11-NEXT: .LBB95_6: ; %end
; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1)
-; GFX11-NEXT: v_perm_b32 v70, v59, v70, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v69, v63, v69, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v35, v35, v57, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v65, v45, v65, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v64, v44, v64, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v70, v62, v81, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v37, v37, v58, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v80, v63, v80, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v58, v61, v73, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v38, v38, v59, 0xc0c0004
; GFX11-NEXT: v_lshlrev_b32_e32 v70, 16, v70
-; GFX11-NEXT: v_perm_b32 v46, v33, v46, 0xc0c0004
-; GFX11-NEXT: v_lshlrev_b32_e32 v69, 16, v69
-; GFX11-NEXT: v_perm_b32 v36, v36, v58, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v57, v60, v61, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v58, v62, v72, 0xc0c0004
-; GFX11-NEXT: v_or_b32_e32 v33, v35, v70
-; GFX11-NEXT: v_perm_b32 v29, v29, v40, 0xc0c0004
-; GFX11-NEXT: v_lshlrev_b32_e32 v65, 16, v65
-; GFX11-NEXT: v_perm_b32 v70, v27, v182, 0xc0c0004
-; GFX11-NEXT: v_lshlrev_b32_e32 v64, 16, v64
-; GFX11-NEXT: v_or_b32_e32 v35, v46, v69
-; GFX11-NEXT: v_perm_b32 v69, v41, v42, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v30, v30, v68, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v68, v43, v47, 0xc0c0004
-; GFX11-NEXT: v_lshlrev_b32_e32 v57, 16, v57
-; GFX11-NEXT: v_perm_b32 v56, v34, v56, 0xc0c0004
-; GFX11-NEXT: v_lshlrev_b32_e32 v58, 16, v58
-; GFX11-NEXT: v_or_b32_e32 v27, v29, v65
-; GFX11-NEXT: v_or_b32_e32 v29, v70, v64
-; GFX11-NEXT: v_perm_b32 v54, v181, v54, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v64, v179, v180, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v53, v177, v53, 0xc0c0004
-; GFX11-NEXT: v_lshlrev_b32_e32 v69, 16, v69
-; GFX11-NEXT: v_perm_b32 v182, v28, v183, 0xc0c0004
-; GFX11-NEXT: v_lshlrev_b32_e32 v68, 16, v68
-; GFX11-NEXT: v_or_b32_e32 v34, v36, v57
-; GFX11-NEXT: v_or_b32_e32 v36, v56, v58
-; GFX11-NEXT: v_perm_b32 v23, v23, v178, 0xc0c0004
-; GFX11-NEXT: v_lshlrev_b32_e32 v54, 16, v54
-; GFX11-NEXT: v_perm_b32 v24, v24, v167, 0xc0c0004
-; GFX11-NEXT: v_lshlrev_b32_e32 v64, 16, v64
-; GFX11-NEXT: v_perm_b32 v21, v21, v176, 0xc0c0004
-; GFX11-NEXT: v_lshlrev_b32_e32 v53, 16, v53
-; GFX11-NEXT: v_or_b32_e32 v28, v30, v69
-; GFX11-NEXT: v_or_b32_e32 v30, v182, v68
+; GFX11-NEXT: v_perm_b32 v33, v33, v56, 0xc0c0004
+; GFX11-NEXT: v_lshlrev_b32_e32 v80, 16, v80
+; GFX11-NEXT: v_perm_b32 v34, v34, v57, 0xc0c0004
+; GFX11-NEXT: v_lshlrev_b32_e32 v59, 16, v58
+; GFX11-NEXT: v_or_b32_e32 v56, v37, v70
+; GFX11-NEXT: v_perm_b32 v37, v47, v68, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v81, v60, v72, 0xc0c0004
+; GFX11-NEXT: v_or_b32_e32 v58, v33, v80
+; GFX11-NEXT: v_or_b32_e32 v59, v34, v59
+; GFX11-NEXT: v_perm_b32 v33, v42, v46, 0xc0c0004
+; GFX11-NEXT: v_lshlrev_b32_e32 v34, 16, v37
+; GFX11-NEXT: v_perm_b32 v37, v44, v65, 0xc0c0004
+; GFX11-NEXT: v_lshlrev_b32_e32 v81, 16, v81
+; GFX11-NEXT: v_perm_b32 v29, v29, v41, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v30, v30, v67, 0xc0c0004
+; GFX11-NEXT: v_lshlrev_b32_e32 v33, 16, v33
+; GFX11-NEXT: v_perm_b32 v31, v31, v183, 0xc0c0004
+; GFX11-NEXT: v_lshlrev_b32_e32 v37, 16, v37
+; GFX11-NEXT: v_or_b32_e32 v57, v38, v81
+; GFX11-NEXT: v_perm_b32 v38, v43, v45, 0xc0c0004
+; GFX11-NEXT: v_or_b32_e32 v29, v29, v34
+; GFX11-NEXT: v_or_b32_e32 v30, v30, v33
+; GFX11-NEXT: v_or_b32_e32 v31, v31, v37
+; GFX11-NEXT: v_perm_b32 v33, v182, v64, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v34, v180, v181, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v37, v178, v54, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v32, v32, v40, 0xc0c0004
+; GFX11-NEXT: v_lshlrev_b32_e32 v38, 16, v38
+; GFX11-NEXT: v_perm_b32 v25, v25, v179, 0xc0c0004
+; GFX11-NEXT: v_lshlrev_b32_e32 v33, 16, v33
+; GFX11-NEXT: v_perm_b32 v26, v26, v176, 0xc0c0004
+; GFX11-NEXT: v_lshlrev_b32_e32 v34, 16, v34
+; GFX11-NEXT: v_perm_b32 v21, v21, v177, 0xc0c0004
+; GFX11-NEXT: v_lshlrev_b32_e32 v37, 16, v37
+; GFX11-NEXT: v_or_b32_e32 v32, v32, v38
; GFX11-NEXT: s_clause 0x1
-; GFX11-NEXT: scratch_store_b128 v0, v[33:36], off
-; GFX11-NEXT: scratch_store_b128 v0, v[27:30], off offset:16
-; GFX11-NEXT: v_or_b32_e32 v27, v23, v54
-; GFX11-NEXT: v_perm_b32 v23, v165, v166, 0xc0c0004
-; GFX11-NEXT: v_or_b32_e32 v28, v24, v64
-; GFX11-NEXT: v_or_b32_e32 v29, v21, v53
-; GFX11-NEXT: v_perm_b32 v21, v22, v164, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v22, v163, v52, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v24, v161, v162, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v30, v151, v51, 0xc0c0004
-; GFX11-NEXT: v_lshlrev_b32_e32 v23, 16, v23
-; GFX11-NEXT: v_perm_b32 v19, v19, v160, 0xc0c0004
+; GFX11-NEXT: scratch_store_b128 v0, v[56:59], off
+; GFX11-NEXT: scratch_store_b128 v0, v[29:32], off offset:16
+; GFX11-NEXT: v_or_b32_e32 v29, v25, v33
+; GFX11-NEXT: v_perm_b32 v25, v166, v167, 0xc0c0004
+; GFX11-NEXT: v_or_b32_e32 v30, v26, v34
+; GFX11-NEXT: v_or_b32_e32 v31, v21, v37
+; GFX11-NEXT: v_perm_b32 v21, v22, v165, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v22, v164, v53, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v26, v162, v163, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v32, v160, v52, 0xc0c0004
+; GFX11-NEXT: v_lshlrev_b32_e32 v25, 16, v25
+; GFX11-NEXT: v_perm_b32 v19, v19, v161, 0xc0c0004
; GFX11-NEXT: v_lshlrev_b32_e32 v22, 16, v22
-; GFX11-NEXT: v_perm_b32 v20, v20, v150, 0xc0c0004
-; GFX11-NEXT: v_lshlrev_b32_e32 v24, 16, v24
-; GFX11-NEXT: v_perm_b32 v17, v17, v149, 0xc0c0004
-; GFX11-NEXT: v_lshlrev_b32_e32 v33, 16, v30
-; GFX11-NEXT: v_or_b32_e32 v30, v21, v23
+; GFX11-NEXT: v_perm_b32 v20, v20, v151, 0xc0c0004
+; GFX11-NEXT: v_lshlrev_b32_e32 v26, 16, v26
+; GFX11-NEXT: v_perm_b32 v17, v17, v150, 0xc0c0004
+; GFX11-NEXT: v_lshlrev_b32_e32 v33, 16, v32
+; GFX11-NEXT: v_or_b32_e32 v32, v21, v25
; GFX11-NEXT: v_or_b32_e32 v19, v19, v22
-; GFX11-NEXT: v_perm_b32 v22, v147, v148, 0xc0c0004
-; GFX11-NEXT: v_or_b32_e32 v20, v20, v24
+; GFX11-NEXT: v_perm_b32 v22, v148, v149, 0xc0c0004
+; GFX11-NEXT: v_or_b32_e32 v20, v20, v26
; GFX11-NEXT: v_or_b32_e32 v21, v17, v33
-; GFX11-NEXT: v_perm_b32 v17, v18, v146, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v18, v145, v67, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v24, v133, v66, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v23, v135, v144, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v17, v18, v147, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v18, v146, v69, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v26, v134, v66, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v25, v144, v145, 0xc0c0004
; GFX11-NEXT: v_lshlrev_b32_e32 v22, 16, v22
-; GFX11-NEXT: v_perm_b32 v15, v15, v134, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v15, v15, v135, 0xc0c0004
; GFX11-NEXT: v_lshlrev_b32_e32 v18, 16, v18
-; GFX11-NEXT: v_perm_b32 v13, v13, v131, 0xc0c0004
-; GFX11-NEXT: v_lshlrev_b32_e32 v24, 16, v24
-; GFX11-NEXT: v_perm_b32 v16, v16, v132, 0xc0c0004
-; GFX11-NEXT: v_lshlrev_b32_e32 v23, 16, v23
+; GFX11-NEXT: v_perm_b32 v13, v13, v132, 0xc0c0004
+; GFX11-NEXT: v_lshlrev_b32_e32 v26, 16, v26
+; GFX11-NEXT: v_perm_b32 v16, v16, v133, 0xc0c0004
+; GFX11-NEXT: v_lshlrev_b32_e32 v25, 16, v25
; GFX11-NEXT: v_or_b32_e32 v22, v17, v22
; GFX11-NEXT: v_or_b32_e32 v15, v15, v18
-; GFX11-NEXT: v_perm_b32 v18, v129, v130, 0xc0c0004
-; GFX11-NEXT: v_or_b32_e32 v17, v13, v24
-; GFX11-NEXT: v_perm_b32 v24, v115, v48, 0xc0c0004
-; GFX11-NEXT: v_or_b32_e32 v16, v16, v23
-; GFX11-NEXT: v_perm_b32 v13, v14, v128, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v14, v119, v49, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v23, v117, v118, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v18, v130, v131, 0xc0c0004
+; GFX11-NEXT: v_or_b32_e32 v17, v13, v26
+; GFX11-NEXT: v_perm_b32 v26, v116, v49, 0xc0c0004
+; GFX11-NEXT: v_or_b32_e32 v16, v16, v25
+; GFX11-NEXT: v_perm_b32 v13, v14, v129, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v14, v128, v50, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v25, v118, v119, 0xc0c0004
; GFX11-NEXT: v_lshlrev_b32_e32 v18, 16, v18
-; GFX11-NEXT: v_perm_b32 v9, v9, v113, 0xc0c0004
-; GFX11-NEXT: v_lshlrev_b32_e32 v24, 16, v24
-; GFX11-NEXT: v_perm_b32 v11, v11, v116, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v9, v9, v114, 0xc0c0004
+; GFX11-NEXT: v_lshlrev_b32_e32 v26, 16, v26
+; GFX11-NEXT: v_perm_b32 v11, v11, v117, 0xc0c0004
; GFX11-NEXT: v_lshlrev_b32_e32 v14, 16, v14
-; GFX11-NEXT: v_perm_b32 v12, v12, v114, 0xc0c0004
-; GFX11-NEXT: v_lshlrev_b32_e32 v23, 16, v23
+; GFX11-NEXT: v_perm_b32 v12, v12, v115, 0xc0c0004
+; GFX11-NEXT: v_lshlrev_b32_e32 v25, 16, v25
; GFX11-NEXT: v_or_b32_e32 v18, v13, v18
-; GFX11-NEXT: v_or_b32_e32 v13, v9, v24
-; GFX11-NEXT: v_perm_b32 v9, v10, v102, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v10, v101, v38, 0xc0c0004
+; GFX11-NEXT: v_or_b32_e32 v13, v9, v26
+; GFX11-NEXT: v_perm_b32 v9, v10, v103, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v10, v102, v48, 0xc0c0004
; GFX11-NEXT: v_or_b32_e32 v11, v11, v14
-; GFX11-NEXT: v_perm_b32 v14, v103, v112, 0xc0c0004
-; GFX11-NEXT: v_or_b32_e32 v12, v12, v23
-; GFX11-NEXT: v_perm_b32 v23, v99, v100, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v24, v97, v37, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v7, v7, v98, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v14, v112, v113, 0xc0c0004
+; GFX11-NEXT: v_or_b32_e32 v12, v12, v25
+; GFX11-NEXT: v_perm_b32 v25, v100, v101, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v26, v98, v35, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v7, v7, v99, 0xc0c0004
; GFX11-NEXT: v_lshlrev_b32_e32 v10, 16, v10
; GFX11-NEXT: v_lshlrev_b32_e32 v14, 16, v14
-; GFX11-NEXT: v_perm_b32 v8, v8, v96, 0xc0c0004
-; GFX11-NEXT: v_lshlrev_b32_e32 v23, 16, v23
-; GFX11-NEXT: v_perm_b32 v5, v5, v87, 0xc0c0004
-; GFX11-NEXT: v_lshlrev_b32_e32 v24, 16, v24
+; GFX11-NEXT: v_perm_b32 v8, v8, v97, 0xc0c0004
+; GFX11-NEXT: v_lshlrev_b32_e32 v25, 16, v25
+; GFX11-NEXT: v_perm_b32 v5, v5, v96, 0xc0c0004
+; GFX11-NEXT: v_lshlrev_b32_e32 v26, 16, v26
; GFX11-NEXT: v_or_b32_e32 v7, v7, v10
-; GFX11-NEXT: v_perm_b32 v10, v85, v86, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v10, v86, v87, 0xc0c0004
; GFX11-NEXT: v_or_b32_e32 v14, v9, v14
-; GFX11-NEXT: v_or_b32_e32 v8, v8, v23
-; GFX11-NEXT: v_or_b32_e32 v9, v5, v24
-; GFX11-NEXT: v_perm_b32 v5, v84, v31, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v23, v80, v81, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v24, v71, v25, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v25, v39, v50, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v6, v6, v83, 0xc0c0004
+; GFX11-NEXT: v_or_b32_e32 v8, v8, v25
+; GFX11-NEXT: v_or_b32_e32 v9, v5, v26
+; GFX11-NEXT: v_perm_b32 v5, v85, v27, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v25, v71, v82, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v23, v55, v23, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v26, v36, v39, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v6, v6, v84, 0xc0c0004
; GFX11-NEXT: v_lshlrev_b32_e32 v10, 16, v10
-; GFX11-NEXT: v_perm_b32 v3, v3, v82, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v3, v3, v83, 0xc0c0004
; GFX11-NEXT: v_lshlrev_b32_e32 v5, 16, v5
-; GFX11-NEXT: v_perm_b32 v4, v4, v55, 0xc0c0004
-; GFX11-NEXT: v_lshlrev_b32_e32 v23, 16, v23
-; GFX11-NEXT: v_perm_b32 v31, v1, v32, 0xc0c0004
-; GFX11-NEXT: v_lshlrev_b32_e32 v24, 16, v24
-; GFX11-NEXT: v_perm_b32 v26, v2, v26, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v4, v4, v51, 0xc0c0004
; GFX11-NEXT: v_lshlrev_b32_e32 v25, 16, v25
+; GFX11-NEXT: v_perm_b32 v27, v1, v28, 0xc0c0004
+; GFX11-NEXT: v_lshlrev_b32_e32 v23, 16, v23
+; GFX11-NEXT: v_perm_b32 v24, v2, v24, 0xc0c0004
+; GFX11-NEXT: v_lshlrev_b32_e32 v26, 16, v26
; GFX11-NEXT: v_or_b32_e32 v10, v6, v10
; GFX11-NEXT: v_or_b32_e32 v1, v3, v5
-; GFX11-NEXT: v_or_b32_e32 v2, v4, v23
-; GFX11-NEXT: v_or_b32_e32 v3, v31, v24
-; GFX11-NEXT: v_or_b32_e32 v4, v26, v25
+; GFX11-NEXT: v_or_b32_e32 v2, v4, v25
+; GFX11-NEXT: v_or_b32_e32 v3, v27, v23
+; GFX11-NEXT: v_or_b32_e32 v4, v24, v26
; GFX11-NEXT: s_clause 0x5
-; GFX11-NEXT: scratch_store_b128 v0, v[27:30], off offset:32
+; GFX11-NEXT: scratch_store_b128 v0, v[29:32], off offset:32
; GFX11-NEXT: scratch_store_b128 v0, v[19:22], off offset:48
; GFX11-NEXT: scratch_store_b128 v0, v[15:18], off offset:64
; GFX11-NEXT: scratch_store_b128 v0, v[11:14], off offset:80
@@ -189692,7 +189712,7 @@ define <64 x i16> @bitcast_v128i8_to_v64i16(<128 x i8> %a, i32 %b) #0 {
; VI-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:396 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:392 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v30, off, s[0:3], s32 offset:684 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:672 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:676 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:680 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:696 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:700 ; 4-byte Folded Spill
@@ -189714,14 +189734,14 @@ define <64 x i16> @bitcast_v128i8_to_v64i16(<128 x i8> %a, i32 %b) #0 {
; VI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:764 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:752 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:756 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:792 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:796 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:780 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:788 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:776 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:784 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:768 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:772 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:824 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:828 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:812 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:820 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:808 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:816 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:800 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:804 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:388
; VI-NEXT: buffer_load_ushort v1, off, s[0:3], s32
; VI-NEXT: buffer_load_ushort v49, off, s[0:3], s32 offset:116
@@ -189734,25 +189754,25 @@ define <64 x i16> @bitcast_v128i8_to_v64i16(<128 x i8> %a, i32 %b) #0 {
; VI-NEXT: buffer_load_ushort v40, off, s[0:3], s32 offset:88
; VI-NEXT: buffer_load_ushort v41, off, s[0:3], s32 offset:84
; VI-NEXT: buffer_load_ushort v46, off, s[0:3], s32 offset:80
-; VI-NEXT: buffer_load_ushort v47, off, s[0:3], s32 offset:76
+; VI-NEXT: buffer_load_ushort v63, off, s[0:3], s32 offset:76
; VI-NEXT: buffer_load_ushort v44, off, s[0:3], s32 offset:72
; VI-NEXT: buffer_load_ushort v45, off, s[0:3], s32 offset:68
-; VI-NEXT: buffer_load_ushort v32, off, s[0:3], s32 offset:64
-; VI-NEXT: buffer_load_ushort v57, off, s[0:3], s32 offset:60
-; VI-NEXT: buffer_load_ushort v56, off, s[0:3], s32 offset:56
-; VI-NEXT: buffer_load_ushort v63, off, s[0:3], s32 offset:52
-; VI-NEXT: buffer_load_ushort v34, off, s[0:3], s32 offset:48
-; VI-NEXT: buffer_load_ushort v59, off, s[0:3], s32 offset:44
-; VI-NEXT: buffer_load_ushort v58, off, s[0:3], s32 offset:40
-; VI-NEXT: buffer_load_ushort v33, off, s[0:3], s32 offset:36
-; VI-NEXT: buffer_load_ushort v36, off, s[0:3], s32 offset:32
-; VI-NEXT: buffer_load_ushort v37, off, s[0:3], s32 offset:28
-; VI-NEXT: buffer_load_ushort v60, off, s[0:3], s32 offset:24
-; VI-NEXT: buffer_load_ushort v35, off, s[0:3], s32 offset:20
+; VI-NEXT: buffer_load_ushort v34, off, s[0:3], s32 offset:64
+; VI-NEXT: buffer_load_ushort v35, off, s[0:3], s32 offset:60
+; VI-NEXT: buffer_load_ushort v32, off, s[0:3], s32 offset:56
+; VI-NEXT: buffer_load_ushort v33, off, s[0:3], s32 offset:52
+; VI-NEXT: buffer_load_ushort v38, off, s[0:3], s32 offset:48
+; VI-NEXT: buffer_load_ushort v47, off, s[0:3], s32 offset:44
+; VI-NEXT: buffer_load_ushort v36, off, s[0:3], s32 offset:40
+; VI-NEXT: buffer_load_ushort v37, off, s[0:3], s32 offset:36
+; VI-NEXT: buffer_load_ushort v58, off, s[0:3], s32 offset:32
+; VI-NEXT: buffer_load_ushort v59, off, s[0:3], s32 offset:28
+; VI-NEXT: buffer_load_ushort v56, off, s[0:3], s32 offset:24
+; VI-NEXT: buffer_load_ushort v57, off, s[0:3], s32 offset:20
; VI-NEXT: buffer_load_ushort v62, off, s[0:3], s32 offset:16
; VI-NEXT: buffer_load_ushort v39, off, s[0:3], s32 offset:12
-; VI-NEXT: buffer_load_ushort v61, off, s[0:3], s32 offset:8
-; VI-NEXT: buffer_load_ushort v38, off, s[0:3], s32 offset:4
+; VI-NEXT: buffer_load_ushort v60, off, s[0:3], s32 offset:8
+; VI-NEXT: buffer_load_ushort v61, off, s[0:3], s32 offset:4
; VI-NEXT: ; implicit-def: $vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31
; VI-NEXT: s_waitcnt vmcnt(14)
; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v0
@@ -189831,7 +189851,7 @@ define <64 x i16> @bitcast_v128i8_to_v64i16(<128 x i8> %a, i32 %b) #0 {
; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:492 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:204
; VI-NEXT: s_waitcnt vmcnt(2)
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:676 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:672 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v48, off, s[0:3], s32 offset:376
; VI-NEXT: buffer_load_ushort v1, off, s[0:3], s32 offset:372
; VI-NEXT: s_waitcnt vmcnt(3)
@@ -189901,49 +189921,49 @@ define <64 x i16> @bitcast_v128i8_to_v64i16(<128 x i8> %a, i32 %b) #0 {
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:592 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v1, off, s[0:3], s32 offset:328
; VI-NEXT: s_waitcnt vmcnt(2)
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:824 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:792 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:156
; VI-NEXT: s_waitcnt vmcnt(2)
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:544 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v1, off, s[0:3], s32 offset:324
; VI-NEXT: s_waitcnt vmcnt(2)
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:828 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:796 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:152
; VI-NEXT: s_waitcnt vmcnt(2)
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:560 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v1, off, s[0:3], s32 offset:320
; VI-NEXT: s_waitcnt vmcnt(2)
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:812 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:780 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:148
; VI-NEXT: s_waitcnt vmcnt(2)
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:540 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v1, off, s[0:3], s32 offset:316
; VI-NEXT: s_waitcnt vmcnt(2)
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:820 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:788 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:144
; VI-NEXT: s_waitcnt vmcnt(2)
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:556 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v1, off, s[0:3], s32 offset:312
; VI-NEXT: s_waitcnt vmcnt(2)
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:808 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:776 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:140
; VI-NEXT: s_waitcnt vmcnt(2)
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:548 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v1, off, s[0:3], s32 offset:308
; VI-NEXT: s_waitcnt vmcnt(2)
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:816 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:784 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:136
; VI-NEXT: s_waitcnt vmcnt(2)
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:528 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v1, off, s[0:3], s32 offset:304
; VI-NEXT: s_waitcnt vmcnt(2)
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:800 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:768 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:132
; VI-NEXT: s_waitcnt vmcnt(2)
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:508 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v1, off, s[0:3], s32 offset:300
; VI-NEXT: s_waitcnt vmcnt(2)
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:804 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:772 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v50, off, s[0:3], s32 offset:128
; VI-NEXT: buffer_load_ushort v51, off, s[0:3], s32 offset:124
; VI-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:120
@@ -189956,16 +189976,16 @@ define <64 x i16> @bitcast_v128i8_to_v64i16(<128 x i8> %a, i32 %b) #0 {
; VI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]
; VI-NEXT: s_cbranch_execz .LBB96_2
; VI-NEXT: ; %bb.1: ; %cmp.false
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:768 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:772 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:800 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:804 ; 4-byte Folded Reload
; VI-NEXT: s_mov_b32 s6, 0xc0c0004
-; VI-NEXT: v_perm_b32 v10, v37, v36, s6
+; VI-NEXT: v_perm_b32 v10, v59, v58, s6
; VI-NEXT: v_lshlrev_b32_e32 v10, 16, v10
-; VI-NEXT: v_perm_b32 v11, v59, v34, s6
+; VI-NEXT: v_perm_b32 v11, v47, v38, s6
; VI-NEXT: v_lshlrev_b32_e32 v11, 16, v11
-; VI-NEXT: v_perm_b32 v12, v57, v32, s6
+; VI-NEXT: v_perm_b32 v12, v35, v34, s6
; VI-NEXT: v_lshlrev_b32_e32 v12, 16, v12
-; VI-NEXT: v_perm_b32 v13, v47, v46, s6
+; VI-NEXT: v_perm_b32 v13, v63, v46, s6
; VI-NEXT: v_lshlrev_b32_e32 v13, 16, v13
; VI-NEXT: v_perm_b32 v14, v43, v42, s6
; VI-NEXT: v_lshlrev_b32_e32 v14, 16, v14
@@ -189973,12 +189993,13 @@ define <64 x i16> @bitcast_v128i8_to_v64i16(<128 x i8> %a, i32 %b) #0 {
; VI-NEXT: v_lshlrev_b32_e32 v15, 16, v15
; VI-NEXT: v_perm_b32 v16, v51, v50, s6
; VI-NEXT: v_lshlrev_b32_e32 v16, 16, v16
-; VI-NEXT: ; implicit-def: $vgpr37
-; VI-NEXT: ; implicit-def: $vgpr36
; VI-NEXT: ; implicit-def: $vgpr59
-; VI-NEXT: ; implicit-def: $vgpr34
-; VI-NEXT: ; implicit-def: $vgpr57
+; VI-NEXT: ; implicit-def: $vgpr58
; VI-NEXT: ; implicit-def: $vgpr47
+; VI-NEXT: ; implicit-def: $vgpr38
+; VI-NEXT: ; implicit-def: $vgpr35
+; VI-NEXT: ; implicit-def: $vgpr34
+; VI-NEXT: ; implicit-def: $vgpr63
; VI-NEXT: ; implicit-def: $vgpr46
; VI-NEXT: ; implicit-def: $vgpr43
; VI-NEXT: ; implicit-def: $vgpr42
@@ -189988,18 +190009,18 @@ define <64 x i16> @bitcast_v128i8_to_v64i16(<128 x i8> %a, i32 %b) #0 {
; VI-NEXT: ; implicit-def: $vgpr50
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v0, v1, v0, s6
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:776 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:784 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:808 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:816 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s6
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:780 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:788 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:812 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:820 ; 4-byte Folded Reload
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v0, v0, v1
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v2, v3, v2, s6
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:792 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:796 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:824 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:828 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v3, v4, v3, s6
; VI-NEXT: v_lshlrev_b32_e32 v3, 16, v3
@@ -190054,7 +190075,7 @@ define <64 x i16> @bitcast_v128i8_to_v64i16(<128 x i8> %a, i32 %b) #0 {
; VI-NEXT: v_perm_b32 v7, v8, v7, s6
; VI-NEXT: v_lshlrev_b32_e32 v7, 16, v7
; VI-NEXT: v_or_b32_e32 v6, v6, v7
-; VI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:672 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:676 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:680 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v7, v8, v7, s6
@@ -190065,14 +190086,14 @@ define <64 x i16> @bitcast_v128i8_to_v64i16(<128 x i8> %a, i32 %b) #0 {
; VI-NEXT: v_lshlrev_b32_e32 v8, 16, v8
; VI-NEXT: v_perm_b32 v9, v39, v62, s6
; VI-NEXT: v_or_b32_e32 v7, v7, v8
-; VI-NEXT: v_perm_b32 v8, v38, v61, s6
+; VI-NEXT: v_perm_b32 v8, v61, v60, s6
; VI-NEXT: v_lshlrev_b32_e32 v9, 16, v9
; VI-NEXT: v_or_b32_e32 v8, v8, v9
-; VI-NEXT: v_perm_b32 v9, v35, v60, s6
+; VI-NEXT: v_perm_b32 v9, v57, v56, s6
; VI-NEXT: v_or_b32_e32 v9, v9, v10
-; VI-NEXT: v_perm_b32 v10, v33, v58, s6
+; VI-NEXT: v_perm_b32 v10, v37, v36, s6
; VI-NEXT: v_or_b32_e32 v10, v10, v11
-; VI-NEXT: v_perm_b32 v11, v63, v56, s6
+; VI-NEXT: v_perm_b32 v11, v33, v32, s6
; VI-NEXT: v_or_b32_e32 v11, v11, v12
; VI-NEXT: v_perm_b32 v12, v45, v44, s6
; VI-NEXT: v_or_b32_e32 v12, v12, v13
@@ -190081,15 +190102,14 @@ define <64 x i16> @bitcast_v128i8_to_v64i16(<128 x i8> %a, i32 %b) #0 {
; VI-NEXT: v_perm_b32 v14, v53, v52, s6
; VI-NEXT: v_or_b32_e32 v14, v14, v15
; VI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:836 ; 4-byte Folded Reload
-; VI-NEXT: ; implicit-def: $vgpr38
; VI-NEXT: ; implicit-def: $vgpr61
+; VI-NEXT: ; implicit-def: $vgpr60
; VI-NEXT: ; implicit-def: $vgpr39
; VI-NEXT: ; implicit-def: $vgpr62
-; VI-NEXT: ; implicit-def: $vgpr35
-; VI-NEXT: ; implicit-def: $vgpr60
-; VI-NEXT: ; implicit-def: $vgpr58
-; VI-NEXT: ; implicit-def: $vgpr63
+; VI-NEXT: ; implicit-def: $vgpr57
; VI-NEXT: ; implicit-def: $vgpr56
+; VI-NEXT: ; implicit-def: $vgpr37
+; VI-NEXT: ; implicit-def: $vgpr36
; VI-NEXT: ; implicit-def: $vgpr45
; VI-NEXT: ; implicit-def: $vgpr44
; VI-NEXT: ; implicit-def: $vgpr41
@@ -190099,23 +190119,23 @@ define <64 x i16> @bitcast_v128i8_to_v64i16(<128 x i8> %a, i32 %b) #0 {
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v15, v49, v15, s6
; VI-NEXT: v_or_b32_e32 v15, v15, v16
-; VI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:800 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:804 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:768 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:772 ; 4-byte Folded Reload
; VI-NEXT: ; implicit-def: $vgpr49
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v16, v17, v16, s6
-; VI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:808 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:816 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:776 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:784 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v17, v18, v17, s6
-; VI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:812 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:820 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:780 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:788 ; 4-byte Folded Reload
; VI-NEXT: v_lshlrev_b32_e32 v17, 16, v17
; VI-NEXT: v_or_b32_e32 v16, v16, v17
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v18, v19, v18, s6
-; VI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:824 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:828 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:792 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:796 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v19, v20, v19, s6
; VI-NEXT: v_lshlrev_b32_e32 v19, 16, v19
@@ -190252,7 +190272,7 @@ define <64 x i16> @bitcast_v128i8_to_v64i16(<128 x i8> %a, i32 %b) #0 {
; VI-NEXT: v_or_b32_e32 v30, v30, v31
; VI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:660 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:668 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:676 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:672 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(2)
; VI-NEXT: v_perm_b32 v31, v31, v48, s6
; VI-NEXT: ; implicit-def: $vgpr48
@@ -190458,70 +190478,72 @@ define <64 x i16> @bitcast_v128i8_to_v64i16(<128 x i8> %a, i32 %b) #0 {
; VI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]
; VI-NEXT: s_cbranch_execz .LBB96_4
; VI-NEXT: ; %bb.3: ; %cmp.true
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:796 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:792 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:828 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:824 ; 4-byte Folded Reload
; VI-NEXT: v_mov_b32_e32 v18, 0x300
-; VI-NEXT: v_lshlrev_b16_e32 v10, 8, v61
-; VI-NEXT: v_lshlrev_b16_e32 v11, 8, v60
-; VI-NEXT: v_lshlrev_b16_e32 v12, 8, v58
-; VI-NEXT: v_lshlrev_b16_e32 v13, 8, v56
+; VI-NEXT: v_lshlrev_b16_e32 v10, 8, v60
+; VI-NEXT: v_lshlrev_b16_e32 v11, 8, v56
+; VI-NEXT: v_lshlrev_b16_e32 v12, 8, v36
+; VI-NEXT: v_lshlrev_b16_e32 v13, 8, v32
; VI-NEXT: v_lshlrev_b16_e32 v14, 8, v44
; VI-NEXT: v_lshlrev_b16_e32 v15, 8, v40
; VI-NEXT: v_lshlrev_b16_e32 v16, 8, v52
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:780 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:776 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:768 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:812 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:808 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:800 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:736 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:720 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:704 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:836 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:812 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:780 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:688 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:808 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:800 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:672 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:776 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:768 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:676 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:616 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:516 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(14)
; VI-NEXT: v_add_u16_e32 v0, 3, v0
-; VI-NEXT: s_waitcnt vmcnt(13)
; VI-NEXT: v_lshlrev_b16_e32 v1, 8, v1
; VI-NEXT: v_or_b32_sdwa v0, v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:788 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(13)
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:820 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(14)
; VI-NEXT: v_lshlrev_b16_e32 v2, 8, v2
-; VI-NEXT: s_waitcnt vmcnt(12)
+; VI-NEXT: s_waitcnt vmcnt(13)
; VI-NEXT: v_lshlrev_b16_e32 v3, 8, v3
-; VI-NEXT: s_waitcnt vmcnt(11)
+; VI-NEXT: s_waitcnt vmcnt(12)
; VI-NEXT: v_lshlrev_b16_e32 v4, 8, v4
-; VI-NEXT: s_waitcnt vmcnt(10)
+; VI-NEXT: s_waitcnt vmcnt(11)
; VI-NEXT: v_lshlrev_b16_e32 v5, 8, v5
-; VI-NEXT: s_waitcnt vmcnt(9)
+; VI-NEXT: s_waitcnt vmcnt(10)
; VI-NEXT: v_lshlrev_b16_e32 v6, 8, v6
-; VI-NEXT: s_waitcnt vmcnt(8)
+; VI-NEXT: s_waitcnt vmcnt(9)
; VI-NEXT: v_lshlrev_b16_e32 v7, 8, v7
-; VI-NEXT: s_waitcnt vmcnt(7)
+; VI-NEXT: s_waitcnt vmcnt(8)
; VI-NEXT: v_lshlrev_b16_e32 v17, 8, v17
-; VI-NEXT: s_waitcnt vmcnt(6)
+; VI-NEXT: s_waitcnt vmcnt(7)
; VI-NEXT: v_lshlrev_b16_e32 v19, 8, v19
-; VI-NEXT: s_waitcnt vmcnt(5)
+; VI-NEXT: s_waitcnt vmcnt(6)
; VI-NEXT: v_lshlrev_b16_e32 v8, 8, v8
-; VI-NEXT: s_waitcnt vmcnt(4)
+; VI-NEXT: s_waitcnt vmcnt(5)
; VI-NEXT: v_lshlrev_b16_e32 v20, 8, v20
-; VI-NEXT: s_waitcnt vmcnt(3)
+; VI-NEXT: s_waitcnt vmcnt(4)
; VI-NEXT: v_lshlrev_b16_e32 v21, 8, v21
-; VI-NEXT: s_waitcnt vmcnt(2)
+; VI-NEXT: s_waitcnt vmcnt(3)
; VI-NEXT: v_lshlrev_b16_e32 v9, 8, v9
-; VI-NEXT: s_waitcnt vmcnt(1)
+; VI-NEXT: s_waitcnt vmcnt(2)
; VI-NEXT: v_lshlrev_b16_e32 v22, 8, v22
+; VI-NEXT: s_waitcnt vmcnt(1)
+; VI-NEXT: v_lshlrev_b16_e32 v32, 8, v32
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u16_e32 v1, 3, v1
; VI-NEXT: v_or_b32_sdwa v1, v2, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:784 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:816 ; 4-byte Folded Reload
; VI-NEXT: v_add_u16_e32 v1, 0x300, v1
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u16_e32 v2, 3, v2
; VI-NEXT: v_or_b32_sdwa v2, v3, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:772 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:804 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u16_e32 v3, 3, v3
; VI-NEXT: v_or_b32_sdwa v3, v4, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
@@ -190620,36 +190642,36 @@ define <64 x i16> @bitcast_v128i8_to_v64i16(<128 x i8> %a, i32 %b) #0 {
; VI-NEXT: v_add_u16_e32 v8, 3, v39
; VI-NEXT: v_lshlrev_b16_e32 v9, 8, v62
; VI-NEXT: v_or_b32_sdwa v8, v9, v8 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; VI-NEXT: v_add_u16_e32 v9, 3, v38
+; VI-NEXT: v_add_u16_e32 v9, 3, v61
; VI-NEXT: v_or_b32_sdwa v9, v10, v9 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; VI-NEXT: v_add_u16_sdwa v8, v8, v18 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
; VI-NEXT: v_add_u16_e32 v9, 0x300, v9
; VI-NEXT: v_or_b32_e32 v8, v9, v8
-; VI-NEXT: v_add_u16_e32 v9, 3, v37
-; VI-NEXT: v_lshlrev_b16_e32 v10, 8, v36
+; VI-NEXT: v_add_u16_e32 v9, 3, v59
+; VI-NEXT: v_lshlrev_b16_e32 v10, 8, v58
; VI-NEXT: v_or_b32_sdwa v9, v10, v9 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; VI-NEXT: v_add_u16_e32 v10, 3, v35
+; VI-NEXT: v_add_u16_e32 v10, 3, v57
; VI-NEXT: v_or_b32_sdwa v10, v11, v10 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; VI-NEXT: v_add_u16_sdwa v9, v9, v18 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
; VI-NEXT: v_add_u16_e32 v10, 0x300, v10
; VI-NEXT: v_or_b32_e32 v9, v10, v9
-; VI-NEXT: v_add_u16_e32 v10, 3, v59
-; VI-NEXT: v_lshlrev_b16_e32 v11, 8, v34
+; VI-NEXT: v_add_u16_e32 v10, 3, v47
+; VI-NEXT: v_lshlrev_b16_e32 v11, 8, v38
; VI-NEXT: v_or_b32_sdwa v10, v11, v10 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; VI-NEXT: v_add_u16_e32 v11, 3, v33
+; VI-NEXT: v_add_u16_e32 v11, 3, v37
; VI-NEXT: v_or_b32_sdwa v11, v12, v11 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; VI-NEXT: v_add_u16_sdwa v10, v10, v18 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
; VI-NEXT: v_add_u16_e32 v11, 0x300, v11
; VI-NEXT: v_or_b32_e32 v10, v11, v10
-; VI-NEXT: v_add_u16_e32 v11, 3, v57
-; VI-NEXT: v_lshlrev_b16_e32 v12, 8, v32
+; VI-NEXT: v_add_u16_e32 v11, 3, v35
+; VI-NEXT: v_lshlrev_b16_e32 v12, 8, v34
; VI-NEXT: v_or_b32_sdwa v11, v12, v11 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; VI-NEXT: v_add_u16_e32 v12, 3, v63
+; VI-NEXT: v_add_u16_e32 v12, 3, v33
; VI-NEXT: v_or_b32_sdwa v12, v13, v12 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; VI-NEXT: v_add_u16_sdwa v11, v11, v18 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
; VI-NEXT: v_add_u16_e32 v12, 0x300, v12
; VI-NEXT: v_or_b32_e32 v11, v12, v11
-; VI-NEXT: v_add_u16_e32 v12, 3, v47
+; VI-NEXT: v_add_u16_e32 v12, 3, v63
; VI-NEXT: v_lshlrev_b16_e32 v13, 8, v46
; VI-NEXT: v_or_b32_sdwa v12, v13, v12 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; VI-NEXT: v_add_u16_e32 v13, 3, v45
@@ -190681,29 +190703,26 @@ define <64 x i16> @bitcast_v128i8_to_v64i16(<128 x i8> %a, i32 %b) #0 {
; VI-NEXT: v_add_u16_sdwa v15, v15, v18 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
; VI-NEXT: v_add_u16_e32 v16, 0x300, v16
; VI-NEXT: v_or_b32_e32 v15, v16, v15
-; VI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:828 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:824 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:516 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:796 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:792 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:492 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(3)
-; VI-NEXT: v_add_u16_e32 v16, 3, v16
; VI-NEXT: s_waitcnt vmcnt(2)
+; VI-NEXT: v_add_u16_e32 v16, 3, v16
+; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_lshlrev_b16_e32 v17, 8, v17
; VI-NEXT: v_or_b32_sdwa v16, v17, v16 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; VI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:820 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(2)
-; VI-NEXT: v_lshlrev_b16_e32 v32, 8, v32
+; VI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:788 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_lshlrev_b16_e32 v34, 8, v34
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u16_e32 v17, 3, v17
; VI-NEXT: v_or_b32_sdwa v17, v19, v17 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; VI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:816 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:784 ; 4-byte Folded Reload
; VI-NEXT: v_add_u16_e32 v17, 0x300, v17
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u16_e32 v19, 3, v19
; VI-NEXT: v_or_b32_sdwa v19, v20, v19 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; VI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:804 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:772 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u16_e32 v20, 3, v20
; VI-NEXT: v_or_b32_sdwa v20, v21, v20 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
@@ -190711,7 +190730,7 @@ define <64 x i16> @bitcast_v128i8_to_v64i16(<128 x i8> %a, i32 %b) #0 {
; VI-NEXT: v_add_u16_sdwa v16, v19, v18 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
; VI-NEXT: v_add_u16_e32 v19, 0x300, v20
; VI-NEXT: v_or_b32_e32 v16, v19, v16
-; VI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:676 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:672 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:668 ; 4-byte Folded Reload
; VI-NEXT: v_or_b32_e32 v17, v17, v21
; VI-NEXT: v_lshlrev_b16_e32 v21, 8, v48
@@ -191000,16 +191019,16 @@ define <64 x i16> @bitcast_v128i8_to_v64i16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:528 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:532 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:536 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:540 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:544 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:556 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:564 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:572 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:576 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:548 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:552 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:560 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:568 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:548 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:552 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:588 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:596 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:604 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:608 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:580 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:584 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:592 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:600 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:388
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_ushort v1, off, s[0:3], s32 offset:8
@@ -191031,14 +191050,14 @@ define <64 x i16> @bitcast_v128i8_to_v64i16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: buffer_load_ushort v17, off, s[0:3], s32 offset:304
; GFX9-NEXT: buffer_load_ushort v18, off, s[0:3], s32 offset:320
; GFX9-NEXT: buffer_load_ushort v19, off, s[0:3], s32 offset:108
-; GFX9-NEXT: buffer_load_ushort v46, off, s[0:3], s32 offset:160
-; GFX9-NEXT: buffer_load_ushort v63, off, s[0:3], s32 offset:156
-; GFX9-NEXT: buffer_load_ushort v57, off, s[0:3], s32 offset:152
-; GFX9-NEXT: buffer_load_ushort v58, off, s[0:3], s32 offset:148
-; GFX9-NEXT: buffer_load_ushort v42, off, s[0:3], s32 offset:144
-; GFX9-NEXT: buffer_load_ushort v43, off, s[0:3], s32 offset:140
-; GFX9-NEXT: buffer_load_ushort v56, off, s[0:3], s32 offset:136
-; GFX9-NEXT: buffer_load_ushort v32, off, s[0:3], s32 offset:132
+; GFX9-NEXT: buffer_load_ushort v63, off, s[0:3], s32 offset:160
+; GFX9-NEXT: buffer_load_ushort v42, off, s[0:3], s32 offset:156
+; GFX9-NEXT: buffer_load_ushort v34, off, s[0:3], s32 offset:152
+; GFX9-NEXT: buffer_load_ushort v44, off, s[0:3], s32 offset:148
+; GFX9-NEXT: buffer_load_ushort v40, off, s[0:3], s32 offset:144
+; GFX9-NEXT: buffer_load_ushort v32, off, s[0:3], s32 offset:140
+; GFX9-NEXT: buffer_load_ushort v41, off, s[0:3], s32 offset:136
+; GFX9-NEXT: buffer_load_ushort v33, off, s[0:3], s32 offset:132
; GFX9-NEXT: s_waitcnt vmcnt(27)
; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v0
; GFX9-NEXT: s_waitcnt vmcnt(26)
@@ -191050,27 +191069,27 @@ define <64 x i16> @bitcast_v128i8_to_v64i16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: s_waitcnt vmcnt(23)
; GFX9-NEXT: v_lshlrev_b16_e32 v39, 8, v4
; GFX9-NEXT: s_waitcnt vmcnt(22)
-; GFX9-NEXT: v_lshlrev_b16_e32 v38, 8, v5
+; GFX9-NEXT: v_lshlrev_b16_e32 v62, 8, v5
; GFX9-NEXT: s_waitcnt vmcnt(21)
-; GFX9-NEXT: v_lshlrev_b16_e32 v34, 8, v6
+; GFX9-NEXT: v_lshlrev_b16_e32 v57, 8, v6
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:292
; GFX9-NEXT: s_waitcnt vmcnt(9)
-; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:664 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:704 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v19, off, s[0:3], s32 offset:100
; GFX9-NEXT: s_waitcnt vmcnt(2)
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:600 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:568 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:300
; GFX9-NEXT: s_waitcnt vmcnt(2)
-; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:668 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:708 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v19, off, s[0:3], s32 offset:92
; GFX9-NEXT: s_waitcnt vmcnt(2)
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:596 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:564 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:316
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:604 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:572 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:312
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:608 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:576 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshlrev_b16_e32 v0, 8, v7
; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:836 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshlrev_b16_e32 v0, 8, v8
@@ -191102,16 +191121,16 @@ define <64 x i16> @bitcast_v128i8_to_v64i16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: buffer_load_ushort v3, off, s[0:3], s32 offset:324
; GFX9-NEXT: s_waitcnt vmcnt(3)
; GFX9-NEXT: v_lshlrev_b16_e32 v0, 8, v0
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:684 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:676 ; 4-byte Folded Spill
; GFX9-NEXT: s_waitcnt vmcnt(3)
; GFX9-NEXT: v_lshlrev_b16_e32 v0, 8, v1
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:624 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v3, off, s[0:3], s32 offset:332
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:672 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:664 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshlrev_b16_e32 v0, 8, v2
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:680 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:672 ; 4-byte Folded Spill
; GFX9-NEXT: s_waitcnt vmcnt(2)
; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:632 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v3, off, s[0:3], s32 offset:348
@@ -191134,48 +191153,49 @@ define <64 x i16> @bitcast_v128i8_to_v64i16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: s_waitcnt vmcnt(3)
; GFX9-NEXT: v_lshlrev_b16_e32 v0, 8, v2
; GFX9-NEXT: s_waitcnt vmcnt(2)
-; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:700 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:688 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v3, off, s[0:3], s32 offset:364
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:756 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:116
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:720 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:712 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v19, off, s[0:3], s32 offset:260
; GFX9-NEXT: s_waitcnt vmcnt(4)
-; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:692 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:680 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v3, off, s[0:3], s32 offset:380
; GFX9-NEXT: s_waitcnt vmcnt(4)
; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:824 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:276
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:688 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:720 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:308
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:696 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:684 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:340
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:712 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_ushort v36, off, s[0:3], s32 offset:88
-; GFX9-NEXT: buffer_load_ushort v37, off, s[0:3], s32 offset:84
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:700 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v60, off, s[0:3], s32 offset:88
+; GFX9-NEXT: buffer_load_ushort v61, off, s[0:3], s32 offset:84
; GFX9-NEXT: buffer_load_ushort v48, off, s[0:3], s32 offset:76
; GFX9-NEXT: buffer_load_ushort v50, off, s[0:3], s32 offset:68
; GFX9-NEXT: buffer_load_ushort v52, off, s[0:3], s32 offset:60
; GFX9-NEXT: buffer_load_ushort v54, off, s[0:3], s32 offset:56
; GFX9-NEXT: buffer_load_ushort v55, off, s[0:3], s32 offset:52
-; GFX9-NEXT: buffer_load_ushort v40, off, s[0:3], s32 offset:44
-; GFX9-NEXT: buffer_load_ushort v41, off, s[0:3], s32 offset:36
-; GFX9-NEXT: buffer_load_ushort v44, off, s[0:3], s32 offset:28
+; GFX9-NEXT: buffer_load_ushort v43, off, s[0:3], s32 offset:44
+; GFX9-NEXT: buffer_load_ushort v35, off, s[0:3], s32 offset:36
+; GFX9-NEXT: buffer_load_ushort v36, off, s[0:3], s32 offset:28
; GFX9-NEXT: buffer_load_ushort v45, off, s[0:3], s32 offset:24
-; GFX9-NEXT: buffer_load_ushort v47, off, s[0:3], s32 offset:20
-; GFX9-NEXT: buffer_load_ushort v59, off, s[0:3], s32 offset:12
-; GFX9-NEXT: buffer_load_ushort v60, off, s[0:3], s32 offset:4
-; GFX9-NEXT: buffer_load_ushort v62, off, s[0:3], s32 offset:124
-; GFX9-NEXT: buffer_load_ushort v35, off, s[0:3], s32 offset:120
+; GFX9-NEXT: buffer_load_ushort v46, off, s[0:3], s32 offset:20
+; GFX9-NEXT: buffer_load_ushort v37, off, s[0:3], s32 offset:12
+; GFX9-NEXT: buffer_load_ushort v38, off, s[0:3], s32 offset:4
+; GFX9-NEXT: buffer_load_ushort v58, off, s[0:3], s32 offset:124
+; GFX9-NEXT: buffer_load_ushort v59, off, s[0:3], s32 offset:120
+; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:372
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:744 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_ushort v33, off, s[0:3], s32
+; GFX9-NEXT: buffer_load_ushort v47, off, s[0:3], s32
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:256
; GFX9-NEXT: s_waitcnt vmcnt(0)
@@ -191219,7 +191239,7 @@ define <64 x i16> @bitcast_v128i8_to_v64i16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:204
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:740 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_ushort v61, off, s[0:3], s32 offset:200
+; GFX9-NEXT: buffer_load_ushort v56, off, s[0:3], s32 offset:200
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:196
; GFX9-NEXT: s_waitcnt vmcnt(0)
@@ -191238,85 +191258,84 @@ define <64 x i16> @bitcast_v128i8_to_v64i16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:748 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:176
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:676 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:668 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:172
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:704 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:692 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v3, off, s[0:3], s32 offset:376
; GFX9-NEXT: s_waitcnt vmcnt(2)
; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:652 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:168
; GFX9-NEXT: s_waitcnt vmcnt(2)
-; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:708 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:696 ; 4-byte Folded Spill
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:656 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:164
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:584 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:544 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v19, off, s[0:3], s32 offset:268
; GFX9-NEXT: s_waitcnt vmcnt(2)
; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:660 ; 4-byte Folded Spill
; GFX9-NEXT: ; implicit-def: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15
; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:580 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:540 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v19, off, s[0:3], s32 offset:284
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:588 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:556 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v19, off, s[0:3], s32 offset:280
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:592 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:560 ; 4-byte Folded Spill
; GFX9-NEXT: ; implicit-def: $vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31
; GFX9-NEXT: s_and_saveexec_b64 s[4:5], vcc
; GFX9-NEXT: s_xor_b64 s[4:5], exec, s[4:5]
; GFX9-NEXT: s_cbranch_execz .LBB96_2
; GFX9-NEXT: ; %bb.1: ; %cmp.false
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:560 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:568 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:592 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:600 ; 4-byte Folded Reload
; GFX9-NEXT: s_mov_b32 s6, 0xc0c0004
; GFX9-NEXT: s_mov_b32 s7, 0x5040100
-; GFX9-NEXT: v_or_b32_sdwa v9, v59, v51 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
-; GFX9-NEXT: v_perm_b32 v10, v47, v45, s6
-; GFX9-NEXT: v_or_b32_sdwa v11, v40, v38 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+; GFX9-NEXT: v_or_b32_sdwa v9, v37, v51 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+; GFX9-NEXT: v_perm_b32 v10, v46, v45, s6
+; GFX9-NEXT: v_or_b32_sdwa v11, v43, v62 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
; GFX9-NEXT: v_perm_b32 v12, v55, v54, s6
-; GFX9-NEXT: v_perm_b32 v17, v43, v42, s6
-; GFX9-NEXT: v_perm_b32 v18, v58, v57, s6
-; GFX9-NEXT: v_perm_b32 v19, v63, v46, s6
-; GFX9-NEXT: ; implicit-def: $vgpr59
-; GFX9-NEXT: ; implicit-def: $vgpr47
+; GFX9-NEXT: v_perm_b32 v17, v32, v40, s6
+; GFX9-NEXT: v_perm_b32 v18, v44, v34, s6
+; GFX9-NEXT: v_perm_b32 v19, v42, v63, s6
+; GFX9-NEXT: ; implicit-def: $vgpr37
+; GFX9-NEXT: ; implicit-def: $vgpr46
; GFX9-NEXT: ; implicit-def: $vgpr45
-; GFX9-NEXT: ; implicit-def: $vgpr40
+; GFX9-NEXT: ; implicit-def: $vgpr43
; GFX9-NEXT: ; implicit-def: $vgpr55
; GFX9-NEXT: ; implicit-def: $vgpr54
-; GFX9-NEXT: ; implicit-def: $vgpr43
+; GFX9-NEXT: ; implicit-def: $vgpr40
+; GFX9-NEXT: ; implicit-def: $vgpr44
+; GFX9-NEXT: ; implicit-def: $vgpr34
; GFX9-NEXT: ; implicit-def: $vgpr42
-; GFX9-NEXT: ; implicit-def: $vgpr58
-; GFX9-NEXT: ; implicit-def: $vgpr57
; GFX9-NEXT: ; implicit-def: $vgpr63
-; GFX9-NEXT: ; implicit-def: $vgpr46
; GFX9-NEXT: ; implicit-def: $vgpr51
-; GFX9-NEXT: ; implicit-def: $vgpr38
+; GFX9-NEXT: ; implicit-def: $vgpr62
; GFX9-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:832 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_perm_b32 v0, v1, v0, s6
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:548 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:552 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:580 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:584 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(2)
; GFX9-NEXT: v_or_b32_sdwa v13, v48, v13 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
; GFX9-NEXT: ; implicit-def: $vgpr48
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v2, v1, s6
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:572 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:576 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:604 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:608 ; 4-byte Folded Reload
; GFX9-NEXT: v_perm_b32 v0, v1, v0, s7
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v2, v3, v2, s6
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:556 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:564 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:588 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:596 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v3, v4, v3, s6
; GFX9-NEXT: v_perm_b32 v1, v3, v2, s7
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:540 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:544 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:548 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:552 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v2, v3, v2, s6
; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:532 ; 4-byte Folded Reload
@@ -191366,124 +191385,123 @@ define <64 x i16> @bitcast_v128i8_to_v64i16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: v_perm_b32 v7, v8, v7, s6
; GFX9-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:456 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v8, v8, v33, s6
+; GFX9-NEXT: v_perm_b32 v8, v8, v47, s6
; GFX9-NEXT: v_perm_b32 v7, v8, v7, s7
-; GFX9-NEXT: v_or_b32_sdwa v8, v60, v53 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+; GFX9-NEXT: v_or_b32_sdwa v8, v38, v53 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
; GFX9-NEXT: v_perm_b32 v8, v9, v8, s7
-; GFX9-NEXT: v_or_b32_sdwa v9, v44, v49 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+; GFX9-NEXT: v_or_b32_sdwa v9, v36, v49 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
; GFX9-NEXT: v_perm_b32 v9, v9, v10, s7
-; GFX9-NEXT: v_or_b32_sdwa v10, v41, v39 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+; GFX9-NEXT: v_or_b32_sdwa v10, v35, v39 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
; GFX9-NEXT: v_perm_b32 v10, v11, v10, s7
-; GFX9-NEXT: v_or_b32_sdwa v11, v52, v34 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+; GFX9-NEXT: v_or_b32_sdwa v11, v52, v57 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
; GFX9-NEXT: v_perm_b32 v11, v11, v12, s7
; GFX9-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:836 ; 4-byte Folded Reload
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr60
-; GFX9-NEXT: ; implicit-def: $vgpr44
-; GFX9-NEXT: ; implicit-def: $vgpr41
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr47
+; GFX9-NEXT: ; implicit-def: $vgpr38
+; GFX9-NEXT: ; implicit-def: $vgpr36
+; GFX9-NEXT: ; implicit-def: $vgpr35
; GFX9-NEXT: ; implicit-def: $vgpr52
-; GFX9-NEXT: ; kill: killed $vgpr34
+; GFX9-NEXT: ; kill: killed $vgpr39
; GFX9-NEXT: ; implicit-def: $vgpr53
; GFX9-NEXT: ; implicit-def: $vgpr49
; GFX9-NEXT: ; implicit-def: $vgpr39
-; GFX9-NEXT: ; implicit-def: $vgpr34
+; GFX9-NEXT: ; implicit-def: $vgpr57
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v12, v50, v12 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
; GFX9-NEXT: v_perm_b32 v12, v13, v12, s7
-; GFX9-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:720 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:712 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:828 ; 4-byte Folded Reload
; GFX9-NEXT: ; implicit-def: $vgpr50
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v13, v13, v14 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
-; GFX9-NEXT: v_perm_b32 v14, v37, v36, s6
+; GFX9-NEXT: v_perm_b32 v14, v61, v60, s6
; GFX9-NEXT: v_perm_b32 v13, v13, v14, s7
-; GFX9-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:668 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:708 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:820 ; 4-byte Folded Reload
-; GFX9-NEXT: ; implicit-def: $vgpr37
-; GFX9-NEXT: ; implicit-def: $vgpr36
+; GFX9-NEXT: ; implicit-def: $vgpr61
+; GFX9-NEXT: ; implicit-def: $vgpr60
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v14, v14, v15 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:664 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:704 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:816 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v15, v15, v16 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
@@ -191491,22 +191509,22 @@ define <64 x i16> @bitcast_v128i8_to_v64i16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:812 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:824 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_or_b32_sdwa v15, v62, v15 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+; GFX9-NEXT: v_or_b32_sdwa v15, v58, v15 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v16, v16, v35, s6
+; GFX9-NEXT: v_perm_b32 v16, v16, v59, s6
; GFX9-NEXT: v_perm_b32 v15, v15, v16, s7
-; GFX9-NEXT: v_perm_b32 v16, v32, v56, s6
+; GFX9-NEXT: v_perm_b32 v16, v33, v41, s6
; GFX9-NEXT: v_perm_b32 v16, v17, v16, s7
; GFX9-NEXT: v_perm_b32 v17, v19, v18, s7
; GFX9-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:656 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:660 ; 4-byte Folded Reload
-; GFX9-NEXT: ; implicit-def: $vgpr35
-; GFX9-NEXT: ; implicit-def: $vgpr62
-; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr59
+; GFX9-NEXT: ; implicit-def: $vgpr58
+; GFX9-NEXT: ; implicit-def: $vgpr41
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v18, v19, v18, s6
; GFX9-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:652 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:676 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:668 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v19, v19, v20, s6
; GFX9-NEXT: v_perm_b32 v18, v19, v18, s7
@@ -191523,55 +191541,55 @@ define <64 x i16> @bitcast_v128i8_to_v64i16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:732 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:740 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(2)
-; GFX9-NEXT: v_perm_b32 v20, v20, v61, s6
+; GFX9-NEXT: v_perm_b32 v20, v20, v56, s6
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v21, v22, v21, s6
; GFX9-NEXT: v_perm_b32 v20, v21, v20, s7
; GFX9-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:776 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:784 ; 4-byte Folded Reload
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; kill: killed $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr61
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; kill: killed $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr56
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v21, v22, v21, s6
; GFX9-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:752 ; 4-byte Folded Reload
@@ -191597,74 +191615,74 @@ define <64 x i16> @bitcast_v128i8_to_v64i16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v24, v25, v24, s6
; GFX9-NEXT: v_perm_b32 v23, v24, v23, s7
-; GFX9-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:584 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:544 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:620 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v24, v24, v25 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:580 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:540 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:612 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v25, v25, v26 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
; GFX9-NEXT: v_perm_b32 v24, v25, v24, s7
-; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:588 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:556 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:616 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v25, v25, v26 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:592 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:688 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:560 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:720 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v26, v27, v26, s6
; GFX9-NEXT: v_perm_b32 v25, v25, v26, s7
-; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:600 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:568 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:648 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v26, v26, v27 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:596 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:564 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:628 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v27, v27, v28 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
; GFX9-NEXT: v_perm_b32 v26, v27, v26, s7
-; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:604 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:572 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:644 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v27, v27, v28 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:608 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:696 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:576 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:684 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v28, v29, v28, s6
; GFX9-NEXT: v_perm_b32 v27, v27, v28, s7
; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:624 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:684 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:676 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v28, v28, v29 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
; GFX9-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:632 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:672 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:664 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v29, v29, v30 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
; GFX9-NEXT: v_perm_b32 v28, v29, v28, s7
; GFX9-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:636 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:680 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:672 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v29, v29, v30 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
; GFX9-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:640 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:712 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:700 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v30, v31, v30, s6
; GFX9-NEXT: v_perm_b32 v29, v29, v30, s7
-; GFX9-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:700 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:688 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:760 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v30, v30, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:692 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:680 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:716 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v31, v31, v32 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
; GFX9-NEXT: v_perm_b32 v30, v31, v30, s7
-; GFX9-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:704 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:692 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:756 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v31, v31, v32 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:708 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:696 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:744 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v32, v33, v32, s6
@@ -191736,29 +191754,23 @@ define <64 x i16> @bitcast_v128i8_to_v64i16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: ; implicit-def: $vgpr32
; GFX9-NEXT: ; kill: killed $vgpr32
; GFX9-NEXT: ; implicit-def: $vgpr32
-; GFX9-NEXT: ; implicit-def: $vgpr33
; GFX9-NEXT: ; kill: killed $vgpr32
; GFX9-NEXT: ; implicit-def: $vgpr32
+; GFX9-NEXT: ; kill: killed $vgpr32
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: ; implicit-def: $vgpr32
; GFX9-NEXT: .LBB96_2: ; %Flow
; GFX9-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]
; GFX9-NEXT: s_cbranch_execz .LBB96_4
; GFX9-NEXT: ; %bb.3: ; %cmp.true
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:576 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:572 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:556 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:560 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:608 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:604 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:588 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:592 ; 4-byte Folded Reload
; GFX9-NEXT: s_mov_b32 s6, 0x5040100
-; GFX9-NEXT: v_lshlrev_b16_e32 v9, 8, v33
-; GFX9-NEXT: v_lshlrev_b16_e32 v10, 8, v45
-; GFX9-NEXT: v_add_u16_e32 v11, 3, v40
-; GFX9-NEXT: v_or_b32_sdwa v11, v38, v11 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: v_add_u16_e32 v11, 0x300, v11
-; GFX9-NEXT: v_lshlrev_b16_e32 v12, 8, v54
-; GFX9-NEXT: v_lshlrev_b16_e32 v18, 8, v46
-; GFX9-NEXT: v_lshlrev_b16_e32 v19, 8, v56
-; GFX9-NEXT: v_lshlrev_b16_e32 v20, 8, v42
; GFX9-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:836 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:548 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:576 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:580 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:832 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:828 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:816 ; 4-byte Folded Reload
@@ -191767,47 +191779,55 @@ define <64 x i16> @bitcast_v128i8_to_v64i16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:760 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:716 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:500 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:684 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:680 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:676 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:672 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:484 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:672 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:664 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:644 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:468 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:640 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:608 ; 4-byte Folded Reload
+; GFX9-NEXT: v_lshlrev_b16_e32 v9, 8, v47
+; GFX9-NEXT: v_lshlrev_b16_e32 v10, 8, v45
+; GFX9-NEXT: v_add_u16_e32 v11, 3, v43
+; GFX9-NEXT: v_or_b32_sdwa v11, v62, v11 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
+; GFX9-NEXT: v_add_u16_e32 v11, 0x300, v11
+; GFX9-NEXT: v_lshlrev_b16_e32 v12, 8, v54
+; GFX9-NEXT: v_lshlrev_b16_e32 v18, 8, v63
+; GFX9-NEXT: v_lshlrev_b16_e32 v19, 8, v41
+; GFX9-NEXT: v_lshlrev_b16_e32 v20, 8, v40
; GFX9-NEXT: s_waitcnt vmcnt(21)
; GFX9-NEXT: v_add_u16_e32 v0, 3, v0
; GFX9-NEXT: s_waitcnt vmcnt(20)
; GFX9-NEXT: v_lshlrev_b16_e32 v1, 8, v1
; GFX9-NEXT: v_or_b32_sdwa v0, v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:564 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:596 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(20)
; GFX9-NEXT: v_lshlrev_b16_e32 v2, 8, v2
; GFX9-NEXT: s_waitcnt vmcnt(19)
; GFX9-NEXT: v_lshlrev_b16_e32 v3, 8, v3
; GFX9-NEXT: s_waitcnt vmcnt(17)
+; GFX9-NEXT: v_lshlrev_b16_e32 v27, 8, v27
+; GFX9-NEXT: s_waitcnt vmcnt(16)
; GFX9-NEXT: v_lshlrev_b16_e32 v4, 8, v4
-; GFX9-NEXT: s_waitcnt vmcnt(12)
+; GFX9-NEXT: s_waitcnt vmcnt(11)
; GFX9-NEXT: v_lshlrev_b16_e32 v5, 8, v5
-; GFX9-NEXT: s_waitcnt vmcnt(9)
+; GFX9-NEXT: s_waitcnt vmcnt(8)
; GFX9-NEXT: v_lshlrev_b16_e32 v6, 8, v6
-; GFX9-NEXT: s_waitcnt vmcnt(6)
+; GFX9-NEXT: s_waitcnt vmcnt(5)
; GFX9-NEXT: v_lshlrev_b16_e32 v7, 8, v7
-; GFX9-NEXT: s_waitcnt vmcnt(3)
-; GFX9-NEXT: v_lshlrev_b16_e32 v8, 8, v8
; GFX9-NEXT: s_waitcnt vmcnt(2)
-; GFX9-NEXT: v_lshlrev_b16_e32 v23, 8, v23
+; GFX9-NEXT: v_lshlrev_b16_e32 v8, 8, v8
; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_lshlrev_b16_e32 v27, 8, v27
+; GFX9-NEXT: v_lshlrev_b16_e32 v23, 8, v23
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u16_e32 v1, 3, v1
; GFX9-NEXT: v_or_b32_sdwa v1, v2, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:568 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:600 ; 4-byte Folded Reload
; GFX9-NEXT: v_add_u16_e32 v1, 0x300, v1
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u16_e32 v2, 3, v2
; GFX9-NEXT: v_or_b32_sdwa v2, v3, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:552 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:584 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u16_e32 v3, 3, v3
; GFX9-NEXT: v_or_b32_sdwa v3, v4, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
@@ -191815,8 +191835,8 @@ define <64 x i16> @bitcast_v128i8_to_v64i16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: v_add_u16_e32 v0, 0x300, v2
; GFX9-NEXT: v_add_u16_e32 v2, 0x300, v3
; GFX9-NEXT: v_perm_b32 v0, v2, v0, s6
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:544 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:540 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:552 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:548 ; 4-byte Folded Reload
; GFX9-NEXT: v_perm_b32 v1, v1, v4, s6
; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:532 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(2)
@@ -191903,28 +191923,28 @@ define <64 x i16> @bitcast_v128i8_to_v64i16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: v_or_b32_sdwa v8, v9, v8 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; GFX9-NEXT: v_add_u16_e32 v8, 0x300, v8
; GFX9-NEXT: v_perm_b32 v7, v8, v7, s6
-; GFX9-NEXT: v_add_u16_e32 v8, 3, v60
-; GFX9-NEXT: v_add_u16_e32 v9, 3, v59
+; GFX9-NEXT: v_add_u16_e32 v8, 3, v38
+; GFX9-NEXT: v_add_u16_e32 v9, 3, v37
; GFX9-NEXT: v_or_b32_sdwa v8, v53, v8 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; GFX9-NEXT: v_or_b32_sdwa v9, v51, v9 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; GFX9-NEXT: v_add_u16_e32 v8, 0x300, v8
; GFX9-NEXT: v_add_u16_e32 v9, 0x300, v9
; GFX9-NEXT: v_perm_b32 v8, v9, v8, s6
-; GFX9-NEXT: v_add_u16_e32 v9, 3, v47
+; GFX9-NEXT: v_add_u16_e32 v9, 3, v46
; GFX9-NEXT: v_or_b32_sdwa v9, v10, v9 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: v_add_u16_e32 v10, 3, v44
+; GFX9-NEXT: v_add_u16_e32 v10, 3, v36
; GFX9-NEXT: v_or_b32_sdwa v10, v49, v10 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; GFX9-NEXT: v_add_u16_e32 v9, 0x300, v9
; GFX9-NEXT: v_add_u16_e32 v10, 0x300, v10
; GFX9-NEXT: v_perm_b32 v9, v10, v9, s6
-; GFX9-NEXT: v_add_u16_e32 v10, 3, v41
+; GFX9-NEXT: v_add_u16_e32 v10, 3, v35
; GFX9-NEXT: v_or_b32_sdwa v10, v39, v10 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; GFX9-NEXT: v_add_u16_e32 v10, 0x300, v10
; GFX9-NEXT: v_perm_b32 v10, v11, v10, s6
; GFX9-NEXT: v_add_u16_e32 v11, 3, v55
; GFX9-NEXT: v_or_b32_sdwa v11, v12, v11 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; GFX9-NEXT: v_add_u16_e32 v12, 3, v52
-; GFX9-NEXT: v_or_b32_sdwa v12, v34, v12 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
+; GFX9-NEXT: v_or_b32_sdwa v12, v57, v12 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; GFX9-NEXT: v_add_u16_e32 v11, 0x300, v11
; GFX9-NEXT: v_add_u16_e32 v12, 0x300, v12
; GFX9-NEXT: v_perm_b32 v11, v12, v11, s6
@@ -191935,23 +191955,23 @@ define <64 x i16> @bitcast_v128i8_to_v64i16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: v_add_u16_e32 v12, 0x300, v12
; GFX9-NEXT: v_add_u16_e32 v13, 0x300, v13
; GFX9-NEXT: v_perm_b32 v12, v13, v12, s6
-; GFX9-NEXT: v_add_u16_e32 v13, 3, v37
-; GFX9-NEXT: v_lshlrev_b16_e32 v14, 8, v36
+; GFX9-NEXT: v_add_u16_e32 v13, 3, v61
+; GFX9-NEXT: v_lshlrev_b16_e32 v14, 8, v60
; GFX9-NEXT: v_or_b32_sdwa v13, v14, v13 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:720 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:712 ; 4-byte Folded Reload
; GFX9-NEXT: v_add_u16_e32 v13, 0x300, v13
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u16_e32 v14, 3, v14
; GFX9-NEXT: v_or_b32_sdwa v14, v15, v14 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; GFX9-NEXT: v_add_u16_e32 v14, 0x300, v14
; GFX9-NEXT: v_perm_b32 v13, v14, v13, s6
-; GFX9-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:668 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:708 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:820 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_add_u16_e32 v14, 3, v14
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v14, v15, v14 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:664 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:704 ; 4-byte Folded Reload
; GFX9-NEXT: v_add_u16_e32 v14, 0x300, v14
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u16_e32 v15, 3, v15
@@ -191959,30 +191979,30 @@ define <64 x i16> @bitcast_v128i8_to_v64i16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: v_add_u16_e32 v15, 0x300, v15
; GFX9-NEXT: v_perm_b32 v14, v15, v14, s6
; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:824 ; 4-byte Folded Reload
-; GFX9-NEXT: v_lshlrev_b16_e32 v16, 8, v35
+; GFX9-NEXT: v_lshlrev_b16_e32 v16, 8, v59
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u16_e32 v15, 3, v15
; GFX9-NEXT: v_or_b32_sdwa v15, v16, v15 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: v_add_u16_e32 v16, 3, v62
+; GFX9-NEXT: v_add_u16_e32 v16, 3, v58
; GFX9-NEXT: v_or_b32_sdwa v16, v17, v16 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; GFX9-NEXT: v_add_u16_e32 v15, 0x300, v15
; GFX9-NEXT: v_add_u16_e32 v16, 0x300, v16
; GFX9-NEXT: v_perm_b32 v15, v16, v15, s6
-; GFX9-NEXT: v_add_u16_e32 v16, 3, v58
-; GFX9-NEXT: v_lshlrev_b16_e32 v17, 8, v57
+; GFX9-NEXT: v_add_u16_e32 v16, 3, v44
+; GFX9-NEXT: v_lshlrev_b16_e32 v17, 8, v34
; GFX9-NEXT: v_or_b32_sdwa v16, v17, v16 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: v_add_u16_e32 v17, 3, v63
+; GFX9-NEXT: v_add_u16_e32 v17, 3, v42
; GFX9-NEXT: v_or_b32_sdwa v17, v18, v17 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: v_add_u16_e32 v18, 3, v32
+; GFX9-NEXT: v_add_u16_e32 v18, 3, v33
; GFX9-NEXT: v_or_b32_sdwa v18, v19, v18 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: v_add_u16_e32 v19, 3, v43
+; GFX9-NEXT: v_add_u16_e32 v19, 3, v32
; GFX9-NEXT: v_or_b32_sdwa v19, v20, v19 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; GFX9-NEXT: v_add_u16_e32 v20, 0x300, v16
; GFX9-NEXT: v_add_u16_e32 v16, 0x300, v18
; GFX9-NEXT: v_add_u16_e32 v18, 0x300, v19
; GFX9-NEXT: v_perm_b32 v16, v18, v16, s6
; GFX9-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:744 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:708 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:696 ; 4-byte Folded Reload
; GFX9-NEXT: v_add_u16_e32 v17, 0x300, v17
; GFX9-NEXT: v_perm_b32 v17, v17, v20, s6
; GFX9-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:756 ; 4-byte Folded Reload
@@ -191991,23 +192011,23 @@ define <64 x i16> @bitcast_v128i8_to_v64i16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_lshlrev_b16_e32 v19, 8, v19
; GFX9-NEXT: v_or_b32_sdwa v18, v19, v18 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:704 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:692 ; 4-byte Folded Reload
; GFX9-NEXT: v_add_u16_e32 v31, 0x300, v18
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u16_e32 v19, 3, v19
; GFX9-NEXT: v_or_b32_sdwa v19, v20, v19 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:700 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:688 ; 4-byte Folded Reload
; GFX9-NEXT: v_add_u16_e32 v32, 0x300, v19
; GFX9-NEXT: v_perm_b32 v31, v32, v31, s6
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u16_e32 v20, 3, v20
; GFX9-NEXT: v_or_b32_sdwa v20, v21, v20 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:692 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:680 ; 4-byte Folded Reload
; GFX9-NEXT: v_add_u16_e32 v30, 0x300, v20
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u16_e32 v21, 3, v21
; GFX9-NEXT: v_or_b32_sdwa v21, v22, v21 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:712 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:700 ; 4-byte Folded Reload
; GFX9-NEXT: v_add_u16_e32 v33, 0x300, v21
; GFX9-NEXT: v_perm_b32 v30, v33, v30, s6
; GFX9-NEXT: s_waitcnt vmcnt(0)
@@ -192028,49 +192048,49 @@ define <64 x i16> @bitcast_v128i8_to_v64i16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u16_e32 v25, 3, v25
; GFX9-NEXT: v_or_b32_sdwa v25, v26, v25 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:696 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:684 ; 4-byte Folded Reload
; GFX9-NEXT: v_add_u16_e32 v35, 0x300, v25
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u16_e32 v26, 3, v26
; GFX9-NEXT: v_or_b32_sdwa v26, v27, v26 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:604 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:572 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u16_e32 v27, 3, v27
; GFX9-NEXT: v_or_b32_sdwa v36, v28, v27 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:600 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:568 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:648 ; 4-byte Folded Reload
; GFX9-NEXT: v_add_u16_e32 v36, 0x300, v36
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_add_u16_e32 v27, 3, v27
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v37, v28, v27 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:596 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:564 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:628 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_add_u16_e32 v27, 3, v27
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v38, v28, v27 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:688 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:592 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:720 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:560 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_add_u16_e32 v27, 3, v27
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_lshlrev_b16_e32 v28, 8, v28
; GFX9-NEXT: v_or_b32_sdwa v39, v28, v27 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:588 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:556 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:616 ; 4-byte Folded Reload
; GFX9-NEXT: v_add_u16_e32 v25, 0x300, v39
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_add_u16_e32 v27, 3, v27
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v48, v28, v27 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:584 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:544 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:620 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_add_u16_e32 v27, 3, v27
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_or_b32_sdwa v49, v28, v27 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
-; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:580 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:540 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:612 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_add_u16_e32 v27, 3, v27
@@ -192123,7 +192143,7 @@ define <64 x i16> @bitcast_v128i8_to_v64i16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: v_lshlrev_b16_e32 v28, 8, v28
; GFX9-NEXT: v_or_b32_sdwa v40, v28, v27 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:768 ; 4-byte Folded Reload
-; GFX9-NEXT: v_lshlrev_b16_e32 v28, 8, v61
+; GFX9-NEXT: v_lshlrev_b16_e32 v28, 8, v56
; GFX9-NEXT: v_add_u16_e32 v50, 0x300, v40
; GFX9-NEXT: v_perm_b32 v21, v50, v21, s6
; GFX9-NEXT: s_waitcnt vmcnt(0)
@@ -192162,7 +192182,7 @@ define <64 x i16> @bitcast_v128i8_to_v64i16(<128 x i8> %a, i32 %b) #0 {
; GFX9-NEXT: v_lshlrev_b16_e32 v28, 8, v28
; GFX9-NEXT: v_or_b32_sdwa v45, v28, v27 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:652 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:676 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:668 ; 4-byte Folded Reload
; GFX9-NEXT: v_add_u16_e32 v18, 0x300, v45
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_add_u16_e32 v27, 3, v27
@@ -192212,766 +192232,763 @@ define <64 x i16> @bitcast_v128i8_to_v64i16(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-LABEL: bitcast_v128i8_to_v64i16:
; GFX11-TRUE16: ; %bb.0:
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX11-TRUE16-NEXT: s_clause 0x18 ; 100-byte Folded Spill
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v40, s32 offset:488
-; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v41, s32 offset:484
+; GFX11-TRUE16-NEXT: s_clause 0x17 ; 96-byte Folded Spill
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v40, s32 offset:484
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v42, s32 offset:480
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v41, s32 offset:480
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v43, s32 offset:476
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v42, s32 offset:476
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v44, s32 offset:472
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v43, s32 offset:472
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v45, s32 offset:468
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v44, s32 offset:468
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v46, s32 offset:464
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v45, s32 offset:464
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v47, s32 offset:460
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v46, s32 offset:460
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v56, s32 offset:456
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v47, s32 offset:456
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v57, s32 offset:452
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v56, s32 offset:452
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v58, s32 offset:448
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v57, s32 offset:448
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v59, s32 offset:444
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v58, s32 offset:444
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v60, s32 offset:440
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v59, s32 offset:440
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v61, s32 offset:436
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v60, s32 offset:436
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v62, s32 offset:432
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v61, s32 offset:432
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v63, s32 offset:428
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v62, s32 offset:428
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v72, s32 offset:424
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v63, s32 offset:424
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v73, s32 offset:420
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v72, s32 offset:420
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v74, s32 offset:416
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v73, s32 offset:416
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v75, s32 offset:412
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v74, s32 offset:412
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v76, s32 offset:408
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v75, s32 offset:408
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v77, s32 offset:404
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v76, s32 offset:404
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v78, s32 offset:400
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v77, s32 offset:400
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v79, s32 offset:396
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v78, s32 offset:396
; GFX11-TRUE16-NEXT: ; meta instruction
-; GFX11-TRUE16-NEXT: scratch_store_b32 off, v88, s32 offset:392
+; GFX11-TRUE16-NEXT: scratch_store_b32 off, v79, s32 offset:392
; GFX11-TRUE16-NEXT: s_clause 0x1f
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v31, off, s32 offset:384
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v48, off, s32 offset:380
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v75, off, s32 offset:376
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v78, off, s32 offset:372
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v33, off, s32 offset:380
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v82, off, s32 offset:376
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v87, off, s32 offset:372
; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v31, off, s32 offset:368
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v36, off, s32 offset:364
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v70, off, s32 offset:360
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v39, off, s32 offset:356
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v69, off, s32 offset:352
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v39, off, s32 offset:348
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v46, off, s32 offset:344
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v74, off, s32 offset:340
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v70, off, s32 offset:336
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v35, off, s32 offset:332
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v69, off, s32 offset:328
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v38, off, s32 offset:324
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v68, off, s32 offset:320
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v32, off, s32 offset:364
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v54, off, s32 offset:360
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v32, off, s32 offset:356
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v53, off, s32 offset:352
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v35, off, s32 offset:348
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v80, off, s32 offset:344
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v84, off, s32 offset:340
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v64, off, s32 offset:336
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v33, off, s32 offset:332
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v64, off, s32 offset:328
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v36, off, s32 offset:324
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v55, off, s32 offset:320
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v35, off, s32 offset:316
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v61, off, s32 offset:312
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v72, off, s32 offset:308
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v67, off, s32 offset:304
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v33, off, s32 offset:300
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v68, off, s32 offset:296
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v36, off, s32 offset:292
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v67, off, s32 offset:288
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v34, off, s32 offset:284
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v183, off, s32 offset:280
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v59, off, s32 offset:276
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v66, off, s32 offset:272
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v32, off, s32 offset:268
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v66, off, s32 offset:264
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v33, off, s32 offset:260
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v85, off, s32 offset:312
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v98, off, s32 offset:308
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v53, off, s32 offset:304
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v34, off, s32 offset:300
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v54, off, s32 offset:296
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v37, off, s32 offset:292
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v55, off, s32 offset:288
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v36, off, s32 offset:284
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v83, off, s32 offset:280
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v96, off, s32 offset:276
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v52, off, s32 offset:272
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v34, off, s32 offset:268
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v52, off, s32 offset:264
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v37, off, s32 offset:260
; GFX11-TRUE16-NEXT: s_clause 0x1f
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v176, off, s32 offset:256
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v44, off, s32 offset:252
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v151, off, s32 offset:248
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v180, off, s32 offset:244
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v150, off, s32 offset:240
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v179, off, s32 offset:236
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v167, off, s32 offset:232
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v43, off, s32 offset:228
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v131, off, s32 offset:224
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v163, off, s32 offset:220
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v134, off, s32 offset:216
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v161, off, s32 offset:212
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v129, off, s32 offset:208
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v149, off, s32 offset:204
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v118, off, s32 offset:200
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v145, off, s32 offset:196
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v116, off, s32 offset:192
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v144, off, s32 offset:188
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v115, off, s32 offset:184
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v148, off, s32 offset:180
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v112, off, s32 offset:176
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v119, off, s32 offset:172
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v86, off, s32 offset:168
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v103, off, s32 offset:164
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v84, off, s32 offset:160
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v102, off, s32 offset:156
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v85, off, s32 offset:152
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v99, off, s32 offset:148
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v81, off, s32 offset:144
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v98, off, s32 offset:140
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v82, off, s32 offset:136
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v96, off, s32 offset:132
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v99, off, s32 offset:256
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v103, off, s32 offset:252
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v81, off, s32 offset:248
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v86, off, s32 offset:244
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v100, off, s32 offset:240
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v116, off, s32 offset:236
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v114, off, s32 offset:232
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v117, off, s32 offset:228
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v112, off, s32 offset:224
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v119, off, s32 offset:220
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v97, off, s32 offset:216
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v101, off, s32 offset:212
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v118, off, s32 offset:208
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v130, off, s32 offset:204
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v102, off, s32 offset:200
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v113, off, s32 offset:196
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v132, off, s32 offset:192
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v135, off, s32 offset:188
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v131, off, s32 offset:184
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v147, off, s32 offset:180
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v145, off, s32 offset:176
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v149, off, s32 offset:172
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v115, off, s32 offset:168
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v128, off, s32 offset:164
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v144, off, s32 offset:160
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v151, off, s32 offset:156
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v129, off, s32 offset:152
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v133, off, s32 offset:148
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v150, off, s32 offset:144
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v161, off, s32 offset:140
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v134, off, s32 offset:136
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v148, off, s32 offset:132
; GFX11-TRUE16-NEXT: s_clause 0x1f
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v65, off, s32 offset:128
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v32, off, s32 offset:124
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v80, off, s32 offset:120
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v83, off, s32 offset:116
-; GFX11-TRUE16-NEXT: scratch_load_b32 v88, off, s32 offset:388
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v52, off, s32 offset:8
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v52, off, s32 offset:16
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v53, off, s32 offset:32
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v53, off, s32 offset:40
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v54, off, s32 offset:48
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v55, off, s32 offset:64
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v55, off, s32 offset:72
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v64, off, s32 offset:80
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v64, off, s32 offset:96
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v71, off, s32 offset:104
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v71, off, s32 offset:112
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v50, off, s32 offset:108
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v51, off, s32 offset:100
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v51, off, s32 offset:92
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v76, off, s32 offset:88
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v79, off, s32 offset:84
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v49, off, s32 offset:76
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v50, off, s32 offset:68
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v48, off, s32 offset:60
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v73, off, s32 offset:56
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v77, off, s32 offset:52
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v38, off, s32 offset:44
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v49, off, s32 offset:36
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v37, off, s32 offset:28
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v56, off, s32 offset:24
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v63, off, s32 offset:20
-; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v34, off, s32 offset:12
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v65, off, s32 offset:128
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v38, off, s32 offset:124
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v146, off, s32 offset:120
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v160, off, s32 offset:116
+; GFX11-TRUE16-NEXT: scratch_load_b32 v68, off, s32 offset:388
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v65, off, s32 offset:8
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v66, off, s32 offset:16
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v67, off, s32 offset:32
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v67, off, s32 offset:40
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v69, off, s32 offset:48
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v69, off, s32 offset:64
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v70, off, s32 offset:72
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v71, off, s32 offset:80
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v71, off, s32 offset:96
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v80, off, s32 offset:104
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v81, off, s32 offset:112
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v38, off, s32 offset:108
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v39, off, s32 offset:100
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v50, off, s32 offset:92
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v163, off, s32 offset:88
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v176, off, s32 offset:84
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v39, off, s32 offset:76
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v51, off, s32 offset:68
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v49, off, s32 offset:60
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v164, off, s32 offset:56
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v178, off, s32 offset:52
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v48, off, s32 offset:44
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v51, off, s32 offset:36
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v49, off, s32 offset:28
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v162, off, s32 offset:24
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v167, off, s32 offset:20
+; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v48, off, s32 offset:12
; GFX11-TRUE16-NEXT: s_clause 0x1
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v37, off, s32 offset:4
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v41, off, s32
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v60.l, v30.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v42.l, v29.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v58.l, v28.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v182.l, v27.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v57.l, v26.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v47.l, v25.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v62.l, v24.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v178.l, v23.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v45.l, v22.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v166.l, v21.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v40.l, v20.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v162.l, v19.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v181.l, v18.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v133.l, v17.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v164.l, v16.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v135.l, v15.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v165.l, v14.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v132.l, v13.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v177.l, v12.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v114.l, v11.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v146.l, v10.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v128.l, v9.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v147.l, v8.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v97.l, v7.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v130.l, v6.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v101.l, v5.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v160.l, v4.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v100.l, v3.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v117.l, v2.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v87.l, v1.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v113.l, v0.l
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v50, off, s32 offset:4
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v166, off, s32
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v182.l, v30.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v165.l, v29.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v177.l, v28.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v181.l, v27.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v43.l, v26.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v41.l, v25.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v44.l, v24.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v42.l, v23.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v47.l, v22.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v180.l, v21.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v183.l, v20.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v46.l, v19.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v61.l, v18.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e64 v179.l, v17.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v40.l, v16.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v57.l, v15.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v63.l, v14.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v56.l, v13.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v75.l, v12.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v60.l, v11.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v74.l, v10.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v45.l, v9.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v59.l, v8.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v62.l, v7.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v76.l, v6.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v72.l, v5.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v78.l, v4.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v77.l, v3.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v79.l, v2.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v58.l, v1.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v73.l, v0.l
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(62)
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v69.l, 8, v69.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v70.l, 8, v70.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v69.h, 8, v69.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v68.h, 8, v68.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v67.l, 8, v67.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v68.l, 8, v68.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v67.h, 8, v67.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v66.h, 8, v66.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v66.l, 8, v66.l
-; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(33)
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v65.h, 8, v65.h
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v53.h, 8, v53.h
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v64.h, 8, v64.h
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v64.l, 8, v64.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v55.h, 8, v55.h
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v53.l, 8, v53.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v54.l, 8, v54.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v55.l, 8, v55.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v52.h, 8, v52.h
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v52.l, 8, v52.l
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(29)
-; GFX11-TRUE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v88
+; GFX11-TRUE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v68
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(27)
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v52.l, 8, v52.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v52.h, 8, v52.h
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v66.l, 8, v65.h
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v66.h, 8, v66.h
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(25)
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v53.l, 8, v53.l
-; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(24)
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v54.l, 8, v53.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v53.h, 8, v54.h
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v68.l, 8, v67.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v68.h, 8, v67.h
+; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(23)
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v67.l, 8, v69.l
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(22)
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v55.l, 8, v55.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v55.h, 8, v55.h
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v70.h, 8, v69.h
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v70.l, 8, v70.l
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(20)
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v54.h, 8, v64.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v65.l, 8, v64.h
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v67.h, 8, v71.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v71.l, 8, v71.h
+; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(19)
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v69.l, 8, v80.h
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(18)
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v64.l, 8, v71.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v64.h, 8, v71.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v71.l, 8, v70.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v70.h, 8, v31.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v71.h, 8, v31.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v69.h, 8, v81.h
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v71.h, 8, v65.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v65.l, 8, v54.h
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v54.h, 8, v31.h
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v65.h, 8, v31.l
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31
; GFX11-TRUE16-NEXT: s_and_saveexec_b32 s0, vcc_lo
; GFX11-TRUE16-NEXT: s_delay_alu instid0(SALU_CYCLE_1)
; GFX11-TRUE16-NEXT: s_xor_b32 s0, exec_lo, s0
; GFX11-TRUE16-NEXT: s_cbranch_execz .LBB96_2
; GFX11-TRUE16-NEXT: ; %bb.1: ; %cmp.false
-; GFX11-TRUE16-NEXT: v_perm_b32 v3, v130, v97, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v5, v165, v135, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v7, v45, v178, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v3, v76, v62, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v5, v63, v57, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v7, v47, v42, 0xc0c0004
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0)
-; GFX11-TRUE16-NEXT: v_perm_b32 v10, v60, v41, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_and_b16 v9.l, 0xff, v37.h
-; GFX11-TRUE16-NEXT: v_perm_b32 v1, v160, v101, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_and_b16 v11.h, 0xff, v48.h
+; GFX11-TRUE16-NEXT: v_perm_b32 v10, v182, v166, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_and_b16 v9.l, 0xff, v49.l
+; GFX11-TRUE16-NEXT: v_perm_b32 v1, v78, v72, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_and_b16 v11.h, 0xff, v49.h
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v1.h, v3.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v3, v177, v132, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_and_b16 v13.h, 0xff, v51.l
+; GFX11-TRUE16-NEXT: v_perm_b32 v3, v75, v56, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_and_b16 v13.h, 0xff, v50.h
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v3.h, v5.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v5, v40, v166, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_and_b16 v14.h, 0xff, v32.l
+; GFX11-TRUE16-NEXT: v_perm_b32 v5, v183, v180, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_and_b16 v14.h, 0xff, v38.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v5.h, v7.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v7, v58, v42, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v7, v177, v165, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v7.h, v10.l
-; GFX11-TRUE16-NEXT: v_or_b16 v10.l, v9.l, v53.l
-; GFX11-TRUE16-NEXT: v_and_b16 v10.h, 0xff, v49.h
-; GFX11-TRUE16-NEXT: v_and_b16 v11.l, 0xff, v38.l
-; GFX11-TRUE16-NEXT: v_or_b16 v12.l, v11.h, v55.l
-; GFX11-TRUE16-NEXT: v_and_b16 v12.h, 0xff, v50.h
-; GFX11-TRUE16-NEXT: v_and_b16 v13.l, 0xff, v49.l
-; GFX11-TRUE16-NEXT: v_or_b16 v14.l, v13.h, v65.l
-; GFX11-TRUE16-NEXT: v_and_b16 v15.l, 0xff, v51.h
-; GFX11-TRUE16-NEXT: v_and_b16 v15.h, 0xff, v50.l
-; GFX11-TRUE16-NEXT: v_or_b16 v16.l, v14.h, v65.h
-; GFX11-TRUE16-NEXT: v_perm_b32 v9, v63, v56, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v17, v98, v81, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_or_b16 v10.l, v9.l, v68.l
+; GFX11-TRUE16-NEXT: v_and_b16 v10.h, 0xff, v51.h
+; GFX11-TRUE16-NEXT: v_and_b16 v11.l, 0xff, v48.l
+; GFX11-TRUE16-NEXT: v_or_b16 v12.l, v11.h, v70.h
+; GFX11-TRUE16-NEXT: v_and_b16 v12.h, 0xff, v51.l
+; GFX11-TRUE16-NEXT: v_and_b16 v13.l, 0xff, v39.h
+; GFX11-TRUE16-NEXT: v_or_b16 v14.l, v13.h, v71.l
+; GFX11-TRUE16-NEXT: v_and_b16 v15.l, 0xff, v39.l
+; GFX11-TRUE16-NEXT: v_and_b16 v15.h, 0xff, v38.h
+; GFX11-TRUE16-NEXT: v_or_b16 v16.l, v14.h, v71.h
+; GFX11-TRUE16-NEXT: v_perm_b32 v9, v167, v162, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v17, v161, v150, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v9.h, v10.l
-; GFX11-TRUE16-NEXT: v_or_b16 v10.l, v10.h, v54.l
-; GFX11-TRUE16-NEXT: v_or_b16 v10.h, v11.l, v53.h
-; GFX11-TRUE16-NEXT: v_perm_b32 v11, v77, v73, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v18, v102, v84, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_or_b16 v10.l, v10.h, v68.h
+; GFX11-TRUE16-NEXT: v_or_b16 v10.h, v11.l, v67.l
+; GFX11-TRUE16-NEXT: v_perm_b32 v11, v178, v164, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v18, v151, v144, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v11.h, v12.l
-; GFX11-TRUE16-NEXT: v_or_b16 v12.l, v12.h, v55.h
-; GFX11-TRUE16-NEXT: v_or_b16 v12.h, v13.l, v54.h
-; GFX11-TRUE16-NEXT: v_perm_b32 v13, v79, v76, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v19, v119, v112, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_or_b16 v12.l, v12.h, v70.l
+; GFX11-TRUE16-NEXT: v_or_b16 v12.h, v13.l, v67.h
+; GFX11-TRUE16-NEXT: v_perm_b32 v13, v176, v163, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v19, v149, v145, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v13.h, v14.l
-; GFX11-TRUE16-NEXT: v_or_b16 v14.l, v15.l, v64.l
-; GFX11-TRUE16-NEXT: v_or_b16 v14.h, v15.h, v64.h
-; GFX11-TRUE16-NEXT: v_perm_b32 v15, v83, v80, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v20, v144, v116, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_or_b16 v14.l, v15.l, v69.l
+; GFX11-TRUE16-NEXT: v_or_b16 v14.h, v15.h, v69.h
+; GFX11-TRUE16-NEXT: v_perm_b32 v15, v160, v146, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v20, v135, v132, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v15.h, v16.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v16, v96, v82, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v21, v149, v129, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v16, v148, v134, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v21, v130, v118, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v16.h, v17.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v17, v99, v85, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v22, v163, v131, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v17, v133, v129, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v22, v119, v112, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v17.h, v18.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v18, v103, v86, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v23, v179, v150, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v2, v117, v100, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v18, v128, v115, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v23, v116, v100, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v2, v79, v77, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v18.h, v19.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v19, v148, v115, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v26, v44, v176, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_and_b16 v25.l, 0xff, v34.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v4, v146, v114, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v19, v147, v131, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v26, v103, v99, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_and_b16 v25.l, 0xff, v36.h
+; GFX11-TRUE16-NEXT: v_perm_b32 v4, v74, v60, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v19.h, v20.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v20, v145, v118, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v20, v113, v102, 0xc0c0004
; GFX11-TRUE16-NEXT: v_and_b16 v27.h, 0xff, v35.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v6, v181, v162, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v6, v61, v46, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v20.h, v21.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v21, v161, v134, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_and_b16 v29.h, 0xff, v39.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v8, v57, v182, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v21, v101, v97, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_and_b16 v29.h, 0xff, v35.h
+; GFX11-TRUE16-NEXT: v_perm_b32 v8, v43, v181, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v21.h, v22.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v22, v43, v167, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_and_b16 v30.l, 0xff, v48.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, v113, v87, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v22, v117, v114, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_and_b16 v30.l, 0xff, v33.h
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, v73, v58, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v22.h, v23.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v23, v180, v151, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v23, v86, v81, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v0.h, v2.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v2, v147, v128, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v2, v59, v45, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v23.h, v26.l
-; GFX11-TRUE16-NEXT: v_or_b16 v26.l, v25.l, v67.h
-; GFX11-TRUE16-NEXT: v_and_b16 v26.h, 0xff, v36.h
-; GFX11-TRUE16-NEXT: v_and_b16 v27.l, 0xff, v33.l
+; GFX11-TRUE16-NEXT: v_or_b16 v26.l, v25.l, v55.l
+; GFX11-TRUE16-NEXT: v_and_b16 v26.h, 0xff, v37.h
+; GFX11-TRUE16-NEXT: v_and_b16 v27.l, 0xff, v34.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v2.h, v4.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v4, v164, v133, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_or_b16 v28.l, v27.h, v68.h
-; GFX11-TRUE16-NEXT: v_and_b16 v28.h, 0xff, v38.h
-; GFX11-TRUE16-NEXT: v_and_b16 v29.l, 0xff, v35.h
+; GFX11-TRUE16-NEXT: v_perm_b32 v4, v40, v179, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_or_b16 v28.l, v27.h, v55.h
+; GFX11-TRUE16-NEXT: v_and_b16 v28.h, 0xff, v36.l
+; GFX11-TRUE16-NEXT: v_and_b16 v29.l, 0xff, v33.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v4.h, v6.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v6, v62, v47, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_or_b16 v30.h, v29.h, v69.l
-; GFX11-TRUE16-NEXT: v_and_b16 v31.l, 0xff, v39.h
-; GFX11-TRUE16-NEXT: v_and_b16 v31.h, 0xff, v36.l
+; GFX11-TRUE16-NEXT: v_perm_b32 v6, v44, v41, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_or_b16 v30.h, v29.h, v53.h
+; GFX11-TRUE16-NEXT: v_and_b16 v31.l, 0xff, v32.h
+; GFX11-TRUE16-NEXT: v_and_b16 v31.h, 0xff, v32.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v6.h, v8.l
-; GFX11-TRUE16-NEXT: v_and_b16 v8.l, 0xff, v37.l
-; GFX11-TRUE16-NEXT: v_and_b16 v8.h, 0xff, v34.h
-; GFX11-TRUE16-NEXT: v_and_b16 v24.l, 0xff, v33.h
-; GFX11-TRUE16-NEXT: v_and_b16 v24.h, 0xff, v32.h
-; GFX11-TRUE16-NEXT: v_or_b16 v32.l, v30.l, v71.h
-; GFX11-TRUE16-NEXT: v_perm_b32 v25, v59, v183, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_and_b16 v8.l, 0xff, v50.l
+; GFX11-TRUE16-NEXT: v_and_b16 v8.h, 0xff, v48.h
+; GFX11-TRUE16-NEXT: v_and_b16 v24.l, 0xff, v37.l
+; GFX11-TRUE16-NEXT: v_and_b16 v24.h, 0xff, v34.h
+; GFX11-TRUE16-NEXT: v_or_b16 v32.l, v30.l, v65.h
+; GFX11-TRUE16-NEXT: v_perm_b32 v25, v96, v83, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v25.h, v26.l
-; GFX11-TRUE16-NEXT: v_or_b16 v26.l, v26.h, v68.l
-; GFX11-TRUE16-NEXT: v_or_b16 v26.h, v27.l, v67.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v27, v72, v61, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_or_b16 v26.l, v26.h, v54.l
+; GFX11-TRUE16-NEXT: v_or_b16 v26.h, v27.l, v53.l
+; GFX11-TRUE16-NEXT: v_perm_b32 v27, v98, v85, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v27.h, v28.l
-; GFX11-TRUE16-NEXT: v_or_b16 v28.l, v28.h, v69.h
-; GFX11-TRUE16-NEXT: v_or_b16 v28.h, v29.l, v70.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v29, v74, v46, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_or_b16 v28.l, v28.h, v64.l
+; GFX11-TRUE16-NEXT: v_or_b16 v28.h, v29.l, v64.h
+; GFX11-TRUE16-NEXT: v_perm_b32 v29, v84, v80, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v29.h, v30.h
-; GFX11-TRUE16-NEXT: v_or_b16 v30.l, v31.l, v71.l
-; GFX11-TRUE16-NEXT: v_or_b16 v30.h, v31.h, v70.h
-; GFX11-TRUE16-NEXT: v_perm_b32 v31, v78, v75, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_or_b16 v8.l, v8.l, v52.l
-; GFX11-TRUE16-NEXT: v_or_b16 v8.h, v8.h, v52.h
-; GFX11-TRUE16-NEXT: v_or_b16 v24.l, v24.l, v66.l
-; GFX11-TRUE16-NEXT: v_or_b16 v24.h, v24.h, v66.h
+; GFX11-TRUE16-NEXT: v_or_b16 v30.l, v31.l, v65.l
+; GFX11-TRUE16-NEXT: v_or_b16 v30.h, v31.h, v54.h
+; GFX11-TRUE16-NEXT: v_perm_b32 v31, v87, v82, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_or_b16 v8.l, v8.l, v66.l
+; GFX11-TRUE16-NEXT: v_or_b16 v8.h, v8.h, v66.h
+; GFX11-TRUE16-NEXT: v_or_b16 v24.l, v24.l, v52.l
+; GFX11-TRUE16-NEXT: v_or_b16 v24.h, v24.h, v52.h
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v31.h, v32.l
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr113_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr87_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr117_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr100_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr160_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr101_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr130_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr97_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr147_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr128_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr146_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr114_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr177_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr132_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr165_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr135_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr164_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr133_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr181_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr162_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr40_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr166_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr45_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr178_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr73_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr58_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr79_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr77_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr78_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr72_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr76_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr62_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr47_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr59_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr45_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr74_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr60_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr75_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr56_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr63_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr57_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr182_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr58_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr40_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr179_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr61_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr46_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr183_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr180_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr47_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr42_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr60_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr44_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr41_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr37_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr34_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr63_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr56_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr37_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr49_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr38_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr77_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr73_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr43_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr181_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr177_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr165_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr182_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr166_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr50_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr48_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr50_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr167_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr162_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr49_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr79_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr76_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr51_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr51_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr50_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr83_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr80_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr32_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr96_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr82_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr98_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr81_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr99_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr85_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr102_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr84_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr103_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr86_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr119_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr112_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr48_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr178_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr164_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr49_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr51_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr39_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr176_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr163_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr50_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr39_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr38_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr160_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr146_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr38_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr148_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr115_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr144_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr116_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr145_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr118_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr149_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr129_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr161_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr134_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr163_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr131_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr43_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr167_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr179_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr161_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr150_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr180_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr133_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr129_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr151_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr44_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr176_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr33_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr32_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr59_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr183_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr34_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr144_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr128_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr115_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr149_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr145_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr147_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr131_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr135_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr132_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr113_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr102_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr130_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr118_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr101_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr97_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr119_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr112_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr117_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr114_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr116_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr100_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr86_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr81_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr103_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr99_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr37_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr34_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr96_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr83_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr36_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr33_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr72_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr61_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr37_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr34_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr98_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr85_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr35_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr38_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr35_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr74_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr46_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr39_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr39_hi16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr36_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr78_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr75_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr48_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr52_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr52_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr53_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr54_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr53_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr55_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr55_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr54_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr65_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr64_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr64_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr65_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr33_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr84_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr80_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr35_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr32_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr32_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr87_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr82_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr33_hi16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr66_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr66_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr67_hi16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr68_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr67_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr68_hi16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr69_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr67_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr70_hi16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr70_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr69_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr67_hi16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr71_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr70_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr69_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr69_hi16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr71_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr52_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr52_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr55_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr54_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr53_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr55_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr64_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr64_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr53_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr65_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr54_hi16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr65_hi16
; GFX11-TRUE16-NEXT: .LBB96_2: ; %Flow
; GFX11-TRUE16-NEXT: s_and_not1_saveexec_b32 s0, s0
; GFX11-TRUE16-NEXT: s_cbranch_execz .LBB96_4
; GFX11-TRUE16-NEXT: ; %bb.3: ; %cmp.true
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.l, v78.l, 3
-; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(10)
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.h, v48.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.l, v39.h, 3
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v75.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v36.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.l, v87.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.h, v33.h, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.l, v32.h, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v82.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v32.l, 3
; GFX11-TRUE16-NEXT: v_and_b16 v0.l, 0xff, v0.l
; GFX11-TRUE16-NEXT: v_and_b16 v0.h, 0xff, v0.h
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v1.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v74.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v3.l, v43.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v84.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v3.l, v117.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v1.h, v0.l
-; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v71.h, v0.h
-; GFX11-TRUE16-NEXT: v_or_b16 v1.l, v71.l, v1.l
+; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v65.h, v0.h
+; GFX11-TRUE16-NEXT: v_or_b16 v1.l, v65.l, v1.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.h, 0xff, v2.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v39.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v35.h, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v31.l, 0x300, v0.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v31.h, 0x300, v0.h
; GFX11-TRUE16-NEXT: v_add_nc_u16 v30.l, 0x300, v1.l
-; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v70.h, v1.h
+; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v54.h, v1.h
; GFX11-TRUE16-NEXT: v_and_b16 v0.h, 0xff, v2.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.l, 8, v46.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.l, 8, v80.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.h, 0xff, v2.l
-; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(7)
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v38.h, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v35.h, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v36.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v33.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v30.h, 0x300, v0.l
; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v1.l, v0.h
-; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v69.l, v1.h
+; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v53.h, v1.h
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v2.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.h, 0xff, v2.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v72.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v98.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v29.l, 0x300, v0.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v29.h, 0x300, v0.h
-; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v69.h, v1.l
-; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v70.l, v1.h
+; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v64.l, v1.l
+; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v64.h, v1.h
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v2.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v61.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v85.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v35.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v36.h, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v37.h, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v28.l, 0x300, v0.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v28.h, 0x300, v0.h
; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v1.h, v1.l
; GFX11-TRUE16-NEXT: v_and_b16 v0.h, 0xff, v2.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v2.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v33.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v59.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v34.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v96.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v27.l, 0x300, v0.l
-; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v68.h, v0.h
-; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v68.l, v1.l
+; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v55.h, v0.h
+; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v54.l, v1.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v1.h
; GFX11-TRUE16-NEXT: v_and_b16 v1.h, 0xff, v2.l
-; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(2)
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v34.l, 3
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.h, 8, v183.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v36.h, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.h, 8, v83.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v27.h, 0x300, v0.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v26.l, 0x300, v0.h
-; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v67.l, v1.l
+; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v53.l, v1.l
; GFX11-TRUE16-NEXT: v_and_b16 v0.h, 0xff, v2.l
; GFX11-TRUE16-NEXT: v_or_b16 v1.l, v2.h, v1.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v33.h, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v32.h, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v37.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v34.h, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v26.h, 0x300, v0.l
-; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v67.h, v0.h
+; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v55.l, v0.h
; GFX11-TRUE16-NEXT: v_add_nc_u16 v25.l, 0x300, v1.l
; GFX11-TRUE16-NEXT: v_and_b16 v0.h, 0xff, v1.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v180.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v86.l, 3
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v2.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v25.h, 0x300, v0.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.l, v44.l, 3
-; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v66.l, v0.h
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.l, v103.l, 3
+; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v52.l, v0.h
; GFX11-TRUE16-NEXT: v_and_b16 v1.h, 0xff, v1.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v151.l
-; GFX11-TRUE16-NEXT: v_or_b16 v1.l, v66.h, v1.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v81.l
+; GFX11-TRUE16-NEXT: v_or_b16 v1.l, v52.h, v1.l
; GFX11-TRUE16-NEXT: v_and_b16 v0.l, 0xff, v0.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.h, 8, v176.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.h, 8, v99.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v24.l, 0x300, v0.h
; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v2.l, v1.h
; GFX11-TRUE16-NEXT: v_add_nc_u16 v24.h, 0x300, v1.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v3.l
; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v2.h, v0.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v167.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v179.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v114.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v116.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v23.l, 0x300, v0.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.h, v161.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.h, v101.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v23.h, 0x300, v0.l
; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v1.h, v1.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v2.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v150.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v100.l
; GFX11-TRUE16-NEXT: v_and_b16 v0.h, 0xff, v0.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v134.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v163.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v97.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v119.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v22.l, 0x300, v0.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.l, v145.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.l, v113.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v1.l, v1.h, v1.l
; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v2.l, v0.h
; GFX11-TRUE16-NEXT: v_and_b16 v1.h, 0xff, v2.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v131.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v112.l
; GFX11-TRUE16-NEXT: v_and_b16 v0.l, 0xff, v0.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.h, 8, v118.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v3.l, v149.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.h, 8, v102.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v3.l, v130.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v21.l, 0x300, v0.h
; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v2.l, v1.h
; GFX11-TRUE16-NEXT: v_add_nc_u16 v22.h, 0x300, v1.l
; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v2.h, v0.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v3.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v129.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v148.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v118.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v147.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v21.h, 0x300, v0.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.h, v144.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.h, v135.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v20.l, 0x300, v0.l
; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v1.h, v1.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v2.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v115.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v131.l
; GFX11-TRUE16-NEXT: v_and_b16 v0.h, 0xff, v0.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v116.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v103.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v132.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v128.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v20.h, 0x300, v0.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.l, v119.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.l, v149.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v1.l, v1.h, v1.l
; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v2.l, v0.h
; GFX11-TRUE16-NEXT: v_and_b16 v1.h, 0xff, v2.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v86.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v115.l
; GFX11-TRUE16-NEXT: v_and_b16 v0.l, 0xff, v0.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.h, 8, v112.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v3.l, v99.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.h, 8, v145.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v3.l, v133.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v19.h, 0x300, v0.h
; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v2.l, v1.h
; GFX11-TRUE16-NEXT: v_add_nc_u16 v19.l, 0x300, v1.l
; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v2.h, v0.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v3.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v85.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v102.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v129.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v151.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v18.l, 0x300, v0.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.h, v96.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.h, v148.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v18.h, 0x300, v0.l
; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v1.h, v1.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v2.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v84.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v144.l
; GFX11-TRUE16-NEXT: v_and_b16 v0.h, 0xff, v0.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v82.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v98.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v134.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v161.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v17.l, 0x300, v0.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.l, v83.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.l, v160.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v1.l, v1.h, v1.l
; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v2.l, v0.h
; GFX11-TRUE16-NEXT: v_and_b16 v1.h, 0xff, v2.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v81.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v32.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v150.l
+; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(17)
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v38.l, 3
; GFX11-TRUE16-NEXT: v_and_b16 v0.l, 0xff, v0.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v3.l, 8, v80.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v3.l, 8, v146.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v17.h, 0x300, v1.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v16.l, 0x300, v0.h
; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v2.l, v1.h
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v2.h
; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v3.l, v0.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v51.h, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v50.l, 3
+; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(12)
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v39.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v38.h, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v16.h, 0x300, v0.h
-; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v65.h, v1.l
+; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v71.h, v1.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v15.l, 0x300, v0.l
; GFX11-TRUE16-NEXT: v_and_b16 v0.l, 0xff, v1.h
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v2.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v79.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v176.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v15.h, 0x300, v0.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.h, v51.l, 3
-; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v64.l, v0.l
-; GFX11-TRUE16-NEXT: v_or_b16 v1.l, v64.h, v1.l
+; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(1)
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.h, v50.h, 3
+; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v69.l, v0.l
+; GFX11-TRUE16-NEXT: v_or_b16 v1.l, v69.h, v1.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.h, 0xff, v1.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v76.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v163.l
; GFX11-TRUE16-NEXT: v_and_b16 v0.h, 0xff, v0.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v50.h, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v51.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v14.l, 0x300, v0.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v14.h, 0x300, v1.l
; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v2.l, v1.h
-; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v65.l, v0.h
+; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v71.l, v0.h
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v2.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v49.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v77.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v39.h, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v178.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v13.l, 0x300, v0.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v13.h, 0x300, v0.h
-; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v55.h, v1.l
+; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v70.l, v1.l
; GFX11-TRUE16-NEXT: v_and_b16 v0.h, 0xff, v1.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v48.h, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v49.h, 3
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v2.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v73.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v49.h, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v164.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v51.h, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v12.l, 0x300, v0.l
-; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v54.h, v0.h
+; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v67.h, v0.h
; GFX11-TRUE16-NEXT: v_and_b16 v0.h, 0xff, v1.h
; GFX11-TRUE16-NEXT: v_or_b16 v1.l, v2.l, v1.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.h, 0xff, v2.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v38.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v48.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v12.h, 0x300, v0.l
-; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v55.l, v0.h
+; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v70.h, v0.h
; GFX11-TRUE16-NEXT: v_add_nc_u16 v11.l, 0x300, v1.l
-; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v54.l, v1.h
+; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v68.h, v1.h
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v2.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v63.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v167.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v11.h, 0x300, v0.l
-; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(1)
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.l, v37.h, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.l, v49.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v10.l, 0x300, v0.h
-; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v53.h, v1.l
+; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v67.l, v1.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v1.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v56.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v162.l
; GFX11-TRUE16-NEXT: v_and_b16 v0.l, 0xff, v0.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v37.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v34.h, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v50.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v48.h, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v10.h, 0x300, v0.h
; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v1.h, v1.l
-; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v53.l, v0.l
+; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v68.l, v0.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v2.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.h, 0xff, v2.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v58.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v177.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v9.l, 0x300, v0.h
; GFX11-TRUE16-NEXT: v_add_nc_u16 v9.h, 0x300, v0.l
-; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v52.l, v1.l
-; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v52.h, v1.h
+; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v66.l, v1.l
+; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v66.h, v1.h
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v2.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v42.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v60.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v165.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v182.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v8.l, 0x300, v0.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.l, v62.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.l, v44.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v8.h, 0x300, v0.h
; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v1.h, v1.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v2.l
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0)
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v41.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v166.l
; GFX11-TRUE16-NEXT: v_and_b16 v0.l, 0xff, v0.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v47.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v57.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v41.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v43.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v7.l, 0x300, v0.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.h, v40.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.h, v183.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v1.l, v1.h, v1.l
; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v2.l, v0.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.h, 0xff, v2.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v182.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v181.l
; GFX11-TRUE16-NEXT: v_and_b16 v0.h, 0xff, v0.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.h, 8, v166.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v3.l, v45.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.h, 8, v180.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v3.l, v47.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v6.l, 0x300, v0.l
; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v2.l, v1.h
; GFX11-TRUE16-NEXT: v_add_nc_u16 v7.h, 0x300, v1.l
; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v2.h, v0.h
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v3.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v178.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v164.l, 3
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v42.l
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v40.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v6.h, 0x300, v0.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.l, v181.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.l, v61.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v5.l, 0x300, v0.h
; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v1.h, v1.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v2.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v133.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v179.l
; GFX11-TRUE16-NEXT: v_and_b16 v0.l, 0xff, v0.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v162.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v46.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v5.h, 0x300, v0.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.h, v177.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.h, v75.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v1.l, v1.h, v1.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v165.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v63.l, 3
; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v2.l, v0.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v147.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, v59.l, 3
; GFX11-TRUE16-NEXT: v_and_b16 v0.h, 0xff, v0.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.h, 8, v132.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.h, 8, v56.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.h, 0xff, v1.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v3.l, 8, v135.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v3.l, 8, v57.l
; GFX11-TRUE16-NEXT: v_and_b16 v2.l, 0xff, v2.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v3.h, 8, v128.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v3.h, 8, v45.l
; GFX11-TRUE16-NEXT: v_add_nc_u16 v4.l, 0x300, v1.l
; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v2.h, v0.h
; GFX11-TRUE16-NEXT: v_or_b16 v1.l, v3.l, v1.h
; GFX11-TRUE16-NEXT: v_add_nc_u16 v4.h, 0x300, v0.l
; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v3.h, v2.l
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v146.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v74.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v3.l, 0x300, v0.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.h, v160.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v113.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.h, v78.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.h, v73.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v2.l, 0x300, v0.l
; GFX11-TRUE16-NEXT: v_and_b16 v0.l, 0xff, v1.h
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v130.l, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u16 v32.h, v117.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v1.h, v76.l, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u16 v32.h, v79.l, 3
; GFX11-TRUE16-NEXT: v_add_nc_u16 v3.h, 0x300, v1.l
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.l, 8, v114.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.l, 8, v60.l
; GFX11-TRUE16-NEXT: v_and_b16 v0.h, 0xff, v0.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v32.l, 8, v101.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v32.l, 8, v72.l
; GFX11-TRUE16-NEXT: v_and_b16 v1.h, 0xff, v1.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v33.l, 8, v97.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v33.l, 8, v62.l
; GFX11-TRUE16-NEXT: v_and_b16 v2.h, 0xff, v2.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v33.h, 8, v87.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v33.h, 8, v58.l
; GFX11-TRUE16-NEXT: v_and_b16 v32.h, 0xff, v32.h
-; GFX11-TRUE16-NEXT: v_lshlrev_b16 v34.l, 8, v100.l
+; GFX11-TRUE16-NEXT: v_lshlrev_b16 v34.l, 8, v77.l
; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v1.l, v0.l
; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v32.l, v0.h
; GFX11-TRUE16-NEXT: v_or_b16 v1.h, v33.l, v1.h
@@ -192984,32 +193001,31 @@ define <64 x i16> @bitcast_v128i8_to_v64i16(<128 x i8> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_add_nc_u16 v0.h, 0x300, v32.h
; GFX11-TRUE16-NEXT: .LBB96_4: ; %end
; GFX11-TRUE16-NEXT: s_or_b32 exec_lo, exec_lo, s0
-; GFX11-TRUE16-NEXT: s_clause 0x18 ; 100-byte Folded Reload
-; GFX11-TRUE16-NEXT: scratch_load_b32 v88, off, s32 offset:392
-; GFX11-TRUE16-NEXT: scratch_load_b32 v79, off, s32 offset:396
-; GFX11-TRUE16-NEXT: scratch_load_b32 v78, off, s32 offset:400
-; GFX11-TRUE16-NEXT: scratch_load_b32 v77, off, s32 offset:404
-; GFX11-TRUE16-NEXT: scratch_load_b32 v76, off, s32 offset:408
-; GFX11-TRUE16-NEXT: scratch_load_b32 v75, off, s32 offset:412
-; GFX11-TRUE16-NEXT: scratch_load_b32 v74, off, s32 offset:416
-; GFX11-TRUE16-NEXT: scratch_load_b32 v73, off, s32 offset:420
-; GFX11-TRUE16-NEXT: scratch_load_b32 v72, off, s32 offset:424
-; GFX11-TRUE16-NEXT: scratch_load_b32 v63, off, s32 offset:428
-; GFX11-TRUE16-NEXT: scratch_load_b32 v62, off, s32 offset:432
-; GFX11-TRUE16-NEXT: scratch_load_b32 v61, off, s32 offset:436
-; GFX11-TRUE16-NEXT: scratch_load_b32 v60, off, s32 offset:440
-; GFX11-TRUE16-NEXT: scratch_load_b32 v59, off, s32 offset:444
-; GFX11-TRUE16-NEXT: scratch_load_b32 v58, off, s32 offset:448
-; GFX11-TRUE16-NEXT: scratch_load_b32 v57, off, s32 offset:452
-; GFX11-TRUE16-NEXT: scratch_load_b32 v56, off, s32 offset:456
-; GFX11-TRUE16-NEXT: scratch_load_b32 v47, off, s32 offset:460
-; GFX11-TRUE16-NEXT: scratch_load_b32 v46, off, s32 offset:464
-; GFX11-TRUE16-NEXT: scratch_load_b32 v45, off, s32 offset:468
-; GFX11-TRUE16-NEXT: scratch_load_b32 v44, off, s32 offset:472
-; GFX11-TRUE16-NEXT: scratch_load_b32 v43, off, s32 offset:476
-; GFX11-TRUE16-NEXT: scratch_load_b32 v42, off, s32 offset:480
-; GFX11-TRUE16-NEXT: scratch_load_b32 v41, off, s32 offset:484
-; GFX11-TRUE16-NEXT: scratch_load_b32 v40, off, s32 offset:488
+; GFX11-TRUE16-NEXT: s_clause 0x17 ; 96-byte Folded Reload
+; GFX11-TRUE16-NEXT: scratch_load_b32 v79, off, s32 offset:392
+; GFX11-TRUE16-NEXT: scratch_load_b32 v78, off, s32 offset:396
+; GFX11-TRUE16-NEXT: scratch_load_b32 v77, off, s32 offset:400
+; GFX11-TRUE16-NEXT: scratch_load_b32 v76, off, s32 offset:404
+; GFX11-TRUE16-NEXT: scratch_load_b32 v75, off, s32 offset:408
+; GFX11-TRUE16-NEXT: scratch_load_b32 v74, off, s32 offset:412
+; GFX11-TRUE16-NEXT: scratch_load_b32 v73, off, s32 offset:416
+; GFX11-TRUE16-NEXT: scratch_load_b32 v72, off, s32 offset:420
+; GFX11-TRUE16-NEXT: scratch_load_b32 v63, off, s32 offset:424
+; GFX11-TRUE16-NEXT: scratch_load_b32 v62, off, s32 offset:428
+; GFX11-TRUE16-NEXT: scratch_load_b32 v61, off, s32 offset:432
+; GFX11-TRUE16-NEXT: scratch_load_b32 v60, off, s32 offset:436
+; GFX11-TRUE16-NEXT: scratch_load_b32 v59, off, s32 offset:440
+; GFX11-TRUE16-NEXT: scratch_load_b32 v58, off, s32 offset:444
+; GFX11-TRUE16-NEXT: scratch_load_b32 v57, off, s32 offset:448
+; GFX11-TRUE16-NEXT: scratch_load_b32 v56, off, s32 offset:452
+; GFX11-TRUE16-NEXT: scratch_load_b32 v47, off, s32 offset:456
+; GFX11-TRUE16-NEXT: scratch_load_b32 v46, off, s32 offset:460
+; GFX11-TRUE16-NEXT: scratch_load_b32 v45, off, s32 offset:464
+; GFX11-TRUE16-NEXT: scratch_load_b32 v44, off, s32 offset:468
+; GFX11-TRUE16-NEXT: scratch_load_b32 v43, off, s32 offset:472
+; GFX11-TRUE16-NEXT: scratch_load_b32 v42, off, s32 offset:476
+; GFX11-TRUE16-NEXT: scratch_load_b32 v41, off, s32 offset:480
+; GFX11-TRUE16-NEXT: scratch_load_b32 v40, off, s32 offset:484
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0)
; GFX11-TRUE16-NEXT: s_setpc_b64 s[30:31]
;
@@ -193127,75 +193143,75 @@ define <64 x i16> @bitcast_v128i8_to_v64i16(<128 x i8> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: v_mov_b32_e32 v38, v0
; GFX11-FAKE16-NEXT: s_clause 0x1f
; GFX11-FAKE16-NEXT: scratch_load_u16 v0, off, s32 offset:384
-; GFX11-FAKE16-NEXT: scratch_load_u16 v105, off, s32 offset:380
-; GFX11-FAKE16-NEXT: scratch_load_u16 v93, off, s32 offset:376
-; GFX11-FAKE16-NEXT: scratch_load_u16 v104, off, s32 offset:372
+; GFX11-FAKE16-NEXT: scratch_load_u16 v95, off, s32 offset:380
+; GFX11-FAKE16-NEXT: scratch_load_u16 v91, off, s32 offset:376
+; GFX11-FAKE16-NEXT: scratch_load_u16 v94, off, s32 offset:372
; GFX11-FAKE16-NEXT: scratch_load_u16 v1, off, s32 offset:368
-; GFX11-FAKE16-NEXT: scratch_load_u16 v94, off, s32 offset:364
+; GFX11-FAKE16-NEXT: scratch_load_u16 v93, off, s32 offset:364
; GFX11-FAKE16-NEXT: scratch_load_u16 v2, off, s32 offset:360
-; GFX11-FAKE16-NEXT: scratch_load_u16 v106, off, s32 offset:356
+; GFX11-FAKE16-NEXT: scratch_load_u16 v105, off, s32 offset:356
; GFX11-FAKE16-NEXT: scratch_load_u16 v3, off, s32 offset:352
-; GFX11-FAKE16-NEXT: scratch_load_u16 v91, off, s32 offset:348
-; GFX11-FAKE16-NEXT: scratch_load_u16 v77, off, s32 offset:344
-; GFX11-FAKE16-NEXT: scratch_load_u16 v89, off, s32 offset:340
+; GFX11-FAKE16-NEXT: scratch_load_u16 v88, off, s32 offset:348
+; GFX11-FAKE16-NEXT: scratch_load_u16 v75, off, s32 offset:344
+; GFX11-FAKE16-NEXT: scratch_load_u16 v79, off, s32 offset:340
; GFX11-FAKE16-NEXT: scratch_load_u16 v4, off, s32 offset:336
-; GFX11-FAKE16-NEXT: scratch_load_u16 v88, off, s32 offset:332
+; GFX11-FAKE16-NEXT: scratch_load_u16 v78, off, s32 offset:332
; GFX11-FAKE16-NEXT: scratch_load_u16 v5, off, s32 offset:328
-; GFX11-FAKE16-NEXT: scratch_load_u16 v92, off, s32 offset:324
+; GFX11-FAKE16-NEXT: scratch_load_u16 v90, off, s32 offset:324
; GFX11-FAKE16-NEXT: scratch_load_u16 v6, off, s32 offset:320
-; GFX11-FAKE16-NEXT: scratch_load_u16 v78, off, s32 offset:316
-; GFX11-FAKE16-NEXT: scratch_load_u16 v62, off, s32 offset:312
-; GFX11-FAKE16-NEXT: scratch_load_u16 v76, off, s32 offset:308
+; GFX11-FAKE16-NEXT: scratch_load_u16 v76, off, s32 offset:316
+; GFX11-FAKE16-NEXT: scratch_load_u16 v58, off, s32 offset:312
+; GFX11-FAKE16-NEXT: scratch_load_u16 v74, off, s32 offset:308
; GFX11-FAKE16-NEXT: scratch_load_u16 v7, off, s32 offset:304
-; GFX11-FAKE16-NEXT: scratch_load_u16 v73, off, s32 offset:300
+; GFX11-FAKE16-NEXT: scratch_load_u16 v72, off, s32 offset:300
; GFX11-FAKE16-NEXT: scratch_load_u16 v8, off, s32 offset:296
-; GFX11-FAKE16-NEXT: scratch_load_u16 v79, off, s32 offset:292
+; GFX11-FAKE16-NEXT: scratch_load_u16 v77, off, s32 offset:292
; GFX11-FAKE16-NEXT: scratch_load_u16 v9, off, s32 offset:288
-; GFX11-FAKE16-NEXT: scratch_load_u16 v63, off, s32 offset:284
+; GFX11-FAKE16-NEXT: scratch_load_u16 v59, off, s32 offset:284
; GFX11-FAKE16-NEXT: scratch_load_u16 v45, off, s32 offset:280
-; GFX11-FAKE16-NEXT: scratch_load_u16 v61, off, s32 offset:276
+; GFX11-FAKE16-NEXT: scratch_load_u16 v57, off, s32 offset:276
; GFX11-FAKE16-NEXT: scratch_load_u16 v10, off, s32 offset:272
-; GFX11-FAKE16-NEXT: scratch_load_u16 v58, off, s32 offset:268
+; GFX11-FAKE16-NEXT: scratch_load_u16 v47, off, s32 offset:268
; GFX11-FAKE16-NEXT: scratch_load_u16 v11, off, s32 offset:264
-; GFX11-FAKE16-NEXT: scratch_load_u16 v72, off, s32 offset:260
+; GFX11-FAKE16-NEXT: scratch_load_u16 v60, off, s32 offset:260
; GFX11-FAKE16-NEXT: s_clause 0x1f
-; GFX11-FAKE16-NEXT: scratch_load_u16 v41, off, s32 offset:256
+; GFX11-FAKE16-NEXT: scratch_load_u16 v183, off, s32 offset:256
; GFX11-FAKE16-NEXT: scratch_load_u16 v44, off, s32 offset:252
-; GFX11-FAKE16-NEXT: scratch_load_u16 v57, off, s32 offset:248
-; GFX11-FAKE16-NEXT: scratch_load_u16 v60, off, s32 offset:244
-; GFX11-FAKE16-NEXT: scratch_load_u16 v181, off, s32 offset:240
-; GFX11-FAKE16-NEXT: scratch_load_u16 v40, off, s32 offset:236
-; GFX11-FAKE16-NEXT: scratch_load_u16 v42, off, s32 offset:232
-; GFX11-FAKE16-NEXT: scratch_load_u16 v43, off, s32 offset:228
-; GFX11-FAKE16-NEXT: scratch_load_u16 v176, off, s32 offset:224
-; GFX11-FAKE16-NEXT: scratch_load_u16 v179, off, s32 offset:220
-; GFX11-FAKE16-NEXT: scratch_load_u16 v178, off, s32 offset:216
-; GFX11-FAKE16-NEXT: scratch_load_u16 v183, off, s32 offset:212
-; GFX11-FAKE16-NEXT: scratch_load_u16 v161, off, s32 offset:208
-; GFX11-FAKE16-NEXT: scratch_load_u16 v165, off, s32 offset:204
-; GFX11-FAKE16-NEXT: scratch_load_u16 v163, off, s32 offset:200
-; GFX11-FAKE16-NEXT: scratch_load_u16 v177, off, s32 offset:196
-; GFX11-FAKE16-NEXT: scratch_load_u16 v144, off, s32 offset:192
-; GFX11-FAKE16-NEXT: scratch_load_u16 v149, off, s32 offset:188
-; GFX11-FAKE16-NEXT: scratch_load_u16 v160, off, s32 offset:184
-; GFX11-FAKE16-NEXT: scratch_load_u16 v164, off, s32 offset:180
-; GFX11-FAKE16-NEXT: scratch_load_u16 v119, off, s32 offset:176
-; GFX11-FAKE16-NEXT: scratch_load_u16 v133, off, s32 offset:172
-; GFX11-FAKE16-NEXT: scratch_load_u16 v146, off, s32 offset:168
-; GFX11-FAKE16-NEXT: scratch_load_u16 v147, off, s32 offset:164
-; GFX11-FAKE16-NEXT: scratch_load_u16 v102, off, s32 offset:160
-; GFX11-FAKE16-NEXT: scratch_load_u16 v117, off, s32 offset:156
-; GFX11-FAKE16-NEXT: scratch_load_u16 v128, off, s32 offset:152
-; GFX11-FAKE16-NEXT: scratch_load_u16 v131, off, s32 offset:148
-; GFX11-FAKE16-NEXT: scratch_load_u16 v96, off, s32 offset:144
-; GFX11-FAKE16-NEXT: scratch_load_u16 v98, off, s32 offset:140
-; GFX11-FAKE16-NEXT: scratch_load_u16 v97, off, s32 offset:136
-; GFX11-FAKE16-NEXT: scratch_load_u16 v103, off, s32 offset:132
+; GFX11-FAKE16-NEXT: scratch_load_u16 v46, off, s32 offset:248
+; GFX11-FAKE16-NEXT: scratch_load_u16 v56, off, s32 offset:244
+; GFX11-FAKE16-NEXT: scratch_load_u16 v178, off, s32 offset:240
+; GFX11-FAKE16-NEXT: scratch_load_u16 v182, off, s32 offset:236
+; GFX11-FAKE16-NEXT: scratch_load_u16 v40, off, s32 offset:232
+; GFX11-FAKE16-NEXT: scratch_load_u16 v42, off, s32 offset:228
+; GFX11-FAKE16-NEXT: scratch_load_u16 v163, off, s32 offset:224
+; GFX11-FAKE16-NEXT: scratch_load_u16 v176, off, s32 offset:220
+; GFX11-FAKE16-NEXT: scratch_load_u16 v167, off, s32 offset:216
+; GFX11-FAKE16-NEXT: scratch_load_u16 v179, off, s32 offset:212
+; GFX11-FAKE16-NEXT: scratch_load_u16 v147, off, s32 offset:208
+; GFX11-FAKE16-NEXT: scratch_load_u16 v161, off, s32 offset:204
+; GFX11-FAKE16-NEXT: scratch_load_u16 v151, off, s32 offset:200
+; GFX11-FAKE16-NEXT: scratch_load_u16 v165, off, s32 offset:196
+; GFX11-FAKE16-NEXT: scratch_load_u16 v118, off, s32 offset:192
+; GFX11-FAKE16-NEXT: scratch_load_u16 v134, off, s32 offset:188
+; GFX11-FAKE16-NEXT: scratch_load_u16 v145, off, s32 offset:184
+; GFX11-FAKE16-NEXT: scratch_load_u16 v160, off, s32 offset:180
+; GFX11-FAKE16-NEXT: scratch_load_u16 v102, off, s32 offset:176
+; GFX11-FAKE16-NEXT: scratch_load_u16 v116, off, s32 offset:172
+; GFX11-FAKE16-NEXT: scratch_load_u16 v131, off, s32 offset:168
+; GFX11-FAKE16-NEXT: scratch_load_u16 v133, off, s32 offset:164
+; GFX11-FAKE16-NEXT: scratch_load_u16 v99, off, s32 offset:160
+; GFX11-FAKE16-NEXT: scratch_load_u16 v101, off, s32 offset:156
+; GFX11-FAKE16-NEXT: scratch_load_u16 v103, off, s32 offset:152
+; GFX11-FAKE16-NEXT: scratch_load_u16 v115, off, s32 offset:148
+; GFX11-FAKE16-NEXT: scratch_load_u16 v87, off, s32 offset:144
+; GFX11-FAKE16-NEXT: scratch_load_u16 v97, off, s32 offset:140
+; GFX11-FAKE16-NEXT: scratch_load_u16 v96, off, s32 offset:136
+; GFX11-FAKE16-NEXT: scratch_load_u16 v100, off, s32 offset:132
; GFX11-FAKE16-NEXT: s_clause 0x1f
; GFX11-FAKE16-NEXT: scratch_load_u16 v12, off, s32 offset:128
-; GFX11-FAKE16-NEXT: scratch_load_u16 v116, off, s32 offset:124
-; GFX11-FAKE16-NEXT: scratch_load_u16 v100, off, s32 offset:120
-; GFX11-FAKE16-NEXT: scratch_load_u16 v115, off, s32 offset:116
+; GFX11-FAKE16-NEXT: scratch_load_u16 v130, off, s32 offset:124
+; GFX11-FAKE16-NEXT: scratch_load_u16 v113, off, s32 offset:120
+; GFX11-FAKE16-NEXT: scratch_load_u16 v129, off, s32 offset:116
; GFX11-FAKE16-NEXT: scratch_load_b32 v13, off, s32 offset:388
; GFX11-FAKE16-NEXT: scratch_load_u16 v14, off, s32 offset:8
; GFX11-FAKE16-NEXT: scratch_load_u16 v15, off, s32 offset:16
@@ -193208,25 +193224,25 @@ define <64 x i16> @bitcast_v128i8_to_v64i16(<128 x i8> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: scratch_load_u16 v22, off, s32 offset:96
; GFX11-FAKE16-NEXT: scratch_load_u16 v23, off, s32 offset:104
; GFX11-FAKE16-NEXT: scratch_load_u16 v24, off, s32 offset:112
-; GFX11-FAKE16-NEXT: scratch_load_u16 v162, off, s32 offset:108
-; GFX11-FAKE16-NEXT: scratch_load_u16 v167, off, s32 offset:100
-; GFX11-FAKE16-NEXT: scratch_load_u16 v150, off, s32 offset:92
-; GFX11-FAKE16-NEXT: scratch_load_u16 v135, off, s32 offset:88
-; GFX11-FAKE16-NEXT: scratch_load_u16 v148, off, s32 offset:84
-; GFX11-FAKE16-NEXT: scratch_load_u16 v145, off, s32 offset:76
-; GFX11-FAKE16-NEXT: scratch_load_u16 v151, off, s32 offset:68
-; GFX11-FAKE16-NEXT: scratch_load_u16 v132, off, s32 offset:60
-; GFX11-FAKE16-NEXT: scratch_load_u16 v114, off, s32 offset:56
-; GFX11-FAKE16-NEXT: scratch_load_u16 v130, off, s32 offset:52
-; GFX11-FAKE16-NEXT: scratch_load_u16 v129, off, s32 offset:44
-; GFX11-FAKE16-NEXT: scratch_load_u16 v134, off, s32 offset:36
-; GFX11-FAKE16-NEXT: scratch_load_u16 v113, off, s32 offset:28
-; GFX11-FAKE16-NEXT: scratch_load_u16 v101, off, s32 offset:24
-; GFX11-FAKE16-NEXT: scratch_load_u16 v112, off, s32 offset:20
-; GFX11-FAKE16-NEXT: scratch_load_u16 v99, off, s32 offset:12
+; GFX11-FAKE16-NEXT: scratch_load_u16 v177, off, s32 offset:108
+; GFX11-FAKE16-NEXT: scratch_load_u16 v181, off, s32 offset:100
+; GFX11-FAKE16-NEXT: scratch_load_u16 v164, off, s32 offset:92
+; GFX11-FAKE16-NEXT: scratch_load_u16 v149, off, s32 offset:88
+; GFX11-FAKE16-NEXT: scratch_load_u16 v162, off, s32 offset:84
+; GFX11-FAKE16-NEXT: scratch_load_u16 v150, off, s32 offset:76
+; GFX11-FAKE16-NEXT: scratch_load_u16 v166, off, s32 offset:68
+; GFX11-FAKE16-NEXT: scratch_load_u16 v146, off, s32 offset:60
+; GFX11-FAKE16-NEXT: scratch_load_u16 v128, off, s32 offset:56
+; GFX11-FAKE16-NEXT: scratch_load_u16 v144, off, s32 offset:52
+; GFX11-FAKE16-NEXT: scratch_load_u16 v135, off, s32 offset:44
+; GFX11-FAKE16-NEXT: scratch_load_u16 v148, off, s32 offset:36
+; GFX11-FAKE16-NEXT: scratch_load_u16 v119, off, s32 offset:28
+; GFX11-FAKE16-NEXT: scratch_load_u16 v114, off, s32 offset:24
+; GFX11-FAKE16-NEXT: scratch_load_u16 v117, off, s32 offset:20
+; GFX11-FAKE16-NEXT: scratch_load_u16 v112, off, s32 offset:12
; GFX11-FAKE16-NEXT: s_clause 0x1
-; GFX11-FAKE16-NEXT: scratch_load_u16 v118, off, s32 offset:4
-; GFX11-FAKE16-NEXT: scratch_load_u16 v87, off, s32
+; GFX11-FAKE16-NEXT: scratch_load_u16 v132, off, s32 offset:4
+; GFX11-FAKE16-NEXT: scratch_load_u16 v98, off, s32
; GFX11-FAKE16-NEXT: v_dual_mov_b32 v83, v30 :: v_dual_mov_b32 v80, v27
; GFX11-FAKE16-NEXT: v_dual_mov_b32 v85, v29 :: v_dual_mov_b32 v86, v28
; GFX11-FAKE16-NEXT: v_dual_mov_b32 v82, v26 :: v_dual_mov_b32 v81, v25
@@ -193248,27 +193264,27 @@ define <64 x i16> @bitcast_v128i8_to_v64i16(<128 x i8> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(29)
; GFX11-FAKE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v13
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(28)
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v182, 8, v14
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v43, 8, v14
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(27)
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v166, 8, v15
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v180, 8, v15
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(26)
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v180, 8, v16
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v41, 8, v16
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(25)
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v46, 8, v17
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v61, 8, v17
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(24)
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v47, 8, v18
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v62, 8, v18
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(23)
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v56, 8, v19
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v63, 8, v19
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(22)
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v75, 8, v20
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v92, 8, v20
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(21)
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v59, 8, v21
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v73, 8, v21
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(20)
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v74, 8, v22
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v89, 8, v22
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(19)
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v95, 8, v23
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v106, 8, v23
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(18)
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v90, 8, v24
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v104, 8, v24
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31
; GFX11-FAKE16-NEXT: s_and_saveexec_b32 s0, vcc_lo
@@ -193297,102 +193313,102 @@ define <64 x i16> @bitcast_v128i8_to_v64i16(<128 x i8> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: v_perm_b32 v4, v7, v6, 0x5040100
; GFX11-FAKE16-NEXT: v_perm_b32 v6, v11, v10, 0x5040100
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(1)
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v7, 0xff, v118
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v11, 0xff, v113
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v7, 0xff, v132
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v11, 0xff, v119
; GFX11-FAKE16-NEXT: v_perm_b32 v5, v9, v8, 0x5040100
; GFX11-FAKE16-NEXT: v_perm_b32 v8, v86, v85, 0xc0c0004
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0)
-; GFX11-FAKE16-NEXT: v_perm_b32 v9, v83, v87, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v10, 0xff, v99
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v12, v7, v182
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v7, 0xff, v134
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v13, 0xff, v129
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v11, v11, v180
-; GFX11-FAKE16-NEXT: v_perm_b32 v14, v112, v101, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v10, v10, v166
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v15, v7, v46
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v13, v13, v47
+; GFX11-FAKE16-NEXT: v_perm_b32 v9, v83, v98, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v10, 0xff, v112
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v12, v7, v43
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v7, 0xff, v148
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v13, 0xff, v135
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v11, v11, v41
+; GFX11-FAKE16-NEXT: v_perm_b32 v14, v117, v114, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v10, v10, v180
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v15, v7, v61
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v13, v13, v62
; GFX11-FAKE16-NEXT: v_perm_b32 v7, v9, v8, 0x5040100
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v16, 0xff, v132
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v16, 0xff, v146
; GFX11-FAKE16-NEXT: v_perm_b32 v9, v11, v14, 0x5040100
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v11, 0xff, v151
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v11, 0xff, v166
; GFX11-FAKE16-NEXT: v_perm_b32 v8, v10, v12, 0x5040100
; GFX11-FAKE16-NEXT: v_perm_b32 v10, v13, v15, 0x5040100
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v12, v16, v56
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v14, 0xff, v145
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v15, 0xff, v150
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v16, v11, v75
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v11, 0xff, v167
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v17, 0xff, v162
-; GFX11-FAKE16-NEXT: v_perm_b32 v13, v130, v114, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v14, v14, v59
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v15, v15, v74
-; GFX11-FAKE16-NEXT: v_perm_b32 v18, v148, v135, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v19, v11, v95
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v17, v17, v90
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v20, 0xff, v116
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v12, v16, v63
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v14, 0xff, v150
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v15, 0xff, v164
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v16, v11, v92
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v11, 0xff, v181
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v17, 0xff, v177
+; GFX11-FAKE16-NEXT: v_perm_b32 v13, v144, v128, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v14, v14, v73
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v15, v15, v89
+; GFX11-FAKE16-NEXT: v_perm_b32 v18, v162, v149, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v19, v11, v106
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v17, v17, v104
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v20, 0xff, v130
; GFX11-FAKE16-NEXT: v_perm_b32 v11, v12, v13, 0x5040100
; GFX11-FAKE16-NEXT: v_perm_b32 v12, v14, v16, 0x5040100
; GFX11-FAKE16-NEXT: v_perm_b32 v13, v15, v18, 0x5040100
; GFX11-FAKE16-NEXT: v_perm_b32 v14, v17, v19, 0x5040100
; GFX11-FAKE16-NEXT: v_or_b32_e32 v15, v20, v107
-; GFX11-FAKE16-NEXT: v_perm_b32 v16, v115, v100, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v17, v103, v97, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v18, v98, v96, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v19, v131, v128, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v20, v117, v102, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v21, v147, v146, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v22, v133, v119, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v23, v164, v160, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v24, v149, v144, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v16, v129, v113, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v17, v100, v96, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v18, v97, v87, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v19, v115, v103, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v20, v101, v99, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v21, v133, v131, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v22, v116, v102, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v23, v160, v145, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v24, v134, v118, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v15, v15, v16, 0x5040100
; GFX11-FAKE16-NEXT: v_perm_b32 v16, v18, v17, 0x5040100
; GFX11-FAKE16-NEXT: v_perm_b32 v17, v20, v19, 0x5040100
; GFX11-FAKE16-NEXT: v_perm_b32 v18, v22, v21, 0x5040100
; GFX11-FAKE16-NEXT: v_perm_b32 v19, v24, v23, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v20, v177, v163, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v21, v165, v161, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v22, v183, v178, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v23, v179, v176, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v24, v43, v42, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v25, v40, v181, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v26, v60, v57, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v27, v44, v41, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v28, 0xff, v72
+; GFX11-FAKE16-NEXT: v_perm_b32 v20, v165, v151, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v21, v161, v147, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v22, v179, v167, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v23, v176, v163, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v24, v42, v40, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v25, v182, v178, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v26, v56, v46, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v27, v44, v183, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v28, 0xff, v60
; GFX11-FAKE16-NEXT: v_perm_b32 v20, v21, v20, 0x5040100
; GFX11-FAKE16-NEXT: v_perm_b32 v21, v23, v22, 0x5040100
; GFX11-FAKE16-NEXT: v_perm_b32 v22, v25, v24, 0x5040100
; GFX11-FAKE16-NEXT: v_perm_b32 v23, v27, v26, 0x5040100
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v24, 0xff, v58
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v24, 0xff, v47
; GFX11-FAKE16-NEXT: v_or_b32_e32 v26, v28, v109
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v27, 0xff, v79
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v28, 0xff, v73
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v25, 0xff, v63
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v27, 0xff, v77
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v28, 0xff, v72
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v25, 0xff, v59
; GFX11-FAKE16-NEXT: v_or_b32_e32 v24, v24, v108
-; GFX11-FAKE16-NEXT: v_perm_b32 v29, v61, v45, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v29, v57, v45, 0xc0c0004
; GFX11-FAKE16-NEXT: v_or_b32_e32 v27, v27, v111
; GFX11-FAKE16-NEXT: v_or_b32_e32 v28, v28, v120
; GFX11-FAKE16-NEXT: v_or_b32_e32 v25, v25, v110
; GFX11-FAKE16-NEXT: v_perm_b32 v24, v24, v26, 0x5040100
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v30, 0xff, v78
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v31, 0xff, v91
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v30, 0xff, v76
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v31, 0xff, v88
; GFX11-FAKE16-NEXT: v_perm_b32 v26, v28, v27, 0x5040100
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v27, 0xff, v88
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v27, 0xff, v78
; GFX11-FAKE16-NEXT: v_perm_b32 v25, v25, v29, 0x5040100
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v29, 0xff, v92
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v33, 0xff, v94
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v34, 0xff, v105
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v29, 0xff, v90
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v33, 0xff, v93
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v34, 0xff, v95
; GFX11-FAKE16-NEXT: v_or_b32_e32 v32, v27, v122
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v27, 0xff, v106
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v27, 0xff, v105
; GFX11-FAKE16-NEXT: v_or_b32_e32 v28, v30, v121
-; GFX11-FAKE16-NEXT: v_perm_b32 v30, v76, v62, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v30, v74, v58, 0xc0c0004
; GFX11-FAKE16-NEXT: v_or_b32_e32 v29, v29, v124
; GFX11-FAKE16-NEXT: v_or_b32_e32 v31, v31, v123
-; GFX11-FAKE16-NEXT: v_perm_b32 v35, v89, v77, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v35, v79, v75, 0xc0c0004
; GFX11-FAKE16-NEXT: v_or_b32_e32 v36, v27, v125
; GFX11-FAKE16-NEXT: v_or_b32_e32 v33, v33, v126
; GFX11-FAKE16-NEXT: v_or_b32_e32 v34, v34, v127
-; GFX11-FAKE16-NEXT: v_perm_b32 v37, v104, v93, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v37, v94, v91, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v27, v28, v30, 0x5040100
; GFX11-FAKE16-NEXT: v_perm_b32 v28, v32, v29, 0x5040100
; GFX11-FAKE16-NEXT: v_perm_b32 v29, v31, v35, 0x5040100
@@ -193429,90 +193445,90 @@ define <64 x i16> @bitcast_v128i8_to_v64i16(<128 x i8> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr86
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr85
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr83
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr87
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr118
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr99
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr98
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr132
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr112
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr101
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr113
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr134
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr129
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr130
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr117
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr114
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr132
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr151
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr145
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr119
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr148
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr135
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr144
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr128
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr146
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr166
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr150
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr167
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr162
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr115
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr149
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr164
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr181
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr177
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr129
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr113
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr130
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr100
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr116
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr103
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr97
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr98
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr96
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr97
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr87
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr115
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr103
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr101
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr99
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr133
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr131
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr128
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr117
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr116
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr102
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr147
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr146
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr133
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr119
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr164
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr160
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr149
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr144
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr177
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr163
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr145
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr134
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr118
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr165
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr151
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr161
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr183
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr178
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr147
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr179
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr167
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr176
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr43
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr163
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr42
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr40
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr181
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr182
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr178
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr56
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr46
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr44
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr183
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr60
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr47
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr57
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr44
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr41
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr45
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr59
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr77
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr72
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr74
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr58
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr61
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr45
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr63
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr79
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr73
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr76
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr62
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr90
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr78
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr92
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr79
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr75
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr88
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr89
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr77
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr105
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr93
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr94
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr91
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr95
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr43
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr180
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr41
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr61
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr62
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr63
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr92
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr73
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr89
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr106
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr94
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr104
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr93
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr105
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr182
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr166
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr180
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr46
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr47
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr56
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr75
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr59
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr74
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr95
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr90
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr107
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr109
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr108
@@ -193530,56 +193546,56 @@ define <64 x i16> @bitcast_v128i8_to_v64i16(<128 x i8> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: s_and_not1_saveexec_b32 s0, s0
; GFX11-FAKE16-NEXT: s_cbranch_execz .LBB96_4
; GFX11-FAKE16-NEXT: ; %bb.3: ; %cmp.true
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v0, v104, 3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v1, v105, 3
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v2, 8, v93
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v3, v106, 3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v94, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v0, v94, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v1, v95, 3
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v2, 8, v91
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v3, v105, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v93, 3
; GFX11-FAKE16-NEXT: v_and_b32_e32 v0, 0xff, v0
; GFX11-FAKE16-NEXT: v_and_b32_e32 v1, 0xff, v1
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v5, v92, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v5, v90, 3
; GFX11-FAKE16-NEXT: v_and_b32_e32 v3, 0xff, v3
; GFX11-FAKE16-NEXT: v_and_b32_e32 v4, 0xff, v4
; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v2, v0
; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v127, v1
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v2, v89, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v2, v79, 3
; GFX11-FAKE16-NEXT: v_or_b32_e32 v3, v125, v3
; GFX11-FAKE16-NEXT: v_or_b32_e32 v4, v126, v4
; GFX11-FAKE16-NEXT: v_add_nc_u16 v31, 0x300, v0
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v89, 0x300, v1
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v79, 0x300, v1
; GFX11-FAKE16-NEXT: v_and_b32_e32 v0, 0xff, v2
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v1, 8, v77
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v2, v91, 3
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v1, 8, v75
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v2, v88, 3
; GFX11-FAKE16-NEXT: v_add_nc_u16 v30, 0x300, v3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v77, 0x300, v4
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v3, v88, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v75, 0x300, v4
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v3, v78, 3
; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v1, v0
; GFX11-FAKE16-NEXT: v_and_b32_e32 v1, 0xff, v2
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xff, v5
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v76, 3
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v5, 8, v62
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v74, 3
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v5, 8, v58
; GFX11-FAKE16-NEXT: v_add_nc_u16 v29, 0x300, v0
; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v123, v1
; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v124, v2
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xff, v3
; GFX11-FAKE16-NEXT: v_and_b32_e32 v3, 0xff, v4
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v78, 3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v62, 0x300, v0
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v76, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v58, 0x300, v0
; GFX11-FAKE16-NEXT: v_add_nc_u16 v28, 0x300, v1
; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v122, v2
; GFX11-FAKE16-NEXT: v_or_b32_e32 v2, v5, v3
; GFX11-FAKE16-NEXT: v_and_b32_e32 v1, 0xff, v4
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v3, v79, 3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v73, 3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v73, 0x300, v0
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v3, v77, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v72, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v72, 0x300, v0
; GFX11-FAKE16-NEXT: v_add_nc_u16 v27, 0x300, v2
; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v121, v1
; GFX11-FAKE16-NEXT: v_and_b32_e32 v1, 0xff, v3
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xff, v4
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v3, v61, 3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v5, v72, 3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v61, 0x300, v0
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v0, v63, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v3, v57, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v5, v60, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v57, 0x300, v0
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v0, v59, 3
; GFX11-FAKE16-NEXT: v_or_b32_e32 v2, v120, v2
; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v111, v1
; GFX11-FAKE16-NEXT: v_and_b32_e32 v3, 0xff, v3
@@ -193590,176 +193606,176 @@ define <64 x i16> @bitcast_v128i8_to_v64i16(<128 x i8> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: v_add_nc_u16 v26, 0x300, v1
; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v4, v3
; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v110, v0
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v3, v58, 3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v60, 3
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v5, 8, v42
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v3, v47, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v56, 3
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v5, 8, v40
; GFX11-FAKE16-NEXT: v_add_nc_u16 v25, 0x300, v1
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v58, 0x300, v0
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v47, 0x300, v0
; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v109, v2
; GFX11-FAKE16-NEXT: v_and_b32_e32 v1, 0xff, v3
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xff, v4
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v57
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v46
; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v44, 3
; GFX11-FAKE16-NEXT: v_add_nc_u16 v24, 0x300, v0
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v0, v43, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v0, v42, 3
; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v108, v1
; GFX11-FAKE16-NEXT: v_or_b32_e32 v2, v3, v2
; GFX11-FAKE16-NEXT: v_and_b32_e32 v3, 0xff, v4
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v4, 8, v41
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v4, 8, v183
; GFX11-FAKE16-NEXT: v_and_b32_e32 v0, 0xff, v0
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v6, v40, 3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v40, 0x300, v1
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v6, v182, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v182, 0x300, v1
; GFX11-FAKE16-NEXT: v_add_nc_u16 v23, 0x300, v2
; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v4, v3
; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v5, v0
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xff, v6
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v181
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v183, 3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v181, 0x300, v1
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v1, v179, 3
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v178
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v179, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v178, 0x300, v1
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v1, v176, 3
; GFX11-FAKE16-NEXT: v_add_nc_u16 v22, 0x300, v0
; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v3, v2
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xff, v4
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v178
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v167
; GFX11-FAKE16-NEXT: v_and_b32_e32 v1, 0xff, v1
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v4, 8, v176
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v5, v177, 3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v176, 0x300, v0
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v0, v165, 3
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v4, 8, v163
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v5, v165, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v163, 0x300, v0
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v0, v161, 3
; GFX11-FAKE16-NEXT: v_or_b32_e32 v2, v3, v2
; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v4, v1
; GFX11-FAKE16-NEXT: v_and_b32_e32 v3, 0xff, v5
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v4, 8, v163
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v4, 8, v151
; GFX11-FAKE16-NEXT: v_and_b32_e32 v0, 0xff, v0
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v5, 8, v161
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v6, v164, 3
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v5, 8, v147
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v6, v160, 3
; GFX11-FAKE16-NEXT: v_add_nc_u16 v21, 0x300, v2
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v161, 0x300, v1
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v147, 0x300, v1
; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v4, v3
; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v5, v0
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xff, v6
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v160
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v149, 3
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v145
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v134, 3
; GFX11-FAKE16-NEXT: v_add_nc_u16 v20, 0x300, v1
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v1, v147, 3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v147, 0x300, v0
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v1, v133, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v133, 0x300, v0
; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v3, v2
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xff, v4
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v144
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v118
; GFX11-FAKE16-NEXT: v_and_b32_e32 v1, 0xff, v1
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v4, 8, v146
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v5, v133, 3
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v4, 8, v131
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v5, v116, 3
; GFX11-FAKE16-NEXT: v_add_nc_u16 v19, 0x300, v0
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v0, v131, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v0, v115, 3
; GFX11-FAKE16-NEXT: v_or_b32_e32 v2, v3, v2
; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v4, v1
; GFX11-FAKE16-NEXT: v_and_b32_e32 v3, 0xff, v5
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v4, 8, v119
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v4, 8, v102
; GFX11-FAKE16-NEXT: v_and_b32_e32 v0, 0xff, v0
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v5, 8, v128
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v6, v117, 3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v117, 0x300, v2
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v5, 8, v103
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v6, v101, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v101, 0x300, v2
; GFX11-FAKE16-NEXT: v_add_nc_u16 v18, 0x300, v1
; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v4, v3
; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v5, v0
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xff, v6
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v102
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v103, 3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v102, 0x300, v1
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v1, v98, 3
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v99
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v100, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v99, 0x300, v1
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v1, v97, 3
; GFX11-FAKE16-NEXT: v_add_nc_u16 v17, 0x300, v0
; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v3, v2
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xff, v4
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v97
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v96
; GFX11-FAKE16-NEXT: v_and_b32_e32 v1, 0xff, v1
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v4, 8, v96
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v5, v115, 3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v96, 0x300, v0
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v0, v116, 3
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v4, 8, v87
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v5, v129, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v87, 0x300, v0
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v0, v130, 3
; GFX11-FAKE16-NEXT: v_or_b32_e32 v2, v3, v2
; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v4, v1
; GFX11-FAKE16-NEXT: v_and_b32_e32 v3, 0xff, v5
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v4, 8, v100
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v4, 8, v113
; GFX11-FAKE16-NEXT: v_and_b32_e32 v0, 0xff, v0
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(16)
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v5, v167, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v5, v181, 3
; GFX11-FAKE16-NEXT: v_add_nc_u16 v16, 0x300, v2
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v97, 0x300, v1
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v96, 0x300, v1
; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v4, v3
; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v107, v0
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xff, v5
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v3, v162, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v3, v177, 3
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(13)
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v148, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v162, 3
; GFX11-FAKE16-NEXT: v_add_nc_u16 v15, 0x300, v1
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v98, 0x300, v0
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v95, v2
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v97, 0x300, v0
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v106, v2
; GFX11-FAKE16-NEXT: v_and_b32_e32 v1, 0xff, v3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v3, v150, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v3, v164, 3
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xff, v4
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v4, 8, v135
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v4, 8, v149
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(11)
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v5, v151, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v5, v166, 3
; GFX11-FAKE16-NEXT: v_add_nc_u16 v14, 0x300, v0
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v90, v1
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v104, v1
; GFX11-FAKE16-NEXT: v_and_b32_e32 v1, 0xff, v3
; GFX11-FAKE16-NEXT: v_or_b32_e32 v2, v4, v2
; GFX11-FAKE16-NEXT: v_and_b32_e32 v3, 0xff, v5
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v145, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v150, 3
; GFX11-FAKE16-NEXT: v_add_nc_u16 v100, 0x300, v0
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v74, v1
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v89, v1
; GFX11-FAKE16-NEXT: v_add_nc_u16 v13, 0x300, v2
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v75, v3
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v92, v3
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xff, v4
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(8)
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v3, v130, 3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v103, 0x300, v0
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v0, v132, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v3, v144, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v102, 0x300, v0
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v0, v146, 3
; GFX11-FAKE16-NEXT: v_add_nc_u16 v12, 0x300, v1
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v59, v2
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v73, v2
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xff, v3
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v114
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v128
; GFX11-FAKE16-NEXT: v_and_b32_e32 v0, 0xff, v0
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(6)
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v134, 3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v5, v129, 3
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v114, 0x300, v1
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v148, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v5, v135, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v103, 0x300, v1
; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v3, v2
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v56, v0
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v63, v0
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xff, v4
; GFX11-FAKE16-NEXT: v_and_b32_e32 v3, 0xff, v5
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(3)
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v112, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v117, 3
; GFX11-FAKE16-NEXT: v_add_nc_u16 v11, 0x300, v1
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v112, 0x300, v0
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v46, v2
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v47, v3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v113, 0x300, v0
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v61, v2
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v62, v3
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xff, v4
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v101
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v113, 3
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v114
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v119, 3
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(1)
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v5, v118, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v5, v132, 3
; GFX11-FAKE16-NEXT: v_add_nc_u16 v10, 0x300, v0
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v101, 0x300, v1
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v114, 0x300, v1
; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v3, v2
; GFX11-FAKE16-NEXT: v_and_b32_e32 v1, 0xff, v4
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xff, v5
-; GFX11-FAKE16-NEXT: v_add_nc_u16 v3, v99, 3
+; GFX11-FAKE16-NEXT: v_add_nc_u16 v3, v112, 3
; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v86, 3
; GFX11-FAKE16-NEXT: v_add_nc_u16 v9, 0x300, v0
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v180, v1
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v182, v2
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v41, v1
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v43, v2
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xff, v3
; GFX11-FAKE16-NEXT: v_and_b32_e32 v3, 0xff, v4
; GFX11-FAKE16-NEXT: v_lshlrev_b16 v4, 8, v85
; GFX11-FAKE16-NEXT: v_add_nc_u16 v5, v83, 3
; GFX11-FAKE16-NEXT: v_add_nc_u16 v83, 0x300, v0
; GFX11-FAKE16-NEXT: v_add_nc_u16 v8, 0x300, v1
-; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v166, v2
+; GFX11-FAKE16-NEXT: v_or_b32_e32 v0, v180, v2
; GFX11-FAKE16-NEXT: v_or_b32_e32 v1, v4, v3
; GFX11-FAKE16-NEXT: v_and_b32_e32 v2, 0xff, v5
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0)
-; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v87
+; GFX11-FAKE16-NEXT: v_lshlrev_b16 v3, 8, v98
; GFX11-FAKE16-NEXT: v_add_nc_u16 v4, v84, 3
; GFX11-FAKE16-NEXT: v_add_nc_u16 v84, 0x300, v0
; GFX11-FAKE16-NEXT: v_add_nc_u16 v7, 0x300, v1
@@ -193844,28 +193860,28 @@ define <64 x i16> @bitcast_v128i8_to_v64i16(<128 x i8> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: v_perm_b32 v7, v80, v7, 0x5040100
; GFX11-FAKE16-NEXT: v_perm_b32 v8, v84, v8, 0x5040100
; GFX11-FAKE16-NEXT: v_perm_b32 v9, v83, v9, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v10, v101, v10, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v11, v112, v11, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v12, v114, v12, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v13, v103, v13, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v10, v114, v10, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v11, v113, v11, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v12, v103, v12, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v13, v102, v13, 0x5040100
; GFX11-FAKE16-NEXT: v_perm_b32 v14, v100, v14, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v15, v98, v15, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v16, v97, v16, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v17, v96, v17, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v18, v102, v18, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v19, v117, v19, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v20, v147, v20, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v21, v161, v21, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v22, v176, v22, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v23, v181, v23, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v24, v40, v24, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v25, v58, v25, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v15, v97, v15, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v16, v96, v16, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v17, v87, v17, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v18, v99, v18, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v19, v101, v19, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v20, v133, v20, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v21, v147, v21, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v22, v163, v22, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v23, v178, v23, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v24, v182, v24, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v25, v47, v25, 0x5040100
; GFX11-FAKE16-NEXT: v_perm_b32 v26, v45, v26, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v27, v61, v27, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v28, v73, v28, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v29, v62, v29, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v30, v77, v30, 0x5040100
-; GFX11-FAKE16-NEXT: v_perm_b32 v31, v89, v31, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v27, v57, v27, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v28, v72, v28, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v29, v58, v29, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v30, v75, v30, 0x5040100
+; GFX11-FAKE16-NEXT: v_perm_b32 v31, v79, v31, 0x5040100
; GFX11-FAKE16-NEXT: .LBB96_4: ; %end
; GFX11-FAKE16-NEXT: s_or_b32 exec_lo, exec_lo, s0
; GFX11-FAKE16-NEXT: s_clause 0x1f ; 128-byte Folded Reload
@@ -193996,831 +194012,821 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; SI-NEXT: v_writelane_b32 v56, s27, 2
; SI-NEXT: v_writelane_b32 v56, s26, 3
; SI-NEXT: v_writelane_b32 v56, s25, 4
-; SI-NEXT: v_writelane_b32 v56, s23, 5
-; SI-NEXT: v_writelane_b32 v56, s22, 6
-; SI-NEXT: v_writelane_b32 v56, s21, 7
-; SI-NEXT: v_writelane_b32 v56, s19, 8
-; SI-NEXT: v_writelane_b32 v56, s18, 9
-; SI-NEXT: v_writelane_b32 v56, s17, 10
-; SI-NEXT: v_writelane_b32 v56, s16, 11
-; SI-NEXT: v_writelane_b32 v56, s4, 12
-; SI-NEXT: v_readfirstlane_b32 s4, v29
-; SI-NEXT: v_writelane_b32 v56, s4, 13
-; SI-NEXT: v_readfirstlane_b32 s4, v28
+; SI-NEXT: v_writelane_b32 v56, s24, 5
+; SI-NEXT: v_writelane_b32 v56, s23, 6
+; SI-NEXT: v_writelane_b32 v56, s22, 7
+; SI-NEXT: v_writelane_b32 v56, s21, 8
+; SI-NEXT: v_writelane_b32 v56, s20, 9
+; SI-NEXT: v_writelane_b32 v56, s19, 10
+; SI-NEXT: v_writelane_b32 v56, s18, 11
+; SI-NEXT: v_writelane_b32 v56, s17, 12
+; SI-NEXT: v_writelane_b32 v56, s16, 13
; SI-NEXT: v_writelane_b32 v56, s4, 14
-; SI-NEXT: v_readfirstlane_b32 s4, v27
+; SI-NEXT: v_readfirstlane_b32 s4, v29
; SI-NEXT: v_writelane_b32 v56, s4, 15
-; SI-NEXT: v_readfirstlane_b32 s4, v26
+; SI-NEXT: v_readfirstlane_b32 s4, v28
; SI-NEXT: v_writelane_b32 v56, s4, 16
-; SI-NEXT: v_readfirstlane_b32 s4, v25
+; SI-NEXT: v_readfirstlane_b32 s4, v27
; SI-NEXT: v_writelane_b32 v56, s4, 17
-; SI-NEXT: v_readfirstlane_b32 s4, v24
+; SI-NEXT: v_readfirstlane_b32 s4, v26
; SI-NEXT: v_writelane_b32 v56, s4, 18
-; SI-NEXT: v_readfirstlane_b32 s4, v23
+; SI-NEXT: v_readfirstlane_b32 s4, v25
; SI-NEXT: v_writelane_b32 v56, s4, 19
-; SI-NEXT: v_readfirstlane_b32 s4, v22
+; SI-NEXT: v_readfirstlane_b32 s4, v24
; SI-NEXT: v_writelane_b32 v56, s4, 20
-; SI-NEXT: v_readfirstlane_b32 s4, v21
+; SI-NEXT: v_readfirstlane_b32 s4, v23
; SI-NEXT: v_writelane_b32 v56, s4, 21
-; SI-NEXT: v_readfirstlane_b32 s4, v20
-; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:332
-; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:328
-; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:324
-; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:320
+; SI-NEXT: v_readfirstlane_b32 s4, v22
; SI-NEXT: v_writelane_b32 v56, s4, 22
-; SI-NEXT: v_readfirstlane_b32 s4, v19
-; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:316
+; SI-NEXT: v_readfirstlane_b32 s4, v21
; SI-NEXT: v_writelane_b32 v56, s4, 23
-; SI-NEXT: v_readfirstlane_b32 s4, v18
+; SI-NEXT: v_readfirstlane_b32 s4, v20
; SI-NEXT: v_writelane_b32 v56, s4, 24
-; SI-NEXT: v_readfirstlane_b32 s4, v17
+; SI-NEXT: v_readfirstlane_b32 s4, v19
+; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:332
+; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:328
+; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:324
+; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:320
+; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:316
; SI-NEXT: v_writelane_b32 v56, s4, 25
-; SI-NEXT: v_readfirstlane_b32 s4, v16
+; SI-NEXT: v_readfirstlane_b32 s4, v17
; SI-NEXT: v_writelane_b32 v56, s4, 26
-; SI-NEXT: v_readfirstlane_b32 s4, v15
+; SI-NEXT: v_readfirstlane_b32 s4, v16
; SI-NEXT: v_writelane_b32 v56, s4, 27
-; SI-NEXT: v_readfirstlane_b32 s4, v14
-; SI-NEXT: v_writelane_b32 v56, s4, 28
-; SI-NEXT: v_readfirstlane_b32 s4, v11
-; SI-NEXT: v_writelane_b32 v56, s4, 29
; SI-NEXT: v_readfirstlane_b32 s4, v9
-; SI-NEXT: v_writelane_b32 v56, s4, 30
+; SI-NEXT: v_writelane_b32 v56, s4, 28
; SI-NEXT: v_readfirstlane_b32 s4, v8
-; SI-NEXT: v_writelane_b32 v56, s4, 31
-; SI-NEXT: v_readfirstlane_b32 s4, v7
+; SI-NEXT: v_writelane_b32 v56, s4, 29
; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:288
+; SI-NEXT: v_readfirstlane_b32 s4, v7
; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:284
-; SI-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:264
-; SI-NEXT: v_writelane_b32 v56, s4, 32
-; SI-NEXT: v_readfirstlane_b32 s4, v6
+; SI-NEXT: v_readfirstlane_b32 s87, v6
; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:280
-; SI-NEXT: v_readfirstlane_b32 s98, v5
+; SI-NEXT: v_readfirstlane_b32 s97, v5
; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:276
; SI-NEXT: v_readfirstlane_b32 s99, v4
; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:272
-; SI-NEXT: v_writelane_b32 v56, s4, 33
-; SI-NEXT: v_readfirstlane_b32 s4, v3
+; SI-NEXT: v_readfirstlane_b32 s76, v3
; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:268
-; SI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:312
-; SI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:308
+; SI-NEXT: v_readfirstlane_b32 s21, v18
+; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:312
+; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:308
; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:292
; SI-NEXT: v_readfirstlane_b32 s96, v13
-; SI-NEXT: v_readfirstlane_b32 s97, v12
-; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:304
-; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:300
-; SI-NEXT: v_readfirstlane_b32 s76, v10
-; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:296
-; SI-NEXT: v_writelane_b32 v56, s4, 34
-; SI-NEXT: v_readfirstlane_b32 s77, v2
-; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:260
+; SI-NEXT: v_readfirstlane_b32 s98, v12
+; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:304
+; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:300
+; SI-NEXT: v_readfirstlane_b32 s77, v11
+; SI-NEXT: v_readfirstlane_b32 s22, v10
+; SI-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:296
+; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:264
+; SI-NEXT: v_writelane_b32 v56, s4, 30
+; SI-NEXT: v_readfirstlane_b32 s85, v15
+; SI-NEXT: v_readfirstlane_b32 s86, v14
+; SI-NEXT: v_readfirstlane_b32 s23, v0
+; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:244
+; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:240
; SI-NEXT: ; implicit-def: $vgpr47 : SGPR spill to VGPR lane
; SI-NEXT: s_waitcnt vmcnt(14)
-; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v22
+; SI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v21
; SI-NEXT: s_and_b64 s[4:5], vcc, exec
-; SI-NEXT: v_readfirstlane_b32 s81, v21
-; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:228
-; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:224
-; SI-NEXT: v_readfirstlane_b32 s4, v1
-; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:256
-; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:252
-; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:248
-; SI-NEXT: v_writelane_b32 v56, s4, 35
-; SI-NEXT: v_readfirstlane_b32 s4, v0
-; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:244
-; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:240
-; SI-NEXT: v_readfirstlane_b32 s82, v23
+; SI-NEXT: v_readfirstlane_b32 s83, v20
+; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:228
+; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:224
+; SI-NEXT: v_readfirstlane_b32 s6, v23
; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:220
; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:216
-; SI-NEXT: v_readfirstlane_b32 s80, v20
-; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:236
-; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:232
-; SI-NEXT: v_readfirstlane_b32 s83, v19
-; SI-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:212
-; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:208
-; SI-NEXT: v_writelane_b32 v56, s4, 36
-; SI-NEXT: s_waitcnt vmcnt(14)
-; SI-NEXT: v_readfirstlane_b32 s21, v8
+; SI-NEXT: v_readfirstlane_b32 s4, v2
+; SI-NEXT: v_writelane_b32 v56, s4, 31
+; SI-NEXT: v_readfirstlane_b32 s4, v1
+; SI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:256
+; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:252
+; SI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:248
+; SI-NEXT: v_writelane_b32 v56, s4, 32
+; SI-NEXT: v_readfirstlane_b32 s4, v19
+; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:236
+; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:232
+; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:260
+; SI-NEXT: v_writelane_b32 v56, s6, 33
+; SI-NEXT: v_readfirstlane_b32 s6, v24
+; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:212
+; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:208
+; SI-NEXT: v_writelane_b32 v56, s6, 34
+; SI-NEXT: v_readfirstlane_b32 s56, v8
; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:156
; SI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:152
-; SI-NEXT: v_readfirstlane_b32 s44, v11
-; SI-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:108
-; SI-NEXT: buffer_load_dword v39, off, s[0:3], s32 offset:104
-; SI-NEXT: v_readfirstlane_b32 s46, v7
+; SI-NEXT: s_waitcnt vmcnt(14)
+; SI-NEXT: v_readfirstlane_b32 s61, v7
; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:148
; SI-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:144
-; SI-NEXT: v_readfirstlane_b32 s72, v6
-; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:140
-; SI-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:136
-; SI-NEXT: v_readfirstlane_b32 s73, v5
-; SI-NEXT: v_readfirstlane_b32 s40, v4
+; SI-NEXT: v_readfirstlane_b32 vcc_lo, v4
; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:124
; SI-NEXT: buffer_load_dword v37, off, s[0:3], s32 offset:120
-; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:132
-; SI-NEXT: buffer_load_dword v36, off, s[0:3], s32 offset:128
-; SI-NEXT: v_readfirstlane_b32 s69, v3
+; SI-NEXT: v_readfirstlane_b32 s31, v3
; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:116
; SI-NEXT: buffer_load_dword v38, off, s[0:3], s32 offset:112
-; SI-NEXT: v_readfirstlane_b32 s47, v15
-; SI-NEXT: v_readfirstlane_b32 s55, v9
-; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:164
-; SI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:160
-; SI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:204
+; SI-NEXT: v_readfirstlane_b32 s6, v18
+; SI-NEXT: v_writelane_b32 v56, s6, 35
+; SI-NEXT: v_readfirstlane_b32 s6, v17
+; SI-NEXT: v_writelane_b32 v56, s6, 36
+; SI-NEXT: v_readfirstlane_b32 s94, v6
+; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:140
+; SI-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:136
+; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:204
; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:200
-; SI-NEXT: v_readfirstlane_b32 s57, v14
-; SI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:196
+; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:196
; SI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:192
-; SI-NEXT: v_readfirstlane_b32 s16, v12
-; SI-NEXT: v_readfirstlane_b32 s54, v10
-; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:172
-; SI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:168
-; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:188
-; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:184
-; SI-NEXT: s_waitcnt vmcnt(14)
-; SI-NEXT: v_readfirstlane_b32 s45, v2
-; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:100
-; SI-NEXT: buffer_load_dword v48, off, s[0:3], s32 offset:96
; SI-NEXT: v_readfirstlane_b32 s18, v13
-; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:180
+; SI-NEXT: v_readfirstlane_b32 s6, v11
+; SI-NEXT: v_readfirstlane_b32 s47, v10
+; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:108
+; SI-NEXT: buffer_load_dword v39, off, s[0:3], s32 offset:104
+; SI-NEXT: v_writelane_b32 v56, s6, 37
+; SI-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:172
+; SI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:168
+; SI-NEXT: v_readfirstlane_b32 s6, v9
+; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:164
+; SI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:160
+; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:188
+; SI-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:184
+; SI-NEXT: v_readfirstlane_b32 vcc_hi, v16
+; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:68
+; SI-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:64
+; SI-NEXT: v_readfirstlane_b32 s59, v12
+; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:180
; SI-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:176
-; SI-NEXT: v_readfirstlane_b32 s60, v24
-; SI-NEXT: v_readfirstlane_b32 vcc_lo, v21
-; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:28
+; SI-NEXT: v_readfirstlane_b32 s66, v0
+; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:60
+; SI-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:56
+; SI-NEXT: v_readfirstlane_b32 s44, v5
+; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:132
+; SI-NEXT: buffer_load_dword v36, off, s[0:3], s32 offset:128
+; SI-NEXT: v_writelane_b32 v56, s6, 38
+; SI-NEXT: s_waitcnt vmcnt(14)
+; SI-NEXT: v_readfirstlane_b32 s62, v22
+; SI-NEXT: v_readfirstlane_b32 s74, v20
+; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:28
; SI-NEXT: s_waitcnt expcnt(3)
; SI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:24
-; SI-NEXT: v_readfirstlane_b32 s84, v17
-; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:76
-; SI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:72
-; SI-NEXT: v_readfirstlane_b32 s90, v18
-; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:68
-; SI-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:64
-; SI-NEXT: v_readfirstlane_b32 s23, v25
+; SI-NEXT: v_readfirstlane_b32 s65, v25
; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:20
; SI-NEXT: s_waitcnt expcnt(2)
; SI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:16
-; SI-NEXT: v_readfirstlane_b32 s65, v23
+; SI-NEXT: v_readfirstlane_b32 s70, v23
; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:12
; SI-NEXT: s_waitcnt expcnt(1)
; SI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:8
-; SI-NEXT: v_readfirstlane_b32 s70, v0
-; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:60
-; SI-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:56
-; SI-NEXT: v_readfirstlane_b32 s37, v22
-; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:52
+; SI-NEXT: v_readfirstlane_b32 s73, v15
+; SI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:76
+; SI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:72
+; SI-NEXT: v_readfirstlane_b32 s71, v21
+; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:52
; SI-NEXT: buffer_load_dword v54, off, s[0:3], s32 offset:48
-; SI-NEXT: v_readfirstlane_b32 s56, v20
-; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:44
+; SI-NEXT: v_readfirstlane_b32 s57, v2
+; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:100
+; SI-NEXT: buffer_load_dword v48, off, s[0:3], s32 offset:96
+; SI-NEXT: v_readfirstlane_b32 s60, v19
+; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:44
; SI-NEXT: buffer_load_dword v55, off, s[0:3], s32 offset:40
-; SI-NEXT: v_readfirstlane_b32 s17, v16
-; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:92
+; SI-NEXT: v_readfirstlane_b32 s72, v14
+; SI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:92
; SI-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:88
-; SI-NEXT: v_readfirstlane_b32 s62, v1
+; SI-NEXT: v_readfirstlane_b32 s75, v1
; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:84
; SI-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:80
-; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:36
+; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:36
; SI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:32
-; SI-NEXT: v_readfirstlane_b32 s94, v29
-; SI-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:4
+; SI-NEXT: v_readfirstlane_b32 s30, v28
+; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:4
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: buffer_load_dword v44, off, s[0:3], s32
-; SI-NEXT: v_readfirstlane_b32 s88, v8
-; SI-NEXT: v_readfirstlane_b32 s13, v11
-; SI-NEXT: v_readfirstlane_b32 s66, v33
-; SI-NEXT: v_readfirstlane_b32 s78, v7
+; SI-NEXT: v_readfirstlane_b32 s53, v4
+; SI-NEXT: v_writelane_b32 v47, s53, 0
+; SI-NEXT: v_readfirstlane_b32 s54, v3
+; SI-NEXT: v_writelane_b32 v47, s83, 1
+; SI-NEXT: v_readfirstlane_b32 s55, v37
+; SI-NEXT: v_writelane_b32 v47, s54, 2
+; SI-NEXT: v_readfirstlane_b32 s12, v38
+; SI-NEXT: v_writelane_b32 v47, s55, 3
+; SI-NEXT: v_writelane_b32 v47, s12, 4
+; SI-NEXT: v_readfirstlane_b32 s78, v8
+; SI-NEXT: v_readfirstlane_b32 s45, v7
+; SI-NEXT: v_readfirstlane_b32 s46, v33
+; SI-NEXT: v_readfirstlane_b32 s13, v10
+; SI-NEXT: v_writelane_b32 v47, s13, 5
; SI-NEXT: v_readfirstlane_b32 s14, v34
-; SI-NEXT: v_readfirstlane_b32 s15, v6
-; SI-NEXT: v_readfirstlane_b32 s93, v39
-; SI-NEXT: v_readfirstlane_b32 s39, v35
-; SI-NEXT: v_readfirstlane_b32 s49, v4
-; SI-NEXT: v_readfirstlane_b32 s51, v37
-; SI-NEXT: v_writelane_b32 v47, s51, 0
-; SI-NEXT: v_writelane_b32 v47, s54, 1
; SI-NEXT: s_waitcnt vmcnt(14)
-; SI-NEXT: v_readfirstlane_b32 s12, v38
-; SI-NEXT: v_writelane_b32 v47, s83, 2
-; SI-NEXT: v_readfirstlane_b32 s52, v9
-; SI-NEXT: v_writelane_b32 v47, s12, 3
-; SI-NEXT: v_writelane_b32 v47, s52, 4
-; SI-NEXT: v_readfirstlane_b32 s67, v32
-; SI-NEXT: v_readfirstlane_b32 s58, v14
-; SI-NEXT: v_readfirstlane_b32 s59, v26
-; SI-NEXT: v_readfirstlane_b32 s61, v27
-; SI-NEXT: v_readfirstlane_b32 s53, v31
-; SI-NEXT: v_writelane_b32 v47, s53, 5
-; SI-NEXT: v_writelane_b32 v47, s55, 6
-; SI-NEXT: v_writelane_b32 v47, s13, 7
-; SI-NEXT: v_writelane_b32 v47, s67, 8
-; SI-NEXT: v_writelane_b32 v47, s88, 9
-; SI-NEXT: v_writelane_b32 v47, s44, 10
-; SI-NEXT: v_writelane_b32 v47, s45, 11
-; SI-NEXT: v_writelane_b32 v47, s46, 12
-; SI-NEXT: v_writelane_b32 v47, s78, 13
-; SI-NEXT: v_writelane_b32 v47, s66, 14
-; SI-NEXT: v_writelane_b32 v47, s47, 15
-; SI-NEXT: v_writelane_b32 v47, s56, 16
-; SI-NEXT: v_writelane_b32 v47, s57, 17
-; SI-NEXT: v_writelane_b32 v47, s14, 18
-; SI-NEXT: v_writelane_b32 v47, s58, 19
-; SI-NEXT: v_writelane_b32 v47, s59, 20
-; SI-NEXT: v_writelane_b32 v47, s17, 21
-; SI-NEXT: v_writelane_b32 v47, s60, 22
-; SI-NEXT: v_writelane_b32 v47, s15, 23
-; SI-NEXT: v_writelane_b32 v47, s61, 24
-; SI-NEXT: v_readfirstlane_b32 s63, v12
-; SI-NEXT: v_writelane_b32 v47, s62, 25
-; SI-NEXT: v_writelane_b32 v47, s63, 26
-; SI-NEXT: v_writelane_b32 v47, s16, 27
-; SI-NEXT: v_readfirstlane_b32 s92, v2
-; SI-NEXT: v_writelane_b32 v47, vcc_lo, 28
-; SI-NEXT: v_writelane_b32 v47, s72, 29
-; SI-NEXT: v_writelane_b32 v47, s73, 30
-; SI-NEXT: v_writelane_b32 v47, s23, 31
-; SI-NEXT: v_readfirstlane_b32 s74, v13
-; SI-NEXT: v_readfirstlane_b32 s95, v48
-; SI-NEXT: v_writelane_b32 v47, s18, 32
-; SI-NEXT: v_readfirstlane_b32 s64, v28
-; SI-NEXT: v_writelane_b32 v47, s74, 33
-; SI-NEXT: v_writelane_b32 v47, s64, 34
+; SI-NEXT: v_readfirstlane_b32 s88, v31
+; SI-NEXT: v_readfirstlane_b32 s95, v9
+; SI-NEXT: v_writelane_b32 v47, s95, 6
+; SI-NEXT: v_readfirstlane_b32 s29, v32
+; SI-NEXT: v_writelane_b32 v47, s88, 7
+; SI-NEXT: v_writelane_b32 v47, s29, 8
+; SI-NEXT: v_writelane_b32 v47, s78, 9
+; SI-NEXT: v_writelane_b32 v47, s45, 10
+; SI-NEXT: v_writelane_b32 v47, s46, 11
+; SI-NEXT: v_writelane_b32 v47, s47, 12
+; SI-NEXT: v_writelane_b32 v47, s56, 13
+; SI-NEXT: v_writelane_b32 v47, s57, 14
+; SI-NEXT: v_readfirstlane_b32 s15, v6
+; SI-NEXT: v_writelane_b32 v47, s14, 15
+; SI-NEXT: v_readfirstlane_b32 s91, v17
+; SI-NEXT: v_writelane_b32 v47, s15, 16
+; SI-NEXT: v_readfirstlane_b32 s93, v26
+; SI-NEXT: v_writelane_b32 v47, s91, 17
+; SI-NEXT: v_writelane_b32 v47, s93, 18
+; SI-NEXT: v_writelane_b32 v47, s60, 19
+; SI-NEXT: v_writelane_b32 v47, s61, 20
+; SI-NEXT: v_readfirstlane_b32 s63, v27
+; SI-NEXT: v_writelane_b32 v47, s62, 21
+; SI-NEXT: v_writelane_b32 v47, s63, 22
+; SI-NEXT: v_readfirstlane_b32 s25, v13
+; SI-NEXT: v_writelane_b32 v47, s72, 23
+; SI-NEXT: v_readfirstlane_b32 s42, v16
+; SI-NEXT: v_writelane_b32 v47, s25, 24
+; SI-NEXT: v_writelane_b32 v47, s74, 25
+; SI-NEXT: v_readfirstlane_b32 s64, v12
+; SI-NEXT: v_writelane_b32 v47, s75, 26
+; SI-NEXT: v_readfirstlane_b32 s92, v29
+; SI-NEXT: v_readfirstlane_b32 s79, v52
+; SI-NEXT: v_writelane_b32 v47, s64, 27
+; SI-NEXT: v_readfirstlane_b32 s89, v0
+; SI-NEXT: v_writelane_b32 v47, s92, 28
+; SI-NEXT: v_writelane_b32 v47, s65, 29
+; SI-NEXT: v_readfirstlane_b32 s34, v53
+; SI-NEXT: v_writelane_b32 v47, s94, 30
+; SI-NEXT: v_writelane_b32 v47, s18, 31
; SI-NEXT: v_readfirstlane_b32 s41, v30
-; SI-NEXT: v_readfirstlane_b32 s19, v41
-; SI-NEXT: v_writelane_b32 v56, s19, 37
-; SI-NEXT: v_readfirstlane_b32 s43, v51
-; SI-NEXT: v_readfirstlane_b32 s42, v18
-; SI-NEXT: v_writelane_b32 v56, s42, 38
-; SI-NEXT: v_writelane_b32 v56, s43, 39
+; SI-NEXT: v_writelane_b32 v47, s44, 32
+; SI-NEXT: v_readfirstlane_b32 s58, v11
+; SI-NEXT: v_readfirstlane_b32 s37, v39
+; SI-NEXT: v_readfirstlane_b32 s16, v20
+; SI-NEXT: v_writelane_b32 v56, s16, 39
+; SI-NEXT: v_readfirstlane_b32 s17, v25
+; SI-NEXT: v_readfirstlane_b32 s40, v41
+; SI-NEXT: v_writelane_b32 v56, s17, 40
; SI-NEXT: v_readfirstlane_b32 s6, v42
+; SI-NEXT: v_writelane_b32 v56, s40, 41
+; SI-NEXT: v_writelane_b32 v56, s6, 42
+; SI-NEXT: v_readfirstlane_b32 s43, v51
+; SI-NEXT: v_writelane_b32 v56, s42, 43
; SI-NEXT: v_readfirstlane_b32 s7, v23
-; SI-NEXT: v_writelane_b32 v56, s6, 40
-; SI-NEXT: v_readfirstlane_b32 s75, v52
-; SI-NEXT: v_writelane_b32 v56, s7, 41
+; SI-NEXT: v_writelane_b32 v56, s43, 44
+; SI-NEXT: v_writelane_b32 v56, s7, 45
+; SI-NEXT: v_writelane_b32 v56, s79, 46
; SI-NEXT: s_waitcnt vmcnt(13)
-; SI-NEXT: v_readfirstlane_b32 s79, v0
-; SI-NEXT: v_writelane_b32 v56, s75, 42
-; SI-NEXT: s_waitcnt vmcnt(11)
-; SI-NEXT: v_readfirstlane_b32 s89, v22
-; SI-NEXT: v_writelane_b32 v56, s79, 43
-; SI-NEXT: v_readfirstlane_b32 s91, v53
-; SI-NEXT: v_writelane_b32 v56, s89, 44
-; SI-NEXT: v_writelane_b32 v56, s91, 45
-; SI-NEXT: v_writelane_b32 v56, s92, 46
-; SI-NEXT: s_waitcnt vmcnt(10)
+; SI-NEXT: v_readfirstlane_b32 s90, v21
+; SI-NEXT: v_writelane_b32 v56, s89, 47
+; SI-NEXT: v_writelane_b32 v56, s90, 48
+; SI-NEXT: s_waitcnt vmcnt(12)
; SI-NEXT: v_readfirstlane_b32 s8, v54
-; SI-NEXT: v_writelane_b32 v56, s93, 47
+; SI-NEXT: v_writelane_b32 v56, s34, 49
+; SI-NEXT: s_waitcnt vmcnt(11)
+; SI-NEXT: v_readfirstlane_b32 s36, v2
+; SI-NEXT: v_writelane_b32 v56, s8, 50
+; SI-NEXT: v_writelane_b32 v56, s36, 51
+; SI-NEXT: v_writelane_b32 v47, s41, 33
; SI-NEXT: s_waitcnt vmcnt(9)
-; SI-NEXT: v_readfirstlane_b32 s9, v20
-; SI-NEXT: v_writelane_b32 v56, s8, 48
-; SI-NEXT: v_writelane_b32 v56, s9, 49
+; SI-NEXT: v_readfirstlane_b32 s9, v19
+; SI-NEXT: v_writelane_b32 v56, s37, 52
+; SI-NEXT: v_writelane_b32 v47, s58, 34
+; SI-NEXT: v_readfirstlane_b32 s38, v48
+; SI-NEXT: v_writelane_b32 v56, s9, 53
+; SI-NEXT: v_writelane_b32 v47, s59, 35
; SI-NEXT: s_waitcnt vmcnt(7)
-; SI-NEXT: v_readfirstlane_b32 s31, v16
-; SI-NEXT: v_writelane_b32 v56, s95, 50
-; SI-NEXT: v_writelane_b32 v56, s31, 51
+; SI-NEXT: v_readfirstlane_b32 s39, v14
+; SI-NEXT: v_writelane_b32 v56, s38, 54
+; SI-NEXT: v_writelane_b32 v47, s73, 36
; SI-NEXT: s_waitcnt vmcnt(5)
-; SI-NEXT: v_readfirstlane_b32 s34, v1
-; SI-NEXT: v_writelane_b32 v56, s80, 52
-; SI-NEXT: v_writelane_b32 v47, s40, 35
-; SI-NEXT: v_readfirstlane_b32 s36, v49
-; SI-NEXT: v_writelane_b32 v56, s34, 53
-; SI-NEXT: v_writelane_b32 v47, s41, 36
-; SI-NEXT: v_readfirstlane_b32 s68, v10
-; SI-NEXT: v_writelane_b32 v56, s36, 54
-; SI-NEXT: v_writelane_b32 v47, s84, 37
+; SI-NEXT: v_readfirstlane_b32 s48, v1
+; SI-NEXT: v_writelane_b32 v56, s39, 55
+; SI-NEXT: v_writelane_b32 v47, s70, 37
+; SI-NEXT: v_readfirstlane_b32 s49, v49
+; SI-NEXT: v_writelane_b32 v56, s48, 56
+; SI-NEXT: v_writelane_b32 v47, vcc_lo, 38
; SI-NEXT: s_waitcnt vmcnt(4)
; SI-NEXT: v_readfirstlane_b32 s10, v50
-; SI-NEXT: v_writelane_b32 v56, s81, 55
-; SI-NEXT: v_writelane_b32 v47, s68, 38
-; SI-NEXT: v_readfirstlane_b32 s38, v5
-; SI-NEXT: v_writelane_b32 v56, s10, 56
-; SI-NEXT: v_writelane_b32 v47, s65, 39
-; SI-NEXT: v_writelane_b32 v56, s38, 57
-; SI-NEXT: v_writelane_b32 v47, s90, 40
-; SI-NEXT: v_readfirstlane_b32 s11, v17
-; SI-NEXT: v_writelane_b32 v56, s39, 58
-; SI-NEXT: v_writelane_b32 v47, s69, 41
-; SI-NEXT: v_readfirstlane_b32 s48, v36
+; SI-NEXT: v_writelane_b32 v56, s49, 57
+; SI-NEXT: v_writelane_b32 v47, s30, 39
+; SI-NEXT: v_readfirstlane_b32 s11, v15
+; SI-NEXT: v_writelane_b32 v56, s10, 58
+; SI-NEXT: v_writelane_b32 v47, vcc_hi, 40
+; SI-NEXT: v_readfirstlane_b32 s50, v5
; SI-NEXT: v_writelane_b32 v56, s11, 59
-; SI-NEXT: v_writelane_b32 v47, s94, 42
-; SI-NEXT: v_writelane_b32 v56, s48, 60
-; SI-NEXT: v_writelane_b32 v47, s70, 43
-; SI-NEXT: v_readfirstlane_b32 s35, v19
-; SI-NEXT: v_writelane_b32 v56, s49, 61
-; SI-NEXT: v_writelane_b32 v47, s37, 44
-; SI-NEXT: v_readfirstlane_b32 s71, v15
-; SI-NEXT: v_readfirstlane_b32 s50, v3
-; SI-NEXT: v_readfirstlane_b32 s22, v55
+; SI-NEXT: v_writelane_b32 v47, s31, 41
+; SI-NEXT: v_readfirstlane_b32 s67, v24
+; SI-NEXT: v_readfirstlane_b32 s51, v35
+; SI-NEXT: v_writelane_b32 v56, s50, 60
+; SI-NEXT: v_writelane_b32 v47, s66, 42
+; SI-NEXT: v_readfirstlane_b32 s52, v36
+; SI-NEXT: v_writelane_b32 v56, s51, 61
+; SI-NEXT: v_writelane_b32 v47, s67, 43
+; SI-NEXT: v_readfirstlane_b32 s35, v18
+; SI-NEXT: v_readfirstlane_b32 s69, v55
; SI-NEXT: s_waitcnt vmcnt(3)
-; SI-NEXT: v_readfirstlane_b32 s85, v24
+; SI-NEXT: v_readfirstlane_b32 s81, v22
; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_readfirstlane_b32 s25, v40
-; SI-NEXT: v_readfirstlane_b32 s28, v21
-; SI-NEXT: v_readfirstlane_b32 s87, v25
-; SI-NEXT: v_readfirstlane_b32 vcc_hi, v43
+; SI-NEXT: v_readfirstlane_b32 s68, v40
+; SI-NEXT: v_readfirstlane_b32 s20, v43
; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_readfirstlane_b32 s26, v29
+; SI-NEXT: v_readfirstlane_b32 s27, v28
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_readfirstlane_b32 s27, v44
-; SI-NEXT: v_writelane_b32 v56, s82, 62
+; SI-NEXT: v_readfirstlane_b32 s19, v44
+; SI-NEXT: v_writelane_b32 v56, s52, 62
+; SI-NEXT: v_writelane_b32 v47, s71, 44
+; SI-NEXT: v_writelane_b32 v56, s4, 63
; SI-NEXT: v_writelane_b32 v47, s35, 45
-; SI-NEXT: v_writelane_b32 v56, s50, 63
-; SI-NEXT: v_writelane_b32 v47, s71, 46
; SI-NEXT: s_cbranch_scc0 .LBB97_2
; SI-NEXT: ; %bb.1: ; %cmp.false
-; SI-NEXT: v_readlane_b32 s4, v56, 11
-; SI-NEXT: v_readlane_b32 s5, v56, 10
+; SI-NEXT: s_mov_b32 s80, s4
+; SI-NEXT: v_readlane_b32 s4, v56, 13
+; SI-NEXT: v_readlane_b32 s5, v56, 12
; SI-NEXT: s_and_b32 s4, s4, 0xff
; SI-NEXT: s_lshl_b32 s5, s5, 8
-; SI-NEXT: v_writelane_b32 v47, s21, 47
-; SI-NEXT: s_or_b32 s4, s4, s5
+; SI-NEXT: s_or_b32 s28, s4, s5
+; SI-NEXT: v_readlane_b32 s4, v56, 5
; SI-NEXT: v_readlane_b32 s5, v56, 4
-; SI-NEXT: v_writelane_b32 v47, s4, 48
-; SI-NEXT: s_and_b32 s4, s24, 0xff
-; SI-NEXT: s_lshl_b32 s5, s5, 8
-; SI-NEXT: s_or_b32 s4, s4, s5
-; SI-NEXT: v_readlane_b32 s5, v56, 34
-; SI-NEXT: v_writelane_b32 v47, s4, 49
-; SI-NEXT: s_and_b32 s4, s77, 0xff
-; SI-NEXT: s_lshl_b32 s5, s5, 8
-; SI-NEXT: s_or_b32 s4, s4, s5
-; SI-NEXT: v_readlane_b32 s5, v56, 29
-; SI-NEXT: v_writelane_b32 v47, s4, 50
-; SI-NEXT: s_and_b32 s4, s76, 0xff
+; SI-NEXT: s_and_b32 s4, s4, 0xff
; SI-NEXT: s_lshl_b32 s5, s5, 8
+; SI-NEXT: s_or_b32 s82, s4, s5
+; SI-NEXT: v_readlane_b32 s4, v56, 31
+; SI-NEXT: s_and_b32 s4, s4, 0xff
+; SI-NEXT: s_lshl_b32 s5, s76, 8
; SI-NEXT: s_or_b32 s4, s4, s5
-; SI-NEXT: v_writelane_b32 v47, s4, 51
-; SI-NEXT: v_readlane_b32 s4, v56, 24
-; SI-NEXT: s_and_b32 s5, s4, 0xff
-; SI-NEXT: v_readlane_b32 s4, v56, 23
+; SI-NEXT: v_writelane_b32 v47, s4, 46
+; SI-NEXT: s_and_b32 s4, s22, 0xff
+; SI-NEXT: s_lshl_b32 s5, s77, 8
+; SI-NEXT: s_or_b32 s84, s4, s5
+; SI-NEXT: v_readlane_b32 s4, v56, 25
+; SI-NEXT: s_and_b32 s5, s21, 0xff
; SI-NEXT: s_lshl_b32 s4, s4, 8
; SI-NEXT: s_or_b32 s4, s5, s4
-; SI-NEXT: v_writelane_b32 v47, s4, 52
-; SI-NEXT: v_readlane_b32 s4, v56, 16
-; SI-NEXT: v_readlane_b32 s5, v56, 15
+; SI-NEXT: v_writelane_b32 v47, s4, 47
+; SI-NEXT: v_readlane_b32 s4, v56, 18
+; SI-NEXT: v_readlane_b32 s5, v56, 17
; SI-NEXT: s_and_b32 s4, s4, 0xff
; SI-NEXT: s_lshl_b32 s5, s5, 8
; SI-NEXT: s_or_b32 s4, s4, s5
-; SI-NEXT: v_writelane_b32 v47, s4, 53
+; SI-NEXT: v_writelane_b32 v47, s4, 48
; SI-NEXT: s_and_b32 s4, s7, 0xff
; SI-NEXT: s_lshl_b32 s5, s6, 8
; SI-NEXT: s_or_b32 s4, s4, s5
-; SI-NEXT: v_writelane_b32 v47, s4, 54
+; SI-NEXT: v_writelane_b32 v47, s4, 49
; SI-NEXT: s_and_b32 s4, s9, 0xff
; SI-NEXT: s_lshl_b32 s5, s8, 8
; SI-NEXT: s_or_b32 s4, s4, s5
-; SI-NEXT: v_writelane_b32 v47, s4, 55
+; SI-NEXT: v_writelane_b32 v47, s4, 50
; SI-NEXT: s_and_b32 s4, s11, 0xff
; SI-NEXT: s_lshl_b32 s5, s10, 8
; SI-NEXT: s_or_b32 s4, s4, s5
-; SI-NEXT: v_writelane_b32 v47, s4, 56
+; SI-NEXT: v_writelane_b32 v47, s4, 51
; SI-NEXT: s_and_b32 s4, s13, 0xff
; SI-NEXT: s_lshl_b32 s5, s12, 8
; SI-NEXT: s_or_b32 s4, s4, s5
-; SI-NEXT: v_writelane_b32 v47, s4, 57
+; SI-NEXT: v_writelane_b32 v47, s4, 52
; SI-NEXT: s_and_b32 s4, s15, 0xff
; SI-NEXT: s_lshl_b32 s5, s14, 8
; SI-NEXT: s_or_b32 s4, s4, s5
-; SI-NEXT: v_writelane_b32 v47, s4, 58
-; SI-NEXT: s_and_b32 s4, s68, 0xff
+; SI-NEXT: v_writelane_b32 v47, s4, 53
+; SI-NEXT: s_and_b32 s4, s58, 0xff
; SI-NEXT: s_lshl_b32 s5, s41, 8
; SI-NEXT: s_or_b32 s4, s4, s5
-; SI-NEXT: v_writelane_b32 v47, s4, 59
+; SI-NEXT: v_writelane_b32 v47, s4, 54
+; SI-NEXT: s_and_b32 s4, s35, 0xff
+; SI-NEXT: s_lshl_b32 s5, s67, 8
+; SI-NEXT: s_or_b32 s4, s4, s5
+; SI-NEXT: v_writelane_b32 v47, s4, 55
; SI-NEXT: s_and_b32 s4, s71, 0xff
-; SI-NEXT: s_lshl_b32 s5, s35, 8
+; SI-NEXT: s_lshl_b32 s5, s66, 8
; SI-NEXT: s_or_b32 s71, s4, s5
-; SI-NEXT: s_and_b32 s4, s37, 0xff
-; SI-NEXT: s_lshl_b32 s5, s70, 8
-; SI-NEXT: s_or_b32 s70, s4, s5
-; SI-NEXT: s_and_b32 s4, s69, 0xff
-; SI-NEXT: s_lshl_b32 s5, s40, 8
-; SI-NEXT: s_or_b32 s69, s4, s5
-; SI-NEXT: s_and_b32 s4, s18, 0xff
-; SI-NEXT: s_lshl_b32 s5, s16, 8
-; SI-NEXT: s_or_b32 s4, s4, s5
-; SI-NEXT: v_readlane_b32 s5, v56, 7
-; SI-NEXT: v_writelane_b32 v47, s4, 60
-; SI-NEXT: s_and_b32 s4, s20, 0xff
+; SI-NEXT: s_and_b32 s4, s31, 0xff
+; SI-NEXT: s_lshl_b32 s5, vcc_lo, 8
+; SI-NEXT: s_or_b32 vcc_lo, s4, s5
+; SI-NEXT: s_and_b32 s4, s59, 0xff
+; SI-NEXT: s_lshl_b32 s5, s18, 8
+; SI-NEXT: s_or_b32 s31, s4, s5
+; SI-NEXT: v_readlane_b32 s4, v56, 9
+; SI-NEXT: v_readlane_b32 s5, v56, 8
+; SI-NEXT: s_and_b32 s4, s4, 0xff
; SI-NEXT: s_lshl_b32 s5, s5, 8
; SI-NEXT: s_or_b32 s5, s4, s5
-; SI-NEXT: v_readlane_b32 s4, v56, 6
+; SI-NEXT: v_readlane_b32 s4, v56, 7
; SI-NEXT: s_and_b32 s4, s4, 0xff
-; SI-NEXT: v_readlane_b32 s6, v56, 5
+; SI-NEXT: v_readlane_b32 s6, v56, 6
; SI-NEXT: s_lshl_b32 s4, s4, 16
; SI-NEXT: s_lshl_b32 s6, s6, 24
; SI-NEXT: s_or_b32 s7, s6, s4
-; SI-NEXT: v_readlane_b32 s4, v56, 9
+; SI-NEXT: v_readlane_b32 s4, v56, 11
; SI-NEXT: s_and_b32 s4, s4, 0xff
-; SI-NEXT: v_readlane_b32 s6, v56, 8
+; SI-NEXT: v_readlane_b32 s6, v56, 10
; SI-NEXT: s_lshl_b32 s4, s4, 16
; SI-NEXT: s_lshl_b32 s6, s6, 24
+; SI-NEXT: s_or_b32 s58, s6, s4
+; SI-NEXT: v_readlane_b32 s4, v56, 1
; SI-NEXT: s_and_b32 s5, s5, 0xffff
-; SI-NEXT: v_writelane_b32 v47, s7, 61
-; SI-NEXT: s_or_b32 s4, s6, s4
-; SI-NEXT: s_or_b32 s5, s5, s7
-; SI-NEXT: v_readlane_b32 s6, v56, 1
-; SI-NEXT: v_readlane_b32 s7, v56, 0
-; SI-NEXT: s_and_b32 s6, s6, 0xff
-; SI-NEXT: s_lshl_b32 s7, s7, 8
+; SI-NEXT: s_and_b32 s6, s4, 0xff
+; SI-NEXT: v_readlane_b32 s4, v56, 0
+; SI-NEXT: v_writelane_b32 v47, s7, 56
+; SI-NEXT: s_or_b32 s59, s5, s7
+; SI-NEXT: s_lshl_b32 s7, s4, 8
; SI-NEXT: s_or_b32 s7, s6, s7
-; SI-NEXT: v_readlane_b32 s6, v56, 36
-; SI-NEXT: s_and_b32 s6, s6, 0xff
-; SI-NEXT: v_readlane_b32 s8, v56, 35
+; SI-NEXT: s_and_b32 s6, s23, 0xff
+; SI-NEXT: v_readlane_b32 s8, v56, 32
; SI-NEXT: s_lshl_b32 s6, s6, 16
; SI-NEXT: s_lshl_b32 s8, s8, 24
-; SI-NEXT: s_or_b32 s9, s8, s6
-; SI-NEXT: v_readlane_b32 s6, v56, 3
-; SI-NEXT: s_and_b32 s6, s6, 0xff
-; SI-NEXT: v_readlane_b32 s8, v56, 2
+; SI-NEXT: v_readlane_b32 s4, v56, 3
+; SI-NEXT: s_or_b32 s5, s8, s6
+; SI-NEXT: s_and_b32 s6, s4, 0xff
+; SI-NEXT: v_readlane_b32 s4, v56, 2
; SI-NEXT: s_lshl_b32 s6, s6, 16
-; SI-NEXT: s_lshl_b32 s8, s8, 24
-; SI-NEXT: s_and_b32 s7, s7, 0xffff
-; SI-NEXT: v_writelane_b32 v47, s9, 62
+; SI-NEXT: s_lshl_b32 s8, s4, 24
+; SI-NEXT: v_readlane_b32 s4, v56, 30
; SI-NEXT: s_or_b32 s6, s8, s6
-; SI-NEXT: s_or_b32 s7, s7, s9
-; SI-NEXT: v_readlane_b32 s8, v56, 33
-; SI-NEXT: v_readlane_b32 s9, v56, 32
-; SI-NEXT: s_and_b32 s8, s8, 0xff
-; SI-NEXT: s_lshl_b32 s9, s9, 8
+; SI-NEXT: s_and_b32 s8, s87, 0xff
+; SI-NEXT: s_lshl_b32 s9, s4, 8
+; SI-NEXT: v_readlane_b32 s4, v56, 29
; SI-NEXT: s_or_b32 s9, s8, s9
-; SI-NEXT: v_readlane_b32 s8, v56, 31
-; SI-NEXT: s_and_b32 s8, s8, 0xff
-; SI-NEXT: v_readlane_b32 s10, v56, 30
+; SI-NEXT: s_and_b32 s8, s4, 0xff
+; SI-NEXT: v_readlane_b32 s4, v56, 28
; SI-NEXT: s_lshl_b32 s8, s8, 16
-; SI-NEXT: s_lshl_b32 s10, s10, 24
-; SI-NEXT: s_or_b32 s11, s10, s8
+; SI-NEXT: s_lshl_b32 s10, s4, 24
+; SI-NEXT: s_or_b32 s4, s10, s8
; SI-NEXT: s_and_b32 s8, s99, 0xff
+; SI-NEXT: v_writelane_b32 v47, s5, 57
; SI-NEXT: s_lshl_b32 s8, s8, 16
-; SI-NEXT: s_lshl_b32 s10, s98, 24
+; SI-NEXT: s_lshl_b32 s10, s97, 24
; SI-NEXT: s_and_b32 s9, s9, 0xffff
-; SI-NEXT: v_writelane_b32 v47, s11, 63
+; SI-NEXT: v_writelane_b32 v47, s4, 58
; SI-NEXT: s_or_b32 s8, s10, s8
-; SI-NEXT: s_or_b32 s9, s9, s11
-; SI-NEXT: v_readlane_b32 s10, v56, 28
-; SI-NEXT: v_readlane_b32 s11, v56, 27
-; SI-NEXT: s_and_b32 s10, s10, 0xff
-; SI-NEXT: s_lshl_b32 s11, s11, 8
+; SI-NEXT: s_or_b32 s9, s9, s4
+; SI-NEXT: s_and_b32 s10, s86, 0xff
+; SI-NEXT: s_lshl_b32 s11, s85, 8
+; SI-NEXT: v_readlane_b32 s4, v56, 27
; SI-NEXT: s_or_b32 s11, s10, s11
-; SI-NEXT: v_readlane_b32 s10, v56, 26
-; SI-NEXT: s_and_b32 s10, s10, 0xff
-; SI-NEXT: v_readlane_b32 s12, v56, 25
+; SI-NEXT: s_and_b32 s10, s4, 0xff
+; SI-NEXT: v_readlane_b32 s4, v56, 26
; SI-NEXT: s_lshl_b32 s10, s10, 16
-; SI-NEXT: s_lshl_b32 s12, s12, 24
-; SI-NEXT: s_or_b32 s13, s12, s10
-; SI-NEXT: s_and_b32 s10, s97, 0xff
+; SI-NEXT: s_lshl_b32 s12, s4, 24
+; SI-NEXT: s_or_b32 s4, s12, s10
+; SI-NEXT: s_and_b32 s10, s98, 0xff
; SI-NEXT: s_lshl_b32 s10, s10, 16
; SI-NEXT: s_lshl_b32 s12, s96, 24
-; SI-NEXT: ; implicit-def: $vgpr46 : SGPR spill to VGPR lane
; SI-NEXT: s_or_b32 s10, s12, s10
-; SI-NEXT: s_and_b32 s11, s11, 0xffff
-; SI-NEXT: v_readlane_b32 s12, v56, 20
-; SI-NEXT: v_writelane_b32 v46, s13, 0
-; SI-NEXT: s_or_b32 s11, s11, s13
+; SI-NEXT: v_readlane_b32 s12, v56, 22
; SI-NEXT: s_and_b32 s13, s12, 0xff
-; SI-NEXT: v_readlane_b32 s12, v56, 19
+; SI-NEXT: v_readlane_b32 s12, v56, 21
; SI-NEXT: s_lshl_b32 s12, s12, 8
; SI-NEXT: s_or_b32 s13, s13, s12
-; SI-NEXT: v_readlane_b32 s12, v56, 18
+; SI-NEXT: v_readlane_b32 s12, v56, 20
; SI-NEXT: s_and_b32 s12, s12, 0xff
; SI-NEXT: s_lshl_b32 s14, s12, 16
-; SI-NEXT: v_readlane_b32 s12, v56, 17
+; SI-NEXT: v_readlane_b32 s12, v56, 19
+; SI-NEXT: s_and_b32 s11, s11, 0xffff
; SI-NEXT: s_lshl_b32 s12, s12, 24
-; SI-NEXT: s_or_b32 s86, s12, s14
-; SI-NEXT: v_readlane_b32 s12, v56, 22
+; SI-NEXT: v_writelane_b32 v47, s4, 59
+; SI-NEXT: s_or_b32 s11, s11, s4
+; SI-NEXT: s_or_b32 s4, s12, s14
+; SI-NEXT: v_readlane_b32 s12, v56, 24
; SI-NEXT: s_and_b32 s12, s12, 0xff
; SI-NEXT: s_lshl_b32 s14, s12, 16
-; SI-NEXT: v_readlane_b32 s12, v56, 21
+; SI-NEXT: v_readlane_b32 s12, v56, 23
; SI-NEXT: s_lshl_b32 s12, s12, 24
; SI-NEXT: s_or_b32 s12, s12, s14
-; SI-NEXT: v_readlane_b32 s14, v56, 12
+; SI-NEXT: v_readlane_b32 s14, v56, 14
; SI-NEXT: s_and_b32 s14, s14, 0xff
-; SI-NEXT: s_lshl_b32 s15, s27, 8
+; SI-NEXT: s_lshl_b32 s15, s19, 8
; SI-NEXT: s_or_b32 s15, s14, s15
-; SI-NEXT: s_and_b32 s14, s26, 0xff
+; SI-NEXT: s_and_b32 s14, s27, 0xff
; SI-NEXT: s_lshl_b32 s14, s14, 16
-; SI-NEXT: s_lshl_b32 s16, vcc_hi, 24
-; SI-NEXT: s_or_b32 s29, s16, s14
-; SI-NEXT: v_readlane_b32 s14, v56, 14
+; SI-NEXT: s_lshl_b32 s18, s20, 24
+; SI-NEXT: s_or_b32 s66, s18, s14
+; SI-NEXT: v_readlane_b32 s14, v56, 16
; SI-NEXT: s_and_b32 s14, s14, 0xff
-; SI-NEXT: s_lshl_b32 s16, s14, 16
-; SI-NEXT: v_readlane_b32 s14, v56, 13
+; SI-NEXT: s_lshl_b32 s18, s14, 16
+; SI-NEXT: v_readlane_b32 s14, v56, 15
+; SI-NEXT: s_and_b32 s13, s13, 0xffff
; SI-NEXT: s_lshl_b32 s14, s14, 24
-; SI-NEXT: s_or_b32 s14, s14, s16
-; SI-NEXT: s_and_b32 s16, s28, 0xff
-; SI-NEXT: s_lshl_b32 s18, s25, 8
-; SI-NEXT: s_or_b32 s18, s16, s18
-; SI-NEXT: s_and_b32 s16, s85, 0xff
-; SI-NEXT: v_writelane_b32 v46, s20, 1
-; SI-NEXT: s_lshl_b32 s16, s16, 16
-; SI-NEXT: s_lshl_b32 s20, s22, 24
-; SI-NEXT: v_writelane_b32 v46, vcc_hi, 2
-; SI-NEXT: v_writelane_b32 v46, s28, 3
-; SI-NEXT: s_or_b32 s28, s20, s16
-; SI-NEXT: s_and_b32 s20, s87, 0xff
+; SI-NEXT: v_writelane_b32 v47, s4, 60
+; SI-NEXT: s_or_b32 s13, s13, s4
+; SI-NEXT: s_mov_b32 s4, s20
+; SI-NEXT: s_or_b32 s14, s14, s18
+; SI-NEXT: s_and_b32 s18, s16, 0xff
+; SI-NEXT: s_lshl_b32 s20, s68, 8
+; SI-NEXT: s_or_b32 s18, s18, s20
+; SI-NEXT: s_and_b32 s20, s81, 0xff
+; SI-NEXT: s_lshl_b32 s20, s20, 16
+; SI-NEXT: s_lshl_b32 s24, s69, 24
+; SI-NEXT: s_or_b32 s67, s24, s20
+; SI-NEXT: s_and_b32 s20, s17, 0xff
; SI-NEXT: s_lshl_b32 s20, s20, 16
-; SI-NEXT: v_writelane_b32 v46, s24, 4
-; SI-NEXT: s_lshl_b32 s24, s19, 24
+; SI-NEXT: s_lshl_b32 s24, s40, 24
; SI-NEXT: s_and_b32 s18, s18, 0xffff
; SI-NEXT: s_or_b32 s40, s24, s20
-; SI-NEXT: s_or_b32 s41, s18, s28
-; SI-NEXT: s_and_b32 s18, s79, 0xff
-; SI-NEXT: s_lshl_b32 s20, s75, 8
-; SI-NEXT: s_or_b32 s20, s18, s20
-; SI-NEXT: s_and_b32 s18, s42, 0xff
-; SI-NEXT: s_lshl_b32 s18, s18, 16
+; SI-NEXT: s_or_b32 s41, s18, s67
+; SI-NEXT: s_and_b32 s18, s89, 0xff
+; SI-NEXT: s_lshl_b32 s20, s79, 8
+; SI-NEXT: s_or_b32 s18, s18, s20
+; SI-NEXT: s_and_b32 s20, s42, 0xff
+; SI-NEXT: v_writelane_b32 v47, s68, 61
+; SI-NEXT: s_lshl_b32 s20, s20, 16
; SI-NEXT: s_lshl_b32 s24, s43, 24
-; SI-NEXT: s_or_b32 s19, s24, s18
-; SI-NEXT: s_and_b32 s24, s89, 0xff
-; SI-NEXT: s_lshl_b32 s24, s24, 16
-; SI-NEXT: v_writelane_b32 v46, s25, 5
-; SI-NEXT: s_lshl_b32 s25, s91, 24
-; SI-NEXT: s_and_b32 s20, s20, 0xffff
-; SI-NEXT: s_or_b32 s42, s25, s24
-; SI-NEXT: s_or_b32 s43, s20, s19
-; SI-NEXT: s_and_b32 s20, s31, 0xff
-; SI-NEXT: s_lshl_b32 s24, s95, 8
-; SI-NEXT: s_or_b32 s20, s20, s24
-; SI-NEXT: s_and_b32 s24, s92, 0xff
-; SI-NEXT: s_lshl_b32 s24, s24, 16
-; SI-NEXT: s_lshl_b32 s25, s93, 24
-; SI-NEXT: s_or_b32 s24, s25, s24
-; SI-NEXT: s_and_b32 s25, s34, 0xff
-; SI-NEXT: s_mov_b32 s21, s26
-; SI-NEXT: s_lshl_b32 s25, s25, 16
-; SI-NEXT: s_lshl_b32 s26, s36, 24
-; SI-NEXT: s_and_b32 s20, s20, 0xffff
-; SI-NEXT: s_or_b32 s34, s26, s25
-; SI-NEXT: s_or_b32 s35, s20, s24
-; SI-NEXT: s_and_b32 s20, s49, 0xff
-; SI-NEXT: s_lshl_b32 s25, s48, 8
-; SI-NEXT: s_or_b32 s20, s20, s25
-; SI-NEXT: s_and_b32 s25, s38, 0xff
-; SI-NEXT: s_lshl_b32 s25, s25, 16
-; SI-NEXT: s_lshl_b32 s26, s39, 24
-; SI-NEXT: v_writelane_b32 v46, s27, 6
-; SI-NEXT: s_or_b32 s27, s26, s25
-; SI-NEXT: s_and_b32 s26, s50, 0xff
-; SI-NEXT: s_lshl_b32 s26, s26, 16
-; SI-NEXT: s_lshl_b32 s16, s51, 24
-; SI-NEXT: s_and_b32 s20, s20, 0xffff
-; SI-NEXT: s_or_b32 s36, s16, s26
-; SI-NEXT: s_or_b32 s37, s20, s27
-; SI-NEXT: s_and_b32 s20, s88, 0xff
-; SI-NEXT: s_lshl_b32 s26, s67, 8
-; SI-NEXT: s_or_b32 s20, s20, s26
-; SI-NEXT: s_and_b32 s26, s52, 0xff
-; SI-NEXT: s_lshl_b32 s26, s26, 16
-; SI-NEXT: s_lshl_b32 s16, s53, 24
-; SI-NEXT: s_or_b32 s18, s16, s26
-; SI-NEXT: s_and_b32 s26, s78, 0xff
-; SI-NEXT: s_lshl_b32 s26, s26, 16
-; SI-NEXT: s_lshl_b32 s75, s66, 24
-; SI-NEXT: s_and_b32 s20, s20, 0xffff
-; SI-NEXT: s_or_b32 s38, s75, s26
-; SI-NEXT: s_or_b32 s39, s20, s18
-; SI-NEXT: s_and_b32 s20, s63, 0xff
-; SI-NEXT: s_lshl_b32 s26, s61, 8
-; SI-NEXT: s_or_b32 s20, s20, s26
-; SI-NEXT: s_and_b32 s26, s58, 0xff
-; SI-NEXT: s_lshl_b32 s26, s26, 16
-; SI-NEXT: s_lshl_b32 s75, s59, 24
-; SI-NEXT: s_or_b32 s26, s75, s26
-; SI-NEXT: s_and_b32 s75, s74, 0xff
-; SI-NEXT: s_lshl_b32 s75, s75, 16
-; SI-NEXT: s_lshl_b32 s78, s64, 24
-; SI-NEXT: s_and_b32 s20, s20, 0xffff
-; SI-NEXT: s_or_b32 s48, s78, s75
-; SI-NEXT: s_or_b32 s49, s20, s26
-; SI-NEXT: s_and_b32 s20, s23, 0xff
-; SI-NEXT: s_lshl_b32 s75, vcc_lo, 8
-; SI-NEXT: s_or_b32 s75, s20, s75
-; SI-NEXT: s_and_b32 s20, s60, 0xff
+; SI-NEXT: v_writelane_b32 v47, s19, 62
+; SI-NEXT: s_or_b32 s19, s24, s20
+; SI-NEXT: s_and_b32 s20, s90, 0xff
+; SI-NEXT: s_lshl_b32 s20, s20, 16
+; SI-NEXT: s_lshl_b32 s24, s34, 24
+; SI-NEXT: s_and_b32 s18, s18, 0xffff
+; SI-NEXT: s_or_b32 s42, s24, s20
+; SI-NEXT: s_or_b32 s43, s18, s19
+; SI-NEXT: s_and_b32 s18, s39, 0xff
+; SI-NEXT: s_lshl_b32 s20, s38, 8
+; SI-NEXT: s_or_b32 s18, s18, s20
+; SI-NEXT: s_and_b32 s20, s36, 0xff
+; SI-NEXT: s_lshl_b32 s20, s20, 16
+; SI-NEXT: s_lshl_b32 s24, s37, 24
+; SI-NEXT: s_or_b32 s68, s24, s20
+; SI-NEXT: s_and_b32 s20, s48, 0xff
+; SI-NEXT: s_lshl_b32 s20, s20, 16
+; SI-NEXT: s_lshl_b32 s24, s49, 24
+; SI-NEXT: s_and_b32 s18, s18, 0xffff
+; SI-NEXT: s_or_b32 s34, s24, s20
+; SI-NEXT: s_or_b32 s35, s18, s68
+; SI-NEXT: s_and_b32 s18, s53, 0xff
+; SI-NEXT: s_lshl_b32 s20, s52, 8
+; SI-NEXT: s_or_b32 s18, s18, s20
+; SI-NEXT: s_and_b32 s20, s50, 0xff
+; SI-NEXT: ; implicit-def: $vgpr46 : SGPR spill to VGPR lane
+; SI-NEXT: s_lshl_b32 s20, s20, 16
+; SI-NEXT: v_writelane_b32 v46, s27, 0
+; SI-NEXT: s_lshl_b32 s27, s51, 24
+; SI-NEXT: s_or_b32 s26, s27, s20
+; SI-NEXT: s_and_b32 s20, s54, 0xff
+; SI-NEXT: s_lshl_b32 s20, s20, 16
+; SI-NEXT: s_lshl_b32 s27, s55, 24
+; SI-NEXT: s_and_b32 s18, s18, 0xffff
+; SI-NEXT: s_or_b32 s36, s27, s20
+; SI-NEXT: s_or_b32 s37, s18, s26
+; SI-NEXT: s_and_b32 s18, s78, 0xff
+; SI-NEXT: s_lshl_b32 s20, s29, 8
+; SI-NEXT: s_or_b32 s18, s18, s20
+; SI-NEXT: s_and_b32 s20, s95, 0xff
+; SI-NEXT: s_lshl_b32 s20, s20, 16
+; SI-NEXT: s_lshl_b32 s27, s88, 24
+; SI-NEXT: s_or_b32 s27, s27, s20
+; SI-NEXT: s_and_b32 s20, s45, 0xff
+; SI-NEXT: s_lshl_b32 s20, s20, 16
+; SI-NEXT: s_lshl_b32 s78, s46, 24
+; SI-NEXT: s_and_b32 s18, s18, 0xffff
+; SI-NEXT: s_or_b32 s38, s78, s20
+; SI-NEXT: s_or_b32 s39, s18, s27
+; SI-NEXT: s_and_b32 s18, s25, 0xff
+; SI-NEXT: s_lshl_b32 s20, s63, 8
+; SI-NEXT: s_or_b32 s18, s18, s20
+; SI-NEXT: s_and_b32 s20, s91, 0xff
+; SI-NEXT: s_lshl_b32 s20, s20, 16
+; SI-NEXT: s_lshl_b32 s78, s93, 24
+; SI-NEXT: v_writelane_b32 v46, s69, 1
+; SI-NEXT: s_or_b32 s69, s78, s20
+; SI-NEXT: s_and_b32 s20, s64, 0xff
; SI-NEXT: s_lshl_b32 s20, s20, 16
-; SI-NEXT: s_lshl_b32 s78, s56, 24
-; SI-NEXT: s_or_b32 s20, s78, s20
-; SI-NEXT: s_and_b32 s78, s94, 0xff
+; SI-NEXT: s_lshl_b32 s78, s92, 24
+; SI-NEXT: s_and_b32 s18, s18, 0xffff
+; SI-NEXT: s_or_b32 s48, s78, s20
+; SI-NEXT: s_or_b32 s49, s18, s69
+; SI-NEXT: s_and_b32 s18, s65, 0xff
+; SI-NEXT: s_lshl_b32 s20, s74, 8
+; SI-NEXT: s_or_b32 s20, s18, s20
+; SI-NEXT: s_and_b32 s18, s62, 0xff
+; SI-NEXT: s_lshl_b32 s18, s18, 16
+; SI-NEXT: s_lshl_b32 s78, s60, 24
+; SI-NEXT: s_or_b32 s18, s78, s18
+; SI-NEXT: s_and_b32 s78, s30, 0xff
; SI-NEXT: s_lshl_b32 s78, s78, 16
-; SI-NEXT: s_lshl_b32 s79, s65, 24
-; SI-NEXT: s_and_b32 s75, s75, 0xffff
+; SI-NEXT: s_lshl_b32 s79, s70, 24
+; SI-NEXT: s_and_b32 s20, s20, 0xffff
; SI-NEXT: s_or_b32 s50, s79, s78
-; SI-NEXT: s_or_b32 s51, s75, s20
-; SI-NEXT: s_and_b32 s75, s62, 0xff
-; SI-NEXT: s_lshl_b32 s78, s17, 8
-; SI-NEXT: s_or_b32 s75, s75, s78
-; SI-NEXT: s_and_b32 s78, s45, 0xff
-; SI-NEXT: s_lshl_b32 s78, s78, 16
-; SI-NEXT: s_lshl_b32 s79, s44, 24
-; SI-NEXT: s_or_b32 s78, s79, s78
-; SI-NEXT: s_and_b32 s79, s90, 0xff
+; SI-NEXT: s_or_b32 s51, s20, s18
+; SI-NEXT: s_and_b32 s20, s75, 0xff
+; SI-NEXT: s_lshl_b32 s78, s72, 8
+; SI-NEXT: s_or_b32 s78, s20, s78
+; SI-NEXT: s_and_b32 s20, s57, 0xff
+; SI-NEXT: s_lshl_b32 s20, s20, 16
+; SI-NEXT: s_lshl_b32 s79, s47, 24
+; SI-NEXT: s_or_b32 s20, s79, s20
+; SI-NEXT: s_and_b32 s79, vcc_hi, 0xff
; SI-NEXT: s_lshl_b32 s79, s79, 16
-; SI-NEXT: s_lshl_b32 s88, s84, 24
-; SI-NEXT: s_and_b32 s75, s75, 0xffff
-; SI-NEXT: v_readlane_b32 s16, v47, 47
+; SI-NEXT: s_lshl_b32 s88, s73, 24
+; SI-NEXT: s_and_b32 s78, s78, 0xffff
+; SI-NEXT: s_mov_b32 s17, s4
; SI-NEXT: s_or_b32 s52, s88, s79
-; SI-NEXT: s_or_b32 s53, s75, s78
-; SI-NEXT: s_and_b32 s75, s46, 0xff
-; SI-NEXT: s_lshl_b32 s79, s16, 8
-; SI-NEXT: s_or_b32 s75, s75, s79
-; SI-NEXT: s_and_b32 s79, s55, 0xff
+; SI-NEXT: s_or_b32 s53, s78, s20
+; SI-NEXT: s_and_b32 s78, s61, 0xff
+; SI-NEXT: s_lshl_b32 s79, s56, 8
+; SI-NEXT: v_readlane_b32 s4, v56, 38
+; SI-NEXT: s_or_b32 s78, s78, s79
+; SI-NEXT: s_and_b32 s79, s4, 0xff
+; SI-NEXT: v_readlane_b32 s4, v56, 37
; SI-NEXT: s_lshl_b32 s79, s79, 16
-; SI-NEXT: s_lshl_b32 s88, s54, 24
-; SI-NEXT: s_or_b32 s88, s88, s79
-; SI-NEXT: s_and_b32 s79, s73, 0xff
+; SI-NEXT: s_lshl_b32 s88, s4, 24
+; SI-NEXT: s_or_b32 s16, s88, s79
+; SI-NEXT: s_and_b32 s79, s44, 0xff
+; SI-NEXT: s_and_b32 s78, s78, 0xffff
+; SI-NEXT: v_readlane_b32 s4, v56, 34
; SI-NEXT: s_lshl_b32 s79, s79, 16
-; SI-NEXT: s_lshl_b32 s89, s72, 24
-; SI-NEXT: s_and_b32 s75, s75, 0xffff
-; SI-NEXT: v_readlane_b32 s16, v47, 48
-; SI-NEXT: s_or_b32 s54, s89, s79
-; SI-NEXT: s_or_b32 s55, s75, s88
-; SI-NEXT: s_and_b32 s75, s83, 0xff
-; SI-NEXT: s_lshl_b32 s79, s82, 8
-; SI-NEXT: s_and_b32 s44, s16, 0xffff
-; SI-NEXT: v_readlane_b32 s16, v47, 49
-; SI-NEXT: s_or_b32 s75, s75, s79
-; SI-NEXT: s_and_b32 s79, s81, 0xff
-; SI-NEXT: s_and_b32 s45, s16, 0xffff
-; SI-NEXT: v_readlane_b32 s16, v47, 50
+; SI-NEXT: s_lshl_b32 s88, s94, 24
+; SI-NEXT: s_or_b32 s55, s78, s16
+; SI-NEXT: s_and_b32 s78, s4, 0xff
+; SI-NEXT: v_readlane_b32 s4, v56, 33
+; SI-NEXT: s_or_b32 s54, s88, s79
+; SI-NEXT: s_lshl_b32 s79, s4, 8
+; SI-NEXT: s_or_b32 s78, s78, s79
+; SI-NEXT: s_and_b32 s79, s83, 0xff
; SI-NEXT: s_lshl_b32 s79, s79, 16
-; SI-NEXT: s_lshl_b32 s89, s80, 24
-; SI-NEXT: s_and_b32 s46, s16, 0xffff
-; SI-NEXT: v_readlane_b32 s16, v47, 51
-; SI-NEXT: s_or_b32 s90, s89, s79
-; SI-NEXT: s_lshl_b32 s89, s47, 24
-; SI-NEXT: s_and_b32 s47, s16, 0xffff
-; SI-NEXT: v_readlane_b32 s16, v47, 52
-; SI-NEXT: s_and_b32 s79, s57, 0xff
-; SI-NEXT: s_and_b32 s56, s16, 0xffff
-; SI-NEXT: v_readlane_b32 s16, v47, 53
+; SI-NEXT: s_lshl_b32 s88, s80, 24
+; SI-NEXT: v_readlane_b32 s4, v56, 36
+; SI-NEXT: v_writelane_b32 v47, s81, 63
+; SI-NEXT: s_or_b32 s88, s88, s79
+; SI-NEXT: s_and_b32 s79, s4, 0xff
+; SI-NEXT: v_readlane_b32 s4, v56, 35
+; SI-NEXT: s_lshl_b32 s89, s4, 24
+; SI-NEXT: v_readlane_b32 s4, v47, 46
+; SI-NEXT: s_and_b32 s46, s4, 0xffff
+; SI-NEXT: v_readlane_b32 s4, v47, 47
+; SI-NEXT: s_and_b32 s56, s4, 0xffff
+; SI-NEXT: v_readlane_b32 s4, v47, 48
; SI-NEXT: s_lshl_b32 s79, s79, 16
-; SI-NEXT: s_and_b32 s57, s16, 0xffff
-; SI-NEXT: v_readlane_b32 s16, v47, 54
+; SI-NEXT: s_and_b32 s57, s4, 0xffff
+; SI-NEXT: v_readlane_b32 s4, v47, 49
; SI-NEXT: s_or_b32 s64, s89, s79
-; SI-NEXT: s_and_b32 s79, s16, 0xffff
-; SI-NEXT: v_readlane_b32 s16, v47, 55
-; SI-NEXT: s_and_b32 s89, s16, 0xffff
-; SI-NEXT: v_readlane_b32 s16, v47, 56
-; SI-NEXT: s_and_b32 s17, s16, 0xffff
-; SI-NEXT: v_readlane_b32 s16, v47, 57
-; SI-NEXT: s_and_b32 s91, s16, 0xffff
-; SI-NEXT: v_readlane_b32 s16, v47, 58
-; SI-NEXT: s_and_b32 s13, s13, 0xffff
-; SI-NEXT: s_and_b32 s92, s16, 0xffff
-; SI-NEXT: v_readlane_b32 s16, v47, 59
-; SI-NEXT: s_or_b32 s13, s13, s86
-; SI-NEXT: s_and_b32 s93, s16, 0xffff
-; SI-NEXT: s_mov_b32 s16, s85
+; SI-NEXT: s_and_b32 s89, s4, 0xffff
+; SI-NEXT: v_readlane_b32 s4, v47, 50
+; SI-NEXT: s_and_b32 s78, s78, 0xffff
+; SI-NEXT: s_and_b32 s30, s4, 0xffff
+; SI-NEXT: v_readlane_b32 s4, v47, 51
+; SI-NEXT: s_or_b32 s65, s78, s88
+; SI-NEXT: s_and_b32 s78, s4, 0xffff
+; SI-NEXT: v_readlane_b32 s4, v47, 52
+; SI-NEXT: s_and_b32 s7, s7, 0xffff
+; SI-NEXT: s_and_b32 s15, s15, 0xffff
+; SI-NEXT: s_and_b32 s47, s84, 0xffff
+; SI-NEXT: s_and_b32 s79, s4, 0xffff
+; SI-NEXT: v_readlane_b32 s4, v47, 53
+; SI-NEXT: s_lshr_b64 s[24:25], s[58:59], 16
+; SI-NEXT: s_or_b32 s7, s7, s5
+; SI-NEXT: s_or_b32 s15, s15, s66
+; SI-NEXT: s_mov_b32 s5, s85
+; SI-NEXT: s_and_b32 s44, s28, 0xffff
+; SI-NEXT: s_and_b32 s90, s4, 0xffff
+; SI-NEXT: v_readlane_b32 s4, v47, 54
+; SI-NEXT: s_or_b32 s62, s46, s8
+; SI-NEXT: s_or_b32 s60, s47, s10
+; SI-NEXT: s_or_b32 s46, s89, s40
+; SI-NEXT: s_mov_b32 s47, s41
; SI-NEXT: s_lshr_b64 s[84:85], s[40:41], 16
-; SI-NEXT: s_and_b32 s94, s71, 0xffff
-; SI-NEXT: s_and_b32 s95, s70, 0xffff
+; SI-NEXT: s_or_b32 s40, s79, s36
+; SI-NEXT: s_mov_b32 s41, s37
+; SI-NEXT: s_lshr_b64 s[36:37], s[36:37], 16
+; SI-NEXT: v_readlane_b32 s25, v47, 56
+; SI-NEXT: s_and_b32 s91, s4, 0xffff
+; SI-NEXT: s_and_b32 s93, s71, 0xffff
+; SI-NEXT: s_or_b32 s74, s44, s58
; SI-NEXT: s_or_b32 s58, s56, s12
+; SI-NEXT: s_or_b32 s56, s57, s14
+; SI-NEXT: s_mov_b32 s57, s15
+; SI-NEXT: s_lshr_b64 s[70:71], s[14:15], 16
+; SI-NEXT: s_or_b32 s14, s90, s38
+; SI-NEXT: s_mov_b32 s15, s39
+; SI-NEXT: s_lshr_b64 s[38:39], s[38:39], 16
+; SI-NEXT: s_lshr_b32 s37, s25, 16
+; SI-NEXT: v_readlane_b32 s25, v47, 57
+; SI-NEXT: s_and_b32 s45, s82, 0xffff
+; SI-NEXT: v_readlane_b32 s4, v47, 55
+; SI-NEXT: s_mov_b32 s75, s59
; SI-NEXT: s_mov_b32 s59, s13
-; SI-NEXT: s_lshr_b64 s[70:71], s[12:13], 16
-; SI-NEXT: s_or_b32 s12, s93, s48
+; SI-NEXT: s_lshr_b64 s[82:83], s[12:13], 16
+; SI-NEXT: s_or_b32 s12, s91, s48
; SI-NEXT: s_mov_b32 s13, s49
; SI-NEXT: s_lshr_b64 s[48:49], s[48:49], 16
-; SI-NEXT: s_mov_b32 s85, s16
-; SI-NEXT: v_readlane_b32 s16, v47, 61
-; SI-NEXT: s_and_b32 s15, s15, 0xffff
-; SI-NEXT: s_mov_b32 s25, s22
-; SI-NEXT: s_and_b32 s75, s75, 0xffff
-; SI-NEXT: v_readlane_b32 s22, v47, 60
-; SI-NEXT: s_or_b32 s60, s47, s10
+; SI-NEXT: s_lshr_b32 s39, s25, 16
+; SI-NEXT: v_readlane_b32 s25, v47, 58
+; SI-NEXT: s_and_b32 s92, s4, 0xffff
+; SI-NEXT: s_and_b32 s94, vcc_lo, 0xffff
+; SI-NEXT: s_and_b32 s95, s31, 0xffff
+; SI-NEXT: s_lshr_b32 s49, s25, 16
+; SI-NEXT: v_readlane_b32 s25, v47, 59
+; SI-NEXT: s_or_b32 s72, s45, s6
+; SI-NEXT: s_mov_b32 s73, s7
+; SI-NEXT: s_lshr_b64 vcc, s[6:7], 16
+; SI-NEXT: s_mov_b32 s63, s9
+; SI-NEXT: s_lshr_b64 s[28:29], s[8:9], 16
; SI-NEXT: s_mov_b32 s61, s11
-; SI-NEXT: s_lshr_b64 vcc, s[10:11], 16
-; SI-NEXT: s_or_b32 s10, s94, s50
+; SI-NEXT: s_lshr_b64 s[80:81], s[10:11], 16
+; SI-NEXT: s_mov_b32 s85, s5
+; SI-NEXT: s_or_b32 s10, s92, s50
; SI-NEXT: s_mov_b32 s11, s51
; SI-NEXT: s_lshr_b64 s[50:51], s[50:51], 16
-; SI-NEXT: s_lshr_b32 s49, s16, 16
-; SI-NEXT: v_readlane_b32 s16, v47, 62
-; SI-NEXT: s_or_b32 s15, s15, s29
-; SI-NEXT: s_mov_b32 s23, s21
-; SI-NEXT: s_or_b32 s65, s75, s90
-; SI-NEXT: s_and_b32 s21, s69, 0xffff
-; SI-NEXT: s_and_b32 s22, s22, 0xffff
-; SI-NEXT: s_or_b32 s62, s46, s8
-; SI-NEXT: s_mov_b32 s63, s9
-; SI-NEXT: s_lshr_b64 s[66:67], s[8:9], 16
-; SI-NEXT: s_or_b32 s8, s95, s52
+; SI-NEXT: s_or_b32 s8, s93, s52
; SI-NEXT: s_mov_b32 s9, s53
; SI-NEXT: s_lshr_b64 s[52:53], s[52:53], 16
-; SI-NEXT: s_lshr_b32 s51, s16, 16
-; SI-NEXT: v_readlane_b32 s16, v47, 63
-; SI-NEXT: s_or_b32 s74, s44, s4
-; SI-NEXT: s_mov_b32 s75, s5
-; SI-NEXT: s_lshr_b64 s[82:83], s[4:5], 16
-; SI-NEXT: s_or_b32 s72, s45, s6
-; SI-NEXT: s_mov_b32 s73, s7
-; SI-NEXT: s_lshr_b64 s[30:31], s[6:7], 16
-; SI-NEXT: s_or_b32 s56, s57, s14
-; SI-NEXT: s_mov_b32 s57, s15
-; SI-NEXT: s_lshr_b64 s[80:81], s[14:15], 16
-; SI-NEXT: s_or_b32 s44, s89, s42
-; SI-NEXT: s_mov_b32 s45, s43
-; SI-NEXT: s_lshr_b64 s[68:69], s[42:43], 16
-; SI-NEXT: s_or_b32 s42, s17, s34
-; SI-NEXT: s_mov_b32 s43, s35
-; SI-NEXT: s_lshr_b64 s[34:35], s[34:35], 16
-; SI-NEXT: s_or_b32 s14, s92, s38
-; SI-NEXT: s_mov_b32 s15, s39
-; SI-NEXT: s_lshr_b64 s[38:39], s[38:39], 16
-; SI-NEXT: s_or_b32 s6, s21, s54
+; SI-NEXT: s_or_b32 s6, s94, s54
; SI-NEXT: s_mov_b32 s7, s55
; SI-NEXT: s_lshr_b64 s[54:55], s[54:55], 16
-; SI-NEXT: s_or_b32 s4, s22, s64
+; SI-NEXT: s_or_b32 s4, s95, s64
; SI-NEXT: s_mov_b32 s5, s65
; SI-NEXT: s_lshr_b64 s[64:65], s[64:65], 16
-; SI-NEXT: s_lshr_b32 s53, s16, 16
-; SI-NEXT: v_readlane_b32 s16, v46, 0
-; SI-NEXT: s_or_b32 s46, s79, s40
-; SI-NEXT: s_mov_b32 s47, s41
-; SI-NEXT: s_or_b32 s40, s91, s36
-; SI-NEXT: s_mov_b32 s41, s37
-; SI-NEXT: s_lshr_b64 s[36:37], s[36:37], 16
-; SI-NEXT: s_lshr_b32 s55, s16, 16
-; SI-NEXT: s_lshr_b32 s65, s86, 16
-; SI-NEXT: s_lshr_b32 s35, s29, 16
-; SI-NEXT: s_mov_b32 s94, s66
-; SI-NEXT: s_lshr_b32 s79, s28, 16
-; SI-NEXT: v_readlane_b32 s28, v46, 3
-; SI-NEXT: v_readlane_b32 vcc_hi, v46, 2
-; SI-NEXT: s_lshr_b32 s89, s19, 16
-; SI-NEXT: s_lshr_b32 s91, s24, 16
-; SI-NEXT: v_readlane_b32 s24, v46, 4
-; SI-NEXT: s_lshr_b32 s93, s27, 16
-; SI-NEXT: v_readlane_b32 s27, v46, 6
-; SI-NEXT: s_lshr_b32 s95, s18, 16
-; SI-NEXT: s_lshr_b32 s31, s26, 16
-; SI-NEXT: s_lshr_b32 s17, s20, 16
-; SI-NEXT: v_readlane_b32 s20, v46, 1
-; SI-NEXT: s_lshr_b32 s92, s78, 16
-; SI-NEXT: s_lshr_b32 s78, s88, 16
-; SI-NEXT: v_readlane_b32 s21, v47, 47
-; SI-NEXT: s_mov_b32 s26, s23
-; SI-NEXT: s_mov_b32 s22, s25
-; SI-NEXT: v_readlane_b32 s25, v46, 5
-; SI-NEXT: s_lshr_b32 s39, s90, 16
+; SI-NEXT: s_lshr_b32 s90, s25, 16
+; SI-NEXT: v_readlane_b32 s25, v47, 60
+; SI-NEXT: s_or_b32 s44, s30, s42
+; SI-NEXT: s_mov_b32 s45, s43
+; SI-NEXT: s_lshr_b64 s[30:31], s[42:43], 16
+; SI-NEXT: s_or_b32 s42, s78, s34
+; SI-NEXT: s_mov_b32 s43, s35
+; SI-NEXT: s_lshr_b64 s[34:35], s[34:35], 16
+; SI-NEXT: v_readlane_b32 s81, v47, 63
+; SI-NEXT: s_lshr_b32 s78, s25, 16
+; SI-NEXT: s_lshr_b32 s51, s66, 16
+; SI-NEXT: s_lshr_b32 s53, s67, 16
+; SI-NEXT: s_lshr_b32 s55, s19, 16
+; SI-NEXT: v_readlane_b32 s19, v47, 62
+; SI-NEXT: s_lshr_b32 s65, s68, 16
+; SI-NEXT: s_lshr_b32 s79, s26, 16
+; SI-NEXT: s_lshr_b32 s89, s27, 16
+; SI-NEXT: v_readlane_b32 s27, v46, 0
+; SI-NEXT: s_lshr_b32 s91, s69, 16
+; SI-NEXT: v_readlane_b32 s69, v46, 1
+; SI-NEXT: v_readlane_b32 s68, v47, 61
+; SI-NEXT: s_lshr_b32 s93, s18, 16
+; SI-NEXT: s_lshr_b32 s95, s20, 16
+; SI-NEXT: s_lshr_b32 s92, s16, 16
+; SI-NEXT: s_lshr_b32 s16, s88, 16
+; SI-NEXT: s_mov_b32 s20, s17
; SI-NEXT: s_mov_b64 s[66:67], 0
; SI-NEXT: s_branch .LBB97_3
; SI-NEXT: .LBB97_2:
; SI-NEXT: s_mov_b64 s[66:67], -1
; SI-NEXT: ; implicit-def: $sgpr74
-; SI-NEXT: ; implicit-def: $sgpr82
-; SI-NEXT: ; implicit-def: $sgpr49
+; SI-NEXT: ; implicit-def: $sgpr24
+; SI-NEXT: ; implicit-def: $sgpr37
; SI-NEXT: ; implicit-def: $sgpr72
-; SI-NEXT: ; implicit-def: $sgpr30
-; SI-NEXT: ; implicit-def: $sgpr51
+; SI-NEXT: ; implicit-def: $vcc_lo
+; SI-NEXT: ; implicit-def: $sgpr39
; SI-NEXT: ; implicit-def: $sgpr62
-; SI-NEXT: ; implicit-def: $sgpr94
-; SI-NEXT: ; implicit-def: $sgpr53
+; SI-NEXT: ; implicit-def: $sgpr28
+; SI-NEXT: ; implicit-def: $sgpr49
; SI-NEXT: ; implicit-def: $sgpr60
-; SI-NEXT: ; implicit-def: $vcc_lo
-; SI-NEXT: ; implicit-def: $sgpr55
+; SI-NEXT: ; implicit-def: $sgpr80
+; SI-NEXT: ; implicit-def: $sgpr90
; SI-NEXT: ; implicit-def: $sgpr58
-; SI-NEXT: ; implicit-def: $sgpr70
-; SI-NEXT: ; implicit-def: $sgpr65
+; SI-NEXT: ; implicit-def: $sgpr82
+; SI-NEXT: ; implicit-def: $sgpr78
; SI-NEXT: ; implicit-def: $sgpr56
-; SI-NEXT: ; implicit-def: $sgpr80
-; SI-NEXT: ; implicit-def: $sgpr35
+; SI-NEXT: ; implicit-def: $sgpr70
+; SI-NEXT: ; implicit-def: $sgpr51
; SI-NEXT: ; implicit-def: $sgpr46
; SI-NEXT: ; implicit-def: $sgpr84
-; SI-NEXT: ; implicit-def: $sgpr79
+; SI-NEXT: ; implicit-def: $sgpr53
; SI-NEXT: ; implicit-def: $sgpr44
-; SI-NEXT: ; implicit-def: $sgpr68
-; SI-NEXT: ; implicit-def: $sgpr89
+; SI-NEXT: ; implicit-def: $sgpr30
+; SI-NEXT: ; implicit-def: $sgpr55
; SI-NEXT: ; implicit-def: $sgpr42
; SI-NEXT: ; implicit-def: $sgpr34
-; SI-NEXT: ; implicit-def: $sgpr91
+; SI-NEXT: ; implicit-def: $sgpr65
; SI-NEXT: ; implicit-def: $sgpr40
; SI-NEXT: ; implicit-def: $sgpr36
-; SI-NEXT: ; implicit-def: $sgpr93
+; SI-NEXT: ; implicit-def: $sgpr79
; SI-NEXT: ; implicit-def: $sgpr14
; SI-NEXT: ; implicit-def: $sgpr38
-; SI-NEXT: ; implicit-def: $sgpr95
+; SI-NEXT: ; implicit-def: $sgpr89
; SI-NEXT: ; implicit-def: $sgpr12
; SI-NEXT: ; implicit-def: $sgpr48
-; SI-NEXT: ; implicit-def: $sgpr31
+; SI-NEXT: ; implicit-def: $sgpr91
; SI-NEXT: ; implicit-def: $sgpr10
; SI-NEXT: ; implicit-def: $sgpr50
-; SI-NEXT: ; implicit-def: $sgpr17
+; SI-NEXT: ; implicit-def: $sgpr93
; SI-NEXT: ; implicit-def: $sgpr8
; SI-NEXT: ; implicit-def: $sgpr52
-; SI-NEXT: ; implicit-def: $sgpr92
+; SI-NEXT: ; implicit-def: $sgpr95
; SI-NEXT: ; implicit-def: $sgpr6
; SI-NEXT: ; implicit-def: $sgpr54
-; SI-NEXT: ; implicit-def: $sgpr78
+; SI-NEXT: ; implicit-def: $sgpr92
; SI-NEXT: ; implicit-def: $sgpr4
; SI-NEXT: ; implicit-def: $sgpr64
-; SI-NEXT: ; implicit-def: $sgpr39
+; SI-NEXT: ; implicit-def: $sgpr16
; SI-NEXT: .LBB97_3: ; %Flow
-; SI-NEXT: s_and_b64 s[18:19], s[66:67], exec
-; SI-NEXT: s_cselect_b32 s16, 1, 0
-; SI-NEXT: s_cmp_lg_u32 s16, 1
+; SI-NEXT: s_and_b64 s[66:67], s[66:67], exec
+; SI-NEXT: s_cselect_b32 s18, 1, 0
+; SI-NEXT: s_cmp_lg_u32 s18, 1
; SI-NEXT: s_cbranch_scc1 .LBB97_5
; SI-NEXT: ; %bb.4: ; %cmp.true
-; SI-NEXT: v_readlane_b32 s4, v47, 32
+; SI-NEXT: v_readlane_b32 s4, v47, 35
; SI-NEXT: s_add_i32 s4, s4, 3
-; SI-NEXT: v_readlane_b32 s5, v47, 27
-; SI-NEXT: v_readlane_b32 s6, v47, 17
+; SI-NEXT: v_readlane_b32 s5, v47, 31
+; SI-NEXT: v_readlane_b32 s6, v56, 36
; SI-NEXT: s_and_b32 s4, s4, 0xff
; SI-NEXT: s_lshl_b32 s5, s5, 8
; SI-NEXT: s_add_i32 s6, s6, 3
; SI-NEXT: s_or_b32 s4, s5, s4
-; SI-NEXT: v_readlane_b32 s5, v47, 15
+; SI-NEXT: v_readlane_b32 s5, v56, 35
; SI-NEXT: s_and_b32 s6, s6, 0xff
; SI-NEXT: s_lshl_b32 s5, s5, 24
; SI-NEXT: s_lshl_b32 s6, s6, 16
@@ -194828,15 +194834,15 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; SI-NEXT: s_or_b32 s5, s5, s6
; SI-NEXT: s_and_b32 s4, s4, 0xffff
; SI-NEXT: s_or_b32 s4, s5, s4
-; SI-NEXT: v_readlane_b32 s5, v47, 2
+; SI-NEXT: v_readlane_b32 s5, v56, 34
; SI-NEXT: s_add_i32 s5, s5, 3
-; SI-NEXT: v_readlane_b32 s6, v56, 62
-; SI-NEXT: v_readlane_b32 s7, v56, 55
+; SI-NEXT: v_readlane_b32 s6, v56, 33
+; SI-NEXT: v_readlane_b32 s7, v47, 1
; SI-NEXT: s_and_b32 s5, s5, 0xff
; SI-NEXT: s_lshl_b32 s6, s6, 8
; SI-NEXT: s_add_i32 s7, s7, 3
; SI-NEXT: s_or_b32 s5, s6, s5
-; SI-NEXT: v_readlane_b32 s6, v56, 52
+; SI-NEXT: v_readlane_b32 s6, v56, 63
; SI-NEXT: s_and_b32 s7, s7, 0xff
; SI-NEXT: s_lshl_b32 s6, s6, 24
; SI-NEXT: s_lshl_b32 s7, s7, 16
@@ -194846,13 +194852,13 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; SI-NEXT: s_or_b32 s5, s6, s5
; SI-NEXT: v_readlane_b32 s6, v47, 41
; SI-NEXT: s_add_i32 s6, s6, 3
-; SI-NEXT: v_readlane_b32 s7, v47, 35
-; SI-NEXT: v_readlane_b32 s8, v47, 30
+; SI-NEXT: v_readlane_b32 s7, v47, 38
+; SI-NEXT: v_readlane_b32 s8, v47, 32
; SI-NEXT: s_and_b32 s6, s6, 0xff
; SI-NEXT: s_lshl_b32 s7, s7, 8
; SI-NEXT: s_add_i32 s8, s8, 3
; SI-NEXT: s_or_b32 s6, s7, s6
-; SI-NEXT: v_readlane_b32 s7, v47, 29
+; SI-NEXT: v_readlane_b32 s7, v47, 30
; SI-NEXT: s_and_b32 s8, s8, 0xff
; SI-NEXT: s_lshl_b32 s7, s7, 24
; SI-NEXT: s_lshl_b32 s8, s8, 16
@@ -194860,14 +194866,15 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; SI-NEXT: s_or_b32 s7, s7, s8
; SI-NEXT: s_and_b32 s6, s6, 0xffff
; SI-NEXT: s_or_b32 s6, s7, s6
-; SI-NEXT: v_readlane_b32 s7, v47, 12
+; SI-NEXT: v_readlane_b32 s7, v47, 20
; SI-NEXT: s_add_i32 s7, s7, 3
-; SI-NEXT: v_readlane_b32 s9, v47, 6
+; SI-NEXT: v_readlane_b32 s8, v47, 13
+; SI-NEXT: v_readlane_b32 s9, v56, 38
; SI-NEXT: s_and_b32 s7, s7, 0xff
-; SI-NEXT: s_lshl_b32 s8, s21, 8
+; SI-NEXT: s_lshl_b32 s8, s8, 8
; SI-NEXT: s_add_i32 s9, s9, 3
; SI-NEXT: s_or_b32 s7, s8, s7
-; SI-NEXT: v_readlane_b32 s8, v47, 1
+; SI-NEXT: v_readlane_b32 s8, v56, 37
; SI-NEXT: s_and_b32 s9, s9, 0xff
; SI-NEXT: s_lshl_b32 s8, s8, 24
; SI-NEXT: s_lshl_b32 s9, s9, 16
@@ -194877,13 +194884,13 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; SI-NEXT: s_or_b32 s7, s8, s7
; SI-NEXT: v_readlane_b32 s8, v47, 44
; SI-NEXT: s_add_i32 s8, s8, 3
-; SI-NEXT: v_readlane_b32 s9, v47, 43
+; SI-NEXT: v_readlane_b32 s9, v47, 42
; SI-NEXT: v_readlane_b32 s10, v47, 40
; SI-NEXT: s_and_b32 s8, s8, 0xff
; SI-NEXT: s_lshl_b32 s9, s9, 8
; SI-NEXT: s_add_i32 s10, s10, 3
; SI-NEXT: s_or_b32 s8, s9, s8
-; SI-NEXT: v_readlane_b32 s9, v47, 37
+; SI-NEXT: v_readlane_b32 s9, v47, 36
; SI-NEXT: s_and_b32 s10, s10, 0xff
; SI-NEXT: s_lshl_b32 s9, s9, 24
; SI-NEXT: s_lshl_b32 s10, s10, 16
@@ -194891,15 +194898,15 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; SI-NEXT: s_or_b32 s9, s9, s10
; SI-NEXT: s_and_b32 s8, s8, 0xffff
; SI-NEXT: s_or_b32 s8, s9, s8
-; SI-NEXT: v_readlane_b32 s9, v47, 25
+; SI-NEXT: v_readlane_b32 s9, v47, 26
; SI-NEXT: s_add_i32 s9, s9, 3
-; SI-NEXT: v_readlane_b32 s10, v47, 21
-; SI-NEXT: v_readlane_b32 s11, v47, 11
+; SI-NEXT: v_readlane_b32 s10, v47, 23
+; SI-NEXT: v_readlane_b32 s11, v47, 14
; SI-NEXT: s_and_b32 s9, s9, 0xff
; SI-NEXT: s_lshl_b32 s10, s10, 8
; SI-NEXT: s_add_i32 s11, s11, 3
; SI-NEXT: s_or_b32 s9, s10, s9
-; SI-NEXT: v_readlane_b32 s10, v47, 10
+; SI-NEXT: v_readlane_b32 s10, v47, 12
; SI-NEXT: s_and_b32 s11, s11, 0xff
; SI-NEXT: s_lshl_b32 s10, s10, 24
; SI-NEXT: s_lshl_b32 s11, s11, 16
@@ -194907,15 +194914,15 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; SI-NEXT: s_or_b32 s10, s10, s11
; SI-NEXT: s_and_b32 s9, s9, 0xffff
; SI-NEXT: s_or_b32 s9, s10, s9
-; SI-NEXT: v_readlane_b32 s10, v47, 46
+; SI-NEXT: v_readlane_b32 s10, v47, 45
; SI-NEXT: s_add_i32 s10, s10, 3
-; SI-NEXT: v_readlane_b32 s11, v47, 45
-; SI-NEXT: v_readlane_b32 s12, v47, 42
+; SI-NEXT: v_readlane_b32 s11, v47, 43
+; SI-NEXT: v_readlane_b32 s12, v47, 39
; SI-NEXT: s_and_b32 s10, s10, 0xff
; SI-NEXT: s_lshl_b32 s11, s11, 8
; SI-NEXT: s_add_i32 s12, s12, 3
; SI-NEXT: s_or_b32 s10, s11, s10
-; SI-NEXT: v_readlane_b32 s11, v47, 39
+; SI-NEXT: v_readlane_b32 s11, v47, 37
; SI-NEXT: s_and_b32 s12, s12, 0xff
; SI-NEXT: s_lshl_b32 s11, s11, 24
; SI-NEXT: s_lshl_b32 s12, s12, 16
@@ -194923,15 +194930,15 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; SI-NEXT: s_or_b32 s11, s11, s12
; SI-NEXT: s_and_b32 s10, s10, 0xffff
; SI-NEXT: s_or_b32 s10, s11, s10
-; SI-NEXT: v_readlane_b32 s11, v47, 31
+; SI-NEXT: v_readlane_b32 s11, v47, 29
; SI-NEXT: s_add_i32 s11, s11, 3
-; SI-NEXT: v_readlane_b32 s12, v47, 28
-; SI-NEXT: v_readlane_b32 s13, v47, 22
+; SI-NEXT: v_readlane_b32 s12, v47, 25
+; SI-NEXT: v_readlane_b32 s13, v47, 21
; SI-NEXT: s_and_b32 s11, s11, 0xff
; SI-NEXT: s_lshl_b32 s12, s12, 8
; SI-NEXT: s_add_i32 s13, s13, 3
; SI-NEXT: s_or_b32 s11, s12, s11
-; SI-NEXT: v_readlane_b32 s12, v47, 16
+; SI-NEXT: v_readlane_b32 s12, v47, 19
; SI-NEXT: s_and_b32 s13, s13, 0xff
; SI-NEXT: s_lshl_b32 s12, s12, 24
; SI-NEXT: s_lshl_b32 s13, s13, 16
@@ -194939,15 +194946,15 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; SI-NEXT: s_or_b32 s12, s12, s13
; SI-NEXT: s_and_b32 s11, s11, 0xffff
; SI-NEXT: s_or_b32 s11, s12, s11
-; SI-NEXT: v_readlane_b32 s12, v47, 38
+; SI-NEXT: v_readlane_b32 s12, v47, 34
; SI-NEXT: s_add_i32 s12, s12, 3
-; SI-NEXT: v_readlane_b32 s13, v47, 36
-; SI-NEXT: v_readlane_b32 s14, v47, 33
+; SI-NEXT: v_readlane_b32 s13, v47, 33
+; SI-NEXT: v_readlane_b32 s14, v47, 27
; SI-NEXT: s_and_b32 s12, s12, 0xff
; SI-NEXT: s_lshl_b32 s13, s13, 8
; SI-NEXT: s_add_i32 s14, s14, 3
; SI-NEXT: s_or_b32 s12, s13, s12
-; SI-NEXT: v_readlane_b32 s13, v47, 34
+; SI-NEXT: v_readlane_b32 s13, v47, 28
; SI-NEXT: s_and_b32 s14, s14, 0xff
; SI-NEXT: s_lshl_b32 s13, s13, 24
; SI-NEXT: s_lshl_b32 s14, s14, 16
@@ -194955,15 +194962,15 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; SI-NEXT: s_or_b32 s13, s13, s14
; SI-NEXT: s_and_b32 s12, s12, 0xffff
; SI-NEXT: s_or_b32 s12, s13, s12
-; SI-NEXT: v_readlane_b32 s13, v47, 26
+; SI-NEXT: v_readlane_b32 s13, v47, 24
; SI-NEXT: s_add_i32 s13, s13, 3
-; SI-NEXT: v_readlane_b32 s14, v47, 24
-; SI-NEXT: v_readlane_b32 s15, v47, 19
+; SI-NEXT: v_readlane_b32 s14, v47, 22
+; SI-NEXT: v_readlane_b32 s15, v47, 17
; SI-NEXT: s_and_b32 s13, s13, 0xff
; SI-NEXT: s_lshl_b32 s14, s14, 8
; SI-NEXT: s_add_i32 s15, s15, 3
; SI-NEXT: s_or_b32 s13, s14, s13
-; SI-NEXT: v_readlane_b32 s14, v47, 20
+; SI-NEXT: v_readlane_b32 s14, v47, 18
; SI-NEXT: s_and_b32 s15, s15, 0xff
; SI-NEXT: s_lshl_b32 s14, s14, 24
; SI-NEXT: s_lshl_b32 s15, s15, 16
@@ -194971,15 +194978,15 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; SI-NEXT: s_or_b32 s14, s14, s15
; SI-NEXT: s_and_b32 s13, s13, 0xffff
; SI-NEXT: s_or_b32 s13, s14, s13
-; SI-NEXT: v_readlane_b32 s14, v47, 23
+; SI-NEXT: v_readlane_b32 s14, v47, 16
; SI-NEXT: s_add_i32 s14, s14, 3
-; SI-NEXT: v_readlane_b32 s15, v47, 18
-; SI-NEXT: v_readlane_b32 s16, v47, 13
+; SI-NEXT: v_readlane_b32 s15, v47, 15
+; SI-NEXT: v_readlane_b32 s16, v47, 10
; SI-NEXT: s_and_b32 s14, s14, 0xff
; SI-NEXT: s_lshl_b32 s15, s15, 8
; SI-NEXT: s_add_i32 s16, s16, 3
; SI-NEXT: s_or_b32 s14, s15, s14
-; SI-NEXT: v_readlane_b32 s15, v47, 14
+; SI-NEXT: v_readlane_b32 s15, v47, 11
; SI-NEXT: s_and_b32 s16, s16, 0xff
; SI-NEXT: s_lshl_b32 s15, s15, 24
; SI-NEXT: s_lshl_b32 s16, s16, 16
@@ -194990,12 +194997,12 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; SI-NEXT: v_readlane_b32 s15, v47, 9
; SI-NEXT: s_add_i32 s15, s15, 3
; SI-NEXT: v_readlane_b32 s16, v47, 8
-; SI-NEXT: v_readlane_b32 s17, v47, 4
+; SI-NEXT: v_readlane_b32 s17, v47, 6
; SI-NEXT: s_and_b32 s15, s15, 0xff
; SI-NEXT: s_lshl_b32 s16, s16, 8
; SI-NEXT: s_add_i32 s17, s17, 3
; SI-NEXT: s_or_b32 s15, s16, s15
-; SI-NEXT: v_readlane_b32 s16, v47, 5
+; SI-NEXT: v_readlane_b32 s16, v47, 7
; SI-NEXT: s_and_b32 s17, s17, 0xff
; SI-NEXT: s_lshl_b32 s16, s16, 24
; SI-NEXT: s_lshl_b32 s17, s17, 16
@@ -195003,15 +195010,15 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: s_and_b32 s15, s15, 0xffff
; SI-NEXT: s_or_b32 s15, s16, s15
-; SI-NEXT: v_readlane_b32 s16, v47, 7
+; SI-NEXT: v_readlane_b32 s16, v47, 5
; SI-NEXT: s_add_i32 s16, s16, 3
-; SI-NEXT: v_readlane_b32 s17, v47, 3
-; SI-NEXT: v_readlane_b32 s18, v56, 63
+; SI-NEXT: v_readlane_b32 s17, v47, 4
+; SI-NEXT: v_readlane_b32 s18, v47, 2
; SI-NEXT: s_and_b32 s16, s16, 0xff
; SI-NEXT: s_lshl_b32 s17, s17, 8
; SI-NEXT: s_add_i32 s18, s18, 3
; SI-NEXT: s_or_b32 s16, s17, s16
-; SI-NEXT: v_readlane_b32 s17, v47, 0
+; SI-NEXT: v_readlane_b32 s17, v47, 3
; SI-NEXT: s_and_b32 s18, s18, 0xff
; SI-NEXT: s_addk_i32 s16, 0x300
; SI-NEXT: s_lshl_b32 s17, s17, 24
@@ -195020,15 +195027,15 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; SI-NEXT: s_or_b32 s17, s17, s18
; SI-NEXT: s_or_b32 s16, s17, s16
; SI-NEXT: s_add_i32 s40, s16, 0x3000000
-; SI-NEXT: v_readlane_b32 s16, v56, 61
+; SI-NEXT: v_readlane_b32 s16, v47, 0
; SI-NEXT: s_add_i32 s16, s16, 3
-; SI-NEXT: v_readlane_b32 s17, v56, 60
-; SI-NEXT: v_readlane_b32 s18, v56, 57
+; SI-NEXT: v_readlane_b32 s17, v56, 62
+; SI-NEXT: v_readlane_b32 s18, v56, 60
; SI-NEXT: s_and_b32 s16, s16, 0xff
; SI-NEXT: s_lshl_b32 s17, s17, 8
; SI-NEXT: s_add_i32 s18, s18, 3
; SI-NEXT: s_or_b32 s16, s17, s16
-; SI-NEXT: v_readlane_b32 s17, v56, 58
+; SI-NEXT: v_readlane_b32 s17, v56, 61
; SI-NEXT: s_and_b32 s18, s18, 0xff
; SI-NEXT: s_addk_i32 s16, 0x300
; SI-NEXT: s_lshl_b32 s17, s17, 24
@@ -195039,13 +195046,13 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; SI-NEXT: s_add_i32 s41, s16, 0x3000000
; SI-NEXT: v_readlane_b32 s16, v56, 59
; SI-NEXT: s_add_i32 s16, s16, 3
-; SI-NEXT: v_readlane_b32 s17, v56, 56
-; SI-NEXT: v_readlane_b32 s18, v56, 53
+; SI-NEXT: v_readlane_b32 s17, v56, 58
+; SI-NEXT: v_readlane_b32 s18, v56, 56
; SI-NEXT: s_and_b32 s16, s16, 0xff
; SI-NEXT: s_lshl_b32 s17, s17, 8
; SI-NEXT: s_add_i32 s18, s18, 3
; SI-NEXT: s_or_b32 s16, s17, s16
-; SI-NEXT: v_readlane_b32 s17, v56, 54
+; SI-NEXT: v_readlane_b32 s17, v56, 57
; SI-NEXT: s_and_b32 s18, s18, 0xff
; SI-NEXT: s_addk_i32 s16, 0x300
; SI-NEXT: s_lshl_b32 s17, s17, 24
@@ -195054,15 +195061,15 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; SI-NEXT: s_or_b32 s17, s17, s18
; SI-NEXT: s_or_b32 s16, s17, s16
; SI-NEXT: s_add_i32 s42, s16, 0x3000000
-; SI-NEXT: v_readlane_b32 s16, v56, 51
+; SI-NEXT: v_readlane_b32 s16, v56, 55
; SI-NEXT: s_add_i32 s16, s16, 3
-; SI-NEXT: v_readlane_b32 s17, v56, 50
-; SI-NEXT: v_readlane_b32 s18, v56, 46
+; SI-NEXT: v_readlane_b32 s17, v56, 54
+; SI-NEXT: v_readlane_b32 s18, v56, 51
; SI-NEXT: s_and_b32 s16, s16, 0xff
; SI-NEXT: s_lshl_b32 s17, s17, 8
; SI-NEXT: s_add_i32 s18, s18, 3
; SI-NEXT: s_or_b32 s16, s17, s16
-; SI-NEXT: v_readlane_b32 s17, v56, 47
+; SI-NEXT: v_readlane_b32 s17, v56, 52
; SI-NEXT: s_and_b32 s18, s18, 0xff
; SI-NEXT: s_addk_i32 s16, 0x300
; SI-NEXT: s_lshl_b32 s17, s17, 24
@@ -195071,15 +195078,15 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; SI-NEXT: s_or_b32 s17, s17, s18
; SI-NEXT: s_or_b32 s16, s17, s16
; SI-NEXT: s_add_i32 s43, s16, 0x3000000
-; SI-NEXT: v_readlane_b32 s16, v56, 49
+; SI-NEXT: v_readlane_b32 s16, v56, 53
; SI-NEXT: s_add_i32 s16, s16, 3
-; SI-NEXT: v_readlane_b32 s17, v56, 48
-; SI-NEXT: v_readlane_b32 s18, v56, 44
+; SI-NEXT: v_readlane_b32 s17, v56, 50
+; SI-NEXT: v_readlane_b32 s18, v56, 48
; SI-NEXT: s_and_b32 s16, s16, 0xff
; SI-NEXT: s_lshl_b32 s17, s17, 8
; SI-NEXT: s_add_i32 s18, s18, 3
; SI-NEXT: s_or_b32 s16, s17, s16
-; SI-NEXT: v_readlane_b32 s17, v56, 45
+; SI-NEXT: v_readlane_b32 s17, v56, 49
; SI-NEXT: s_and_b32 s18, s18, 0xff
; SI-NEXT: s_addk_i32 s16, 0x300
; SI-NEXT: s_lshl_b32 s17, s17, 24
@@ -195088,15 +195095,15 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; SI-NEXT: s_or_b32 s17, s17, s18
; SI-NEXT: s_or_b32 s16, s17, s16
; SI-NEXT: s_add_i32 s44, s16, 0x3000000
-; SI-NEXT: v_readlane_b32 s16, v56, 43
+; SI-NEXT: v_readlane_b32 s16, v56, 47
; SI-NEXT: s_add_i32 s16, s16, 3
-; SI-NEXT: v_readlane_b32 s17, v56, 42
-; SI-NEXT: v_readlane_b32 s18, v56, 38
+; SI-NEXT: v_readlane_b32 s17, v56, 46
+; SI-NEXT: v_readlane_b32 s18, v56, 43
; SI-NEXT: s_and_b32 s16, s16, 0xff
; SI-NEXT: s_lshl_b32 s17, s17, 8
; SI-NEXT: s_add_i32 s18, s18, 3
; SI-NEXT: s_or_b32 s16, s17, s16
-; SI-NEXT: v_readlane_b32 s17, v56, 39
+; SI-NEXT: v_readlane_b32 s17, v56, 44
; SI-NEXT: s_and_b32 s18, s18, 0xff
; SI-NEXT: s_addk_i32 s16, 0x300
; SI-NEXT: s_lshl_b32 s17, s17, 24
@@ -195105,14 +195112,15 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; SI-NEXT: s_or_b32 s17, s17, s18
; SI-NEXT: s_or_b32 s16, s17, s16
; SI-NEXT: s_add_i32 s45, s16, 0x3000000
-; SI-NEXT: v_readlane_b32 s16, v56, 41
+; SI-NEXT: v_readlane_b32 s16, v56, 45
; SI-NEXT: s_add_i32 s16, s16, 3
-; SI-NEXT: v_readlane_b32 s17, v56, 40
+; SI-NEXT: v_readlane_b32 s17, v56, 42
+; SI-NEXT: v_readlane_b32 s18, v56, 40
; SI-NEXT: s_and_b32 s16, s16, 0xff
; SI-NEXT: s_lshl_b32 s17, s17, 8
-; SI-NEXT: s_add_i32 s18, s87, 3
+; SI-NEXT: s_add_i32 s18, s18, 3
; SI-NEXT: s_or_b32 s16, s17, s16
-; SI-NEXT: v_readlane_b32 s17, v56, 37
+; SI-NEXT: v_readlane_b32 s17, v56, 41
; SI-NEXT: s_and_b32 s18, s18, 0xff
; SI-NEXT: s_addk_i32 s16, 0x300
; SI-NEXT: s_lshl_b32 s17, s17, 24
@@ -195121,89 +195129,88 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; SI-NEXT: s_or_b32 s17, s17, s18
; SI-NEXT: s_or_b32 s16, s17, s16
; SI-NEXT: s_add_i32 s46, s16, 0x3000000
-; SI-NEXT: s_add_i32 s16, s28, 3
+; SI-NEXT: v_readlane_b32 s16, v56, 39
+; SI-NEXT: s_add_i32 s16, s16, 3
; SI-NEXT: s_and_b32 s16, s16, 0xff
-; SI-NEXT: s_lshl_b32 s17, s25, 8
-; SI-NEXT: s_add_i32 s18, s85, 3
+; SI-NEXT: s_lshl_b32 s17, s68, 8
+; SI-NEXT: s_add_i32 s18, s81, 3
; SI-NEXT: s_or_b32 s16, s17, s16
; SI-NEXT: s_and_b32 s18, s18, 0xff
; SI-NEXT: s_addk_i32 s16, 0x300
-; SI-NEXT: s_lshl_b32 s17, s22, 24
+; SI-NEXT: s_lshl_b32 s17, s69, 24
; SI-NEXT: s_lshl_b32 s18, s18, 16
; SI-NEXT: s_and_b32 s16, s16, 0xffff
; SI-NEXT: s_or_b32 s17, s17, s18
; SI-NEXT: s_or_b32 s16, s17, s16
; SI-NEXT: s_add_i32 s47, s16, 0x3000000
-; SI-NEXT: v_readlane_b32 s16, v56, 16
+; SI-NEXT: v_readlane_b32 s16, v56, 18
; SI-NEXT: s_add_i32 s16, s16, 3
-; SI-NEXT: v_readlane_b32 s17, v56, 15
+; SI-NEXT: v_readlane_b32 s17, v56, 17
; SI-NEXT: s_and_b32 s16, s16, 0xff
; SI-NEXT: s_lshl_b32 s17, s17, 8
; SI-NEXT: s_or_b32 s16, s17, s16
; SI-NEXT: s_addk_i32 s16, 0x300
; SI-NEXT: s_and_b32 s17, s16, 0xffff
-; SI-NEXT: v_readlane_b32 s16, v56, 13
+; SI-NEXT: v_readlane_b32 s16, v56, 15
; SI-NEXT: s_lshl_b32 s18, s16, 24
-; SI-NEXT: v_readlane_b32 s16, v56, 14
+; SI-NEXT: v_readlane_b32 s16, v56, 16
; SI-NEXT: s_add_i32 s16, s16, 3
; SI-NEXT: s_and_b32 s16, s16, 0xff
; SI-NEXT: s_lshl_b32 s16, s16, 16
; SI-NEXT: s_or_b32 s16, s18, s16
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: s_add_i32 s56, s16, 0x3000000
-; SI-NEXT: v_readlane_b32 s16, v56, 12
+; SI-NEXT: v_readlane_b32 s16, v56, 14
; SI-NEXT: s_add_i32 s16, s16, 3
; SI-NEXT: s_and_b32 s16, s16, 0xff
-; SI-NEXT: s_lshl_b32 s17, s27, 8
-; SI-NEXT: s_add_i32 s18, s26, 3
+; SI-NEXT: s_lshl_b32 s17, s19, 8
+; SI-NEXT: s_add_i32 s18, s27, 3
; SI-NEXT: s_or_b32 s16, s17, s16
; SI-NEXT: s_and_b32 s18, s18, 0xff
; SI-NEXT: s_addk_i32 s16, 0x300
-; SI-NEXT: s_lshl_b32 s17, vcc_hi, 24
+; SI-NEXT: s_lshl_b32 s17, s20, 24
; SI-NEXT: s_lshl_b32 s18, s18, 16
; SI-NEXT: s_and_b32 s16, s16, 0xffff
; SI-NEXT: s_or_b32 s17, s17, s18
; SI-NEXT: s_or_b32 s16, s17, s16
; SI-NEXT: s_add_i32 s57, s16, 0x3000000
-; SI-NEXT: v_readlane_b32 s16, v56, 24
-; SI-NEXT: s_add_i32 s16, s16, 3
+; SI-NEXT: s_add_i32 s16, s21, 3
; SI-NEXT: s_and_b32 s17, s16, 0xff
-; SI-NEXT: v_readlane_b32 s16, v56, 23
+; SI-NEXT: v_readlane_b32 s16, v56, 25
; SI-NEXT: s_lshl_b32 s16, s16, 8
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: s_addk_i32 s16, 0x300
; SI-NEXT: s_and_b32 s17, s16, 0xffff
-; SI-NEXT: v_readlane_b32 s16, v56, 21
+; SI-NEXT: v_readlane_b32 s16, v56, 23
; SI-NEXT: s_lshl_b32 s18, s16, 24
-; SI-NEXT: v_readlane_b32 s16, v56, 22
+; SI-NEXT: v_readlane_b32 s16, v56, 24
; SI-NEXT: s_add_i32 s16, s16, 3
; SI-NEXT: s_and_b32 s16, s16, 0xff
; SI-NEXT: s_lshl_b32 s16, s16, 16
; SI-NEXT: s_or_b32 s16, s18, s16
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: s_add_i32 s58, s16, 0x3000000
-; SI-NEXT: v_readlane_b32 s16, v56, 20
+; SI-NEXT: v_readlane_b32 s16, v56, 22
; SI-NEXT: s_add_i32 s16, s16, 3
; SI-NEXT: s_and_b32 s17, s16, 0xff
-; SI-NEXT: v_readlane_b32 s16, v56, 19
+; SI-NEXT: v_readlane_b32 s16, v56, 21
; SI-NEXT: s_lshl_b32 s16, s16, 8
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: s_addk_i32 s16, 0x300
; SI-NEXT: s_and_b32 s17, s16, 0xffff
-; SI-NEXT: v_readlane_b32 s16, v56, 17
+; SI-NEXT: v_readlane_b32 s16, v56, 19
; SI-NEXT: s_lshl_b32 s18, s16, 24
-; SI-NEXT: v_readlane_b32 s16, v56, 18
+; SI-NEXT: v_readlane_b32 s16, v56, 20
; SI-NEXT: s_add_i32 s16, s16, 3
; SI-NEXT: s_and_b32 s16, s16, 0xff
; SI-NEXT: s_lshl_b32 s16, s16, 16
; SI-NEXT: s_or_b32 s16, s18, s16
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: s_add_i32 s59, s16, 0x3000000
-; SI-NEXT: s_add_i32 s16, s76, 3
-; SI-NEXT: v_readlane_b32 s17, v56, 29
+; SI-NEXT: s_add_i32 s16, s22, 3
; SI-NEXT: s_and_b32 s16, s16, 0xff
-; SI-NEXT: s_lshl_b32 s17, s17, 8
-; SI-NEXT: s_add_i32 s18, s97, 3
+; SI-NEXT: s_lshl_b32 s17, s77, 8
+; SI-NEXT: s_add_i32 s18, s98, 3
; SI-NEXT: s_or_b32 s16, s17, s16
; SI-NEXT: s_and_b32 s18, s18, 0xff
; SI-NEXT: s_addk_i32 s16, 0x300
@@ -195213,15 +195220,13 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; SI-NEXT: s_or_b32 s17, s17, s18
; SI-NEXT: s_or_b32 s16, s17, s16
; SI-NEXT: s_add_i32 s60, s16, 0x3000000
-; SI-NEXT: v_readlane_b32 s16, v56, 28
-; SI-NEXT: s_add_i32 s16, s16, 3
-; SI-NEXT: v_readlane_b32 s17, v56, 27
-; SI-NEXT: v_readlane_b32 s18, v56, 26
+; SI-NEXT: s_add_i32 s16, s86, 3
+; SI-NEXT: v_readlane_b32 s18, v56, 27
; SI-NEXT: s_and_b32 s16, s16, 0xff
-; SI-NEXT: s_lshl_b32 s17, s17, 8
+; SI-NEXT: s_lshl_b32 s17, s85, 8
; SI-NEXT: s_add_i32 s18, s18, 3
; SI-NEXT: s_or_b32 s16, s17, s16
-; SI-NEXT: v_readlane_b32 s17, v56, 25
+; SI-NEXT: v_readlane_b32 s17, v56, 26
; SI-NEXT: s_and_b32 s18, s18, 0xff
; SI-NEXT: s_addk_i32 s16, 0x300
; SI-NEXT: s_lshl_b32 s17, s17, 24
@@ -195230,29 +195235,28 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; SI-NEXT: s_or_b32 s17, s17, s18
; SI-NEXT: s_or_b32 s16, s17, s16
; SI-NEXT: s_add_i32 s61, s16, 0x3000000
-; SI-NEXT: s_add_i32 s16, s77, 3
-; SI-NEXT: v_readlane_b32 s17, v56, 34
+; SI-NEXT: v_readlane_b32 s16, v56, 31
+; SI-NEXT: s_add_i32 s16, s16, 3
; SI-NEXT: s_and_b32 s16, s16, 0xff
-; SI-NEXT: s_lshl_b32 s17, s17, 8
+; SI-NEXT: s_lshl_b32 s17, s76, 8
; SI-NEXT: s_add_i32 s18, s99, 3
; SI-NEXT: s_or_b32 s16, s17, s16
; SI-NEXT: s_and_b32 s18, s18, 0xff
; SI-NEXT: s_addk_i32 s16, 0x300
-; SI-NEXT: s_lshl_b32 s17, s98, 24
+; SI-NEXT: s_lshl_b32 s17, s97, 24
; SI-NEXT: s_lshl_b32 s18, s18, 16
; SI-NEXT: s_and_b32 s16, s16, 0xffff
; SI-NEXT: s_or_b32 s17, s17, s18
; SI-NEXT: s_or_b32 s16, s17, s16
; SI-NEXT: s_add_i32 s62, s16, 0x3000000
-; SI-NEXT: v_readlane_b32 s16, v56, 33
-; SI-NEXT: s_add_i32 s16, s16, 3
-; SI-NEXT: v_readlane_b32 s17, v56, 32
-; SI-NEXT: v_readlane_b32 s18, v56, 31
+; SI-NEXT: s_add_i32 s16, s87, 3
+; SI-NEXT: v_readlane_b32 s17, v56, 30
+; SI-NEXT: v_readlane_b32 s18, v56, 29
; SI-NEXT: s_and_b32 s16, s16, 0xff
; SI-NEXT: s_lshl_b32 s17, s17, 8
; SI-NEXT: s_add_i32 s18, s18, 3
; SI-NEXT: s_or_b32 s16, s17, s16
-; SI-NEXT: v_readlane_b32 s17, v56, 30
+; SI-NEXT: v_readlane_b32 s17, v56, 28
; SI-NEXT: s_and_b32 s18, s18, 0xff
; SI-NEXT: s_addk_i32 s16, 0x300
; SI-NEXT: s_lshl_b32 s17, s17, 24
@@ -195261,7 +195265,8 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; SI-NEXT: s_or_b32 s17, s17, s18
; SI-NEXT: s_or_b32 s16, s17, s16
; SI-NEXT: s_add_i32 s63, s16, 0x3000000
-; SI-NEXT: s_add_i32 s16, s24, 3
+; SI-NEXT: v_readlane_b32 s16, v56, 5
+; SI-NEXT: s_add_i32 s16, s16, 3
; SI-NEXT: v_readlane_b32 s17, v56, 4
; SI-NEXT: v_readlane_b32 s18, v56, 3
; SI-NEXT: s_and_b32 s16, s16, 0xff
@@ -195280,12 +195285,11 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; SI-NEXT: v_readlane_b32 s16, v56, 1
; SI-NEXT: s_add_i32 s16, s16, 3
; SI-NEXT: v_readlane_b32 s17, v56, 0
-; SI-NEXT: v_readlane_b32 s18, v56, 36
; SI-NEXT: s_and_b32 s16, s16, 0xff
; SI-NEXT: s_lshl_b32 s17, s17, 8
-; SI-NEXT: s_add_i32 s18, s18, 3
+; SI-NEXT: s_add_i32 s18, s23, 3
; SI-NEXT: s_or_b32 s16, s17, s16
-; SI-NEXT: v_readlane_b32 s17, v56, 35
+; SI-NEXT: v_readlane_b32 s17, v56, 32
; SI-NEXT: s_and_b32 s18, s18, 0xff
; SI-NEXT: s_addk_i32 s16, 0x300
; SI-NEXT: s_lshl_b32 s17, s17, 24
@@ -195294,15 +195298,15 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; SI-NEXT: s_or_b32 s17, s17, s18
; SI-NEXT: s_or_b32 s16, s17, s16
; SI-NEXT: s_add_i32 s73, s16, 0x3000000
-; SI-NEXT: v_readlane_b32 s16, v56, 11
+; SI-NEXT: v_readlane_b32 s16, v56, 13
; SI-NEXT: s_add_i32 s16, s16, 3
-; SI-NEXT: v_readlane_b32 s17, v56, 10
-; SI-NEXT: v_readlane_b32 s18, v56, 9
+; SI-NEXT: v_readlane_b32 s17, v56, 12
+; SI-NEXT: v_readlane_b32 s18, v56, 11
; SI-NEXT: s_and_b32 s16, s16, 0xff
; SI-NEXT: s_lshl_b32 s17, s17, 8
; SI-NEXT: s_add_i32 s18, s18, 3
; SI-NEXT: s_or_b32 s16, s17, s16
-; SI-NEXT: v_readlane_b32 s17, v56, 8
+; SI-NEXT: v_readlane_b32 s17, v56, 10
; SI-NEXT: s_and_b32 s18, s18, 0xff
; SI-NEXT: s_addk_i32 s16, 0x300
; SI-NEXT: s_lshl_b32 s17, s17, 24
@@ -195311,14 +195315,15 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; SI-NEXT: s_or_b32 s17, s17, s18
; SI-NEXT: s_or_b32 s16, s17, s16
; SI-NEXT: s_add_i32 s74, s16, 0x3000000
-; SI-NEXT: s_add_i32 s16, s20, 3
-; SI-NEXT: v_readlane_b32 s17, v56, 7
-; SI-NEXT: v_readlane_b32 s18, v56, 6
+; SI-NEXT: v_readlane_b32 s16, v56, 9
+; SI-NEXT: s_add_i32 s16, s16, 3
+; SI-NEXT: v_readlane_b32 s17, v56, 8
+; SI-NEXT: v_readlane_b32 s18, v56, 7
; SI-NEXT: s_and_b32 s16, s16, 0xff
; SI-NEXT: s_lshl_b32 s17, s17, 8
; SI-NEXT: s_add_i32 s18, s18, 3
; SI-NEXT: s_or_b32 s16, s17, s16
-; SI-NEXT: v_readlane_b32 s17, v56, 5
+; SI-NEXT: v_readlane_b32 s17, v56, 6
; SI-NEXT: s_and_b32 s18, s18, 0xff
; SI-NEXT: s_addk_i32 s16, 0x300
; SI-NEXT: s_lshl_b32 s17, s17, 24
@@ -195339,142 +195344,142 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; SI-NEXT: s_add_i32 s15, s15, 0x3000000
; SI-NEXT: s_or_b32 s16, s17, s16
; SI-NEXT: s_add_i32 s75, s16, 0x3000000
-; SI-NEXT: s_lshr_b64 s[30:31], s[72:73], 16
-; SI-NEXT: s_lshr_b64 s[94:95], s[62:63], 16
-; SI-NEXT: s_lshr_b64 s[34:35], s[42:43], 16
+; SI-NEXT: s_lshr_b64 s[36:37], s[40:41], 16
; SI-NEXT: s_lshr_b64 s[38:39], s[14:15], 16
; SI-NEXT: s_lshr_b64 s[48:49], s[12:13], 16
; SI-NEXT: s_lshr_b64 s[50:51], s[10:11], 16
; SI-NEXT: s_lshr_b64 s[52:53], s[8:9], 16
; SI-NEXT: s_lshr_b64 s[54:55], s[6:7], 16
; SI-NEXT: s_lshr_b64 s[64:65], s[4:5], 16
-; SI-NEXT: s_lshr_b64 s[82:83], s[74:75], 16
-; SI-NEXT: s_lshr_b64 vcc, s[60:61], 16
-; SI-NEXT: s_lshr_b64 s[70:71], s[58:59], 16
-; SI-NEXT: s_lshr_b64 s[80:81], s[56:57], 16
+; SI-NEXT: s_lshr_b64 s[24:25], s[74:75], 16
+; SI-NEXT: s_lshr_b64 vcc, s[72:73], 16
+; SI-NEXT: s_lshr_b64 s[28:29], s[62:63], 16
+; SI-NEXT: s_lshr_b64 s[80:81], s[60:61], 16
+; SI-NEXT: s_lshr_b64 s[82:83], s[58:59], 16
+; SI-NEXT: s_lshr_b64 s[70:71], s[56:57], 16
; SI-NEXT: s_lshr_b64 s[84:85], s[46:47], 16
-; SI-NEXT: s_lshr_b64 s[68:69], s[44:45], 16
-; SI-NEXT: s_lshr_b64 s[36:37], s[40:41], 16
-; SI-NEXT: s_lshr_b32 s49, s75, 16
-; SI-NEXT: s_lshr_b32 s51, s73, 16
-; SI-NEXT: s_lshr_b32 s53, s63, 16
-; SI-NEXT: s_lshr_b32 s55, s61, 16
-; SI-NEXT: s_lshr_b32 s65, s59, 16
-; SI-NEXT: s_lshr_b32 s35, s57, 16
-; SI-NEXT: s_lshr_b32 s79, s47, 16
-; SI-NEXT: s_lshr_b32 s89, s45, 16
-; SI-NEXT: s_lshr_b32 s91, s43, 16
-; SI-NEXT: s_lshr_b32 s93, s41, 16
-; SI-NEXT: s_lshr_b32 s95, s15, 16
-; SI-NEXT: s_lshr_b32 s31, s13, 16
-; SI-NEXT: s_lshr_b32 s17, s11, 16
-; SI-NEXT: s_lshr_b32 s92, s9, 16
-; SI-NEXT: s_lshr_b32 s78, s7, 16
-; SI-NEXT: s_lshr_b32 s39, s5, 16
+; SI-NEXT: s_lshr_b64 s[30:31], s[44:45], 16
+; SI-NEXT: s_lshr_b64 s[34:35], s[42:43], 16
+; SI-NEXT: s_lshr_b32 s37, s75, 16
+; SI-NEXT: s_lshr_b32 s39, s73, 16
+; SI-NEXT: s_lshr_b32 s49, s63, 16
+; SI-NEXT: s_lshr_b32 s90, s61, 16
+; SI-NEXT: s_lshr_b32 s78, s59, 16
+; SI-NEXT: s_lshr_b32 s51, s57, 16
+; SI-NEXT: s_lshr_b32 s53, s47, 16
+; SI-NEXT: s_lshr_b32 s55, s45, 16
+; SI-NEXT: s_lshr_b32 s65, s43, 16
+; SI-NEXT: s_lshr_b32 s79, s41, 16
+; SI-NEXT: s_lshr_b32 s89, s15, 16
+; SI-NEXT: s_lshr_b32 s91, s13, 16
+; SI-NEXT: s_lshr_b32 s93, s11, 16
+; SI-NEXT: s_lshr_b32 s95, s9, 16
+; SI-NEXT: s_lshr_b32 s92, s7, 16
+; SI-NEXT: s_lshr_b32 s16, s5, 16
; SI-NEXT: .LBB97_5: ; %end
; SI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:336 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:340 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:344 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:348 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:352 ; 4-byte Folded Reload
-; SI-NEXT: s_and_b32 s16, s74, 0xffff
-; SI-NEXT: s_lshl_b32 s19, s82, 16
-; SI-NEXT: s_or_b32 s16, s16, s19
+; SI-NEXT: s_and_b32 s18, s74, 0xffff
+; SI-NEXT: s_lshl_b32 s19, s24, 16
+; SI-NEXT: s_or_b32 s18, s18, s19
; SI-NEXT: s_and_b32 s19, s75, 0xffff
-; SI-NEXT: s_lshl_b32 s20, s49, 16
+; SI-NEXT: s_lshl_b32 s20, s37, 16
; SI-NEXT: s_or_b32 s19, s19, s20
; SI-NEXT: s_and_b32 s20, s72, 0xffff
-; SI-NEXT: s_lshl_b32 s21, s30, 16
+; SI-NEXT: s_lshl_b32 s21, vcc_lo, 16
; SI-NEXT: s_or_b32 s20, s20, s21
; SI-NEXT: s_and_b32 s21, s73, 0xffff
-; SI-NEXT: s_lshl_b32 s22, s51, 16
+; SI-NEXT: s_lshl_b32 s22, s39, 16
; SI-NEXT: s_or_b32 s21, s21, s22
; SI-NEXT: s_and_b32 s22, s62, 0xffff
-; SI-NEXT: s_lshl_b32 s23, s94, 16
+; SI-NEXT: s_lshl_b32 s23, s28, 16
; SI-NEXT: s_or_b32 s22, s22, s23
; SI-NEXT: s_and_b32 s23, s63, 0xffff
-; SI-NEXT: s_lshl_b32 s24, s53, 16
+; SI-NEXT: s_lshl_b32 s24, s49, 16
; SI-NEXT: s_or_b32 s23, s23, s24
; SI-NEXT: s_and_b32 s24, s60, 0xffff
-; SI-NEXT: s_lshl_b32 s25, vcc_lo, 16
-; SI-NEXT: s_or_b32 s24, s24, s25
-; SI-NEXT: s_and_b32 s25, s61, 0xffff
-; SI-NEXT: s_lshl_b32 s26, s55, 16
-; SI-NEXT: s_or_b32 s25, s25, s26
+; SI-NEXT: s_lshl_b32 s26, s80, 16
+; SI-NEXT: s_or_b32 s24, s24, s26
+; SI-NEXT: s_and_b32 s26, s61, 0xffff
+; SI-NEXT: s_lshl_b32 s25, s90, 16
+; SI-NEXT: s_or_b32 s25, s26, s25
; SI-NEXT: s_and_b32 s26, s58, 0xffff
-; SI-NEXT: s_lshl_b32 s27, s70, 16
+; SI-NEXT: s_lshl_b32 s27, s82, 16
; SI-NEXT: s_or_b32 s26, s26, s27
; SI-NEXT: s_and_b32 s27, s59, 0xffff
-; SI-NEXT: s_lshl_b32 s28, s65, 16
+; SI-NEXT: s_lshl_b32 s17, s78, 16
+; SI-NEXT: s_or_b32 s17, s27, s17
+; SI-NEXT: s_and_b32 s27, s56, 0xffff
+; SI-NEXT: s_lshl_b32 s28, s70, 16
; SI-NEXT: s_or_b32 s27, s27, s28
-; SI-NEXT: s_and_b32 s28, s56, 0xffff
-; SI-NEXT: s_lshl_b32 s29, s80, 16
+; SI-NEXT: s_and_b32 s28, s57, 0xffff
+; SI-NEXT: s_lshl_b32 s29, s51, 16
; SI-NEXT: s_or_b32 s28, s28, s29
-; SI-NEXT: s_and_b32 s29, s57, 0xffff
-; SI-NEXT: s_lshl_b32 s56, s35, 16
-; SI-NEXT: s_or_b32 s29, s29, s56
-; SI-NEXT: s_and_b32 s46, s46, 0xffff
-; SI-NEXT: s_lshl_b32 s56, s84, 16
-; SI-NEXT: s_or_b32 s46, s46, s56
-; SI-NEXT: s_and_b32 s47, s47, 0xffff
-; SI-NEXT: s_lshl_b32 s56, s79, 16
-; SI-NEXT: s_or_b32 s47, s47, s56
+; SI-NEXT: s_and_b32 s29, s46, 0xffff
+; SI-NEXT: s_lshl_b32 s46, s84, 16
+; SI-NEXT: s_or_b32 s29, s29, s46
+; SI-NEXT: s_and_b32 s46, s47, 0xffff
+; SI-NEXT: s_lshl_b32 s47, s53, 16
+; SI-NEXT: s_or_b32 s46, s46, s47
; SI-NEXT: s_and_b32 s44, s44, 0xffff
-; SI-NEXT: s_lshl_b32 s56, s68, 16
-; SI-NEXT: s_or_b32 s44, s44, s56
+; SI-NEXT: s_lshl_b32 s47, s30, 16
+; SI-NEXT: s_or_b32 s44, s44, s47
; SI-NEXT: s_and_b32 s45, s45, 0xffff
-; SI-NEXT: s_lshl_b32 s56, s89, 16
-; SI-NEXT: s_or_b32 s45, s45, s56
+; SI-NEXT: s_lshl_b32 s47, s55, 16
+; SI-NEXT: s_or_b32 s45, s45, s47
; SI-NEXT: s_and_b32 s42, s42, 0xffff
-; SI-NEXT: s_lshl_b32 s56, s34, 16
-; SI-NEXT: s_or_b32 s42, s42, s56
+; SI-NEXT: s_lshl_b32 s47, s34, 16
+; SI-NEXT: s_or_b32 s42, s42, s47
; SI-NEXT: s_and_b32 s43, s43, 0xffff
-; SI-NEXT: s_lshl_b32 s56, s91, 16
-; SI-NEXT: s_or_b32 s43, s43, s56
+; SI-NEXT: s_lshl_b32 s47, s65, 16
+; SI-NEXT: s_or_b32 s43, s43, s47
; SI-NEXT: s_and_b32 s40, s40, 0xffff
-; SI-NEXT: s_lshl_b32 s56, s36, 16
-; SI-NEXT: s_and_b32 s11, s11, 0xffff
-; SI-NEXT: s_lshl_b32 s17, s17, 16
-; SI-NEXT: s_or_b32 s40, s40, s56
+; SI-NEXT: s_lshl_b32 s47, s36, 16
+; SI-NEXT: s_or_b32 s40, s40, s47
; SI-NEXT: s_and_b32 s41, s41, 0xffff
-; SI-NEXT: s_lshl_b32 s56, s93, 16
-; SI-NEXT: s_or_b32 s11, s11, s17
-; SI-NEXT: s_and_b32 s8, s8, 0xffff
-; SI-NEXT: s_lshl_b32 s17, s52, 16
-; SI-NEXT: s_or_b32 s41, s41, s56
+; SI-NEXT: s_lshl_b32 s47, s79, 16
+; SI-NEXT: s_or_b32 s41, s41, s47
; SI-NEXT: s_and_b32 s14, s14, 0xffff
-; SI-NEXT: s_lshl_b32 s56, s38, 16
-; SI-NEXT: s_or_b32 s8, s8, s17
-; SI-NEXT: s_and_b32 s9, s9, 0xffff
-; SI-NEXT: s_lshl_b32 s17, s92, 16
-; SI-NEXT: s_or_b32 s14, s14, s56
+; SI-NEXT: s_lshl_b32 s47, s38, 16
+; SI-NEXT: s_or_b32 s14, s14, s47
; SI-NEXT: s_and_b32 s15, s15, 0xffff
-; SI-NEXT: s_lshl_b32 s56, s95, 16
-; SI-NEXT: s_or_b32 s9, s9, s17
-; SI-NEXT: s_and_b32 s6, s6, 0xffff
-; SI-NEXT: s_lshl_b32 s17, s54, 16
-; SI-NEXT: s_or_b32 s15, s15, s56
+; SI-NEXT: s_lshl_b32 s47, s89, 16
+; SI-NEXT: s_or_b32 s15, s15, s47
; SI-NEXT: s_and_b32 s12, s12, 0xffff
-; SI-NEXT: s_lshl_b32 s56, s48, 16
-; SI-NEXT: s_or_b32 s6, s6, s17
-; SI-NEXT: s_and_b32 s7, s7, 0xffff
-; SI-NEXT: s_lshl_b32 s17, s78, 16
-; SI-NEXT: s_or_b32 s12, s12, s56
+; SI-NEXT: s_lshl_b32 s47, s48, 16
+; SI-NEXT: s_or_b32 s12, s12, s47
; SI-NEXT: s_and_b32 s13, s13, 0xffff
-; SI-NEXT: s_lshl_b32 s56, s31, 16
-; SI-NEXT: s_or_b32 s7, s7, s17
-; SI-NEXT: s_and_b32 s4, s4, 0xffff
-; SI-NEXT: s_lshl_b32 s17, s64, 16
-; SI-NEXT: s_or_b32 s13, s13, s56
+; SI-NEXT: s_lshl_b32 s47, s91, 16
+; SI-NEXT: s_or_b32 s13, s13, s47
; SI-NEXT: s_and_b32 s10, s10, 0xffff
-; SI-NEXT: s_lshl_b32 s56, s50, 16
-; SI-NEXT: s_or_b32 s4, s4, s17
+; SI-NEXT: s_lshl_b32 s47, s50, 16
+; SI-NEXT: s_or_b32 s10, s10, s47
+; SI-NEXT: s_and_b32 s11, s11, 0xffff
+; SI-NEXT: s_lshl_b32 s47, s93, 16
+; SI-NEXT: s_or_b32 s11, s11, s47
+; SI-NEXT: s_and_b32 s8, s8, 0xffff
+; SI-NEXT: s_lshl_b32 s47, s52, 16
+; SI-NEXT: s_or_b32 s8, s8, s47
+; SI-NEXT: s_and_b32 s9, s9, 0xffff
+; SI-NEXT: s_lshl_b32 s47, s95, 16
+; SI-NEXT: s_or_b32 s9, s9, s47
+; SI-NEXT: s_and_b32 s6, s6, 0xffff
+; SI-NEXT: s_lshl_b32 s47, s54, 16
+; SI-NEXT: s_or_b32 s6, s6, s47
+; SI-NEXT: s_and_b32 s7, s7, 0xffff
+; SI-NEXT: s_lshl_b32 s47, s92, 16
+; SI-NEXT: s_or_b32 s7, s7, s47
+; SI-NEXT: s_and_b32 s4, s4, 0xffff
+; SI-NEXT: s_lshl_b32 s47, s64, 16
; SI-NEXT: s_and_b32 s5, s5, 0xffff
-; SI-NEXT: s_lshl_b32 s17, s39, 16
-; SI-NEXT: s_or_b32 s10, s10, s56
-; SI-NEXT: s_or_b32 s5, s5, s17
+; SI-NEXT: s_lshl_b32 s16, s16, 16
+; SI-NEXT: s_or_b32 s4, s4, s47
+; SI-NEXT: s_or_b32 s5, s5, s16
; SI-NEXT: v_readlane_b32 s30, v45, 34
-; SI-NEXT: v_mov_b32_e32 v0, s16
+; SI-NEXT: v_mov_b32_e32 v0, s18
; SI-NEXT: v_mov_b32_e32 v1, s19
; SI-NEXT: v_mov_b32_e32 v2, s20
; SI-NEXT: v_mov_b32_e32 v3, s21
@@ -195483,11 +195488,11 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; SI-NEXT: v_mov_b32_e32 v6, s24
; SI-NEXT: v_mov_b32_e32 v7, s25
; SI-NEXT: v_mov_b32_e32 v8, s26
-; SI-NEXT: v_mov_b32_e32 v9, s27
-; SI-NEXT: v_mov_b32_e32 v10, s28
-; SI-NEXT: v_mov_b32_e32 v11, s29
-; SI-NEXT: v_mov_b32_e32 v12, s46
-; SI-NEXT: v_mov_b32_e32 v13, s47
+; SI-NEXT: v_mov_b32_e32 v9, s17
+; SI-NEXT: v_mov_b32_e32 v10, s27
+; SI-NEXT: v_mov_b32_e32 v11, s28
+; SI-NEXT: v_mov_b32_e32 v12, s29
+; SI-NEXT: v_mov_b32_e32 v13, s46
; SI-NEXT: v_mov_b32_e32 v14, s44
; SI-NEXT: v_mov_b32_e32 v15, s45
; SI-NEXT: v_mov_b32_e32 v16, s42
@@ -195573,13 +195578,13 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; VI-NEXT: v_readfirstlane_b32 s63, v12
; VI-NEXT: v_readfirstlane_b32 s45, v11
; VI-NEXT: v_readfirstlane_b32 s58, v10
-; VI-NEXT: v_readfirstlane_b32 s75, v30
; VI-NEXT: v_readfirstlane_b32 s74, v14
-; VI-NEXT: v_readfirstlane_b32 s60, v26
-; VI-NEXT: v_readfirstlane_b32 s43, v25
+; VI-NEXT: v_readfirstlane_b32 s75, v30
; VI-NEXT: v_readfirstlane_b32 s59, v29
; VI-NEXT: v_readfirstlane_b32 s72, v28
; VI-NEXT: v_readfirstlane_b32 s47, v27
+; VI-NEXT: v_readfirstlane_b32 s60, v26
+; VI-NEXT: v_readfirstlane_b32 s43, v25
; VI-NEXT: v_readfirstlane_b32 s56, v24
; VI-NEXT: v_readfirstlane_b32 s15, v23
; VI-NEXT: v_readfirstlane_b32 s44, v22
@@ -195601,7 +195606,7 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; VI-NEXT: v_readfirstlane_b32 s11, v2
; VI-NEXT: v_readfirstlane_b32 s6, v1
; VI-NEXT: v_readfirstlane_b32 s8, v0
-; VI-NEXT: buffer_load_ushort v32, off, s[0:3], s32 offset:8
+; VI-NEXT: buffer_load_ushort v34, off, s[0:3], s32 offset:8
; VI-NEXT: buffer_load_ushort v35, off, s[0:3], s32 offset:4
; VI-NEXT: buffer_load_ushort v13, off, s[0:3], s32
; VI-NEXT: buffer_load_ushort v1, off, s[0:3], s32 offset:328
@@ -195609,65 +195614,67 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; VI-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:320
; VI-NEXT: buffer_load_ushort v3, off, s[0:3], s32 offset:316
; VI-NEXT: buffer_load_ushort v5, off, s[0:3], s32 offset:312
-; VI-NEXT: buffer_load_ushort v8, off, s[0:3], s32 offset:308
+; VI-NEXT: buffer_load_ushort v9, off, s[0:3], s32 offset:308
; VI-NEXT: buffer_load_ushort v2, off, s[0:3], s32 offset:304
; VI-NEXT: buffer_load_ushort v6, off, s[0:3], s32 offset:300
-; VI-NEXT: buffer_load_ushort v33, off, s[0:3], s32 offset:296
-; VI-NEXT: buffer_load_ushort v54, off, s[0:3], s32 offset:292
+; VI-NEXT: buffer_load_ushort v8, off, s[0:3], s32 offset:296
+; VI-NEXT: buffer_load_ushort v42, off, s[0:3], s32 offset:292
; VI-NEXT: buffer_load_ushort v7, off, s[0:3], s32 offset:288
-; VI-NEXT: buffer_load_ushort v9, off, s[0:3], s32 offset:284
+; VI-NEXT: buffer_load_ushort v49, off, s[0:3], s32 offset:284
; VI-NEXT: s_waitcnt vmcnt(14)
; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v31
-; VI-NEXT: buffer_load_ushort v31, off, s[0:3], s32 offset:280
-; VI-NEXT: buffer_load_ushort v55, off, s[0:3], s32 offset:276
-; VI-NEXT: buffer_load_ushort v49, off, s[0:3], s32 offset:272
-; VI-NEXT: buffer_load_ushort v10, off, s[0:3], s32 offset:268
+; VI-NEXT: buffer_load_ushort v52, off, s[0:3], s32 offset:280
+; VI-NEXT: buffer_load_ushort v11, off, s[0:3], s32 offset:276
+; VI-NEXT: buffer_load_ushort v55, off, s[0:3], s32 offset:272
+; VI-NEXT: buffer_load_ushort v31, off, s[0:3], s32 offset:268
; VI-NEXT: buffer_load_ushort v12, off, s[0:3], s32 offset:264
-; VI-NEXT: buffer_load_ushort v11, off, s[0:3], s32 offset:260
-; VI-NEXT: s_and_b64 s[4:5], vcc, exec
-; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:456 ; 4-byte Folded Spill
-; VI-NEXT: buffer_load_ushort v11, off, s[0:3], s32 offset:256
-; VI-NEXT: buffer_load_ushort v42, off, s[0:3], s32 offset:252
-; VI-NEXT: buffer_load_ushort v30, off, s[0:3], s32 offset:248
-; VI-NEXT: buffer_load_ushort v40, off, s[0:3], s32 offset:244
-; VI-NEXT: buffer_load_ushort v41, off, s[0:3], s32 offset:240
+; VI-NEXT: buffer_load_ushort v10, off, s[0:3], s32 offset:260
+; VI-NEXT: s_cmp_lg_u64 vcc, 0
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:452 ; 4-byte Folded Spill
+; VI-NEXT: buffer_load_ushort v10, off, s[0:3], s32 offset:256
+; VI-NEXT: buffer_load_ushort v41, off, s[0:3], s32 offset:252
+; VI-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:248
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:436 ; 4-byte Folded Spill
+; VI-NEXT: buffer_load_ushort v53, off, s[0:3], s32 offset:244
+; VI-NEXT: buffer_load_ushort v40, off, s[0:3], s32 offset:240
; VI-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:236
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:452 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:448 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:232
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:440 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:444 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:228
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:432 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:428 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:224
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:436 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:440 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:220
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:428 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:432 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:216
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:444 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:456 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:212
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:420 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:208
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:448 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:460 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:204
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:424 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:200
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:464 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:472 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:196
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:412 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:192
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:460 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:468 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:188
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:416 ; 4-byte Folded Spill
@@ -195679,112 +195686,156 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:404 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:176
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:472 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:476 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:172
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:408 ; 4-byte Folded Spill
; VI-NEXT: buffer_load_ushort v25, off, s[0:3], s32 offset:168
-; VI-NEXT: buffer_load_ushort v26, off, s[0:3], s32 offset:164
-; VI-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:160
-; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:468 ; 4-byte Folded Spill
-; VI-NEXT: buffer_load_ushort v22, off, s[0:3], s32 offset:156
-; VI-NEXT: buffer_load_ushort v27, off, s[0:3], s32 offset:152
-; VI-NEXT: buffer_load_ushort v24, off, s[0:3], s32 offset:148
+; VI-NEXT: buffer_load_ushort v22, off, s[0:3], s32 offset:164
+; VI-NEXT: buffer_load_ushort v54, off, s[0:3], s32 offset:160
+; VI-NEXT: buffer_load_ushort v23, off, s[0:3], s32 offset:156
+; VI-NEXT: buffer_load_ushort v24, off, s[0:3], s32 offset:152
+; VI-NEXT: buffer_load_ushort v21, off, s[0:3], s32 offset:148
; VI-NEXT: buffer_load_ushort v20, off, s[0:3], s32 offset:144
-; VI-NEXT: buffer_load_ushort v23, off, s[0:3], s32 offset:140
-; VI-NEXT: buffer_load_ushort v21, off, s[0:3], s32 offset:136
+; VI-NEXT: buffer_load_ushort v26, off, s[0:3], s32 offset:140
+; VI-NEXT: buffer_load_ushort v30, off, s[0:3], s32 offset:136
; VI-NEXT: buffer_load_ushort v44, off, s[0:3], s32 offset:132
; VI-NEXT: buffer_load_ushort v19, off, s[0:3], s32 offset:128
; VI-NEXT: buffer_load_ushort v43, off, s[0:3], s32 offset:124
; VI-NEXT: buffer_load_ushort v45, off, s[0:3], s32 offset:120
-; VI-NEXT: buffer_load_ushort v46, off, s[0:3], s32 offset:116
+; VI-NEXT: buffer_load_ushort v47, off, s[0:3], s32 offset:116
; VI-NEXT: buffer_load_ushort v18, off, s[0:3], s32 offset:112
; VI-NEXT: buffer_load_ushort v29, off, s[0:3], s32 offset:108
-; VI-NEXT: buffer_load_ushort v47, off, s[0:3], s32 offset:104
-; VI-NEXT: buffer_load_ushort v56, off, s[0:3], s32 offset:100
+; VI-NEXT: buffer_load_ushort v56, off, s[0:3], s32 offset:104
+; VI-NEXT: buffer_load_ushort v57, off, s[0:3], s32 offset:100
; VI-NEXT: buffer_load_ushort v16, off, s[0:3], s32 offset:96
; VI-NEXT: buffer_load_ushort v17, off, s[0:3], s32 offset:92
-; VI-NEXT: buffer_load_ushort v59, off, s[0:3], s32 offset:88
-; VI-NEXT: buffer_load_ushort v60, off, s[0:3], s32 offset:84
+; VI-NEXT: buffer_load_ushort v61, off, s[0:3], s32 offset:88
+; VI-NEXT: buffer_load_ushort v32, off, s[0:3], s32 offset:84
; VI-NEXT: buffer_load_ushort v28, off, s[0:3], s32 offset:80
-; VI-NEXT: buffer_load_ushort v58, off, s[0:3], s32 offset:76
-; VI-NEXT: buffer_load_ushort v34, off, s[0:3], s32 offset:72
-; VI-NEXT: buffer_load_ushort v61, off, s[0:3], s32 offset:68
+; VI-NEXT: buffer_load_ushort v60, off, s[0:3], s32 offset:76
+; VI-NEXT: buffer_load_ushort v33, off, s[0:3], s32 offset:72
+; VI-NEXT: buffer_load_ushort v27, off, s[0:3], s32 offset:68
; VI-NEXT: buffer_load_ushort v62, off, s[0:3], s32 offset:64
; VI-NEXT: buffer_load_ushort v15, off, s[0:3], s32 offset:60
-; VI-NEXT: buffer_load_ushort v53, off, s[0:3], s32 offset:56
+; VI-NEXT: buffer_load_ushort v58, off, s[0:3], s32 offset:56
; VI-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:52
; VI-NEXT: buffer_load_ushort v51, off, s[0:3], s32 offset:48
; VI-NEXT: buffer_load_ushort v63, off, s[0:3], s32 offset:44
; VI-NEXT: buffer_load_ushort v48, off, s[0:3], s32 offset:40
-; VI-NEXT: buffer_load_ushort v57, off, s[0:3], s32 offset:36
+; VI-NEXT: buffer_load_ushort v59, off, s[0:3], s32 offset:36
; VI-NEXT: buffer_load_ushort v38, off, s[0:3], s32 offset:32
-; VI-NEXT: buffer_load_ushort v52, off, s[0:3], s32 offset:28
+; VI-NEXT: buffer_load_ushort v46, off, s[0:3], s32 offset:28
; VI-NEXT: buffer_load_ushort v37, off, s[0:3], s32 offset:24
; VI-NEXT: buffer_load_ushort v50, off, s[0:3], s32 offset:20
; VI-NEXT: buffer_load_ushort v36, off, s[0:3], s32 offset:16
; VI-NEXT: buffer_load_ushort v39, off, s[0:3], s32 offset:12
; VI-NEXT: s_waitcnt vmcnt(10)
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:476 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:480 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v61, off, s[0:3], s32 offset:484 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v60, off, s[0:3], s32 offset:488 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v59, off, s[0:3], s32 offset:492 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:496 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:500 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:504 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:508 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:512 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:516 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:520 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:524 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:528 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:532 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:536 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:540 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:544 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:548 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:552 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:556 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:560 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:564 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:484 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:488 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:492 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v61, off, s[0:3], s32 offset:496 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:500 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:504 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v30, off, s[0:3], s32 offset:508 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v60, off, s[0:3], s32 offset:512 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:516 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:520 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:524 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v57, off, s[0:3], s32 offset:528 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:532 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:536 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:540 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:544 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:548 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:552 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:556 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:560 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:564 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:568 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:572 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v30, off, s[0:3], s32 offset:576 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:580 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:584 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:588 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:592 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:596 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:600 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:572 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:576 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:580 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:584 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:588 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:592 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:464 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:596 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:600 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:604 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:608 ; 4-byte Folded Spill
; VI-NEXT: s_waitcnt vmcnt(14)
-; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:604 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:608 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v38, off, s[0:3], s32 offset:612 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:616 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v48, off, s[0:3], s32 offset:620 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v50, off, s[0:3], s32 offset:624 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:628 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:632 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:636 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v57, off, s[0:3], s32 offset:640 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:644 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:648 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:652 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:656 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:612 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:616 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v38, off, s[0:3], s32 offset:620 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:624 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v48, off, s[0:3], s32 offset:628 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v50, off, s[0:3], s32 offset:632 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:636 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:640 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:644 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v59, off, s[0:3], s32 offset:648 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:652 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:656 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:480 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:660 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:664 ; 4-byte Folded Spill
; VI-NEXT: s_cbranch_scc0 .LBB97_2
; VI-NEXT: ; %bb.1: ; %cmp.false
-; VI-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:676 ; 4-byte Folded Spill
+; VI-NEXT: s_mov_b32 s4, 0xc0c0004
+; VI-NEXT: v_perm_b32 v27, v27, v33, s4
+; VI-NEXT: v_lshlrev_b32_e32 v27, 16, v27
+; VI-NEXT: v_perm_b32 v15, v15, v62, s4
+; VI-NEXT: v_or_b32_e32 v15, v15, v27
+; VI-NEXT: v_perm_b32 v27, v32, v61, s4
+; VI-NEXT: v_lshlrev_b32_e32 v27, 16, v27
+; VI-NEXT: v_perm_b32 v28, v60, v28, s4
+; VI-NEXT: v_perm_b32 v17, v17, v16, s4
+; VI-NEXT: v_or_b32_e32 v16, v28, v27
+; VI-NEXT: v_perm_b32 v27, v47, v45, s4
+; VI-NEXT: v_lshlrev_b32_e32 v27, 16, v27
+; VI-NEXT: v_perm_b32 v18, v29, v18, s4
+; VI-NEXT: v_or_b32_e32 v18, v18, v27
+; VI-NEXT: v_perm_b32 v27, v44, v30, s4
+; VI-NEXT: v_lshlrev_b32_e32 v27, 16, v27
+; VI-NEXT: v_perm_b32 v19, v43, v19, s4
+; VI-NEXT: v_or_b32_e32 v19, v19, v27
+; VI-NEXT: v_perm_b32 v27, v21, v24, s4
+; VI-NEXT: v_lshlrev_b32_e32 v27, 16, v27
+; VI-NEXT: v_mov_b32_e32 v43, v20
+; VI-NEXT: v_perm_b32 v20, v26, v20, s4
+; VI-NEXT: v_or_b32_e32 v20, v20, v27
+; VI-NEXT: v_perm_b32 v27, v22, v25, s4
+; VI-NEXT: v_perm_b32 v21, v23, v54, s4
+; VI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:400 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:404 ; 4-byte Folded Reload
+; VI-NEXT: v_lshlrev_b32_e32 v27, 16, v27
+; VI-NEXT: v_or_b32_e32 v21, v21, v27
+; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:676 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:708 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:712 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v49, v31
+; VI-NEXT: v_mov_b32_e32 v62, v49
+; VI-NEXT: v_perm_b32 v29, v49, v55, s4
+; VI-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:712 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:676 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v32, v57, v56, s4
+; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:692 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v42, v41
+; VI-NEXT: v_mov_b32_e32 v41, v12
+; VI-NEXT: v_lshlrev_b32_e32 v32, 16, v32
+; VI-NEXT: v_mov_b32_e32 v31, v10
+; VI-NEXT: v_or_b32_e32 v17, v17, v32
+; VI-NEXT: v_perm_b32 v28, v42, v31, s4
+; VI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:700 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v11, 0xc0c0004
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:664 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:672 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v1, s19
-; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:668 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v3, s23
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:660 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:668 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v0, s17
; VI-NEXT: v_perm_b32 v1, s18, v1, v11
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:672 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:680 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v2, s21
; VI-NEXT: v_perm_b32 v3, s22, v3, v11
; VI-NEXT: v_perm_b32 v0, s16, v0, v11
@@ -195798,36 +195849,33 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; VI-NEXT: v_perm_b32 v3, s26, v3, v11
; VI-NEXT: v_perm_b32 v2, s24, v2, v11
; VI-NEXT: v_lshlrev_b32_e32 v3, 16, v3
-; VI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:680 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:684 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v4, s6
; VI-NEXT: v_or_b32_e32 v2, v2, v3
; VI-NEXT: v_mov_b32_e32 v3, s29
; VI-NEXT: v_perm_b32 v4, s8, v4, v11
; VI-NEXT: v_perm_b32 v3, s28, v3, v11
; VI-NEXT: v_lshlrev_b32_e32 v4, 16, v4
-; VI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:684 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:688 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v5, s10
; VI-NEXT: v_or_b32_e32 v3, v3, v4
; VI-NEXT: v_mov_b32_e32 v4, s7
; VI-NEXT: v_perm_b32 v5, s14, v5, v11
; VI-NEXT: v_perm_b32 v4, s11, v4, v11
; VI-NEXT: v_lshlrev_b32_e32 v5, 16, v5
-; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:688 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v6, s41
; VI-NEXT: v_or_b32_e32 v4, v4, v5
; VI-NEXT: v_mov_b32_e32 v5, s13
; VI-NEXT: v_perm_b32 v6, s46, v6, v11
; VI-NEXT: v_perm_b32 v5, s42, v5, v11
; VI-NEXT: v_lshlrev_b32_e32 v6, 16, v6
-; VI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:692 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:696 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v7, s57
; VI-NEXT: v_or_b32_e32 v5, v5, v6
; VI-NEXT: v_mov_b32_e32 v6, s45
; VI-NEXT: v_perm_b32 v7, s63, v7, v11
; VI-NEXT: v_perm_b32 v6, s58, v6, v11
; VI-NEXT: v_lshlrev_b32_e32 v7, 16, v7
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:700 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:696 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v8, s61
; VI-NEXT: v_or_b32_e32 v6, v6, v7
; VI-NEXT: v_mov_b32_e32 v7, s62
@@ -195841,27 +195889,25 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; VI-NEXT: v_perm_b32 v9, s40, v9, v11
; VI-NEXT: v_perm_b32 v8, s76, v8, v11
; VI-NEXT: v_lshlrev_b32_e32 v9, 16, v9
-; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:708 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v54, v49
-; VI-NEXT: v_mov_b32_e32 v49, v10
+; VI-NEXT: s_waitcnt vmcnt(14)
+; VI-NEXT: v_perm_b32 v27, v23, v22, s4
+; VI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:476 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:408 ; 4-byte Folded Reload
+; VI-NEXT: v_lshlrev_b32_e32 v27, 16, v27
; VI-NEXT: v_mov_b32_e32 v10, s43
; VI-NEXT: v_or_b32_e32 v8, v8, v9
; VI-NEXT: v_mov_b32_e32 v9, s15
; VI-NEXT: v_perm_b32 v10, s56, v10, v11
; VI-NEXT: v_perm_b32 v9, s44, v9, v11
-; VI-NEXT: v_mov_b32_e32 v33, v31
; VI-NEXT: v_lshlrev_b32_e32 v10, 16, v10
-; VI-NEXT: v_mov_b32_e32 v31, v42
-; VI-NEXT: v_mov_b32_e32 v42, v12
; VI-NEXT: v_mov_b32_e32 v12, s59
; VI-NEXT: v_or_b32_e32 v9, v9, v10
; VI-NEXT: v_mov_b32_e32 v10, s47
; VI-NEXT: v_perm_b32 v12, s72, v12, v11
; VI-NEXT: v_perm_b32 v10, s60, v10, v11
; VI-NEXT: v_lshlrev_b32_e32 v12, 16, v12
-; VI-NEXT: s_mov_b32 s4, 0xc0c0004
; VI-NEXT: v_or_b32_e32 v10, v10, v12
-; VI-NEXT: v_perm_b32 v12, v35, v32, s4
+; VI-NEXT: v_perm_b32 v12, v35, v34, s4
; VI-NEXT: v_perm_b32 v11, s75, v13, v11
; VI-NEXT: v_lshlrev_b32_e32 v12, 16, v12
; VI-NEXT: v_or_b32_e32 v11, v11, v12
@@ -195869,206 +195915,159 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; VI-NEXT: v_lshlrev_b32_e32 v12, 16, v12
; VI-NEXT: v_perm_b32 v13, v39, v36, s4
; VI-NEXT: v_or_b32_e32 v12, v13, v12
-; VI-NEXT: v_perm_b32 v13, v57, v48, s4
+; VI-NEXT: v_perm_b32 v13, v59, v48, s4
; VI-NEXT: v_lshlrev_b32_e32 v13, 16, v13
-; VI-NEXT: v_perm_b32 v32, v52, v38, s4
-; VI-NEXT: v_perm_b32 v14, v14, v53, s4
-; VI-NEXT: v_or_b32_e32 v13, v32, v13
+; VI-NEXT: v_perm_b32 v34, v46, v38, s4
+; VI-NEXT: v_perm_b32 v14, v14, v58, s4
+; VI-NEXT: v_or_b32_e32 v13, v34, v13
; VI-NEXT: v_lshlrev_b32_e32 v14, 16, v14
-; VI-NEXT: v_perm_b32 v32, v63, v51, s4
-; VI-NEXT: v_or_b32_e32 v14, v32, v14
-; VI-NEXT: v_perm_b32 v32, v61, v34, s4
-; VI-NEXT: v_lshlrev_b32_e32 v32, 16, v32
-; VI-NEXT: v_perm_b32 v15, v15, v62, s4
-; VI-NEXT: v_or_b32_e32 v15, v15, v32
-; VI-NEXT: v_perm_b32 v32, v60, v59, s4
-; VI-NEXT: v_lshlrev_b32_e32 v32, 16, v32
-; VI-NEXT: v_perm_b32 v28, v58, v28, s4
-; VI-NEXT: v_perm_b32 v17, v17, v16, s4
-; VI-NEXT: v_or_b32_e32 v16, v28, v32
-; VI-NEXT: v_perm_b32 v28, v46, v45, s4
-; VI-NEXT: v_lshlrev_b32_e32 v28, 16, v28
-; VI-NEXT: v_perm_b32 v18, v29, v18, s4
-; VI-NEXT: v_or_b32_e32 v18, v18, v28
-; VI-NEXT: v_perm_b32 v28, v44, v21, s4
-; VI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:468 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v38, off, s[0:3], s32 offset:688 ; 4-byte Folded Reload
-; VI-NEXT: v_perm_b32 v19, v43, v19, s4
-; VI-NEXT: v_mov_b32_e32 v43, v20
-; VI-NEXT: v_perm_b32 v20, v23, v20, s4
-; VI-NEXT: v_lshlrev_b32_e32 v28, 16, v28
-; VI-NEXT: v_or_b32_e32 v19, v19, v28
-; VI-NEXT: v_perm_b32 v28, v24, v27, s4
-; VI-NEXT: v_lshlrev_b32_e32 v28, 16, v28
-; VI-NEXT: v_or_b32_e32 v20, v20, v28
-; VI-NEXT: v_perm_b32 v28, v26, v25, s4
-; VI-NEXT: v_mov_b32_e32 v37, v54
-; VI-NEXT: v_perm_b32 v29, v49, v54, s4
-; VI-NEXT: v_lshlrev_b32_e32 v28, 16, v28
-; VI-NEXT: v_mov_b32_e32 v53, v49
-; VI-NEXT: v_mov_b32_e32 v52, v33
-; VI-NEXT: v_perm_b32 v35, v56, v47, s4
-; VI-NEXT: v_lshlrev_b32_e32 v35, 16, v35
-; VI-NEXT: v_or_b32_e32 v17, v17, v35
-; VI-NEXT: v_mov_b32_e32 v39, v55
-; VI-NEXT: buffer_load_dword v54, off, s[0:3], s32 offset:660 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(2)
-; VI-NEXT: v_perm_b32 v21, v22, v21, s4
-; VI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:400 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:404 ; 4-byte Folded Reload
-; VI-NEXT: v_or_b32_e32 v21, v21, v28
-; VI-NEXT: s_waitcnt vmcnt(3)
-; VI-NEXT: v_mov_b32_e32 v36, v38
-; VI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:676 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(3)
-; VI-NEXT: v_mov_b32_e32 v48, v54
-; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_perm_b32 v24, v23, v22, s4
-; VI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:472 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:408 ; 4-byte Folded Reload
-; VI-NEXT: v_lshlrev_b32_e32 v24, 16, v24
+; VI-NEXT: v_perm_b32 v34, v63, v51, s4
+; VI-NEXT: v_or_b32_e32 v14, v34, v14
+; VI-NEXT: s_waitcnt vmcnt(12)
+; VI-NEXT: v_mov_b32_e32 v34, v30
+; VI-NEXT: v_mov_b32_e32 v35, v52
+; VI-NEXT: v_mov_b32_e32 v48, v55
+; VI-NEXT: s_waitcnt vmcnt(11)
+; VI-NEXT: v_mov_b32_e32 v37, v49
+; VI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:692 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:708 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(2)
-; VI-NEXT: v_mov_b32_e32 v50, v28
-; VI-NEXT: v_perm_b32 v28, v31, v28, s4
-; VI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:704 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_perm_b32 v22, v23, v22, s4
-; VI-NEXT: v_or_b32_e32 v22, v22, v24
-; VI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:412 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:464 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:472 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:412 ; 4-byte Folded Reload
+; VI-NEXT: v_or_b32_e32 v22, v22, v27
+; VI-NEXT: s_waitcnt vmcnt(3)
+; VI-NEXT: v_mov_b32_e32 v58, v32
; VI-NEXT: s_waitcnt vmcnt(2)
-; VI-NEXT: v_mov_b32_e32 v57, v31
+; VI-NEXT: v_mov_b32_e32 v51, v31
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v23, v23, v24, s4
-; VI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:416 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:460 ; 4-byte Folded Reload
-; VI-NEXT: v_lshlrev_b32_e32 v23, 16, v23
+; VI-NEXT: v_perm_b32 v24, v24, v23, s4
+; VI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:468 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:416 ; 4-byte Folded Reload
+; VI-NEXT: v_lshlrev_b32_e32 v24, 16, v24
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v24, v24, v25, s4
-; VI-NEXT: v_or_b32_e32 v23, v24, v23
-; VI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:444 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v23, v25, v23, s4
+; VI-NEXT: v_or_b32_e32 v23, v23, v24
+; VI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:456 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:420 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v24, v25, v24, s4
-; VI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:448 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:460 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:424 ; 4-byte Folded Reload
; VI-NEXT: v_lshlrev_b32_e32 v24, 16, v24
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v25, v26, v25, s4
; VI-NEXT: v_or_b32_e32 v24, v25, v24
-; VI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:432 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:440 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v25, v25, v26, s4
+; VI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:444 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:428 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:436 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_perm_b32 v25, v26, v25, s4
+; VI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:440 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:432 ; 4-byte Folded Reload
; VI-NEXT: v_lshlrev_b32_e32 v25, 16, v25
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v26, v26, v27, s4
-; VI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:452 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v26, v27, v26, s4
; VI-NEXT: v_or_b32_e32 v25, v26, v25
-; VI-NEXT: v_perm_b32 v26, v40, v30, s4
-; VI-NEXT: v_lshlrev_b32_e32 v26, 16, v26
-; VI-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:708 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:436 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:448 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_perm_b32 v27, v27, v41, s4
+; VI-NEXT: v_perm_b32 v26, v53, v26, s4
+; VI-NEXT: v_lshlrev_b32_e32 v26, 16, v26
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_perm_b32 v27, v27, v40, s4
; VI-NEXT: v_or_b32_e32 v26, v27, v26
-; VI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:456 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_mov_b32_e32 v34, v30
+; VI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:452 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v27, v27, v42, s4
+; VI-NEXT: v_perm_b32 v27, v27, v41, s4
; VI-NEXT: v_lshlrev_b32_e32 v27, 16, v27
; VI-NEXT: v_or_b32_e32 v27, v28, v27
-; VI-NEXT: v_perm_b32 v28, v55, v33, s4
+; VI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:464 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_perm_b32 v28, v28, v52, s4
; VI-NEXT: v_lshlrev_b32_e32 v28, 16, v28
; VI-NEXT: v_or_b32_e32 v28, v29, v28
; VI-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:700 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v55, off, s[0:3], s32 offset:668 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_mov_b32_e32 v49, v29
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_mov_b32_e32 v50, v29
; VI-NEXT: v_perm_b32 v29, v30, v29, s4
-; VI-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:692 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:696 ; 4-byte Folded Reload
; VI-NEXT: v_lshlrev_b32_e32 v29, 16, v29
-; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_perm_b32 v41, v55, v54, s4
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_mov_b32_e32 v33, v30
+; VI-NEXT: v_mov_b32_e32 v46, v30
; VI-NEXT: v_perm_b32 v30, v31, v30, s4
; VI-NEXT: v_or_b32_e32 v29, v30, v29
-; VI-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:684 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:696 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:688 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:704 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_mov_b32_e32 v32, v30
+; VI-NEXT: v_mov_b32_e32 v33, v30
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_mov_b32_e32 v35, v31
+; VI-NEXT: v_mov_b32_e32 v63, v31
; VI-NEXT: v_perm_b32 v30, v31, v30, s4
-; VI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:672 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:680 ; 4-byte Folded Reload
; VI-NEXT: v_lshlrev_b32_e32 v30, 16, v30
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_mov_b32_e32 v62, v31
-; VI-NEXT: v_perm_b32 v31, v38, v31, s4
+; VI-NEXT: v_mov_b32_e32 v59, v31
+; VI-NEXT: v_perm_b32 v31, v32, v31, s4
; VI-NEXT: v_or_b32_e32 v30, v31, v30
-; VI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:664 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v38, off, s[0:3], s32 offset:680 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:672 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:684 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_mov_b32_e32 v63, v31
+; VI-NEXT: v_mov_b32_e32 v36, v31
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v31, v38, v31, s4
+; VI-NEXT: v_mov_b32_e32 v39, v32
+; VI-NEXT: v_perm_b32 v31, v32, v31, s4
+; VI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:668 ; 4-byte Folded Reload
; VI-NEXT: v_lshlrev_b32_e32 v31, 16, v31
-; VI-NEXT: v_mov_b32_e32 v51, v38
-; VI-NEXT: v_mov_b32_e32 v38, v55
-; VI-NEXT: v_or_b32_e32 v31, v41, v31
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_mov_b32_e32 v38, v32
+; VI-NEXT: v_perm_b32 v32, v49, v32, s4
+; VI-NEXT: v_or_b32_e32 v31, v32, v31
; VI-NEXT: s_mov_b64 s[4:5], 0
; VI-NEXT: s_branch .LBB97_3
; VI-NEXT: .LBB97_2:
-; VI-NEXT: v_mov_b32_e32 v51, v4
-; VI-NEXT: v_mov_b32_e32 v39, v55
-; VI-NEXT: v_mov_b32_e32 v53, v10
-; VI-NEXT: v_mov_b32_e32 v38, v3
-; VI-NEXT: v_mov_b32_e32 v52, v31
-; VI-NEXT: v_mov_b32_e32 v35, v8
-; VI-NEXT: v_mov_b32_e32 v63, v1
-; VI-NEXT: v_mov_b32_e32 v37, v49
-; VI-NEXT: v_mov_b32_e32 v36, v6
-; VI-NEXT: v_mov_b32_e32 v48, v0
-; VI-NEXT: v_mov_b32_e32 v34, v54
-; VI-NEXT: v_mov_b32_e32 v32, v5
-; VI-NEXT: v_mov_b32_e32 v50, v11
-; VI-NEXT: v_mov_b32_e32 v57, v9
-; VI-NEXT: v_mov_b32_e32 v62, v2
-; VI-NEXT: v_mov_b32_e32 v49, v33
-; VI-NEXT: v_mov_b32_e32 v33, v7
+; VI-NEXT: v_mov_b32_e32 v39, v4
+; VI-NEXT: v_mov_b32_e32 v62, v31
+; VI-NEXT: v_mov_b32_e32 v37, v3
+; VI-NEXT: v_mov_b32_e32 v35, v52
+; VI-NEXT: v_mov_b32_e32 v63, v9
+; VI-NEXT: v_mov_b32_e32 v36, v1
+; VI-NEXT: v_mov_b32_e32 v48, v55
+; VI-NEXT: v_mov_b32_e32 v58, v6
+; VI-NEXT: v_mov_b32_e32 v38, v0
+; VI-NEXT: v_mov_b32_e32 v34, v42
+; VI-NEXT: v_mov_b32_e32 v33, v5
+; VI-NEXT: v_mov_b32_e32 v51, v49
+; VI-NEXT: v_mov_b32_e32 v59, v2
+; VI-NEXT: v_mov_b32_e32 v50, v8
+; VI-NEXT: v_mov_b32_e32 v46, v7
; VI-NEXT: v_mov_b32_e32 v43, v20
; VI-NEXT: s_mov_b64 s[4:5], -1
; VI-NEXT: ; implicit-def: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15
; VI-NEXT: ; implicit-def: $vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31
; VI-NEXT: .LBB97_3: ; %Flow
+; VI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:480 ; 4-byte Folded Reload
; VI-NEXT: s_and_b64 s[4:5], s[4:5], exec
; VI-NEXT: s_cselect_b32 s4, 1, 0
; VI-NEXT: s_cmp_lg_u32 s4, 1
; VI-NEXT: s_cbranch_scc1 .LBB97_5
; VI-NEXT: ; %bb.4: ; %cmp.true
-; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v51
+; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v39
; VI-NEXT: s_mov_b32 s4, 0xc0c0004
-; VI-NEXT: v_perm_b32 v0, v0, v63, s4
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:660 ; 4-byte Folded Spill
-; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v38
-; VI-NEXT: v_perm_b32 v0, v0, v48, s4
-; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:664 ; 4-byte Folded Spill
-; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v35
-; VI-NEXT: v_perm_b32 v20, v0, v32, s4
-; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v36
-; VI-NEXT: v_perm_b32 v21, v0, v62, s4
+; VI-NEXT: v_perm_b32 v0, v0, v36, s4
+; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:668 ; 4-byte Folded Spill
+; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v37
+; VI-NEXT: v_perm_b32 v0, v0, v38, s4
+; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:672 ; 4-byte Folded Spill
+; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v63
+; VI-NEXT: v_perm_b32 v0, v0, v33, s4
+; VI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:676 ; 4-byte Folded Spill
+; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v58
+; VI-NEXT: v_perm_b32 v63, v0, v59, s4
; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v34
-; VI-NEXT: v_perm_b32 v22, v0, v49, s4
-; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v57
-; VI-NEXT: v_perm_b32 v23, v0, v33, s4
-; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v39
-; VI-NEXT: v_perm_b32 v24, v0, v52, s4
-; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v53
-; VI-NEXT: v_perm_b32 v25, v0, v37, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:456 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v22, v0, v50, s4
+; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v51
+; VI-NEXT: v_perm_b32 v23, v0, v46, s4
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:464 ; 4-byte Folded Reload
; VI-NEXT: s_add_i32 s75, s75, 3
; VI-NEXT: s_add_i32 s72, s72, 3
; VI-NEXT: s_add_i32 s60, s60, 3
@@ -196090,212 +196089,217 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; VI-NEXT: s_add_i32 s24, s24, 3
; VI-NEXT: s_add_i32 s22, s22, 3
; VI-NEXT: s_add_i32 s20, s20, 3
-; VI-NEXT: v_mov_b32_e32 v57, s21
+; VI-NEXT: v_mov_b32_e32 v46, s21
; VI-NEXT: s_add_i32 s18, s18, 3
-; VI-NEXT: v_mov_b32_e32 v62, s19
+; VI-NEXT: v_mov_b32_e32 v58, s19
; VI-NEXT: s_add_i32 s16, s16, 3
-; VI-NEXT: v_mov_b32_e32 v63, s17
+; VI-NEXT: v_mov_b32_e32 v59, s17
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v0
+; VI-NEXT: v_perm_b32 v24, v0, v35, s4
+; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v62
+; VI-NEXT: v_perm_b32 v25, v0, v48, s4
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:452 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:588 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:592 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v26, v1, v0, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:584 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:588 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v0
-; VI-NEXT: v_perm_b32 v27, v0, v50, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:572 ; 4-byte Folded Reload
+; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:596 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_perm_b32 v27, v1, v0, s4
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:580 ; 4-byte Folded Reload
; VI-NEXT: v_add_u32_e32 v27, vcc, 0x300, v27
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:576 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:436 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v28, v1, v0, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:452 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:448 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:580 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:584 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v29, v1, v0, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:432 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:428 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:440 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:444 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v30, v1, v0, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:428 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:432 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:436 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:440 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v31, v1, v0, s4
; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:420 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:444 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:456 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v41, v1, v0, s4
+; VI-NEXT: v_perm_b32 v62, v1, v0, s4
; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:424 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:448 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:460 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v19, v1, v0, s4
+; VI-NEXT: v_perm_b32 v21, v1, v0, s4
; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:412 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:472 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(1)
+; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v0
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:464 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v44, v1, v0, s4
+; VI-NEXT: v_perm_b32 v44, v0, v1, s4
; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:416 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:468 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(1)
+; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v0
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:460 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v45, v1, v0, s4
+; VI-NEXT: v_perm_b32 v45, v0, v1, s4
; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:404 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:400 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v46, v1, v0, s4
+; VI-NEXT: v_perm_b32 v20, v1, v0, s4
; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:408 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:472 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:476 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v0
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v47, v0, v1, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:568 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:656 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:576 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:664 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v0
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v56, v0, v1, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:564 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:468 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:572 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:660 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v0
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v18, v0, v1, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:540 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v57, v0, v1, s4
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:548 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:536 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:544 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v58, v1, v0, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:560 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v19, v1, v0, s4
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:568 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v0
-; VI-NEXT: v_perm_b32 v59, v0, v43, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:512 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v18, v0, v43, s4
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:520 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:500 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:508 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v60, v1, v0, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:508 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:516 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:496 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:504 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v61, v1, v0, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:544 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:552 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:552 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:560 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v40, v1, v0, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:548 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:556 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:556 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:564 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v42, v1, v0, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:520 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:528 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:524 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:532 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v10, v1, v0, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:528 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:536 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:532 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:540 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v11, v1, v0, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:488 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:500 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:492 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:496 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v12, v1, v0, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:504 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:512 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_add_u32_e32 v1, vcc, 3, v0
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:516 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:524 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v13, v1, v0, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:484 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:488 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:652 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v0
+; VI-NEXT: v_perm_b32 v14, v0, v32, s4
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:492 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v14, v0, v1, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:480 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:644 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v0
-; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v15, v0, v1, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:476 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:636 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:484 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:644 ; 4-byte Folded Reload
; VI-NEXT: v_add_u32_e32 v15, vcc, 0x300, v15
; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v0
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v16, v0, v1, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:648 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:628 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:656 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:636 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v0
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v17, v0, v1, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:640 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:620 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:648 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:628 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v0
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v32, v0, v1, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:632 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:612 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:640 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:620 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v0
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v34, v0, v1, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:624 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:608 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:632 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:616 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v0
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v36, v0, v1, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:616 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:604 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:624 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:612 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v0
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v37, v0, v1, s4
-; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:600 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:596 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:608 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:604 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_add_u32_e32 v0, vcc, 3, v0
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v38, v0, v1, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:592 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:600 ; 4-byte Folded Reload
; VI-NEXT: v_mov_b32_e32 v0, 0xc0c0004
-; VI-NEXT: v_perm_b32 v57, s20, v57, v0
-; VI-NEXT: v_perm_b32 v62, s18, v62, v0
-; VI-NEXT: v_lshlrev_b32_e32 v62, 16, v62
-; VI-NEXT: v_add_u32_e32 v57, vcc, 0x300, v57
+; VI-NEXT: v_perm_b32 v46, s20, v46, v0
+; VI-NEXT: v_perm_b32 v58, s18, v58, v0
+; VI-NEXT: v_lshlrev_b32_e32 v58, 16, v58
+; VI-NEXT: v_add_u32_e32 v46, vcc, 0x300, v46
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v39, s75, v1, v0
; VI-NEXT: v_mov_b32_e32 v1, s59
@@ -196318,31 +196322,46 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; VI-NEXT: v_perm_b32 v6, s63, v1, v0
; VI-NEXT: v_mov_b32_e32 v1, s45
; VI-NEXT: v_perm_b32 v51, s58, v1, v0
+; VI-NEXT: v_mov_b32_e32 v1, s41
+; VI-NEXT: v_perm_b32 v5, s46, v1, v0
+; VI-NEXT: v_mov_b32_e32 v1, s13
+; VI-NEXT: v_perm_b32 v52, s42, v1, v0
+; VI-NEXT: v_lshlrev_b32_e32 v5, 16, v5
+; VI-NEXT: v_add_u32_e32 v52, vcc, 0x300, v52
; VI-NEXT: v_lshlrev_b32_e32 v6, 16, v6
; VI-NEXT: v_add_u32_e32 v51, vcc, 0x300, v51
; VI-NEXT: v_lshlrev_b32_e32 v7, 16, v7
; VI-NEXT: v_add_u32_e32 v50, vcc, 0x300, v50
+; VI-NEXT: v_lshlrev_b32_e32 v8, 16, v8
+; VI-NEXT: v_add_u32_e32 v49, vcc, 0x300, v49
; VI-NEXT: v_lshlrev_b32_e32 v9, 16, v9
; VI-NEXT: v_add_u32_e32 v48, vcc, 0x300, v48
+; VI-NEXT: v_or_b32_sdwa v5, v5, v52 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; VI-NEXT: v_or_b32_sdwa v6, v6, v51 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; VI-NEXT: v_or_b32_sdwa v7, v7, v50 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; VI-NEXT: v_or_b32_sdwa v8, v8, v49 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; VI-NEXT: v_or_b32_sdwa v9, v9, v48 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; VI-NEXT: v_lshlrev_b32_e32 v48, 16, v10
+; VI-NEXT: v_add_u32_e32 v49, vcc, 0x300, v11
; VI-NEXT: v_lshlrev_b32_e32 v50, 16, v12
; VI-NEXT: v_add_u32_e32 v51, vcc, 0x300, v13
+; VI-NEXT: v_lshlrev_b32_e32 v52, 16, v14
+; VI-NEXT: v_lshlrev_b32_e32 v14, 16, v16
+; VI-NEXT: v_add_u32_e32 v16, vcc, 0x300, v17
; VI-NEXT: v_lshlrev_b32_e32 v13, 16, v32
+; VI-NEXT: v_add_u32_e32 v17, vcc, 0x300, v34
; VI-NEXT: v_lshlrev_b32_e32 v12, 16, v36
; VI-NEXT: v_add_u32_e32 v32, vcc, 0x300, v37
+; VI-NEXT: v_lshlrev_b32_e32 v11, 16, v38
+; VI-NEXT: v_add_u32_e32 v34, vcc, 0x300, v39
; VI-NEXT: v_lshlrev_b32_e32 v10, 16, v33
; VI-NEXT: v_add_u32_e32 v33, vcc, 0x300, v35
; VI-NEXT: v_or_b32_sdwa v10, v10, v33 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; VI-NEXT: v_or_b32_sdwa v11, v11, v34 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; VI-NEXT: v_or_b32_sdwa v12, v12, v32 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; VI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:660 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:664 ; 4-byte Folded Reload
-; VI-NEXT: v_mov_b32_e32 v1, s41
-; VI-NEXT: v_perm_b32 v5, s46, v1, v0
-; VI-NEXT: v_mov_b32_e32 v1, s13
-; VI-NEXT: v_perm_b32 v52, s42, v1, v0
+; VI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:668 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:672 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:676 ; 4-byte Folded Reload
; VI-NEXT: v_mov_b32_e32 v1, s10
; VI-NEXT: v_perm_b32 v4, s14, v1, v0
; VI-NEXT: v_mov_b32_e32 v1, s7
@@ -196356,23 +196375,10 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; VI-NEXT: v_mov_b32_e32 v1, s25
; VI-NEXT: v_perm_b32 v55, s24, v1, v0
; VI-NEXT: v_mov_b32_e32 v1, s23
-; VI-NEXT: v_lshlrev_b32_e32 v5, 16, v5
-; VI-NEXT: v_add_u32_e32 v52, vcc, 0x300, v52
-; VI-NEXT: v_lshlrev_b32_e32 v8, 16, v8
-; VI-NEXT: v_add_u32_e32 v49, vcc, 0x300, v49
; VI-NEXT: v_perm_b32 v1, s22, v1, v0
-; VI-NEXT: v_perm_b32 v0, s16, v63, v0
+; VI-NEXT: v_perm_b32 v0, s16, v59, v0
; VI-NEXT: v_lshlrev_b32_e32 v4, 16, v4
; VI-NEXT: v_add_u32_e32 v53, vcc, 0x300, v53
-; VI-NEXT: v_or_b32_sdwa v5, v5, v52 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; VI-NEXT: v_or_b32_sdwa v8, v8, v49 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; VI-NEXT: v_add_u32_e32 v49, vcc, 0x300, v11
-; VI-NEXT: v_lshlrev_b32_e32 v52, 16, v14
-; VI-NEXT: v_lshlrev_b32_e32 v14, 16, v16
-; VI-NEXT: v_add_u32_e32 v16, vcc, 0x300, v17
-; VI-NEXT: v_add_u32_e32 v17, vcc, 0x300, v34
-; VI-NEXT: v_lshlrev_b32_e32 v11, 16, v38
-; VI-NEXT: v_add_u32_e32 v34, vcc, 0x300, v39
; VI-NEXT: v_add_u32_e32 v0, vcc, 0x300, v0
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
@@ -196380,14 +196386,12 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; VI-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; VI-NEXT: v_add_u32_e32 v54, vcc, 0x300, v54
; VI-NEXT: v_or_b32_sdwa v4, v4, v53 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; VI-NEXT: v_or_b32_sdwa v11, v11, v34 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; VI-NEXT: v_or_b32_sdwa v13, v13, v17 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; VI-NEXT: v_or_b32_sdwa v14, v14, v16 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; VI-NEXT: v_or_b32_sdwa v15, v52, v15 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; VI-NEXT: v_or_b32_sdwa v16, v50, v51 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; VI-NEXT: v_or_b32_sdwa v17, v48, v49 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; VI-NEXT: v_lshlrev_b32_e32 v34, 16, v20
-; VI-NEXT: v_add_u32_e32 v35, vcc, 0x300, v21
+; VI-NEXT: v_add_u32_e32 v35, vcc, 0x300, v63
; VI-NEXT: v_lshlrev_b32_e32 v36, 16, v22
; VI-NEXT: v_add_u32_e32 v37, vcc, 0x300, v23
; VI-NEXT: v_lshlrev_b32_e32 v38, 16, v24
@@ -196397,32 +196401,34 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; VI-NEXT: v_add_u32_e32 v28, vcc, 0x300, v29
; VI-NEXT: v_lshlrev_b32_e32 v25, 16, v30
; VI-NEXT: v_add_u32_e32 v29, vcc, 0x300, v31
-; VI-NEXT: v_lshlrev_b32_e32 v24, 16, v41
-; VI-NEXT: v_add_u32_e32 v30, vcc, 0x300, v19
+; VI-NEXT: v_lshlrev_b32_e32 v24, 16, v62
+; VI-NEXT: v_add_u32_e32 v30, vcc, 0x300, v21
; VI-NEXT: v_lshlrev_b32_e32 v23, 16, v44
; VI-NEXT: v_add_u32_e32 v31, vcc, 0x300, v45
-; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_lshlrev_b32_e32 v32, 16, v32
-; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_add_u32_e32 v33, vcc, 0x300, v33
-; VI-NEXT: v_lshlrev_b32_e32 v22, 16, v46
+; VI-NEXT: v_lshlrev_b32_e32 v22, 16, v20
; VI-NEXT: v_add_u32_e32 v49, vcc, 0x300, v47
; VI-NEXT: v_lshlrev_b32_e32 v21, 16, v56
-; VI-NEXT: v_add_u32_e32 v50, vcc, 0x300, v18
-; VI-NEXT: v_lshlrev_b32_e32 v20, 16, v58
-; VI-NEXT: v_add_u32_e32 v51, vcc, 0x300, v59
+; VI-NEXT: v_add_u32_e32 v50, vcc, 0x300, v57
+; VI-NEXT: v_lshlrev_b32_e32 v20, 16, v19
+; VI-NEXT: v_add_u32_e32 v51, vcc, 0x300, v18
; VI-NEXT: v_lshlrev_b32_e32 v19, 16, v60
; VI-NEXT: v_add_u32_e32 v52, vcc, 0x300, v61
; VI-NEXT: v_lshlrev_b32_e32 v18, 16, v40
; VI-NEXT: v_add_u32_e32 v53, vcc, 0x300, v42
-; VI-NEXT: v_or_b32_sdwa v0, v62, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; VI-NEXT: v_or_b32_sdwa v1, v1, v57 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; VI-NEXT: v_or_b32_sdwa v0, v58, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; VI-NEXT: v_or_b32_sdwa v1, v1, v46 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; VI-NEXT: v_or_b32_sdwa v2, v2, v55 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; VI-NEXT: v_or_b32_sdwa v3, v3, v54 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; VI-NEXT: v_or_b32_sdwa v18, v18, v53 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; VI-NEXT: v_or_b32_sdwa v19, v19, v52 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; VI-NEXT: v_or_b32_sdwa v20, v20, v51 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; VI-NEXT: v_or_b32_sdwa v21, v21, v50 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; VI-NEXT: s_waitcnt vmcnt(2)
+; VI-NEXT: v_lshlrev_b32_e32 v32, 16, v32
+; VI-NEXT: s_waitcnt vmcnt(1)
+; VI-NEXT: v_add_u32_e32 v33, vcc, 0x300, v33
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_lshlrev_b32_e32 v34, 16, v34
; VI-NEXT: v_or_b32_sdwa v22, v22, v49 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; VI-NEXT: v_or_b32_sdwa v23, v23, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; VI-NEXT: v_or_b32_sdwa v24, v24, v30 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
@@ -196512,559 +196518,539 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; GFX9-NEXT: buffer_load_ushort v12, off, s[0:3], s32 offset:4
; GFX9-NEXT: buffer_load_ushort v13, off, s[0:3], s32
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:328
-; GFX9-NEXT: v_readfirstlane_b32 s11, v20
-; GFX9-NEXT: v_readfirstlane_b32 s6, v1
-; GFX9-NEXT: v_readfirstlane_b32 s9, v21
+; GFX9-NEXT: v_readfirstlane_b32 s13, v25
+; GFX9-NEXT: v_readfirstlane_b32 s40, v24
+; GFX9-NEXT: v_readfirstlane_b32 s60, v22
; GFX9-NEXT: v_readfirstlane_b32 s43, v2
+; GFX9-NEXT: v_readfirstlane_b32 s6, v1
; GFX9-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:332
-; GFX9-NEXT: v_readfirstlane_b32 s40, v24
-; GFX9-NEXT: v_readfirstlane_b32 s57, v23
-; GFX9-NEXT: v_readfirstlane_b32 s12, v9
-; GFX9-NEXT: v_readfirstlane_b32 s14, v8
; GFX9-NEXT: v_readfirstlane_b32 s59, v6
; GFX9-NEXT: v_readfirstlane_b32 s15, v3
; GFX9-NEXT: v_readfirstlane_b32 s10, v4
+; GFX9-NEXT: v_readfirstlane_b32 s47, v7
; GFX9-NEXT: v_readfirstlane_b32 s8, v5
+; GFX9-NEXT: v_readfirstlane_b32 s12, v9
+; GFX9-NEXT: v_readfirstlane_b32 s14, v8
; GFX9-NEXT: v_readfirstlane_b32 s63, v10
-; GFX9-NEXT: v_readfirstlane_b32 s47, v7
-; GFX9-NEXT: v_readfirstlane_b32 s75, v14
-; GFX9-NEXT: v_readfirstlane_b32 s13, v25
+; GFX9-NEXT: v_readfirstlane_b32 s11, v20
; GFX9-NEXT: v_readfirstlane_b32 s74, v30
; GFX9-NEXT: v_readfirstlane_b32 s44, v29
; GFX9-NEXT: v_readfirstlane_b32 s56, v28
; GFX9-NEXT: v_readfirstlane_b32 s62, v27
; GFX9-NEXT: v_readfirstlane_b32 s72, v26
-; GFX9-NEXT: v_readfirstlane_b32 s60, v22
+; GFX9-NEXT: v_readfirstlane_b32 s57, v23
+; GFX9-NEXT: v_readfirstlane_b32 s9, v21
; GFX9-NEXT: v_readfirstlane_b32 s41, v19
; GFX9-NEXT: v_readfirstlane_b32 s76, v18
; GFX9-NEXT: v_readfirstlane_b32 s45, v17
; GFX9-NEXT: v_readfirstlane_b32 s58, v16
; GFX9-NEXT: v_readfirstlane_b32 s73, v15
-; GFX9-NEXT: buffer_load_ushort v22, off, s[0:3], s32 offset:288
-; GFX9-NEXT: buffer_load_ushort v45, off, s[0:3], s32 offset:284
+; GFX9-NEXT: v_readfirstlane_b32 s75, v14
+; GFX9-NEXT: buffer_load_ushort v23, off, s[0:3], s32 offset:288
+; GFX9-NEXT: buffer_load_ushort v51, off, s[0:3], s32 offset:284
; GFX9-NEXT: s_waitcnt vmcnt(3)
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:448 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:468 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v63, off, s[0:3], s32 offset:324
-; GFX9-NEXT: buffer_load_ushort v20, off, s[0:3], s32 offset:320
+; GFX9-NEXT: buffer_load_ushort v22, off, s[0:3], s32 offset:320
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_ushort v0, off, s[0:3], s32 offset:316
-; GFX9-NEXT: buffer_load_ushort v1, off, s[0:3], s32 offset:312
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:452 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_ushort v49, off, s[0:3], s32 offset:308
-; GFX9-NEXT: buffer_load_ushort v21, off, s[0:3], s32 offset:304
-; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_load_ushort v24, off, s[0:3], s32 offset:312
+; GFX9-NEXT: buffer_load_ushort v53, off, s[0:3], s32 offset:308
+; GFX9-NEXT: buffer_load_ushort v48, off, s[0:3], s32 offset:304
; GFX9-NEXT: buffer_load_ushort v1, off, s[0:3], s32 offset:300
-; GFX9-NEXT: buffer_load_ushort v2, off, s[0:3], s32 offset:296
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:460 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v25, off, s[0:3], s32 offset:296
; GFX9-NEXT: buffer_load_ushort v2, off, s[0:3], s32 offset:292
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:428 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v2, off, s[0:3], s32 offset:280
; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v31
-; GFX9-NEXT: s_and_b64 s[4:5], vcc, exec
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:456 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_ushort v23, off, s[0:3], s32 offset:280
-; GFX9-NEXT: buffer_load_ushort v33, off, s[0:3], s32 offset:276
-; GFX9-NEXT: buffer_load_ushort v6, off, s[0:3], s32 offset:272
-; GFX9-NEXT: buffer_load_ushort v8, off, s[0:3], s32 offset:268
-; GFX9-NEXT: buffer_load_ushort v41, off, s[0:3], s32 offset:264
-; GFX9-NEXT: buffer_load_ushort v2, off, s[0:3], s32 offset:260
-; GFX9-NEXT: buffer_load_ushort v24, off, s[0:3], s32 offset:256
-; GFX9-NEXT: buffer_load_ushort v9, off, s[0:3], s32 offset:252
+; GFX9-NEXT: buffer_load_ushort v41, off, s[0:3], s32 offset:116
+; GFX9-NEXT: buffer_load_ushort v18, off, s[0:3], s32 offset:112
+; GFX9-NEXT: buffer_load_ushort v50, off, s[0:3], s32 offset:108
+; GFX9-NEXT: buffer_load_ushort v21, off, s[0:3], s32 offset:104
+; GFX9-NEXT: buffer_load_ushort v35, off, s[0:3], s32 offset:100
+; GFX9-NEXT: buffer_load_ushort v16, off, s[0:3], s32 offset:96
+; GFX9-NEXT: buffer_load_ushort v17, off, s[0:3], s32 offset:92
+; GFX9-NEXT: buffer_load_ushort v46, off, s[0:3], s32 offset:88
+; GFX9-NEXT: buffer_load_ushort v38, off, s[0:3], s32 offset:84
+; GFX9-NEXT: buffer_load_ushort v57, off, s[0:3], s32 offset:80
+; GFX9-NEXT: buffer_load_ushort v59, off, s[0:3], s32 offset:76
+; GFX9-NEXT: buffer_load_ushort v15, off, s[0:3], s32 offset:72
+; GFX9-NEXT: buffer_load_ushort v56, off, s[0:3], s32 offset:68
+; GFX9-NEXT: buffer_load_ushort v31, off, s[0:3], s32 offset:64
+; GFX9-NEXT: buffer_load_ushort v30, off, s[0:3], s32 offset:60
+; GFX9-NEXT: buffer_load_ushort v62, off, s[0:3], s32 offset:56
+; GFX9-NEXT: buffer_load_ushort v55, off, s[0:3], s32 offset:52
+; GFX9-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:48
+; GFX9-NEXT: buffer_load_ushort v29, off, s[0:3], s32 offset:44
+; GFX9-NEXT: buffer_load_ushort v49, off, s[0:3], s32 offset:40
+; GFX9-NEXT: buffer_load_ushort v39, off, s[0:3], s32 offset:36
+; GFX9-NEXT: buffer_load_ushort v28, off, s[0:3], s32 offset:32
+; GFX9-NEXT: buffer_load_ushort v27, off, s[0:3], s32 offset:28
+; GFX9-NEXT: buffer_load_ushort v34, off, s[0:3], s32 offset:24
+; GFX9-NEXT: buffer_load_ushort v36, off, s[0:3], s32 offset:20
+; GFX9-NEXT: buffer_load_ushort v37, off, s[0:3], s32 offset:16
+; GFX9-NEXT: buffer_load_ushort v26, off, s[0:3], s32 offset:12
+; GFX9-NEXT: s_cmp_lg_u64 vcc, 0
+; GFX9-NEXT: s_waitcnt vmcnt(27)
+; GFX9-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:484 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v52, off, s[0:3], s32 offset:276
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_load_ushort v2, off, s[0:3], s32 offset:272
+; GFX9-NEXT: buffer_load_ushort v6, off, s[0:3], s32 offset:268
+; GFX9-NEXT: buffer_load_ushort v3, off, s[0:3], s32 offset:264
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:444 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v44, off, s[0:3], s32 offset:260
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_load_ushort v3, off, s[0:3], s32 offset:256
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:488 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v58, off, s[0:3], s32 offset:252
+; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_ushort v3, off, s[0:3], s32 offset:248
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:436 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_ushort v44, off, s[0:3], s32 offset:244
+; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:452 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v47, off, s[0:3], s32 offset:244
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_ushort v3, off, s[0:3], s32 offset:240
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:444 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_ushort v55, off, s[0:3], s32 offset:236
+; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:492 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v42, off, s[0:3], s32 offset:236
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_ushort v3, off, s[0:3], s32 offset:232
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:440 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:448 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_load_ushort v61, off, s[0:3], s32 offset:228
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_ushort v3, off, s[0:3], s32 offset:224
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:476 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_ushort v37, off, s[0:3], s32 offset:220
+; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:496 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v43, off, s[0:3], s32 offset:220
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_ushort v3, off, s[0:3], s32 offset:216
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:432 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_ushort v3, off, s[0:3], s32 offset:212
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_ushort v4, off, s[0:3], s32 offset:208
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:416 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_ushort v47, off, s[0:3], s32 offset:204
+; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:440 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v33, off, s[0:3], s32 offset:212
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_ushort v4, off, s[0:3], s32 offset:200
+; GFX9-NEXT: buffer_load_ushort v3, off, s[0:3], s32 offset:208
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:424 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_ushort v4, off, s[0:3], s32 offset:196
+; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:412 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v32, off, s[0:3], s32 offset:204
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_ushort v5, off, s[0:3], s32 offset:192
+; GFX9-NEXT: buffer_load_ushort v3, off, s[0:3], s32 offset:200
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:412 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_ushort v10, off, s[0:3], s32 offset:188
+; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:436 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v3, off, s[0:3], s32 offset:196
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_ushort v5, off, s[0:3], s32 offset:184
+; GFX9-NEXT: buffer_load_ushort v4, off, s[0:3], s32 offset:192
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:420 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_ushort v7, off, s[0:3], s32 offset:180
+; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:408 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v7, off, s[0:3], s32 offset:188
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_ushort v5, off, s[0:3], s32 offset:176
+; GFX9-NEXT: buffer_load_ushort v4, off, s[0:3], s32 offset:184
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:404 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_ushort v58, off, s[0:3], s32 offset:172
+; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:432 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v5, off, s[0:3], s32 offset:180
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_ushort v5, off, s[0:3], s32 offset:168
+; GFX9-NEXT: buffer_load_ushort v4, off, s[0:3], s32 offset:176
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:464 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_ushort v5, off, s[0:3], s32 offset:164
+; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:404 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v9, off, s[0:3], s32 offset:172
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:160
+; GFX9-NEXT: buffer_load_ushort v4, off, s[0:3], s32 offset:168
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:408 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_ushort v25, off, s[0:3], s32 offset:156
+; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:424 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v4, off, s[0:3], s32 offset:164
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:152
+; GFX9-NEXT: buffer_load_ushort v8, off, s[0:3], s32 offset:160
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:468 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_ushort v54, off, s[0:3], s32 offset:148
+; GFX9-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:400 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v8, off, s[0:3], s32 offset:156
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:144
+; GFX9-NEXT: buffer_load_ushort v10, off, s[0:3], s32 offset:152
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:400 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_ushort v50, off, s[0:3], s32 offset:140
+; GFX9-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:472 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v60, off, s[0:3], s32 offset:148
+; GFX9-NEXT: buffer_load_ushort v20, off, s[0:3], s32 offset:144
+; GFX9-NEXT: buffer_load_ushort v54, off, s[0:3], s32 offset:140
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:136
+; GFX9-NEXT: buffer_load_ushort v10, off, s[0:3], s32 offset:136
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:472 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_load_ushort v59, off, s[0:3], s32 offset:132
+; GFX9-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:476 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v40, off, s[0:3], s32 offset:132
; GFX9-NEXT: buffer_load_ushort v19, off, s[0:3], s32 offset:128
-; GFX9-NEXT: buffer_load_ushort v51, off, s[0:3], s32 offset:124
-; GFX9-NEXT: buffer_load_ushort v36, off, s[0:3], s32 offset:120
-; GFX9-NEXT: buffer_load_ushort v57, off, s[0:3], s32 offset:116
-; GFX9-NEXT: buffer_load_ushort v18, off, s[0:3], s32 offset:112
-; GFX9-NEXT: buffer_load_ushort v48, off, s[0:3], s32 offset:108
-; GFX9-NEXT: buffer_load_ushort v17, off, s[0:3], s32 offset:104
-; GFX9-NEXT: buffer_load_ushort v40, off, s[0:3], s32 offset:100
-; GFX9-NEXT: buffer_load_ushort v16, off, s[0:3], s32 offset:96
-; GFX9-NEXT: buffer_load_ushort v32, off, s[0:3], s32 offset:92
-; GFX9-NEXT: buffer_load_ushort v38, off, s[0:3], s32 offset:88
-; GFX9-NEXT: buffer_load_ushort v43, off, s[0:3], s32 offset:84
-; GFX9-NEXT: buffer_load_ushort v60, off, s[0:3], s32 offset:80
-; GFX9-NEXT: buffer_load_ushort v46, off, s[0:3], s32 offset:76
-; GFX9-NEXT: buffer_load_ushort v15, off, s[0:3], s32 offset:72
-; GFX9-NEXT: buffer_load_ushort v56, off, s[0:3], s32 offset:68
-; GFX9-NEXT: buffer_load_ushort v31, off, s[0:3], s32 offset:64
-; GFX9-NEXT: buffer_load_ushort v30, off, s[0:3], s32 offset:60
-; GFX9-NEXT: buffer_load_ushort v62, off, s[0:3], s32 offset:56
-; GFX9-NEXT: buffer_load_ushort v52, off, s[0:3], s32 offset:52
-; GFX9-NEXT: buffer_load_ushort v14, off, s[0:3], s32 offset:48
-; GFX9-NEXT: buffer_load_ushort v29, off, s[0:3], s32 offset:44
-; GFX9-NEXT: buffer_load_ushort v39, off, s[0:3], s32 offset:40
-; GFX9-NEXT: buffer_load_ushort v34, off, s[0:3], s32 offset:36
-; GFX9-NEXT: buffer_load_ushort v28, off, s[0:3], s32 offset:32
-; GFX9-NEXT: buffer_load_ushort v27, off, s[0:3], s32 offset:28
-; GFX9-NEXT: buffer_load_ushort v35, off, s[0:3], s32 offset:24
-; GFX9-NEXT: buffer_load_ushort v53, off, s[0:3], s32 offset:20
-; GFX9-NEXT: buffer_load_ushort v26, off, s[0:3], s32 offset:16
-; GFX9-NEXT: buffer_load_ushort v42, off, s[0:3], s32 offset:12
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:480 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:484 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:488 ; 4-byte Folded Spill
-; GFX9-NEXT: s_waitcnt vmcnt(7)
-; GFX9-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:492 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:496 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:500 ; 4-byte Folded Spill
-; GFX9-NEXT: s_waitcnt vmcnt(9)
-; GFX9-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:504 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:508 ; 4-byte Folded Spill
-; GFX9-NEXT: s_waitcnt vmcnt(10)
-; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:512 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:516 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:520 ; 4-byte Folded Spill
-; GFX9-NEXT: s_waitcnt vmcnt(12)
-; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:524 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:528 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:532 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:536 ; 4-byte Folded Spill
-; GFX9-NEXT: s_waitcnt vmcnt(15)
-; GFX9-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:540 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:544 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:548 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v30, off, s[0:3], s32 offset:552 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v38, off, s[0:3], s32 offset:556 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:560 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:564 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:568 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v60, off, s[0:3], s32 offset:572 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:576 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:580 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:584 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:588 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v57, off, s[0:3], s32 offset:592 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v48, off, s[0:3], s32 offset:596 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_load_ushort v45, off, s[0:3], s32 offset:124
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_load_ushort v10, off, s[0:3], s32 offset:120
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:500 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:504 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:508 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:512 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:516 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:520 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:524 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:528 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v30, off, s[0:3], s32 offset:532 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:536 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:540 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:544 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:548 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:552 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:556 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:560 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:564 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:568 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v38, off, s[0:3], s32 offset:572 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:576 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v57, off, s[0:3], s32 offset:580 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v59, off, s[0:3], s32 offset:584 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:588 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:592 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:596 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:600 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:604 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:608 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v50, off, s[0:3], s32 offset:612 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:616 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:620 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:624 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:628 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:632 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:636 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:428 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v59, off, s[0:3], s32 offset:640 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v50, off, s[0:3], s32 offset:604 ; 4-byte Folded Spill
+; GFX9-NEXT: s_waitcnt vmcnt(30)
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:608 ; 4-byte Folded Spill
+; GFX9-NEXT: s_waitcnt vmcnt(29)
+; GFX9-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:612 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:616 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:620 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:624 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:628 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:632 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:636 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:640 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:644 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:648 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:456 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:460 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:464 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:416 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:420 ; 4-byte Folded Spill
+; GFX9-NEXT: s_waitcnt vmcnt(43)
+; GFX9-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:480 ; 4-byte Folded Spill
; GFX9-NEXT: s_cbranch_scc0 .LBB97_2
; GFX9-NEXT: ; %bb.1: ; %cmp.false
-; GFX9-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:676 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v24, 0xc0c0004
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:648 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:660 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:672 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:664 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:680 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:684 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:692 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:688 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:700 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:696 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v49, v3
+; GFX9-NEXT: v_mov_b32_e32 v25, 0xc0c0004
+; GFX9-NEXT: buffer_store_dword v48, off, s[0:3], s32 offset:652 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v48, s19
+; GFX9-NEXT: v_mov_b32_e32 v10, s17
+; GFX9-NEXT: v_perm_b32 v48, s18, v48, v25
+; GFX9-NEXT: v_perm_b32 v10, s16, v10, v25
+; GFX9-NEXT: v_lshlrev_b32_e32 v24, 16, v48
+; GFX9-NEXT: s_mov_b32 s5, 0xc0c0004
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:660 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:664 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:676 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:668 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:680 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:684 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:692 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:688 ; 4-byte Folded Spill
+; GFX9-NEXT: v_or_b32_sdwa v0, v24, v10 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_perm_b32 v24, v59, v57, s5
+; GFX9-NEXT: buffer_load_dword v57, off, s[0:3], s32 offset:480 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v59, off, s[0:3], s32 offset:476 ; 4-byte Folded Reload
+; GFX9-NEXT: v_mov_b32_e32 v52, v3
; GFX9-NEXT: v_mov_b32_e32 v3, s27
; GFX9-NEXT: v_mov_b32_e32 v2, s25
-; GFX9-NEXT: v_perm_b32 v3, s26, v3, v24
-; GFX9-NEXT: v_mov_b32_e32 v63, v55
-; GFX9-NEXT: v_mov_b32_e32 v55, v4
-; GFX9-NEXT: v_perm_b32 v2, s24, v2, v24
+; GFX9-NEXT: v_perm_b32 v3, s26, v3, v25
+; GFX9-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:696 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v58, v4
+; GFX9-NEXT: v_perm_b32 v2, s24, v2, v25
; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; GFX9-NEXT: v_mov_b32_e32 v4, s6
; GFX9-NEXT: v_or_b32_sdwa v2, v3, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: v_mov_b32_e32 v3, s29
-; GFX9-NEXT: v_perm_b32 v4, s7, v4, v24
-; GFX9-NEXT: v_mov_b32_e32 v33, v5
-; GFX9-NEXT: v_perm_b32 v3, s28, v3, v24
+; GFX9-NEXT: v_perm_b32 v4, s7, v4, v25
+; GFX9-NEXT: v_mov_b32_e32 v63, v44
+; GFX9-NEXT: v_mov_b32_e32 v44, v42
+; GFX9-NEXT: v_mov_b32_e32 v42, v5
+; GFX9-NEXT: v_perm_b32 v3, s28, v3, v25
; GFX9-NEXT: v_lshlrev_b32_e32 v4, 16, v4
; GFX9-NEXT: v_mov_b32_e32 v5, s8
+; GFX9-NEXT: v_mov_b32_e32 v48, s21
; GFX9-NEXT: v_or_b32_sdwa v3, v4, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: v_mov_b32_e32 v4, s15
-; GFX9-NEXT: v_perm_b32 v5, s10, v5, v24
-; GFX9-NEXT: v_mov_b32_e32 v41, s17
-; GFX9-NEXT: v_perm_b32 v4, s43, v4, v24
+; GFX9-NEXT: v_perm_b32 v5, s10, v5, v25
+; GFX9-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:672 ; 4-byte Folded Spill
+; GFX9-NEXT: v_perm_b32 v23, s20, v48, v25
+; GFX9-NEXT: v_mov_b32_e32 v48, s23
+; GFX9-NEXT: v_perm_b32 v4, s43, v4, v25
; GFX9-NEXT: v_lshlrev_b32_e32 v5, 16, v5
; GFX9-NEXT: v_mov_b32_e32 v6, s12
-; GFX9-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:668 ; 4-byte Folded Spill
-; GFX9-NEXT: v_perm_b32 v23, s16, v41, v24
-; GFX9-NEXT: v_mov_b32_e32 v41, s19
+; GFX9-NEXT: v_perm_b32 v48, s22, v48, v25
; GFX9-NEXT: v_or_b32_sdwa v4, v5, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: v_mov_b32_e32 v5, s47
-; GFX9-NEXT: v_perm_b32 v6, s14, v6, v24
-; GFX9-NEXT: v_perm_b32 v41, s18, v41, v24
-; GFX9-NEXT: v_mov_b32_e32 v45, v44
-; GFX9-NEXT: v_mov_b32_e32 v44, v37
-; GFX9-NEXT: v_mov_b32_e32 v37, v7
-; GFX9-NEXT: v_perm_b32 v5, s59, v5, v24
+; GFX9-NEXT: v_perm_b32 v6, s14, v6, v25
+; GFX9-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:656 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshlrev_b32_e32 v22, 16, v48
+; GFX9-NEXT: v_mov_b32_e32 v48, v33
+; GFX9-NEXT: v_mov_b32_e32 v33, v7
+; GFX9-NEXT: v_perm_b32 v5, s59, v5, v25
; GFX9-NEXT: v_lshlrev_b32_e32 v6, 16, v6
; GFX9-NEXT: v_mov_b32_e32 v7, s42
-; GFX9-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:656 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshlrev_b32_e32 v22, 16, v41
-; GFX9-NEXT: v_mov_b32_e32 v41, s21
; GFX9-NEXT: v_or_b32_sdwa v5, v6, v5 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: v_mov_b32_e32 v6, s61
-; GFX9-NEXT: v_perm_b32 v7, s46, v7, v24
-; GFX9-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:652 ; 4-byte Folded Spill
-; GFX9-NEXT: v_perm_b32 v21, s20, v41, v24
-; GFX9-NEXT: v_mov_b32_e32 v41, s23
-; GFX9-NEXT: v_perm_b32 v6, s63, v6, v24
+; GFX9-NEXT: v_perm_b32 v7, s46, v7, v25
+; GFX9-NEXT: v_mov_b32_e32 v53, v47
+; GFX9-NEXT: v_mov_b32_e32 v47, v43
+; GFX9-NEXT: v_mov_b32_e32 v43, v8
+; GFX9-NEXT: v_perm_b32 v6, s63, v6, v25
; GFX9-NEXT: v_lshlrev_b32_e32 v7, 16, v7
; GFX9-NEXT: v_mov_b32_e32 v8, s45
-; GFX9-NEXT: v_perm_b32 v41, s22, v41, v24
; GFX9-NEXT: v_or_b32_sdwa v6, v7, v6 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: v_mov_b32_e32 v7, s73
-; GFX9-NEXT: v_perm_b32 v8, s58, v8, v24
-; GFX9-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:644 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshlrev_b32_e32 v20, 16, v41
-; GFX9-NEXT: v_mov_b32_e32 v41, v61
-; GFX9-NEXT: v_mov_b32_e32 v61, v47
-; GFX9-NEXT: v_mov_b32_e32 v47, v10
-; GFX9-NEXT: v_perm_b32 v7, s75, v7, v24
+; GFX9-NEXT: v_perm_b32 v8, s58, v8, v25
+; GFX9-NEXT: v_mov_b32_e32 v51, v61
+; GFX9-NEXT: v_mov_b32_e32 v61, v32
+; GFX9-NEXT: v_mov_b32_e32 v32, v9
+; GFX9-NEXT: v_perm_b32 v7, s75, v7, v25
; GFX9-NEXT: v_lshlrev_b32_e32 v8, 16, v8
; GFX9-NEXT: v_mov_b32_e32 v10, 0x6050400
; GFX9-NEXT: v_mov_b32_e32 v9, s11
; GFX9-NEXT: v_or_b32_sdwa v7, v8, v7 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: v_mov_b32_e32 v8, s76
; GFX9-NEXT: v_perm_b32 v9, s9, v9, v10
-; GFX9-NEXT: v_or_b32_sdwa v1, v20, v21 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_or_b32_sdwa v1, v22, v23 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: v_perm_b32 v8, s41, v8, v10
; GFX9-NEXT: v_lshlrev_b32_e32 v9, 16, v9
-; GFX9-NEXT: v_mov_b32_e32 v20, s40
+; GFX9-NEXT: v_mov_b32_e32 v22, s40
; GFX9-NEXT: v_or_b32_sdwa v8, v9, v8 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: v_mov_b32_e32 v9, s57
-; GFX9-NEXT: v_perm_b32 v20, s13, v20, v10
+; GFX9-NEXT: v_perm_b32 v22, s13, v22, v10
; GFX9-NEXT: s_mov_b32 s4, 0x6050400
-; GFX9-NEXT: v_perm_b32 v9, s60, v9, v24
-; GFX9-NEXT: v_lshlrev_b32_e32 v20, 16, v20
+; GFX9-NEXT: v_perm_b32 v9, s60, v9, v25
+; GFX9-NEXT: v_lshlrev_b32_e32 v22, 16, v22
; GFX9-NEXT: v_perm_b32 v11, v11, v12, s4
-; GFX9-NEXT: v_or_b32_sdwa v9, v20, v9 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_mov_b32_e32 v20, s72
-; GFX9-NEXT: v_mov_b32_e32 v21, s56
-; GFX9-NEXT: v_perm_b32 v13, s74, v13, v24
+; GFX9-NEXT: v_or_b32_sdwa v9, v22, v9 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_mov_b32_e32 v22, s72
+; GFX9-NEXT: v_mov_b32_e32 v23, s56
+; GFX9-NEXT: v_perm_b32 v13, s74, v13, v25
; GFX9-NEXT: v_lshlrev_b32_e32 v11, 16, v11
-; GFX9-NEXT: v_perm_b32 v12, v35, v53, s4
-; GFX9-NEXT: v_perm_b32 v20, s62, v20, v10
-; GFX9-NEXT: v_perm_b32 v10, s44, v21, v10
+; GFX9-NEXT: v_perm_b32 v12, v34, v36, s4
+; GFX9-NEXT: v_perm_b32 v22, s62, v22, v10
+; GFX9-NEXT: v_perm_b32 v10, s44, v23, v10
; GFX9-NEXT: v_or_b32_sdwa v11, v11, v13 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: v_lshlrev_b32_e32 v12, 16, v12
-; GFX9-NEXT: v_perm_b32 v13, v26, v42, s4
+; GFX9-NEXT: v_perm_b32 v13, v37, v26, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v10, 16, v10
; GFX9-NEXT: v_or_b32_sdwa v12, v12, v13 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: s_mov_b32 s5, 0xc0c0004
-; GFX9-NEXT: v_perm_b32 v13, v39, v34, s4
-; GFX9-NEXT: v_or_b32_sdwa v10, v10, v20 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_perm_b32 v13, v49, v39, s4
+; GFX9-NEXT: v_or_b32_sdwa v10, v10, v22 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: v_lshlrev_b32_e32 v13, 16, v13
-; GFX9-NEXT: v_perm_b32 v20, v27, v28, s5
-; GFX9-NEXT: v_or_b32_sdwa v13, v13, v20 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_perm_b32 v20, v62, v52, s4
-; GFX9-NEXT: v_lshlrev_b32_e32 v20, 16, v20
+; GFX9-NEXT: v_perm_b32 v22, v27, v28, s5
+; GFX9-NEXT: v_or_b32_sdwa v13, v13, v22 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_perm_b32 v22, v62, v55, s4
+; GFX9-NEXT: v_lshlrev_b32_e32 v22, 16, v22
; GFX9-NEXT: v_perm_b32 v14, v14, v29, s4
; GFX9-NEXT: v_perm_b32 v15, v15, v56, s4
-; GFX9-NEXT: v_or_b32_sdwa v14, v20, v14 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_or_b32_sdwa v14, v22, v14 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: v_lshlrev_b32_e32 v15, 16, v15
-; GFX9-NEXT: v_perm_b32 v20, v30, v31, s5
-; GFX9-NEXT: v_or_b32_sdwa v0, v22, v23 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_or_b32_sdwa v15, v15, v20 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_perm_b32 v20, v43, v38, s5
-; GFX9-NEXT: v_perm_b32 v22, v32, v16, s5
-; GFX9-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:472 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:412 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:444 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v22, v30, v31, s5
+; GFX9-NEXT: v_or_b32_sdwa v15, v15, v22 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_perm_b32 v22, v38, v46, s5
+; GFX9-NEXT: v_lshlrev_b32_e32 v22, 16, v22
+; GFX9-NEXT: v_perm_b32 v17, v17, v16, s5
+; GFX9-NEXT: v_or_b32_sdwa v16, v22, v24 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: s_waitcnt vmcnt(4)
+; GFX9-NEXT: v_perm_b32 v22, v41, v57, s5
+; GFX9-NEXT: v_lshlrev_b32_e32 v22, 16, v22
+; GFX9-NEXT: v_perm_b32 v18, v50, v18, s5
+; GFX9-NEXT: v_or_b32_sdwa v18, v22, v18 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: s_waitcnt vmcnt(3)
+; GFX9-NEXT: v_perm_b32 v22, v40, v59, s5
+; GFX9-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:472 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v23, v35, v21, s5
+; GFX9-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:424 ; 4-byte Folded Reload
+; GFX9-NEXT: v_lshlrev_b32_e32 v22, 16, v22
+; GFX9-NEXT: v_perm_b32 v19, v45, v19, s5
+; GFX9-NEXT: v_or_b32_sdwa v19, v22, v19 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_perm_b32 v20, v54, v20, s5
+; GFX9-NEXT: v_lshlrev_b32_e32 v23, 16, v23
+; GFX9-NEXT: v_or_b32_sdwa v17, v23, v17 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:696 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:404 ; 4-byte Folded Reload
-; GFX9-NEXT: v_lshlrev_b32_e32 v20, 16, v20
-; GFX9-NEXT: v_perm_b32 v21, v46, v60, s5
-; GFX9-NEXT: v_or_b32_sdwa v16, v20, v21 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_perm_b32 v20, v57, v36, s5
-; GFX9-NEXT: buffer_load_dword v57, off, s[0:3], s32 offset:468 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:400 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v60, off, s[0:3], s32 offset:464 ; 4-byte Folded Reload
-; GFX9-NEXT: v_perm_b32 v17, v40, v17, s5
-; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v17
-; GFX9-NEXT: v_or_b32_sdwa v17, v17, v22 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:408 ; 4-byte Folded Reload
-; GFX9-NEXT: v_lshlrev_b32_e32 v20, 16, v20
-; GFX9-NEXT: v_perm_b32 v18, v48, v18, s5
-; GFX9-NEXT: v_or_b32_sdwa v18, v20, v18 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_perm_b32 v19, v51, v19, s5
+; GFX9-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:408 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:412 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v38, off, s[0:3], s32 offset:468 ; 4-byte Folded Reload
+; GFX9-NEXT: v_mov_b32_e32 v45, v58
+; GFX9-NEXT: v_mov_b32_e32 v54, v42
+; GFX9-NEXT: v_mov_b32_e32 v50, v60
+; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:488 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:492 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:496 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:680 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:448 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:688 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:452 ; 4-byte Folded Reload
-; GFX9-NEXT: v_mov_b32_e32 v51, v33
-; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:700 ; 4-byte Folded Reload
-; GFX9-NEXT: v_mov_b32_e32 v48, v54
-; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:476 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:696 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(14)
-; GFX9-NEXT: v_perm_b32 v20, v59, v32, s5
-; GFX9-NEXT: v_lshlrev_b32_e32 v20, 16, v20
-; GFX9-NEXT: v_or_b32_sdwa v19, v20, v19 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: s_waitcnt vmcnt(11)
-; GFX9-NEXT: v_perm_b32 v23, v58, v23, s5
-; GFX9-NEXT: v_perm_b32 v24, v47, v24, s5
-; GFX9-NEXT: v_perm_b32 v27, v27, v63, s4
-; GFX9-NEXT: buffer_load_dword v59, off, s[0:3], s32 offset:456 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:460 ; 4-byte Folded Reload
-; GFX9-NEXT: v_mov_b32_e32 v58, v49
+; GFX9-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:668 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(12)
-; GFX9-NEXT: v_perm_b32 v20, v54, v57, s5
-; GFX9-NEXT: v_lshlrev_b32_e32 v20, 16, v20
+; GFX9-NEXT: v_perm_b32 v22, v60, v40, s5
+; GFX9-NEXT: v_lshlrev_b32_e32 v22, 16, v22
+; GFX9-NEXT: v_or_b32_sdwa v20, v22, v20 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: s_waitcnt vmcnt(11)
+; GFX9-NEXT: v_perm_b32 v22, v58, v21, s5
+; GFX9-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:400 ; 4-byte Folded Reload
+; GFX9-NEXT: v_lshlrev_b32_e32 v22, 16, v22
+; GFX9-NEXT: v_mov_b32_e32 v60, v40
; GFX9-NEXT: s_waitcnt vmcnt(11)
-; GFX9-NEXT: v_perm_b32 v21, v50, v21, s5
-; GFX9-NEXT: v_or_b32_sdwa v20, v20, v21 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_mov_b32_e32 v58, v29
; GFX9-NEXT: s_waitcnt vmcnt(10)
-; GFX9-NEXT: v_perm_b32 v21, v33, v60, s5
-; GFX9-NEXT: v_lshlrev_b32_e32 v21, 16, v21
+; GFX9-NEXT: v_perm_b32 v23, v32, v23, s5
; GFX9-NEXT: s_waitcnt vmcnt(9)
-; GFX9-NEXT: v_perm_b32 v22, v25, v22, s5
-; GFX9-NEXT: v_or_b32_sdwa v21, v21, v22 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:420 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:416 ; 4-byte Folded Reload
-; GFX9-NEXT: v_mov_b32_e32 v50, v37
-; GFX9-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:664 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v54, off, s[0:3], s32 offset:644 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(10)
-; GFX9-NEXT: v_mov_b32_e32 v62, v30
-; GFX9-NEXT: s_waitcnt vmcnt(7)
-; GFX9-NEXT: v_mov_b32_e32 v47, v26
-; GFX9-NEXT: v_perm_b32 v26, v44, v26, s5
-; GFX9-NEXT: s_waitcnt vmcnt(6)
-; GFX9-NEXT: v_mov_b32_e32 v42, v29
-; GFX9-NEXT: v_mov_b32_e32 v44, v45
-; GFX9-NEXT: s_waitcnt vmcnt(3)
-; GFX9-NEXT: v_perm_b32 v22, v37, v22, s5
-; GFX9-NEXT: v_lshlrev_b32_e32 v22, 16, v22
-; GFX9-NEXT: v_or_b32_sdwa v22, v22, v23 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:424 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(3)
+; GFX9-NEXT: v_perm_b32 v24, v33, v24, s5
+; GFX9-NEXT: s_waitcnt vmcnt(8)
; GFX9-NEXT: v_perm_b32 v25, v25, v61, s4
-; GFX9-NEXT: v_mov_b32_e32 v61, v41
-; GFX9-NEXT: v_mov_b32_e32 v37, v28
+; GFX9-NEXT: v_mov_b32_e32 v61, v51
+; GFX9-NEXT: v_mov_b32_e32 v33, v48
+; GFX9-NEXT: s_waitcnt vmcnt(6)
+; GFX9-NEXT: v_mov_b32_e32 v36, v28
+; GFX9-NEXT: v_perm_b32 v28, v29, v28, s5
+; GFX9-NEXT: s_waitcnt vmcnt(4)
+; GFX9-NEXT: v_mov_b32_e32 v32, v26
+; GFX9-NEXT: v_perm_b32 v26, v47, v26, s5
; GFX9-NEXT: s_waitcnt vmcnt(2)
-; GFX9-NEXT: v_mov_b32_e32 v38, v33
+; GFX9-NEXT: v_mov_b32_e32 v34, v30
+; GFX9-NEXT: v_mov_b32_e32 v39, v31
+; GFX9-NEXT: v_mov_b32_e32 v47, v53
+; GFX9-NEXT: s_waitcnt vmcnt(1)
+; GFX9-NEXT: v_mov_b32_e32 v55, v35
+; GFX9-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:692 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_mov_b32_e32 v56, v54
+; GFX9-NEXT: v_perm_b32 v21, v43, v21, s5
+; GFX9-NEXT: v_or_b32_sdwa v21, v22, v21 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:432 ; 4-byte Folded Reload
+; GFX9-NEXT: v_mov_b32_e32 v43, v27
+; GFX9-NEXT: v_perm_b32 v27, v27, v44, s4
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_perm_b32 v22, v42, v22, s5
+; GFX9-NEXT: v_lshlrev_b32_e32 v22, 16, v22
+; GFX9-NEXT: v_or_b32_sdwa v22, v22, v23 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:436 ; 4-byte Folded Reload
+; GFX9-NEXT: v_mov_b32_e32 v42, v44
+; GFX9-NEXT: v_mov_b32_e32 v44, v63
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v23, v55, v23, s5
+; GFX9-NEXT: v_perm_b32 v23, v52, v23, s5
; GFX9-NEXT: v_lshlrev_b32_e32 v23, 16, v23
; GFX9-NEXT: v_or_b32_sdwa v23, v23, v24 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:432 ; 4-byte Folded Reload
-; GFX9-NEXT: v_mov_b32_e32 v55, v63
+; GFX9-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:440 ; 4-byte Folded Reload
+; GFX9-NEXT: v_mov_b32_e32 v52, v29
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v24, v24, v49, s4
+; GFX9-NEXT: v_perm_b32 v24, v24, v48, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v24, 16, v24
; GFX9-NEXT: v_or_b32_sdwa v24, v24, v25 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:440 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:448 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v25, v25, v41, s4
+; GFX9-NEXT: v_perm_b32 v25, v25, v51, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v25, 16, v25
; GFX9-NEXT: v_or_b32_sdwa v25, v25, v26 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:436 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:648 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_perm_b32 v26, v26, v45, s4
+; GFX9-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:452 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_perm_b32 v26, v26, v53, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v26, 16, v26
; GFX9-NEXT: v_or_b32_sdwa v26, v26, v27 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:428 ; 4-byte Folded Reload
-; GFX9-NEXT: v_mov_b32_e32 v45, v31
+; GFX9-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:444 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:660 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_perm_b32 v54, v41, v54, s5
-; GFX9-NEXT: v_mov_b32_e32 v52, v41
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v27, v27, v28, s4
-; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:676 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v27, v27, v63, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v27, 16, v27
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_mov_b32_e32 v53, v28
-; GFX9-NEXT: v_perm_b32 v28, v29, v28, s5
; GFX9-NEXT: v_or_b32_sdwa v27, v27, v28 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:668 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:692 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:484 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_mov_b32_e32 v35, v28
+; GFX9-NEXT: v_mov_b32_e32 v46, v53
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_mov_b32_e32 v39, v29
+; GFX9-NEXT: v_mov_b32_e32 v37, v28
; GFX9-NEXT: v_perm_b32 v28, v28, v29, s4
; GFX9-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:684 ; 4-byte Folded Reload
; GFX9-NEXT: v_lshlrev_b32_e32 v28, 16, v28
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_mov_b32_e32 v34, v29
+; GFX9-NEXT: v_mov_b32_e32 v62, v29
; GFX9-NEXT: v_perm_b32 v29, v29, v30, s4
-; GFX9-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:656 ; 4-byte Folded Reload
; GFX9-NEXT: v_or_b32_sdwa v28, v28, v29 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_perm_b32 v29, v46, v59, s4
+; GFX9-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:428 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:420 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_perm_b32 v29, v30, v29, s4
+; GFX9-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:672 ; 4-byte Folded Reload
; GFX9-NEXT: v_lshlrev_b32_e32 v29, 16, v29
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_mov_b32_e32 v63, v30
+; GFX9-NEXT: v_mov_b32_e32 v49, v30
; GFX9-NEXT: v_perm_b32 v30, v31, v30, s5
; GFX9-NEXT: v_or_b32_sdwa v29, v29, v30 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:672 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:652 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:676 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:416 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_mov_b32_e32 v49, v30
-; GFX9-NEXT: v_perm_b32 v30, v43, v30, s4
+; GFX9-NEXT: v_mov_b32_e32 v51, v31
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_perm_b32 v30, v30, v31, s4
+; GFX9-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:652 ; 4-byte Folded Reload
; GFX9-NEXT: v_lshlrev_b32_e32 v30, 16, v30
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_mov_b32_e32 v36, v31
-; GFX9-NEXT: v_perm_b32 v31, v31, v33, s4
+; GFX9-NEXT: v_mov_b32_e32 v48, v31
+; GFX9-NEXT: v_perm_b32 v31, v31, v35, s4
; GFX9-NEXT: v_or_b32_sdwa v30, v30, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:660 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_mov_b32_e32 v33, v31
-; GFX9-NEXT: v_perm_b32 v31, v40, v31, s4
+; GFX9-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:664 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:656 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(1)
+; GFX9-NEXT: v_mov_b32_e32 v63, v31
+; GFX9-NEXT: v_perm_b32 v31, v38, v31, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v31, 16, v31
-; GFX9-NEXT: v_or_b32_sdwa v31, v31, v54 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_mov_b32_e32 v56, v35
+; GFX9-NEXT: v_perm_b32 v35, v53, v35, s5
+; GFX9-NEXT: v_or_b32_sdwa v31, v31, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: s_mov_b64 s[4:5], 0
-; GFX9-NEXT: v_mov_b32_e32 v54, v40
+; GFX9-NEXT: v_mov_b32_e32 v53, v57
+; GFX9-NEXT: v_mov_b32_e32 v35, v38
; GFX9-NEXT: s_branch .LBB97_3
; GFX9-NEXT: .LBB97_2:
-; GFX9-NEXT: v_mov_b32_e32 v48, v54
-; GFX9-NEXT: buffer_load_dword v54, off, s[0:3], s32 offset:448 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:472 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:452 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:460 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v57, off, s[0:3], s32 offset:468 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v59, off, s[0:3], s32 offset:456 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v60, off, s[0:3], s32 offset:464 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:476 ; 4-byte Folded Reload
-; GFX9-NEXT: v_mov_b32_e32 v52, v0
-; GFX9-NEXT: v_mov_b32_e32 v56, v20
-; GFX9-NEXT: v_mov_b32_e32 v62, v8
-; GFX9-NEXT: v_mov_b32_e32 v42, v9
+; GFX9-NEXT: v_mov_b32_e32 v39, v51
+; GFX9-NEXT: v_mov_b32_e32 v51, v53
+; GFX9-NEXT: v_mov_b32_e32 v50, v60
+; GFX9-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:480 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v59, off, s[0:3], s32 offset:476 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:468 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v60, off, s[0:3], s32 offset:472 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v36, off, s[0:3], s32 offset:488 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:492 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:496 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v37, off, s[0:3], s32 offset:484 ; 4-byte Folded Reload
+; GFX9-NEXT: v_mov_b32_e32 v46, v0
+; GFX9-NEXT: v_mov_b32_e32 v56, v22
; GFX9-NEXT: v_mov_b32_e32 v34, v6
-; GFX9-NEXT: v_mov_b32_e32 v38, v1
-; GFX9-NEXT: v_mov_b32_e32 v53, v24
-; GFX9-NEXT: v_mov_b32_e32 v36, v21
-; GFX9-NEXT: v_mov_b32_e32 v39, v33
-; GFX9-NEXT: v_mov_b32_e32 v33, v63
-; GFX9-NEXT: v_mov_b32_e32 v63, v22
-; GFX9-NEXT: v_mov_b32_e32 v37, v2
-; GFX9-NEXT: v_mov_b32_e32 v35, v23
-; GFX9-NEXT: v_mov_b32_e32 v58, v3
-; GFX9-NEXT: v_mov_b32_e32 v50, v7
-; GFX9-NEXT: v_mov_b32_e32 v51, v5
+; GFX9-NEXT: v_mov_b32_e32 v62, v2
+; GFX9-NEXT: v_mov_b32_e32 v55, v1
+; GFX9-NEXT: v_mov_b32_e32 v49, v23
+; GFX9-NEXT: v_mov_b32_e32 v54, v5
+; GFX9-NEXT: v_mov_b32_e32 v45, v4
; GFX9-NEXT: s_mov_b64 s[4:5], -1
; GFX9-NEXT: ; implicit-def: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15
; GFX9-NEXT: ; implicit-def: $vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31
; GFX9-NEXT: .LBB97_3: ; %Flow
+; GFX9-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:456 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:460 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v57, off, s[0:3], s32 offset:464 ; 4-byte Folded Reload
; GFX9-NEXT: s_and_b64 s[4:5], s[4:5], exec
; GFX9-NEXT: s_cselect_b32 s4, 1, 0
; GFX9-NEXT: s_cmp_lg_u32 s4, 1
; GFX9-NEXT: s_cbranch_scc1 .LBB97_5
; GFX9-NEXT: ; %bb.4: ; %cmp.true
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:428 ; 4-byte Folded Reload
-; GFX9-NEXT: v_add_u32_e32 v0, 3, v52
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:416 ; 4-byte Folded Reload
+; GFX9-NEXT: v_add_u32_e32 v0, 3, v46
; GFX9-NEXT: s_mov_b32 s5, 0xc0c0004
; GFX9-NEXT: v_perm_b32 v0, v0, v56, s5
-; GFX9-NEXT: v_add_u32_e32 v0, 0x300, v0
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:448 ; 4-byte Folded Spill
-; GFX9-NEXT: v_add_u32_e32 v0, 3, v33
+; GFX9-NEXT: v_add_u32_e32 v38, 0x300, v0
+; GFX9-NEXT: v_add_u32_e32 v0, 3, v63
; GFX9-NEXT: s_movk_i32 s4, 0x300
; GFX9-NEXT: s_waitcnt vmcnt(9)
-; GFX9-NEXT: v_perm_b32 v0, v0, v54, s5
-; GFX9-NEXT: v_add_u32_sdwa v0, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:452 ; 4-byte Folded Spill
-; GFX9-NEXT: v_add_u32_e32 v0, 3, v38
-; GFX9-NEXT: v_perm_b32 v0, v0, v36, s5
-; GFX9-NEXT: v_add_u32_e32 v36, 0x300, v0
-; GFX9-NEXT: v_add_u32_e32 v0, 3, v49
-; GFX9-NEXT: s_waitcnt vmcnt(8)
-; GFX9-NEXT: v_perm_b32 v0, v0, v43, s5
-; GFX9-NEXT: v_add_u32_sdwa v38, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-; GFX9-NEXT: v_add_u32_e32 v0, 3, v45
-; GFX9-NEXT: v_perm_b32 v0, v0, v63, s5
-; GFX9-NEXT: v_add_u32_e32 v0, 0x300, v0
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:456 ; 4-byte Folded Spill
-; GFX9-NEXT: s_waitcnt vmcnt(6)
-; GFX9-NEXT: v_add_u32_e32 v0, 3, v59
-; GFX9-NEXT: v_perm_b32 v0, v0, v46, s5
-; GFX9-NEXT: v_add_u32_sdwa v0, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:460 ; 4-byte Folded Spill
-; GFX9-NEXT: v_add_u32_e32 v0, 3, v62
-; GFX9-NEXT: v_perm_b32 v0, v0, v34, s5
-; GFX9-NEXT: v_add_u32_e32 v31, 0x300, v0
-; GFX9-NEXT: v_add_u32_e32 v0, 3, v39
; GFX9-NEXT: v_perm_b32 v0, v0, v35, s5
-; GFX9-NEXT: v_add_u32_sdwa v35, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-; GFX9-NEXT: v_add_u32_e32 v0, 3, v42
-; GFX9-NEXT: v_perm_b32 v0, v0, v53, s5
-; GFX9-NEXT: v_add_u32_e32 v30, 0x300, v0
-; GFX9-NEXT: v_add_u32_e32 v0, 3, v37
+; GFX9-NEXT: v_add_u32_sdwa v0, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:468 ; 4-byte Folded Spill
+; GFX9-NEXT: v_add_u32_e32 v0, 3, v55
+; GFX9-NEXT: v_perm_b32 v0, v0, v48, s5
+; GFX9-NEXT: v_add_u32_e32 v48, 0x300, v0
+; GFX9-NEXT: v_add_u32_e32 v0, 3, v51
; GFX9-NEXT: s_add_i32 s74, s74, 3
; GFX9-NEXT: s_add_i32 s72, s72, 3
; GFX9-NEXT: s_add_i32 s56, s56, 3
@@ -197087,118 +197073,145 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; GFX9-NEXT: s_add_i32 s20, s20, 3
; GFX9-NEXT: s_add_i32 s22, s22, 3
; GFX9-NEXT: s_add_i32 s16, s16, 3
-; GFX9-NEXT: v_mov_b32_e32 v33, s17
; GFX9-NEXT: s_add_i32 s18, s18, 3
-; GFX9-NEXT: v_mov_b32_e32 v34, s19
-; GFX9-NEXT: s_waitcnt vmcnt(4)
+; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_perm_b32 v0, v0, v1, s5
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:444 ; 4-byte Folded Reload
-; GFX9-NEXT: v_add_u32_sdwa v29, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-; GFX9-NEXT: v_add_u32_e32 v0, 3, v55
+; GFX9-NEXT: v_add_u32_sdwa v0, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:416 ; 4-byte Folded Spill
+; GFX9-NEXT: v_add_u32_e32 v0, 3, v39
+; GFX9-NEXT: v_perm_b32 v0, v0, v49, s5
+; GFX9-NEXT: v_add_u32_e32 v31, 0x300, v0
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:428 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:420 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(1)
+; GFX9-NEXT: v_add_u32_e32 v0, 3, v0
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v0, v1, s5
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:436 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:444 ; 4-byte Folded Reload
+; GFX9-NEXT: v_add_u32_sdwa v35, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+; GFX9-NEXT: v_add_u32_e32 v0, 3, v34
+; GFX9-NEXT: v_perm_b32 v0, v0, v62, s5
+; GFX9-NEXT: v_add_u32_e32 v30, 0x300, v0
+; GFX9-NEXT: v_add_u32_e32 v0, 3, v52
+; GFX9-NEXT: v_perm_b32 v0, v0, v37, s5
+; GFX9-NEXT: v_add_u32_sdwa v29, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+; GFX9-NEXT: v_add_u32_e32 v0, 3, v58
+; GFX9-NEXT: v_perm_b32 v0, v0, v36, s5
; GFX9-NEXT: v_add_u32_e32 v28, 0x300, v0
; GFX9-NEXT: v_add_u32_e32 v0, 3, v44
+; GFX9-NEXT: v_mov_b32_e32 v34, s19
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v0, v1, s5
-; GFX9-NEXT: v_add_u32_sdwa v27, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:636 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:440 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:452 ; 4-byte Folded Reload
+; GFX9-NEXT: v_add_u32_sdwa v36, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+; GFX9-NEXT: v_add_u32_e32 v0, 3, v42
+; GFX9-NEXT: v_perm_b32 v0, v0, v43, s5
+; GFX9-NEXT: v_add_u32_e32 v27, 0x300, v0
+; GFX9-NEXT: v_add_u32_e32 v0, 3, v47
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_perm_b32 v0, v0, v1, s5
+; GFX9-NEXT: v_add_u32_sdwa v37, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:648 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:448 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_add_u32_e32 v0, 3, v0
-; GFX9-NEXT: v_perm_b32 v0, v0, v47, s5
+; GFX9-NEXT: v_perm_b32 v0, v0, v32, s5
; GFX9-NEXT: v_add_u32_e32 v26, 0x300, v0
; GFX9-NEXT: v_add_u32_e32 v0, 3, v61
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v0, v1, s5
; GFX9-NEXT: v_add_u32_sdwa v25, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:632 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:644 ; 4-byte Folded Reload
; GFX9-NEXT: v_or_b32_sdwa v25, v25, v26 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_or_b32_sdwa v26, v27, v28 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_or_b32_sdwa v27, v29, v30 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_or_b32_sdwa v28, v35, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:456 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:460 ; 4-byte Folded Reload
+; GFX9-NEXT: v_or_b32_sdwa v26, v37, v27 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_or_b32_sdwa v27, v36, v28 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_or_b32_sdwa v28, v29, v30 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_or_b32_sdwa v29, v35, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_mov_b32_e32 v32, s23
+; GFX9-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:468 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:416 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(2)
; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:416 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:412 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(2)
+; GFX9-NEXT: v_or_b32_sdwa v31, v31, v38 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_or_b32_sdwa v29, v30, v29 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: v_or_b32_sdwa v30, v38, v36 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_or_b32_sdwa v30, v30, v48 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:432 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:440 ; 4-byte Folded Reload
; GFX9-NEXT: v_add_u32_e32 v24, 0x300, v0
-; GFX9-NEXT: v_add_u32_e32 v0, 3, v58
+; GFX9-NEXT: v_add_u32_e32 v0, 3, v33
+; GFX9-NEXT: v_mov_b32_e32 v33, s17
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v0, v1, s5
; GFX9-NEXT: v_add_u32_sdwa v39, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:628 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:640 ; 4-byte Folded Reload
; GFX9-NEXT: v_or_b32_sdwa v24, v39, v24 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:412 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:408 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
; GFX9-NEXT: v_add_u32_e32 v23, 0x300, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:624 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:424 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:636 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:436 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_add_u32_e32 v0, 3, v0
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v0, v1, s5
; GFX9-NEXT: v_add_u32_sdwa v63, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:620 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:632 ; 4-byte Folded Reload
; GFX9-NEXT: v_or_b32_sdwa v23, v63, v23 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:404 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:420 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:432 ; 4-byte Folded Reload
; GFX9-NEXT: v_add_u32_e32 v22, 0x300, v0
-; GFX9-NEXT: v_add_u32_e32 v0, 3, v50
+; GFX9-NEXT: v_add_u32_e32 v0, 3, v54
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v0, v1, s5
; GFX9-NEXT: v_add_u32_sdwa v49, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:616 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:628 ; 4-byte Folded Reload
; GFX9-NEXT: v_or_b32_sdwa v22, v49, v22 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:408 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:400 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:424 ; 4-byte Folded Reload
; GFX9-NEXT: v_add_u32_e32 v21, 0x300, v0
-; GFX9-NEXT: v_add_u32_e32 v0, 3, v51
-; GFX9-NEXT: v_perm_b32 v0, v0, v60, s5
-; GFX9-NEXT: v_add_u32_sdwa v50, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:612 ; 4-byte Folded Reload
-; GFX9-NEXT: v_or_b32_sdwa v21, v50, v21 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_add_u32_e32 v0, 3, v45
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_perm_b32 v0, v0, v1, s5
+; GFX9-NEXT: v_add_u32_sdwa v62, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:620 ; 4-byte Folded Reload
+; GFX9-NEXT: v_or_b32_sdwa v21, v62, v21 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:400 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:624 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
; GFX9-NEXT: v_add_u32_e32 v20, 0x300, v0
-; GFX9-NEXT: v_add_u32_e32 v0, 3, v48
-; GFX9-NEXT: v_perm_b32 v0, v0, v57, s5
+; GFX9-NEXT: v_add_u32_e32 v0, 3, v50
+; GFX9-NEXT: v_perm_b32 v0, v0, v60, s5
; GFX9-NEXT: v_add_u32_sdwa v51, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:604 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:612 ; 4-byte Folded Reload
; GFX9-NEXT: v_or_b32_sdwa v20, v51, v20 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:608 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:616 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
; GFX9-NEXT: v_add_u32_e32 v19, 0x300, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:640 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:608 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u32_e32 v0, 3, v0
-; GFX9-NEXT: v_perm_b32 v0, v0, v32, s5
+; GFX9-NEXT: v_perm_b32 v0, v0, v59, s5
; GFX9-NEXT: v_add_u32_sdwa v52, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:596 ; 4-byte Folded Reload
-; GFX9-NEXT: v_mov_b32_e32 v32, s23
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:604 ; 4-byte Folded Reload
; GFX9-NEXT: v_or_b32_sdwa v19, v52, v19 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
@@ -197206,117 +197219,109 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
; GFX9-NEXT: v_add_u32_e32 v18, 0x300, v0
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:596 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_add_u32_e32 v0, 3, v0
+; GFX9-NEXT: v_perm_b32 v0, v0, v53, s5
+; GFX9-NEXT: v_add_u32_sdwa v53, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:592 ; 4-byte Folded Reload
+; GFX9-NEXT: v_or_b32_sdwa v18, v53, v18 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:588 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
-; GFX9-NEXT: v_add_u32_sdwa v62, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:584 ; 4-byte Folded Reload
-; GFX9-NEXT: v_or_b32_sdwa v18, v62, v18 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:580 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
; GFX9-NEXT: v_add_u32_e32 v17, 0x300, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:568 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:564 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:576 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
+; GFX9-NEXT: v_add_u32_e32 v0, 3, v0
+; GFX9-NEXT: v_perm_b32 v0, v0, v57, s5
; GFX9-NEXT: v_add_u32_sdwa v54, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:576 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:584 ; 4-byte Folded Reload
; GFX9-NEXT: v_or_b32_sdwa v17, v54, v17 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:572 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:580 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
; GFX9-NEXT: v_add_u32_e32 v16, 0x300, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:560 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:556 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:572 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
+; GFX9-NEXT: v_add_u32_e32 v0, 3, v0
+; GFX9-NEXT: v_perm_b32 v0, v0, v40, s5
; GFX9-NEXT: v_add_u32_sdwa v55, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:552 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:532 ; 4-byte Folded Reload
; GFX9-NEXT: v_or_b32_sdwa v16, v55, v16 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:548 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:524 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
; GFX9-NEXT: v_add_u32_e32 v15, 0x300, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:544 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:528 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:556 ; 4-byte Folded Reload
+; GFX9-NEXT: v_add_u32_e32 v1, 3, v41
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
; GFX9-NEXT: v_add_u32_sdwa v40, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:496 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:516 ; 4-byte Folded Reload
; GFX9-NEXT: v_or_b32_sdwa v15, v40, v15 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:500 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:520 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
; GFX9-NEXT: v_add_u32_e32 v14, 0x300, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:532 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:560 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:516 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:544 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
; GFX9-NEXT: v_add_u32_sdwa v41, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:492 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:512 ; 4-byte Folded Reload
; GFX9-NEXT: v_or_b32_sdwa v14, v41, v14 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:536 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:564 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
; GFX9-NEXT: v_add_u32_e32 v13, 0x300, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:520 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:548 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:508 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:536 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
; GFX9-NEXT: v_add_u32_sdwa v42, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:540 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:568 ; 4-byte Folded Reload
; GFX9-NEXT: v_or_b32_sdwa v13, v42, v13 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:524 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:552 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
; GFX9-NEXT: v_add_u32_e32 v12, 0x300, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:512 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:540 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u32_e32 v1, 3, v0
-; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:504 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:528 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v0, v1, v0, s5
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:488 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:508 ; 4-byte Folded Reload
; GFX9-NEXT: v_add_u32_sdwa v43, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
; GFX9-NEXT: v_mov_b32_e32 v0, 0xc0c0004
; GFX9-NEXT: v_perm_b32 v32, s22, v32, v0
-; GFX9-NEXT: v_add_u32_sdwa v32, v32, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
; GFX9-NEXT: v_perm_b32 v33, s16, v33, v0
+; GFX9-NEXT: v_add_u32_sdwa v32, v32, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
; GFX9-NEXT: v_add_u32_e32 v33, 0x300, v33
; GFX9-NEXT: v_or_b32_sdwa v12, v43, v12 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, s74, v1, v0
; GFX9-NEXT: v_add_u32_e32 v11, 0x300, v1
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:484 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:504 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_add_u32_e32 v2, 3, v1
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:480 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:500 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v2, v1, s5
; GFX9-NEXT: v_add_u32_sdwa v44, v1, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
@@ -197376,13 +197381,11 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; GFX9-NEXT: v_add_u32_sdwa v61, v1, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
; GFX9-NEXT: v_mov_b32_e32 v1, s21
; GFX9-NEXT: v_perm_b32 v1, s20, v1, v0
-; GFX9-NEXT: v_add_u32_e32 v1, 0x300, v1
-; GFX9-NEXT: v_or_b32_sdwa v1, v32, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:448 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:452 ; 4-byte Folded Reload
; GFX9-NEXT: v_perm_b32 v0, s18, v34, v0
+; GFX9-NEXT: v_add_u32_e32 v1, 0x300, v1
; GFX9-NEXT: v_add_u32_sdwa v0, v0, s4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
; GFX9-NEXT: v_or_b32_sdwa v0, v0, v33 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+; GFX9-NEXT: v_or_b32_sdwa v1, v32, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: v_or_b32_sdwa v2, v61, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: v_or_b32_sdwa v3, v60, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: v_or_b32_sdwa v4, v59, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
@@ -197393,8 +197396,6 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; GFX9-NEXT: v_or_b32_sdwa v9, v46, v9 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: v_or_b32_sdwa v10, v45, v10 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: v_or_b32_sdwa v11, v44, v11 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_or_b32_sdwa v31, v32, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
; GFX9-NEXT: .LBB97_5: ; %end
; GFX9-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:336 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:340 ; 4-byte Folded Reload
@@ -197419,131 +197420,131 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; GFX11-TRUE16: ; %bb.0:
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
; GFX11-TRUE16-NEXT: s_clause 0x1f
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v133, off, s32 offset:312
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v166, off, s32 offset:308
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v161, off, s32 offset:304
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v180, off, s32 offset:300
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v129, off, s32 offset:296
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v165, off, s32 offset:292
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v178, off, s32 offset:288
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v182, off, s32 offset:284
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v102, off, s32 offset:280
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v160, off, s32 offset:276
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v163, off, s32 offset:272
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v181, off, s32 offset:268
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v132, off, s32 offset:264
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v162, off, s32 offset:260
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v150, off, s32 offset:256
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v179, off, s32 offset:252
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v101, off, s32 offset:248
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v149, off, s32 offset:244
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v146, off, s32 offset:240
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v177, off, s32 offset:236
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v87, off, s32 offset:232
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v144, off, s32 offset:228
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v128, off, s32 offset:224
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v167, off, s32 offset:220
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v82, off, s32 offset:216
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v131, off, s32 offset:212
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v148, off, s32 offset:208
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v176, off, s32 offset:204
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v64, off, s32 offset:200
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v117, off, s32 offset:196
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v119, off, s32 offset:192
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v164, off, s32 offset:188
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v32, off, s32 offset:312
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v35, off, s32 offset:308
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v34, off, s32 offset:304
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v38, off, s32 offset:300
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v33, off, s32 offset:296
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v37, off, s32 offset:292
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v49, off, s32 offset:288
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v52, off, s32 offset:284
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v36, off, s32 offset:280
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v48, off, s32 offset:276
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v51, off, s32 offset:272
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v67, off, s32 offset:268
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v39, off, s32 offset:264
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v55, off, s32 offset:260
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v54, off, s32 offset:256
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v71, off, s32 offset:252
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v50, off, s32 offset:248
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v64, off, s32 offset:244
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v66, off, s32 offset:240
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v81, off, s32 offset:236
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v53, off, s32 offset:232
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v70, off, s32 offset:228
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v69, off, s32 offset:224
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v85, off, s32 offset:220
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v65, off, s32 offset:216
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v80, off, s32 offset:212
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v84, off, s32 offset:208
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v99, off, s32 offset:204
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v68, off, s32 offset:200
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v83, off, s32 offset:196
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v87, off, s32 offset:192
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v101, off, s32 offset:188
; GFX11-TRUE16-NEXT: s_clause 0x1f
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v85, off, s32 offset:184
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v118, off, s32 offset:180
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v115, off, s32 offset:176
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v151, off, s32 offset:172
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v55, off, s32 offset:168
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v113, off, s32 offset:164
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v100, off, s32 offset:160
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v147, off, s32 offset:156
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v52, off, s32 offset:152
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v98, off, s32 offset:148
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v81, off, s32 offset:144
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v135, off, s32 offset:140
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v49, off, s32 offset:136
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v84, off, s32 offset:132
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v112, off, s32 offset:128
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v145, off, s32 offset:124
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v36, off, s32 offset:120
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v69, off, s32 offset:116
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v80, off, s32 offset:112
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v130, off, s32 offset:108
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v51, off, s32 offset:104
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v71, off, s32 offset:100
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v67, off, s32 offset:96
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v116, off, s32 offset:92
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v35, off, s32 offset:88
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v66, off, s32 offset:84
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v54, off, s32 offset:80
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v103, off, s32 offset:76
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v34, off, s32 offset:72
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v53, off, s32 offset:68
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v48, off, s32 offset:64
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v97, off, s32 offset:60
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v82, off, s32 offset:184
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v98, off, s32 offset:180
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v97, off, s32 offset:176
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v115, off, s32 offset:172
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v86, off, s32 offset:168
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v100, off, s32 offset:164
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v103, off, s32 offset:160
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v117, off, s32 offset:156
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v96, off, s32 offset:152
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v114, off, s32 offset:148
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v113, off, s32 offset:144
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v129, off, s32 offset:140
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v102, off, s32 offset:136
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v116, off, s32 offset:132
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v128, off, s32 offset:128
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v135, off, s32 offset:124
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v112, off, s32 offset:120
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v119, off, s32 offset:116
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v131, off, s32 offset:112
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v145, off, s32 offset:108
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v118, off, s32 offset:104
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v134, off, s32 offset:100
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v133, off, s32 offset:96
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v151, off, s32 offset:92
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v130, off, s32 offset:88
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v144, off, s32 offset:84
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v147, off, s32 offset:80
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v161, off, s32 offset:76
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v132, off, s32 offset:72
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v150, off, s32 offset:68
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v149, off, s32 offset:64
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v164, off, s32 offset:60
; GFX11-TRUE16-NEXT: s_clause 0xf
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v33, off, s32 offset:56
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v50, off, s32 offset:52
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v65, off, s32 offset:48
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v99, off, s32 offset:44
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v32, off, s32 offset:40
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v38, off, s32 offset:36
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v39, off, s32 offset:32
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v83, off, s32 offset:28
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v146, off, s32 offset:56
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v160, off, s32 offset:52
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v163, off, s32 offset:48
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v166, off, s32 offset:44
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v148, off, s32 offset:40
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v162, off, s32 offset:36
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v165, off, s32 offset:32
; GFX11-TRUE16-NEXT: scratch_load_b32 v31, off, s32 offset:316
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v70, off, s32 offset:24
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v114, off, s32 offset:20
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v96, off, s32 offset:16
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v134, off, s32 offset:12
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v37, off, s32 offset:8
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v68, off, s32 offset:4
-; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v86, off, s32
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v182, off, s32 offset:28
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v177, off, s32 offset:24
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v180, off, s32 offset:20
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v179, off, s32 offset:16
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v181, off, s32 offset:12
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v167, off, s32 offset:8
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v176, off, s32 offset:4
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v178, off, s32
; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s74, v30
; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s10, v29
-; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s41, v28
-; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s42, v27
+; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s40, v28
+; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s41, v27
; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s73, v26
-; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s13, v25
+; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s14, v25
; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s46, v24
; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s47, v23
-; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s62, v22
+; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s61, v22
; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s11, v21
-; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s43, v20
-; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s44, v19
+; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s42, v20
+; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s43, v19
; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s59, v18
-; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s5, v17
+; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s6, v17
; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s56, v16
; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s57, v15
-; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s63, v14
-; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s6, v13
+; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s62, v14
+; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s7, v13
; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s12, v12
; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s58, v11
-; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s72, v10
-; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s7, v9
-; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s14, v8
-; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s15, v7
+; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s63, v10
+; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s4, v9
+; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s15, v8
+; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s44, v7
; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s60, v6
; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s8, v5
-; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s40, v4
+; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s13, v4
; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s45, v3
-; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s61, v2
-; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s4, v1
+; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s72, v2
+; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s5, v1
; GFX11-TRUE16-NEXT: v_readfirstlane_b32 s9, v0
; GFX11-TRUE16-NEXT: s_mov_b32 s75, 0
-; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(7)
+; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(8)
; GFX11-TRUE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v31
-; GFX11-TRUE16-NEXT: s_and_b32 s76, vcc_lo, exec_lo
+; GFX11-TRUE16-NEXT: s_cmp_lg_u32 vcc_lo, 0
; GFX11-TRUE16-NEXT: s_cbranch_scc0 .LBB97_2
; GFX11-TRUE16-NEXT: ; %bb.1: ; %cmp.false
; GFX11-TRUE16-NEXT: v_mov_b32_e32 v11, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b32_e32 v10, 0x6050400
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(5)
-; GFX11-TRUE16-NEXT: v_perm_b32 v14, v70, v114, 0x6050400
-; GFX11-TRUE16-NEXT: v_perm_b32 v15, v32, v38, 0x6050400
-; GFX11-TRUE16-NEXT: v_perm_b32 v16, v33, v50, 0x6050400
+; GFX11-TRUE16-NEXT: v_perm_b32 v14, v177, v180, 0x6050400
+; GFX11-TRUE16-NEXT: v_perm_b32 v15, v148, v162, 0x6050400
+; GFX11-TRUE16-NEXT: v_perm_b32 v16, v146, v160, 0x6050400
; GFX11-TRUE16-NEXT: v_perm_b32 v3, s2, s3, v11
; GFX11-TRUE16-NEXT: v_perm_b32 v5, s22, s23, v11
; GFX11-TRUE16-NEXT: v_perm_b32 v6, s26, s27, v11
@@ -197552,92 +197553,92 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; GFX11-TRUE16-NEXT: v_perm_b32 v2, s20, s21, v11
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v0.h, v3.l
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v2.h, v5.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v5, s9, s4, v11
+; GFX11-TRUE16-NEXT: v_perm_b32 v5, s9, s5, v11
; GFX11-TRUE16-NEXT: v_perm_b32 v3, s24, s25, v11
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v3.h, v6.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v6, s40, s8, v11
-; GFX11-TRUE16-NEXT: v_perm_b32 v7, s14, s7, v11
+; GFX11-TRUE16-NEXT: v_perm_b32 v6, s13, s8, v11
+; GFX11-TRUE16-NEXT: v_perm_b32 v7, s15, s4, v11
; GFX11-TRUE16-NEXT: v_perm_b32 v1, s16, s17, v11
-; GFX11-TRUE16-NEXT: v_perm_b32 v8, s12, s6, v11
+; GFX11-TRUE16-NEXT: v_perm_b32 v8, s12, s7, v11
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v1.h, v4.l
; GFX11-TRUE16-NEXT: v_perm_b32 v4, s28, s29, v11
-; GFX11-TRUE16-NEXT: v_perm_b32 v9, s5, s56, v10
+; GFX11-TRUE16-NEXT: v_perm_b32 v9, s6, s56, v10
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v4.h, v5.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v5, s61, s45, v11
-; GFX11-TRUE16-NEXT: v_perm_b32 v12, s11, s43, v10
+; GFX11-TRUE16-NEXT: v_perm_b32 v5, s72, s45, v11
+; GFX11-TRUE16-NEXT: v_perm_b32 v12, s11, s42, v10
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v5.h, v6.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v6, s60, s15, v11
-; GFX11-TRUE16-NEXT: v_perm_b32 v13, s13, s46, v10
+; GFX11-TRUE16-NEXT: v_perm_b32 v6, s60, s44, v11
+; GFX11-TRUE16-NEXT: v_perm_b32 v13, s14, s46, v10
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v6.h, v7.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v7, s72, s58, v11
+; GFX11-TRUE16-NEXT: v_perm_b32 v7, s63, s58, v11
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v7.h, v8.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v8, s57, s63, v10
+; GFX11-TRUE16-NEXT: v_perm_b32 v8, s57, s62, v10
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v8.h, v9.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v9, s59, s44, v11
+; GFX11-TRUE16-NEXT: v_perm_b32 v9, s59, s43, v11
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v9.h, v12.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v12, s10, s41, v10
-; GFX11-TRUE16-NEXT: v_perm_b32 v10, s47, s62, v10
+; GFX11-TRUE16-NEXT: v_perm_b32 v12, s10, s40, v10
+; GFX11-TRUE16-NEXT: v_perm_b32 v10, s47, s61, v10
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v10.h, v13.l
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(1)
-; GFX11-TRUE16-NEXT: v_perm_b32 v13, v37, v68, 0x6050400
-; GFX11-TRUE16-NEXT: v_perm_b32 v11, s73, s42, v11
+; GFX11-TRUE16-NEXT: v_perm_b32 v13, v167, v176, 0x6050400
+; GFX11-TRUE16-NEXT: v_perm_b32 v11, s73, s41, v11
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v11.h, v12.l
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0)
-; GFX11-TRUE16-NEXT: v_perm_b32 v12, v86, s74, 0x6050400
-; GFX11-TRUE16-NEXT: v_perm_b32 v17, v53, v34, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v12, v178, s74, 0x6050400
+; GFX11-TRUE16-NEXT: v_perm_b32 v17, v150, v132, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v12.h, v13.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v13, v134, v96, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v18, v66, v35, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v13, v181, v179, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v18, v144, v130, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v13.h, v14.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v14, v39, v83, 0x6050400
-; GFX11-TRUE16-NEXT: v_perm_b32 v19, v71, v51, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v14, v165, v182, 0x6050400
+; GFX11-TRUE16-NEXT: v_perm_b32 v19, v134, v118, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v14.h, v15.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v15, v99, v65, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v20, v69, v36, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v15, v166, v163, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v20, v119, v112, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v15.h, v16.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v16, v97, v48, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v21, v84, v49, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v16, v164, v149, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v21, v116, v102, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v16.h, v17.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v17, v103, v54, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v22, v98, v52, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v17, v161, v147, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v22, v114, v96, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v17.h, v18.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v18, v116, v67, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v23, v113, v55, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v18, v151, v133, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v23, v100, v86, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v18.h, v19.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v19, v130, v80, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v24, v118, v85, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v19, v145, v131, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v24, v98, v82, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v19.h, v20.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v20, v145, v112, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v25, v64, v117, 0x6050400
+; GFX11-TRUE16-NEXT: v_perm_b32 v20, v135, v128, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v25, v68, v83, 0x6050400
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v20.h, v21.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v21, v135, v81, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v26, v82, v131, 0x6050400
+; GFX11-TRUE16-NEXT: v_perm_b32 v21, v129, v113, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v26, v65, v80, 0x6050400
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v21.h, v22.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v22, v147, v100, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v27, v87, v144, 0x6050400
+; GFX11-TRUE16-NEXT: v_perm_b32 v22, v117, v103, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v27, v53, v70, 0x6050400
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v22.h, v23.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v23, v151, v115, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v28, v101, v149, 0x6050400
+; GFX11-TRUE16-NEXT: v_perm_b32 v23, v115, v97, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v28, v50, v64, 0x6050400
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v23.h, v24.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v24, v119, v164, 0x6050400
-; GFX11-TRUE16-NEXT: v_perm_b32 v29, v132, v162, 0x6050400
+; GFX11-TRUE16-NEXT: v_perm_b32 v24, v87, v101, 0x6050400
+; GFX11-TRUE16-NEXT: v_perm_b32 v29, v39, v55, 0x6050400
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v24.h, v25.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v25, v176, v148, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v30, v102, v160, 0x6050400
+; GFX11-TRUE16-NEXT: v_perm_b32 v25, v99, v84, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v30, v36, v48, 0x6050400
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v25.h, v26.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v26, v128, v167, 0x6050400
-; GFX11-TRUE16-NEXT: v_perm_b32 v31, v129, v165, 0x6050400
+; GFX11-TRUE16-NEXT: v_perm_b32 v26, v69, v85, 0x6050400
+; GFX11-TRUE16-NEXT: v_perm_b32 v31, v33, v37, 0x6050400
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v26.h, v27.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v27, v177, v146, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v183, v133, v166, 0x6050400
+; GFX11-TRUE16-NEXT: v_perm_b32 v27, v81, v66, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v183, v32, v35, 0x6050400
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v27.h, v28.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v28, v150, v179, 0x6050400
+; GFX11-TRUE16-NEXT: v_perm_b32 v28, v54, v71, 0x6050400
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v28.h, v29.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v29, v181, v163, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v29, v67, v51, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v29.h, v30.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v30, v178, v182, 0x6050400
+; GFX11-TRUE16-NEXT: v_perm_b32 v30, v49, v52, 0x6050400
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v30.h, v31.l
-; GFX11-TRUE16-NEXT: v_perm_b32 v31, v180, v161, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v31, v38, v34, 0xc0c0004
; GFX11-TRUE16-NEXT: v_mov_b16_e64 v31.h, v183.l
; GFX11-TRUE16-NEXT: s_branch .LBB97_3
; GFX11-TRUE16-NEXT: .LBB97_2:
@@ -197651,234 +197652,235 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; GFX11-TRUE16-NEXT: s_cmp_lg_u32 s75, 1
; GFX11-TRUE16-NEXT: s_cbranch_scc1 .LBB97_5
; GFX11-TRUE16-NEXT: ; %bb.4: ; %cmp.true
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v0, 3, v180
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v1, 3, v166
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v2, 3, v182
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v165
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v4, 3, v181
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, v0, v161, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v1, v1, v133, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v2, v2, v178, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v0, 3, v38
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v1, 3, v35
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v2, 3, v52
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v37
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v4, 3, v67
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, v0, v34, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v1, v1, v32, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v2, v2, v49, 0xc0c0004
; GFX11-TRUE16-NEXT: s_add_i32 s74, s74, 3
; GFX11-TRUE16-NEXT: s_add_i32 s59, s59, 3
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v31, 0x300, v0
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v133, 0x300, v1
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, v3, v129, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v1, 3, v160
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v32, 0x300, v1
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, v3, v33, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v1, 3, v48
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v30, 0x300, v2
-; GFX11-TRUE16-NEXT: v_perm_b32 v2, v4, v163, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v179
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v4, 3, v162
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v129, 0x300, v0
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, v1, v102, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v2, v4, v51, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v71
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v4, 3, v55
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v33, 0x300, v0
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, v1, v36, 0xc0c0004
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v29, 0x300, v2
-; GFX11-TRUE16-NEXT: v_perm_b32 v1, v3, v150, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v2, v4, v132, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v177
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v102, 0x300, v0
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v0, 3, v149
+; GFX11-TRUE16-NEXT: v_perm_b32 v1, v3, v54, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v2, v4, v39, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v81
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v34, 0x300, v0
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v0, 3, v64
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v28, 0x300, v1
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v132, 0x300, v2
-; GFX11-TRUE16-NEXT: v_perm_b32 v1, v3, v146, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v2, 3, v167
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, v0, v101, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v144
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v4, 3, v176
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v35, 0x300, v2
+; GFX11-TRUE16-NEXT: v_perm_b32 v1, v3, v66, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v2, 3, v85
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, v0, v50, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v70
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v4, 3, v99
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v27, 0x300, v1
-; GFX11-TRUE16-NEXT: v_perm_b32 v1, v2, v128, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v101, 0x300, v0
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, v3, v87, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v2, v4, v148, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v131
+; GFX11-TRUE16-NEXT: v_perm_b32 v1, v2, v69, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v36, 0x300, v0
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, v3, v53, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v2, v4, v84, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v80
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v26, 0x300, v1
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v1, 3, v164
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v87, 0x300, v0
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v1, 3, v101
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v37, 0x300, v0
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v25, 0x300, v2
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, v3, v82, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v2, 3, v117
-; GFX11-TRUE16-NEXT: v_perm_b32 v1, v1, v119, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v151
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v4, 3, v118
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v82, 0x300, v0
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, v2, v64, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, v3, v65, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v2, 3, v83
+; GFX11-TRUE16-NEXT: v_perm_b32 v1, v1, v87, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v115
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v4, 3, v98
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v38, 0x300, v0
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, v2, v68, 0xc0c0004
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v24, 0x300, v1
-; GFX11-TRUE16-NEXT: v_perm_b32 v1, v3, v115, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v2, v4, v85, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v147
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v64, 0x300, v0
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v0, 3, v113
+; GFX11-TRUE16-NEXT: v_perm_b32 v1, v3, v97, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v2, v4, v82, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v117
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v39, 0x300, v0
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v0, 3, v100
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v23, 0x300, v1
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v85, 0x300, v2
-; GFX11-TRUE16-NEXT: v_perm_b32 v1, v3, v100, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v2, 3, v135
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, v0, v55, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v98
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v4, 3, v145
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v48, 0x300, v2
+; GFX11-TRUE16-NEXT: v_perm_b32 v1, v3, v103, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v2, 3, v129
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, v0, v86, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v114
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v4, 3, v135
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v22, 0x300, v1
-; GFX11-TRUE16-NEXT: v_perm_b32 v1, v2, v81, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v55, 0x300, v0
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, v3, v52, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v2, v4, v112, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v84
+; GFX11-TRUE16-NEXT: v_perm_b32 v1, v2, v113, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v49, 0x300, v0
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, v3, v96, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v2, v4, v128, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v116
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v21, 0x300, v1
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v1, 3, v130
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v52, 0x300, v0
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v1, 3, v145
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v50, 0x300, v0
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v20, 0x300, v2
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, v3, v49, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v2, 3, v69
-; GFX11-TRUE16-NEXT: v_perm_b32 v1, v1, v80, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v116
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v4, 3, v71
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v49, 0x300, v0
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, v2, v36, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, v3, v102, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v2, 3, v119
+; GFX11-TRUE16-NEXT: v_perm_b32 v1, v1, v131, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v151
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v4, 3, v134
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v51, 0x300, v0
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, v2, v112, 0xc0c0004
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v19, 0x300, v1
-; GFX11-TRUE16-NEXT: v_perm_b32 v1, v3, v67, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v2, v4, v51, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v103
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v36, 0x300, v0
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v0, 3, v66
+; GFX11-TRUE16-NEXT: v_perm_b32 v1, v3, v133, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v2, v4, v118, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v161
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v52, 0x300, v0
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v0, 3, v144
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v18, 0x300, v1
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v51, 0x300, v2
-; GFX11-TRUE16-NEXT: v_perm_b32 v1, v3, v54, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v2, 3, v97
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, v0, v35, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v53
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v4, 3, v99
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v53, 0x300, v2
+; GFX11-TRUE16-NEXT: v_perm_b32 v1, v3, v147, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v2, 3, v164
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, v0, v130, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v150
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v4, 3, v166
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v17, 0x300, v1
-; GFX11-TRUE16-NEXT: v_perm_b32 v1, v2, v48, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v35, 0x300, v0
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, v3, v34, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v2, v4, v65, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v50
+; GFX11-TRUE16-NEXT: v_perm_b32 v1, v2, v149, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v54, 0x300, v0
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, v3, v132, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v2, v4, v163, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v160
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v16, 0x300, v1
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v1, 3, v83
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v34, 0x300, v0
+; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(7)
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v1, 3, v182
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v55, 0x300, v0
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v15, 0x300, v2
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, v3, v33, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v2, 3, v38
-; GFX11-TRUE16-NEXT: v_perm_b32 v1, v1, v39, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, v3, v146, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v2, 3, v162
+; GFX11-TRUE16-NEXT: v_perm_b32 v1, v1, v165, 0xc0c0004
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(3)
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v134
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v4, 3, v114
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v33, 0x300, v0
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, v2, v32, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v181
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v4, 3, v180
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v64, 0x300, v0
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, v2, v148, 0xc0c0004
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v14, 0x300, v1
-; GFX11-TRUE16-NEXT: v_perm_b32 v1, v3, v96, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v1, v3, v179, 0xc0c0004
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(1)
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v68
-; GFX11-TRUE16-NEXT: v_perm_b32 v2, v4, v70, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v32, 0x300, v0
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 3, v176
+; GFX11-TRUE16-NEXT: v_perm_b32 v2, v4, v177, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v65, 0x300, v0
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0)
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, s74, v86, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, s74, v178, 0xc0c0004
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v13, 0x300, v1
; GFX11-TRUE16-NEXT: v_mov_b32_e32 v1, 0xc0c0004
; GFX11-TRUE16-NEXT: s_add_i32 s73, s73, 3
-; GFX11-TRUE16-NEXT: s_add_i32 s62, s62, 3
+; GFX11-TRUE16-NEXT: s_add_i32 s61, s61, 3
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v12, 0x300, v0
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, v3, v37, 0xc0c0004
-; GFX11-TRUE16-NEXT: s_add_i32 s72, s72, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v38, 0x300, v2
-; GFX11-TRUE16-NEXT: v_perm_b32 v2, s73, s42, v1
-; GFX11-TRUE16-NEXT: v_perm_b32 v4, s62, s47, v1
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v37, 0x300, v0
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, s59, s44, v1
-; GFX11-TRUE16-NEXT: s_add_i32 s43, s43, 3
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, v3, v167, 0xc0c0004
+; GFX11-TRUE16-NEXT: s_add_i32 s63, s63, 3
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v66, 0x300, v2
+; GFX11-TRUE16-NEXT: v_perm_b32 v2, s73, s41, v1
+; GFX11-TRUE16-NEXT: v_perm_b32 v4, s61, s47, v1
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v67, 0x300, v0
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, s59, s43, v1
+; GFX11-TRUE16-NEXT: s_add_i32 s42, s42, 3
; GFX11-TRUE16-NEXT: s_add_i32 s56, s56, 3
; GFX11-TRUE16-NEXT: s_add_i32 s12, s12, 3
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v11, 0x300, v2
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v9, 0x300, v0
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, s72, s58, v1
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, s63, s58, v1
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v10, 0x300, v4
-; GFX11-TRUE16-NEXT: v_perm_b32 v2, s43, s11, v1
-; GFX11-TRUE16-NEXT: v_perm_b32 v4, s56, s5, v1
-; GFX11-TRUE16-NEXT: s_add_i32 s41, s41, 3
+; GFX11-TRUE16-NEXT: v_perm_b32 v2, s42, s11, v1
+; GFX11-TRUE16-NEXT: v_perm_b32 v4, s56, s6, v1
+; GFX11-TRUE16-NEXT: s_add_i32 s40, s40, 3
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v7, 0x300, v0
-; GFX11-TRUE16-NEXT: v_perm_b32 v0, s12, s6, v1
+; GFX11-TRUE16-NEXT: v_perm_b32 v0, s12, s7, v1
; GFX11-TRUE16-NEXT: s_add_i32 s46, s46, 3
; GFX11-TRUE16-NEXT: s_add_i32 s60, s60, 3
-; GFX11-TRUE16-NEXT: s_add_i32 s61, s61, 3
+; GFX11-TRUE16-NEXT: s_add_i32 s72, s72, 3
; GFX11-TRUE16-NEXT: s_add_i32 s28, s28, 3
-; GFX11-TRUE16-NEXT: v_perm_b32 v3, s41, s10, v1
-; GFX11-TRUE16-NEXT: v_perm_b32 v5, s46, s13, v1
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v50, 0x300, v2
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v53, 0x300, v4
-; GFX11-TRUE16-NEXT: v_perm_b32 v2, s60, s15, v1
-; GFX11-TRUE16-NEXT: v_perm_b32 v4, s61, s45, v1
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v65, 0x300, v0
+; GFX11-TRUE16-NEXT: v_perm_b32 v3, s40, s10, v1
+; GFX11-TRUE16-NEXT: v_perm_b32 v5, s46, s14, v1
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v70, 0x300, v2
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v71, 0x300, v4
+; GFX11-TRUE16-NEXT: v_perm_b32 v2, s60, s44, v1
+; GFX11-TRUE16-NEXT: v_perm_b32 v4, s72, s45, v1
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v81, 0x300, v0
; GFX11-TRUE16-NEXT: v_perm_b32 v0, s28, s29, v1
-; GFX11-TRUE16-NEXT: s_add_i32 s63, s63, 3
+; GFX11-TRUE16-NEXT: s_add_i32 s62, s62, 3
; GFX11-TRUE16-NEXT: s_add_i32 s9, s9, 3
; GFX11-TRUE16-NEXT: s_add_i32 s20, s20, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v39, 0x300, v3
-; GFX11-TRUE16-NEXT: v_perm_b32 v3, s63, s57, v1
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v48, 0x300, v5
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v68, 0x300, v3
+; GFX11-TRUE16-NEXT: v_perm_b32 v3, s62, s57, v1
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v69, 0x300, v5
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v6, 0x300, v2
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v5, 0x300, v4
-; GFX11-TRUE16-NEXT: v_perm_b32 v2, s9, s4, v1
+; GFX11-TRUE16-NEXT: v_perm_b32 v2, s9, s5, v1
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v4, 0x300, v0
; GFX11-TRUE16-NEXT: v_perm_b32 v0, s20, s21, v1
-; GFX11-TRUE16-NEXT: s_add_i32 s14, s14, 3
-; GFX11-TRUE16-NEXT: s_add_i32 s40, s40, 3
+; GFX11-TRUE16-NEXT: s_add_i32 s15, s15, 3
+; GFX11-TRUE16-NEXT: s_add_i32 s13, s13, 3
; GFX11-TRUE16-NEXT: s_add_i32 s26, s26, 3
; GFX11-TRUE16-NEXT: s_add_i32 s22, s22, 3
; GFX11-TRUE16-NEXT: s_add_i32 s2, s2, 3
; GFX11-TRUE16-NEXT: s_add_i32 s18, s18, 3
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v8, 0x300, v3
-; GFX11-TRUE16-NEXT: v_perm_b32 v3, s14, s7, v1
-; GFX11-TRUE16-NEXT: v_perm_b32 v54, s40, s8, v1
-; GFX11-TRUE16-NEXT: v_perm_b32 v67, s26, s27, v1
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v68, 0x300, v2
+; GFX11-TRUE16-NEXT: v_perm_b32 v3, s15, s4, v1
+; GFX11-TRUE16-NEXT: v_perm_b32 v80, s13, s8, v1
+; GFX11-TRUE16-NEXT: v_perm_b32 v83, s26, s27, v1
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v84, 0x300, v2
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v2, 0x300, v0
; GFX11-TRUE16-NEXT: v_perm_b32 v0, s22, s23, v1
-; GFX11-TRUE16-NEXT: v_perm_b32 v69, s2, s3, v1
-; GFX11-TRUE16-NEXT: v_perm_b32 v70, s18, s19, v1
+; GFX11-TRUE16-NEXT: v_perm_b32 v85, s2, s3, v1
+; GFX11-TRUE16-NEXT: v_perm_b32 v86, s18, s19, v1
; GFX11-TRUE16-NEXT: s_add_i32 s24, s24, 3
; GFX11-TRUE16-NEXT: s_add_i32 s16, s16, 3
; GFX11-TRUE16-NEXT: s_add_i32 s0, s0, 3
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v66, 0x300, v3
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v82, 0x300, v3
; GFX11-TRUE16-NEXT: v_perm_b32 v3, s24, s25, v1
-; GFX11-TRUE16-NEXT: v_perm_b32 v71, s16, s17, v1
-; GFX11-TRUE16-NEXT: v_perm_b32 v80, s0, s1, v1
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v54, 0x300, v54
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v67, 0x300, v67
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v69, 0x300, v69
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v70, 0x300, v70
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v81, 0x300, v0
+; GFX11-TRUE16-NEXT: v_perm_b32 v87, s16, s17, v1
+; GFX11-TRUE16-NEXT: v_perm_b32 v96, s0, s1, v1
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v80, 0x300, v80
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v83, 0x300, v83
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v85, 0x300, v85
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v86, 0x300, v86
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v97, 0x300, v0
; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v3, 0x300, v3
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v1, 0x300, v71
-; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v0, 0x300, v80
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v0.h, v69.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v1.h, v70.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v2.h, v81.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v3.h, v67.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v4.h, v68.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v5.h, v54.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v6.h, v66.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v7.h, v65.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v8.h, v53.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v9.h, v50.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v10.h, v48.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v11.h, v39.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v12.h, v37.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v13.h, v38.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v14.h, v32.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v15.h, v33.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v16.h, v34.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v17.h, v35.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v18.h, v51.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v19.h, v36.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v20.h, v49.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v21.h, v52.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v22.h, v55.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v23.h, v85.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v24.h, v64.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v25.h, v82.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v26.h, v87.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v27.h, v101.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v28.h, v132.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v29.h, v102.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v30.h, v129.l
-; GFX11-TRUE16-NEXT: v_mov_b16_e64 v31.h, v133.l
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v1, 0x300, v87
+; GFX11-TRUE16-NEXT: v_add_nc_u32_e32 v0, 0x300, v96
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v0.h, v85.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v1.h, v86.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v2.h, v97.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v3.h, v83.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v4.h, v84.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v5.h, v80.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v6.h, v82.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v7.h, v81.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v8.h, v71.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v9.h, v70.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v10.h, v69.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v11.h, v68.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v12.h, v67.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v13.h, v66.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v14.h, v65.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v15.h, v64.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v16.h, v55.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v17.h, v54.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v18.h, v53.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v19.h, v52.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v20.h, v51.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v21.h, v50.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v22.h, v49.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v23.h, v48.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v24.h, v39.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v25.h, v38.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v26.h, v37.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v27.h, v36.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v28.h, v35.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v29.h, v34.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v30.h, v33.l
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v31.h, v32.l
; GFX11-TRUE16-NEXT: .LBB97_5: ; %end
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0)
; GFX11-TRUE16-NEXT: s_setpc_b64 s[30:31]
@@ -197944,34 +197946,34 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; GFX11-FAKE16-NEXT: scratch_load_u16 v86, off, s32 offset:116
; GFX11-FAKE16-NEXT: scratch_load_u16 v83, off, s32 offset:112
; GFX11-FAKE16-NEXT: scratch_load_u16 v98, off, s32 offset:108
-; GFX11-FAKE16-NEXT: scratch_load_u16 v54, off, s32 offset:104
+; GFX11-FAKE16-NEXT: scratch_load_u16 v53, off, s32 offset:104
; GFX11-FAKE16-NEXT: scratch_load_u16 v71, off, s32 offset:100
; GFX11-FAKE16-NEXT: scratch_load_u16 v85, off, s32 offset:96
; GFX11-FAKE16-NEXT: scratch_load_u16 v96, off, s32 offset:92
-; GFX11-FAKE16-NEXT: scratch_load_u16 v52, off, s32 offset:88
+; GFX11-FAKE16-NEXT: scratch_load_u16 v51, off, s32 offset:88
; GFX11-FAKE16-NEXT: scratch_load_u16 v69, off, s32 offset:84
-; GFX11-FAKE16-NEXT: scratch_load_u16 v64, off, s32 offset:80
+; GFX11-FAKE16-NEXT: scratch_load_u16 v55, off, s32 offset:80
; GFX11-FAKE16-NEXT: scratch_load_u16 v82, off, s32 offset:76
-; GFX11-FAKE16-NEXT: scratch_load_u16 v55, off, s32 offset:72
-; GFX11-FAKE16-NEXT: scratch_load_u16 v68, off, s32 offset:68
-; GFX11-FAKE16-NEXT: scratch_load_u16 v66, off, s32 offset:64
+; GFX11-FAKE16-NEXT: scratch_load_u16 v54, off, s32 offset:72
+; GFX11-FAKE16-NEXT: scratch_load_u16 v67, off, s32 offset:68
+; GFX11-FAKE16-NEXT: scratch_load_u16 v65, off, s32 offset:64
; GFX11-FAKE16-NEXT: scratch_load_u16 v80, off, s32 offset:60
; GFX11-FAKE16-NEXT: s_clause 0xf
; GFX11-FAKE16-NEXT: scratch_load_u16 v34, off, s32 offset:56
; GFX11-FAKE16-NEXT: scratch_load_u16 v50, off, s32 offset:52
-; GFX11-FAKE16-NEXT: scratch_load_u16 v39, off, s32 offset:48
-; GFX11-FAKE16-NEXT: scratch_load_u16 v65, off, s32 offset:44
+; GFX11-FAKE16-NEXT: scratch_load_u16 v38, off, s32 offset:48
+; GFX11-FAKE16-NEXT: scratch_load_u16 v64, off, s32 offset:44
; GFX11-FAKE16-NEXT: scratch_load_u16 v36, off, s32 offset:40
; GFX11-FAKE16-NEXT: scratch_load_u16 v49, off, s32 offset:36
; GFX11-FAKE16-NEXT: scratch_load_u16 v37, off, s32 offset:32
-; GFX11-FAKE16-NEXT: scratch_load_u16 v53, off, s32 offset:28
; GFX11-FAKE16-NEXT: scratch_load_b32 v31, off, s32 offset:316
+; GFX11-FAKE16-NEXT: scratch_load_u16 v68, off, s32 offset:28
; GFX11-FAKE16-NEXT: scratch_load_u16 v32, off, s32 offset:24
; GFX11-FAKE16-NEXT: scratch_load_u16 v48, off, s32 offset:20
-; GFX11-FAKE16-NEXT: scratch_load_u16 v51, off, s32 offset:16
-; GFX11-FAKE16-NEXT: scratch_load_u16 v67, off, s32 offset:12
+; GFX11-FAKE16-NEXT: scratch_load_u16 v52, off, s32 offset:16
+; GFX11-FAKE16-NEXT: scratch_load_u16 v66, off, s32 offset:12
; GFX11-FAKE16-NEXT: scratch_load_u16 v33, off, s32 offset:8
-; GFX11-FAKE16-NEXT: scratch_load_u16 v38, off, s32 offset:4
+; GFX11-FAKE16-NEXT: scratch_load_u16 v39, off, s32 offset:4
; GFX11-FAKE16-NEXT: scratch_load_u16 v35, off, s32
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s74, v30
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s61, v29
@@ -197986,7 +197988,7 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s46, v20
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s57, v19
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s60, v18
-; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s13, v17
+; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s12, v17
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s40, v16
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s47, v15
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s58, v14
@@ -197995,19 +197997,19 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s41, v11
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s44, v10
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s9, v9
-; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s12, v8
+; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s11, v8
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s15, v7
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s42, v6
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s5, v5
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s7, v4
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s8, v3
-; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s11, v2
+; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s13, v2
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s4, v1
; GFX11-FAKE16-NEXT: v_readfirstlane_b32 s6, v0
; GFX11-FAKE16-NEXT: s_mov_b32 s75, 0
-; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(7)
+; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(8)
; GFX11-FAKE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v31
-; GFX11-FAKE16-NEXT: s_and_b32 s76, vcc_lo, exec_lo
+; GFX11-FAKE16-NEXT: s_cmp_lg_u32 vcc_lo, 0
; GFX11-FAKE16-NEXT: s_cbranch_scc0 .LBB97_2
; GFX11-FAKE16-NEXT: ; %bb.1: ; %cmp.false
; GFX11-FAKE16-NEXT: v_mov_b32_e32 v9, 0xc0c0004
@@ -198015,7 +198017,7 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(5)
; GFX11-FAKE16-NEXT: v_perm_b32 v17, v32, v48, 0x6050400
; GFX11-FAKE16-NEXT: v_perm_b32 v18, v36, v49, 0x6050400
-; GFX11-FAKE16-NEXT: v_perm_b32 v19, v68, v55, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v19, v67, v54, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v0, s0, s1, v9
; GFX11-FAKE16-NEXT: v_perm_b32 v2, s16, s17, v9
; GFX11-FAKE16-NEXT: v_perm_b32 v4, s20, s21, v9
@@ -198031,7 +198033,7 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v0, v1, 16, v0
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v1, v3, 16, v2
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v2, v5, 16, v4
-; GFX11-FAKE16-NEXT: v_perm_b32 v5, s11, s8, v9
+; GFX11-FAKE16-NEXT: v_perm_b32 v5, s13, s8, v9
; GFX11-FAKE16-NEXT: v_perm_b32 v4, s28, s29, v9
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v3, v7, 16, v6
; GFX11-FAKE16-NEXT: v_perm_b32 v7, s42, s15, v9
@@ -198039,7 +198041,7 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; GFX11-FAKE16-NEXT: v_and_b32_e32 v5, 0xffff, v5
; GFX11-FAKE16-NEXT: v_perm_b32 v6, s6, s4, v9
; GFX11-FAKE16-NEXT: v_and_b32_e32 v4, 0xffff, v4
-; GFX11-FAKE16-NEXT: v_perm_b32 v10, s12, s9, v9
+; GFX11-FAKE16-NEXT: v_perm_b32 v10, s11, s9, v9
; GFX11-FAKE16-NEXT: v_and_b32_e32 v7, 0xffff, v7
; GFX11-FAKE16-NEXT: v_perm_b32 v12, s44, s41, v9
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v5, v8, 16, v5
@@ -198050,7 +198052,7 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; GFX11-FAKE16-NEXT: v_perm_b32 v7, s14, s10, v9
; GFX11-FAKE16-NEXT: v_and_b32_e32 v10, 0xffff, v12
; GFX11-FAKE16-NEXT: v_perm_b32 v12, s60, s57, v9
-; GFX11-FAKE16-NEXT: v_perm_b32 v13, s13, s40, v11
+; GFX11-FAKE16-NEXT: v_perm_b32 v13, s12, s40, v11
; GFX11-FAKE16-NEXT: v_and_b32_e32 v8, 0xffff, v8
; GFX11-FAKE16-NEXT: v_perm_b32 v16, s45, s56, v11
; GFX11-FAKE16-NEXT: v_and_b32_e32 v14, 0xffff, v14
@@ -198061,8 +198063,8 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; GFX11-FAKE16-NEXT: v_perm_b32 v13, s73, s72, v9
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v10, v16, 16, v14
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(3)
-; GFX11-FAKE16-NEXT: v_perm_b32 v14, v67, v51, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v16, v37, v53, 0x6050400
+; GFX11-FAKE16-NEXT: v_perm_b32 v14, v66, v52, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v16, v37, v68, 0x6050400
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v9, v15, 16, v12
; GFX11-FAKE16-NEXT: v_perm_b32 v11, s61, s63, v11
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0)
@@ -198070,18 +198072,18 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; GFX11-FAKE16-NEXT: v_and_b32_e32 v13, 0xffff, v13
; GFX11-FAKE16-NEXT: v_and_b32_e32 v14, 0xffff, v14
; GFX11-FAKE16-NEXT: v_and_b32_e32 v16, 0xffff, v16
-; GFX11-FAKE16-NEXT: v_perm_b32 v15, v33, v38, 0x6050400
+; GFX11-FAKE16-NEXT: v_perm_b32 v15, v33, v39, 0x6050400
; GFX11-FAKE16-NEXT: v_and_b32_e32 v12, 0xffff, v12
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v11, v11, 16, v13
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v13, v17, 16, v14
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v14, v18, 16, v16
-; GFX11-FAKE16-NEXT: v_perm_b32 v16, v80, v66, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v16, v80, v65, 0xc0c0004
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v12, v15, 16, v12
-; GFX11-FAKE16-NEXT: v_perm_b32 v15, v65, v39, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v18, v82, v64, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v15, v64, v38, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v18, v82, v55, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v17, v34, v50, 0x6050400
; GFX11-FAKE16-NEXT: v_and_b32_e32 v16, 0xffff, v16
-; GFX11-FAKE16-NEXT: v_perm_b32 v20, v69, v52, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v20, v69, v51, 0xc0c0004
; GFX11-FAKE16-NEXT: v_and_b32_e32 v15, 0xffff, v15
; GFX11-FAKE16-NEXT: v_and_b32_e32 v18, 0xffff, v18
; GFX11-FAKE16-NEXT: v_perm_b32 v21, v96, v85, 0xc0c0004
@@ -198089,7 +198091,7 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; GFX11-FAKE16-NEXT: v_perm_b32 v19, v98, v83, 0xc0c0004
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v15, v17, 16, v15
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v17, v20, 16, v18
-; GFX11-FAKE16-NEXT: v_perm_b32 v18, v71, v54, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v18, v71, v53, 0xc0c0004
; GFX11-FAKE16-NEXT: v_and_b32_e32 v20, 0xffff, v21
; GFX11-FAKE16-NEXT: v_perm_b32 v21, v86, v81, 0xc0c0004
; GFX11-FAKE16-NEXT: v_and_b32_e32 v19, 0xffff, v19
@@ -198179,13 +198181,13 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v28, 0x300, v2
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v30, 0x300, v1
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v1, 3, v151
-; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v150, 0x300, v4
+; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v29, 0x300, v4
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v151, 0x300, v0
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v0, 3, v162
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v2, 3, v149
; GFX11-FAKE16-NEXT: v_perm_b32 v1, v1, v135, 0xc0c0004
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v4, 3, v148
-; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v29, 0x300, v3
+; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v150, 0x300, v3
; GFX11-FAKE16-NEXT: v_perm_b32 v0, v0, v145, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v2, v2, v133, 0xc0c0004
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v133, 0x300, v1
@@ -198242,36 +198244,36 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v0, 3, v82
; GFX11-FAKE16-NEXT: v_perm_b32 v2, v2, v83, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v3, v3, v81, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v1, v1, v54, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v4, 3, v68
-; GFX11-FAKE16-NEXT: v_perm_b32 v0, v0, v64, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v1, v1, v53, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v4, 3, v67
+; GFX11-FAKE16-NEXT: v_perm_b32 v0, v0, v55, 0xc0c0004
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v19, 0x300, v2
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v70, 0x300, v3
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v2, 3, v69
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v3, 3, v80
-; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v54, 0x300, v0
-; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v0, 3, v65
+; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v53, 0x300, v0
+; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v0, 3, v64
; GFX11-FAKE16-NEXT: s_add_i32 s40, s40, 3
-; GFX11-FAKE16-NEXT: v_perm_b32 v2, v2, v52, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v3, v3, v66, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v52, 0x300, v1
-; GFX11-FAKE16-NEXT: v_perm_b32 v1, v4, v55, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v0, v0, v39, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v2, v2, v51, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v3, v3, v65, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v51, 0x300, v1
+; GFX11-FAKE16-NEXT: v_perm_b32 v1, v4, v54, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v0, v0, v38, 0xc0c0004
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(3)
-; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v4, 3, v67
-; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v55, 0x300, v2
+; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v4, 3, v66
+; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v54, 0x300, v2
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v12, 0x300, v3
-; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v2, 3, v53
+; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v2, 3, v68
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v3, 3, v49
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v13, 0x300, v0
-; GFX11-FAKE16-NEXT: v_perm_b32 v0, v4, v51, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v0, v4, v52, 0xc0c0004
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v16, 0x300, v1
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v1, 3, v50
; GFX11-FAKE16-NEXT: v_perm_b32 v2, v2, v37, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v3, v3, v36, 0xc0c0004
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v36, 0x300, v0
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(1)
-; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v0, 3, v38
+; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v0, 3, v39
; GFX11-FAKE16-NEXT: v_perm_b32 v1, v1, v34, 0xc0c0004
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v14, 0x300, v2
; GFX11-FAKE16-NEXT: v_mov_b32_e32 v2, 0xc0c0004
@@ -198286,19 +198288,19 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; GFX11-FAKE16-NEXT: v_perm_b32 v0, s62, s59, v2
; GFX11-FAKE16-NEXT: v_perm_b32 v1, v1, v32, 0xc0c0004
; GFX11-FAKE16-NEXT: s_add_i32 s63, s63, 3
-; GFX11-FAKE16-NEXT: s_add_i32 s12, s12, 3
+; GFX11-FAKE16-NEXT: s_add_i32 s11, s11, 3
; GFX11-FAKE16-NEXT: v_perm_b32 v4, s73, s72, v2
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v8, 0x300, v0
-; GFX11-FAKE16-NEXT: v_perm_b32 v0, s40, s13, v2
+; GFX11-FAKE16-NEXT: v_perm_b32 v0, s40, s12, v2
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v32, 0x300, v1
; GFX11-FAKE16-NEXT: v_perm_b32 v1, s63, s61, v2
; GFX11-FAKE16-NEXT: s_add_i32 s56, s56, 3
; GFX11-FAKE16-NEXT: s_add_i32 s60, s60, 3
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v39, 0x300, v0
-; GFX11-FAKE16-NEXT: v_perm_b32 v0, s12, s9, v2
+; GFX11-FAKE16-NEXT: v_perm_b32 v0, s11, s9, v2
; GFX11-FAKE16-NEXT: s_add_i32 s46, s46, 3
; GFX11-FAKE16-NEXT: s_add_i32 s58, s58, 3
-; GFX11-FAKE16-NEXT: s_add_i32 s11, s11, 3
+; GFX11-FAKE16-NEXT: s_add_i32 s13, s13, 3
; GFX11-FAKE16-NEXT: s_add_i32 s24, s24, 3
; GFX11-FAKE16-NEXT: s_add_i32 s0, s0, 3
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v33, 0x300, v3
@@ -198309,7 +198311,7 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; GFX11-FAKE16-NEXT: v_perm_b32 v4, s46, s43, v2
; GFX11-FAKE16-NEXT: v_perm_b32 v5, s58, s47, v2
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v6, 0x300, v0
-; GFX11-FAKE16-NEXT: v_perm_b32 v0, s11, s8, v2
+; GFX11-FAKE16-NEXT: v_perm_b32 v0, s13, s8, v2
; GFX11-FAKE16-NEXT: v_perm_b32 v50, s24, s25, v2
; GFX11-FAKE16-NEXT: v_perm_b32 v65, s0, s1, v2
; GFX11-FAKE16-NEXT: s_add_i32 s44, s44, 3
@@ -198324,7 +198326,7 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; GFX11-FAKE16-NEXT: v_perm_b32 v1, s44, s41, v2
; GFX11-FAKE16-NEXT: v_perm_b32 v3, s14, s10, v2
; GFX11-FAKE16-NEXT: v_perm_b32 v4, s42, s15, v2
-; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v51, 0x300, v0
+; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v52, 0x300, v0
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v50, 0x300, v50
; GFX11-FAKE16-NEXT: v_perm_b32 v0, s26, s27, v2
; GFX11-FAKE16-NEXT: v_perm_b32 v67, s2, s3, v2
@@ -198351,7 +198353,7 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; GFX11-FAKE16-NEXT: s_add_i32 s20, s20, 3
; GFX11-FAKE16-NEXT: s_add_i32 s18, s18, 3
; GFX11-FAKE16-NEXT: v_perm_b32 v5, s6, s4, v2
-; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v53, 0x300, v1
+; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v55, 0x300, v1
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v4, 0x300, v4
; GFX11-FAKE16-NEXT: v_perm_b32 v1, s20, s21, v2
; GFX11-FAKE16-NEXT: v_perm_b32 v66, s18, s19, v2
@@ -198367,7 +198369,7 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v12, v35, 16, v33
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v13, v32, 16, v36
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v14, v34, 16, v14
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v32, 0xffff, v54
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v32, 0xffff, v53
; GFX11-FAKE16-NEXT: v_and_b32_e32 v33, 0xffff, v71
; GFX11-FAKE16-NEXT: v_and_b32_e32 v34, 0xffff, v18
; GFX11-FAKE16-NEXT: v_and_b32_e32 v35, 0xffff, v17
@@ -198378,9 +198380,9 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; GFX11-FAKE16-NEXT: v_and_b32_e32 v64, 0xffff, v64
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v68, 0x300, v1
; GFX11-FAKE16-NEXT: v_and_b32_e32 v4, 0xffff, v4
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v51, 0xffff, v51
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v17, v55, 16, v32
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v18, v52, 16, v33
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v52, 0xffff, v52
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v17, v54, 16, v32
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v18, v51, 16, v33
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v20, v20, 16, v34
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v21, v21, 16, v35
; GFX11-FAKE16-NEXT: v_and_b32_e32 v32, 0xffff, v99
@@ -198391,9 +198393,9 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v1, v66, 16, v64
; GFX11-FAKE16-NEXT: v_and_b32_e32 v64, 0xffff, v68
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v4, v5, 16, v4
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v5, v53, 16, v51
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v5, v55, 16, v52
; GFX11-FAKE16-NEXT: v_and_b32_e32 v48, 0xffff, v48
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v51, 0xffff, v7
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v52, 0xffff, v7
; GFX11-FAKE16-NEXT: v_and_b32_e32 v19, 0xffff, v19
; GFX11-FAKE16-NEXT: v_and_b32_e32 v24, 0xffff, v24
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v22, v100, 16, v32
@@ -198402,23 +198404,23 @@ define inreg <64 x i16> @bitcast_v128i8_to_v64i16_scalar(<128 x i8> inreg %a, i3
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v26, v26, 16, v35
; GFX11-FAKE16-NEXT: v_and_b32_e32 v32, 0xffff, v135
; GFX11-FAKE16-NEXT: v_and_b32_e32 v33, 0xffff, v151
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v29, 0xffff, v29
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v34, 0xffff, v28
-; GFX11-FAKE16-NEXT: v_and_b32_e32 v35, 0xffff, v27
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v34, 0xffff, v150
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v35, 0xffff, v28
+; GFX11-FAKE16-NEXT: v_and_b32_e32 v36, 0xffff, v27
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v2, v2, 16, v64
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v6, v6, 16, v65
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v7, v49, 16, v48
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v10, v10, 16, v50
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v11, v11, 16, v51
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v11, v11, 16, v52
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v15, v15, 16, v37
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v16, v16, 16, v38
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v19, v70, 16, v19
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v24, v114, 16, v24
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v27, v144, 16, v32
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v28, v133, 16, v33
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v29, v150, 16, v29
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v30, v30, 16, v34
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v31, v31, 16, v35
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v29, v29, 16, v34
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v30, v30, 16, v35
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v31, v31, 16, v36
; GFX11-FAKE16-NEXT: .LBB97_5: ; %end
; GFX11-FAKE16-NEXT: s_clause 0x1 ; 8-byte Folded Reload
; GFX11-FAKE16-NEXT: scratch_load_b32 v41, off, s32 offset:320
@@ -200369,441 +200371,452 @@ define <128 x i8> @bitcast_v64i16_to_v128i8(<64 x i16> %a, i32 %b) #0 {
; VI-NEXT: buffer_store_dword v61, off, s[0:3], s32 offset:20 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill
-; VI-NEXT: buffer_load_dword v39, off, s[0:3], s32 offset:8
-; VI-NEXT: buffer_load_dword v54, off, s[0:3], s32 offset:4
-; VI-NEXT: buffer_load_dword v53, off, s[0:3], s32
-; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v13
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v11
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v9
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v7
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v5
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v3
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v1
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v29
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v27
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v25
-; VI-NEXT: v_lshrrev_b32_e32 v32, 16, v15
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v23
-; VI-NEXT: ; implicit-def: $vgpr59
-; VI-NEXT: ; implicit-def: $vgpr43
-; VI-NEXT: v_lshrrev_b32_e32 v31, 16, v16
-; VI-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v32, 16, v14
-; VI-NEXT: v_lshrrev_b32_e32 v51, 16, v12
-; VI-NEXT: v_lshrrev_b32_e32 v35, 16, v10
+; VI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:8
+; VI-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:4
+; VI-NEXT: buffer_load_dword v51, off, s[0:3], s32
+; VI-NEXT: v_lshrrev_b32_e32 v32, 16, v30
+; VI-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v32, 16, v29
+; VI-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v32, 16, v27
+; VI-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v32, 16, v25
+; VI-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v32, 16, v23
+; VI-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v32, 16, v21
+; VI-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v55, 16, v28
+; VI-NEXT: ; implicit-def: $vgpr54
+; VI-NEXT: v_lshrrev_b32_e32 v40, 16, v16
+; VI-NEXT: v_lshrrev_b32_e32 v38, 16, v15
+; VI-NEXT: v_lshrrev_b32_e32 v62, 16, v14
+; VI-NEXT: v_lshrrev_b32_e32 v50, 16, v13
+; VI-NEXT: v_lshrrev_b32_e32 v31, 16, v12
+; VI-NEXT: v_lshrrev_b32_e32 v43, 16, v11
+; VI-NEXT: v_lshrrev_b32_e32 v34, 16, v10
+; VI-NEXT: v_lshrrev_b32_e32 v45, 16, v9
; VI-NEXT: v_lshrrev_b32_e32 v36, 16, v8
+; VI-NEXT: v_lshrrev_b32_e32 v57, 16, v7
; VI-NEXT: v_lshrrev_b32_e32 v37, 16, v6
-; VI-NEXT: v_lshrrev_b32_e32 v38, 16, v4
-; VI-NEXT: v_lshrrev_b32_e32 v48, 16, v2
-; VI-NEXT: v_lshrrev_b32_e32 v34, 16, v30
-; VI-NEXT: v_lshrrev_b32_e32 v47, 16, v28
-; VI-NEXT: v_lshrrev_b32_e32 v45, 16, v26
-; VI-NEXT: v_lshrrev_b32_e32 v60, 16, v24
-; VI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v62, 16, v22
-; VI-NEXT: v_lshrrev_b32_e32 v63, 16, v21
-; VI-NEXT: v_lshrrev_b32_e32 v50, 16, v20
-; VI-NEXT: v_lshrrev_b32_e32 v49, 16, v19
-; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v18
-; VI-NEXT: v_lshrrev_b32_e32 v55, 16, v17
-; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr43
-; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr43
-; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr43
-; VI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr44
-; VI-NEXT: ; implicit-def: $vgpr43
-; VI-NEXT: ; implicit-def: $vgpr58
-; VI-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v59, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr58
-; VI-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v59, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr58
-; VI-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v59, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr58
-; VI-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v59, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr58
-; VI-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v59, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr58
-; VI-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v59, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr61
-; VI-NEXT: ; implicit-def: $vgpr52
-; VI-NEXT: ; implicit-def: $vgpr56
-; VI-NEXT: ; implicit-def: $vgpr46
+; VI-NEXT: v_lshrrev_b32_e32 v59, 16, v5
+; VI-NEXT: v_lshrrev_b32_e32 v48, 16, v4
+; VI-NEXT: v_lshrrev_b32_e32 v61, 16, v3
+; VI-NEXT: v_lshrrev_b32_e32 v49, 16, v2
+; VI-NEXT: v_lshrrev_b32_e32 v44, 16, v1
+; VI-NEXT: v_lshrrev_b32_e32 v47, 16, v26
+; VI-NEXT: v_lshrrev_b32_e32 v58, 16, v24
+; VI-NEXT: v_lshrrev_b32_e32 v60, 16, v22
+; VI-NEXT: v_lshrrev_b32_e32 v63, 16, v20
+; VI-NEXT: v_lshrrev_b32_e32 v53, 16, v19
+; VI-NEXT: v_lshrrev_b32_e32 v56, 16, v17
+; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr54
+; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr54
+; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr54
+; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr39
+; VI-NEXT: ; implicit-def: $vgpr54
+; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr54
+; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr54
+; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr54
+; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr54
+; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr54
+; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr54
+; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
; VI-NEXT: ; implicit-def: $vgpr42
; VI-NEXT: ; implicit-def: $vgpr41
-; VI-NEXT: ; implicit-def: $vgpr40
-; VI-NEXT: ; implicit-def: $vgpr58
+; VI-NEXT: ; implicit-def: $vgpr35
+; VI-NEXT: ; implicit-def: $vgpr54
; VI-NEXT: s_waitcnt vmcnt(14)
-; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v39
-; VI-NEXT: v_lshrrev_b32_e32 v57, 16, v54
-; VI-NEXT: v_lshrrev_b32_e32 v39, 16, v53
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
-; VI-NEXT: ; kill: killed $vgpr39
-; VI-NEXT: ; implicit-def: $vgpr39
+; VI-NEXT: v_cmp_ne_u32_e32 vcc, 0, v33
+; VI-NEXT: v_lshrrev_b32_e32 v33, 16, v18
+; VI-NEXT: v_lshrrev_b32_e32 v32, 16, v51
+; VI-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: v_lshrrev_b32_e32 v46, 16, v52
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
+; VI-NEXT: ; kill: killed $vgpr32
+; VI-NEXT: ; implicit-def: $vgpr32
; VI-NEXT: s_and_saveexec_b64 s[4:5], vcc
; VI-NEXT: s_xor_b64 s[4:5], exec, s[4:5]
; VI-NEXT: s_cbranch_execz .LBB98_2
; VI-NEXT: ; %bb.1: ; %cmp.false
-; VI-NEXT: v_lshrrev_b32_e32 v39, 24, v16
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v39, 8, v16
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v39, 8, v15
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v39, 24, v14
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v39, 8, v14
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v39, 8, v13
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v39, 24, v12
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v39, 8, v12
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v39, 8, v11
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v39, 24, v10
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v39, 8, v10
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v39, 8, v9
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v39, 24, v8
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v39, 8, v8
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v39, 8, v7
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v39, 24, v6
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v39, 8, v6
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v39, 8, v5
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[39:40], 24, v[15:16]
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[39:40], 24, v[13:14]
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[39:40], 24, v[11:12]
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[39:40], 24, v[9:10]
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v39, v7
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[39:40], 24, v[7:8]
-; VI-NEXT: v_mov_b32_e32 v7, v5
-; VI-NEXT: v_lshrrev_b64 v[40:41], 24, v[5:6]
-; VI-NEXT: v_lshrrev_b32_e32 v5, 24, v4
-; VI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:488 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v5, 8, v4
-; VI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:468 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v5, 8, v3
-; VI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:476 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v5, v3
-; VI-NEXT: v_lshrrev_b64 v[41:42], 24, v[3:4]
-; VI-NEXT: v_lshrrev_b32_e32 v3, 24, v2
-; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:492 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v3, 8, v2
-; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:480 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v3, 8, v1
-; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:484 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v3, v1
-; VI-NEXT: v_lshrrev_b64 v[42:43], 24, v[1:2]
-; VI-NEXT: v_lshrrev_b32_e32 v1, 24, v54
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:396 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v54
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v53
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v1, v53
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v1, v54
-; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v3, v2
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[1:2], 24, v[53:54]
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v30
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:412 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v29
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:416 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v1, v29
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v1, v30
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[1:2], 24, v[29:30]
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v1, 24, v28
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:444 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v28
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:424 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v27
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:432 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v1, v27
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v1, v28
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[1:2], 24, v[27:28]
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v1, 24, v26
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:460 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v26
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:436 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v25
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:440 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v1, v25
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v1, v26
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[1:2], 24, v[25:26]
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v1, 24, v24
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:464 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v24
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:448 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v23
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:452 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v1, v23
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v1, v24
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[1:2], 24, v[23:24]
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v1, 24, v22
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:472 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v22
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:456 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v21
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:496 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v1, v21
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:400 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v1, v22
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[1:2], 24, v[21:22]
+; VI-NEXT: v_lshrrev_b32_e32 v32, 24, v16
+; VI-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v32, 8, v16
+; VI-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:412 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v32, 8, v15
+; VI-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v32, 24, v14
+; VI-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v32, 8, v14
+; VI-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v32, 8, v13
+; VI-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v32, 24, v12
+; VI-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v32, 8, v12
+; VI-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v32, 8, v11
+; VI-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v32, 24, v10
+; VI-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v32, 8, v10
+; VI-NEXT: v_lshrrev_b64 v[41:42], 24, v[15:16]
+; VI-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v32, 8, v9
+; VI-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v32, 24, v8
+; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v32, 8, v8
+; VI-NEXT: v_lshrrev_b64 v[41:42], 24, v[13:14]
+; VI-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v32, 8, v7
+; VI-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v32, 24, v6
+; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v32, 8, v6
+; VI-NEXT: v_lshrrev_b64 v[41:42], 24, v[11:12]
+; VI-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v32, 8, v5
+; VI-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v32, v7
+; VI-NEXT: v_lshrrev_b64 v[41:42], 24, v[9:10]
+; VI-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v9, v10
-; VI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v9, v11
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
; VI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v9, v12
-; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v20
; VI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v9, v13
+; VI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v9, v14
+; VI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:384 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v9, v15
+; VI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:400 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v9, v16
+; VI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:404 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v9, v8
+; VI-NEXT: v_lshrrev_b64 v[7:8], 24, v[7:8]
+; VI-NEXT: v_mov_b32_e32 v8, v5
+; VI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v8, v6
+; VI-NEXT: v_lshrrev_b64 v[5:6], 24, v[5:6]
+; VI-NEXT: v_lshrrev_b32_e32 v6, 24, v4
+; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:472 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v6, 8, v4
+; VI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:456 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v6, 8, v3
+; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:460 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v6, v3
+; VI-NEXT: v_lshrrev_b64 v[41:42], 24, v[3:4]
+; VI-NEXT: v_lshrrev_b32_e32 v3, 24, v2
+; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:476 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v3, 8, v2
+; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:464 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v3, 8, v1
+; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:468 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v3, v1
+; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v3, v2
+; VI-NEXT: v_lshrrev_b64 v[1:2], 24, v[1:2]
+; VI-NEXT: v_lshrrev_b32_e32 v2, 24, v52
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:388 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v2, 8, v52
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v2, 8, v51
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v2, v51
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v2, v52
+; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[2:3], 24, v[51:52]
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v2, 8, v30
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:392 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v2, 8, v29
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:396 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v2, v29
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v2, v30
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[2:3], 24, v[29:30]
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v2, 24, v28
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:440 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v2, 8, v28
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:408 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v2, 8, v27
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:416 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v2, v27
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v2, v28
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[2:3], 24, v[27:28]
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v2, 24, v26
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:444 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v2, 8, v26
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:420 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v2, 8, v25
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:424 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v2, v25
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v2, v26
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[2:3], 24, v[25:26]
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v2, 24, v24
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:448 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v2, 8, v24
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:428 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v2, 8, v23
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:432 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v2, v23
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v2, v24
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[2:3], 24, v[23:24]
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v2, 24, v22
+; VI-NEXT: v_mov_b32_e32 v42, v1
+; VI-NEXT: v_lshrrev_b32_e32 v1, 24, v20
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:452 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v2, 8, v22
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:500 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v20
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:436 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v2, 8, v21
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:484 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v19
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:480 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v2, v21
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:488 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v1, v19
-; VI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:404 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v9, v14
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:392 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v2, v22
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v1, v20
-; VI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:408 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v9, v15
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:388 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[2:3], 24, v[21:22]
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v1, 24, v18
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:504 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v18
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:492 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v17
+; VI-NEXT: v_lshrrev_b64 v[2:3], 24, v[19:20]
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:496 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v1, v17
-; VI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:420 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v9, v16
-; VI-NEXT: v_lshrrev_b64 v[43:44], 24, v[19:20]
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:384 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
; VI-NEXT: v_mov_b32_e32 v1, v18
-; VI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:428 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v9, v8
-; VI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v7, v6
-; VI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v5, v4
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v1, v45
-; VI-NEXT: v_lshrrev_b64 v[44:45], 24, v[17:18]
+; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v6, v4
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v1, v40
+; VI-NEXT: v_lshrrev_b64 v[39:40], 24, v[17:18]
; VI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v58, 24, v30
-; VI-NEXT: v_lshrrev_b32_e32 v46, 24, v20
-; VI-NEXT: v_lshrrev_b32_e32 v56, 8, v19
-; VI-NEXT: v_lshrrev_b32_e32 v52, 24, v18
-; VI-NEXT: v_lshrrev_b32_e32 v59, 8, v18
-; VI-NEXT: v_lshrrev_b32_e32 v61, 8, v17
-; VI-NEXT: v_mov_b32_e32 v45, v1
+; VI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v54, 24, v30
+; VI-NEXT: v_mov_b32_e32 v35, v5
+; VI-NEXT: v_mov_b32_e32 v32, v7
+; VI-NEXT: v_mov_b32_e32 v40, v1
; VI-NEXT: ; implicit-def: $vgpr1
; VI-NEXT: ; implicit-def: $vgpr3
; VI-NEXT: ; implicit-def: $vgpr5
@@ -200819,7 +200832,7 @@ define <128 x i8> @bitcast_v64i16_to_v128i8(<64 x i16> %a, i32 %b) #0 {
; VI-NEXT: ; implicit-def: $vgpr25
; VI-NEXT: ; implicit-def: $vgpr27
; VI-NEXT: ; implicit-def: $vgpr29
-; VI-NEXT: ; implicit-def: $vgpr54
+; VI-NEXT: ; implicit-def: $vgpr52
; VI-NEXT: .LBB98_2: ; %Flow
; VI-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]
; VI-NEXT: s_cbranch_execz .LBB98_4
@@ -200828,530 +200841,534 @@ define <128 x i8> @bitcast_v64i16_to_v128i8(<64 x i16> %a, i32 %b) #0 {
; VI-NEXT: v_add_u16_sdwa v33, v18, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
; VI-NEXT: v_add_u16_e32 v31, 3, v18
; VI-NEXT: v_lshlrev_b32_e32 v18, 16, v33
-; VI-NEXT: v_add_u16_sdwa v55, v17, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
-; VI-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
+; VI-NEXT: v_add_u16_sdwa v56, v17, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+; VI-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
; VI-NEXT: v_or_b32_e32 v18, v31, v18
; VI-NEXT: v_add_u16_e32 v31, 3, v17
-; VI-NEXT: v_lshlrev_b32_e32 v17, 16, v55
-; VI-NEXT: v_add_u16_sdwa v50, v20, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
-; VI-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:384 ; 4-byte Folded Spill
+; VI-NEXT: v_lshlrev_b32_e32 v17, 16, v56
+; VI-NEXT: v_add_u16_sdwa v63, v20, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+; VI-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
; VI-NEXT: v_or_b32_e32 v17, v31, v17
; VI-NEXT: v_add_u16_e32 v31, 3, v20
-; VI-NEXT: v_lshlrev_b32_e32 v20, 16, v50
-; VI-NEXT: v_add_u16_sdwa v49, v19, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
-; VI-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:388 ; 4-byte Folded Spill
+; VI-NEXT: v_lshlrev_b32_e32 v20, 16, v63
+; VI-NEXT: v_add_u16_sdwa v53, v19, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+; VI-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
; VI-NEXT: v_or_b32_e32 v20, v31, v20
; VI-NEXT: v_add_u16_e32 v31, 3, v19
-; VI-NEXT: v_lshlrev_b32_e32 v19, 16, v49
-; VI-NEXT: v_add_u16_sdwa v62, v22, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
-; VI-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:392 ; 4-byte Folded Spill
+; VI-NEXT: v_lshlrev_b32_e32 v19, 16, v53
+; VI-NEXT: v_add_u16_sdwa v60, v22, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+; VI-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
; VI-NEXT: v_or_b32_e32 v19, v31, v19
; VI-NEXT: v_add_u16_e32 v31, 3, v22
-; VI-NEXT: v_lshlrev_b32_e32 v22, 16, v62
-; VI-NEXT: v_add_u16_sdwa v63, v21, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
-; VI-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
+; VI-NEXT: v_lshlrev_b32_e32 v22, 16, v60
+; VI-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
; VI-NEXT: v_or_b32_e32 v22, v31, v22
; VI-NEXT: v_add_u16_e32 v31, 3, v21
-; VI-NEXT: v_lshlrev_b32_e32 v21, 16, v63
-; VI-NEXT: v_add_u16_sdwa v60, v24, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
-; VI-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:400 ; 4-byte Folded Spill
+; VI-NEXT: v_add_u16_sdwa v21, v21, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+; VI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
+; VI-NEXT: v_lshlrev_b32_e32 v21, 16, v21
+; VI-NEXT: v_add_u16_sdwa v58, v24, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+; VI-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
; VI-NEXT: v_or_b32_e32 v21, v31, v21
; VI-NEXT: v_add_u16_e32 v31, 3, v24
-; VI-NEXT: v_lshlrev_b32_e32 v24, 16, v60
-; VI-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
+; VI-NEXT: v_lshlrev_b32_e32 v24, 16, v58
+; VI-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
; VI-NEXT: v_or_b32_e32 v24, v31, v24
; VI-NEXT: v_add_u16_e32 v31, 3, v23
; VI-NEXT: v_add_u16_sdwa v23, v23, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
-; VI-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
; VI-NEXT: v_lshlrev_b32_e32 v23, 16, v23
-; VI-NEXT: v_add_u16_sdwa v58, v26, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
-; VI-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
+; VI-NEXT: v_add_u16_sdwa v47, v26, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+; VI-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
; VI-NEXT: v_or_b32_e32 v23, v31, v23
; VI-NEXT: v_add_u16_e32 v31, 3, v26
-; VI-NEXT: v_lshlrev_b32_e32 v26, 16, v58
-; VI-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
+; VI-NEXT: v_lshlrev_b32_e32 v26, 16, v47
+; VI-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
; VI-NEXT: v_or_b32_e32 v26, v31, v26
; VI-NEXT: v_add_u16_e32 v31, 3, v25
; VI-NEXT: v_add_u16_sdwa v25, v25, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
-; VI-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
; VI-NEXT: v_lshlrev_b32_e32 v25, 16, v25
-; VI-NEXT: v_add_u16_sdwa v47, v28, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
-; VI-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
+; VI-NEXT: v_add_u16_sdwa v34, v28, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+; VI-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
; VI-NEXT: v_or_b32_e32 v25, v31, v25
; VI-NEXT: v_add_u16_e32 v31, 3, v28
-; VI-NEXT: v_lshlrev_b32_e32 v28, 16, v47
-; VI-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
+; VI-NEXT: v_lshlrev_b32_e32 v28, 16, v34
+; VI-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
; VI-NEXT: v_or_b32_e32 v28, v31, v28
; VI-NEXT: v_add_u16_e32 v31, 3, v27
; VI-NEXT: v_add_u16_sdwa v27, v27, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
-; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
; VI-NEXT: v_lshlrev_b32_e32 v27, 16, v27
-; VI-NEXT: v_add_u16_sdwa v34, v30, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
-; VI-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
+; VI-NEXT: v_add_u16_sdwa v36, v30, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+; VI-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
; VI-NEXT: v_or_b32_e32 v27, v31, v27
; VI-NEXT: v_add_u16_e32 v31, 3, v30
; VI-NEXT: v_add_u16_e32 v32, 3, v29
; VI-NEXT: v_add_u16_sdwa v29, v29, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
-; VI-NEXT: v_lshlrev_b32_e32 v30, 16, v34
-; VI-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
+; VI-NEXT: v_lshlrev_b32_e32 v30, 16, v36
+; VI-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
; VI-NEXT: v_or_b32_e32 v30, v31, v30
; VI-NEXT: v_lshlrev_b32_e32 v29, 16, v29
-; VI-NEXT: v_add_u16_sdwa v57, v54, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
-; VI-NEXT: v_add_u16_sdwa v31, v53, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+; VI-NEXT: v_add_u16_sdwa v46, v52, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+; VI-NEXT: v_add_u16_sdwa v31, v51, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
; VI-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
; VI-NEXT: v_or_b32_e32 v29, v32, v29
-; VI-NEXT: v_add_u16_e32 v36, 3, v54
-; VI-NEXT: v_add_u16_e32 v37, 3, v53
-; VI-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
-; VI-NEXT: v_lshlrev_b32_e32 v32, 16, v57
+; VI-NEXT: v_add_u16_e32 v37, 3, v52
+; VI-NEXT: v_add_u16_e32 v38, 3, v51
+; VI-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; VI-NEXT: v_lshlrev_b32_e32 v32, 16, v46
; VI-NEXT: v_lshlrev_b32_e32 v31, 16, v31
-; VI-NEXT: v_add_u16_sdwa v48, v2, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
-; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
-; VI-NEXT: v_or_b32_e32 v32, v36, v32
+; VI-NEXT: v_add_u16_sdwa v49, v2, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
-; VI-NEXT: v_or_b32_e32 v31, v37, v31
+; VI-NEXT: v_or_b32_e32 v32, v37, v32
+; VI-NEXT: buffer_store_dword v38, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
+; VI-NEXT: v_or_b32_e32 v31, v38, v31
; VI-NEXT: v_add_u16_e32 v37, 3, v2
; VI-NEXT: v_add_u16_e32 v38, 3, v1
-; VI-NEXT: v_add_u16_sdwa v36, v1, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v48
+; VI-NEXT: v_add_u16_sdwa v44, v1, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v49
; VI-NEXT: v_or_b32_e32 v2, v37, v1
-; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v36
-; VI-NEXT: buffer_store_dword v38, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v44
+; VI-NEXT: v_add_u16_sdwa v48, v4, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v38, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
; VI-NEXT: v_or_b32_e32 v1, v38, v1
-; VI-NEXT: v_add_u16_sdwa v38, v4, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
-; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
; VI-NEXT: v_add_u16_e32 v37, 3, v4
-; VI-NEXT: v_add_u16_e32 v39, 3, v3
-; VI-NEXT: v_add_u16_sdwa v36, v3, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
-; VI-NEXT: v_lshlrev_b32_e32 v3, 16, v38
+; VI-NEXT: v_add_u16_e32 v38, 3, v3
+; VI-NEXT: v_add_u16_sdwa v61, v3, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+; VI-NEXT: v_lshlrev_b32_e32 v3, 16, v48
; VI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
; VI-NEXT: v_or_b32_e32 v4, v37, v3
-; VI-NEXT: v_lshlrev_b32_e32 v3, 16, v36
+; VI-NEXT: v_lshlrev_b32_e32 v3, 16, v61
; VI-NEXT: v_add_u16_sdwa v37, v6, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
-; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
-; VI-NEXT: v_or_b32_e32 v3, v39, v3
-; VI-NEXT: v_add_u16_e32 v39, 3, v6
-; VI-NEXT: v_add_u16_e32 v51, 3, v5
-; VI-NEXT: v_add_u16_sdwa v36, v5, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+; VI-NEXT: buffer_store_dword v38, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
+; VI-NEXT: v_or_b32_e32 v3, v38, v3
+; VI-NEXT: v_add_u16_e32 v38, 3, v6
+; VI-NEXT: v_add_u16_e32 v39, 3, v5
+; VI-NEXT: v_add_u16_sdwa v59, v5, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
; VI-NEXT: v_lshlrev_b32_e32 v5, 16, v37
-; VI-NEXT: v_or_b32_e32 v6, v39, v5
-; VI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
-; VI-NEXT: v_lshlrev_b32_e32 v5, 16, v36
-; VI-NEXT: v_add_u16_sdwa v36, v8, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
-; VI-NEXT: v_or_b32_e32 v5, v51, v5
-; VI-NEXT: v_add_u16_e32 v51, 3, v8
-; VI-NEXT: v_add_u16_e32 v39, 3, v7
-; VI-NEXT: v_add_u16_sdwa v8, v7, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
-; VI-NEXT: v_lshlrev_b32_e32 v7, 16, v36
-; VI-NEXT: v_or_b32_e32 v53, v51, v7
+; VI-NEXT: v_or_b32_e32 v6, v38, v5
+; VI-NEXT: v_lshlrev_b32_e32 v5, 16, v59
+; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
+; VI-NEXT: v_or_b32_e32 v5, v39, v5
+; VI-NEXT: v_add_u16_e32 v39, 3, v8
+; VI-NEXT: v_add_u16_sdwa v8, v8, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+; VI-NEXT: buffer_store_dword v38, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
+; VI-NEXT: v_add_u16_e32 v38, 3, v7
+; VI-NEXT: v_add_u16_sdwa v57, v7, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
; VI-NEXT: v_lshlrev_b32_e32 v7, 16, v8
-; VI-NEXT: v_or_b32_e32 v52, v39, v7
+; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
+; VI-NEXT: v_or_b32_e32 v39, v39, v7
+; VI-NEXT: v_lshlrev_b32_e32 v7, 16, v57
+; VI-NEXT: buffer_store_dword v38, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
+; VI-NEXT: v_or_b32_e32 v38, v38, v7
; VI-NEXT: v_add_u16_sdwa v7, v10, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
-; VI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
-; VI-NEXT: v_add_u16_e32 v39, 3, v10
-; VI-NEXT: v_add_u16_sdwa v10, v9, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
-; VI-NEXT: v_lshlrev_b32_e32 v8, 16, v7
-; VI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
-; VI-NEXT: v_add_u16_e32 v51, 3, v9
-; VI-NEXT: v_or_b32_e32 v9, v39, v8
-; VI-NEXT: v_lshlrev_b32_e32 v8, 16, v10
-; VI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
-; VI-NEXT: v_or_b32_e32 v8, v51, v8
-; VI-NEXT: v_add_u16_sdwa v51, v12, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
-; VI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
+; VI-NEXT: v_add_u16_e32 v50, 3, v10
+; VI-NEXT: v_add_u16_e32 v10, 3, v9
+; VI-NEXT: v_add_u16_sdwa v45, v9, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+; VI-NEXT: v_lshlrev_b32_e32 v9, 16, v7
+; VI-NEXT: v_or_b32_e32 v52, v50, v9
+; VI-NEXT: v_lshlrev_b32_e32 v9, 16, v45
+; VI-NEXT: v_or_b32_e32 v51, v10, v9
+; VI-NEXT: v_add_u16_sdwa v9, v12, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+; VI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
; VI-NEXT: v_add_u16_e32 v54, 3, v12
-; VI-NEXT: v_lshlrev_b32_e32 v10, 16, v51
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
-; VI-NEXT: v_add_u16_e32 v39, 3, v11
-; VI-NEXT: v_add_u16_sdwa v12, v11, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+; VI-NEXT: v_add_u16_sdwa v43, v11, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+; VI-NEXT: v_lshlrev_b32_e32 v10, 16, v9
+; VI-NEXT: buffer_store_dword v50, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
+; VI-NEXT: v_add_u16_e32 v50, 3, v11
+; VI-NEXT: v_or_b32_e32 v12, v54, v10
+; VI-NEXT: v_lshlrev_b32_e32 v10, 16, v43
+; VI-NEXT: v_add_u16_sdwa v62, v14, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+; VI-NEXT: buffer_store_dword v50, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
+; VI-NEXT: v_or_b32_e32 v11, v50, v10
+; VI-NEXT: v_add_u16_e32 v55, 3, v14
+; VI-NEXT: v_add_u16_sdwa v50, v13, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+; VI-NEXT: v_lshlrev_b32_e32 v10, 16, v62
; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
-; VI-NEXT: v_or_b32_e32 v11, v54, v10
-; VI-NEXT: v_add_u16_sdwa v54, v14, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
-; VI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
-; VI-NEXT: v_lshlrev_b32_e32 v10, 16, v12
-; VI-NEXT: v_add_u16_e32 v40, 3, v14
-; VI-NEXT: v_add_u16_sdwa v14, v13, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
-; VI-NEXT: v_lshlrev_b32_e32 v12, 16, v54
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
-; VI-NEXT: v_or_b32_e32 v10, v39, v10
-; VI-NEXT: v_add_u16_e32 v39, 3, v13
-; VI-NEXT: v_or_b32_e32 v13, v40, v12
-; VI-NEXT: v_lshlrev_b32_e32 v12, 16, v14
-; VI-NEXT: v_add_u16_sdwa v44, v16, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:404 ; 4-byte Folded Spill
-; VI-NEXT: v_or_b32_e32 v12, v39, v12
-; VI-NEXT: v_add_u16_sdwa v35, v15, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
-; VI-NEXT: v_add_u16_e32 v39, 3, v16
-; VI-NEXT: v_lshlrev_b32_e32 v14, 16, v44
-; VI-NEXT: v_add_u16_e32 v16, 3, v15
-; VI-NEXT: v_or_b32_e32 v15, v39, v14
-; VI-NEXT: v_lshlrev_b32_e32 v14, 16, v35
-; VI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:420 ; 4-byte Folded Spill
-; VI-NEXT: v_or_b32_e32 v14, v16, v14
-; VI-NEXT: v_lshrrev_b32_e32 v16, 8, v15
-; VI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v16, 8, v14
-; VI-NEXT: v_lshrrev_b64 v[14:15], 24, v[14:15]
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v14, 8, v13
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v14, 8, v12
-; VI-NEXT: v_lshrrev_b64 v[12:13], 24, v[12:13]
-; VI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v12, 8, v11
-; VI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v12, 8, v10
-; VI-NEXT: v_lshrrev_b64 v[10:11], 24, v[10:11]
-; VI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v10, 8, v9
-; VI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v10, 8, v8
-; VI-NEXT: v_lshrrev_b64 v[8:9], 24, v[8:9]
-; VI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v8, 8, v53
-; VI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v8, 8, v52
-; VI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:408 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:428 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[39:40], 24, v[52:53]
-; VI-NEXT: v_lshrrev_b32_e32 v8, 8, v6
-; VI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v8, 8, v5
-; VI-NEXT: v_lshrrev_b64 v[40:41], 24, v[5:6]
-; VI-NEXT: v_lshrrev_b32_e32 v5, 8, v4
-; VI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:468 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v5, 8, v3
+; VI-NEXT: v_add_u16_e32 v54, 3, v13
+; VI-NEXT: v_or_b32_e32 v14, v55, v10
+; VI-NEXT: v_lshlrev_b32_e32 v10, 16, v50
+; VI-NEXT: v_or_b32_e32 v13, v54, v10
+; VI-NEXT: v_add_u16_sdwa v10, v16, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+; VI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
+; VI-NEXT: v_add_u16_sdwa v54, v15, v35 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+; VI-NEXT: v_add_u16_e32 v16, 3, v16
+; VI-NEXT: v_add_u16_e32 v35, 3, v15
+; VI-NEXT: v_lshlrev_b32_e32 v15, 16, v10
+; VI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:404 ; 4-byte Folded Spill
+; VI-NEXT: v_or_b32_e32 v16, v16, v15
+; VI-NEXT: v_lshlrev_b32_e32 v15, 16, v54
+; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:400 ; 4-byte Folded Spill
+; VI-NEXT: v_or_b32_e32 v15, v35, v15
+; VI-NEXT: v_lshrrev_b32_e32 v35, 8, v16
+; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:412 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v35, 8, v15
+; VI-NEXT: v_lshrrev_b64 v[15:16], 24, v[15:16]
+; VI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v15, 8, v14
+; VI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v15, 8, v13
+; VI-NEXT: v_lshrrev_b64 v[13:14], 24, v[13:14]
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v13, 8, v12
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v13, 8, v11
+; VI-NEXT: v_lshrrev_b64 v[11:12], 24, v[11:12]
+; VI-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v11, 8, v52
+; VI-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v11, 8, v51
+; VI-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[11:12], 24, v[51:52]
+; VI-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v11, 8, v39
+; VI-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v11, 8, v38
+; VI-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[11:12], 24, v[38:39]
+; VI-NEXT: v_lshrrev_b32_e32 v12, 8, v6
+; VI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v12, 8, v5
+; VI-NEXT: v_lshrrev_b64 v[5:6], 24, v[5:6]
+; VI-NEXT: v_lshrrev_b32_e32 v6, 8, v4
+; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:456 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v6, 8, v3
; VI-NEXT: v_lshrrev_b64 v[41:42], 24, v[3:4]
; VI-NEXT: v_lshrrev_b32_e32 v3, 8, v2
-; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:480 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:464 ; 4-byte Folded Spill
; VI-NEXT: v_lshrrev_b32_e32 v3, 8, v1
-; VI-NEXT: v_lshrrev_b64 v[42:43], 24, v[1:2]
-; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v32
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v31
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[1:2], 24, v[31:32]
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v30
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:412 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v29
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:416 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[1:2], 24, v[29:30]
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v28
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:424 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v27
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:432 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[1:2], 24, v[27:28]
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v26
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:436 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v25
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:440 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[1:2], 24, v[25:26]
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v24
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:448 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v23
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:452 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[1:2], 24, v[23:24]
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v22
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:456 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v21
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:496 ; 4-byte Folded Spill
-; VI-NEXT: v_lshrrev_b64 v[1:2], 24, v[21:22]
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v31, v44
+; VI-NEXT: v_lshrrev_b64 v[1:2], 24, v[1:2]
+; VI-NEXT: v_lshrrev_b32_e32 v2, 8, v32
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v2, 8, v31
+; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:468 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[2:3], 24, v[31:32]
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v2, 8, v30
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:392 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v2, 8, v29
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:396 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[2:3], 24, v[29:30]
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v2, 8, v28
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:408 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v2, 8, v27
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:416 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[2:3], 24, v[27:28]
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v2, 8, v26
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:420 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v2, 8, v25
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:424 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[2:3], 24, v[25:26]
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v2, 8, v24
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:428 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v2, 8, v23
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:432 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[2:3], 24, v[23:24]
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v2, 8, v22
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:436 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v2, 8, v21
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:480 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[2:3], 24, v[21:22]
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v42, v1
; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v20
-; VI-NEXT: v_mov_b32_e32 v32, v54
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:500 ; 4-byte Folded Spill
-; VI-NEXT: v_bfe_u32 v1, v31, 8, 8
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
-; VI-NEXT: v_bfe_u32 v1, v32, 8, 8
-; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
-; VI-NEXT: v_mov_b32_e32 v35, v7
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
-; VI-NEXT: v_bfe_u32 v1, v51, 8, 8
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
-; VI-NEXT: v_bfe_u32 v1, v35, 8, 8
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
-; VI-NEXT: v_bfe_u32 v1, v36, 8, 8
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
-; VI-NEXT: v_bfe_u32 v1, v37, 8, 8
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
-; VI-NEXT: v_bfe_u32 v1, v38, 8, 8
-; VI-NEXT: v_lshrrev_b64 v[43:44], 24, v[19:20]
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:484 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v1, 8, v19
+; VI-NEXT: v_lshrrev_b32_e32 v3, 8, v18
+; VI-NEXT: v_lshrrev_b64 v[39:40], 24, v[17:18]
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:488 ; 4-byte Folded Spill
-; VI-NEXT: v_bfe_u32 v1, v48, 8, 8
-; VI-NEXT: v_lshrrev_b64 v[44:45], 24, v[17:18]
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:492 ; 4-byte Folded Spill
-; VI-NEXT: v_bfe_u32 v1, v57, 8, 8
-; VI-NEXT: v_mov_b32_e32 v45, v58
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:396 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b64 v[1:2], 24, v[19:20]
+; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:492 ; 4-byte Folded Spill
+; VI-NEXT: v_lshrrev_b32_e32 v3, 8, v17
+; VI-NEXT: v_mov_b32_e32 v40, v10
+; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:496 ; 4-byte Folded Spill
+; VI-NEXT: v_bfe_u32 v3, v40, 8, 8
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v31, v9
+; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
+; VI-NEXT: v_bfe_u32 v3, v62, 8, 8
+; VI-NEXT: v_mov_b32_e32 v2, v34
+; VI-NEXT: v_mov_b32_e32 v34, v7
+; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
+; VI-NEXT: v_bfe_u32 v3, v31, 8, 8
+; VI-NEXT: v_mov_b32_e32 v1, v36
+; VI-NEXT: v_mov_b32_e32 v36, v8
+; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
+; VI-NEXT: v_bfe_u32 v3, v34, 8, 8
+; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
+; VI-NEXT: v_bfe_u32 v3, v36, 8, 8
+; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; VI-NEXT: v_bfe_u32 v3, v37, 8, 8
+; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
+; VI-NEXT: v_bfe_u32 v3, v48, 8, 8
+; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:472 ; 4-byte Folded Spill
+; VI-NEXT: v_bfe_u32 v3, v49, 8, 8
+; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:476 ; 4-byte Folded Spill
+; VI-NEXT: v_bfe_u32 v3, v46, 8, 8
+; VI-NEXT: v_mov_b32_e32 v38, v54
+; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:388 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
+; VI-NEXT: v_bfe_u32 v54, v1, 8, 8
+; VI-NEXT: v_bfe_u32 v1, v2, 8, 8
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:440 ; 4-byte Folded Spill
; VI-NEXT: v_bfe_u32 v1, v47, 8, 8
; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:444 ; 4-byte Folded Spill
-; VI-NEXT: v_bfe_u32 v1, v45, 8, 8
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:460 ; 4-byte Folded Spill
+; VI-NEXT: v_bfe_u32 v1, v58, 8, 8
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:448 ; 4-byte Folded Spill
; VI-NEXT: v_bfe_u32 v1, v60, 8, 8
-; VI-NEXT: v_lshrrev_b32_e32 v56, 8, v19
-; VI-NEXT: v_lshrrev_b32_e32 v59, 8, v18
-; VI-NEXT: v_lshrrev_b32_e32 v61, 8, v17
-; VI-NEXT: v_bfe_u32 v58, v34, 8, 8
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:464 ; 4-byte Folded Spill
-; VI-NEXT: v_bfe_u32 v1, v62, 8, 8
-; VI-NEXT: v_bfe_u32 v46, v50, 8, 8
-; VI-NEXT: v_bfe_u32 v52, v33, 8, 8
-; VI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:476 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:484 ; 4-byte Folded Spill
-; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:472 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:452 ; 4-byte Folded Spill
+; VI-NEXT: v_bfe_u32 v1, v63, 8, 8
+; VI-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:384 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
+; VI-NEXT: v_mov_b32_e32 v35, v5
+; VI-NEXT: v_mov_b32_e32 v32, v11
+; VI-NEXT: v_mov_b32_e32 v55, v2
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:500 ; 4-byte Folded Spill
+; VI-NEXT: v_bfe_u32 v1, v33, 8, 8
+; VI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:460 ; 4-byte Folded Spill
+; VI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:504 ; 4-byte Folded Spill
; VI-NEXT: .LBB98_4: ; %end
; VI-NEXT: s_or_b64 exec, exec, s[4:5]
-; VI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:336 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:468 ; 4-byte Folded Reload
; VI-NEXT: s_mov_b32 s4, 0xc0c0004
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:348 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:484 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(7)
-; VI-NEXT: v_perm_b32 v5, v5, v6, s4
-; VI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(8)
-; VI-NEXT: v_perm_b32 v1, v1, v42, s4
+; VI-NEXT: v_perm_b32 v1, v44, v42, s4
+; VI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
-; VI-NEXT: s_waitcnt vmcnt(7)
-; VI-NEXT: v_perm_b32 v2, v2, v41, s4
+; VI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v2, v61, v41, s4
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
-; VI-NEXT: s_waitcnt vmcnt(3)
+; VI-NEXT: v_perm_b32 v3, v59, v35, s4
+; VI-NEXT: v_perm_b32 v4, v57, v32, s4
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_perm_b32 v9, v56, v39, s4
+; VI-NEXT: v_perm_b32 v10, v53, v10, s4
; VI-NEXT: v_perm_b32 v11, v11, v12, s4
; VI-NEXT: v_or_b32_e32 v1, v11, v1
-; VI-NEXT: v_perm_b32 v3, v3, v40, s4
-; VI-NEXT: v_perm_b32 v4, v4, v39, s4
-; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_perm_b32 v6, v6, v7, s4
-; VI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_perm_b32 v7, v7, v8, s4
-; VI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:344 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:480 ; 4-byte Folded Reload
-; VI-NEXT: s_waitcnt vmcnt(3)
-; VI-NEXT: v_perm_b32 v10, v49, v43, s4
-; VI-NEXT: v_perm_b32 v8, v8, v9, s4
-; VI-NEXT: v_perm_b32 v9, v55, v44, s4
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:328 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:464 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v5, v45, v5, s4
+; VI-NEXT: v_perm_b32 v6, v43, v6, s4
+; VI-NEXT: v_perm_b32 v7, v50, v7, s4
+; VI-NEXT: v_perm_b32 v8, v38, v8, s4
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v1, v11, s4
-; VI-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:492 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:476 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v11, v48, v11, s4
+; VI-NEXT: v_perm_b32 v11, v49, v11, s4
; VI-NEXT: v_lshlrev_b32_e32 v11, 16, v11
; VI-NEXT: v_or_b32_e32 v1, v1, v11
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:4
; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:356 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:476 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:460 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v1, v11, s4
; VI-NEXT: v_or_b32_e32 v1, v1, v2
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:8
; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:352 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:468 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:456 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v1, v2, s4
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:488 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:472 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v2, v38, v2, s4
+; VI-NEXT: v_perm_b32 v2, v48, v2, s4
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
; VI-NEXT: v_or_b32_e32 v1, v1, v2
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:12
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:300 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:280 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:364 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v3
; VI-NEXT: v_or_b32_e32 v1, v1, v2
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:16
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:268 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:360 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:324 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:304 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v2, v37, v2, s4
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
; VI-NEXT: v_or_b32_e32 v1, v1, v2
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:20
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v1, v2, s4
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v4
; VI-NEXT: v_or_b32_e32 v1, v1, v2
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:24
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:368 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:320 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:300 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v2, v36, v2, s4
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
; VI-NEXT: v_or_b32_e32 v1, v1, v2
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:28
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:280 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:340 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:348 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v5
; VI-NEXT: v_or_b32_e32 v1, v1, v2
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:32
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:336 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:344 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:316 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v2, v35, v2, s4
+; VI-NEXT: v_perm_b32 v2, v34, v2, s4
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
; VI-NEXT: v_or_b32_e32 v1, v1, v2
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:36
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:372 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v6
; VI-NEXT: v_or_b32_e32 v1, v1, v2
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:40
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:376 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:312 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v2, v51, v2, s4
+; VI-NEXT: v_perm_b32 v2, v31, v2, s4
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
; VI-NEXT: v_or_b32_e32 v1, v1, v2
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:44
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:404 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:380 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v7
; VI-NEXT: v_or_b32_e32 v1, v1, v2
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:48
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:408 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:384 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:308 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v2, v32, v2, s4
+; VI-NEXT: v_perm_b32 v2, v62, v2, s4
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
; VI-NEXT: v_or_b32_e32 v1, v1, v2
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:52
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:420 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:400 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v2, v1, s4
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v8
; VI-NEXT: v_or_b32_e32 v1, v1, v2
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:56
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:428 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:404 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:412 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v2, v1, s4
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:304 ; 4-byte Folded Reload
+; VI-NEXT: v_perm_b32 v1, v1, v2, s4
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v2, v31, v2, s4
+; VI-NEXT: v_perm_b32 v2, v40, v2, s4
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
; VI-NEXT: v_or_b32_e32 v1, v1, v2
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:60
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:384 ; 4-byte Folded Reload
-; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v9
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:332 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:496 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v1, v61, s4
+; VI-NEXT: v_perm_b32 v1, v1, v2, s4
+; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v9
; VI-NEXT: v_or_b32_e32 v1, v1, v2
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:64
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:380 ; 4-byte Folded Reload
-; VI-NEXT: v_perm_b32 v2, v33, v52, s4
-; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:316 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:492 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v1, v59, s4
+; VI-NEXT: v_perm_b32 v1, v1, v2, s4
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:504 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_perm_b32 v2, v33, v2, s4
+; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
; VI-NEXT: v_or_b32_e32 v1, v1, v2
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:68
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:392 ; 4-byte Folded Reload
-; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v10
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:320 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:488 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v1, v56, s4
+; VI-NEXT: v_perm_b32 v1, v1, v2, s4
+; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v10
; VI-NEXT: v_or_b32_e32 v1, v1, v2
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:72
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:388 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:500 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:308 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:484 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v1, v2, s4
-; VI-NEXT: v_perm_b32 v2, v50, v46, s4
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:500 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_perm_b32 v2, v63, v2, s4
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
; VI-NEXT: v_or_b32_e32 v1, v1, v2
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:76
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:400 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:496 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:340 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:480 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v1, v2, s4
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
-; VI-NEXT: v_perm_b32 v2, v63, v2, s4
+; VI-NEXT: v_perm_b32 v2, v2, v3, s4
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
; VI-NEXT: v_or_b32_e32 v1, v1, v2
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:80
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:456 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:436 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v1, v2, s4
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:472 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:452 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v2, v62, v2, s4
+; VI-NEXT: v_perm_b32 v2, v60, v2, s4
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
; VI-NEXT: v_or_b32_e32 v1, v1, v2
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:84
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:276 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:452 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:432 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v2, v1, v2, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
@@ -201359,85 +201376,87 @@ define <128 x i8> @bitcast_v64i16_to_v128i8(<64 x i16> %a, i32 %b) #0 {
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v2, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:88
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:448 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:428 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v1, v2, s4
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:464 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:448 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v2, v60, v2, s4
+; VI-NEXT: v_perm_b32 v2, v58, v2, s4
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
; VI-NEXT: v_or_b32_e32 v1, v1, v2
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:92
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:440 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:424 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v2, v1, v2, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_perm_b32 v1, v1, v3, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v2, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:96
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:436 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:420 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v1, v2, s4
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:460 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:444 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v2, v45, v2, s4
+; VI-NEXT: v_perm_b32 v2, v47, v2, s4
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
; VI-NEXT: v_or_b32_e32 v1, v1, v2
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:100
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:432 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:416 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v2, v1, v2, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_perm_b32 v1, v1, v3, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v2, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:104
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:424 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:408 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v1, v2, s4
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:444 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:440 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v2, v47, v2, s4
+; VI-NEXT: v_perm_b32 v2, v55, v2, s4
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
; VI-NEXT: v_or_b32_e32 v1, v1, v2
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:108
; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:416 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:396 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v2, v1, v2, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
; VI-NEXT: v_perm_b32 v1, v1, v3, s4
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v2, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:112
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:412 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:392 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v1, v1, v2, s4
-; VI-NEXT: v_perm_b32 v2, v34, v58, s4
-; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
-; VI-NEXT: v_or_b32_e32 v1, v1, v2
+; VI-NEXT: v_perm_b32 v2, v1, v2, s4
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload
+; VI-NEXT: s_waitcnt vmcnt(0)
+; VI-NEXT: v_perm_b32 v1, v1, v54, s4
+; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
+; VI-NEXT: v_or_b32_e32 v1, v2, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:116
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:272 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:332 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:276 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:324 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v2, v1, v2, s4
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
; VI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(1)
@@ -201445,13 +201464,13 @@ define <128 x i8> @bitcast_v64i16_to_v128i8(<64 x i16> %a, i32 %b) #0 {
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
; VI-NEXT: v_or_b32_e32 v1, v2, v1
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:120
-; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:268 ; 4-byte Folded Reload
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:328 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:272 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:312 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
; VI-NEXT: v_perm_b32 v1, v1, v2, s4
-; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:396 ; 4-byte Folded Reload
+; VI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:388 ; 4-byte Folded Reload
; VI-NEXT: s_waitcnt vmcnt(0)
-; VI-NEXT: v_perm_b32 v2, v57, v2, s4
+; VI-NEXT: v_perm_b32 v2, v46, v2, s4
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
; VI-NEXT: v_or_b32_e32 v1, v1, v2
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:124
@@ -201507,395 +201526,383 @@ define <128 x i8> @bitcast_v64i16_to_v128i8(<64 x i16> %a, i32 %b) #0 {
; GFX9-NEXT: ; implicit-def: $vgpr40
; GFX9-NEXT: ; kill: killed $vgpr40
; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: ; implicit-def: $vgpr34
; GFX9-NEXT: ; kill: killed $vgpr40
; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
; GFX9-NEXT: ; kill: killed $vgpr40
; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
; GFX9-NEXT: ; kill: killed $vgpr40
; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
; GFX9-NEXT: ; kill: killed $vgpr40
; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
; GFX9-NEXT: ; kill: killed $vgpr40
; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
; GFX9-NEXT: ; kill: killed $vgpr40
; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
; GFX9-NEXT: ; kill: killed $vgpr40
; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
; GFX9-NEXT: ; kill: killed $vgpr40
; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
; GFX9-NEXT: ; kill: killed $vgpr40
; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
; GFX9-NEXT: ; kill: killed $vgpr40
; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
; GFX9-NEXT: ; kill: killed $vgpr40
; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
; GFX9-NEXT: ; kill: killed $vgpr40
; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
; GFX9-NEXT: ; kill: killed $vgpr40
; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
; GFX9-NEXT: ; kill: killed $vgpr40
; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
-; GFX9-NEXT: ; kill: killed $vgpr40
-; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
+; GFX9-NEXT: ; implicit-def: $vgpr39
; GFX9-NEXT: ; kill: killed $vgpr40
; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
; GFX9-NEXT: ; kill: killed $vgpr40
; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
; GFX9-NEXT: ; kill: killed $vgpr40
; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
; GFX9-NEXT: ; kill: killed $vgpr40
; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
; GFX9-NEXT: ; kill: killed $vgpr40
; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
; GFX9-NEXT: ; kill: killed $vgpr40
; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
+; GFX9-NEXT: ; kill: killed $vgpr39
+; GFX9-NEXT: ; implicit-def: $vgpr39
; GFX9-NEXT: ; kill: killed $vgpr40
; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: ; kill: killed $vgpr34
-; GFX9-NEXT: ; implicit-def: $vgpr34
+; GFX9-NEXT: ; kill: killed $vgpr39
; GFX9-NEXT: ; kill: killed $vgpr40
; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: ; implicit-def: $vgpr63
-; GFX9-NEXT: ; implicit-def: $vgpr62
-; GFX9-NEXT: ; implicit-def: $vgpr61
-; GFX9-NEXT: ; implicit-def: $vgpr60
-; GFX9-NEXT: ; implicit-def: $vgpr59
-; GFX9-NEXT: ; implicit-def: $vgpr58
-; GFX9-NEXT: ; implicit-def: $vgpr57
-; GFX9-NEXT: ; implicit-def: $vgpr56
-; GFX9-NEXT: ; implicit-def: $vgpr46
-; GFX9-NEXT: ; implicit-def: $vgpr45
-; GFX9-NEXT: ; implicit-def: $vgpr43
; GFX9-NEXT: ; implicit-def: $vgpr39
-; GFX9-NEXT: ; implicit-def: $vgpr53
-; GFX9-NEXT: ; implicit-def: $vgpr51
+; GFX9-NEXT: ; implicit-def: $vgpr44
+; GFX9-NEXT: ; implicit-def: $vgpr43
+; GFX9-NEXT: ; implicit-def: $vgpr41
+; GFX9-NEXT: ; implicit-def: $vgpr52
; GFX9-NEXT: ; implicit-def: $vgpr50
-; GFX9-NEXT: ; implicit-def: $vgpr49
-; GFX9-NEXT: ; kill: killed $vgpr34
+; GFX9-NEXT: ; implicit-def: $vgpr51
; GFX9-NEXT: ; implicit-def: $vgpr38
-; GFX9-NEXT: ; implicit-def: $vgpr48
; GFX9-NEXT: ; implicit-def: $vgpr37
+; GFX9-NEXT: ; implicit-def: $vgpr36
; GFX9-NEXT: ; implicit-def: $vgpr35
+; GFX9-NEXT: ; implicit-def: $vgpr53
; GFX9-NEXT: ; implicit-def: $vgpr34
+; GFX9-NEXT: ; implicit-def: $vgpr63
+; GFX9-NEXT: ; implicit-def: $vgpr49
+; GFX9-NEXT: ; implicit-def: $vgpr60
+; GFX9-NEXT: ; implicit-def: $vgpr48
+; GFX9-NEXT: ; implicit-def: $vgpr59
+; GFX9-NEXT: ; implicit-def: $vgpr58
+; GFX9-NEXT: ; implicit-def: $vgpr56
+; GFX9-NEXT: ; implicit-def: $vgpr57
; GFX9-NEXT: ; implicit-def: $vgpr47
-; GFX9-NEXT: ; implicit-def: $vgpr36
-; GFX9-NEXT: ; implicit-def: $vgpr44
-; GFX9-NEXT: ; implicit-def: $vgpr42
+; GFX9-NEXT: ; implicit-def: $vgpr45
+; GFX9-NEXT: ; implicit-def: $vgpr46
; GFX9-NEXT: ; implicit-def: $vgpr55
+; GFX9-NEXT: ; implicit-def: $vgpr61
; GFX9-NEXT: ; implicit-def: $vgpr54
-; GFX9-NEXT: ; implicit-def: $vgpr52
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr62
+; GFX9-NEXT: ; kill: killed $vgpr40
+; GFX9-NEXT: ; implicit-def: $vgpr42
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
-; GFX9-NEXT: ; implicit-def: $vgpr40
-; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; GFX9-NEXT: ; implicit-def: $vgpr39
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
-; GFX9-NEXT: s_waitcnt vmcnt(33)
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
+; GFX9-NEXT: s_waitcnt vmcnt(29)
; GFX9-NEXT: v_cmp_ne_u32_e32 vcc, 0, v33
; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: ; kill: killed $vgpr33
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: ; kill: killed $vgpr33
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: ; kill: killed $vgpr33
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: ; kill: killed $vgpr33
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: ; kill: killed $vgpr33
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: ; kill: killed $vgpr33
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: ; kill: killed $vgpr33
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: ; kill: killed $vgpr33
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: ; kill: killed $vgpr33
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: ; kill: killed $vgpr33
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: ; kill: killed $vgpr33
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: ; kill: killed $vgpr33
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: ; kill: killed $vgpr33
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: ; kill: killed $vgpr33
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: ; kill: killed $vgpr33
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: ; kill: killed $vgpr33
+; GFX9-NEXT: ; implicit-def: $vgpr33
+; GFX9-NEXT: ; kill: killed $vgpr33
+; GFX9-NEXT: ; implicit-def: $vgpr33
; GFX9-NEXT: s_and_saveexec_b64 s[4:5], vcc
; GFX9-NEXT: s_xor_b64 s[4:5], exec, s[4:5]
; GFX9-NEXT: s_cbranch_execz .LBB98_2
; GFX9-NEXT: ; %bb.1: ; %cmp.false
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v16
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v16
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v16
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v15
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:388 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v15
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:384 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v14
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v14
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v14
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:392 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v13
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:400 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v13
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:396 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v12
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v12
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v12
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:404 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v10
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v10
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v8
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[39:40], 24, v[15:16]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v8
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v6
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v6
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[39:40], 24, v[13:14]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v4
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v4
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v2
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[39:40], 24, v[11:12]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v2
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v32
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v32
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[39:40], 24, v[9:10]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v32
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
-; GFX9-NEXT: s_waitcnt vmcnt(58)
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
+; GFX9-NEXT: s_waitcnt vmcnt(54)
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v31
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v31
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[39:40], 24, v[7:8]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v30
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v30
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v30
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[39:40], 24, v[5:6]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v29
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v29
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v28
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[39:40], 24, v[3:4]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v28
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v28
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v27
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[39:40], 24, v[31:32]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v27
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v26
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v26
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[39:40], 24, v[29:30]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v26
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v25
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v25
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[39:40], 24, v[27:28]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v24
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v24
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v24
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[39:40], 24, v[25:26]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v23
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v23
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v22
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[39:40], 24, v[23:24]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v22
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v22
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[15:16]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[13:14]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[11:12]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[9:10]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[7:8]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[5:6]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[3:4]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[1:2]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[31:32]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[29:30]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[27:28]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[25:26]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[23:24]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[21:22]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[19:20]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v21
+; GFX9-NEXT: v_lshrrev_b64 v[39:40], 24, v[21:22]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v21
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v20
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[17:18]
-; GFX9-NEXT: v_lshrrev_b32_e32 v40, 16, v1
-; GFX9-NEXT: v_lshrrev_b32_e32 v41, 24, v18
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v20
+; GFX9-NEXT: v_lshrrev_b64 v[39:40], 24, v[19:20]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v20
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:384 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v19
+; GFX9-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v11
-; GFX9-NEXT: v_lshrrev_b32_e32 v50, 8, v11
-; GFX9-NEXT: v_lshrrev_b32_e32 v51, 8, v10
-; GFX9-NEXT: v_lshrrev_b32_e32 v53, 16, v9
-; GFX9-NEXT: v_lshrrev_b32_e32 v39, 8, v9
-; GFX9-NEXT: v_lshrrev_b32_e32 v43, 8, v8
-; GFX9-NEXT: v_lshrrev_b32_e32 v45, 16, v7
-; GFX9-NEXT: v_lshrrev_b32_e32 v46, 8, v7
-; GFX9-NEXT: v_lshrrev_b32_e32 v56, 8, v6
-; GFX9-NEXT: v_lshrrev_b32_e32 v57, 16, v5
-; GFX9-NEXT: v_lshrrev_b32_e32 v58, 8, v5
-; GFX9-NEXT: v_lshrrev_b32_e32 v59, 8, v4
-; GFX9-NEXT: v_lshrrev_b32_e32 v60, 16, v3
-; GFX9-NEXT: v_lshrrev_b32_e32 v61, 8, v3
-; GFX9-NEXT: v_lshrrev_b32_e32 v62, 8, v2
-; GFX9-NEXT: v_lshrrev_b32_e32 v63, 8, v1
-; GFX9-NEXT: v_lshrrev_b32_e32 v52, 16, v21
-; GFX9-NEXT: v_lshrrev_b32_e32 v54, 8, v21
-; GFX9-NEXT: v_lshrrev_b32_e32 v55, 24, v20
-; GFX9-NEXT: v_lshrrev_b32_e32 v42, 16, v20
-; GFX9-NEXT: v_lshrrev_b32_e32 v44, 8, v20
-; GFX9-NEXT: v_lshrrev_b32_e32 v36, 16, v19
-; GFX9-NEXT: v_lshrrev_b32_e32 v47, 8, v19
-; GFX9-NEXT: v_lshrrev_b32_e32 v35, 16, v18
-; GFX9-NEXT: v_lshrrev_b32_e32 v37, 8, v18
-; GFX9-NEXT: v_lshrrev_b32_e32 v48, 16, v17
-; GFX9-NEXT: v_lshrrev_b32_e32 v38, 8, v17
-; GFX9-NEXT: v_mov_b32_e32 v34, v41
-; GFX9-NEXT: v_mov_b32_e32 v33, v40
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:388 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v18
+; GFX9-NEXT: v_lshrrev_b64 v[42:43], 24, v[1:2]
+; GFX9-NEXT: v_lshrrev_b64 v[40:41], 24, v[17:18]
+; GFX9-NEXT: v_lshrrev_b32_e32 v46, 16, v15
+; GFX9-NEXT: v_lshrrev_b32_e32 v45, 8, v15
+; GFX9-NEXT: v_lshrrev_b32_e32 v47, 8, v14
+; GFX9-NEXT: v_lshrrev_b32_e32 v57, 16, v13
+; GFX9-NEXT: v_lshrrev_b32_e32 v56, 8, v13
+; GFX9-NEXT: v_lshrrev_b32_e32 v58, 8, v12
+; GFX9-NEXT: v_lshrrev_b32_e32 v59, 16, v11
+; GFX9-NEXT: v_lshrrev_b32_e32 v48, 8, v11
+; GFX9-NEXT: v_lshrrev_b32_e32 v60, 8, v10
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v9
+; GFX9-NEXT: v_lshrrev_b32_e32 v63, 8, v9
+; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v8
+; GFX9-NEXT: v_lshrrev_b32_e32 v53, 16, v7
+; GFX9-NEXT: v_lshrrev_b32_e32 v35, 8, v7
+; GFX9-NEXT: v_lshrrev_b32_e32 v36, 8, v6
+; GFX9-NEXT: v_lshrrev_b32_e32 v37, 16, v5
+; GFX9-NEXT: v_lshrrev_b32_e32 v38, 8, v5
+; GFX9-NEXT: v_lshrrev_b32_e32 v51, 8, v4
+; GFX9-NEXT: v_lshrrev_b32_e32 v50, 16, v3
+; GFX9-NEXT: v_lshrrev_b32_e32 v52, 8, v3
+; GFX9-NEXT: v_lshrrev_b32_e32 v44, 8, v1
+; GFX9-NEXT: v_lshrrev_b32_e32 v62, 16, v19
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:392 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v18
+; GFX9-NEXT: v_lshrrev_b32_e32 v54, 8, v18
+; GFX9-NEXT: v_lshrrev_b32_e32 v61, 16, v17
+; GFX9-NEXT: v_lshrrev_b32_e32 v55, 8, v17
+; GFX9-NEXT: v_lshrrev_b32_e32 v43, 16, v1
+; GFX9-NEXT: v_lshrrev_b32_e32 v41, 8, v2
; GFX9-NEXT: .LBB98_2: ; %Flow
; GFX9-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]
; GFX9-NEXT: s_cbranch_execz .LBB98_4
@@ -201905,493 +201912,485 @@ define <128 x i8> @bitcast_v64i16_to_v128i8(<64 x i16> %a, i32 %b) #0 {
; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[15:16]
; GFX9-NEXT: v_pk_add_u16 v14, v14, 3 op_sel_hi:[1,0]
; GFX9-NEXT: v_pk_add_u16 v13, v13, 3 op_sel_hi:[1,0]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[13:14]
; GFX9-NEXT: v_pk_add_u16 v12, v12, 3 op_sel_hi:[1,0]
; GFX9-NEXT: v_pk_add_u16 v11, v11, 3 op_sel_hi:[1,0]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[11:12]
; GFX9-NEXT: v_pk_add_u16 v10, v10, 3 op_sel_hi:[1,0]
; GFX9-NEXT: v_pk_add_u16 v9, v9, 3 op_sel_hi:[1,0]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[9:10]
; GFX9-NEXT: v_pk_add_u16 v8, v8, 3 op_sel_hi:[1,0]
; GFX9-NEXT: v_pk_add_u16 v7, v7, 3 op_sel_hi:[1,0]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[7:8]
; GFX9-NEXT: v_pk_add_u16 v6, v6, 3 op_sel_hi:[1,0]
; GFX9-NEXT: v_pk_add_u16 v5, v5, 3 op_sel_hi:[1,0]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[5:6]
; GFX9-NEXT: v_pk_add_u16 v4, v4, 3 op_sel_hi:[1,0]
; GFX9-NEXT: v_pk_add_u16 v3, v3, 3 op_sel_hi:[1,0]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[3:4]
-; GFX9-NEXT: v_pk_add_u16 v2, v2, 3 op_sel_hi:[1,0]
-; GFX9-NEXT: v_pk_add_u16 v1, v1, 3 op_sel_hi:[1,0]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[1:2]
; GFX9-NEXT: v_pk_add_u16 v32, v32, 3 op_sel_hi:[1,0]
-; GFX9-NEXT: s_waitcnt vmcnt(46)
+; GFX9-NEXT: s_waitcnt vmcnt(40)
; GFX9-NEXT: v_pk_add_u16 v31, v31, 3 op_sel_hi:[1,0]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[31:32]
; GFX9-NEXT: v_pk_add_u16 v30, v30, 3 op_sel_hi:[1,0]
; GFX9-NEXT: v_pk_add_u16 v29, v29, 3 op_sel_hi:[1,0]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[29:30]
; GFX9-NEXT: v_pk_add_u16 v28, v28, 3 op_sel_hi:[1,0]
; GFX9-NEXT: v_pk_add_u16 v27, v27, 3 op_sel_hi:[1,0]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[27:28]
; GFX9-NEXT: v_pk_add_u16 v26, v26, 3 op_sel_hi:[1,0]
; GFX9-NEXT: v_pk_add_u16 v25, v25, 3 op_sel_hi:[1,0]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[25:26]
; GFX9-NEXT: v_pk_add_u16 v24, v24, 3 op_sel_hi:[1,0]
; GFX9-NEXT: v_pk_add_u16 v23, v23, 3 op_sel_hi:[1,0]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[23:24]
; GFX9-NEXT: v_pk_add_u16 v22, v22, 3 op_sel_hi:[1,0]
; GFX9-NEXT: v_pk_add_u16 v21, v21, 3 op_sel_hi:[1,0]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[21:22]
; GFX9-NEXT: v_pk_add_u16 v20, v20, 3 op_sel_hi:[1,0]
; GFX9-NEXT: v_pk_add_u16 v19, v19, 3 op_sel_hi:[1,0]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[19:20]
-; GFX9-NEXT: v_pk_add_u16 v18, v18, 3 op_sel_hi:[1,0]
-; GFX9-NEXT: v_pk_add_u16 v17, v17, 3 op_sel_hi:[1,0]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[33:34], 24, v[17:18]
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v32
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v32
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v32
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v31
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v31
+; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v16
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v30
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v16
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v30
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v16
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v30
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v15
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v29
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:388 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v15
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v29
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:384 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v14
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v28
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v14
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v28
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v14
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v28
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:392 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v13
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v27
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:400 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v13
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v27
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:396 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v12
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v26
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v12
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v26
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v12
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v26
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:404 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v10
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v25
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v10
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v25
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v8
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v24
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v8
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v24
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v6
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v24
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v6
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v23
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v4
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v23
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
+; GFX9-NEXT: v_pk_add_u16 v2, v2, 3 op_sel_hi:[1,0]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v4
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v22
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v2
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 16, v22
-; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v2
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v22
-; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v11
-; GFX9-NEXT: v_lshrrev_b32_e32 v50, 8, v11
-; GFX9-NEXT: v_lshrrev_b32_e32 v51, 8, v10
-; GFX9-NEXT: v_lshrrev_b32_e32 v53, 16, v9
-; GFX9-NEXT: v_lshrrev_b32_e32 v39, 8, v9
-; GFX9-NEXT: v_lshrrev_b32_e32 v43, 8, v8
-; GFX9-NEXT: v_lshrrev_b32_e32 v45, 16, v7
-; GFX9-NEXT: v_lshrrev_b32_e32 v46, 8, v7
-; GFX9-NEXT: v_lshrrev_b32_e32 v56, 8, v6
-; GFX9-NEXT: v_lshrrev_b32_e32 v57, 16, v5
-; GFX9-NEXT: v_lshrrev_b32_e32 v58, 8, v5
-; GFX9-NEXT: v_lshrrev_b32_e32 v59, 8, v4
-; GFX9-NEXT: v_lshrrev_b32_e32 v60, 16, v3
-; GFX9-NEXT: v_lshrrev_b32_e32 v61, 8, v3
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v32
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v32
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v32
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v31
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v31
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v30
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v30
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v30
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v29
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v29
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v28
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v28
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v28
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v27
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v27
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v26
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v26
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v26
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v25
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v25
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v24
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v24
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v24
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v23
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v23
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v22
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v22
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v22
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v21
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v21
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v20
; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v62, 8, v2
-; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v1
-; GFX9-NEXT: v_lshrrev_b32_e32 v63, 8, v1
-; GFX9-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v52, 16, v21
-; GFX9-NEXT: v_lshrrev_b32_e32 v54, 8, v21
-; GFX9-NEXT: v_lshrrev_b32_e32 v55, 24, v20
-; GFX9-NEXT: v_lshrrev_b32_e32 v42, 16, v20
-; GFX9-NEXT: v_lshrrev_b32_e32 v44, 8, v20
-; GFX9-NEXT: v_lshrrev_b32_e32 v36, 16, v19
-; GFX9-NEXT: v_lshrrev_b32_e32 v47, 8, v19
-; GFX9-NEXT: v_lshrrev_b32_e32 v34, 24, v18
-; GFX9-NEXT: v_lshrrev_b32_e32 v35, 16, v18
-; GFX9-NEXT: v_lshrrev_b32_e32 v37, 8, v18
-; GFX9-NEXT: v_lshrrev_b32_e32 v48, 16, v17
-; GFX9-NEXT: v_lshrrev_b32_e32 v38, 8, v17
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v20
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v20
+; GFX9-NEXT: v_pk_add_u16 v18, v18, 3 op_sel_hi:[1,0]
+; GFX9-NEXT: v_pk_add_u16 v17, v17, 3 op_sel_hi:[1,0]
+; GFX9-NEXT: v_pk_add_u16 v1, v1, 3 op_sel_hi:[1,0]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:384 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 8, v19
+; GFX9-NEXT: v_lshrrev_b64 v[42:43], 24, v[1:2]
+; GFX9-NEXT: v_lshrrev_b64 v[40:41], 24, v[17:18]
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:388 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 24, v18
+; GFX9-NEXT: v_lshrrev_b32_e32 v46, 16, v15
+; GFX9-NEXT: v_lshrrev_b32_e32 v45, 8, v15
+; GFX9-NEXT: v_lshrrev_b32_e32 v47, 8, v14
+; GFX9-NEXT: v_lshrrev_b32_e32 v57, 16, v13
+; GFX9-NEXT: v_lshrrev_b32_e32 v56, 8, v13
+; GFX9-NEXT: v_lshrrev_b32_e32 v58, 8, v12
+; GFX9-NEXT: v_lshrrev_b32_e32 v59, 16, v11
+; GFX9-NEXT: v_lshrrev_b32_e32 v48, 8, v11
+; GFX9-NEXT: v_lshrrev_b32_e32 v60, 8, v10
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v9
+; GFX9-NEXT: v_lshrrev_b32_e32 v63, 8, v9
+; GFX9-NEXT: v_lshrrev_b32_e32 v34, 8, v8
+; GFX9-NEXT: v_lshrrev_b32_e32 v53, 16, v7
+; GFX9-NEXT: v_lshrrev_b32_e32 v35, 8, v7
+; GFX9-NEXT: v_lshrrev_b32_e32 v36, 8, v6
+; GFX9-NEXT: v_lshrrev_b32_e32 v37, 16, v5
+; GFX9-NEXT: v_lshrrev_b32_e32 v38, 8, v5
+; GFX9-NEXT: v_lshrrev_b32_e32 v51, 8, v4
+; GFX9-NEXT: v_lshrrev_b32_e32 v50, 16, v3
+; GFX9-NEXT: v_lshrrev_b32_e32 v52, 8, v3
+; GFX9-NEXT: v_lshrrev_b32_e32 v41, 8, v2
+; GFX9-NEXT: v_lshrrev_b32_e32 v43, 16, v1
+; GFX9-NEXT: v_lshrrev_b32_e32 v44, 8, v1
+; GFX9-NEXT: v_lshrrev_b32_e32 v62, 16, v19
+; GFX9-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:392 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v33, 16, v18
+; GFX9-NEXT: v_lshrrev_b32_e32 v54, 8, v18
+; GFX9-NEXT: v_lshrrev_b32_e32 v61, 16, v17
+; GFX9-NEXT: v_lshrrev_b32_e32 v55, 8, v17
; GFX9-NEXT: .LBB98_4: ; %end
; GFX9-NEXT: s_or_b64 exec, exec, s[4:5]
-; GFX9-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
; GFX9-NEXT: s_mov_b32 s4, 0xc0c0004
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v41, v2, v62, s4
-; GFX9-NEXT: v_perm_b32 v9, v9, v39, s4
-; GFX9-NEXT: v_perm_b32 v11, v11, v50, s4
-; GFX9-NEXT: v_perm_b32 v10, v10, v51, s4
-; GFX9-NEXT: v_perm_b32 v3, v3, v61, s4
-; GFX9-NEXT: v_perm_b32 v4, v4, v59, s4
-; GFX9-NEXT: v_perm_b32 v5, v5, v58, s4
-; GFX9-NEXT: v_perm_b32 v6, v6, v56, s4
-; GFX9-NEXT: v_perm_b32 v7, v7, v46, s4
-; GFX9-NEXT: v_perm_b32 v8, v8, v43, s4
-; GFX9-NEXT: v_perm_b32 v17, v17, v38, s4
-; GFX9-NEXT: v_perm_b32 v18, v18, v37, s4
-; GFX9-NEXT: v_perm_b32 v33, v33, v40, s4
-; GFX9-NEXT: v_perm_b32 v40, v1, v63, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_perm_b32 v60, v60, v1, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_perm_b32 v57, v57, v1, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_perm_b32 v45, v45, v1, s4
+; GFX9-NEXT: v_perm_b32 v42, v43, v42, s4
+; GFX9-NEXT: v_perm_b32 v43, v1, v44, s4
+; GFX9-NEXT: v_perm_b32 v41, v2, v41, s4
; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v6, v6, v36, s4
+; GFX9-NEXT: v_perm_b32 v8, v8, v34, s4
+; GFX9-NEXT: v_perm_b32 v7, v7, v35, s4
+; GFX9-NEXT: v_perm_b32 v5, v5, v38, s4
+; GFX9-NEXT: v_perm_b32 v11, v11, v48, s4
+; GFX9-NEXT: v_perm_b32 v3, v3, v52, s4
+; GFX9-NEXT: v_perm_b32 v4, v4, v51, s4
+; GFX9-NEXT: v_perm_b32 v9, v9, v63, s4
+; GFX9-NEXT: v_perm_b32 v10, v10, v60, s4
+; GFX9-NEXT: v_perm_b32 v12, v12, v58, s4
+; GFX9-NEXT: v_perm_b32 v13, v13, v56, s4
+; GFX9-NEXT: v_perm_b32 v14, v14, v47, s4
+; GFX9-NEXT: v_perm_b32 v15, v15, v45, s4
+; GFX9-NEXT: v_perm_b32 v17, v17, v55, s4
+; GFX9-NEXT: v_perm_b32 v18, v18, v54, s4
; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_perm_b32 v53, v53, v1, s4
+; GFX9-NEXT: v_perm_b32 v50, v50, v1, s4
; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_perm_b32 v39, v49, v1, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:404 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v12, v12, v1, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:400 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v37, v37, v1, s4
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_perm_b32 v49, v1, v49, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:396 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v13, v13, v1, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:392 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v14, v14, v1, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:388 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v36, v53, v1, s4
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_perm_b32 v50, v1, v50, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:384 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v15, v15, v1, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:380 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v34, v49, v1, s4
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v49, v61, v40, s4
+; GFX9-NEXT: s_waitcnt vmcnt(1)
+; GFX9-NEXT: v_perm_b32 v35, v59, v1, s4
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(1)
+; GFX9-NEXT: v_perm_b32 v38, v57, v1, s4
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(1)
+; GFX9-NEXT: v_perm_b32 v48, v46, v1, s4
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:364 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v16, v16, v1, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_perm_b32 v48, v48, v1, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_perm_b32 v36, v36, v1, s4
-; GFX9-NEXT: v_lshl_or_b32 v1, v33, 16, v40
+; GFX9-NEXT: v_perm_b32 v39, v62, v1, s4
+; GFX9-NEXT: v_lshl_or_b32 v1, v42, 16, v43
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:372 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:356 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:376 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:360 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v41
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:4
-; GFX9-NEXT: v_lshl_or_b32 v1, v60, 16, v3
+; GFX9-NEXT: v_lshl_or_b32 v1, v50, 16, v3
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:8
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:364 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:348 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:368 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:352 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v4
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:12
-; GFX9-NEXT: v_lshl_or_b32 v1, v57, 16, v5
+; GFX9-NEXT: v_lshl_or_b32 v1, v37, 16, v5
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:16
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:352 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:336 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:360 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:344 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v6
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:20
-; GFX9-NEXT: v_lshl_or_b32 v1, v45, 16, v7
+; GFX9-NEXT: v_lshl_or_b32 v1, v36, 16, v7
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:24
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:332 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:316 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:336 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:320 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v8
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:28
-; GFX9-NEXT: v_lshl_or_b32 v1, v53, 16, v9
+; GFX9-NEXT: v_lshl_or_b32 v1, v34, 16, v9
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:32
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:308 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:316 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v10
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:36
-; GFX9-NEXT: v_lshl_or_b32 v1, v39, 16, v11
+; GFX9-NEXT: v_lshl_or_b32 v1, v35, 16, v11
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:40
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:272 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:276 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v12
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:44
-; GFX9-NEXT: v_lshl_or_b32 v1, v49, 16, v13
+; GFX9-NEXT: v_lshl_or_b32 v1, v38, 16, v13
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:48
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:272 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v14
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:52
-; GFX9-NEXT: v_lshl_or_b32 v1, v50, 16, v15
+; GFX9-NEXT: v_lshl_or_b32 v1, v48, 16, v15
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:56
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v16
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:60
-; GFX9-NEXT: v_lshl_or_b32 v1, v48, 16, v17
+; GFX9-NEXT: v_lshl_or_b32 v1, v49, 16, v17
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:64
-; GFX9-NEXT: v_perm_b32 v1, v35, v34, s4
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:392 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_perm_b32 v1, v33, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v18
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:68
-; GFX9-NEXT: v_perm_b32 v1, v19, v47, s4
-; GFX9-NEXT: v_lshl_or_b32 v1, v36, 16, v1
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:388 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_perm_b32 v1, v19, v1, s4
+; GFX9-NEXT: v_lshl_or_b32 v1, v39, 16, v1
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:72
-; GFX9-NEXT: v_perm_b32 v1, v20, v44, s4
-; GFX9-NEXT: v_perm_b32 v2, v42, v55, s4
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:384 ; 4-byte Folded Reload
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:376 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:380 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(2)
+; GFX9-NEXT: v_perm_b32 v1, v20, v1, s4
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_perm_b32 v2, v3, v2, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v2, 16, v1
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:76
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
-; GFX9-NEXT: v_perm_b32 v1, v21, v54, s4
-; GFX9-NEXT: s_waitcnt vmcnt(1)
-; GFX9-NEXT: v_perm_b32 v2, v52, v2, s4
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:368 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_perm_b32 v2, v3, v2, s4
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:372 ; 4-byte Folded Reload
+; GFX9-NEXT: s_waitcnt vmcnt(0)
+; GFX9-NEXT: v_perm_b32 v1, v21, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v2, 16, v1
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:80
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:356 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:340 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v3, v22, v1, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:344 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:348 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:328 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:332 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v3
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:84
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:340 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:324 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v2, v23, v1, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:328 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:312 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_perm_b32 v1, v1, v3, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v2
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:88
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:324 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:308 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v3, v24, v1, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:312 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:320 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:300 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:304 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v3
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:92
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:304 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v2, v25, v1, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:300 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_perm_b32 v1, v1, v3, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v2
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:96
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:280 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v3, v26, v1, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:280 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:268 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v3
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:100
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:276 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v2, v27, v1, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:268 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_perm_b32 v1, v1, v3, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v2
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:104
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v3, v28, v1, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v3
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:108
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v2, v29, v1, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_perm_b32 v1, v1, v3, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v2
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:112
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v3, v30, v1, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v3
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:116
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v2, v31, v1, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(1)
; GFX9-NEXT: v_perm_b32 v1, v1, v3, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v2
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:120
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v3, v32, v1, s4
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
; GFX9-NEXT: v_lshl_or_b32 v1, v1, 16, v3
@@ -202422,69 +202421,69 @@ define <128 x i8> @bitcast_v64i16_to_v128i8(<64 x i16> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: scratch_load_b32 v33, off, s32 offset:8
; GFX11-TRUE16-NEXT: scratch_load_b32 v32, off, s32 offset:4
; GFX11-TRUE16-NEXT: scratch_load_b32 v31, off, s32
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr165_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr69_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr164_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr163_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr67_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr162_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr161_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr160_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr66_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr151_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr68_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr150_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr149_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr65_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr148_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr147_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr146_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr67_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr64_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr145_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr144_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr132_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr131_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr66_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr54_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr130_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr129_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr128_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr118_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr53_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr116_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr114_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr118_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr115_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr112_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr52_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr49_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr102_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr99_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr97_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr101_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr100_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr48_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr98_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr87_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr86_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr85_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr38_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr81_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr71_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr37_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr64_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr163_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr162_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr161_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr54_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr149_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr147_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr145_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr50_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr39_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr51_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr135_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr134_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr133_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr49_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr129_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr50_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr131_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr119_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr117_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr36_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr115_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr38_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr116_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr114_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr113_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr37_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr103_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr35_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr101_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr100_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr98_lo16
-; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr34_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr99_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr97_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr36_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr96_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr86_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr85_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr35_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr84_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr83_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr82_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr34_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr81_lo16
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr80_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr71_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr70_lo16
+; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr69_lo16
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(2)
; GFX11-TRUE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v33
; GFX11-TRUE16-NEXT: ; implicit-def: $vgpr33_lo16
@@ -202495,69 +202494,69 @@ define <128 x i8> @bitcast_v64i16_to_v128i8(<64 x i16> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: ; %bb.1: ; %cmp.false
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0)
; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[33:34], 24, v[31:32]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[66:67], 24, v[7:8]
; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[34:35], 24, v[29:30]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[48:49], 24, v[13:14]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[52:53], 24, v[11:12]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[67:68], 24, v[5:6]
; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[35:36], 24, v[27:28]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[53:54], 24, v[9:10]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[68:69], 24, v[3:4]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[48:49], 24, v[15:16]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[64:65], 24, v[7:8]
; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[36:37], 24, v[25:26]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[49:50], 24, v[23:24]
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v71, 24, v16
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v81, 8, v16
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v85, 8, v15
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v86, 24, v14
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v87, 8, v14
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v97, 8, v13
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v99, 24, v12
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v102, 8, v12
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v112, 8, v11
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v114, 24, v10
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v116, 8, v10
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v118, 8, v9
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v128, 24, v8
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v130, 8, v8
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v131, 8, v7
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v132, 24, v6
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v144, 8, v6
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v146, 8, v5
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v148, 24, v4
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v150, 8, v4
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v151, 8, v3
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v160, 24, v2
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v164, 8, v2
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v165, 8, v1
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v80, 24, v32
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v82, 8, v32
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v83, 8, v31
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v84, 24, v30
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v96, 8, v30
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v98, 8, v29
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v100, 24, v28
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v101, 8, v28
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v103, 8, v27
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v113, 24, v26
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v115, 8, v26
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v117, 8, v25
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v119, 24, v24
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v129, 8, v24
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v133, 8, v23
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v134, 24, v22
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v135, 8, v22
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v145, 8, v21
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v147, 24, v20
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v149, 8, v20
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v161, 8, v19
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v162, 24, v18
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v163, 8, v18
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[38:39], 24, v[15:16]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[69:70], 24, v[1:2]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[50:51], 24, v[21:22]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[54:55], 24, v[19:20]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[64:65], 24, v[17:18]
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v37, 8, v17
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[49:50], 24, v[13:14]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[65:66], 24, v[5:6]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[37:38], 24, v[23:24]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[53:54], 24, v[11:12]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[66:67], 24, v[3:4]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[38:39], 24, v[21:22]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[50:51], 24, v[19:20]
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v87, 24, v16
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v98, 8, v16
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v100, 8, v15
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v101, 24, v14
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v102, 8, v14
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v112, 8, v13
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v115, 24, v12
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v118, 8, v12
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v128, 8, v11
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v129, 24, v10
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v130, 8, v10
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v132, 8, v9
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v144, 24, v8
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v145, 8, v8
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v146, 8, v7
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v147, 24, v6
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v148, 8, v6
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v149, 8, v5
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v150, 24, v4
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v151, 8, v4
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v160, 8, v3
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v161, 24, v2
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v162, 8, v2
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v163, 8, v1
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v69, 24, v32
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v70, 8, v32
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v71, 8, v31
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v80, 24, v30
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v81, 8, v30
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v82, 8, v29
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v83, 24, v28
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v84, 8, v28
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v85, 8, v27
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v86, 24, v26
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v96, 8, v26
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v97, 8, v25
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v99, 24, v24
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v103, 8, v24
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v113, 8, v23
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v114, 24, v22
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v116, 8, v22
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v117, 8, v21
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v119, 24, v20
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v131, 8, v20
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v133, 8, v19
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v134, 24, v18
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v135, 8, v18
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[54:55], 24, v[9:10]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[67:68], 24, v[1:2]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[51:52], 24, v[17:18]
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v39, 8, v17
; GFX11-TRUE16-NEXT: .LBB98_2: ; %Flow
; GFX11-TRUE16-NEXT: s_and_not1_saveexec_b32 s0, s0
; GFX11-TRUE16-NEXT: s_cbranch_execz .LBB98_4
@@ -202566,161 +202565,161 @@ define <128 x i8> @bitcast_v64i16_to_v128i8(<64 x i16> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_pk_add_u16 v32, v32, 3 op_sel_hi:[1,0]
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0)
; GFX11-TRUE16-NEXT: v_pk_add_u16 v31, v31, 3 op_sel_hi:[1,0]
-; GFX11-TRUE16-NEXT: v_pk_add_u16 v8, v8, 3 op_sel_hi:[1,0]
-; GFX11-TRUE16-NEXT: v_pk_add_u16 v7, v7, 3 op_sel_hi:[1,0]
; GFX11-TRUE16-NEXT: v_pk_add_u16 v30, v30, 3 op_sel_hi:[1,0]
; GFX11-TRUE16-NEXT: v_pk_add_u16 v29, v29, 3 op_sel_hi:[1,0]
+; GFX11-TRUE16-NEXT: v_pk_add_u16 v28, v28, 3 op_sel_hi:[1,0]
+; GFX11-TRUE16-NEXT: v_pk_add_u16 v27, v27, 3 op_sel_hi:[1,0]
+; GFX11-TRUE16-NEXT: v_pk_add_u16 v8, v8, 3 op_sel_hi:[1,0]
+; GFX11-TRUE16-NEXT: v_pk_add_u16 v16, v16, 3 op_sel_hi:[1,0]
+; GFX11-TRUE16-NEXT: v_pk_add_u16 v15, v15, 3 op_sel_hi:[1,0]
+; GFX11-TRUE16-NEXT: v_pk_add_u16 v7, v7, 3 op_sel_hi:[1,0]
+; GFX11-TRUE16-NEXT: v_pk_add_u16 v26, v26, 3 op_sel_hi:[1,0]
+; GFX11-TRUE16-NEXT: v_pk_add_u16 v25, v25, 3 op_sel_hi:[1,0]
; GFX11-TRUE16-NEXT: v_pk_add_u16 v6, v6, 3 op_sel_hi:[1,0]
; GFX11-TRUE16-NEXT: v_pk_add_u16 v5, v5, 3 op_sel_hi:[1,0]
-; GFX11-TRUE16-NEXT: v_pk_add_u16 v12, v12, 3 op_sel_hi:[1,0]
; GFX11-TRUE16-NEXT: v_pk_add_u16 v14, v14, 3 op_sel_hi:[1,0]
; GFX11-TRUE16-NEXT: v_pk_add_u16 v13, v13, 3 op_sel_hi:[1,0]
-; GFX11-TRUE16-NEXT: v_pk_add_u16 v11, v11, 3 op_sel_hi:[1,0]
+; GFX11-TRUE16-NEXT: v_pk_add_u16 v20, v20, 3 op_sel_hi:[1,0]
+; GFX11-TRUE16-NEXT: v_pk_add_u16 v19, v19, 3 op_sel_hi:[1,0]
; GFX11-TRUE16-NEXT: v_pk_add_u16 v24, v24, 3 op_sel_hi:[1,0]
; GFX11-TRUE16-NEXT: v_pk_add_u16 v23, v23, 3 op_sel_hi:[1,0]
-; GFX11-TRUE16-NEXT: v_pk_add_u16 v28, v28, 3 op_sel_hi:[1,0]
-; GFX11-TRUE16-NEXT: v_pk_add_u16 v27, v27, 3 op_sel_hi:[1,0]
; GFX11-TRUE16-NEXT: v_pk_add_u16 v4, v4, 3 op_sel_hi:[1,0]
; GFX11-TRUE16-NEXT: v_pk_add_u16 v3, v3, 3 op_sel_hi:[1,0]
-; GFX11-TRUE16-NEXT: v_pk_add_u16 v10, v10, 3 op_sel_hi:[1,0]
-; GFX11-TRUE16-NEXT: v_pk_add_u16 v9, v9, 3 op_sel_hi:[1,0]
+; GFX11-TRUE16-NEXT: v_pk_add_u16 v12, v12, 3 op_sel_hi:[1,0]
+; GFX11-TRUE16-NEXT: v_pk_add_u16 v11, v11, 3 op_sel_hi:[1,0]
; GFX11-TRUE16-NEXT: v_pk_add_u16 v18, v18, 3 op_sel_hi:[1,0]
; GFX11-TRUE16-NEXT: v_pk_add_u16 v17, v17, 3 op_sel_hi:[1,0]
-; GFX11-TRUE16-NEXT: v_pk_add_u16 v20, v20, 3 op_sel_hi:[1,0]
-; GFX11-TRUE16-NEXT: v_pk_add_u16 v19, v19, 3 op_sel_hi:[1,0]
; GFX11-TRUE16-NEXT: v_pk_add_u16 v22, v22, 3 op_sel_hi:[1,0]
; GFX11-TRUE16-NEXT: v_pk_add_u16 v21, v21, 3 op_sel_hi:[1,0]
-; GFX11-TRUE16-NEXT: v_pk_add_u16 v26, v26, 3 op_sel_hi:[1,0]
-; GFX11-TRUE16-NEXT: v_pk_add_u16 v25, v25, 3 op_sel_hi:[1,0]
; GFX11-TRUE16-NEXT: v_pk_add_u16 v2, v2, 3 op_sel_hi:[1,0]
; GFX11-TRUE16-NEXT: v_pk_add_u16 v1, v1, 3 op_sel_hi:[1,0]
-; GFX11-TRUE16-NEXT: v_pk_add_u16 v16, v16, 3 op_sel_hi:[1,0]
-; GFX11-TRUE16-NEXT: v_pk_add_u16 v15, v15, 3 op_sel_hi:[1,0]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[66:67], 24, v[7:8]
+; GFX11-TRUE16-NEXT: v_pk_add_u16 v10, v10, 3 op_sel_hi:[1,0]
+; GFX11-TRUE16-NEXT: v_pk_add_u16 v9, v9, 3 op_sel_hi:[1,0]
; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[33:34], 24, v[31:32]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[48:49], 24, v[13:14]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[52:53], 24, v[11:12]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[67:68], 24, v[5:6]
; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[34:35], 24, v[29:30]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[53:54], 24, v[9:10]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[68:69], 24, v[3:4]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[48:49], 24, v[15:16]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[64:65], 24, v[7:8]
; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[35:36], 24, v[27:28]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[49:50], 24, v[23:24]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[38:39], 24, v[15:16]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[69:70], 24, v[1:2]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[49:50], 24, v[13:14]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[65:66], 24, v[5:6]
; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[36:37], 24, v[25:26]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[50:51], 24, v[21:22]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[54:55], 24, v[19:20]
-; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[64:65], 24, v[17:18]
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v71, 24, v16
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v81, 8, v16
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v85, 8, v15
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v86, 24, v14
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v87, 8, v14
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v97, 8, v13
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v99, 24, v12
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v102, 8, v12
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v112, 8, v11
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v114, 24, v10
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v116, 8, v10
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v118, 8, v9
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v128, 24, v8
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v130, 8, v8
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v131, 8, v7
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v132, 24, v6
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v144, 8, v6
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v146, 8, v5
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v148, 24, v4
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v150, 8, v4
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v151, 8, v3
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v160, 24, v2
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v164, 8, v2
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v165, 8, v1
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v80, 24, v32
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v82, 8, v32
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v83, 8, v31
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v84, 24, v30
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v96, 8, v30
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v98, 8, v29
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v100, 24, v28
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v101, 8, v28
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v103, 8, v27
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v113, 24, v26
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v115, 8, v26
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v117, 8, v25
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v119, 24, v24
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v129, 8, v24
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v133, 8, v23
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v134, 24, v22
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v135, 8, v22
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v145, 8, v21
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v147, 24, v20
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v149, 8, v20
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v161, 8, v19
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v162, 24, v18
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v163, 8, v18
-; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v37, 8, v17
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[53:54], 24, v[11:12]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[66:67], 24, v[3:4]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[37:38], 24, v[23:24]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[50:51], 24, v[19:20]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[54:55], 24, v[9:10]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[67:68], 24, v[1:2]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[38:39], 24, v[21:22]
+; GFX11-TRUE16-NEXT: v_lshrrev_b64 v[51:52], 24, v[17:18]
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v87, 24, v16
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v98, 8, v16
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v100, 8, v15
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v101, 24, v14
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v102, 8, v14
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v112, 8, v13
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v115, 24, v12
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v118, 8, v12
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v128, 8, v11
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v129, 24, v10
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v130, 8, v10
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v132, 8, v9
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v144, 24, v8
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v145, 8, v8
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v146, 8, v7
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v147, 24, v6
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v148, 8, v6
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v149, 8, v5
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v150, 24, v4
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v151, 8, v4
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v160, 8, v3
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v161, 24, v2
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v162, 8, v2
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v163, 8, v1
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v69, 24, v32
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v70, 8, v32
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v71, 8, v31
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v80, 24, v30
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v81, 8, v30
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v82, 8, v29
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v83, 24, v28
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v84, 8, v28
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v85, 8, v27
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v86, 24, v26
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v96, 8, v26
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v97, 8, v25
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v99, 24, v24
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v103, 8, v24
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v113, 8, v23
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v114, 24, v22
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v116, 8, v22
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v117, 8, v21
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v119, 24, v20
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v131, 8, v20
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v133, 8, v19
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v134, 24, v18
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v135, 8, v18
+; GFX11-TRUE16-NEXT: v_lshrrev_b32_e32 v39, 8, v17
; GFX11-TRUE16-NEXT: .LBB98_4: ; %end
; GFX11-TRUE16-NEXT: s_or_b32 exec_lo, exec_lo, s0
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v39.l, v1.h
-; GFX11-TRUE16-NEXT: v_perm_b32 v1, v1, v165, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v51.l, v2.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v55.l, v3.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v65.l, v4.h
-; GFX11-TRUE16-NEXT: v_perm_b32 v39, v39, v69, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v2, v2, v164, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v51, v51, v160, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v3, v3, v151, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v55, v55, v68, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_lshl_or_b32 v1, v39, 16, v1
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v39.l, v5.h
-; GFX11-TRUE16-NEXT: v_perm_b32 v4, v4, v150, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v65, v65, v148, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_lshl_or_b32 v2, v51, 16, v2
-; GFX11-TRUE16-NEXT: v_lshl_or_b32 v3, v55, 16, v3
-; GFX11-TRUE16-NEXT: v_perm_b32 v5, v5, v146, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v51.l, v6.h
-; GFX11-TRUE16-NEXT: v_perm_b32 v39, v39, v67, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v55.l, v7.h
-; GFX11-TRUE16-NEXT: v_lshl_or_b32 v4, v65, 16, v4
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v65.l, v8.h
-; GFX11-TRUE16-NEXT: v_perm_b32 v6, v6, v144, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v51, v51, v132, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v7, v7, v131, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v55, v55, v66, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_lshl_or_b32 v5, v39, 16, v5
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v39.l, v9.h
-; GFX11-TRUE16-NEXT: v_perm_b32 v8, v8, v130, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v65, v65, v128, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_lshl_or_b32 v6, v51, 16, v6
-; GFX11-TRUE16-NEXT: v_lshl_or_b32 v7, v55, 16, v7
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v51.l, v10.h
-; GFX11-TRUE16-NEXT: v_perm_b32 v9, v9, v118, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v55.l, v11.h
-; GFX11-TRUE16-NEXT: v_perm_b32 v39, v39, v53, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v52.l, v1.h
+; GFX11-TRUE16-NEXT: v_perm_b32 v1, v1, v163, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v55.l, v2.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v68.l, v3.h
+; GFX11-TRUE16-NEXT: v_perm_b32 v2, v2, v162, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v52, v52, v67, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v3, v3, v160, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v55, v55, v161, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v66, v68, v66, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v67.l, v4.h
+; GFX11-TRUE16-NEXT: v_lshl_or_b32 v1, v52, 16, v1
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v52.l, v5.h
+; GFX11-TRUE16-NEXT: v_lshl_or_b32 v2, v55, 16, v2
+; GFX11-TRUE16-NEXT: v_perm_b32 v5, v5, v149, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v55.l, v6.h
+; GFX11-TRUE16-NEXT: v_lshl_or_b32 v3, v66, 16, v3
+; GFX11-TRUE16-NEXT: v_perm_b32 v52, v52, v65, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v65.l, v7.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v66.l, v8.h
+; GFX11-TRUE16-NEXT: v_perm_b32 v4, v4, v151, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v67, v67, v150, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v6, v6, v148, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v55, v55, v147, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v7, v7, v146, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v64, v65, v64, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_lshl_or_b32 v5, v52, 16, v5
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v52.l, v9.h
+; GFX11-TRUE16-NEXT: v_perm_b32 v8, v8, v145, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v65, v66, v144, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_lshl_or_b32 v4, v67, 16, v4
+; GFX11-TRUE16-NEXT: v_lshl_or_b32 v6, v55, 16, v6
+; GFX11-TRUE16-NEXT: v_lshl_or_b32 v7, v64, 16, v7
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v55.l, v10.h
+; GFX11-TRUE16-NEXT: v_perm_b32 v9, v9, v132, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v64.l, v11.h
+; GFX11-TRUE16-NEXT: v_perm_b32 v52, v52, v54, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v8, v65, 16, v8
-; GFX11-TRUE16-NEXT: v_perm_b32 v10, v10, v116, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v51, v51, v114, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v11, v11, v112, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v52, v55, v52, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v10, v10, v130, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v54, v55, v129, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v11, v11, v128, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v53, v64, v53, 0xc0c0004
; GFX11-TRUE16-NEXT: s_clause 0x1
; GFX11-TRUE16-NEXT: scratch_store_b128 v0, v[1:4], off
; GFX11-TRUE16-NEXT: scratch_store_b128 v0, v[5:8], off offset:16
-; GFX11-TRUE16-NEXT: v_lshl_or_b32 v1, v39, 16, v9
+; GFX11-TRUE16-NEXT: v_lshl_or_b32 v1, v52, 16, v9
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v4.l, v12.h
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v6.l, v13.h
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v7.l, v14.h
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v9.l, v15.h
-; GFX11-TRUE16-NEXT: v_lshl_or_b32 v2, v51, 16, v10
-; GFX11-TRUE16-NEXT: v_lshl_or_b32 v3, v52, 16, v11
-; GFX11-TRUE16-NEXT: v_perm_b32 v5, v12, v102, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v4, v4, v99, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v8, v13, v97, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v6, v6, v48, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v10, v14, v87, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v7, v7, v86, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v11, v15, v85, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v9, v9, v38, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_lshl_or_b32 v2, v54, 16, v10
+; GFX11-TRUE16-NEXT: v_lshl_or_b32 v3, v53, 16, v11
+; GFX11-TRUE16-NEXT: v_perm_b32 v5, v12, v118, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v4, v4, v115, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v8, v13, v112, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v6, v6, v49, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v10, v14, v102, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v7, v7, v101, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v11, v15, v100, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v9, v9, v48, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v4, v4, 16, v5
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v5, v6, 16, v8
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v8.l, v16.h
@@ -202729,14 +202728,14 @@ define <128 x i8> @bitcast_v64i16_to_v128i8(<64 x i16> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v10.l, v17.h
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v11.l, v18.h
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v13.l, v19.h
-; GFX11-TRUE16-NEXT: v_perm_b32 v9, v16, v81, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v8, v8, v71, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v12, v17, v37, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v10, v10, v64, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v14, v18, v163, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v11, v11, v162, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v15, v19, v161, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v13, v13, v54, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v9, v16, v98, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v8, v8, v87, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v12, v17, v39, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v10, v10, v51, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v14, v18, v135, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v11, v11, v134, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v15, v19, v133, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v13, v13, v50, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v8, v8, 16, v9
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v9, v10, 16, v12
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v12.l, v20.h
@@ -202745,14 +202744,14 @@ define <128 x i8> @bitcast_v64i16_to_v128i8(<64 x i16> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v14.l, v21.h
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v15.l, v22.h
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v17.l, v23.h
-; GFX11-TRUE16-NEXT: v_perm_b32 v13, v20, v149, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v12, v12, v147, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v16, v21, v145, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v14, v14, v50, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v18, v22, v135, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v15, v15, v134, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v19, v23, v133, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v17, v17, v49, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v13, v20, v131, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v12, v12, v119, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v16, v21, v117, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v14, v14, v38, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v18, v22, v116, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v15, v15, v114, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v19, v23, v113, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v17, v17, v37, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v12, v12, 16, v13
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v13, v14, 16, v16
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v16.l, v24.h
@@ -202761,13 +202760,13 @@ define <128 x i8> @bitcast_v64i16_to_v128i8(<64 x i16> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v15, v17, 16, v19
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v19.l, v26.h
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v21.l, v27.h
-; GFX11-TRUE16-NEXT: v_perm_b32 v17, v24, v129, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v16, v16, v119, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v20, v25, v117, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v17, v24, v103, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v16, v16, v99, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v20, v25, v97, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v18, v18, v36, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v22, v26, v115, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v19, v19, v113, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v23, v27, v103, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v22, v26, v96, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v19, v19, v86, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v23, v27, v85, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v21, v21, v35, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v16, v16, 16, v17
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v17, v18, 16, v20
@@ -202779,16 +202778,16 @@ define <128 x i8> @bitcast_v64i16_to_v128i8(<64 x i16> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0)
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v25.l, v31.h
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v27.l, v32.h
-; GFX11-TRUE16-NEXT: v_perm_b32 v22, v28, v101, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v20, v20, v100, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v23, v29, v98, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v22, v28, v84, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v20, v20, v83, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v23, v29, v82, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v21, v21, v34, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v26, v30, v96, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v24, v24, v84, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v28, v31, v83, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v26, v30, v81, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v24, v24, v80, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v28, v31, v71, 0xc0c0004
; GFX11-TRUE16-NEXT: v_perm_b32 v25, v25, v33, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v29, v32, v82, 0xc0c0004
-; GFX11-TRUE16-NEXT: v_perm_b32 v27, v27, v80, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v29, v32, v70, 0xc0c0004
+; GFX11-TRUE16-NEXT: v_perm_b32 v27, v27, v69, 0xc0c0004
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v20, v20, 16, v22
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v21, v21, 16, v23
; GFX11-TRUE16-NEXT: v_lshl_or_b32 v22, v24, 16, v26
@@ -202806,69 +202805,71 @@ define <128 x i8> @bitcast_v64i16_to_v128i8(<64 x i16> %a, i32 %b) #0 {
; GFX11-FAKE16-LABEL: bitcast_v64i16_to_v128i8:
; GFX11-FAKE16: ; %bb.0:
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX11-FAKE16-NEXT: s_clause 0x12 ; 76-byte Folded Spill
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v40, s32 offset:84
+; GFX11-FAKE16-NEXT: s_clause 0x13 ; 80-byte Folded Spill
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v40, s32 offset:88
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v41, s32 offset:80
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v41, s32 offset:84
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v42, s32 offset:76
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v42, s32 offset:80
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v43, s32 offset:72
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v43, s32 offset:76
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v44, s32 offset:68
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v44, s32 offset:72
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v45, s32 offset:64
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v45, s32 offset:68
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v46, s32 offset:60
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v46, s32 offset:64
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v47, s32 offset:56
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v47, s32 offset:60
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v56, s32 offset:52
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v56, s32 offset:56
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v57, s32 offset:48
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v57, s32 offset:52
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v58, s32 offset:44
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v58, s32 offset:48
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v59, s32 offset:40
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v59, s32 offset:44
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v60, s32 offset:36
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v60, s32 offset:40
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v61, s32 offset:32
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v61, s32 offset:36
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v62, s32 offset:28
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v62, s32 offset:32
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v63, s32 offset:24
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v63, s32 offset:28
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v72, s32 offset:20
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v72, s32 offset:24
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v73, s32 offset:16
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v73, s32 offset:20
; GFX11-FAKE16-NEXT: ; meta instruction
-; GFX11-FAKE16-NEXT: scratch_store_b32 off, v74, s32 offset:12
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v74, s32 offset:16
+; GFX11-FAKE16-NEXT: ; meta instruction
+; GFX11-FAKE16-NEXT: scratch_store_b32 off, v75, s32 offset:12
; GFX11-FAKE16-NEXT: s_clause 0x2
; GFX11-FAKE16-NEXT: scratch_load_b32 v33, off, s32 offset:8
; GFX11-FAKE16-NEXT: scratch_load_b32 v32, off, s32 offset:4
; GFX11-FAKE16-NEXT: scratch_load_b32 v31, off, s32
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr177
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr176
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr64
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr166
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr163
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr162
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr161
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr64
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr151
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr149
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr147
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr145
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr134
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr52
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr160
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr53
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr150
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr148
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr146
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr133
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr132
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr131
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr130
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr49
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr129
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr48
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr128
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr119
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr118
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr117
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr116
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr37
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr48
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr115
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr114
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr113
@@ -202895,8 +202896,8 @@ define <128 x i8> @bitcast_v64i16_to_v128i8(<64 x i16> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr71
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr70
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr69
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr75
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr74
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr51
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr67
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr73
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr72
@@ -202921,28 +202922,28 @@ define <128 x i8> @bitcast_v64i16_to_v128i8(<64 x i16> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr40
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr39
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr183
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr53
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr51
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr182
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr181
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr180
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr179
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr178
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr50
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr177
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr176
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr167
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr166
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr165
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr164
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr163
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr160
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr150
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr148
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr146
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr151
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr149
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr147
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr145
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr144
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr135
-; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr49
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr134
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr132
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr130
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr128
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr38
+; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr37
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(2)
; GFX11-FAKE16-NEXT: v_cmp_ne_u32_e32 vcc_lo, 0, v33
; GFX11-FAKE16-NEXT: ; implicit-def: $vgpr33
@@ -202952,23 +202953,20 @@ define <128 x i8> @bitcast_v64i16_to_v128i8(<64 x i16> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: s_cbranch_execz .LBB98_2
; GFX11-FAKE16-NEXT: ; %bb.1: ; %cmp.false
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[33:34], 24, v[15:16]
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v50, 8, v25
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v51, 8, v25
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[34:35], 24, v[13:14]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[35:36], 24, v[11:12]
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v54, 16, v17
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[36:37], 24, v[9:10]
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[37:38], 24, v[7:8]
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[48:49], 24, v[5:6]
-; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0)
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[38:39], 24, v[31:32]
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[48:49], 24, v[7:8]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[64:65], 24, v[1:2]
-; GFX11-FAKE16-NEXT: v_mov_b32_e32 v39, v50
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[49:50], 24, v[29:30]
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[52:53], 24, v[3:4]
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[50:51], 24, v[27:28]
+; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0)
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[37:38], 24, v[31:32]
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[49:50], 24, v[5:6]
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[38:39], 24, v[29:30]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[65:66], 24, v[21:22]
-; GFX11-FAKE16-NEXT: v_mov_b32_e32 v51, v54
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[53:54], 24, v[25:26]
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[53:54], 24, v[3:4]
+; GFX11-FAKE16-NEXT: v_mov_b32_e32 v39, v51
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[50:51], 24, v[27:28]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[66:67], 24, v[19:20]
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v69, 24, v16
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v70, 16, v16
@@ -202997,32 +202995,32 @@ define <128 x i8> @bitcast_v64i16_to_v128i8(<64 x i16> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v117, 8, v7
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v118, 24, v6
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v119, 16, v6
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v128, 8, v6
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v129, 16, v5
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v130, 8, v5
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v131, 24, v4
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v132, 16, v4
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v133, 8, v4
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v134, 16, v3
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v145, 8, v3
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v147, 24, v2
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v149, 16, v2
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v151, 8, v2
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v161, 16, v1
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v162, 8, v1
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v135, 24, v32
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v144, 16, v32
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v146, 8, v32
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v148, 16, v31
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v150, 8, v31
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v160, 24, v30
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v163, 16, v30
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v164, 8, v30
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v165, 16, v29
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v166, 8, v29
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v167, 24, v28
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v176, 16, v28
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v177, 8, v28
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v129, 8, v6
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v131, 16, v5
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v133, 8, v5
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v146, 24, v4
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v148, 16, v4
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v150, 8, v4
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v160, 16, v3
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v161, 8, v3
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v162, 24, v2
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v163, 16, v2
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v166, 8, v2
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v176, 16, v1
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v177, 8, v1
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v128, 24, v32
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v130, 16, v32
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v132, 8, v32
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v134, 16, v31
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v135, 8, v31
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v144, 24, v30
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v145, 16, v30
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v147, 8, v30
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v149, 16, v29
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v151, 8, v29
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v164, 24, v28
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v165, 16, v28
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v167, 8, v28
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v178, 16, v27
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v179, 8, v27
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v180, 24, v26
@@ -203047,7 +203045,9 @@ define <128 x i8> @bitcast_v64i16_to_v128i8(<64 x i16> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v63, 24, v18
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v72, 16, v18
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v73, 8, v18
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v74, 8, v17
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v74, 16, v17
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v75, 8, v17
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[51:52], 24, v[25:26]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[54:55], 24, v[23:24]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[67:68], 24, v[17:18]
; GFX11-FAKE16-NEXT: .LBB98_2: ; %Flow
@@ -203060,48 +203060,48 @@ define <128 x i8> @bitcast_v64i16_to_v128i8(<64 x i16> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: v_pk_add_u16 v13, v13, 3 op_sel_hi:[1,0]
; GFX11-FAKE16-NEXT: v_pk_add_u16 v2, v2, 3 op_sel_hi:[1,0]
; GFX11-FAKE16-NEXT: v_pk_add_u16 v1, v1, 3 op_sel_hi:[1,0]
+; GFX11-FAKE16-NEXT: v_pk_add_u16 v8, v8, 3 op_sel_hi:[1,0]
; GFX11-FAKE16-NEXT: v_pk_add_u16 v12, v12, 3 op_sel_hi:[1,0]
; GFX11-FAKE16-NEXT: v_pk_add_u16 v11, v11, 3 op_sel_hi:[1,0]
+; GFX11-FAKE16-NEXT: v_pk_add_u16 v7, v7, 3 op_sel_hi:[1,0]
; GFX11-FAKE16-NEXT: v_pk_add_u16 v22, v22, 3 op_sel_hi:[1,0]
; GFX11-FAKE16-NEXT: v_pk_add_u16 v21, v21, 3 op_sel_hi:[1,0]
-; GFX11-FAKE16-NEXT: v_pk_add_u16 v4, v4, 3 op_sel_hi:[1,0]
-; GFX11-FAKE16-NEXT: v_pk_add_u16 v3, v3, 3 op_sel_hi:[1,0]
; GFX11-FAKE16-NEXT: v_pk_add_u16 v6, v6, 3 op_sel_hi:[1,0]
; GFX11-FAKE16-NEXT: v_pk_add_u16 v5, v5, 3 op_sel_hi:[1,0]
; GFX11-FAKE16-NEXT: v_pk_add_u16 v10, v10, 3 op_sel_hi:[1,0]
; GFX11-FAKE16-NEXT: v_pk_add_u16 v9, v9, 3 op_sel_hi:[1,0]
; GFX11-FAKE16-NEXT: v_pk_add_u16 v20, v20, 3 op_sel_hi:[1,0]
; GFX11-FAKE16-NEXT: v_pk_add_u16 v19, v19, 3 op_sel_hi:[1,0]
-; GFX11-FAKE16-NEXT: v_pk_add_u16 v26, v26, 3 op_sel_hi:[1,0]
-; GFX11-FAKE16-NEXT: v_pk_add_u16 v25, v25, 3 op_sel_hi:[1,0]
-; GFX11-FAKE16-NEXT: v_pk_add_u16 v30, v30, 3 op_sel_hi:[1,0]
-; GFX11-FAKE16-NEXT: v_pk_add_u16 v29, v29, 3 op_sel_hi:[1,0]
-; GFX11-FAKE16-NEXT: v_pk_add_u16 v8, v8, 3 op_sel_hi:[1,0]
-; GFX11-FAKE16-NEXT: v_pk_add_u16 v7, v7, 3 op_sel_hi:[1,0]
-; GFX11-FAKE16-NEXT: v_pk_add_u16 v18, v18, 3 op_sel_hi:[1,0]
-; GFX11-FAKE16-NEXT: v_pk_add_u16 v17, v17, 3 op_sel_hi:[1,0]
-; GFX11-FAKE16-NEXT: v_pk_add_u16 v24, v24, 3 op_sel_hi:[1,0]
-; GFX11-FAKE16-NEXT: v_pk_add_u16 v23, v23, 3 op_sel_hi:[1,0]
; GFX11-FAKE16-NEXT: v_pk_add_u16 v28, v28, 3 op_sel_hi:[1,0]
; GFX11-FAKE16-NEXT: v_pk_add_u16 v27, v27, 3 op_sel_hi:[1,0]
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(1)
; GFX11-FAKE16-NEXT: v_pk_add_u16 v32, v32, 3 op_sel_hi:[1,0]
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0)
; GFX11-FAKE16-NEXT: v_pk_add_u16 v31, v31, 3 op_sel_hi:[1,0]
+; GFX11-FAKE16-NEXT: v_pk_add_u16 v4, v4, 3 op_sel_hi:[1,0]
+; GFX11-FAKE16-NEXT: v_pk_add_u16 v3, v3, 3 op_sel_hi:[1,0]
+; GFX11-FAKE16-NEXT: v_pk_add_u16 v18, v18, 3 op_sel_hi:[1,0]
+; GFX11-FAKE16-NEXT: v_pk_add_u16 v17, v17, 3 op_sel_hi:[1,0]
+; GFX11-FAKE16-NEXT: v_pk_add_u16 v24, v24, 3 op_sel_hi:[1,0]
+; GFX11-FAKE16-NEXT: v_pk_add_u16 v23, v23, 3 op_sel_hi:[1,0]
+; GFX11-FAKE16-NEXT: v_pk_add_u16 v26, v26, 3 op_sel_hi:[1,0]
+; GFX11-FAKE16-NEXT: v_pk_add_u16 v25, v25, 3 op_sel_hi:[1,0]
+; GFX11-FAKE16-NEXT: v_pk_add_u16 v30, v30, 3 op_sel_hi:[1,0]
+; GFX11-FAKE16-NEXT: v_pk_add_u16 v29, v29, 3 op_sel_hi:[1,0]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[33:34], 24, v[15:16]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[34:35], 24, v[13:14]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[35:36], 24, v[11:12]
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[48:49], 24, v[7:8]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[64:65], 24, v[1:2]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[36:37], 24, v[9:10]
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[48:49], 24, v[5:6]
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[52:53], 24, v[3:4]
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[49:50], 24, v[5:6]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[65:66], 24, v[21:22]
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[37:38], 24, v[7:8]
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[49:50], 24, v[29:30]
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[53:54], 24, v[25:26]
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[66:67], 24, v[19:20]
-; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[38:39], 24, v[31:32]
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[53:54], 24, v[3:4]
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[37:38], 24, v[31:32]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[50:51], 24, v[27:28]
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[66:67], 24, v[19:20]
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[38:39], 24, v[29:30]
+; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[51:52], 24, v[25:26]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[54:55], 24, v[23:24]
; GFX11-FAKE16-NEXT: v_lshrrev_b64 v[67:68], 24, v[17:18]
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v69, 24, v16
@@ -203131,32 +203131,32 @@ define <128 x i8> @bitcast_v64i16_to_v128i8(<64 x i16> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v117, 8, v7
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v118, 24, v6
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v119, 16, v6
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v128, 8, v6
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v129, 16, v5
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v130, 8, v5
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v131, 24, v4
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v132, 16, v4
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v133, 8, v4
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v134, 16, v3
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v145, 8, v3
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v147, 24, v2
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v149, 16, v2
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v151, 8, v2
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v161, 16, v1
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v162, 8, v1
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v135, 24, v32
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v144, 16, v32
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v146, 8, v32
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v148, 16, v31
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v150, 8, v31
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v160, 24, v30
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v163, 16, v30
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v164, 8, v30
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v165, 16, v29
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v166, 8, v29
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v167, 24, v28
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v176, 16, v28
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v177, 8, v28
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v129, 8, v6
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v131, 16, v5
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v133, 8, v5
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v146, 24, v4
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v148, 16, v4
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v150, 8, v4
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v160, 16, v3
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v161, 8, v3
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v162, 24, v2
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v163, 16, v2
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v166, 8, v2
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v176, 16, v1
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v177, 8, v1
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v128, 24, v32
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v130, 16, v32
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v132, 8, v32
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v134, 16, v31
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v135, 8, v31
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v144, 24, v30
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v145, 16, v30
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v147, 8, v30
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v149, 16, v29
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v151, 8, v29
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v164, 24, v28
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v165, 16, v28
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v167, 8, v28
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v178, 16, v27
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v179, 8, v27
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v180, 24, v26
@@ -203182,49 +203182,49 @@ define <128 x i8> @bitcast_v64i16_to_v128i8(<64 x i16> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v63, 24, v18
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v72, 16, v18
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v73, 8, v18
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v51, 16, v17
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v74, 8, v17
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v74, 16, v17
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v75, 8, v17
; GFX11-FAKE16-NEXT: .LBB98_4: ; %end
; GFX11-FAKE16-NEXT: s_or_b32 exec_lo, exec_lo, s0
-; GFX11-FAKE16-NEXT: v_perm_b32 v3, v3, v145, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v52, v134, v52, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v55, v161, v64, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v1, v1, v162, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v2, v2, v151, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v64, v149, v147, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v3, v52, 16, v3
-; GFX11-FAKE16-NEXT: v_perm_b32 v4, v4, v133, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v52, v132, v131, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v5, v5, v130, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v48, v129, v48, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v52, v176, v64, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v1, v1, v177, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v2, v2, v166, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v55, v163, v162, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v3, v3, v161, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v53, v160, v53, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v1, v52, 16, v1
+; GFX11-FAKE16-NEXT: v_perm_b32 v4, v4, v150, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v52, v148, v146, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v5, v5, v133, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v49, v131, v49, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v7, v7, v117, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v37, v116, v37, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v1, v55, 16, v1
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v2, v64, 16, v2
-; GFX11-FAKE16-NEXT: v_perm_b32 v6, v6, v128, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v55, v119, v118, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v48, v116, v48, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v2, v55, 16, v2
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v3, v53, 16, v3
+; GFX11-FAKE16-NEXT: v_perm_b32 v6, v6, v129, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v53, v119, v118, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v8, v8, v115, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v64, v114, v113, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v55, v114, v113, 0xc0c0004
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v4, v52, 16, v4
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v5, v48, 16, v5
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v7, v37, 16, v7
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v5, v49, 16, v5
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v7, v48, 16, v7
; GFX11-FAKE16-NEXT: v_perm_b32 v9, v9, v112, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v36, v103, v36, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v10, v10, v102, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v37, v101, v100, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v48, v101, v100, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v11, v11, v99, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v35, v98, v35, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v12, v12, v97, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v48, v96, v87, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v6, v55, 16, v6
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v8, v64, 16, v8
+; GFX11-FAKE16-NEXT: v_perm_b32 v49, v96, v87, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v6, v53, 16, v6
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v8, v55, 16, v8
; GFX11-FAKE16-NEXT: s_clause 0x1
; GFX11-FAKE16-NEXT: scratch_store_b128 v0, v[1:4], off
; GFX11-FAKE16-NEXT: scratch_store_b128 v0, v[5:8], off offset:16
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v1, v36, 16, v9
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v2, v37, 16, v10
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v2, v48, 16, v10
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v3, v35, 16, v11
-; GFX11-FAKE16-NEXT: v_lshl_or_b32 v4, v48, 16, v12
+; GFX11-FAKE16-NEXT: v_lshl_or_b32 v4, v49, 16, v12
; GFX11-FAKE16-NEXT: v_perm_b32 v5, v13, v86, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v6, v85, v34, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v7, v14, v84, 0xc0c0004
@@ -203233,8 +203233,8 @@ define <128 x i8> @bitcast_v64i16_to_v128i8(<64 x i16> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: v_perm_b32 v10, v80, v33, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v11, v16, v71, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v12, v70, v69, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v13, v17, v74, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v14, v51, v67, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v13, v17, v75, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v14, v74, v67, 0xc0c0004
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v5, v6, 16, v5
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v6, v8, 16, v7
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v7, v10, 16, v9
@@ -203260,7 +203260,7 @@ define <128 x i8> @bitcast_v64i16_to_v128i8(<64 x i16> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: v_perm_b32 v17, v24, v42, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v18, v41, v40, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v19, v25, v39, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v20, v183, v53, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v20, v183, v51, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v21, v26, v182, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v22, v181, v180, 0xc0c0004
; GFX11-FAKE16-NEXT: v_perm_b32 v23, v27, v179, 0xc0c0004
@@ -203269,18 +203269,18 @@ define <128 x i8> @bitcast_v64i16_to_v128i8(<64 x i16> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v16, v18, 16, v17
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v17, v20, 16, v19
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v18, v22, 16, v21
-; GFX11-FAKE16-NEXT: v_perm_b32 v20, v28, v177, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v21, v176, v167, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v20, v28, v167, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v21, v165, v164, 0xc0c0004
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v19, v24, 16, v23
-; GFX11-FAKE16-NEXT: v_perm_b32 v22, v29, v166, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v23, v165, v49, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v24, v30, v164, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v25, v163, v160, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v22, v29, v151, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v23, v149, v38, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v24, v30, v147, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v25, v145, v144, 0xc0c0004
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0)
-; GFX11-FAKE16-NEXT: v_perm_b32 v26, v31, v150, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v27, v148, v38, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v28, v32, v146, 0xc0c0004
-; GFX11-FAKE16-NEXT: v_perm_b32 v29, v144, v135, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v26, v31, v135, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v27, v134, v37, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v28, v32, v132, 0xc0c0004
+; GFX11-FAKE16-NEXT: v_perm_b32 v29, v130, v128, 0xc0c0004
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v20, v21, 16, v20
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v21, v23, 16, v22
; GFX11-FAKE16-NEXT: v_lshl_or_b32 v22, v25, 16, v24
@@ -203293,26 +203293,27 @@ define <128 x i8> @bitcast_v64i16_to_v128i8(<64 x i16> %a, i32 %b) #0 {
; GFX11-FAKE16-NEXT: scratch_store_b128 v0, v[13:16], off offset:80
; GFX11-FAKE16-NEXT: scratch_store_b128 v0, v[17:20], off offset:96
; GFX11-FAKE16-NEXT: scratch_store_b128 v0, v[21:24], off offset:112
-; GFX11-FAKE16-NEXT: s_clause 0x12 ; 76-byte Folded Reload
-; GFX11-FAKE16-NEXT: scratch_load_b32 v74, off, s32 offset:12
-; GFX11-FAKE16-NEXT: scratch_load_b32 v73, off, s32 offset:16
-; GFX11-FAKE16-NEXT: scratch_load_b32 v72, off, s32 offset:20
-; GFX11-FAKE16-NEXT: scratch_load_b32 v63, off, s32 offset:24
-; GFX11-FAKE16-NEXT: scratch_load_b32 v62, off, s32 offset:28
-; GFX11-FAKE16-NEXT: scratch_load_b32 v61, off, s32 offset:32
-; GFX11-FAKE16-NEXT: scratch_load_b32 v60, off, s32 offset:36
-; GFX11-FAKE16-NEXT: scratch_load_b32 v59, off, s32 offset:40
-; GFX11-FAKE16-NEXT: scratch_load_b32 v58, off, s32 offset:44
-; GFX11-FAKE16-NEXT: scratch_load_b32 v57, off, s32 offset:48
-; GFX11-FAKE16-NEXT: scratch_load_b32 v56, off, s32 offset:52
-; GFX11-FAKE16-NEXT: scratch_load_b32 v47, off, s32 offset:56
-; GFX11-FAKE16-NEXT: scratch_load_b32 v46, off, s32 offset:60
-; GFX11-FAKE16-NEXT: scratch_load_b32 v45, off, s32 offset:64
-; GFX11-FAKE16-NEXT: scratch_load_b32 v44, off, s32 offset:68
-; GFX11-FAKE16-NEXT: scratch_load_b32 v43, off, s32 offset:72
-; GFX11-FAKE16-NEXT: scratch_load_b32 v42, off, s32 offset:76
-; GFX11-FAKE16-NEXT: scratch_load_b32 v41, off, s32 offset:80
-; GFX11-FAKE16-NEXT: scratch_load_b32 v40, off, s32 offset:84
+; GFX11-FAKE16-NEXT: s_clause 0x13 ; 80-byte Folded Reload
+; GFX11-FAKE16-NEXT: scratch_load_b32 v75, off, s32 offset:12
+; GFX11-FAKE16-NEXT: scratch_load_b32 v74, off, s32 offset:16
+; GFX11-FAKE16-NEXT: scratch_load_b32 v73, off, s32 offset:20
+; GFX11-FAKE16-NEXT: scratch_load_b32 v72, off, s32 offset:24
+; GFX11-FAKE16-NEXT: scratch_load_b32 v63, off, s32 offset:28
+; GFX11-FAKE16-NEXT: scratch_load_b32 v62, off, s32 offset:32
+; GFX11-FAKE16-NEXT: scratch_load_b32 v61, off, s32 offset:36
+; GFX11-FAKE16-NEXT: scratch_load_b32 v60, off, s32 offset:40
+; GFX11-FAKE16-NEXT: scratch_load_b32 v59, off, s32 offset:44
+; GFX11-FAKE16-NEXT: scratch_load_b32 v58, off, s32 offset:48
+; GFX11-FAKE16-NEXT: scratch_load_b32 v57, off, s32 offset:52
+; GFX11-FAKE16-NEXT: scratch_load_b32 v56, off, s32 offset:56
+; GFX11-FAKE16-NEXT: scratch_load_b32 v47, off, s32 offset:60
+; GFX11-FAKE16-NEXT: scratch_load_b32 v46, off, s32 offset:64
+; GFX11-FAKE16-NEXT: scratch_load_b32 v45, off, s32 offset:68
+; GFX11-FAKE16-NEXT: scratch_load_b32 v44, off, s32 offset:72
+; GFX11-FAKE16-NEXT: scratch_load_b32 v43, off, s32 offset:76
+; GFX11-FAKE16-NEXT: scratch_load_b32 v42, off, s32 offset:80
+; GFX11-FAKE16-NEXT: scratch_load_b32 v41, off, s32 offset:84
+; GFX11-FAKE16-NEXT: scratch_load_b32 v40, off, s32 offset:88
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0)
; GFX11-FAKE16-NEXT: s_setpc_b64 s[30:31]
%cmp = icmp eq i32 %b, 0
@@ -203378,396 +203379,402 @@ define inreg <128 x i8> @bitcast_v64i16_to_v128i8_scalar(<64 x i16> inreg %a, i3
; SI-NEXT: v_writelane_b32 v20, s99, 33
; SI-NEXT: v_writelane_b32 v20, s30, 34
; SI-NEXT: v_writelane_b32 v20, s31, 35
-; SI-NEXT: v_readfirstlane_b32 s34, v16
-; SI-NEXT: s_lshr_b32 s4, s34, 16
-; SI-NEXT: ; implicit-def: $vgpr22 : SGPR spill to VGPR lane
-; SI-NEXT: v_readfirstlane_b32 s88, v12
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_writelane_b32 v22, s4, 0
-; SI-NEXT: s_lshr_b32 s4, s88, 16
-; SI-NEXT: v_writelane_b32 v22, s4, 1
-; SI-NEXT: v_writelane_b32 v22, s19, 2
+; SI-NEXT: v_readfirstlane_b32 s92, v12
+; SI-NEXT: s_lshr_b32 s4, s92, 16
+; SI-NEXT: ; implicit-def: $vgpr21 : SGPR spill to VGPR lane
; SI-NEXT: s_lshr_b32 s5, s16, 16
-; SI-NEXT: v_writelane_b32 v22, s18, 3
-; SI-NEXT: v_writelane_b32 v22, s5, 4
-; SI-NEXT: v_writelane_b32 v22, s21, 5
+; SI-NEXT: s_waitcnt expcnt(1)
+; SI-NEXT: v_writelane_b32 v21, s4, 0
+; SI-NEXT: v_writelane_b32 v21, s16, 1
+; SI-NEXT: v_writelane_b32 v21, s19, 2
+; SI-NEXT: v_writelane_b32 v21, s18, 3
+; SI-NEXT: v_writelane_b32 v21, s5, 4
+; SI-NEXT: v_writelane_b32 v21, s21, 5
; SI-NEXT: s_lshr_b32 s6, s18, 16
-; SI-NEXT: v_writelane_b32 v22, s20, 6
-; SI-NEXT: v_writelane_b32 v22, s6, 7
-; SI-NEXT: v_writelane_b32 v22, s23, 8
+; SI-NEXT: v_writelane_b32 v21, s20, 6
+; SI-NEXT: v_writelane_b32 v21, s6, 7
+; SI-NEXT: v_writelane_b32 v21, s23, 8
; SI-NEXT: s_lshr_b32 s7, s20, 16
-; SI-NEXT: v_writelane_b32 v22, s22, 9
+; SI-NEXT: v_writelane_b32 v21, s22, 9
; SI-NEXT: s_lshr_b32 s8, s22, 16
-; SI-NEXT: v_writelane_b32 v22, s7, 10
-; SI-NEXT: v_writelane_b32 v22, s8, 11
+; SI-NEXT: v_writelane_b32 v21, s7, 10
+; SI-NEXT: v_writelane_b32 v21, s8, 11
+; SI-NEXT: v_writelane_b32 v21, s27, 12
; SI-NEXT: s_lshr_b32 s9, s24, 16
-; SI-NEXT: v_writelane_b32 v22, s27, 12
+; SI-NEXT: v_writelane_b32 v21, s26, 13
+; SI-NEXT: v_writelane_b32 v21, s9, 14
+; SI-NEXT: v_writelane_b32 v21, s29, 15
; SI-NEXT: s_lshr_b32 s10, s26, 16
-; SI-NEXT: v_writelane_b32 v22, s9, 13
+; SI-NEXT: v_writelane_b32 v21, s28, 16
; SI-NEXT: s_lshr_b32 s11, s28, 16
-; SI-NEXT: v_readfirstlane_b32 s52, v1
-; SI-NEXT: v_writelane_b32 v22, s10, 14
+; SI-NEXT: v_readfirstlane_b32 s86, v1
+; SI-NEXT: v_writelane_b32 v21, s10, 17
; SI-NEXT: v_readfirstlane_b32 s80, v3
-; SI-NEXT: s_lshr_b32 s12, s52, 16
-; SI-NEXT: v_writelane_b32 v22, s11, 15
-; SI-NEXT: v_readfirstlane_b32 s74, v5
+; SI-NEXT: s_lshr_b32 s12, s86, 16
+; SI-NEXT: v_writelane_b32 v21, s11, 18
+; SI-NEXT: v_readfirstlane_b32 s76, v5
; SI-NEXT: s_lshr_b32 s13, s80, 16
-; SI-NEXT: v_writelane_b32 v22, s12, 16
+; SI-NEXT: v_writelane_b32 v21, s12, 19
; SI-NEXT: v_readfirstlane_b32 s84, v7
-; SI-NEXT: s_lshr_b32 s14, s74, 16
-; SI-NEXT: v_writelane_b32 v22, s13, 17
+; SI-NEXT: s_lshr_b32 s14, s76, 16
+; SI-NEXT: v_writelane_b32 v21, s13, 20
; SI-NEXT: v_readfirstlane_b32 s87, v9
; SI-NEXT: s_lshr_b32 s15, s84, 16
-; SI-NEXT: v_writelane_b32 v22, s14, 18
-; SI-NEXT: v_readfirstlane_b32 s90, v11
-; SI-NEXT: s_lshr_b32 s72, s87, 16
-; SI-NEXT: v_writelane_b32 v22, s15, 19
-; SI-NEXT: v_readfirstlane_b32 s30, v13
-; SI-NEXT: s_lshr_b32 s76, s90, 16
-; SI-NEXT: v_writelane_b32 v22, s72, 20
-; SI-NEXT: v_readfirstlane_b32 s48, v18
-; SI-NEXT: v_readfirstlane_b32 s50, v17
-; SI-NEXT: v_readfirstlane_b32 s38, v15
-; SI-NEXT: v_readfirstlane_b32 s94, v14
-; SI-NEXT: s_lshr_b32 s77, s30, 16
+; SI-NEXT: v_writelane_b32 v21, s14, 21
+; SI-NEXT: v_readfirstlane_b32 s94, v11
+; SI-NEXT: s_lshr_b32 s74, s87, 16
+; SI-NEXT: v_writelane_b32 v21, s15, 22
+; SI-NEXT: v_readfirstlane_b32 s34, v13
+; SI-NEXT: s_lshr_b32 s78, s94, 16
+; SI-NEXT: v_writelane_b32 v21, s74, 23
+; SI-NEXT: v_readfirstlane_b32 s50, v18
+; SI-NEXT: v_readfirstlane_b32 s52, v17
+; SI-NEXT: v_readfirstlane_b32 s36, v16
+; SI-NEXT: v_readfirstlane_b32 s48, v15
+; SI-NEXT: v_readfirstlane_b32 vcc_lo, v14
+; SI-NEXT: s_lshr_b32 s79, s34, 16
; SI-NEXT: v_readfirstlane_b32 s85, v10
; SI-NEXT: v_readfirstlane_b32 s82, v8
; SI-NEXT: v_readfirstlane_b32 s81, v6
; SI-NEXT: v_readfirstlane_b32 s83, v4
-; SI-NEXT: v_readfirstlane_b32 s36, v2
-; SI-NEXT: v_writelane_b32 v22, s76, 21
-; SI-NEXT: s_lshr_b32 s31, s29, 16
-; SI-NEXT: s_lshr_b32 s35, s27, 16
-; SI-NEXT: s_lshr_b32 s37, s25, 16
-; SI-NEXT: s_lshr_b32 s39, s23, 16
-; SI-NEXT: s_lshr_b32 s49, s21, 16
-; SI-NEXT: s_lshr_b32 s51, s19, 16
-; SI-NEXT: s_lshr_b32 s53, s17, 16
-; SI-NEXT: s_lshr_b32 s73, s48, 16
-; SI-NEXT: s_lshr_b32 s79, s50, 16
-; SI-NEXT: s_lshr_b32 s78, s38, 16
-; SI-NEXT: s_lshr_b32 s75, s94, 16
+; SI-NEXT: v_readfirstlane_b32 s54, v2
+; SI-NEXT: v_writelane_b32 v21, s78, 24
+; SI-NEXT: s_lshr_b32 s35, s29, 16
+; SI-NEXT: s_lshr_b32 s37, s27, 16
+; SI-NEXT: s_lshr_b32 s39, s25, 16
+; SI-NEXT: s_lshr_b32 s49, s23, 16
+; SI-NEXT: s_lshr_b32 s51, s21, 16
+; SI-NEXT: s_lshr_b32 s53, s19, 16
+; SI-NEXT: s_lshr_b32 s55, s17, 16
+; SI-NEXT: s_lshr_b32 s75, s50, 16
+; SI-NEXT: s_lshr_b32 s91, s52, 16
+; SI-NEXT: s_lshr_b32 s71, s36, 16
+; SI-NEXT: s_lshr_b32 s90, s48, 16
+; SI-NEXT: s_lshr_b32 s77, vcc_lo, 16
; SI-NEXT: s_lshr_b32 s98, s85, 16
-; SI-NEXT: s_lshr_b32 s89, s82, 16
-; SI-NEXT: s_lshr_b32 s91, s81, 16
-; SI-NEXT: s_lshr_b32 s95, s83, 16
-; SI-NEXT: s_lshr_b32 s86, s36, 16
+; SI-NEXT: s_lshr_b32 s93, s82, 16
+; SI-NEXT: s_lshr_b32 s95, s81, 16
+; SI-NEXT: s_lshr_b32 vcc_hi, s83, 16
+; SI-NEXT: s_lshr_b32 s38, s54, 16
; SI-NEXT: v_readfirstlane_b32 s4, v19
-; SI-NEXT: v_writelane_b32 v22, s77, 22
+; SI-NEXT: v_writelane_b32 v21, s79, 25
; SI-NEXT: s_cmp_lg_u32 s4, 0
-; SI-NEXT: v_writelane_b32 v22, s78, 23
-; SI-NEXT: v_writelane_b32 v22, s79, 24
-; SI-NEXT: ; implicit-def: $vgpr21 : SGPR spill to VGPR lane
+; SI-NEXT: v_writelane_b32 v21, s90, 26
+; SI-NEXT: v_writelane_b32 v21, s91, 27
+; SI-NEXT: ; implicit-def: $vgpr22 : SGPR spill to VGPR lane
; SI-NEXT: s_cbranch_scc0 .LBB99_2
; SI-NEXT: ; %bb.1: ; %cmp.false
; SI-NEXT: s_and_b32 s4, s16, 0xffff
; SI-NEXT: s_lshl_b32 s5, s5, 16
-; SI-NEXT: s_or_b32 s64, s4, s5
+; SI-NEXT: s_or_b32 s88, s4, s5
; SI-NEXT: s_and_b32 s4, s17, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s53, 16
-; SI-NEXT: s_or_b32 s65, s4, s5
+; SI-NEXT: s_lshl_b32 s5, s55, 16
+; SI-NEXT: s_or_b32 s89, s4, s5
; SI-NEXT: s_and_b32 s4, s18, 0xffff
; SI-NEXT: s_lshl_b32 s5, s6, 16
-; SI-NEXT: s_or_b32 s92, s4, s5
+; SI-NEXT: s_or_b32 s72, s4, s5
; SI-NEXT: s_and_b32 s4, s19, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s51, 16
-; SI-NEXT: s_or_b32 s93, s4, s5
+; SI-NEXT: s_lshl_b32 s5, s53, 16
+; SI-NEXT: s_or_b32 s73, s4, s5
; SI-NEXT: s_and_b32 s4, s20, 0xffff
; SI-NEXT: s_lshl_b32 s5, s7, 16
; SI-NEXT: s_or_b32 s62, s4, s5
; SI-NEXT: s_and_b32 s4, s21, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s49, 16
+; SI-NEXT: s_lshl_b32 s5, s51, 16
; SI-NEXT: s_or_b32 s63, s4, s5
; SI-NEXT: s_and_b32 s4, s22, 0xffff
; SI-NEXT: s_lshl_b32 s5, s8, 16
; SI-NEXT: s_or_b32 s58, s4, s5
; SI-NEXT: s_and_b32 s4, s23, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s39, 16
+; SI-NEXT: s_lshl_b32 s5, s49, 16
; SI-NEXT: s_or_b32 s59, s4, s5
; SI-NEXT: s_and_b32 s4, s24, 0xffff
; SI-NEXT: s_lshl_b32 s5, s9, 16
; SI-NEXT: s_or_b32 s46, s4, s5
; SI-NEXT: s_and_b32 s4, s25, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s37, 16
+; SI-NEXT: s_lshl_b32 s5, s39, 16
; SI-NEXT: s_or_b32 s47, s4, s5
; SI-NEXT: s_and_b32 s4, s26, 0xffff
; SI-NEXT: s_lshl_b32 s5, s10, 16
; SI-NEXT: s_or_b32 s60, s4, s5
; SI-NEXT: s_and_b32 s4, s27, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s35, 16
+; SI-NEXT: s_lshl_b32 s5, s37, 16
; SI-NEXT: s_or_b32 s61, s4, s5
; SI-NEXT: s_and_b32 s4, s28, 0xffff
; SI-NEXT: s_lshl_b32 s5, s11, 16
; SI-NEXT: s_or_b32 s56, s4, s5
; SI-NEXT: s_and_b32 s4, s29, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s31, 16
+; SI-NEXT: s_lshl_b32 s5, s35, 16
; SI-NEXT: s_or_b32 s57, s4, s5
-; SI-NEXT: s_and_b32 s4, s52, 0xffff
+; SI-NEXT: s_and_b32 s4, s86, 0xffff
; SI-NEXT: s_lshl_b32 s5, s12, 16
; SI-NEXT: s_or_b32 s44, s4, s5
-; SI-NEXT: s_and_b32 s4, s36, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s86, 16
+; SI-NEXT: s_and_b32 s4, s54, 0xffff
+; SI-NEXT: s_lshl_b32 s5, s38, 16
; SI-NEXT: s_or_b32 s45, s4, s5
; SI-NEXT: s_and_b32 s4, s80, 0xffff
; SI-NEXT: s_lshl_b32 s5, s13, 16
; SI-NEXT: s_or_b32 s42, s4, s5
; SI-NEXT: s_and_b32 s4, s83, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s95, 16
+; SI-NEXT: s_lshl_b32 s5, vcc_hi, 16
; SI-NEXT: s_or_b32 s43, s4, s5
-; SI-NEXT: s_and_b32 s4, s74, 0xffff
+; SI-NEXT: s_and_b32 s4, s76, 0xffff
; SI-NEXT: s_lshl_b32 s5, s14, 16
; SI-NEXT: s_or_b32 s40, s4, s5
; SI-NEXT: s_and_b32 s4, s81, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s91, 16
+; SI-NEXT: s_lshl_b32 s5, s95, 16
; SI-NEXT: s_or_b32 s41, s4, s5
; SI-NEXT: s_and_b32 s4, s84, 0xffff
; SI-NEXT: s_lshl_b32 s5, s15, 16
; SI-NEXT: s_or_b32 s14, s4, s5
; SI-NEXT: s_and_b32 s4, s82, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s89, 16
+; SI-NEXT: s_lshl_b32 s5, s93, 16
; SI-NEXT: s_or_b32 s15, s4, s5
; SI-NEXT: s_and_b32 s4, s87, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s72, 16
+; SI-NEXT: s_lshl_b32 s5, s74, 16
; SI-NEXT: s_or_b32 s12, s4, s5
; SI-NEXT: s_and_b32 s4, s85, 0xffff
; SI-NEXT: s_lshl_b32 s5, s98, 16
; SI-NEXT: s_or_b32 s13, s4, s5
-; SI-NEXT: s_and_b32 s4, s90, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s76, 16
-; SI-NEXT: v_readlane_b32 s20, v22, 1
+; SI-NEXT: s_and_b32 s4, s94, 0xffff
+; SI-NEXT: s_lshl_b32 s5, s78, 16
+; SI-NEXT: v_readlane_b32 s18, v21, 0
+; SI-NEXT: s_lshr_b32 s16, s63, 8
; SI-NEXT: s_or_b32 s10, s4, s5
-; SI-NEXT: s_and_b32 s4, s88, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s20, 16
+; SI-NEXT: s_and_b32 s4, s92, 0xffff
+; SI-NEXT: s_lshl_b32 s5, s18, 16
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_writelane_b32 v22, s16, 42
+; SI-NEXT: s_lshr_b32 s16, s59, 8
; SI-NEXT: s_or_b32 s11, s4, s5
-; SI-NEXT: s_and_b32 s4, s30, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s77, 16
-; SI-NEXT: s_lshr_b32 s18, s65, 8
+; SI-NEXT: s_and_b32 s4, s34, 0xffff
+; SI-NEXT: s_lshl_b32 s5, s79, 16
+; SI-NEXT: v_writelane_b32 v22, s16, 44
+; SI-NEXT: s_lshr_b32 s16, s47, 8
; SI-NEXT: s_or_b32 s8, s4, s5
-; SI-NEXT: s_and_b32 s4, s94, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s75, 16
-; SI-NEXT: v_writelane_b32 v21, s18, 42
-; SI-NEXT: s_lshr_b32 s18, s93, 8
+; SI-NEXT: s_and_b32 s4, vcc_lo, 0xffff
+; SI-NEXT: s_lshl_b32 s5, s77, 16
+; SI-NEXT: v_writelane_b32 v22, s16, 46
+; SI-NEXT: s_lshr_b32 s16, s61, 8
; SI-NEXT: s_or_b32 s9, s4, s5
-; SI-NEXT: s_and_b32 s4, s38, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s78, 16
-; SI-NEXT: v_readlane_b32 s19, v22, 0
-; SI-NEXT: v_writelane_b32 v21, s18, 44
-; SI-NEXT: s_lshr_b32 s18, s63, 8
+; SI-NEXT: s_and_b32 s4, s48, 0xffff
+; SI-NEXT: s_lshl_b32 s5, s90, 16
+; SI-NEXT: v_writelane_b32 v22, s16, 40
+; SI-NEXT: s_lshr_b32 s66, s15, 8
; SI-NEXT: s_or_b32 s6, s4, s5
-; SI-NEXT: s_and_b32 s4, s34, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s19, 16
-; SI-NEXT: v_writelane_b32 v21, s18, 46
-; SI-NEXT: s_lshr_b32 s18, s59, 8
+; SI-NEXT: s_and_b32 s4, s36, 0xffff
+; SI-NEXT: s_lshl_b32 s5, s71, 16
+; SI-NEXT: v_writelane_b32 v22, s66, 48
+; SI-NEXT: s_lshr_b32 s66, s13, 8
; SI-NEXT: s_or_b32 s7, s4, s5
-; SI-NEXT: s_and_b32 s4, s50, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s79, 16
-; SI-NEXT: v_writelane_b32 v21, s18, 48
-; SI-NEXT: s_lshr_b32 s18, s47, 8
+; SI-NEXT: s_and_b32 s4, s52, 0xffff
+; SI-NEXT: s_lshl_b32 s5, s91, 16
+; SI-NEXT: v_writelane_b32 v22, s66, 50
+; SI-NEXT: s_lshr_b32 s66, s11, 8
; SI-NEXT: s_or_b32 s4, s4, s5
-; SI-NEXT: s_and_b32 s5, s48, 0xffff
-; SI-NEXT: s_lshl_b32 s96, s73, 16
-; SI-NEXT: v_writelane_b32 v21, s18, 50
-; SI-NEXT: s_lshr_b32 s18, s61, 8
-; SI-NEXT: s_or_b32 s5, s5, s96
-; SI-NEXT: v_writelane_b32 v21, s18, 40
-; SI-NEXT: s_lshr_b32 s96, s15, 8
-; SI-NEXT: v_writelane_b32 v21, s96, 52
-; SI-NEXT: s_lshr_b32 s96, s13, 8
-; SI-NEXT: v_writelane_b32 v21, s96, 54
-; SI-NEXT: s_lshr_b32 s96, s11, 8
-; SI-NEXT: v_writelane_b32 v21, s96, 56
-; SI-NEXT: s_lshr_b32 s96, s9, 8
-; SI-NEXT: v_writelane_b32 v21, s96, 58
-; SI-NEXT: s_lshr_b32 s96, s7, 8
-; SI-NEXT: v_writelane_b32 v21, s96, 60
-; SI-NEXT: s_lshr_b32 s96, s5, 8
-; SI-NEXT: v_writelane_b32 v21, s96, 62
-; SI-NEXT: s_bfe_u32 s18, s53, 0x80008
-; SI-NEXT: v_writelane_b32 v21, s18, 41
-; SI-NEXT: s_bfe_u32 s18, s51, 0x80008
-; SI-NEXT: v_writelane_b32 v21, s18, 43
-; SI-NEXT: s_bfe_u32 s18, s49, 0x80008
-; SI-NEXT: v_writelane_b32 v21, s18, 45
-; SI-NEXT: s_bfe_u32 s18, s39, 0x80008
-; SI-NEXT: v_writelane_b32 v21, s18, 47
-; SI-NEXT: s_bfe_u32 s18, s37, 0x80008
-; SI-NEXT: v_writelane_b32 v21, s18, 49
-; SI-NEXT: s_bfe_u32 s18, s35, 0x80008
-; SI-NEXT: v_writelane_b32 v21, s18, 51
-; SI-NEXT: s_bfe_u32 s18, s31, 0x80008
-; SI-NEXT: v_writelane_b32 v21, s18, 39
+; SI-NEXT: s_and_b32 s5, s50, 0xffff
+; SI-NEXT: s_lshl_b32 s65, s75, 16
+; SI-NEXT: v_writelane_b32 v22, s66, 52
+; SI-NEXT: s_lshr_b32 s66, s9, 8
+; SI-NEXT: s_or_b32 s5, s5, s65
+; SI-NEXT: v_writelane_b32 v22, s66, 54
+; SI-NEXT: s_lshr_b32 s66, s7, 8
+; SI-NEXT: v_writelane_b32 v22, s66, 56
+; SI-NEXT: s_lshr_b32 s66, s5, 8
+; SI-NEXT: v_writelane_b32 v22, s66, 58
+; SI-NEXT: s_bfe_u32 s16, s51, 0x80008
+; SI-NEXT: v_writelane_b32 v22, s16, 41
+; SI-NEXT: s_bfe_u32 s16, s49, 0x80008
+; SI-NEXT: v_writelane_b32 v22, s16, 43
+; SI-NEXT: s_bfe_u32 s16, s39, 0x80008
+; SI-NEXT: v_writelane_b32 v22, s16, 45
+; SI-NEXT: s_bfe_u32 s16, s37, 0x80008
+; SI-NEXT: v_writelane_b32 v22, s16, 47
; SI-NEXT: s_bfe_u32 s96, s98, 0x80008
-; SI-NEXT: v_writelane_b32 v21, s96, 53
-; SI-NEXT: s_bfe_u32 s96, s20, 0x80008
-; SI-NEXT: v_writelane_b32 v21, s96, 55
-; SI-NEXT: s_bfe_u32 s96, s75, 0x80008
-; SI-NEXT: v_writelane_b32 v21, s96, 57
-; SI-NEXT: s_bfe_u32 s96, s19, 0x80008
-; SI-NEXT: s_lshr_b64 s[18:19], s[64:65], 24
-; SI-NEXT: v_writelane_b32 v22, s18, 29
-; SI-NEXT: v_writelane_b32 v22, s19, 30
-; SI-NEXT: s_lshr_b64 s[18:19], s[64:65], 16
-; SI-NEXT: v_writelane_b32 v22, s18, 27
-; SI-NEXT: v_writelane_b32 v22, s19, 28
-; SI-NEXT: s_lshr_b64 s[18:19], s[64:65], 8
-; SI-NEXT: v_writelane_b32 v22, s18, 25
-; SI-NEXT: v_writelane_b32 v22, s19, 26
-; SI-NEXT: s_lshr_b64 s[18:19], s[92:93], 24
-; SI-NEXT: v_writelane_b32 v22, s18, 35
-; SI-NEXT: v_writelane_b32 v22, s19, 36
-; SI-NEXT: s_lshr_b64 s[18:19], s[92:93], 16
-; SI-NEXT: v_writelane_b32 v22, s18, 33
-; SI-NEXT: v_writelane_b32 v22, s19, 34
-; SI-NEXT: s_lshr_b64 s[18:19], s[92:93], 8
-; SI-NEXT: v_writelane_b32 v22, s18, 31
-; SI-NEXT: v_writelane_b32 v22, s19, 32
-; SI-NEXT: s_lshr_b64 s[18:19], s[62:63], 24
-; SI-NEXT: v_writelane_b32 v22, s18, 41
-; SI-NEXT: v_writelane_b32 v22, s19, 42
-; SI-NEXT: s_lshr_b64 s[18:19], s[62:63], 16
-; SI-NEXT: v_writelane_b32 v22, s18, 39
-; SI-NEXT: v_writelane_b32 v22, s19, 40
-; SI-NEXT: s_lshr_b64 s[18:19], s[62:63], 8
-; SI-NEXT: v_writelane_b32 v22, s18, 37
-; SI-NEXT: v_writelane_b32 v22, s19, 38
-; SI-NEXT: s_lshr_b64 s[18:19], s[58:59], 24
-; SI-NEXT: v_writelane_b32 v22, s18, 47
-; SI-NEXT: v_writelane_b32 v22, s19, 48
+; SI-NEXT: v_writelane_b32 v22, s96, 49
+; SI-NEXT: s_bfe_u32 s96, s18, 0x80008
+; SI-NEXT: s_mov_b32 s18, s17
+; SI-NEXT: s_lshr_b64 s[16:17], s[88:89], 24
+; SI-NEXT: v_writelane_b32 v21, s16, 32
+; SI-NEXT: v_writelane_b32 v21, s17, 33
+; SI-NEXT: s_lshr_b64 s[16:17], s[88:89], 16
+; SI-NEXT: v_writelane_b32 v21, s16, 30
+; SI-NEXT: v_writelane_b32 v21, s17, 31
+; SI-NEXT: s_lshr_b64 s[16:17], s[88:89], 8
+; SI-NEXT: v_writelane_b32 v21, s16, 28
+; SI-NEXT: v_writelane_b32 v21, s17, 29
+; SI-NEXT: s_lshr_b64 s[16:17], s[72:73], 24
+; SI-NEXT: v_writelane_b32 v21, s16, 38
+; SI-NEXT: v_writelane_b32 v21, s17, 39
+; SI-NEXT: s_lshr_b64 s[16:17], s[72:73], 16
+; SI-NEXT: v_writelane_b32 v21, s16, 36
+; SI-NEXT: v_writelane_b32 v21, s17, 37
+; SI-NEXT: s_lshr_b64 s[16:17], s[72:73], 8
+; SI-NEXT: v_writelane_b32 v21, s16, 34
+; SI-NEXT: v_writelane_b32 v21, s17, 35
+; SI-NEXT: s_lshr_b64 s[16:17], s[62:63], 24
+; SI-NEXT: v_writelane_b32 v21, s16, 44
+; SI-NEXT: v_writelane_b32 v21, s17, 45
+; SI-NEXT: s_lshr_b64 s[16:17], s[62:63], 16
+; SI-NEXT: v_writelane_b32 v21, s16, 42
+; SI-NEXT: v_writelane_b32 v21, s17, 43
+; SI-NEXT: s_lshr_b64 s[16:17], s[62:63], 8
+; SI-NEXT: v_writelane_b32 v21, s16, 40
+; SI-NEXT: v_writelane_b32 v21, s17, 41
+; SI-NEXT: s_lshr_b64 s[16:17], s[58:59], 24
+; SI-NEXT: s_mov_b32 s17, s18
; SI-NEXT: s_lshr_b64 s[18:19], s[58:59], 16
-; SI-NEXT: v_writelane_b32 v22, s18, 45
-; SI-NEXT: v_writelane_b32 v22, s19, 46
+; SI-NEXT: v_writelane_b32 v21, s18, 48
+; SI-NEXT: v_writelane_b32 v21, s19, 49
; SI-NEXT: s_lshr_b64 s[18:19], s[58:59], 8
-; SI-NEXT: v_writelane_b32 v22, s18, 43
-; SI-NEXT: v_writelane_b32 v22, s19, 44
+; SI-NEXT: v_writelane_b32 v21, s18, 46
+; SI-NEXT: v_writelane_b32 v21, s19, 47
; SI-NEXT: s_lshr_b64 s[18:19], s[46:47], 24
-; SI-NEXT: v_writelane_b32 v22, s18, 53
-; SI-NEXT: v_writelane_b32 v22, s19, 54
+; SI-NEXT: v_writelane_b32 v21, s18, 54
+; SI-NEXT: v_writelane_b32 v21, s19, 55
; SI-NEXT: s_lshr_b64 s[18:19], s[46:47], 16
-; SI-NEXT: v_writelane_b32 v22, s18, 51
-; SI-NEXT: v_writelane_b32 v22, s19, 52
+; SI-NEXT: v_writelane_b32 v21, s18, 52
+; SI-NEXT: v_writelane_b32 v21, s19, 53
; SI-NEXT: s_lshr_b64 s[18:19], s[46:47], 8
-; SI-NEXT: v_writelane_b32 v22, s18, 49
-; SI-NEXT: v_writelane_b32 v22, s19, 50
+; SI-NEXT: v_writelane_b32 v21, s18, 50
+; SI-NEXT: v_writelane_b32 v21, s19, 51
; SI-NEXT: s_lshr_b64 s[18:19], s[60:61], 24
-; SI-NEXT: v_writelane_b32 v22, s18, 59
-; SI-NEXT: v_writelane_b32 v22, s19, 60
+; SI-NEXT: v_writelane_b32 v21, s18, 60
+; SI-NEXT: v_writelane_b32 v21, s19, 61
; SI-NEXT: s_lshr_b64 s[18:19], s[60:61], 16
-; SI-NEXT: v_writelane_b32 v22, s18, 57
-; SI-NEXT: v_writelane_b32 v22, s19, 58
+; SI-NEXT: v_writelane_b32 v22, s96, 51
+; SI-NEXT: s_bfe_u32 s96, s77, 0x80008
+; SI-NEXT: v_writelane_b32 v21, s18, 58
+; SI-NEXT: v_writelane_b32 v22, s96, 53
+; SI-NEXT: s_bfe_u32 s96, s71, 0x80008
+; SI-NEXT: v_writelane_b32 v21, s19, 59
; SI-NEXT: s_lshr_b64 s[18:19], s[60:61], 8
-; SI-NEXT: v_writelane_b32 v22, s18, 55
-; SI-NEXT: v_writelane_b32 v21, s96, 59
-; SI-NEXT: s_bfe_u32 s96, s73, 0x80008
-; SI-NEXT: v_writelane_b32 v22, s19, 56
+; SI-NEXT: v_writelane_b32 v22, s96, 55
+; SI-NEXT: s_bfe_u32 s96, s75, 0x80008
+; SI-NEXT: v_writelane_b32 v21, s18, 56
+; SI-NEXT: v_writelane_b32 v22, s96, 57
+; SI-NEXT: v_writelane_b32 v21, s19, 57
; SI-NEXT: s_lshr_b64 s[18:19], s[56:57], 24
-; SI-NEXT: v_writelane_b32 v21, s96, 61
-; SI-NEXT: v_writelane_b32 v22, s18, 63
-; SI-NEXT: v_writelane_b32 v21, s19, 0
+; SI-NEXT: v_writelane_b32 v22, s18, 0
+; SI-NEXT: v_writelane_b32 v22, s19, 1
; SI-NEXT: s_lshr_b64 s[18:19], s[56:57], 16
-; SI-NEXT: v_writelane_b32 v22, s18, 61
-; SI-NEXT: v_writelane_b32 v22, s19, 62
+; SI-NEXT: v_writelane_b32 v21, s18, 62
+; SI-NEXT: v_writelane_b32 v21, s19, 63
; SI-NEXT: s_lshr_b64 s[18:19], s[44:45], 24
-; SI-NEXT: v_writelane_b32 v21, s18, 5
-; SI-NEXT: v_writelane_b32 v21, s19, 6
+; SI-NEXT: v_writelane_b32 v22, s18, 6
+; SI-NEXT: v_writelane_b32 v22, s19, 7
; SI-NEXT: s_lshr_b64 s[18:19], s[44:45], 16
-; SI-NEXT: v_writelane_b32 v21, s18, 3
-; SI-NEXT: v_writelane_b32 v21, s19, 4
+; SI-NEXT: v_writelane_b32 v22, s18, 4
+; SI-NEXT: v_writelane_b32 v22, s19, 5
; SI-NEXT: s_lshr_b64 s[18:19], s[44:45], 8
-; SI-NEXT: v_writelane_b32 v21, s18, 1
-; SI-NEXT: v_writelane_b32 v21, s19, 2
+; SI-NEXT: v_writelane_b32 v22, s18, 2
+; SI-NEXT: v_writelane_b32 v22, s19, 3
; SI-NEXT: s_lshr_b64 s[18:19], s[42:43], 24
-; SI-NEXT: v_writelane_b32 v21, s18, 11
-; SI-NEXT: v_writelane_b32 v21, s19, 12
+; SI-NEXT: v_writelane_b32 v22, s18, 12
+; SI-NEXT: v_writelane_b32 v22, s19, 13
; SI-NEXT: s_lshr_b64 s[18:19], s[42:43], 16
-; SI-NEXT: v_writelane_b32 v21, s18, 9
-; SI-NEXT: v_writelane_b32 v21, s19, 10
+; SI-NEXT: v_writelane_b32 v22, s18, 10
+; SI-NEXT: v_writelane_b32 v22, s19, 11
; SI-NEXT: s_lshr_b64 s[18:19], s[42:43], 8
-; SI-NEXT: v_writelane_b32 v21, s18, 7
-; SI-NEXT: v_writelane_b32 v21, s19, 8
+; SI-NEXT: v_writelane_b32 v22, s18, 8
+; SI-NEXT: v_writelane_b32 v22, s19, 9
; SI-NEXT: s_lshr_b64 s[18:19], s[40:41], 24
-; SI-NEXT: v_writelane_b32 v21, s18, 17
-; SI-NEXT: v_writelane_b32 v21, s19, 18
+; SI-NEXT: v_writelane_b32 v22, s18, 18
+; SI-NEXT: v_writelane_b32 v22, s19, 19
; SI-NEXT: s_lshr_b64 s[18:19], s[40:41], 16
-; SI-NEXT: v_writelane_b32 v21, s18, 15
-; SI-NEXT: v_writelane_b32 v21, s19, 16
+; SI-NEXT: v_writelane_b32 v22, s18, 16
+; SI-NEXT: v_writelane_b32 v22, s19, 17
; SI-NEXT: s_lshr_b64 s[18:19], s[40:41], 8
-; SI-NEXT: v_writelane_b32 v21, s18, 13
-; SI-NEXT: v_writelane_b32 v21, s19, 14
+; SI-NEXT: v_writelane_b32 v22, s18, 14
+; SI-NEXT: v_writelane_b32 v22, s19, 15
; SI-NEXT: s_lshr_b64 s[18:19], s[14:15], 24
-; SI-NEXT: v_writelane_b32 v21, s18, 23
-; SI-NEXT: v_writelane_b32 v21, s19, 24
+; SI-NEXT: v_writelane_b32 v22, s18, 24
+; SI-NEXT: v_writelane_b32 v22, s19, 25
; SI-NEXT: s_lshr_b64 s[18:19], s[14:15], 16
-; SI-NEXT: v_writelane_b32 v21, s18, 21
-; SI-NEXT: v_writelane_b32 v21, s19, 22
+; SI-NEXT: v_writelane_b32 v22, s18, 22
+; SI-NEXT: v_writelane_b32 v22, s19, 23
; SI-NEXT: s_lshr_b64 s[18:19], s[14:15], 8
-; SI-NEXT: v_writelane_b32 v21, s18, 19
-; SI-NEXT: v_writelane_b32 v21, s19, 20
+; SI-NEXT: v_writelane_b32 v22, s18, 20
+; SI-NEXT: v_writelane_b32 v22, s19, 21
; SI-NEXT: s_lshr_b64 s[18:19], s[12:13], 24
-; SI-NEXT: v_writelane_b32 v21, s18, 29
-; SI-NEXT: v_writelane_b32 v21, s19, 30
+; SI-NEXT: v_writelane_b32 v22, s18, 30
+; SI-NEXT: v_writelane_b32 v22, s19, 31
; SI-NEXT: s_lshr_b64 s[18:19], s[12:13], 16
-; SI-NEXT: v_writelane_b32 v21, s18, 27
-; SI-NEXT: v_writelane_b32 v21, s19, 28
+; SI-NEXT: v_writelane_b32 v22, s18, 28
+; SI-NEXT: v_writelane_b32 v22, s19, 29
; SI-NEXT: s_lshr_b64 s[18:19], s[12:13], 8
-; SI-NEXT: v_writelane_b32 v21, s18, 25
-; SI-NEXT: v_writelane_b32 v21, s19, 26
+; SI-NEXT: v_writelane_b32 v22, s18, 26
+; SI-NEXT: v_writelane_b32 v22, s19, 27
; SI-NEXT: s_lshr_b64 s[18:19], s[10:11], 24
-; SI-NEXT: v_writelane_b32 v21, s18, 35
-; SI-NEXT: s_lshr_b32 s78, s45, 8
-; SI-NEXT: v_writelane_b32 v21, s19, 36
+; SI-NEXT: v_writelane_b32 v22, s18, 36
+; SI-NEXT: s_mov_b32 s21, s71
+; SI-NEXT: s_lshr_b64 s[70:71], s[56:57], 8
+; SI-NEXT: v_writelane_b32 v22, s19, 37
; SI-NEXT: s_lshr_b64 s[18:19], s[10:11], 16
+; SI-NEXT: s_lshr_b32 s67, s57, 8
+; SI-NEXT: s_lshr_b32 s90, s45, 8
+; SI-NEXT: s_lshr_b32 s78, s43, 8
+; SI-NEXT: s_mov_b32 s71, s21
+; SI-NEXT: v_writelane_b32 v22, s18, 34
+; SI-NEXT: s_lshr_b64 s[30:31], s[8:9], 24
; SI-NEXT: s_lshr_b64 s[68:69], s[8:9], 16
-; SI-NEXT: s_bfe_u32 s76, s95, 0x80008
-; SI-NEXT: s_bfe_u32 vcc_lo, s89, 0x80008
-; SI-NEXT: v_writelane_b32 v21, s18, 33
-; SI-NEXT: s_lshr_b64 s[66:67], s[8:9], 24
-; SI-NEXT: s_mov_b32 s69, s78
-; SI-NEXT: s_lshr_b64 s[78:79], s[6:7], 16
-; SI-NEXT: s_lshr_b32 s55, s57, 8
-; SI-NEXT: s_lshr_b32 s54, s43, 8
-; SI-NEXT: s_lshr_b32 s72, s41, 8
-; SI-NEXT: v_writelane_b32 v21, s19, 34
-; SI-NEXT: s_lshr_b64 s[18:19], s[10:11], 8
-; SI-NEXT: s_mov_b32 s67, s76
; SI-NEXT: s_lshr_b64 s[20:21], s[8:9], 8
-; SI-NEXT: s_lshr_b64 s[76:77], s[6:7], 24
-; SI-NEXT: s_mov_b32 s79, vcc_lo
-; SI-NEXT: s_lshr_b64 vcc, s[6:7], 8
-; SI-NEXT: s_bfe_u32 s97, s91, 0x80008
-; SI-NEXT: s_mov_b32 s96, s73
-; SI-NEXT: v_writelane_b32 v21, s18, 31
-; SI-NEXT: s_mov_b32 s21, s55
-; SI-NEXT: s_mov_b32 s77, s72
-; SI-NEXT: s_mov_b32 vcc_hi, s54
-; SI-NEXT: s_lshr_b64 s[54:55], s[4:5], 24
-; SI-NEXT: s_lshr_b64 s[72:73], s[4:5], 8
-; SI-NEXT: s_bfe_u32 s99, s86, 0x80008
-; SI-NEXT: s_lshr_b64 s[70:71], s[56:57], 8
-; SI-NEXT: v_writelane_b32 v21, s19, 32
-; SI-NEXT: s_mov_b32 s55, s97
+; SI-NEXT: s_lshr_b32 s74, s41, 8
+; SI-NEXT: s_bfe_u32 s65, vcc_hi, 0x80008
+; SI-NEXT: s_bfe_u32 s64, s93, 0x80008
+; SI-NEXT: v_writelane_b32 v22, s19, 35
+; SI-NEXT: s_lshr_b64 s[18:19], s[10:11], 8
+; SI-NEXT: s_mov_b32 s31, s78
+; SI-NEXT: s_mov_b32 s69, s90
+; SI-NEXT: s_mov_b32 s21, s67
+; SI-NEXT: s_lshr_b64 s[78:79], s[6:7], 24
+; SI-NEXT: s_lshr_b64 s[90:91], s[6:7], 16
+; SI-NEXT: s_lshr_b64 s[66:67], s[6:7], 8
+; SI-NEXT: s_bfe_u32 s97, s95, 0x80008
+; SI-NEXT: s_mov_b32 s96, s75
+; SI-NEXT: v_writelane_b32 v22, s18, 32
+; SI-NEXT: s_mov_b32 s79, s74
+; SI-NEXT: s_mov_b32 s91, s64
+; SI-NEXT: s_mov_b32 s67, s65
+; SI-NEXT: s_lshr_b64 s[64:65], s[4:5], 24
+; SI-NEXT: s_lshr_b64 s[74:75], s[4:5], 8
+; SI-NEXT: s_lshr_b32 s27, s89, 8
+; SI-NEXT: s_lshr_b32 s22, s73, 8
+; SI-NEXT: s_bfe_u32 s28, s55, 0x80008
+; SI-NEXT: s_bfe_u32 s23, s53, 0x80008
+; SI-NEXT: s_bfe_u32 s26, s35, 0x80008
+; SI-NEXT: s_bfe_u32 s99, s38, 0x80008
+; SI-NEXT: v_writelane_b32 v22, s19, 33
+; SI-NEXT: s_mov_b32 s65, s97
; SI-NEXT: s_lshr_b64 s[18:19], s[4:5], 16
-; SI-NEXT: s_mov_b32 s73, s96
+; SI-NEXT: s_mov_b32 s75, s96
; SI-NEXT: s_mov_b64 s[96:97], 0
; SI-NEXT: s_branch .LBB99_3
; SI-NEXT: .LBB99_2:
; SI-NEXT: ; implicit-def: $sgpr4
; SI-NEXT: s_mov_b64 s[96:97], -1
-; SI-NEXT: v_writelane_b32 v22, s4, 25
-; SI-NEXT: v_writelane_b32 v22, s5, 26
+; SI-NEXT: v_writelane_b32 v21, s4, 28
+; SI-NEXT: v_writelane_b32 v21, s5, 29
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: ; implicit-def: $sgpr64
-; SI-NEXT: ; implicit-def: $sgpr92
+; SI-NEXT: ; implicit-def: $sgpr88
+; SI-NEXT: ; implicit-def: $sgpr27
+; SI-NEXT: ; implicit-def: $sgpr28
+; SI-NEXT: ; implicit-def: $sgpr72
+; SI-NEXT: ; implicit-def: $sgpr22
+; SI-NEXT: ; implicit-def: $sgpr23
; SI-NEXT: ; implicit-def: $sgpr62
; SI-NEXT: ; implicit-def: $sgpr58
+; SI-NEXT: ; implicit-def: $sgpr16
; SI-NEXT: ; implicit-def: $sgpr46
; SI-NEXT: ; implicit-def: $sgpr21
+; SI-NEXT: ; implicit-def: $sgpr26
; SI-NEXT: ; implicit-def: $sgpr69
; SI-NEXT: ; implicit-def: $sgpr99
-; SI-NEXT: ; implicit-def: $vcc_hi
+; SI-NEXT: ; implicit-def: $sgpr31
; SI-NEXT: ; implicit-def: $sgpr67
-; SI-NEXT: ; implicit-def: $sgpr77
-; SI-NEXT: ; implicit-def: $sgpr55
; SI-NEXT: ; implicit-def: $sgpr79
+; SI-NEXT: ; implicit-def: $sgpr65
+; SI-NEXT: ; implicit-def: $sgpr91
; SI-NEXT: ; implicit-def: $sgpr60
; SI-NEXT: ; implicit-def: $sgpr56
; SI-NEXT: ; implicit-def: $sgpr70
@@ -203780,58 +203787,47 @@ define inreg <128 x i8> @bitcast_v64i16_to_v128i8_scalar(<64 x i16> inreg %a, i3
; SI-NEXT: ; implicit-def: $sgpr8
; SI-NEXT: ; implicit-def: $sgpr20
; SI-NEXT: ; implicit-def: $sgpr68
-; SI-NEXT: ; implicit-def: $sgpr66
+; SI-NEXT: ; implicit-def: $sgpr30
; SI-NEXT: ; implicit-def: $sgpr6
-; SI-NEXT: ; implicit-def: $vcc_lo
+; SI-NEXT: ; implicit-def: $sgpr66
+; SI-NEXT: ; implicit-def: $sgpr90
; SI-NEXT: ; implicit-def: $sgpr78
-; SI-NEXT: ; implicit-def: $sgpr76
-; SI-NEXT: ; implicit-def: $sgpr72
+; SI-NEXT: ; implicit-def: $sgpr74
; SI-NEXT: ; implicit-def: $sgpr18
-; SI-NEXT: ; implicit-def: $sgpr54
-; SI-NEXT: v_writelane_b32 v22, s4, 27
-; SI-NEXT: v_writelane_b32 v22, s5, 28
-; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_writelane_b32 v22, s4, 29
-; SI-NEXT: v_writelane_b32 v22, s5, 30
-; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: ; kill: killed $sgpr4
-; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: ; kill: killed $sgpr4
-; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_writelane_b32 v22, s4, 31
-; SI-NEXT: v_writelane_b32 v22, s5, 32
+; SI-NEXT: ; implicit-def: $sgpr64
+; SI-NEXT: v_writelane_b32 v21, s4, 30
+; SI-NEXT: v_writelane_b32 v21, s5, 31
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_writelane_b32 v22, s4, 33
-; SI-NEXT: v_writelane_b32 v22, s5, 34
+; SI-NEXT: v_writelane_b32 v21, s4, 32
+; SI-NEXT: v_writelane_b32 v21, s5, 33
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_writelane_b32 v22, s4, 35
-; SI-NEXT: v_writelane_b32 v22, s5, 36
+; SI-NEXT: v_writelane_b32 v21, s4, 34
+; SI-NEXT: v_writelane_b32 v21, s5, 35
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: ; kill: killed $sgpr4
+; SI-NEXT: v_writelane_b32 v21, s4, 36
+; SI-NEXT: v_writelane_b32 v21, s5, 37
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: ; kill: killed $sgpr4
+; SI-NEXT: v_writelane_b32 v21, s4, 38
+; SI-NEXT: v_writelane_b32 v21, s5, 39
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_writelane_b32 v22, s4, 37
-; SI-NEXT: v_writelane_b32 v22, s5, 38
+; SI-NEXT: v_writelane_b32 v21, s4, 40
+; SI-NEXT: v_writelane_b32 v21, s5, 41
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_writelane_b32 v22, s4, 39
-; SI-NEXT: v_writelane_b32 v22, s5, 40
+; SI-NEXT: v_writelane_b32 v21, s4, 42
+; SI-NEXT: v_writelane_b32 v21, s5, 43
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_writelane_b32 v22, s4, 41
-; SI-NEXT: v_writelane_b32 v22, s5, 42
+; SI-NEXT: v_writelane_b32 v21, s4, 44
+; SI-NEXT: v_writelane_b32 v21, s5, 45
; SI-NEXT: ; implicit-def: $sgpr4
; SI-NEXT: ; kill: killed $sgpr4
; SI-NEXT: ; implicit-def: $sgpr4
; SI-NEXT: ; kill: killed $sgpr4
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_writelane_b32 v22, s4, 43
-; SI-NEXT: v_writelane_b32 v22, s5, 44
+; SI-NEXT: v_writelane_b32 v21, s4, 46
+; SI-NEXT: v_writelane_b32 v21, s5, 47
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_writelane_b32 v22, s4, 45
-; SI-NEXT: v_writelane_b32 v22, s5, 46
-; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_writelane_b32 v22, s4, 47
-; SI-NEXT: v_writelane_b32 v22, s5, 48
+; SI-NEXT: v_writelane_b32 v21, s4, 48
+; SI-NEXT: v_writelane_b32 v21, s5, 49
; SI-NEXT: ; implicit-def: $sgpr4
; SI-NEXT: ; kill: killed $sgpr4
; SI-NEXT: ; implicit-def: $sgpr4
@@ -203867,148 +203863,144 @@ define inreg <128 x i8> @bitcast_v64i16_to_v128i8_scalar(<64 x i16> inreg %a, i3
; SI-NEXT: ; implicit-def: $sgpr4
; SI-NEXT: ; kill: killed $sgpr4
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: ; kill: killed $sgpr4
+; SI-NEXT: v_writelane_b32 v21, s4, 50
+; SI-NEXT: v_writelane_b32 v21, s5, 51
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_writelane_b32 v22, s4, 49
-; SI-NEXT: v_writelane_b32 v22, s5, 50
+; SI-NEXT: v_writelane_b32 v21, s4, 52
+; SI-NEXT: v_writelane_b32 v21, s5, 53
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_writelane_b32 v22, s4, 51
-; SI-NEXT: v_writelane_b32 v22, s5, 52
+; SI-NEXT: v_writelane_b32 v21, s4, 54
+; SI-NEXT: v_writelane_b32 v21, s5, 55
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_writelane_b32 v22, s4, 53
-; SI-NEXT: v_writelane_b32 v22, s5, 54
+; SI-NEXT: v_writelane_b32 v21, s4, 56
+; SI-NEXT: v_writelane_b32 v21, s5, 57
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_writelane_b32 v22, s4, 55
-; SI-NEXT: v_writelane_b32 v22, s5, 56
+; SI-NEXT: v_writelane_b32 v21, s4, 58
+; SI-NEXT: v_writelane_b32 v21, s5, 59
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_writelane_b32 v22, s4, 57
-; SI-NEXT: v_writelane_b32 v22, s5, 58
+; SI-NEXT: v_writelane_b32 v21, s4, 60
+; SI-NEXT: v_writelane_b32 v21, s5, 61
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_writelane_b32 v22, s4, 59
-; SI-NEXT: v_writelane_b32 v22, s5, 60
+; SI-NEXT: v_writelane_b32 v21, s4, 62
+; SI-NEXT: v_writelane_b32 v21, s5, 63
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_writelane_b32 v22, s4, 61
-; SI-NEXT: v_writelane_b32 v22, s5, 62
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_writelane_b32 v22, s4, 0
+; SI-NEXT: v_writelane_b32 v22, s5, 1
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_writelane_b32 v22, s4, 63
-; SI-NEXT: v_writelane_b32 v21, s5, 0
+; SI-NEXT: v_writelane_b32 v22, s4, 2
+; SI-NEXT: v_writelane_b32 v22, s5, 3
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_writelane_b32 v21, s4, 1
-; SI-NEXT: v_writelane_b32 v21, s5, 2
+; SI-NEXT: v_writelane_b32 v22, s4, 4
+; SI-NEXT: v_writelane_b32 v22, s5, 5
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_writelane_b32 v21, s4, 3
-; SI-NEXT: v_writelane_b32 v21, s5, 4
+; SI-NEXT: v_writelane_b32 v22, s4, 6
+; SI-NEXT: v_writelane_b32 v22, s5, 7
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_writelane_b32 v21, s4, 5
-; SI-NEXT: v_writelane_b32 v21, s5, 6
+; SI-NEXT: v_writelane_b32 v22, s4, 8
+; SI-NEXT: v_writelane_b32 v22, s5, 9
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_writelane_b32 v21, s4, 7
-; SI-NEXT: v_writelane_b32 v21, s5, 8
+; SI-NEXT: v_writelane_b32 v22, s4, 10
+; SI-NEXT: v_writelane_b32 v22, s5, 11
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_writelane_b32 v21, s4, 9
-; SI-NEXT: v_writelane_b32 v21, s5, 10
+; SI-NEXT: v_writelane_b32 v22, s4, 12
+; SI-NEXT: v_writelane_b32 v22, s5, 13
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_writelane_b32 v21, s4, 11
-; SI-NEXT: v_writelane_b32 v21, s5, 12
+; SI-NEXT: v_writelane_b32 v22, s4, 14
+; SI-NEXT: v_writelane_b32 v22, s5, 15
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_writelane_b32 v21, s4, 13
-; SI-NEXT: v_writelane_b32 v21, s5, 14
+; SI-NEXT: v_writelane_b32 v22, s4, 16
+; SI-NEXT: v_writelane_b32 v22, s5, 17
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_writelane_b32 v21, s4, 15
-; SI-NEXT: v_writelane_b32 v21, s5, 16
+; SI-NEXT: v_writelane_b32 v22, s4, 18
+; SI-NEXT: v_writelane_b32 v22, s5, 19
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_writelane_b32 v21, s4, 17
-; SI-NEXT: v_writelane_b32 v21, s5, 18
+; SI-NEXT: v_writelane_b32 v22, s4, 20
+; SI-NEXT: v_writelane_b32 v22, s5, 21
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_writelane_b32 v21, s4, 19
-; SI-NEXT: v_writelane_b32 v21, s5, 20
+; SI-NEXT: v_writelane_b32 v22, s4, 22
+; SI-NEXT: v_writelane_b32 v22, s5, 23
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_writelane_b32 v21, s4, 21
-; SI-NEXT: v_writelane_b32 v21, s5, 22
+; SI-NEXT: v_writelane_b32 v22, s4, 24
+; SI-NEXT: v_writelane_b32 v22, s5, 25
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_writelane_b32 v21, s4, 23
-; SI-NEXT: v_writelane_b32 v21, s5, 24
+; SI-NEXT: v_writelane_b32 v22, s4, 26
+; SI-NEXT: v_writelane_b32 v22, s5, 27
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_writelane_b32 v21, s4, 25
-; SI-NEXT: v_writelane_b32 v21, s5, 26
+; SI-NEXT: v_writelane_b32 v22, s4, 28
+; SI-NEXT: v_writelane_b32 v22, s5, 29
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_writelane_b32 v21, s4, 27
-; SI-NEXT: v_writelane_b32 v21, s5, 28
+; SI-NEXT: v_writelane_b32 v22, s4, 30
+; SI-NEXT: v_writelane_b32 v22, s5, 31
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_writelane_b32 v21, s4, 29
-; SI-NEXT: v_writelane_b32 v21, s5, 30
+; SI-NEXT: v_writelane_b32 v22, s4, 32
+; SI-NEXT: v_writelane_b32 v22, s5, 33
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_writelane_b32 v21, s4, 31
-; SI-NEXT: v_writelane_b32 v21, s5, 32
+; SI-NEXT: v_writelane_b32 v22, s4, 34
+; SI-NEXT: v_writelane_b32 v22, s5, 35
; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_writelane_b32 v21, s4, 33
-; SI-NEXT: v_writelane_b32 v21, s5, 34
-; SI-NEXT: ; implicit-def: $sgpr4
-; SI-NEXT: v_writelane_b32 v21, s4, 35
-; SI-NEXT: v_writelane_b32 v21, s5, 36
+; SI-NEXT: v_writelane_b32 v22, s4, 36
+; SI-NEXT: v_writelane_b32 v22, s5, 37
; SI-NEXT: ; implicit-def: $sgpr4
; SI-NEXT: .LBB99_3: ; %Flow
+; SI-NEXT: v_writelane_b32 v22, s64, 38
; SI-NEXT: s_and_b64 s[96:97], s[96:97], exec
+; SI-NEXT: v_writelane_b32 v22, s65, 39
; SI-NEXT: s_cselect_b32 s96, 1, 0
-; SI-NEXT: v_writelane_b32 v21, s54, 37
; SI-NEXT: s_cmp_lg_u32 s96, 1
-; SI-NEXT: s_mov_b32 s96, s72
-; SI-NEXT: s_mov_b32 s72, s76
-; SI-NEXT: s_mov_b32 s76, s78
-; SI-NEXT: s_mov_b32 s78, vcc_lo
-; SI-NEXT: s_mov_b32 vcc_lo, s66
-; SI-NEXT: s_mov_b32 s66, s68
+; SI-NEXT: s_mov_b32 s64, s18
+; SI-NEXT: s_mov_b32 s96, s74
+; SI-NEXT: s_mov_b32 s74, s78
+; SI-NEXT: s_mov_b32 s78, s90
+; SI-NEXT: s_mov_b32 s90, s66
+; SI-NEXT: s_mov_b32 s66, s30
+; SI-NEXT: s_mov_b32 s30, s68
; SI-NEXT: s_mov_b32 s68, s20
; SI-NEXT: s_mov_b32 s20, s70
-; SI-NEXT: v_readlane_b32 s70, v22, 47
-; SI-NEXT: v_writelane_b32 v21, s55, 38
-; SI-NEXT: v_readlane_b32 s71, v22, 48
-; SI-NEXT: s_mov_b32 s54, s18
-; SI-NEXT: v_readlane_b32 s71, v21, 39
-; SI-NEXT: v_readlane_b32 s97, v21, 40
-; SI-NEXT: v_readlane_b32 s18, v22, 29
-; SI-NEXT: v_readlane_b32 s19, v22, 30
+; SI-NEXT: s_mov_b32 s70, s16
+; SI-NEXT: v_readlane_b32 s97, v22, 40
+; SI-NEXT: v_readlane_b32 s18, v21, 32
+; SI-NEXT: v_readlane_b32 s19, v21, 33
; SI-NEXT: s_cbranch_scc1 .LBB99_5
; SI-NEXT: ; %bb.4: ; %cmp.true
-; SI-NEXT: s_add_i32 s50, s50, 3
-; SI-NEXT: v_readlane_b32 s5, v22, 24
-; SI-NEXT: s_and_b32 s4, s50, 0xffff
+; SI-NEXT: s_add_i32 s52, s52, 3
+; SI-NEXT: v_readlane_b32 s5, v21, 27
+; SI-NEXT: s_and_b32 s4, s52, 0xffff
; SI-NEXT: s_lshl_b32 s5, s5, 16
-; SI-NEXT: s_add_i32 s48, s48, 3
+; SI-NEXT: s_add_i32 s50, s50, 3
; SI-NEXT: s_or_b32 s4, s5, s4
-; SI-NEXT: s_and_b32 s5, s48, 0xffff
-; SI-NEXT: s_lshl_b32 s6, s73, 16
-; SI-NEXT: s_add_i32 s38, s38, 3
-; SI-NEXT: v_readlane_b32 s7, v22, 23
+; SI-NEXT: s_and_b32 s5, s50, 0xffff
+; SI-NEXT: s_lshl_b32 s6, s75, 16
+; SI-NEXT: s_add_i32 s48, s48, 3
+; SI-NEXT: v_readlane_b32 s7, v21, 26
; SI-NEXT: s_or_b32 s5, s6, s5
-; SI-NEXT: s_and_b32 s6, s38, 0xffff
+; SI-NEXT: s_and_b32 s6, s48, 0xffff
; SI-NEXT: s_lshl_b32 s7, s7, 16
-; SI-NEXT: s_add_i32 s34, s34, 3
-; SI-NEXT: v_readlane_b32 s8, v22, 0
+; SI-NEXT: s_add_i32 s36, s36, 3
; SI-NEXT: s_or_b32 s6, s7, s6
-; SI-NEXT: s_and_b32 s7, s34, 0xffff
-; SI-NEXT: s_lshl_b32 s8, s8, 16
-; SI-NEXT: s_add_i32 s30, s30, 3
-; SI-NEXT: v_readlane_b32 s9, v22, 22
+; SI-NEXT: s_and_b32 s7, s36, 0xffff
+; SI-NEXT: s_lshl_b32 s8, s71, 16
+; SI-NEXT: s_add_i32 s34, s34, 3
+; SI-NEXT: v_readlane_b32 s9, v21, 25
; SI-NEXT: s_or_b32 s7, s8, s7
-; SI-NEXT: s_and_b32 s8, s30, 0xffff
+; SI-NEXT: s_and_b32 s8, s34, 0xffff
; SI-NEXT: s_lshl_b32 s9, s9, 16
-; SI-NEXT: s_add_i32 s94, s94, 3
+; SI-NEXT: s_add_i32 vcc_lo, vcc_lo, 3
; SI-NEXT: s_or_b32 s8, s9, s8
-; SI-NEXT: s_and_b32 s9, s94, 0xffff
-; SI-NEXT: s_lshl_b32 s10, s75, 16
-; SI-NEXT: s_add_i32 s90, s90, 3
-; SI-NEXT: v_readlane_b32 s11, v22, 21
+; SI-NEXT: s_and_b32 s9, vcc_lo, 0xffff
+; SI-NEXT: s_lshl_b32 s10, s77, 16
+; SI-NEXT: s_add_i32 s94, s94, 3
+; SI-NEXT: v_readlane_b32 s11, v21, 24
; SI-NEXT: s_or_b32 s9, s10, s9
-; SI-NEXT: s_and_b32 s10, s90, 0xffff
+; SI-NEXT: s_and_b32 s10, s94, 0xffff
; SI-NEXT: s_lshl_b32 s11, s11, 16
-; SI-NEXT: s_add_i32 s88, s88, 3
-; SI-NEXT: v_readlane_b32 s12, v22, 1
+; SI-NEXT: s_add_i32 s92, s92, 3
+; SI-NEXT: v_readlane_b32 s12, v21, 0
; SI-NEXT: s_or_b32 s10, s11, s10
-; SI-NEXT: s_and_b32 s11, s88, 0xffff
+; SI-NEXT: s_and_b32 s11, s92, 0xffff
; SI-NEXT: s_lshl_b32 s12, s12, 16
; SI-NEXT: s_add_i32 s87, s87, 3
-; SI-NEXT: v_readlane_b32 s13, v22, 20
+; SI-NEXT: v_readlane_b32 s13, v21, 23
; SI-NEXT: s_or_b32 s11, s12, s11
; SI-NEXT: s_and_b32 s12, s87, 0xffff
; SI-NEXT: s_lshl_b32 s13, s13, 16
@@ -204017,344 +204009,343 @@ define inreg <128 x i8> @bitcast_v64i16_to_v128i8_scalar(<64 x i16> inreg %a, i3
; SI-NEXT: s_and_b32 s13, s85, 0xffff
; SI-NEXT: s_lshl_b32 s14, s98, 16
; SI-NEXT: s_add_i32 s84, s84, 3
-; SI-NEXT: v_readlane_b32 s15, v22, 19
+; SI-NEXT: v_readlane_b32 s15, v21, 22
; SI-NEXT: s_or_b32 s13, s14, s13
; SI-NEXT: s_and_b32 s14, s84, 0xffff
; SI-NEXT: s_lshl_b32 s15, s15, 16
; SI-NEXT: s_add_i32 s82, s82, 3
; SI-NEXT: s_or_b32 s14, s15, s14
; SI-NEXT: s_and_b32 s15, s82, 0xffff
-; SI-NEXT: s_lshl_b32 s40, s89, 16
-; SI-NEXT: s_add_i32 s74, s74, 3
-; SI-NEXT: v_readlane_b32 s18, v22, 18
+; SI-NEXT: s_lshl_b32 s40, s93, 16
+; SI-NEXT: s_add_i32 s76, s76, 3
+; SI-NEXT: v_readlane_b32 s16, v21, 21
; SI-NEXT: s_or_b32 s15, s40, s15
-; SI-NEXT: s_and_b32 s40, s74, 0xffff
-; SI-NEXT: s_lshl_b32 s41, s18, 16
+; SI-NEXT: s_and_b32 s40, s76, 0xffff
+; SI-NEXT: s_lshl_b32 s41, s16, 16
; SI-NEXT: s_add_i32 s81, s81, 3
; SI-NEXT: s_or_b32 s40, s41, s40
; SI-NEXT: s_and_b32 s41, s81, 0xffff
-; SI-NEXT: s_lshl_b32 s42, s91, 16
+; SI-NEXT: s_lshl_b32 s42, s95, 16
; SI-NEXT: s_add_i32 s80, s80, 3
-; SI-NEXT: v_readlane_b32 s18, v22, 17
+; SI-NEXT: v_readlane_b32 s16, v21, 20
; SI-NEXT: s_or_b32 s41, s42, s41
; SI-NEXT: s_and_b32 s42, s80, 0xffff
-; SI-NEXT: s_lshl_b32 s43, s18, 16
+; SI-NEXT: s_lshl_b32 s43, s16, 16
; SI-NEXT: s_add_i32 s70, s83, 3
; SI-NEXT: s_or_b32 s42, s43, s42
; SI-NEXT: s_and_b32 s43, s70, 0xffff
-; SI-NEXT: s_lshl_b32 s44, s95, 16
-; SI-NEXT: s_add_i32 s69, s52, 3
-; SI-NEXT: v_readlane_b32 s18, v22, 16
+; SI-NEXT: s_lshl_b32 s44, vcc_hi, 16
+; SI-NEXT: s_add_i32 s69, s86, 3
+; SI-NEXT: v_readlane_b32 s16, v21, 19
; SI-NEXT: s_or_b32 s43, s44, s43
; SI-NEXT: s_and_b32 s44, s69, 0xffff
-; SI-NEXT: s_lshl_b32 s45, s18, 16
-; SI-NEXT: s_add_i32 s67, s36, 3
+; SI-NEXT: s_lshl_b32 s45, s16, 16
+; SI-NEXT: s_add_i32 s67, s54, 3
+; SI-NEXT: v_readlane_b32 s16, v21, 16
; SI-NEXT: s_or_b32 s44, s45, s44
; SI-NEXT: s_and_b32 s45, s67, 0xffff
-; SI-NEXT: s_lshl_b32 s46, s86, 16
-; SI-NEXT: s_add_i32 s28, s28, 3
-; SI-NEXT: v_readlane_b32 s18, v22, 15
+; SI-NEXT: s_lshl_b32 s46, s38, 16
+; SI-NEXT: s_add_i32 s28, s16, 3
+; SI-NEXT: v_readlane_b32 s16, v21, 18
; SI-NEXT: s_or_b32 s45, s46, s45
; SI-NEXT: s_and_b32 s28, s28, 0xffff
-; SI-NEXT: s_lshl_b32 s46, s18, 16
+; SI-NEXT: s_lshl_b32 s46, s16, 16
+; SI-NEXT: v_readlane_b32 s16, v21, 15
; SI-NEXT: s_or_b32 s28, s46, s28
-; SI-NEXT: s_add_i32 s29, s29, 3
+; SI-NEXT: s_add_i32 s29, s16, 3
; SI-NEXT: s_add_i32 s56, s28, 0x30000
; SI-NEXT: s_and_b32 s28, s29, 0xffff
-; SI-NEXT: s_lshl_b32 s29, s31, 16
+; SI-NEXT: s_lshl_b32 s29, s35, 16
+; SI-NEXT: v_readlane_b32 s16, v21, 13
; SI-NEXT: s_or_b32 s28, s29, s28
-; SI-NEXT: s_add_i32 s26, s26, 3
-; SI-NEXT: v_readlane_b32 s18, v22, 14
+; SI-NEXT: s_add_i32 s26, s16, 3
+; SI-NEXT: v_readlane_b32 s16, v21, 17
; SI-NEXT: s_add_i32 s57, s28, 0x30000
; SI-NEXT: s_and_b32 s26, s26, 0xffff
-; SI-NEXT: s_lshl_b32 s28, s18, 16
-; SI-NEXT: v_readlane_b32 s18, v22, 12
+; SI-NEXT: s_lshl_b32 s28, s16, 16
+; SI-NEXT: v_readlane_b32 s16, v21, 12
; SI-NEXT: s_or_b32 s26, s28, s26
-; SI-NEXT: s_add_i32 s27, s18, 3
+; SI-NEXT: s_add_i32 s27, s16, 3
; SI-NEXT: s_add_i32 s60, s26, 0x30000
; SI-NEXT: s_and_b32 s26, s27, 0xffff
-; SI-NEXT: s_lshl_b32 s27, s35, 16
+; SI-NEXT: s_lshl_b32 s27, s37, 16
; SI-NEXT: s_or_b32 s26, s27, s26
; SI-NEXT: s_add_i32 s24, s24, 3
-; SI-NEXT: v_readlane_b32 s18, v22, 13
+; SI-NEXT: v_readlane_b32 s16, v21, 14
; SI-NEXT: s_add_i32 s61, s26, 0x30000
; SI-NEXT: s_and_b32 s24, s24, 0xffff
-; SI-NEXT: s_lshl_b32 s26, s18, 16
+; SI-NEXT: s_lshl_b32 s26, s16, 16
; SI-NEXT: s_or_b32 s24, s26, s24
; SI-NEXT: s_add_i32 s25, s25, 3
; SI-NEXT: s_add_i32 s46, s24, 0x30000
; SI-NEXT: s_and_b32 s24, s25, 0xffff
-; SI-NEXT: s_lshl_b32 s25, s37, 16
-; SI-NEXT: v_readlane_b32 s18, v22, 9
+; SI-NEXT: s_lshl_b32 s25, s39, 16
+; SI-NEXT: v_readlane_b32 s16, v21, 9
; SI-NEXT: s_or_b32 s24, s25, s24
-; SI-NEXT: s_add_i32 s22, s18, 3
-; SI-NEXT: v_readlane_b32 s18, v22, 11
+; SI-NEXT: s_add_i32 s22, s16, 3
+; SI-NEXT: v_readlane_b32 s16, v21, 11
; SI-NEXT: s_add_i32 s47, s24, 0x30000
; SI-NEXT: s_and_b32 s22, s22, 0xffff
-; SI-NEXT: s_lshl_b32 s24, s18, 16
-; SI-NEXT: v_readlane_b32 s18, v22, 8
+; SI-NEXT: s_lshl_b32 s24, s16, 16
+; SI-NEXT: v_readlane_b32 s16, v21, 8
; SI-NEXT: s_or_b32 s22, s24, s22
-; SI-NEXT: s_add_i32 s23, s18, 3
+; SI-NEXT: s_add_i32 s23, s16, 3
; SI-NEXT: s_add_i32 s58, s22, 0x30000
; SI-NEXT: s_and_b32 s22, s23, 0xffff
-; SI-NEXT: s_lshl_b32 s23, s39, 16
-; SI-NEXT: v_readlane_b32 s18, v22, 6
+; SI-NEXT: s_lshl_b32 s23, s49, 16
+; SI-NEXT: v_readlane_b32 s16, v21, 6
; SI-NEXT: s_or_b32 s22, s23, s22
-; SI-NEXT: s_add_i32 s20, s18, 3
-; SI-NEXT: v_readlane_b32 s18, v22, 10
+; SI-NEXT: s_add_i32 s20, s16, 3
+; SI-NEXT: v_readlane_b32 s16, v21, 10
; SI-NEXT: s_add_i32 s59, s22, 0x30000
; SI-NEXT: s_and_b32 s20, s20, 0xffff
-; SI-NEXT: s_lshl_b32 s22, s18, 16
-; SI-NEXT: v_readlane_b32 s18, v22, 5
+; SI-NEXT: s_lshl_b32 s22, s16, 16
+; SI-NEXT: v_readlane_b32 s16, v21, 5
; SI-NEXT: s_or_b32 s20, s22, s20
-; SI-NEXT: s_add_i32 s21, s18, 3
+; SI-NEXT: s_add_i32 s21, s16, 3
; SI-NEXT: s_add_i32 s62, s20, 0x30000
; SI-NEXT: s_and_b32 s20, s21, 0xffff
-; SI-NEXT: s_lshl_b32 s21, s49, 16
-; SI-NEXT: v_readlane_b32 s18, v22, 3
+; SI-NEXT: s_lshl_b32 s21, s51, 16
+; SI-NEXT: v_readlane_b32 s16, v21, 3
; SI-NEXT: s_or_b32 s20, s21, s20
-; SI-NEXT: s_add_i32 s18, s18, 3
-; SI-NEXT: v_readlane_b32 s19, v22, 7
+; SI-NEXT: s_add_i32 s18, s16, 3
+; SI-NEXT: v_readlane_b32 s16, v21, 7
; SI-NEXT: s_add_i32 s63, s20, 0x30000
; SI-NEXT: s_and_b32 s18, s18, 0xffff
-; SI-NEXT: s_lshl_b32 s20, s19, 16
+; SI-NEXT: s_lshl_b32 s20, s16, 16
+; SI-NEXT: v_readlane_b32 s16, v21, 2
; SI-NEXT: s_or_b32 s18, s20, s18
-; SI-NEXT: s_add_i32 s92, s18, 0x30000
-; SI-NEXT: v_readlane_b32 s18, v22, 2
-; SI-NEXT: s_add_i32 s19, s18, 3
+; SI-NEXT: s_add_i32 s19, s16, 3
+; SI-NEXT: s_add_i32 s72, s18, 0x30000
; SI-NEXT: s_and_b32 s18, s19, 0xffff
-; SI-NEXT: s_lshl_b32 s19, s51, 16
+; SI-NEXT: s_lshl_b32 s19, s53, 16
; SI-NEXT: s_or_b32 s18, s19, s18
-; SI-NEXT: s_add_i32 s93, s18, 0x30000
+; SI-NEXT: v_readlane_b32 s16, v21, 1
+; SI-NEXT: s_add_i32 s73, s18, 0x30000
; SI-NEXT: s_add_i32 s16, s16, 3
-; SI-NEXT: v_readlane_b32 s18, v22, 4
+; SI-NEXT: v_readlane_b32 s18, v21, 4
; SI-NEXT: s_and_b32 s16, s16, 0xffff
; SI-NEXT: s_lshl_b32 s18, s18, 16
; SI-NEXT: s_or_b32 s16, s18, s16
; SI-NEXT: s_add_i32 s17, s17, 3
-; SI-NEXT: s_add_i32 s64, s16, 0x30000
+; SI-NEXT: s_add_i32 s88, s16, 0x30000
; SI-NEXT: s_and_b32 s16, s17, 0xffff
-; SI-NEXT: s_lshl_b32 s17, s53, 16
+; SI-NEXT: s_lshl_b32 s17, s55, 16
; SI-NEXT: s_or_b32 s16, s17, s16
-; SI-NEXT: s_add_i32 s65, s16, 0x30000
-; SI-NEXT: s_lshr_b64 s[16:17], s[64:65], 16
-; SI-NEXT: v_writelane_b32 v22, s16, 27
-; SI-NEXT: v_writelane_b32 v22, s17, 28
-; SI-NEXT: s_lshr_b64 s[16:17], s[64:65], 8
-; SI-NEXT: v_writelane_b32 v22, s16, 25
-; SI-NEXT: v_writelane_b32 v22, s17, 26
-; SI-NEXT: s_lshr_b64 s[16:17], s[92:93], 24
-; SI-NEXT: v_writelane_b32 v22, s16, 35
-; SI-NEXT: v_writelane_b32 v22, s17, 36
-; SI-NEXT: s_lshr_b64 s[16:17], s[92:93], 16
-; SI-NEXT: v_writelane_b32 v22, s16, 33
-; SI-NEXT: v_writelane_b32 v22, s17, 34
-; SI-NEXT: s_lshr_b64 s[16:17], s[92:93], 8
-; SI-NEXT: v_writelane_b32 v22, s16, 31
-; SI-NEXT: v_writelane_b32 v22, s17, 32
+; SI-NEXT: s_add_i32 s89, s16, 0x30000
+; SI-NEXT: s_lshr_b64 s[16:17], s[88:89], 16
+; SI-NEXT: v_writelane_b32 v21, s16, 30
+; SI-NEXT: v_writelane_b32 v21, s17, 31
+; SI-NEXT: s_lshr_b64 s[16:17], s[88:89], 8
+; SI-NEXT: v_writelane_b32 v21, s16, 28
+; SI-NEXT: v_writelane_b32 v21, s17, 29
+; SI-NEXT: s_lshr_b64 s[16:17], s[72:73], 24
+; SI-NEXT: v_writelane_b32 v21, s16, 38
+; SI-NEXT: v_writelane_b32 v21, s17, 39
+; SI-NEXT: s_lshr_b64 s[16:17], s[72:73], 16
+; SI-NEXT: v_writelane_b32 v21, s16, 36
+; SI-NEXT: v_writelane_b32 v21, s17, 37
+; SI-NEXT: s_lshr_b64 s[16:17], s[72:73], 8
+; SI-NEXT: v_writelane_b32 v21, s16, 34
+; SI-NEXT: v_writelane_b32 v21, s17, 35
; SI-NEXT: s_lshr_b64 s[16:17], s[62:63], 24
-; SI-NEXT: v_writelane_b32 v22, s16, 41
-; SI-NEXT: v_writelane_b32 v22, s17, 42
+; SI-NEXT: v_writelane_b32 v21, s16, 44
+; SI-NEXT: v_writelane_b32 v21, s17, 45
; SI-NEXT: s_lshr_b64 s[16:17], s[62:63], 16
-; SI-NEXT: v_writelane_b32 v22, s16, 39
-; SI-NEXT: v_writelane_b32 v22, s17, 40
+; SI-NEXT: v_writelane_b32 v21, s16, 42
+; SI-NEXT: v_writelane_b32 v21, s17, 43
; SI-NEXT: s_lshr_b64 s[16:17], s[62:63], 8
-; SI-NEXT: v_writelane_b32 v22, s16, 37
-; SI-NEXT: v_writelane_b32 v22, s17, 38
+; SI-NEXT: v_writelane_b32 v21, s16, 40
+; SI-NEXT: v_writelane_b32 v21, s17, 41
; SI-NEXT: s_lshr_b64 s[16:17], s[58:59], 16
-; SI-NEXT: v_writelane_b32 v22, s16, 45
-; SI-NEXT: v_writelane_b32 v22, s17, 46
+; SI-NEXT: v_writelane_b32 v21, s16, 48
+; SI-NEXT: v_writelane_b32 v21, s17, 49
; SI-NEXT: s_lshr_b64 s[16:17], s[58:59], 8
-; SI-NEXT: v_writelane_b32 v22, s16, 43
-; SI-NEXT: v_writelane_b32 v22, s17, 44
+; SI-NEXT: v_writelane_b32 v21, s16, 46
+; SI-NEXT: v_writelane_b32 v21, s17, 47
; SI-NEXT: s_lshr_b64 s[16:17], s[46:47], 24
-; SI-NEXT: v_writelane_b32 v22, s16, 53
-; SI-NEXT: v_writelane_b32 v22, s17, 54
+; SI-NEXT: v_writelane_b32 v21, s16, 54
+; SI-NEXT: v_writelane_b32 v21, s17, 55
; SI-NEXT: s_lshr_b64 s[16:17], s[46:47], 16
-; SI-NEXT: v_writelane_b32 v22, s16, 51
-; SI-NEXT: v_writelane_b32 v22, s17, 52
+; SI-NEXT: v_writelane_b32 v21, s16, 52
+; SI-NEXT: v_writelane_b32 v21, s17, 53
; SI-NEXT: s_lshr_b64 s[16:17], s[46:47], 8
-; SI-NEXT: v_writelane_b32 v22, s16, 49
-; SI-NEXT: v_writelane_b32 v22, s17, 50
+; SI-NEXT: v_writelane_b32 v21, s16, 50
+; SI-NEXT: v_writelane_b32 v21, s17, 51
; SI-NEXT: s_lshr_b64 s[16:17], s[60:61], 24
-; SI-NEXT: v_writelane_b32 v22, s16, 59
-; SI-NEXT: v_writelane_b32 v22, s17, 60
+; SI-NEXT: v_writelane_b32 v21, s16, 60
+; SI-NEXT: v_writelane_b32 v21, s17, 61
; SI-NEXT: s_lshr_b64 s[16:17], s[60:61], 16
-; SI-NEXT: v_writelane_b32 v22, s16, 57
-; SI-NEXT: v_writelane_b32 v22, s17, 58
+; SI-NEXT: v_writelane_b32 v21, s16, 58
+; SI-NEXT: v_writelane_b32 v21, s17, 59
; SI-NEXT: s_lshr_b64 s[16:17], s[60:61], 8
-; SI-NEXT: v_writelane_b32 v22, s16, 55
-; SI-NEXT: v_writelane_b32 v22, s17, 56
+; SI-NEXT: v_writelane_b32 v21, s16, 56
+; SI-NEXT: v_writelane_b32 v21, s17, 57
; SI-NEXT: s_lshr_b64 s[16:17], s[56:57], 24
-; SI-NEXT: v_writelane_b32 v22, s16, 63
-; SI-NEXT: v_writelane_b32 v21, s17, 0
+; SI-NEXT: v_writelane_b32 v22, s16, 0
+; SI-NEXT: v_writelane_b32 v22, s17, 1
; SI-NEXT: s_lshr_b64 s[16:17], s[56:57], 16
; SI-NEXT: s_add_i32 s44, s44, 0x30000
; SI-NEXT: s_add_i32 s45, s45, 0x30000
-; SI-NEXT: v_writelane_b32 v22, s16, 61
-; SI-NEXT: v_writelane_b32 v22, s17, 62
+; SI-NEXT: v_writelane_b32 v21, s16, 62
+; SI-NEXT: v_writelane_b32 v21, s17, 63
; SI-NEXT: s_lshr_b64 s[16:17], s[44:45], 24
-; SI-NEXT: v_writelane_b32 v21, s16, 5
-; SI-NEXT: v_writelane_b32 v21, s17, 6
+; SI-NEXT: v_writelane_b32 v22, s16, 6
+; SI-NEXT: v_writelane_b32 v22, s17, 7
; SI-NEXT: s_lshr_b64 s[16:17], s[44:45], 16
-; SI-NEXT: v_writelane_b32 v21, s16, 3
-; SI-NEXT: v_writelane_b32 v21, s17, 4
+; SI-NEXT: v_writelane_b32 v22, s16, 4
+; SI-NEXT: v_writelane_b32 v22, s17, 5
; SI-NEXT: s_lshr_b64 s[16:17], s[44:45], 8
; SI-NEXT: s_add_i32 s42, s42, 0x30000
; SI-NEXT: s_add_i32 s43, s43, 0x30000
-; SI-NEXT: v_writelane_b32 v21, s16, 1
-; SI-NEXT: v_writelane_b32 v21, s17, 2
+; SI-NEXT: v_writelane_b32 v22, s16, 2
+; SI-NEXT: v_writelane_b32 v22, s17, 3
; SI-NEXT: s_lshr_b64 s[16:17], s[42:43], 24
-; SI-NEXT: v_writelane_b32 v21, s16, 11
-; SI-NEXT: v_writelane_b32 v21, s17, 12
+; SI-NEXT: v_writelane_b32 v22, s16, 12
+; SI-NEXT: v_writelane_b32 v22, s17, 13
; SI-NEXT: s_lshr_b64 s[16:17], s[42:43], 16
-; SI-NEXT: v_writelane_b32 v21, s16, 9
-; SI-NEXT: v_writelane_b32 v21, s17, 10
+; SI-NEXT: v_writelane_b32 v22, s16, 10
+; SI-NEXT: v_writelane_b32 v22, s17, 11
; SI-NEXT: s_lshr_b64 s[16:17], s[42:43], 8
; SI-NEXT: s_add_i32 s40, s40, 0x30000
; SI-NEXT: s_add_i32 s41, s41, 0x30000
-; SI-NEXT: v_writelane_b32 v21, s16, 7
-; SI-NEXT: v_writelane_b32 v21, s17, 8
+; SI-NEXT: v_writelane_b32 v22, s16, 8
+; SI-NEXT: v_writelane_b32 v22, s17, 9
; SI-NEXT: s_lshr_b64 s[16:17], s[40:41], 24
-; SI-NEXT: v_writelane_b32 v21, s16, 17
-; SI-NEXT: v_writelane_b32 v21, s17, 18
+; SI-NEXT: v_writelane_b32 v22, s16, 18
+; SI-NEXT: v_writelane_b32 v22, s17, 19
; SI-NEXT: s_lshr_b64 s[16:17], s[40:41], 16
-; SI-NEXT: v_writelane_b32 v21, s16, 15
-; SI-NEXT: v_writelane_b32 v21, s17, 16
+; SI-NEXT: v_writelane_b32 v22, s16, 16
+; SI-NEXT: v_writelane_b32 v22, s17, 17
; SI-NEXT: s_lshr_b64 s[16:17], s[40:41], 8
; SI-NEXT: s_add_i32 s14, s14, 0x30000
; SI-NEXT: s_add_i32 s15, s15, 0x30000
-; SI-NEXT: v_writelane_b32 v21, s16, 13
-; SI-NEXT: v_writelane_b32 v21, s17, 14
+; SI-NEXT: v_writelane_b32 v22, s16, 14
+; SI-NEXT: v_writelane_b32 v22, s17, 15
; SI-NEXT: s_lshr_b64 s[16:17], s[14:15], 24
-; SI-NEXT: v_writelane_b32 v21, s16, 23
-; SI-NEXT: v_writelane_b32 v21, s17, 24
+; SI-NEXT: v_writelane_b32 v22, s16, 24
+; SI-NEXT: v_writelane_b32 v22, s17, 25
; SI-NEXT: s_lshr_b64 s[16:17], s[14:15], 16
-; SI-NEXT: v_writelane_b32 v21, s16, 21
-; SI-NEXT: v_writelane_b32 v21, s17, 22
+; SI-NEXT: v_writelane_b32 v22, s16, 22
+; SI-NEXT: v_writelane_b32 v22, s17, 23
; SI-NEXT: s_lshr_b64 s[16:17], s[14:15], 8
; SI-NEXT: s_add_i32 s12, s12, 0x30000
; SI-NEXT: s_add_i32 s13, s13, 0x30000
-; SI-NEXT: v_writelane_b32 v21, s16, 19
-; SI-NEXT: v_writelane_b32 v21, s17, 20
+; SI-NEXT: v_writelane_b32 v22, s16, 20
+; SI-NEXT: v_writelane_b32 v22, s17, 21
; SI-NEXT: s_lshr_b64 s[16:17], s[12:13], 24
-; SI-NEXT: v_writelane_b32 v21, s16, 29
-; SI-NEXT: v_writelane_b32 v21, s17, 30
+; SI-NEXT: v_writelane_b32 v22, s16, 30
+; SI-NEXT: v_writelane_b32 v22, s17, 31
; SI-NEXT: s_lshr_b64 s[16:17], s[12:13], 16
-; SI-NEXT: v_writelane_b32 v21, s16, 27
-; SI-NEXT: v_writelane_b32 v21, s17, 28
+; SI-NEXT: v_writelane_b32 v22, s16, 28
+; SI-NEXT: v_writelane_b32 v22, s17, 29
; SI-NEXT: s_lshr_b64 s[16:17], s[12:13], 8
; SI-NEXT: s_add_i32 s10, s10, 0x30000
; SI-NEXT: s_add_i32 s11, s11, 0x30000
-; SI-NEXT: v_writelane_b32 v21, s16, 25
-; SI-NEXT: v_writelane_b32 v21, s17, 26
+; SI-NEXT: v_writelane_b32 v22, s16, 26
+; SI-NEXT: v_writelane_b32 v22, s17, 27
; SI-NEXT: s_lshr_b64 s[16:17], s[10:11], 24
-; SI-NEXT: v_writelane_b32 v21, s16, 35
-; SI-NEXT: v_writelane_b32 v21, s17, 36
+; SI-NEXT: v_writelane_b32 v22, s16, 36
+; SI-NEXT: v_writelane_b32 v22, s17, 37
; SI-NEXT: s_lshr_b64 s[16:17], s[10:11], 16
-; SI-NEXT: v_writelane_b32 v21, s16, 33
-; SI-NEXT: v_writelane_b32 v21, s17, 34
+; SI-NEXT: v_writelane_b32 v22, s16, 34
+; SI-NEXT: v_writelane_b32 v22, s17, 35
; SI-NEXT: s_lshr_b64 s[16:17], s[10:11], 8
; SI-NEXT: s_add_i32 s4, s4, 0x30000
; SI-NEXT: s_add_i32 s5, s5, 0x30000
-; SI-NEXT: v_writelane_b32 v21, s16, 31
-; SI-NEXT: v_writelane_b32 v21, s17, 32
+; SI-NEXT: v_writelane_b32 v22, s16, 32
+; SI-NEXT: v_writelane_b32 v22, s17, 33
; SI-NEXT: s_lshr_b64 s[16:17], s[4:5], 24
-; SI-NEXT: v_writelane_b32 v21, s16, 37
-; SI-NEXT: v_writelane_b32 v21, s17, 38
-; SI-NEXT: s_lshr_b32 s16, s65, 24
-; SI-NEXT: v_writelane_b32 v21, s16, 41
-; SI-NEXT: s_lshr_b32 s16, s65, 8
-; SI-NEXT: v_writelane_b32 v21, s16, 42
-; SI-NEXT: s_lshr_b32 s16, s93, 24
-; SI-NEXT: v_writelane_b32 v21, s16, 43
-; SI-NEXT: s_lshr_b32 s16, s93, 8
-; SI-NEXT: v_writelane_b32 v21, s16, 44
+; SI-NEXT: v_writelane_b32 v22, s16, 38
+; SI-NEXT: v_writelane_b32 v22, s17, 39
; SI-NEXT: s_lshr_b32 s16, s63, 24
-; SI-NEXT: v_writelane_b32 v21, s16, 45
+; SI-NEXT: v_writelane_b32 v22, s16, 41
; SI-NEXT: s_lshr_b32 s16, s63, 8
-; SI-NEXT: v_writelane_b32 v21, s16, 46
+; SI-NEXT: v_writelane_b32 v22, s16, 42
; SI-NEXT: s_lshr_b32 s16, s59, 24
-; SI-NEXT: v_writelane_b32 v21, s16, 47
+; SI-NEXT: v_writelane_b32 v22, s16, 43
; SI-NEXT: s_lshr_b32 s16, s59, 8
-; SI-NEXT: v_writelane_b32 v21, s16, 48
+; SI-NEXT: v_writelane_b32 v22, s16, 44
; SI-NEXT: s_lshr_b32 s16, s47, 24
-; SI-NEXT: v_writelane_b32 v21, s16, 49
+; SI-NEXT: v_writelane_b32 v22, s16, 45
; SI-NEXT: s_lshr_b32 s16, s47, 8
-; SI-NEXT: v_writelane_b32 v21, s16, 50
+; SI-NEXT: v_writelane_b32 v22, s16, 46
; SI-NEXT: s_lshr_b32 s16, s61, 24
-; SI-NEXT: v_writelane_b32 v21, s16, 51
+; SI-NEXT: v_writelane_b32 v22, s16, 47
; SI-NEXT: s_lshr_b32 s16, s15, 8
-; SI-NEXT: v_writelane_b32 v21, s16, 52
+; SI-NEXT: v_writelane_b32 v22, s16, 48
; SI-NEXT: s_lshr_b32 s16, s13, 24
-; SI-NEXT: v_writelane_b32 v21, s16, 53
+; SI-NEXT: v_writelane_b32 v22, s16, 49
; SI-NEXT: s_lshr_b32 s16, s13, 8
-; SI-NEXT: v_writelane_b32 v21, s16, 54
+; SI-NEXT: v_writelane_b32 v22, s16, 50
; SI-NEXT: s_lshr_b32 s16, s11, 24
-; SI-NEXT: v_writelane_b32 v21, s16, 55
+; SI-NEXT: v_writelane_b32 v22, s16, 51
; SI-NEXT: s_lshr_b32 s16, s11, 16
; SI-NEXT: s_add_i32 s9, s9, 0x30000
-; SI-NEXT: v_writelane_b32 v22, s16, 1
+; SI-NEXT: v_writelane_b32 v21, s16, 0
; SI-NEXT: s_lshr_b32 s16, s11, 8
-; SI-NEXT: v_writelane_b32 v21, s16, 56
+; SI-NEXT: v_writelane_b32 v22, s16, 52
; SI-NEXT: s_lshr_b32 s16, s9, 24
; SI-NEXT: s_add_i32 s7, s7, 0x30000
-; SI-NEXT: v_writelane_b32 v21, s16, 57
+; SI-NEXT: v_writelane_b32 v22, s16, 53
; SI-NEXT: s_lshr_b32 s16, s9, 8
-; SI-NEXT: v_writelane_b32 v21, s16, 58
+; SI-NEXT: v_writelane_b32 v22, s16, 54
; SI-NEXT: s_lshr_b32 s16, s7, 24
-; SI-NEXT: v_writelane_b32 v21, s16, 59
-; SI-NEXT: s_lshr_b32 s16, s7, 16
; SI-NEXT: s_add_i32 s6, s6, 0x30000
; SI-NEXT: s_add_i32 s8, s8, 0x30000
-; SI-NEXT: v_writelane_b32 v22, s16, 0
+; SI-NEXT: v_writelane_b32 v22, s16, 55
; SI-NEXT: s_lshr_b32 s16, s7, 8
; SI-NEXT: s_lshr_b64 s[70:71], s[58:59], 24
; SI-NEXT: s_lshr_b64 s[20:21], s[56:57], 8
-; SI-NEXT: s_lshr_b64 vcc, s[8:9], 24
-; SI-NEXT: s_lshr_b64 s[66:67], s[8:9], 16
+; SI-NEXT: s_lshr_b64 s[66:67], s[8:9], 24
+; SI-NEXT: s_lshr_b64 s[30:31], s[8:9], 16
; SI-NEXT: s_lshr_b64 s[68:69], s[8:9], 8
-; SI-NEXT: s_lshr_b64 s[72:73], s[6:7], 24
-; SI-NEXT: s_lshr_b64 s[76:77], s[6:7], 16
-; SI-NEXT: s_lshr_b64 s[78:79], s[6:7], 8
-; SI-NEXT: s_lshr_b64 s[54:55], s[4:5], 16
+; SI-NEXT: s_lshr_b64 s[74:75], s[6:7], 24
+; SI-NEXT: s_lshr_b64 s[78:79], s[6:7], 16
+; SI-NEXT: s_lshr_b64 s[90:91], s[6:7], 8
+; SI-NEXT: s_lshr_b64 s[64:65], s[4:5], 16
; SI-NEXT: s_lshr_b64 s[96:97], s[4:5], 8
-; SI-NEXT: v_writelane_b32 v21, s16, 60
+; SI-NEXT: v_writelane_b32 v22, s16, 56
; SI-NEXT: s_lshr_b32 s16, s5, 24
-; SI-NEXT: s_lshr_b64 s[18:19], s[64:65], 24
-; SI-NEXT: s_lshr_b32 s53, s65, 16
-; SI-NEXT: s_lshr_b32 s51, s93, 16
-; SI-NEXT: s_lshr_b32 s49, s63, 16
-; SI-NEXT: s_lshr_b32 s39, s59, 16
-; SI-NEXT: s_lshr_b32 s37, s47, 16
-; SI-NEXT: s_lshr_b32 s35, s61, 16
+; SI-NEXT: s_lshr_b64 s[18:19], s[88:89], 24
+; SI-NEXT: s_lshr_b32 s28, s89, 24
+; SI-NEXT: s_lshr_b32 s55, s89, 16
+; SI-NEXT: s_lshr_b32 s27, s89, 8
+; SI-NEXT: s_lshr_b32 s23, s73, 24
+; SI-NEXT: s_lshr_b32 s53, s73, 16
+; SI-NEXT: s_lshr_b32 s22, s73, 8
+; SI-NEXT: s_lshr_b32 s51, s63, 16
+; SI-NEXT: s_lshr_b32 s49, s59, 16
+; SI-NEXT: s_lshr_b32 s39, s47, 16
+; SI-NEXT: s_lshr_b32 s37, s61, 16
; SI-NEXT: s_lshr_b32 s97, s61, 8
-; SI-NEXT: s_lshr_b32 s71, s57, 24
-; SI-NEXT: s_lshr_b32 s31, s57, 16
+; SI-NEXT: s_lshr_b32 s26, s57, 24
+; SI-NEXT: s_lshr_b32 s35, s57, 16
; SI-NEXT: s_lshr_b32 s21, s57, 8
; SI-NEXT: s_lshr_b32 s99, s45, 24
-; SI-NEXT: s_lshr_b32 s86, s45, 16
+; SI-NEXT: s_lshr_b32 s38, s45, 16
; SI-NEXT: s_lshr_b32 s69, s45, 8
; SI-NEXT: s_lshr_b32 s67, s43, 24
-; SI-NEXT: s_lshr_b32 s95, s43, 16
-; SI-NEXT: s_lshr_b32 vcc_hi, s43, 8
-; SI-NEXT: s_lshr_b32 s55, s41, 24
-; SI-NEXT: s_lshr_b32 s91, s41, 16
-; SI-NEXT: s_lshr_b32 s77, s41, 8
-; SI-NEXT: s_lshr_b32 s79, s15, 24
-; SI-NEXT: s_lshr_b32 s89, s15, 16
+; SI-NEXT: s_lshr_b32 vcc_hi, s43, 16
+; SI-NEXT: s_lshr_b32 s31, s43, 8
+; SI-NEXT: s_lshr_b32 s65, s41, 24
+; SI-NEXT: s_lshr_b32 s95, s41, 16
+; SI-NEXT: s_lshr_b32 s79, s41, 8
+; SI-NEXT: s_lshr_b32 s91, s15, 24
+; SI-NEXT: s_lshr_b32 s93, s15, 16
; SI-NEXT: s_lshr_b32 s98, s13, 16
-; SI-NEXT: s_lshr_b32 s75, s9, 16
-; SI-NEXT: v_writelane_b32 v21, s16, 61
-; SI-NEXT: s_lshr_b32 s73, s5, 16
+; SI-NEXT: s_lshr_b32 s77, s9, 16
+; SI-NEXT: s_lshr_b32 s71, s7, 16
+; SI-NEXT: v_writelane_b32 v22, s16, 57
+; SI-NEXT: s_lshr_b32 s75, s5, 16
; SI-NEXT: s_lshr_b32 s16, s5, 8
-; SI-NEXT: v_writelane_b32 v21, s16, 62
+; SI-NEXT: v_writelane_b32 v22, s16, 58
; SI-NEXT: .LBB99_5: ; %end
-; SI-NEXT: v_readlane_b32 s24, v22, 25
-; SI-NEXT: v_readlane_b32 s25, v22, 26
-; SI-NEXT: s_and_b32 s16, s64, 0xff
+; SI-NEXT: v_readlane_b32 s24, v21, 28
+; SI-NEXT: v_readlane_b32 s25, v21, 29
+; SI-NEXT: s_and_b32 s16, s88, 0xff
; SI-NEXT: s_lshl_b32 s17, s24, 8
-; SI-NEXT: v_readlane_b32 s24, v22, 27
+; SI-NEXT: v_readlane_b32 s24, v21, 30
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: s_and_b32 s17, s24, 0xff
; SI-NEXT: s_lshl_b32 s17, s17, 16
@@ -204362,90 +204353,86 @@ define inreg <128 x i8> @bitcast_v64i16_to_v128i8_scalar(<64 x i16> inreg %a, i3
; SI-NEXT: s_and_b32 s16, s16, 0xffff
; SI-NEXT: s_or_b32 s17, s18, s17
; SI-NEXT: s_or_b32 s16, s16, s17
-; SI-NEXT: v_readlane_b32 s17, v21, 42
; SI-NEXT: v_mov_b32_e32 v1, s16
-; SI-NEXT: s_and_b32 s16, s65, 0xff
-; SI-NEXT: s_lshl_b32 s17, s17, 8
+; SI-NEXT: s_and_b32 s16, s89, 0xff
+; SI-NEXT: s_lshl_b32 s17, s27, 8
; SI-NEXT: s_or_b32 s16, s16, s17
-; SI-NEXT: s_and_b32 s17, s53, 0xff
-; SI-NEXT: v_readlane_b32 s18, v21, 41
+; SI-NEXT: s_and_b32 s17, s55, 0xff
; SI-NEXT: s_lshl_b32 s17, s17, 16
-; SI-NEXT: s_lshl_b32 s18, s18, 24
+; SI-NEXT: s_lshl_b32 s18, s28, 24
; SI-NEXT: s_or_b32 s17, s18, s17
-; SI-NEXT: v_readlane_b32 s18, v22, 31
+; SI-NEXT: v_readlane_b32 s18, v21, 34
; SI-NEXT: s_and_b32 s16, s16, 0xffff
-; SI-NEXT: v_readlane_b32 s19, v22, 32
+; SI-NEXT: v_readlane_b32 s19, v21, 35
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: s_lshl_b32 s17, s18, 8
-; SI-NEXT: v_readlane_b32 s18, v22, 33
+; SI-NEXT: v_readlane_b32 s18, v21, 36
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s16
-; SI-NEXT: s_and_b32 s16, s92, 0xff
-; SI-NEXT: v_readlane_b32 s19, v22, 34
+; SI-NEXT: s_and_b32 s16, s72, 0xff
+; SI-NEXT: v_readlane_b32 s19, v21, 37
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: s_and_b32 s17, s18, 0xff
-; SI-NEXT: v_readlane_b32 s18, v22, 35
+; SI-NEXT: v_readlane_b32 s18, v21, 38
; SI-NEXT: s_lshl_b32 s17, s17, 16
; SI-NEXT: s_lshl_b32 s18, s18, 24
; SI-NEXT: s_and_b32 s16, s16, 0xffff
; SI-NEXT: s_or_b32 s17, s18, s17
; SI-NEXT: s_or_b32 s16, s16, s17
-; SI-NEXT: v_readlane_b32 s17, v21, 44
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:4
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s16
-; SI-NEXT: s_and_b32 s16, s93, 0xff
-; SI-NEXT: s_lshl_b32 s17, s17, 8
+; SI-NEXT: s_and_b32 s16, s73, 0xff
+; SI-NEXT: s_lshl_b32 s17, s22, 8
; SI-NEXT: s_or_b32 s16, s16, s17
-; SI-NEXT: s_and_b32 s17, s51, 0xff
-; SI-NEXT: v_readlane_b32 s18, v21, 43
-; SI-NEXT: v_readlane_b32 s19, v22, 36
+; SI-NEXT: s_and_b32 s17, s53, 0xff
+; SI-NEXT: v_readlane_b32 s19, v21, 39
; SI-NEXT: s_lshl_b32 s17, s17, 16
-; SI-NEXT: s_lshl_b32 s18, s18, 24
+; SI-NEXT: s_lshl_b32 s18, s23, 24
; SI-NEXT: s_or_b32 s17, s18, s17
-; SI-NEXT: v_readlane_b32 s18, v22, 37
+; SI-NEXT: v_readlane_b32 s18, v21, 40
; SI-NEXT: s_and_b32 s16, s16, 0xffff
-; SI-NEXT: v_readlane_b32 s19, v22, 38
+; SI-NEXT: v_readlane_b32 s19, v21, 41
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: s_lshl_b32 s17, s18, 8
-; SI-NEXT: v_readlane_b32 s18, v22, 39
+; SI-NEXT: v_readlane_b32 s18, v21, 42
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:8
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s16
; SI-NEXT: s_and_b32 s16, s62, 0xff
-; SI-NEXT: v_readlane_b32 s19, v22, 40
+; SI-NEXT: v_readlane_b32 s19, v21, 43
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: s_and_b32 s17, s18, 0xff
-; SI-NEXT: v_readlane_b32 s18, v22, 41
+; SI-NEXT: v_readlane_b32 s18, v21, 44
; SI-NEXT: s_lshl_b32 s17, s17, 16
; SI-NEXT: s_lshl_b32 s18, s18, 24
; SI-NEXT: s_and_b32 s16, s16, 0xffff
; SI-NEXT: s_or_b32 s17, s18, s17
; SI-NEXT: s_or_b32 s16, s16, s17
-; SI-NEXT: v_readlane_b32 s17, v21, 46
+; SI-NEXT: v_readlane_b32 s17, v22, 42
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:12
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s16
; SI-NEXT: s_and_b32 s16, s63, 0xff
; SI-NEXT: s_lshl_b32 s17, s17, 8
; SI-NEXT: s_or_b32 s16, s16, s17
-; SI-NEXT: s_and_b32 s17, s49, 0xff
-; SI-NEXT: v_readlane_b32 s18, v21, 45
-; SI-NEXT: v_readlane_b32 s19, v22, 42
+; SI-NEXT: s_and_b32 s17, s51, 0xff
+; SI-NEXT: v_readlane_b32 s18, v22, 41
+; SI-NEXT: v_readlane_b32 s19, v21, 45
; SI-NEXT: s_lshl_b32 s17, s17, 16
; SI-NEXT: s_lshl_b32 s18, s18, 24
; SI-NEXT: s_and_b32 s16, s16, 0xffff
; SI-NEXT: s_or_b32 s17, s18, s17
-; SI-NEXT: v_readlane_b32 s18, v22, 43
+; SI-NEXT: v_readlane_b32 s18, v21, 46
; SI-NEXT: s_or_b32 s16, s16, s17
-; SI-NEXT: v_readlane_b32 s19, v22, 44
+; SI-NEXT: v_readlane_b32 s19, v21, 47
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:16
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s16
; SI-NEXT: s_and_b32 s16, s58, 0xff
; SI-NEXT: s_lshl_b32 s17, s18, 8
-; SI-NEXT: v_readlane_b32 s18, v22, 45
+; SI-NEXT: v_readlane_b32 s18, v21, 48
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: s_and_b32 s17, s18, 0xff
; SI-NEXT: s_lshl_b32 s17, s17, 16
@@ -204453,65 +204440,65 @@ define inreg <128 x i8> @bitcast_v64i16_to_v128i8_scalar(<64 x i16> inreg %a, i3
; SI-NEXT: s_and_b32 s16, s16, 0xffff
; SI-NEXT: s_or_b32 s17, s18, s17
; SI-NEXT: s_or_b32 s16, s16, s17
-; SI-NEXT: v_readlane_b32 s17, v21, 48
+; SI-NEXT: v_readlane_b32 s17, v22, 44
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:20
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s16
; SI-NEXT: s_and_b32 s16, s59, 0xff
; SI-NEXT: s_lshl_b32 s17, s17, 8
; SI-NEXT: s_or_b32 s16, s16, s17
-; SI-NEXT: s_and_b32 s17, s39, 0xff
-; SI-NEXT: v_readlane_b32 s18, v21, 47
-; SI-NEXT: v_readlane_b32 s19, v22, 46
+; SI-NEXT: s_and_b32 s17, s49, 0xff
+; SI-NEXT: v_readlane_b32 s18, v22, 43
+; SI-NEXT: v_readlane_b32 s19, v21, 49
; SI-NEXT: s_lshl_b32 s17, s17, 16
; SI-NEXT: s_lshl_b32 s18, s18, 24
; SI-NEXT: s_or_b32 s17, s18, s17
-; SI-NEXT: v_readlane_b32 s18, v22, 49
+; SI-NEXT: v_readlane_b32 s18, v21, 50
; SI-NEXT: s_and_b32 s16, s16, 0xffff
-; SI-NEXT: v_readlane_b32 s19, v22, 50
+; SI-NEXT: v_readlane_b32 s19, v21, 51
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: s_lshl_b32 s17, s18, 8
-; SI-NEXT: v_readlane_b32 s18, v22, 51
+; SI-NEXT: v_readlane_b32 s18, v21, 52
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:24
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s16
; SI-NEXT: s_and_b32 s16, s46, 0xff
-; SI-NEXT: v_readlane_b32 s19, v22, 52
+; SI-NEXT: v_readlane_b32 s19, v21, 53
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: s_and_b32 s17, s18, 0xff
-; SI-NEXT: v_readlane_b32 s18, v22, 53
+; SI-NEXT: v_readlane_b32 s18, v21, 54
; SI-NEXT: s_lshl_b32 s17, s17, 16
; SI-NEXT: s_lshl_b32 s18, s18, 24
; SI-NEXT: s_and_b32 s16, s16, 0xffff
; SI-NEXT: s_or_b32 s17, s18, s17
; SI-NEXT: s_or_b32 s16, s16, s17
-; SI-NEXT: v_readlane_b32 s17, v21, 50
+; SI-NEXT: v_readlane_b32 s17, v22, 46
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:28
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s16
; SI-NEXT: s_and_b32 s16, s47, 0xff
; SI-NEXT: s_lshl_b32 s17, s17, 8
; SI-NEXT: s_or_b32 s16, s16, s17
-; SI-NEXT: s_and_b32 s17, s37, 0xff
-; SI-NEXT: v_readlane_b32 s18, v21, 49
-; SI-NEXT: v_readlane_b32 s19, v22, 54
+; SI-NEXT: s_and_b32 s17, s39, 0xff
+; SI-NEXT: v_readlane_b32 s18, v22, 45
+; SI-NEXT: v_readlane_b32 s19, v21, 55
; SI-NEXT: s_lshl_b32 s17, s17, 16
; SI-NEXT: s_lshl_b32 s18, s18, 24
; SI-NEXT: s_or_b32 s17, s18, s17
-; SI-NEXT: v_readlane_b32 s18, v22, 55
+; SI-NEXT: v_readlane_b32 s18, v21, 56
; SI-NEXT: s_and_b32 s16, s16, 0xffff
-; SI-NEXT: v_readlane_b32 s19, v22, 56
+; SI-NEXT: v_readlane_b32 s19, v21, 57
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: s_lshl_b32 s17, s18, 8
-; SI-NEXT: v_readlane_b32 s18, v22, 57
+; SI-NEXT: v_readlane_b32 s18, v21, 58
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:32
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s16
; SI-NEXT: s_and_b32 s16, s60, 0xff
-; SI-NEXT: v_readlane_b32 s19, v22, 58
+; SI-NEXT: v_readlane_b32 s19, v21, 59
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: s_and_b32 s17, s18, 0xff
-; SI-NEXT: v_readlane_b32 s18, v22, 59
+; SI-NEXT: v_readlane_b32 s18, v21, 60
; SI-NEXT: s_lshl_b32 s17, s17, 16
; SI-NEXT: s_lshl_b32 s18, s18, 24
; SI-NEXT: s_and_b32 s16, s16, 0xffff
@@ -204523,24 +204510,24 @@ define inreg <128 x i8> @bitcast_v64i16_to_v128i8_scalar(<64 x i16> inreg %a, i3
; SI-NEXT: s_and_b32 s16, s61, 0xff
; SI-NEXT: s_lshl_b32 s17, s97, 8
; SI-NEXT: s_or_b32 s16, s16, s17
-; SI-NEXT: s_and_b32 s17, s35, 0xff
-; SI-NEXT: v_readlane_b32 s18, v21, 51
+; SI-NEXT: s_and_b32 s17, s37, 0xff
+; SI-NEXT: v_readlane_b32 s18, v22, 47
; SI-NEXT: s_lshl_b32 s17, s17, 16
; SI-NEXT: s_lshl_b32 s18, s18, 24
-; SI-NEXT: v_readlane_b32 s19, v22, 60
+; SI-NEXT: v_readlane_b32 s19, v21, 61
; SI-NEXT: s_and_b32 s16, s16, 0xffff
; SI-NEXT: s_or_b32 s17, s18, s17
; SI-NEXT: s_or_b32 s16, s16, s17
-; SI-NEXT: v_readlane_b32 s18, v22, 61
+; SI-NEXT: v_readlane_b32 s18, v21, 62
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:40
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s16
; SI-NEXT: s_and_b32 s16, s56, 0xff
; SI-NEXT: s_lshl_b32 s17, s20, 8
-; SI-NEXT: v_readlane_b32 s19, v22, 62
+; SI-NEXT: v_readlane_b32 s19, v21, 63
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: s_and_b32 s17, s18, 0xff
-; SI-NEXT: v_readlane_b32 s18, v22, 63
+; SI-NEXT: v_readlane_b32 s18, v22, 0
; SI-NEXT: s_lshl_b32 s17, s17, 16
; SI-NEXT: s_lshl_b32 s18, s18, 24
; SI-NEXT: s_and_b32 s16, s16, 0xffff
@@ -204552,25 +204539,25 @@ define inreg <128 x i8> @bitcast_v64i16_to_v128i8_scalar(<64 x i16> inreg %a, i3
; SI-NEXT: s_and_b32 s16, s57, 0xff
; SI-NEXT: s_lshl_b32 s17, s21, 8
; SI-NEXT: s_or_b32 s16, s16, s17
-; SI-NEXT: s_and_b32 s17, s31, 0xff
-; SI-NEXT: v_readlane_b32 s19, v21, 0
+; SI-NEXT: s_and_b32 s17, s35, 0xff
+; SI-NEXT: v_readlane_b32 s19, v22, 1
; SI-NEXT: s_lshl_b32 s17, s17, 16
-; SI-NEXT: s_lshl_b32 s18, s71, 24
+; SI-NEXT: s_lshl_b32 s18, s26, 24
; SI-NEXT: s_or_b32 s17, s18, s17
-; SI-NEXT: v_readlane_b32 s18, v21, 1
+; SI-NEXT: v_readlane_b32 s18, v22, 2
; SI-NEXT: s_and_b32 s16, s16, 0xffff
-; SI-NEXT: v_readlane_b32 s19, v21, 2
+; SI-NEXT: v_readlane_b32 s19, v22, 3
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: s_lshl_b32 s17, s18, 8
-; SI-NEXT: v_readlane_b32 s18, v21, 3
+; SI-NEXT: v_readlane_b32 s18, v22, 4
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:48
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s16
; SI-NEXT: s_and_b32 s16, s44, 0xff
-; SI-NEXT: v_readlane_b32 s19, v21, 4
+; SI-NEXT: v_readlane_b32 s19, v22, 5
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: s_and_b32 s17, s18, 0xff
-; SI-NEXT: v_readlane_b32 s18, v21, 5
+; SI-NEXT: v_readlane_b32 s18, v22, 6
; SI-NEXT: s_lshl_b32 s17, s17, 16
; SI-NEXT: s_lshl_b32 s18, s18, 24
; SI-NEXT: s_and_b32 s16, s16, 0xffff
@@ -204582,25 +204569,25 @@ define inreg <128 x i8> @bitcast_v64i16_to_v128i8_scalar(<64 x i16> inreg %a, i3
; SI-NEXT: s_and_b32 s16, s45, 0xff
; SI-NEXT: s_lshl_b32 s17, s69, 8
; SI-NEXT: s_or_b32 s16, s16, s17
-; SI-NEXT: s_and_b32 s17, s86, 0xff
-; SI-NEXT: v_readlane_b32 s19, v21, 6
+; SI-NEXT: s_and_b32 s17, s38, 0xff
+; SI-NEXT: v_readlane_b32 s19, v22, 7
; SI-NEXT: s_lshl_b32 s17, s17, 16
; SI-NEXT: s_lshl_b32 s18, s99, 24
; SI-NEXT: s_or_b32 s17, s18, s17
-; SI-NEXT: v_readlane_b32 s18, v21, 7
+; SI-NEXT: v_readlane_b32 s18, v22, 8
; SI-NEXT: s_and_b32 s16, s16, 0xffff
-; SI-NEXT: v_readlane_b32 s19, v21, 8
+; SI-NEXT: v_readlane_b32 s19, v22, 9
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: s_lshl_b32 s17, s18, 8
-; SI-NEXT: v_readlane_b32 s18, v21, 9
+; SI-NEXT: v_readlane_b32 s18, v22, 10
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:56
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s16
; SI-NEXT: s_and_b32 s16, s42, 0xff
-; SI-NEXT: v_readlane_b32 s19, v21, 10
+; SI-NEXT: v_readlane_b32 s19, v22, 11
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: s_and_b32 s17, s18, 0xff
-; SI-NEXT: v_readlane_b32 s18, v21, 11
+; SI-NEXT: v_readlane_b32 s18, v22, 12
; SI-NEXT: s_lshl_b32 s17, s17, 16
; SI-NEXT: s_lshl_b32 s18, s18, 24
; SI-NEXT: s_and_b32 s16, s16, 0xffff
@@ -204610,27 +204597,27 @@ define inreg <128 x i8> @bitcast_v64i16_to_v128i8_scalar(<64 x i16> inreg %a, i3
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s16
; SI-NEXT: s_and_b32 s16, s43, 0xff
-; SI-NEXT: s_lshl_b32 s17, vcc_hi, 8
+; SI-NEXT: s_lshl_b32 s17, s31, 8
; SI-NEXT: s_or_b32 s16, s16, s17
-; SI-NEXT: s_and_b32 s17, s95, 0xff
-; SI-NEXT: v_readlane_b32 s19, v21, 12
+; SI-NEXT: s_and_b32 s17, vcc_hi, 0xff
+; SI-NEXT: v_readlane_b32 s19, v22, 13
; SI-NEXT: s_lshl_b32 s17, s17, 16
; SI-NEXT: s_lshl_b32 s18, s67, 24
; SI-NEXT: s_or_b32 s17, s18, s17
-; SI-NEXT: v_readlane_b32 s18, v21, 13
+; SI-NEXT: v_readlane_b32 s18, v22, 14
; SI-NEXT: s_and_b32 s16, s16, 0xffff
-; SI-NEXT: v_readlane_b32 s19, v21, 14
+; SI-NEXT: v_readlane_b32 s19, v22, 15
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: s_lshl_b32 s17, s18, 8
-; SI-NEXT: v_readlane_b32 s18, v21, 15
+; SI-NEXT: v_readlane_b32 s18, v22, 16
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:64
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s16
; SI-NEXT: s_and_b32 s16, s40, 0xff
-; SI-NEXT: v_readlane_b32 s19, v21, 16
+; SI-NEXT: v_readlane_b32 s19, v22, 17
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: s_and_b32 s17, s18, 0xff
-; SI-NEXT: v_readlane_b32 s18, v21, 17
+; SI-NEXT: v_readlane_b32 s18, v22, 18
; SI-NEXT: s_lshl_b32 s17, s17, 16
; SI-NEXT: s_lshl_b32 s18, s18, 24
; SI-NEXT: s_and_b32 s16, s16, 0xffff
@@ -204640,27 +204627,27 @@ define inreg <128 x i8> @bitcast_v64i16_to_v128i8_scalar(<64 x i16> inreg %a, i3
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s16
; SI-NEXT: s_and_b32 s16, s41, 0xff
-; SI-NEXT: s_lshl_b32 s17, s77, 8
+; SI-NEXT: s_lshl_b32 s17, s79, 8
; SI-NEXT: s_or_b32 s16, s16, s17
-; SI-NEXT: s_and_b32 s17, s91, 0xff
+; SI-NEXT: s_and_b32 s17, s95, 0xff
; SI-NEXT: s_lshl_b32 s17, s17, 16
-; SI-NEXT: s_lshl_b32 s18, s55, 24
+; SI-NEXT: s_lshl_b32 s18, s65, 24
; SI-NEXT: s_and_b32 s16, s16, 0xffff
; SI-NEXT: s_or_b32 s17, s18, s17
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:72
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s16
-; SI-NEXT: v_readlane_b32 s16, v21, 19
+; SI-NEXT: v_readlane_b32 s16, v22, 20
; SI-NEXT: s_and_b32 s14, s14, 0xff
-; SI-NEXT: v_readlane_b32 s17, v21, 20
+; SI-NEXT: v_readlane_b32 s17, v22, 21
; SI-NEXT: s_lshl_b32 s16, s16, 8
-; SI-NEXT: v_readlane_b32 s19, v21, 18
+; SI-NEXT: v_readlane_b32 s19, v22, 19
; SI-NEXT: s_or_b32 s14, s14, s16
-; SI-NEXT: v_readlane_b32 s16, v21, 21
-; SI-NEXT: v_readlane_b32 s17, v21, 22
+; SI-NEXT: v_readlane_b32 s16, v22, 22
+; SI-NEXT: v_readlane_b32 s17, v22, 23
; SI-NEXT: s_and_b32 s16, s16, 0xff
-; SI-NEXT: v_readlane_b32 s18, v21, 23
+; SI-NEXT: v_readlane_b32 s18, v22, 24
; SI-NEXT: s_lshl_b32 s16, s16, 16
; SI-NEXT: s_lshl_b32 s17, s18, 24
; SI-NEXT: s_and_b32 s14, s14, 0xffff
@@ -204669,28 +204656,28 @@ define inreg <128 x i8> @bitcast_v64i16_to_v128i8_scalar(<64 x i16> inreg %a, i3
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:76
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s14
-; SI-NEXT: v_readlane_b32 s14, v21, 52
+; SI-NEXT: v_readlane_b32 s14, v22, 48
; SI-NEXT: s_and_b32 s15, s15, 0xff
; SI-NEXT: s_lshl_b32 s14, s14, 8
; SI-NEXT: s_or_b32 s14, s15, s14
-; SI-NEXT: s_and_b32 s15, s89, 0xff
+; SI-NEXT: s_and_b32 s15, s93, 0xff
; SI-NEXT: s_lshl_b32 s15, s15, 16
-; SI-NEXT: s_lshl_b32 s16, s79, 24
+; SI-NEXT: s_lshl_b32 s16, s91, 24
; SI-NEXT: s_and_b32 s14, s14, 0xffff
; SI-NEXT: s_or_b32 s15, s16, s15
; SI-NEXT: s_or_b32 s14, s14, s15
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:80
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s14
-; SI-NEXT: v_readlane_b32 s14, v21, 25
+; SI-NEXT: v_readlane_b32 s14, v22, 26
; SI-NEXT: s_and_b32 s12, s12, 0xff
-; SI-NEXT: v_readlane_b32 s15, v21, 26
+; SI-NEXT: v_readlane_b32 s15, v22, 27
; SI-NEXT: s_lshl_b32 s14, s14, 8
; SI-NEXT: s_or_b32 s12, s12, s14
-; SI-NEXT: v_readlane_b32 s14, v21, 27
-; SI-NEXT: v_readlane_b32 s15, v21, 28
+; SI-NEXT: v_readlane_b32 s14, v22, 28
+; SI-NEXT: v_readlane_b32 s15, v22, 29
; SI-NEXT: s_and_b32 s14, s14, 0xff
-; SI-NEXT: v_readlane_b32 s16, v21, 29
+; SI-NEXT: v_readlane_b32 s16, v22, 30
; SI-NEXT: s_lshl_b32 s14, s14, 16
; SI-NEXT: s_lshl_b32 s15, s16, 24
; SI-NEXT: s_and_b32 s12, s12, 0xffff
@@ -204699,29 +204686,29 @@ define inreg <128 x i8> @bitcast_v64i16_to_v128i8_scalar(<64 x i16> inreg %a, i3
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:84
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s12
-; SI-NEXT: v_readlane_b32 s12, v21, 54
+; SI-NEXT: v_readlane_b32 s12, v22, 50
; SI-NEXT: s_and_b32 s13, s13, 0xff
; SI-NEXT: s_lshl_b32 s12, s12, 8
; SI-NEXT: s_or_b32 s12, s13, s12
; SI-NEXT: s_and_b32 s13, s12, 0xffff
; SI-NEXT: s_and_b32 s12, s98, 0xff
; SI-NEXT: s_lshl_b32 s14, s12, 16
-; SI-NEXT: v_readlane_b32 s12, v21, 53
+; SI-NEXT: v_readlane_b32 s12, v22, 49
; SI-NEXT: s_lshl_b32 s12, s12, 24
; SI-NEXT: s_or_b32 s12, s12, s14
; SI-NEXT: s_or_b32 s12, s13, s12
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:88
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s12
-; SI-NEXT: v_readlane_b32 s12, v21, 31
+; SI-NEXT: v_readlane_b32 s12, v22, 32
; SI-NEXT: s_and_b32 s10, s10, 0xff
-; SI-NEXT: v_readlane_b32 s13, v21, 32
+; SI-NEXT: v_readlane_b32 s13, v22, 33
; SI-NEXT: s_lshl_b32 s12, s12, 8
; SI-NEXT: s_or_b32 s10, s10, s12
-; SI-NEXT: v_readlane_b32 s12, v21, 33
-; SI-NEXT: v_readlane_b32 s13, v21, 34
+; SI-NEXT: v_readlane_b32 s12, v22, 34
+; SI-NEXT: v_readlane_b32 s13, v22, 35
; SI-NEXT: s_and_b32 s12, s12, 0xff
-; SI-NEXT: v_readlane_b32 s14, v21, 35
+; SI-NEXT: v_readlane_b32 s14, v22, 36
; SI-NEXT: s_lshl_b32 s12, s12, 16
; SI-NEXT: s_lshl_b32 s13, s14, 24
; SI-NEXT: s_and_b32 s10, s10, 0xffff
@@ -204730,15 +204717,15 @@ define inreg <128 x i8> @bitcast_v64i16_to_v128i8_scalar(<64 x i16> inreg %a, i3
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:92
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s10
-; SI-NEXT: v_readlane_b32 s10, v21, 56
+; SI-NEXT: v_readlane_b32 s10, v22, 52
; SI-NEXT: s_and_b32 s11, s11, 0xff
; SI-NEXT: s_lshl_b32 s10, s10, 8
; SI-NEXT: s_or_b32 s10, s11, s10
; SI-NEXT: s_and_b32 s11, s10, 0xffff
-; SI-NEXT: v_readlane_b32 s10, v22, 1
+; SI-NEXT: v_readlane_b32 s10, v21, 0
; SI-NEXT: s_and_b32 s10, s10, 0xff
; SI-NEXT: s_lshl_b32 s12, s10, 16
-; SI-NEXT: v_readlane_b32 s10, v21, 55
+; SI-NEXT: v_readlane_b32 s10, v22, 51
; SI-NEXT: s_lshl_b32 s10, s10, 24
; SI-NEXT: s_or_b32 s10, s10, s12
; SI-NEXT: s_or_b32 s10, s11, s10
@@ -204748,23 +204735,23 @@ define inreg <128 x i8> @bitcast_v64i16_to_v128i8_scalar(<64 x i16> inreg %a, i3
; SI-NEXT: s_and_b32 s8, s8, 0xff
; SI-NEXT: s_lshl_b32 s10, s68, 8
; SI-NEXT: s_or_b32 s8, s8, s10
-; SI-NEXT: s_and_b32 s10, s66, 0xff
+; SI-NEXT: s_and_b32 s10, s30, 0xff
; SI-NEXT: s_lshl_b32 s10, s10, 16
-; SI-NEXT: s_lshl_b32 s11, vcc_lo, 24
+; SI-NEXT: s_lshl_b32 s11, s66, 24
; SI-NEXT: s_and_b32 s8, s8, 0xffff
; SI-NEXT: s_or_b32 s10, s11, s10
; SI-NEXT: s_or_b32 s8, s8, s10
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:100
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s8
-; SI-NEXT: v_readlane_b32 s8, v21, 58
+; SI-NEXT: v_readlane_b32 s8, v22, 54
; SI-NEXT: s_and_b32 s9, s9, 0xff
; SI-NEXT: s_lshl_b32 s8, s8, 8
; SI-NEXT: s_or_b32 s8, s9, s8
; SI-NEXT: s_and_b32 s9, s8, 0xffff
-; SI-NEXT: s_and_b32 s8, s75, 0xff
+; SI-NEXT: s_and_b32 s8, s77, 0xff
; SI-NEXT: s_lshl_b32 s10, s8, 16
-; SI-NEXT: v_readlane_b32 s8, v21, 57
+; SI-NEXT: v_readlane_b32 s8, v22, 53
; SI-NEXT: s_lshl_b32 s8, s8, 24
; SI-NEXT: s_or_b32 s8, s8, s10
; SI-NEXT: s_or_b32 s8, s9, s8
@@ -204772,26 +204759,25 @@ define inreg <128 x i8> @bitcast_v64i16_to_v128i8_scalar(<64 x i16> inreg %a, i3
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s8
; SI-NEXT: s_and_b32 s6, s6, 0xff
-; SI-NEXT: s_lshl_b32 s8, s78, 8
+; SI-NEXT: s_lshl_b32 s8, s90, 8
; SI-NEXT: s_or_b32 s6, s6, s8
-; SI-NEXT: s_and_b32 s8, s76, 0xff
+; SI-NEXT: s_and_b32 s8, s78, 0xff
; SI-NEXT: s_lshl_b32 s8, s8, 16
-; SI-NEXT: s_lshl_b32 s9, s72, 24
+; SI-NEXT: s_lshl_b32 s9, s74, 24
; SI-NEXT: s_and_b32 s6, s6, 0xffff
; SI-NEXT: s_or_b32 s8, s9, s8
; SI-NEXT: s_or_b32 s6, s6, s8
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:108
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s6
-; SI-NEXT: v_readlane_b32 s6, v21, 60
+; SI-NEXT: v_readlane_b32 s6, v22, 56
; SI-NEXT: s_and_b32 s7, s7, 0xff
; SI-NEXT: s_lshl_b32 s6, s6, 8
; SI-NEXT: s_or_b32 s6, s7, s6
; SI-NEXT: s_and_b32 s7, s6, 0xffff
-; SI-NEXT: v_readlane_b32 s6, v22, 0
-; SI-NEXT: s_and_b32 s6, s6, 0xff
+; SI-NEXT: s_and_b32 s6, s71, 0xff
; SI-NEXT: s_lshl_b32 s8, s6, 16
-; SI-NEXT: v_readlane_b32 s6, v21, 59
+; SI-NEXT: v_readlane_b32 s6, v22, 55
; SI-NEXT: s_lshl_b32 s6, s6, 24
; SI-NEXT: s_or_b32 s6, s6, s8
; SI-NEXT: s_or_b32 s6, s7, s6
@@ -204801,8 +204787,8 @@ define inreg <128 x i8> @bitcast_v64i16_to_v128i8_scalar(<64 x i16> inreg %a, i3
; SI-NEXT: s_and_b32 s4, s4, 0xff
; SI-NEXT: s_lshl_b32 s6, s96, 8
; SI-NEXT: s_or_b32 s4, s4, s6
-; SI-NEXT: s_and_b32 s6, s54, 0xff
-; SI-NEXT: v_readlane_b32 s8, v21, 37
+; SI-NEXT: s_and_b32 s6, s64, 0xff
+; SI-NEXT: v_readlane_b32 s8, v22, 38
; SI-NEXT: s_lshl_b32 s6, s6, 16
; SI-NEXT: s_lshl_b32 s7, s8, 24
; SI-NEXT: s_and_b32 s4, s4, 0xffff
@@ -204811,14 +204797,14 @@ define inreg <128 x i8> @bitcast_v64i16_to_v128i8_scalar(<64 x i16> inreg %a, i3
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:116
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s4
-; SI-NEXT: v_readlane_b32 s4, v21, 62
+; SI-NEXT: v_readlane_b32 s4, v22, 58
; SI-NEXT: s_and_b32 s5, s5, 0xff
; SI-NEXT: s_lshl_b32 s4, s4, 8
; SI-NEXT: s_or_b32 s4, s5, s4
; SI-NEXT: s_and_b32 s5, s4, 0xffff
-; SI-NEXT: s_and_b32 s4, s73, 0xff
+; SI-NEXT: s_and_b32 s4, s75, 0xff
; SI-NEXT: s_lshl_b32 s6, s4, 16
-; SI-NEXT: v_readlane_b32 s4, v21, 61
+; SI-NEXT: v_readlane_b32 s4, v22, 57
; SI-NEXT: s_lshl_b32 s4, s4, 24
; SI-NEXT: s_or_b32 s4, s4, s6
; SI-NEXT: s_or_b32 s4, s5, s4
@@ -204826,11 +204812,11 @@ define inreg <128 x i8> @bitcast_v64i16_to_v128i8_scalar(<64 x i16> inreg %a, i3
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, s4
; SI-NEXT: v_readlane_b32 s30, v20, 34
-; SI-NEXT: v_readlane_b32 s25, v22, 28
-; SI-NEXT: v_readlane_b32 s19, v21, 24
-; SI-NEXT: v_readlane_b32 s17, v21, 30
-; SI-NEXT: v_readlane_b32 s15, v21, 36
-; SI-NEXT: v_readlane_b32 s9, v21, 38
+; SI-NEXT: v_readlane_b32 s25, v21, 31
+; SI-NEXT: v_readlane_b32 s19, v22, 25
+; SI-NEXT: v_readlane_b32 s17, v22, 31
+; SI-NEXT: v_readlane_b32 s15, v22, 37
+; SI-NEXT: v_readlane_b32 s9, v22, 39
; SI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:124
; SI-NEXT: v_readlane_b32 s31, v20, 35
; SI-NEXT: v_readlane_b32 s99, v20, 33
@@ -204935,187 +204921,204 @@ define inreg <128 x i8> @bitcast_v64i16_to_v128i8_scalar(<64 x i16> inreg %a, i3
; VI-NEXT: v_readfirstlane_b32 s45, v2
; VI-NEXT: s_cmp_lg_u32 s44, 0
; VI-NEXT: v_readfirstlane_b32 s44, v1
-; VI-NEXT: ; implicit-def: $vgpr34 : SGPR spill to VGPR lane
; VI-NEXT: ; implicit-def: $vgpr33 : SGPR spill to VGPR lane
+; VI-NEXT: ; implicit-def: $vgpr34 : SGPR spill to VGPR lane
; VI-NEXT: s_cbranch_scc0 .LBB99_2
; VI-NEXT: ; %bb.1: ; %cmp.false
; VI-NEXT: s_lshr_b32 s46, s45, 24
-; VI-NEXT: v_writelane_b32 v33, s46, 11
+; VI-NEXT: v_writelane_b32 v33, s46, 63
; VI-NEXT: s_lshr_b32 s46, s45, 16
-; VI-NEXT: v_writelane_b32 v33, s46, 12
+; VI-NEXT: v_writelane_b32 v34, s46, 0
; VI-NEXT: s_lshr_b32 s46, s45, 8
-; VI-NEXT: v_writelane_b32 v33, s46, 13
+; VI-NEXT: v_writelane_b32 v34, s46, 1
; VI-NEXT: s_lshr_b32 s46, s44, 16
-; VI-NEXT: v_writelane_b32 v34, s46, 31
+; VI-NEXT: v_writelane_b32 v33, s46, 20
; VI-NEXT: s_lshr_b32 s46, s44, 8
-; VI-NEXT: v_writelane_b32 v34, s46, 32
+; VI-NEXT: v_writelane_b32 v33, s46, 21
; VI-NEXT: s_lshr_b32 s46, s29, 24
-; VI-NEXT: v_writelane_b32 v34, s46, 33
+; VI-NEXT: v_writelane_b32 v33, s46, 22
; VI-NEXT: s_lshr_b32 s46, s29, 16
-; VI-NEXT: v_writelane_b32 v34, s46, 34
+; VI-NEXT: v_writelane_b32 v33, s46, 23
; VI-NEXT: s_lshr_b32 s46, s29, 8
-; VI-NEXT: v_writelane_b32 v34, s46, 53
+; VI-NEXT: v_writelane_b32 v33, s46, 44
; VI-NEXT: s_lshr_b32 s46, s28, 16
-; VI-NEXT: v_writelane_b32 v34, s46, 35
+; VI-NEXT: v_writelane_b32 v33, s46, 24
; VI-NEXT: s_lshr_b32 s46, s28, 8
-; VI-NEXT: v_writelane_b32 v34, s46, 55
+; VI-NEXT: v_writelane_b32 v33, s46, 46
; VI-NEXT: s_lshr_b32 s46, s27, 24
-; VI-NEXT: v_writelane_b32 v34, s46, 36
+; VI-NEXT: v_writelane_b32 v33, s46, 25
; VI-NEXT: s_lshr_b32 s46, s27, 16
-; VI-NEXT: v_writelane_b32 v34, s46, 37
+; VI-NEXT: v_writelane_b32 v33, s46, 26
; VI-NEXT: s_lshr_b32 s46, s27, 8
-; VI-NEXT: v_writelane_b32 v34, s46, 56
+; VI-NEXT: v_writelane_b32 v34, s46, 2
; VI-NEXT: s_lshr_b32 s46, s26, 16
-; VI-NEXT: v_writelane_b32 v34, s46, 38
+; VI-NEXT: v_writelane_b32 v33, s46, 27
; VI-NEXT: s_lshr_b32 s46, s26, 8
-; VI-NEXT: v_writelane_b32 v33, s46, 14
+; VI-NEXT: v_writelane_b32 v34, s46, 3
; VI-NEXT: s_lshr_b32 s46, s25, 24
-; VI-NEXT: v_writelane_b32 v34, s46, 39
+; VI-NEXT: v_writelane_b32 v33, s46, 28
; VI-NEXT: s_lshr_b32 s46, s25, 16
-; VI-NEXT: v_writelane_b32 v34, s46, 40
+; VI-NEXT: v_writelane_b32 v33, s46, 29
; VI-NEXT: s_lshr_b32 s46, s25, 8
-; VI-NEXT: v_writelane_b32 v33, s46, 15
+; VI-NEXT: v_writelane_b32 v34, s46, 4
; VI-NEXT: s_lshr_b32 s46, s24, 16
-; VI-NEXT: v_writelane_b32 v34, s46, 41
+; VI-NEXT: v_writelane_b32 v33, s46, 30
; VI-NEXT: s_lshr_b32 s46, s24, 8
-; VI-NEXT: v_writelane_b32 v33, s46, 16
+; VI-NEXT: v_writelane_b32 v34, s46, 5
; VI-NEXT: s_lshr_b32 s46, s23, 24
-; VI-NEXT: v_writelane_b32 v34, s46, 42
+; VI-NEXT: v_writelane_b32 v33, s46, 31
; VI-NEXT: s_lshr_b32 s46, s23, 16
-; VI-NEXT: v_writelane_b32 v34, s46, 43
+; VI-NEXT: v_writelane_b32 v33, s46, 32
; VI-NEXT: s_lshr_b32 s46, s23, 8
-; VI-NEXT: v_writelane_b32 v34, s46, 57
+; VI-NEXT: v_writelane_b32 v33, s46, 47
; VI-NEXT: s_lshr_b32 s46, s22, 16
-; VI-NEXT: v_writelane_b32 v34, s46, 44
+; VI-NEXT: v_writelane_b32 v33, s46, 35
; VI-NEXT: s_lshr_b32 s46, s22, 8
-; VI-NEXT: v_writelane_b32 v34, s46, 60
+; VI-NEXT: v_writelane_b32 v33, s46, 48
; VI-NEXT: s_lshr_b32 s46, s21, 24
-; VI-NEXT: v_writelane_b32 v34, s46, 45
+; VI-NEXT: v_writelane_b32 v33, s46, 36
; VI-NEXT: s_lshr_b32 s46, s21, 16
-; VI-NEXT: v_writelane_b32 v34, s46, 46
+; VI-NEXT: v_writelane_b32 v33, s46, 37
; VI-NEXT: s_lshr_b32 s46, s21, 8
-; VI-NEXT: v_writelane_b32 v34, s46, 61
+; VI-NEXT: v_writelane_b32 v33, s46, 49
; VI-NEXT: s_lshr_b32 s46, s20, 16
-; VI-NEXT: v_writelane_b32 v34, s46, 47
+; VI-NEXT: v_writelane_b32 v33, s46, 38
; VI-NEXT: s_lshr_b32 s46, s20, 8
-; VI-NEXT: v_writelane_b32 v34, s46, 63
+; VI-NEXT: v_writelane_b32 v33, s46, 51
; VI-NEXT: s_lshr_b32 s46, s19, 24
-; VI-NEXT: v_writelane_b32 v34, s46, 48
+; VI-NEXT: v_writelane_b32 v33, s46, 39
; VI-NEXT: s_lshr_b32 s46, s19, 16
-; VI-NEXT: v_writelane_b32 v34, s46, 49
+; VI-NEXT: v_writelane_b32 v33, s46, 40
; VI-NEXT: s_lshr_b32 s46, s19, 8
-; VI-NEXT: v_writelane_b32 v33, s46, 4
+; VI-NEXT: v_writelane_b32 v33, s46, 56
; VI-NEXT: s_lshr_b32 s46, s18, 16
-; VI-NEXT: v_writelane_b32 v34, s46, 50
+; VI-NEXT: v_writelane_b32 v33, s46, 41
; VI-NEXT: s_lshr_b32 s46, s18, 8
-; VI-NEXT: v_writelane_b32 v33, s46, 6
+; VI-NEXT: v_writelane_b32 v33, s46, 58
; VI-NEXT: s_lshr_b32 s46, s17, 24
-; VI-NEXT: v_writelane_b32 v34, s46, 51
+; VI-NEXT: v_writelane_b32 v33, s46, 42
; VI-NEXT: s_lshr_b32 s46, s17, 16
-; VI-NEXT: v_writelane_b32 v34, s46, 52
+; VI-NEXT: v_writelane_b32 v33, s46, 43
; VI-NEXT: s_lshr_b32 s46, s17, 8
-; VI-NEXT: v_writelane_b32 v33, s46, 9
+; VI-NEXT: v_writelane_b32 v33, s46, 61
; VI-NEXT: s_lshr_b32 s46, s16, 16
-; VI-NEXT: v_writelane_b32 v34, s46, 54
+; VI-NEXT: v_writelane_b32 v33, s46, 45
; VI-NEXT: s_lshr_b32 s46, s16, 8
-; VI-NEXT: v_writelane_b32 v33, s46, 10
+; VI-NEXT: v_writelane_b32 v33, s46, 62
+; VI-NEXT: s_lshr_b32 s46, s5, 24
+; VI-NEXT: v_writelane_b32 v33, s46, 33
+; VI-NEXT: s_lshr_b32 s46, s5, 16
+; VI-NEXT: v_writelane_b32 v33, s46, 34
+; VI-NEXT: s_lshr_b32 s46, s5, 8
+; VI-NEXT: v_writelane_b32 v34, s46, 6
+; VI-NEXT: s_lshr_b32 s46, s4, 16
+; VI-NEXT: v_writelane_b32 v34, s46, 7
+; VI-NEXT: s_lshr_b32 s46, s4, 8
+; VI-NEXT: v_writelane_b32 v34, s46, 8
+; VI-NEXT: s_lshr_b32 s46, s7, 24
+; VI-NEXT: v_writelane_b32 v34, s46, 9
+; VI-NEXT: s_lshr_b32 s46, s7, 16
+; VI-NEXT: v_writelane_b32 v34, s46, 10
+; VI-NEXT: s_lshr_b32 s46, s7, 8
+; VI-NEXT: v_writelane_b32 v34, s46, 11
+; VI-NEXT: s_lshr_b32 s46, s6, 16
+; VI-NEXT: v_writelane_b32 v34, s46, 12
+; VI-NEXT: s_lshr_b32 s46, s6, 8
+; VI-NEXT: v_writelane_b32 v34, s46, 13
+; VI-NEXT: s_lshr_b32 s46, s9, 24
+; VI-NEXT: v_writelane_b32 v34, s46, 14
+; VI-NEXT: s_lshr_b32 s46, s9, 16
+; VI-NEXT: v_writelane_b32 v34, s46, 15
+; VI-NEXT: s_lshr_b32 s46, s9, 8
+; VI-NEXT: v_writelane_b32 v34, s46, 16
; VI-NEXT: s_lshr_b32 s46, s8, 16
-; VI-NEXT: v_writelane_b32 v33, s46, 17
+; VI-NEXT: v_writelane_b32 v34, s46, 17
+; VI-NEXT: s_lshr_b32 s46, s8, 8
+; VI-NEXT: v_writelane_b32 v34, s46, 18
; VI-NEXT: s_lshr_b32 s46, s11, 24
-; VI-NEXT: v_writelane_b32 v33, s46, 18
+; VI-NEXT: v_writelane_b32 v34, s46, 19
; VI-NEXT: s_lshr_b32 s46, s11, 16
-; VI-NEXT: v_writelane_b32 v33, s46, 19
+; VI-NEXT: v_writelane_b32 v34, s46, 20
+; VI-NEXT: s_lshr_b32 s46, s11, 8
+; VI-NEXT: v_writelane_b32 v34, s46, 21
; VI-NEXT: s_lshr_b32 s46, s10, 16
-; VI-NEXT: v_writelane_b32 v33, s46, 20
+; VI-NEXT: v_writelane_b32 v34, s46, 22
; VI-NEXT: s_lshr_b32 s46, s10, 8
-; VI-NEXT: v_writelane_b32 v33, s46, 21
+; VI-NEXT: v_writelane_b32 v34, s46, 23
; VI-NEXT: s_lshr_b32 s46, s13, 24
-; VI-NEXT: v_writelane_b32 v33, s46, 22
+; VI-NEXT: v_writelane_b32 v34, s46, 24
; VI-NEXT: s_lshr_b32 s46, s13, 16
-; VI-NEXT: v_writelane_b32 v33, s46, 23
+; VI-NEXT: v_writelane_b32 v34, s46, 25
; VI-NEXT: s_lshr_b32 s46, s13, 8
-; VI-NEXT: v_writelane_b32 v33, s46, 24
+; VI-NEXT: v_writelane_b32 v34, s46, 26
; VI-NEXT: s_lshr_b32 s46, s12, 16
-; VI-NEXT: v_writelane_b32 v33, s46, 25
+; VI-NEXT: v_writelane_b32 v34, s46, 27
; VI-NEXT: s_lshr_b32 s46, s12, 8
-; VI-NEXT: v_writelane_b32 v33, s46, 26
+; VI-NEXT: v_writelane_b32 v34, s46, 28
; VI-NEXT: s_lshr_b32 s46, s15, 24
-; VI-NEXT: v_writelane_b32 v33, s46, 27
+; VI-NEXT: v_writelane_b32 v34, s46, 29
; VI-NEXT: s_lshr_b32 s46, s15, 16
-; VI-NEXT: v_writelane_b32 v34, s46, 58
+; VI-NEXT: v_writelane_b32 v34, s46, 30
; VI-NEXT: s_lshr_b32 s46, s15, 8
-; VI-NEXT: v_writelane_b32 v34, s46, 59
+; VI-NEXT: v_writelane_b32 v34, s46, 31
; VI-NEXT: s_lshr_b32 s46, s14, 16
-; VI-NEXT: v_writelane_b32 v33, s46, 28
+; VI-NEXT: v_writelane_b32 v34, s46, 32
; VI-NEXT: s_lshr_b32 s46, s14, 8
-; VI-NEXT: v_writelane_b32 v33, s46, 29
+; VI-NEXT: v_writelane_b32 v34, s46, 33
; VI-NEXT: s_lshr_b32 s46, s41, 24
-; VI-NEXT: v_writelane_b32 v33, s46, 30
+; VI-NEXT: v_writelane_b32 v34, s46, 34
; VI-NEXT: s_lshr_b32 s46, s41, 16
-; VI-NEXT: v_writelane_b32 v33, s46, 31
+; VI-NEXT: v_writelane_b32 v34, s46, 35
; VI-NEXT: s_lshr_b32 s46, s41, 8
-; VI-NEXT: v_writelane_b32 v34, s46, 62
+; VI-NEXT: v_writelane_b32 v33, s46, 50
; VI-NEXT: s_lshr_b32 s46, s40, 16
-; VI-NEXT: v_writelane_b32 v33, s46, 0
+; VI-NEXT: v_writelane_b32 v33, s46, 52
; VI-NEXT: s_lshr_b32 s46, s40, 8
-; VI-NEXT: v_writelane_b32 v33, s46, 1
+; VI-NEXT: v_writelane_b32 v33, s46, 53
; VI-NEXT: s_lshr_b32 s46, s43, 24
-; VI-NEXT: v_writelane_b32 v33, s46, 2
+; VI-NEXT: v_writelane_b32 v33, s46, 54
; VI-NEXT: s_lshr_b32 s46, s43, 16
-; VI-NEXT: v_writelane_b32 v33, s46, 3
+; VI-NEXT: v_writelane_b32 v33, s46, 55
; VI-NEXT: s_lshr_b32 s46, s43, 8
-; VI-NEXT: v_writelane_b32 v33, s46, 5
+; VI-NEXT: v_writelane_b32 v33, s46, 57
; VI-NEXT: s_lshr_b32 s46, s42, 16
-; VI-NEXT: v_writelane_b32 v33, s46, 7
+; VI-NEXT: v_writelane_b32 v33, s46, 59
; VI-NEXT: s_lshr_b32 s46, s42, 8
-; VI-NEXT: v_writelane_b32 v33, s46, 8
+; VI-NEXT: v_writelane_b32 v33, s46, 60
+; VI-NEXT: s_lshr_b64 s[46:47], s[20:21], 24
+; VI-NEXT: v_writelane_b32 v33, s46, 4
+; VI-NEXT: v_writelane_b32 v33, s47, 5
; VI-NEXT: s_lshr_b64 s[46:47], s[18:19], 24
-; VI-NEXT: v_writelane_b32 v34, s46, 2
-; VI-NEXT: v_writelane_b32 v34, s47, 3
+; VI-NEXT: v_writelane_b32 v33, s46, 2
+; VI-NEXT: v_writelane_b32 v33, s47, 3
; VI-NEXT: s_lshr_b64 s[46:47], s[16:17], 24
-; VI-NEXT: v_writelane_b32 v34, s46, 0
-; VI-NEXT: v_writelane_b32 v34, s47, 1
+; VI-NEXT: v_writelane_b32 v33, s46, 0
+; VI-NEXT: v_writelane_b32 v33, s47, 1
; VI-NEXT: s_lshr_b64 s[46:47], s[4:5], 24
-; VI-NEXT: v_writelane_b32 v34, s46, 14
-; VI-NEXT: v_writelane_b32 v34, s47, 15
+; VI-NEXT: v_writelane_b32 v33, s46, 16
+; VI-NEXT: v_writelane_b32 v33, s47, 17
; VI-NEXT: s_lshr_b64 s[46:47], s[6:7], 24
-; VI-NEXT: v_writelane_b32 v34, s46, 12
-; VI-NEXT: v_writelane_b32 v34, s47, 13
+; VI-NEXT: v_writelane_b32 v33, s46, 14
+; VI-NEXT: v_writelane_b32 v33, s47, 15
; VI-NEXT: s_lshr_b64 s[46:47], s[8:9], 24
-; VI-NEXT: v_writelane_b32 v34, s46, 10
-; VI-NEXT: v_writelane_b32 v34, s47, 11
+; VI-NEXT: v_writelane_b32 v33, s46, 12
+; VI-NEXT: v_writelane_b32 v33, s47, 13
; VI-NEXT: s_lshr_b64 s[46:47], s[10:11], 24
-; VI-NEXT: v_writelane_b32 v34, s46, 8
-; VI-NEXT: v_writelane_b32 v34, s47, 9
+; VI-NEXT: v_writelane_b32 v33, s46, 10
+; VI-NEXT: v_writelane_b32 v33, s47, 11
; VI-NEXT: s_lshr_b64 s[46:47], s[12:13], 24
-; VI-NEXT: v_writelane_b32 v34, s46, 6
-; VI-NEXT: v_writelane_b32 v34, s47, 7
+; VI-NEXT: v_writelane_b32 v33, s46, 8
+; VI-NEXT: v_writelane_b32 v33, s47, 9
; VI-NEXT: s_lshr_b64 s[46:47], s[14:15], 24
-; VI-NEXT: v_writelane_b32 v34, s46, 4
-; VI-NEXT: s_lshr_b32 s75, s5, 24
-; VI-NEXT: s_lshr_b32 s38, s5, 16
-; VI-NEXT: s_lshr_b32 s78, s5, 8
-; VI-NEXT: s_lshr_b32 s79, s4, 16
-; VI-NEXT: s_lshr_b32 s89, s4, 8
-; VI-NEXT: s_lshr_b32 s91, s7, 24
-; VI-NEXT: s_lshr_b32 s58, s7, 16
-; VI-NEXT: s_lshr_b32 s31, s7, 8
-; VI-NEXT: s_lshr_b32 s35, s6, 16
-; VI-NEXT: s_lshr_b32 s90, s6, 8
-; VI-NEXT: s_lshr_b32 s37, s9, 24
-; VI-NEXT: s_lshr_b32 s34, s9, 16
-; VI-NEXT: s_lshr_b32 s36, s9, 8
-; VI-NEXT: s_lshr_b32 s56, s8, 8
-; VI-NEXT: s_lshr_b32 s57, s11, 8
-; VI-NEXT: s_lshr_b64 vcc, s[44:45], 24
-; VI-NEXT: s_lshr_b64 s[64:65], s[28:29], 24
-; VI-NEXT: s_lshr_b64 s[66:67], s[26:27], 24
-; VI-NEXT: s_lshr_b64 s[68:69], s[24:25], 24
-; VI-NEXT: s_lshr_b64 s[70:71], s[22:23], 24
-; VI-NEXT: s_lshr_b64 s[80:81], s[20:21], 24
-; VI-NEXT: v_writelane_b32 v34, s47, 5
-; VI-NEXT: s_lshr_b64 s[60:61], s[40:41], 24
-; VI-NEXT: s_lshr_b64 s[76:77], s[42:43], 24
+; VI-NEXT: v_writelane_b32 v33, s46, 6
+; VI-NEXT: s_lshr_b64 s[74:75], s[44:45], 24
+; VI-NEXT: s_lshr_b64 s[90:91], s[28:29], 24
+; VI-NEXT: s_lshr_b64 vcc, s[26:27], 24
+; VI-NEXT: s_lshr_b64 s[88:89], s[24:25], 24
+; VI-NEXT: s_lshr_b64 s[30:31], s[22:23], 24
+; VI-NEXT: v_writelane_b32 v33, s47, 7
+; VI-NEXT: s_lshr_b64 s[56:57], s[40:41], 24
+; VI-NEXT: s_lshr_b64 s[78:79], s[42:43], 24
; VI-NEXT: s_mov_b64 s[48:49], 0
; VI-NEXT: s_branch .LBB99_3
; VI-NEXT: .LBB99_2:
@@ -205124,29 +205127,43 @@ define inreg <128 x i8> @bitcast_v64i16_to_v128i8_scalar(<64 x i16> inreg %a, i3
; VI-NEXT: s_mov_b64 s[48:49], -1
; VI-NEXT: ; implicit-def: $sgpr46
; VI-NEXT: ; kill: killed $sgpr46
-; VI-NEXT: ; implicit-def: $sgpr57
-; VI-NEXT: ; implicit-def: $sgpr56
-; VI-NEXT: ; implicit-def: $sgpr36
-; VI-NEXT: ; implicit-def: $sgpr34
-; VI-NEXT: ; implicit-def: $sgpr37
+; VI-NEXT: ; implicit-def: $sgpr30
+; VI-NEXT: ; implicit-def: $sgpr88
+; VI-NEXT: ; implicit-def: $vcc_lo
; VI-NEXT: ; implicit-def: $sgpr90
-; VI-NEXT: ; implicit-def: $sgpr35
-; VI-NEXT: ; implicit-def: $sgpr31
-; VI-NEXT: ; implicit-def: $sgpr58
-; VI-NEXT: ; implicit-def: $sgpr91
-; VI-NEXT: ; implicit-def: $sgpr89
-; VI-NEXT: ; implicit-def: $sgpr79
+; VI-NEXT: ; implicit-def: $sgpr74
; VI-NEXT: ; implicit-def: $sgpr78
-; VI-NEXT: ; implicit-def: $sgpr38
-; VI-NEXT: ; implicit-def: $sgpr75
-; VI-NEXT: ; implicit-def: $sgpr80
-; VI-NEXT: ; implicit-def: $sgpr70
-; VI-NEXT: ; implicit-def: $sgpr68
-; VI-NEXT: ; implicit-def: $sgpr66
-; VI-NEXT: ; implicit-def: $sgpr64
-; VI-NEXT: ; implicit-def: $vcc_lo
-; VI-NEXT: ; implicit-def: $sgpr76
-; VI-NEXT: ; implicit-def: $sgpr60
+; VI-NEXT: ; implicit-def: $sgpr56
+; VI-NEXT: ; implicit-def: $sgpr46
+; VI-NEXT: ; kill: killed $sgpr46
+; VI-NEXT: ; implicit-def: $sgpr46
+; VI-NEXT: ; kill: killed $sgpr46
+; VI-NEXT: ; implicit-def: $sgpr46
+; VI-NEXT: ; kill: killed $sgpr46
+; VI-NEXT: ; implicit-def: $sgpr46
+; VI-NEXT: ; kill: killed $sgpr46
+; VI-NEXT: ; implicit-def: $sgpr46
+; VI-NEXT: ; kill: killed $sgpr46
+; VI-NEXT: ; implicit-def: $sgpr46
+; VI-NEXT: ; kill: killed $sgpr46
+; VI-NEXT: ; implicit-def: $sgpr46
+; VI-NEXT: ; kill: killed $sgpr46
+; VI-NEXT: ; implicit-def: $sgpr46
+; VI-NEXT: ; kill: killed $sgpr46
+; VI-NEXT: ; implicit-def: $sgpr46
+; VI-NEXT: ; kill: killed $sgpr46
+; VI-NEXT: ; implicit-def: $sgpr46
+; VI-NEXT: ; kill: killed $sgpr46
+; VI-NEXT: ; implicit-def: $sgpr46
+; VI-NEXT: ; kill: killed $sgpr46
+; VI-NEXT: ; implicit-def: $sgpr46
+; VI-NEXT: ; kill: killed $sgpr46
+; VI-NEXT: ; implicit-def: $sgpr46
+; VI-NEXT: ; kill: killed $sgpr46
+; VI-NEXT: ; implicit-def: $sgpr46
+; VI-NEXT: ; kill: killed $sgpr46
+; VI-NEXT: ; implicit-def: $sgpr46
+; VI-NEXT: ; kill: killed $sgpr46
; VI-NEXT: ; implicit-def: $sgpr46
; VI-NEXT: ; kill: killed $sgpr46
; VI-NEXT: ; implicit-def: $sgpr46
@@ -205274,95 +205291,91 @@ define inreg <128 x i8> @bitcast_v64i16_to_v128i8_scalar(<64 x i16> inreg %a, i3
; VI-NEXT: ; implicit-def: $sgpr46
; VI-NEXT: ; kill: killed $sgpr46
; VI-NEXT: ; implicit-def: $sgpr46
-; VI-NEXT: v_writelane_b32 v34, s46, 0
-; VI-NEXT: v_writelane_b32 v34, s47, 1
+; VI-NEXT: v_writelane_b32 v33, s46, 0
+; VI-NEXT: v_writelane_b32 v33, s47, 1
; VI-NEXT: ; implicit-def: $sgpr46
-; VI-NEXT: v_writelane_b32 v34, s46, 2
-; VI-NEXT: v_writelane_b32 v34, s47, 3
+; VI-NEXT: v_writelane_b32 v33, s46, 2
+; VI-NEXT: v_writelane_b32 v33, s47, 3
; VI-NEXT: ; implicit-def: $sgpr46
-; VI-NEXT: v_writelane_b32 v34, s46, 4
-; VI-NEXT: v_writelane_b32 v34, s47, 5
+; VI-NEXT: v_writelane_b32 v33, s46, 4
+; VI-NEXT: v_writelane_b32 v33, s47, 5
; VI-NEXT: ; implicit-def: $sgpr46
-; VI-NEXT: v_writelane_b32 v34, s46, 6
-; VI-NEXT: v_writelane_b32 v34, s47, 7
+; VI-NEXT: v_writelane_b32 v33, s46, 6
+; VI-NEXT: v_writelane_b32 v33, s47, 7
; VI-NEXT: ; implicit-def: $sgpr46
-; VI-NEXT: v_writelane_b32 v34, s46, 8
-; VI-NEXT: v_writelane_b32 v34, s47, 9
+; VI-NEXT: v_writelane_b32 v33, s46, 8
+; VI-NEXT: v_writelane_b32 v33, s47, 9
; VI-NEXT: ; implicit-def: $sgpr46
-; VI-NEXT: v_writelane_b32 v34, s46, 10
-; VI-NEXT: v_writelane_b32 v34, s47, 11
+; VI-NEXT: v_writelane_b32 v33, s46, 10
+; VI-NEXT: v_writelane_b32 v33, s47, 11
; VI-NEXT: ; implicit-def: $sgpr46
-; VI-NEXT: v_writelane_b32 v34, s46, 12
-; VI-NEXT: v_writelane_b32 v34, s47, 13
+; VI-NEXT: v_writelane_b32 v33, s46, 12
+; VI-NEXT: v_writelane_b32 v33, s47, 13
; VI-NEXT: ; implicit-def: $sgpr46
-; VI-NEXT: v_writelane_b32 v34, s46, 14
-; VI-NEXT: v_writelane_b32 v34, s47, 15
+; VI-NEXT: v_writelane_b32 v33, s46, 14
+; VI-NEXT: v_writelane_b32 v33, s47, 15
+; VI-NEXT: ; implicit-def: $sgpr46
+; VI-NEXT: v_writelane_b32 v33, s46, 16
+; VI-NEXT: v_writelane_b32 v33, s47, 17
; VI-NEXT: .LBB99_3: ; %Flow
-; VI-NEXT: v_writelane_b32 v34, s60, 16
-; VI-NEXT: v_writelane_b32 v34, s61, 17
-; VI-NEXT: v_writelane_b32 v34, s57, 18
-; VI-NEXT: v_writelane_b32 v34, s56, 19
-; VI-NEXT: v_writelane_b32 v34, s37, 20
-; VI-NEXT: v_writelane_b32 v34, s36, 21
-; VI-NEXT: v_writelane_b32 v34, s34, 22
-; VI-NEXT: v_writelane_b32 v34, s90, 23
-; VI-NEXT: v_writelane_b32 v34, s35, 24
-; VI-NEXT: v_writelane_b32 v34, s31, 25
-; VI-NEXT: v_writelane_b32 v34, s58, 26
-; VI-NEXT: v_writelane_b32 v34, s91, 27
-; VI-NEXT: v_writelane_b32 v34, s89, 28
-; VI-NEXT: v_writelane_b32 v34, s79, 29
+; VI-NEXT: v_writelane_b32 v33, s56, 18
+; VI-NEXT: v_writelane_b32 v33, s57, 19
+; VI-NEXT: v_readlane_b32 s50, v33, 16
+; VI-NEXT: v_readlane_b32 s51, v33, 17
; VI-NEXT: s_and_b64 s[46:47], s[48:49], exec
-; VI-NEXT: v_writelane_b32 v34, s78, 30
+; VI-NEXT: s_mov_b32 s34, s50
+; VI-NEXT: v_readlane_b32 s50, v33, 12
; VI-NEXT: s_cselect_b32 s46, 1, 0
+; VI-NEXT: v_readlane_b32 s51, v33, 13
; VI-NEXT: s_cmp_lg_u32 s46, 1
-; VI-NEXT: v_readlane_b32 s39, v34, 31
-; VI-NEXT: v_readlane_b32 s54, v34, 32
-; VI-NEXT: v_readlane_b32 s57, v34, 33
-; VI-NEXT: v_readlane_b32 s52, v34, 34
-; VI-NEXT: v_readlane_b32 s56, v34, 35
-; VI-NEXT: v_readlane_b32 vcc_hi, v34, 36
-; VI-NEXT: v_readlane_b32 s78, v34, 37
-; VI-NEXT: v_readlane_b32 s90, v34, 38
-; VI-NEXT: v_readlane_b32 s58, v34, 39
-; VI-NEXT: v_readlane_b32 s30, v34, 40
-; VI-NEXT: v_readlane_b32 s34, v34, 41
-; VI-NEXT: v_readlane_b32 s65, v34, 42
-; VI-NEXT: v_readlane_b32 s55, v34, 43
-; VI-NEXT: s_mov_b32 s77, s38
-; VI-NEXT: v_readlane_b32 s67, v34, 44
-; VI-NEXT: v_readlane_b32 s69, v34, 45
-; VI-NEXT: v_readlane_b32 s60, v34, 46
-; VI-NEXT: v_readlane_b32 s71, v34, 47
-; VI-NEXT: v_readlane_b32 s82, v34, 48
-; VI-NEXT: v_readlane_b32 s81, v34, 49
-; VI-NEXT: v_readlane_b32 s62, v34, 50
-; VI-NEXT: v_readlane_b32 s72, v34, 51
-; VI-NEXT: v_readlane_b32 s59, v34, 52
-; VI-NEXT: v_readlane_b32 s88, v34, 53
-; VI-NEXT: v_readlane_b32 s46, v34, 54
-; VI-NEXT: v_readlane_b32 s37, v34, 55
-; VI-NEXT: v_readlane_b32 s53, v34, 56
-; VI-NEXT: v_readlane_b32 s63, v34, 57
-; VI-NEXT: v_readlane_b32 s49, v34, 58
-; VI-NEXT: v_readlane_b32 s48, v34, 59
-; VI-NEXT: v_readlane_b32 s83, v34, 60
-; VI-NEXT: v_readlane_b32 s73, v34, 61
-; VI-NEXT: v_readlane_b32 s35, v34, 62
-; VI-NEXT: v_readlane_b32 s84, v34, 63
-; VI-NEXT: v_readlane_b32 s47, v33, 0
-; VI-NEXT: v_readlane_b32 s79, v33, 1
-; VI-NEXT: v_readlane_b32 s31, v33, 2
-; VI-NEXT: v_readlane_b32 s91, v33, 3
-; VI-NEXT: v_readlane_b32 s85, v33, 4
-; VI-NEXT: v_readlane_b32 s61, v33, 5
-; VI-NEXT: v_readlane_b32 s86, v33, 6
-; VI-NEXT: v_readlane_b32 s89, v33, 7
-; VI-NEXT: v_readlane_b32 s38, v33, 8
-; VI-NEXT: v_readlane_b32 s87, v33, 9
-; VI-NEXT: v_readlane_b32 s36, v33, 10
-; VI-NEXT: v_readlane_b32 s50, v34, 4
-; VI-NEXT: v_readlane_b32 s51, v34, 5
+; VI-NEXT: v_readlane_b32 s31, v33, 20
+; VI-NEXT: v_readlane_b32 s89, v33, 21
+; VI-NEXT: v_readlane_b32 s52, v33, 22
+; VI-NEXT: v_readlane_b32 s46, v33, 23
+; VI-NEXT: v_readlane_b32 s53, v33, 24
+; VI-NEXT: v_readlane_b32 s56, v33, 25
+; VI-NEXT: v_readlane_b32 s57, v33, 26
+; VI-NEXT: v_readlane_b32 s54, v33, 27
+; VI-NEXT: v_readlane_b32 s58, v33, 28
+; VI-NEXT: v_readlane_b32 s64, v33, 29
+; VI-NEXT: v_readlane_b32 s65, v33, 30
+; VI-NEXT: v_readlane_b32 s68, v33, 31
+; VI-NEXT: v_readlane_b32 s67, v33, 32
+; VI-NEXT: v_readlane_b32 s77, v33, 33
+; VI-NEXT: v_readlane_b32 s79, v33, 34
+; VI-NEXT: v_readlane_b32 s69, v33, 35
+; VI-NEXT: v_readlane_b32 s70, v33, 36
+; VI-NEXT: v_readlane_b32 s60, v33, 37
+; VI-NEXT: v_readlane_b32 s59, v33, 38
+; VI-NEXT: v_readlane_b32 s62, v33, 39
+; VI-NEXT: v_readlane_b32 s63, v33, 40
+; VI-NEXT: v_readlane_b32 s80, v33, 41
+; VI-NEXT: v_readlane_b32 s83, v33, 42
+; VI-NEXT: v_readlane_b32 s82, v33, 43
+; VI-NEXT: v_readlane_b32 s36, v33, 44
+; VI-NEXT: v_readlane_b32 s35, v33, 45
+; VI-NEXT: v_readlane_b32 s55, v33, 46
+; VI-NEXT: v_readlane_b32 s47, v33, 47
+; VI-NEXT: v_readlane_b32 s81, v33, 48
+; VI-NEXT: v_readlane_b32 s37, v33, 49
+; VI-NEXT: v_readlane_b32 s38, v33, 50
+; VI-NEXT: v_readlane_b32 s39, v33, 51
+; VI-NEXT: v_readlane_b32 s71, v33, 52
+; VI-NEXT: v_readlane_b32 s75, v33, 53
+; VI-NEXT: v_readlane_b32 s91, v33, 54
+; VI-NEXT: v_readlane_b32 s61, v33, 55
+; VI-NEXT: v_readlane_b32 s86, v33, 56
+; VI-NEXT: v_readlane_b32 vcc_hi, v33, 57
+; VI-NEXT: v_readlane_b32 s72, v33, 58
+; VI-NEXT: v_readlane_b32 s66, v33, 59
+; VI-NEXT: v_readlane_b32 s85, v33, 60
+; VI-NEXT: v_readlane_b32 s73, v33, 61
+; VI-NEXT: v_readlane_b32 s87, v33, 62
+; VI-NEXT: s_mov_b32 s84, s50
+; VI-NEXT: v_readlane_b32 s50, v33, 6
+; VI-NEXT: v_readlane_b32 s48, v33, 2
+; VI-NEXT: v_readlane_b32 s51, v33, 7
+; VI-NEXT: v_readlane_b32 s49, v33, 3
; VI-NEXT: s_cbranch_scc1 .LBB99_5
; VI-NEXT: ; %bb.4: ; %cmp.true
; VI-NEXT: s_and_b32 s46, s43, 0xffff0000
@@ -205495,480 +205508,478 @@ define inreg <128 x i8> @bitcast_v64i16_to_v128i8_scalar(<64 x i16> inreg %a, i3
; VI-NEXT: s_and_b32 s44, s44, 0xffff
; VI-NEXT: s_or_b32 s44, s46, s44
; VI-NEXT: s_lshr_b32 s46, s45, 24
-; VI-NEXT: v_writelane_b32 v33, s46, 11
+; VI-NEXT: v_writelane_b32 v33, s46, 63
; VI-NEXT: s_lshr_b32 s46, s45, 16
-; VI-NEXT: s_add_i32 s29, s29, 0x30000
-; VI-NEXT: v_writelane_b32 v33, s46, 12
+; VI-NEXT: s_add_i32 s44, s44, 0x30000
+; VI-NEXT: v_writelane_b32 v34, s46, 0
; VI-NEXT: s_lshr_b32 s46, s45, 8
-; VI-NEXT: s_add_i32 s28, s28, 0x30000
-; VI-NEXT: v_writelane_b32 v33, s46, 13
-; VI-NEXT: s_lshr_b32 s46, s29, 8
+; VI-NEXT: s_add_i32 s29, s29, 0x30000
+; VI-NEXT: v_writelane_b32 v34, s46, 1
+; VI-NEXT: s_lshr_b32 s46, s44, 16
; VI-NEXT: s_add_i32 s27, s27, 0x30000
-; VI-NEXT: v_writelane_b32 v34, s46, 53
-; VI-NEXT: s_lshr_b32 s46, s28, 8
+; VI-NEXT: v_writelane_b32 v33, s46, 20
+; VI-NEXT: s_lshr_b32 s46, s29, 8
; VI-NEXT: s_add_i32 s26, s26, 0x30000
-; VI-NEXT: v_writelane_b32 v34, s46, 55
+; VI-NEXT: v_writelane_b32 v33, s46, 44
; VI-NEXT: s_lshr_b32 s46, s27, 8
; VI-NEXT: s_add_i32 s25, s25, 0x30000
-; VI-NEXT: v_writelane_b32 v34, s46, 56
+; VI-NEXT: v_writelane_b32 v34, s46, 2
; VI-NEXT: s_lshr_b32 s46, s26, 8
; VI-NEXT: s_add_i32 s24, s24, 0x30000
-; VI-NEXT: v_writelane_b32 v33, s46, 14
+; VI-NEXT: v_writelane_b32 v34, s46, 3
; VI-NEXT: s_lshr_b32 s46, s25, 8
; VI-NEXT: s_add_i32 s5, s5, 0x30000
-; VI-NEXT: v_writelane_b32 v33, s46, 15
+; VI-NEXT: v_writelane_b32 v34, s46, 4
; VI-NEXT: s_lshr_b32 s46, s24, 8
-; VI-NEXT: v_writelane_b32 v33, s46, 16
+; VI-NEXT: v_writelane_b32 v34, s46, 5
; VI-NEXT: s_lshr_b32 s46, s5, 16
; VI-NEXT: s_add_i32 s4, s4, 0x30000
-; VI-NEXT: v_writelane_b32 v34, s46, 4
+; VI-NEXT: v_writelane_b32 v33, s46, 34
; VI-NEXT: s_lshr_b32 s46, s5, 8
-; VI-NEXT: v_writelane_b32 v34, s46, 30
+; VI-NEXT: v_writelane_b32 v34, s46, 6
; VI-NEXT: s_lshr_b32 s46, s4, 16
; VI-NEXT: s_add_i32 s7, s7, 0x30000
-; VI-NEXT: v_writelane_b32 v34, s46, 29
+; VI-NEXT: v_writelane_b32 v34, s46, 7
; VI-NEXT: s_lshr_b32 s46, s4, 8
-; VI-NEXT: v_writelane_b32 v34, s46, 28
+; VI-NEXT: v_writelane_b32 v34, s46, 8
; VI-NEXT: s_lshr_b32 s46, s7, 24
-; VI-NEXT: v_writelane_b32 v34, s46, 27
+; VI-NEXT: v_writelane_b32 v34, s46, 9
; VI-NEXT: s_lshr_b32 s46, s7, 16
; VI-NEXT: s_add_i32 s6, s6, 0x30000
-; VI-NEXT: v_writelane_b32 v34, s46, 26
+; VI-NEXT: v_writelane_b32 v34, s46, 10
; VI-NEXT: s_lshr_b32 s46, s7, 8
-; VI-NEXT: v_writelane_b32 v34, s46, 25
+; VI-NEXT: v_writelane_b32 v34, s46, 11
; VI-NEXT: s_lshr_b32 s46, s6, 16
; VI-NEXT: s_add_i32 s9, s9, 0x30000
-; VI-NEXT: v_writelane_b32 v34, s46, 24
+; VI-NEXT: v_writelane_b32 v34, s46, 12
; VI-NEXT: s_lshr_b32 s46, s6, 8
-; VI-NEXT: v_writelane_b32 v34, s46, 23
+; VI-NEXT: v_writelane_b32 v34, s46, 13
; VI-NEXT: s_lshr_b32 s46, s9, 24
-; VI-NEXT: v_writelane_b32 v34, s46, 20
+; VI-NEXT: v_writelane_b32 v34, s46, 14
; VI-NEXT: s_lshr_b32 s46, s9, 16
; VI-NEXT: s_add_i32 s8, s8, 0x30000
-; VI-NEXT: v_writelane_b32 v34, s46, 22
+; VI-NEXT: v_writelane_b32 v34, s46, 15
; VI-NEXT: s_lshr_b32 s46, s9, 8
-; VI-NEXT: v_writelane_b32 v34, s46, 21
+; VI-NEXT: v_writelane_b32 v34, s46, 16
; VI-NEXT: s_lshr_b32 s46, s8, 16
; VI-NEXT: s_add_i32 s11, s11, 0x30000
-; VI-NEXT: v_writelane_b32 v33, s46, 17
+; VI-NEXT: v_writelane_b32 v34, s46, 17
; VI-NEXT: s_lshr_b32 s46, s8, 8
-; VI-NEXT: v_writelane_b32 v34, s46, 19
+; VI-NEXT: v_writelane_b32 v34, s46, 18
; VI-NEXT: s_lshr_b32 s46, s11, 24
-; VI-NEXT: v_writelane_b32 v33, s46, 18
+; VI-NEXT: v_writelane_b32 v34, s46, 19
; VI-NEXT: s_lshr_b32 s46, s11, 16
; VI-NEXT: s_add_i32 s10, s10, 0x30000
-; VI-NEXT: v_writelane_b32 v33, s46, 19
+; VI-NEXT: v_writelane_b32 v34, s46, 20
; VI-NEXT: s_lshr_b32 s46, s11, 8
-; VI-NEXT: v_writelane_b32 v34, s46, 18
+; VI-NEXT: v_writelane_b32 v34, s46, 21
; VI-NEXT: s_lshr_b32 s46, s10, 16
; VI-NEXT: s_add_i32 s13, s13, 0x30000
-; VI-NEXT: v_writelane_b32 v33, s46, 20
+; VI-NEXT: v_writelane_b32 v34, s46, 22
; VI-NEXT: s_lshr_b32 s46, s10, 8
-; VI-NEXT: v_writelane_b32 v33, s46, 21
+; VI-NEXT: v_writelane_b32 v34, s46, 23
; VI-NEXT: s_lshr_b32 s46, s13, 24
-; VI-NEXT: v_writelane_b32 v33, s46, 22
+; VI-NEXT: v_writelane_b32 v34, s46, 24
; VI-NEXT: s_lshr_b32 s46, s13, 16
; VI-NEXT: s_add_i32 s12, s12, 0x30000
-; VI-NEXT: v_writelane_b32 v33, s46, 23
+; VI-NEXT: v_writelane_b32 v34, s46, 25
; VI-NEXT: s_lshr_b32 s46, s13, 8
-; VI-NEXT: v_writelane_b32 v33, s46, 24
+; VI-NEXT: v_writelane_b32 v34, s46, 26
; VI-NEXT: s_lshr_b32 s46, s12, 16
; VI-NEXT: s_add_i32 s15, s15, 0x30000
-; VI-NEXT: v_writelane_b32 v33, s46, 25
+; VI-NEXT: v_writelane_b32 v34, s46, 27
; VI-NEXT: s_lshr_b32 s46, s12, 8
-; VI-NEXT: s_add_i32 s14, s14, 0x30000
-; VI-NEXT: v_writelane_b32 v33, s46, 26
+; VI-NEXT: s_add_i32 s21, s21, 0x30000
+; VI-NEXT: s_add_i32 s20, s20, 0x30000
+; VI-NEXT: v_writelane_b32 v34, s46, 28
; VI-NEXT: s_lshr_b32 s46, s15, 24
-; VI-NEXT: v_writelane_b32 v33, s46, 27
+; VI-NEXT: v_writelane_b32 v34, s46, 29
+; VI-NEXT: s_lshr_b32 s46, s15, 16
+; VI-NEXT: s_lshr_b64 s[48:49], s[20:21], 24
+; VI-NEXT: s_add_i32 s14, s14, 0x30000
+; VI-NEXT: s_add_i32 s17, s17, 0x30000
+; VI-NEXT: s_add_i32 s16, s16, 0x30000
+; VI-NEXT: v_writelane_b32 v34, s46, 30
+; VI-NEXT: s_lshr_b32 s46, s15, 8
+; VI-NEXT: v_writelane_b32 v33, s48, 4
+; VI-NEXT: v_writelane_b32 v34, s46, 31
; VI-NEXT: s_lshr_b32 s46, s14, 16
+; VI-NEXT: v_writelane_b32 v33, s49, 5
+; VI-NEXT: s_lshr_b64 s[34:35], s[16:17], 24
; VI-NEXT: s_add_i32 s41, s41, 0x30000
-; VI-NEXT: v_writelane_b32 v33, s46, 28
+; VI-NEXT: v_writelane_b32 v34, s46, 32
; VI-NEXT: s_lshr_b32 s46, s14, 8
-; VI-NEXT: v_writelane_b32 v33, s46, 29
+; VI-NEXT: v_writelane_b32 v33, s34, 0
+; VI-NEXT: v_writelane_b32 v34, s46, 33
; VI-NEXT: s_lshr_b32 s46, s41, 24
-; VI-NEXT: s_add_i32 s19, s19, 0x30000
-; VI-NEXT: s_add_i32 s18, s18, 0x30000
-; VI-NEXT: v_writelane_b32 v33, s46, 30
+; VI-NEXT: v_writelane_b32 v33, s35, 1
+; VI-NEXT: s_lshr_b64 s[34:35], s[6:7], 24
+; VI-NEXT: s_add_i32 s42, s42, 0x30000
+; VI-NEXT: s_add_i32 s40, s40, 0x30000
+; VI-NEXT: s_add_i32 s28, s28, 0x30000
+; VI-NEXT: v_writelane_b32 v34, s46, 34
; VI-NEXT: s_lshr_b32 s46, s41, 16
-; VI-NEXT: v_writelane_b32 v33, s46, 31
-; VI-NEXT: s_lshr_b64 s[46:47], s[18:19], 24
-; VI-NEXT: s_add_i32 s17, s17, 0x30000
-; VI-NEXT: s_add_i32 s16, s16, 0x30000
-; VI-NEXT: v_writelane_b32 v34, s46, 2
-; VI-NEXT: v_writelane_b32 v34, s47, 3
-; VI-NEXT: s_lshr_b64 s[46:47], s[16:17], 24
-; VI-NEXT: v_writelane_b32 v34, s46, 0
-; VI-NEXT: v_writelane_b32 v34, s47, 1
-; VI-NEXT: s_lshr_b64 s[46:47], s[4:5], 24
-; VI-NEXT: v_writelane_b32 v34, s46, 14
-; VI-NEXT: v_writelane_b32 v34, s47, 15
-; VI-NEXT: s_lshr_b64 s[46:47], s[6:7], 24
-; VI-NEXT: v_writelane_b32 v34, s46, 12
-; VI-NEXT: s_add_i32 s20, s20, 0x30000
+; VI-NEXT: s_lshr_b64 s[84:85], s[4:5], 24
+; VI-NEXT: v_writelane_b32 v33, s34, 14
; VI-NEXT: s_add_i32 s23, s23, 0x30000
; VI-NEXT: s_add_i32 s22, s22, 0x30000
-; VI-NEXT: s_add_i32 s44, s44, 0x30000
-; VI-NEXT: v_writelane_b32 v34, s47, 13
-; VI-NEXT: s_lshr_b64 s[46:47], s[8:9], 24
-; VI-NEXT: s_lshr_b32 s88, s27, 24
-; VI-NEXT: s_lshr_b32 s89, s20, 16
-; VI-NEXT: s_lshr_b64 vcc, s[44:45], 24
-; VI-NEXT: s_lshr_b64 s[70:71], s[22:23], 24
-; VI-NEXT: v_writelane_b32 v34, s46, 10
-; VI-NEXT: s_add_i32 s21, s21, 0x30000
-; VI-NEXT: s_lshr_b32 s35, s16, 16
-; VI-NEXT: s_lshr_b32 s37, s15, 8
-; VI-NEXT: s_lshr_b32 s48, s41, 8
-; VI-NEXT: s_mov_b32 vcc_hi, s88
-; VI-NEXT: v_writelane_b32 v34, s47, 11
-; VI-NEXT: s_mov_b32 s71, s89
-; VI-NEXT: s_lshr_b64 s[88:89], s[10:11], 24
-; VI-NEXT: s_add_i32 s42, s42, 0x30000
-; VI-NEXT: s_lshr_b32 s72, s22, 16
-; VI-NEXT: s_lshr_b32 s76, s19, 16
-; VI-NEXT: s_lshr_b32 s77, s17, 24
-; VI-NEXT: s_lshr_b64 s[66:67], s[26:27], 24
-; VI-NEXT: s_lshr_b64 s[80:81], s[20:21], 24
-; VI-NEXT: s_mov_b32 s46, s35
-; VI-NEXT: s_mov_b32 s35, s48
-; VI-NEXT: s_mov_b32 s48, s37
-; VI-NEXT: v_readlane_b32 s37, v34, 55
-; VI-NEXT: v_writelane_b32 v34, s88, 8
-; VI-NEXT: s_lshr_b32 s53, s42, 16
-; VI-NEXT: s_mov_b32 s81, s76
-; VI-NEXT: s_mov_b32 s67, s72
-; VI-NEXT: v_writelane_b32 v34, s89, 9
-; VI-NEXT: s_mov_b32 s72, s77
+; VI-NEXT: s_lshr_b32 s59, s29, 16
+; VI-NEXT: s_lshr_b32 s66, s28, 8
+; VI-NEXT: s_lshr_b32 s76, s20, 16
+; VI-NEXT: s_lshr_b32 s55, s16, 16
+; VI-NEXT: v_writelane_b32 v34, s46, 35
+; VI-NEXT: s_lshr_b32 s77, s40, 16
+; VI-NEXT: s_lshr_b32 s46, s42, 16
+; VI-NEXT: s_lshr_b32 s71, s42, 8
+; VI-NEXT: v_writelane_b32 v33, s35, 15
+; VI-NEXT: s_mov_b32 s34, s84
+; VI-NEXT: s_lshr_b64 s[84:85], s[8:9], 24
+; VI-NEXT: s_lshr_b64 s[30:31], s[22:23], 24
+; VI-NEXT: s_mov_b32 s35, s55
+; VI-NEXT: s_mov_b32 s55, s66
+; VI-NEXT: s_mov_b32 s66, s46
+; VI-NEXT: s_mov_b32 s46, s59
+; VI-NEXT: s_mov_b32 s85, s71
+; VI-NEXT: s_mov_b32 s71, s77
+; VI-NEXT: s_mov_b32 s59, s76
+; VI-NEXT: s_lshr_b64 s[76:77], s[10:11], 24
+; VI-NEXT: v_readlane_b32 s31, v33, 20
+; VI-NEXT: v_writelane_b32 v33, s76, 10
+; VI-NEXT: v_writelane_b32 v33, s77, 11
; VI-NEXT: s_lshr_b64 s[76:77], s[12:13], 24
-; VI-NEXT: s_add_i32 s40, s40, 0x30000
-; VI-NEXT: s_mov_b32 s89, s53
-; VI-NEXT: v_readlane_b32 s53, v34, 56
-; VI-NEXT: v_readlane_b32 s88, v34, 53
-; VI-NEXT: v_writelane_b32 v34, s76, 6
-; VI-NEXT: v_writelane_b32 v34, s77, 7
-; VI-NEXT: s_lshr_b64 s[76:77], s[40:41], 24
+; VI-NEXT: v_writelane_b32 v33, s76, 8
; VI-NEXT: s_add_i32 s43, s43, 0x30000
-; VI-NEXT: v_writelane_b32 v34, s76, 16
-; VI-NEXT: s_lshr_b32 s59, s23, 24
-; VI-NEXT: s_lshr_b32 s74, s21, 24
-; VI-NEXT: s_lshr_b32 s50, s17, 16
-; VI-NEXT: s_lshr_b32 s51, s40, 16
-; VI-NEXT: s_lshr_b64 s[64:65], s[28:29], 24
-; VI-NEXT: s_lshr_b64 s[68:69], s[24:25], 24
-; VI-NEXT: v_writelane_b32 v34, s77, 17
-; VI-NEXT: s_lshr_b64 s[76:77], s[42:43], 24
-; VI-NEXT: s_lshr_b32 s39, s44, 16
-; VI-NEXT: s_lshr_b32 s54, s44, 8
-; VI-NEXT: s_lshr_b32 s57, s29, 24
-; VI-NEXT: s_lshr_b32 s52, s29, 16
-; VI-NEXT: s_lshr_b32 s56, s28, 16
-; VI-NEXT: s_lshr_b32 s78, s27, 16
-; VI-NEXT: s_lshr_b32 s90, s26, 16
-; VI-NEXT: s_lshr_b32 s58, s25, 24
-; VI-NEXT: s_lshr_b32 s30, s25, 16
-; VI-NEXT: s_lshr_b32 s34, s24, 16
-; VI-NEXT: s_lshr_b32 s55, s23, 16
-; VI-NEXT: s_lshr_b32 s63, s23, 8
-; VI-NEXT: s_lshr_b32 s83, s22, 8
+; VI-NEXT: v_writelane_b32 v33, s77, 9
+; VI-NEXT: s_lshr_b64 s[76:77], s[40:41], 24
+; VI-NEXT: s_lshr_b32 s78, s40, 8
+; VI-NEXT: s_lshr_b32 s79, s43, 24
+; VI-NEXT: s_lshr_b64 s[74:75], s[44:45], 24
+; VI-NEXT: s_lshr_b64 s[90:91], s[28:29], 24
+; VI-NEXT: v_writelane_b32 v33, s76, 18
+; VI-NEXT: s_add_i32 s19, s19, 0x30000
+; VI-NEXT: s_add_i32 s18, s18, 0x30000
+; VI-NEXT: s_lshr_b32 s58, s44, 8
+; VI-NEXT: s_lshr_b32 s61, s25, 24
+; VI-NEXT: s_lshr_b32 s36, s5, 24
+; VI-NEXT: s_lshr_b32 s50, s43, 16
+; VI-NEXT: s_lshr_b32 s51, s43, 8
+; VI-NEXT: s_lshr_b64 vcc, s[26:27], 24
+; VI-NEXT: s_lshr_b64 s[88:89], s[24:25], 24
+; VI-NEXT: s_mov_b32 s75, s78
+; VI-NEXT: s_mov_b32 s91, s79
+; VI-NEXT: v_writelane_b32 v33, s77, 19
+; VI-NEXT: s_lshr_b64 s[78:79], s[42:43], 24
+; VI-NEXT: s_lshr_b32 s52, s29, 24
+; VI-NEXT: s_lshr_b32 s53, s28, 16
+; VI-NEXT: s_lshr_b32 s56, s27, 24
+; VI-NEXT: s_lshr_b32 s57, s27, 16
+; VI-NEXT: s_lshr_b32 s54, s26, 16
+; VI-NEXT: s_lshr_b32 s64, s25, 16
+; VI-NEXT: s_lshr_b32 s65, s24, 16
+; VI-NEXT: s_lshr_b32 s68, s23, 24
+; VI-NEXT: s_lshr_b32 s67, s23, 16
+; VI-NEXT: s_lshr_b32 s47, s23, 8
+; VI-NEXT: s_lshr_b32 s69, s22, 16
+; VI-NEXT: s_lshr_b32 s81, s22, 8
+; VI-NEXT: s_lshr_b32 s70, s21, 24
; VI-NEXT: s_lshr_b32 s60, s21, 16
-; VI-NEXT: s_lshr_b32 s73, s21, 8
-; VI-NEXT: s_lshr_b32 s84, s20, 8
-; VI-NEXT: s_lshr_b32 s82, s19, 24
-; VI-NEXT: s_lshr_b32 s85, s19, 8
-; VI-NEXT: s_lshr_b32 s62, s18, 16
-; VI-NEXT: s_lshr_b32 s86, s18, 8
-; VI-NEXT: s_lshr_b32 s87, s17, 8
-; VI-NEXT: s_lshr_b32 s36, s16, 8
-; VI-NEXT: s_lshr_b32 s75, s5, 24
-; VI-NEXT: s_lshr_b32 s49, s15, 16
-; VI-NEXT: s_lshr_b32 s79, s40, 8
-; VI-NEXT: s_lshr_b32 s31, s43, 24
-; VI-NEXT: s_lshr_b32 s91, s43, 16
-; VI-NEXT: s_lshr_b32 s61, s43, 8
-; VI-NEXT: s_lshr_b32 s38, s42, 8
-; VI-NEXT: s_mov_b32 s47, s51
-; VI-NEXT: s_mov_b32 s69, s74
-; VI-NEXT: s_mov_b32 s65, s59
-; VI-NEXT: s_mov_b32 s59, s50
+; VI-NEXT: s_lshr_b32 s37, s21, 8
+; VI-NEXT: s_lshr_b32 s39, s20, 8
+; VI-NEXT: s_lshr_b32 s62, s19, 24
+; VI-NEXT: s_lshr_b32 s63, s19, 16
+; VI-NEXT: s_lshr_b32 s86, s19, 8
+; VI-NEXT: s_lshr_b32 s80, s18, 16
+; VI-NEXT: s_lshr_b32 s72, s18, 8
+; VI-NEXT: s_lshr_b32 s83, s17, 24
+; VI-NEXT: s_lshr_b32 s82, s17, 16
+; VI-NEXT: s_lshr_b32 s73, s17, 8
+; VI-NEXT: s_lshr_b32 s87, s16, 8
+; VI-NEXT: s_lshr_b32 s38, s41, 8
+; VI-NEXT: s_lshr_b64 s[48:49], s[18:19], 24
+; VI-NEXT: s_mov_b32 s89, s58
+; VI-NEXT: s_mov_b32 s58, s61
+; VI-NEXT: s_mov_b32 vcc_hi, s51
+; VI-NEXT: s_mov_b32 s61, s50
; VI-NEXT: s_lshr_b64 s[50:51], s[14:15], 24
-; VI-NEXT: v_readlane_b32 s77, v34, 4
+; VI-NEXT: s_mov_b32 s77, s36
+; VI-NEXT: v_readlane_b32 s36, v33, 44
+; VI-NEXT: v_readlane_b32 s79, v33, 34
; VI-NEXT: .LBB99_5: ; %end
-; VI-NEXT: s_mov_b32 s74, s50
-; VI-NEXT: v_readlane_b32 s50, v34, 0
+; VI-NEXT: s_mov_b32 s76, s50
+; VI-NEXT: v_readlane_b32 s50, v33, 0
; VI-NEXT: v_mov_b32_e32 v6, s50
; VI-NEXT: v_mov_b32_e32 v1, 0xc0c0004
-; VI-NEXT: v_mov_b32_e32 v2, s36
-; VI-NEXT: v_perm_b32 v6, s46, v6, v1
-; VI-NEXT: v_mov_b32_e32 v4, s87
+; VI-NEXT: v_mov_b32_e32 v2, s87
+; VI-NEXT: v_perm_b32 v6, s35, v6, v1
; VI-NEXT: v_perm_b32 v3, s16, v2, v1
-; VI-NEXT: v_mov_b32_e32 v24, s72
+; VI-NEXT: v_mov_b32_e32 v24, s83
; VI-NEXT: v_lshlrev_b32_e32 v6, 16, v6
-; VI-NEXT: v_perm_b32 v2, s17, v4, v1
-; VI-NEXT: v_readlane_b32 s16, v34, 2
-; VI-NEXT: v_perm_b32 v24, s59, v24, v1
+; VI-NEXT: v_mov_b32_e32 v4, s73
+; VI-NEXT: v_perm_b32 v24, s82, v24, v1
; VI-NEXT: v_or_b32_e32 v3, v3, v6
-; VI-NEXT: v_mov_b32_e32 v10, s16
+; VI-NEXT: v_perm_b32 v2, s17, v4, v1
+; VI-NEXT: v_mov_b32_e32 v9, s48
; VI-NEXT: buffer_store_dword v3, v0, s[0:3], 0 offen
; VI-NEXT: v_lshlrev_b32_e32 v3, 16, v24
-; VI-NEXT: v_mov_b32_e32 v4, s86
-; VI-NEXT: v_perm_b32 v10, s62, v10, v1
+; VI-NEXT: v_mov_b32_e32 v4, s72
+; VI-NEXT: v_perm_b32 v9, s80, v9, v1
; VI-NEXT: v_or_b32_e32 v2, v2, v3
; VI-NEXT: v_perm_b32 v5, s18, v4, v1
-; VI-NEXT: v_mov_b32_e32 v25, s82
+; VI-NEXT: v_mov_b32_e32 v25, s62
; VI-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:4
-; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v10
-; VI-NEXT: v_mov_b32_e32 v7, s85
-; VI-NEXT: v_perm_b32 v25, s81, v25, v1
+; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v9
+; VI-NEXT: v_mov_b32_e32 v7, s86
+; VI-NEXT: v_readlane_b32 s16, v33, 4
+; VI-NEXT: v_perm_b32 v25, s63, v25, v1
; VI-NEXT: v_or_b32_e32 v2, v5, v2
; VI-NEXT: v_perm_b32 v4, s19, v7, v1
-; VI-NEXT: v_mov_b32_e32 v14, s80
+; VI-NEXT: v_mov_b32_e32 v14, s16
; VI-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:8
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v25
-; VI-NEXT: v_mov_b32_e32 v7, s84
-; VI-NEXT: v_perm_b32 v14, s71, v14, v1
+; VI-NEXT: v_mov_b32_e32 v7, s39
+; VI-NEXT: v_perm_b32 v14, s59, v14, v1
; VI-NEXT: v_or_b32_e32 v2, v4, v2
; VI-NEXT: v_perm_b32 v8, s20, v7, v1
-; VI-NEXT: v_mov_b32_e32 v26, s69
+; VI-NEXT: v_mov_b32_e32 v26, s70
; VI-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:12
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v14
-; VI-NEXT: v_mov_b32_e32 v9, s73
+; VI-NEXT: v_mov_b32_e32 v10, s37
; VI-NEXT: v_perm_b32 v26, s60, v26, v1
; VI-NEXT: v_or_b32_e32 v2, v8, v2
-; VI-NEXT: v_perm_b32 v7, s21, v9, v1
-; VI-NEXT: v_mov_b32_e32 v17, s70
+; VI-NEXT: v_perm_b32 v7, s21, v10, v1
+; VI-NEXT: v_mov_b32_e32 v17, s30
; VI-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:16
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v26
-; VI-NEXT: v_mov_b32_e32 v9, s83
-; VI-NEXT: v_perm_b32 v17, s67, v17, v1
+; VI-NEXT: v_mov_b32_e32 v10, s81
+; VI-NEXT: v_perm_b32 v17, s69, v17, v1
; VI-NEXT: v_or_b32_e32 v2, v7, v2
-; VI-NEXT: v_perm_b32 v11, s22, v9, v1
-; VI-NEXT: v_mov_b32_e32 v27, s65
+; VI-NEXT: v_perm_b32 v11, s22, v10, v1
+; VI-NEXT: v_mov_b32_e32 v27, s68
; VI-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:20
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v17
-; VI-NEXT: v_mov_b32_e32 v12, s63
-; VI-NEXT: v_perm_b32 v27, s55, v27, v1
+; VI-NEXT: v_mov_b32_e32 v12, s47
+; VI-NEXT: v_perm_b32 v27, s67, v27, v1
; VI-NEXT: v_or_b32_e32 v2, v11, v2
-; VI-NEXT: v_perm_b32 v9, s23, v12, v1
-; VI-NEXT: v_mov_b32_e32 v20, s68
-; VI-NEXT: v_readlane_b32 s16, v33, 16
+; VI-NEXT: v_perm_b32 v10, s23, v12, v1
+; VI-NEXT: v_mov_b32_e32 v20, s88
+; VI-NEXT: v_readlane_b32 s16, v34, 5
; VI-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:24
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v27
; VI-NEXT: v_mov_b32_e32 v12, s16
-; VI-NEXT: v_perm_b32 v20, s34, v20, v1
-; VI-NEXT: v_or_b32_e32 v2, v9, v2
-; VI-NEXT: v_readlane_b32 s16, v33, 15
+; VI-NEXT: v_perm_b32 v20, s65, v20, v1
+; VI-NEXT: v_or_b32_e32 v2, v10, v2
+; VI-NEXT: v_readlane_b32 s16, v34, 4
; VI-NEXT: v_perm_b32 v13, s24, v12, v1
; VI-NEXT: v_mov_b32_e32 v28, s58
; VI-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:28
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v20
; VI-NEXT: v_mov_b32_e32 v15, s16
-; VI-NEXT: v_perm_b32 v28, s30, v28, v1
+; VI-NEXT: v_perm_b32 v28, s64, v28, v1
; VI-NEXT: v_or_b32_e32 v2, v13, v2
; VI-NEXT: v_perm_b32 v12, s25, v15, v1
-; VI-NEXT: v_mov_b32_e32 v21, s66
-; VI-NEXT: v_readlane_b32 s16, v33, 14
+; VI-NEXT: v_mov_b32_e32 v21, vcc_lo
+; VI-NEXT: v_readlane_b32 s16, v34, 3
; VI-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:32
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v28
; VI-NEXT: v_mov_b32_e32 v15, s16
-; VI-NEXT: v_perm_b32 v21, s90, v21, v1
+; VI-NEXT: v_perm_b32 v21, s54, v21, v1
; VI-NEXT: v_or_b32_e32 v2, v12, v2
+; VI-NEXT: v_readlane_b32 s16, v34, 2
; VI-NEXT: v_perm_b32 v16, s26, v15, v1
-; VI-NEXT: v_mov_b32_e32 v29, vcc_hi
+; VI-NEXT: v_mov_b32_e32 v29, s56
; VI-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:36
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v21
-; VI-NEXT: v_mov_b32_e32 v18, s53
-; VI-NEXT: v_perm_b32 v29, s78, v29, v1
+; VI-NEXT: v_mov_b32_e32 v18, s16
+; VI-NEXT: v_perm_b32 v29, s57, v29, v1
; VI-NEXT: v_or_b32_e32 v2, v16, v2
; VI-NEXT: v_perm_b32 v15, s27, v18, v1
-; VI-NEXT: v_mov_b32_e32 v22, s64
+; VI-NEXT: v_mov_b32_e32 v22, s90
; VI-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:40
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v29
-; VI-NEXT: v_mov_b32_e32 v18, s37
-; VI-NEXT: v_perm_b32 v22, s56, v22, v1
+; VI-NEXT: v_mov_b32_e32 v18, s55
+; VI-NEXT: v_perm_b32 v22, s53, v22, v1
; VI-NEXT: v_or_b32_e32 v2, v15, v2
; VI-NEXT: v_perm_b32 v19, s28, v18, v1
-; VI-NEXT: v_mov_b32_e32 v30, s57
+; VI-NEXT: v_mov_b32_e32 v30, s52
; VI-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:44
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v22
-; VI-NEXT: v_mov_b32_e32 v23, s88
-; VI-NEXT: v_perm_b32 v30, s52, v30, v1
+; VI-NEXT: v_mov_b32_e32 v23, s36
+; VI-NEXT: v_perm_b32 v30, s46, v30, v1
; VI-NEXT: v_or_b32_e32 v2, v19, v2
; VI-NEXT: v_perm_b32 v18, s29, v23, v1
-; VI-NEXT: v_mov_b32_e32 v23, vcc_lo
+; VI-NEXT: v_mov_b32_e32 v23, s74
; VI-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:48
; VI-NEXT: v_lshlrev_b32_e32 v2, 16, v30
-; VI-NEXT: v_mov_b32_e32 v31, s54
-; VI-NEXT: v_perm_b32 v23, s39, v23, v1
+; VI-NEXT: v_mov_b32_e32 v31, s89
+; VI-NEXT: v_perm_b32 v23, s31, v23, v1
; VI-NEXT: v_or_b32_e32 v2, v18, v2
; VI-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:52
; VI-NEXT: v_perm_b32 v2, s44, v31, v1
; VI-NEXT: v_lshlrev_b32_e32 v3, 16, v23
; VI-NEXT: v_or_b32_e32 v2, v2, v3
-; VI-NEXT: v_readlane_b32 s16, v33, 13
+; VI-NEXT: v_readlane_b32 s16, v34, 1
; VI-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:56
; VI-NEXT: v_mov_b32_e32 v2, s16
-; VI-NEXT: v_readlane_b32 s16, v33, 11
+; VI-NEXT: v_readlane_b32 s16, v33, 63
; VI-NEXT: v_mov_b32_e32 v3, s16
-; VI-NEXT: v_readlane_b32 s16, v33, 12
+; VI-NEXT: v_readlane_b32 s16, v34, 0
; VI-NEXT: v_perm_b32 v3, s16, v3, v1
; VI-NEXT: v_perm_b32 v2, s45, v2, v1
; VI-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; VI-NEXT: v_or_b32_e32 v2, v2, v3
-; VI-NEXT: v_mov_b32_e32 v3, s76
+; VI-NEXT: v_mov_b32_e32 v3, s78
; VI-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:60
-; VI-NEXT: v_mov_b32_e32 v2, s38
-; VI-NEXT: v_perm_b32 v3, s89, v3, v1
+; VI-NEXT: v_mov_b32_e32 v2, s85
+; VI-NEXT: v_perm_b32 v3, s66, v3, v1
; VI-NEXT: v_perm_b32 v2, s42, v2, v1
; VI-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; VI-NEXT: v_or_b32_e32 v2, v2, v3
-; VI-NEXT: v_mov_b32_e32 v3, s31
-; VI-NEXT: v_readlane_b32 s17, v34, 3
+; VI-NEXT: v_mov_b32_e32 v3, s91
+; VI-NEXT: v_readlane_b32 s17, v33, 5
; VI-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:64
-; VI-NEXT: v_mov_b32_e32 v2, s61
-; VI-NEXT: v_perm_b32 v3, s91, v3, v1
+; VI-NEXT: v_mov_b32_e32 v2, vcc_hi
+; VI-NEXT: v_perm_b32 v3, s61, v3, v1
; VI-NEXT: v_perm_b32 v2, s43, v2, v1
; VI-NEXT: v_lshlrev_b32_e32 v3, 16, v3
-; VI-NEXT: v_readlane_b32 s16, v34, 16
+; VI-NEXT: v_readlane_b32 s16, v33, 18
; VI-NEXT: v_or_b32_e32 v2, v2, v3
; VI-NEXT: v_mov_b32_e32 v3, s16
; VI-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:68
-; VI-NEXT: v_mov_b32_e32 v2, s79
-; VI-NEXT: v_perm_b32 v3, s47, v3, v1
+; VI-NEXT: v_mov_b32_e32 v2, s75
+; VI-NEXT: v_perm_b32 v3, s71, v3, v1
; VI-NEXT: v_perm_b32 v2, s40, v2, v1
; VI-NEXT: v_lshlrev_b32_e32 v3, 16, v3
-; VI-NEXT: v_readlane_b32 s16, v33, 30
+; VI-NEXT: v_readlane_b32 s16, v34, 34
; VI-NEXT: v_or_b32_e32 v2, v2, v3
; VI-NEXT: v_mov_b32_e32 v3, s16
-; VI-NEXT: v_readlane_b32 s16, v33, 31
+; VI-NEXT: v_readlane_b32 s16, v34, 35
; VI-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:72
-; VI-NEXT: v_mov_b32_e32 v2, s35
+; VI-NEXT: v_mov_b32_e32 v2, s38
; VI-NEXT: v_perm_b32 v3, s16, v3, v1
; VI-NEXT: v_perm_b32 v2, s41, v2, v1
; VI-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; VI-NEXT: v_or_b32_e32 v2, v2, v3
-; VI-NEXT: v_readlane_b32 s16, v33, 29
+; VI-NEXT: v_readlane_b32 s16, v34, 33
; VI-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:76
; VI-NEXT: v_mov_b32_e32 v2, s16
; VI-NEXT: v_perm_b32 v2, s14, v2, v1
-; VI-NEXT: v_mov_b32_e32 v3, s74
-; VI-NEXT: v_readlane_b32 s14, v33, 28
+; VI-NEXT: v_mov_b32_e32 v3, s76
+; VI-NEXT: v_readlane_b32 s14, v34, 32
; VI-NEXT: v_perm_b32 v3, s14, v3, v1
; VI-NEXT: v_lshlrev_b32_e32 v3, 16, v3
-; VI-NEXT: v_readlane_b32 s14, v33, 27
; VI-NEXT: v_or_b32_e32 v2, v2, v3
-; VI-NEXT: v_mov_b32_e32 v3, s14
+; VI-NEXT: v_readlane_b32 s14, v34, 31
; VI-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:80
-; VI-NEXT: v_mov_b32_e32 v2, s48
-; VI-NEXT: v_perm_b32 v3, s49, v3, v1
+; VI-NEXT: v_mov_b32_e32 v2, s14
+; VI-NEXT: v_readlane_b32 s14, v34, 29
+; VI-NEXT: v_mov_b32_e32 v3, s14
+; VI-NEXT: v_readlane_b32 s14, v34, 30
+; VI-NEXT: v_perm_b32 v3, s14, v3, v1
; VI-NEXT: v_perm_b32 v2, s15, v2, v1
; VI-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; VI-NEXT: v_or_b32_e32 v2, v2, v3
-; VI-NEXT: v_readlane_b32 s14, v33, 26
+; VI-NEXT: v_readlane_b32 s14, v34, 28
; VI-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:84
; VI-NEXT: v_mov_b32_e32 v2, s14
-; VI-NEXT: v_readlane_b32 s14, v34, 6
+; VI-NEXT: v_readlane_b32 s14, v33, 8
; VI-NEXT: v_perm_b32 v2, s12, v2, v1
; VI-NEXT: v_mov_b32_e32 v3, s14
-; VI-NEXT: v_readlane_b32 s12, v33, 25
+; VI-NEXT: v_readlane_b32 s12, v34, 27
; VI-NEXT: v_perm_b32 v3, s12, v3, v1
; VI-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; VI-NEXT: v_or_b32_e32 v2, v2, v3
-; VI-NEXT: v_readlane_b32 s12, v33, 24
+; VI-NEXT: v_readlane_b32 s12, v34, 26
; VI-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:88
; VI-NEXT: v_mov_b32_e32 v2, s12
-; VI-NEXT: v_readlane_b32 s12, v33, 22
+; VI-NEXT: v_readlane_b32 s12, v34, 24
; VI-NEXT: v_mov_b32_e32 v3, s12
-; VI-NEXT: v_readlane_b32 s12, v33, 23
+; VI-NEXT: v_readlane_b32 s12, v34, 25
; VI-NEXT: v_perm_b32 v3, s12, v3, v1
; VI-NEXT: v_perm_b32 v2, s13, v2, v1
; VI-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; VI-NEXT: v_or_b32_e32 v2, v2, v3
-; VI-NEXT: v_readlane_b32 s12, v33, 21
+; VI-NEXT: v_readlane_b32 s12, v34, 23
; VI-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:92
; VI-NEXT: v_mov_b32_e32 v2, s12
-; VI-NEXT: v_readlane_b32 s12, v34, 8
+; VI-NEXT: v_readlane_b32 s12, v33, 10
; VI-NEXT: v_perm_b32 v2, s10, v2, v1
; VI-NEXT: v_mov_b32_e32 v3, s12
-; VI-NEXT: v_readlane_b32 s10, v33, 20
+; VI-NEXT: v_readlane_b32 s10, v34, 22
; VI-NEXT: v_perm_b32 v3, s10, v3, v1
; VI-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; VI-NEXT: v_or_b32_e32 v2, v2, v3
-; VI-NEXT: v_readlane_b32 s10, v34, 18
+; VI-NEXT: v_readlane_b32 s10, v34, 21
; VI-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:96
; VI-NEXT: v_mov_b32_e32 v2, s10
-; VI-NEXT: v_readlane_b32 s10, v33, 18
+; VI-NEXT: v_readlane_b32 s10, v34, 19
; VI-NEXT: v_mov_b32_e32 v3, s10
-; VI-NEXT: v_readlane_b32 s10, v33, 19
+; VI-NEXT: v_readlane_b32 s10, v34, 20
; VI-NEXT: v_perm_b32 v3, s10, v3, v1
; VI-NEXT: v_perm_b32 v2, s11, v2, v1
; VI-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; VI-NEXT: v_or_b32_e32 v2, v2, v3
-; VI-NEXT: v_readlane_b32 s10, v34, 19
+; VI-NEXT: v_readlane_b32 s10, v34, 18
; VI-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:100
; VI-NEXT: v_mov_b32_e32 v2, s10
-; VI-NEXT: v_readlane_b32 s10, v34, 10
; VI-NEXT: v_perm_b32 v2, s8, v2, v1
-; VI-NEXT: v_mov_b32_e32 v3, s10
-; VI-NEXT: v_readlane_b32 s8, v33, 17
+; VI-NEXT: v_mov_b32_e32 v3, s84
+; VI-NEXT: v_readlane_b32 s8, v34, 17
; VI-NEXT: v_perm_b32 v3, s8, v3, v1
; VI-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; VI-NEXT: v_or_b32_e32 v2, v2, v3
-; VI-NEXT: v_readlane_b32 s8, v34, 21
+; VI-NEXT: v_readlane_b32 s8, v34, 16
; VI-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:104
; VI-NEXT: v_mov_b32_e32 v2, s8
-; VI-NEXT: v_readlane_b32 s8, v34, 20
+; VI-NEXT: v_readlane_b32 s8, v34, 14
; VI-NEXT: v_mov_b32_e32 v3, s8
-; VI-NEXT: v_readlane_b32 s8, v34, 22
+; VI-NEXT: v_readlane_b32 s8, v34, 15
; VI-NEXT: v_perm_b32 v3, s8, v3, v1
; VI-NEXT: v_perm_b32 v2, s9, v2, v1
; VI-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; VI-NEXT: v_or_b32_e32 v2, v2, v3
-; VI-NEXT: v_readlane_b32 s8, v34, 23
+; VI-NEXT: v_readlane_b32 s8, v34, 13
; VI-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:108
; VI-NEXT: v_mov_b32_e32 v2, s8
-; VI-NEXT: v_readlane_b32 s8, v34, 12
+; VI-NEXT: v_readlane_b32 s8, v33, 14
; VI-NEXT: v_perm_b32 v2, s6, v2, v1
; VI-NEXT: v_mov_b32_e32 v3, s8
-; VI-NEXT: v_readlane_b32 s6, v34, 24
+; VI-NEXT: v_readlane_b32 s6, v34, 12
; VI-NEXT: v_perm_b32 v3, s6, v3, v1
; VI-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; VI-NEXT: v_or_b32_e32 v2, v2, v3
-; VI-NEXT: v_readlane_b32 s6, v34, 25
+; VI-NEXT: v_readlane_b32 s6, v34, 11
; VI-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:112
; VI-NEXT: v_mov_b32_e32 v2, s6
-; VI-NEXT: v_readlane_b32 s6, v34, 27
+; VI-NEXT: v_readlane_b32 s6, v34, 9
; VI-NEXT: v_mov_b32_e32 v3, s6
-; VI-NEXT: v_readlane_b32 s6, v34, 26
+; VI-NEXT: v_readlane_b32 s6, v34, 10
; VI-NEXT: v_perm_b32 v3, s6, v3, v1
; VI-NEXT: v_perm_b32 v2, s7, v2, v1
; VI-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; VI-NEXT: v_or_b32_e32 v2, v2, v3
-; VI-NEXT: v_readlane_b32 s6, v34, 28
+; VI-NEXT: v_readlane_b32 s6, v34, 8
; VI-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:116
; VI-NEXT: v_mov_b32_e32 v2, s6
-; VI-NEXT: v_readlane_b32 s6, v34, 14
; VI-NEXT: v_perm_b32 v2, s4, v2, v1
-; VI-NEXT: v_mov_b32_e32 v3, s6
-; VI-NEXT: v_readlane_b32 s4, v34, 29
+; VI-NEXT: v_mov_b32_e32 v3, s34
+; VI-NEXT: v_readlane_b32 s4, v34, 7
; VI-NEXT: v_perm_b32 v3, s4, v3, v1
; VI-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; VI-NEXT: v_or_b32_e32 v2, v2, v3
-; VI-NEXT: v_readlane_b32 s4, v34, 30
+; VI-NEXT: v_readlane_b32 s4, v34, 6
; VI-NEXT: buffer_store_dword v2, v0, s[0:3], 0 offen offset:120
; VI-NEXT: v_mov_b32_e32 v2, s4
-; VI-NEXT: v_mov_b32_e32 v3, s75
+; VI-NEXT: v_mov_b32_e32 v3, s77
; VI-NEXT: v_perm_b32 v2, s5, v2, v1
-; VI-NEXT: v_perm_b32 v1, s77, v3, v1
+; VI-NEXT: v_perm_b32 v1, s79, v3, v1
; VI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
-; VI-NEXT: v_readlane_b32 s51, v34, 1
+; VI-NEXT: v_readlane_b32 s51, v33, 1
; VI-NEXT: v_or_b32_e32 v1, v2, v1
; VI-NEXT: v_readlane_b32 s30, v32, 30
-; VI-NEXT: v_readlane_b32 s17, v34, 17
-; VI-NEXT: v_readlane_b32 s15, v34, 7
-; VI-NEXT: v_readlane_b32 s13, v34, 9
-; VI-NEXT: v_readlane_b32 s11, v34, 11
-; VI-NEXT: v_readlane_b32 s9, v34, 13
-; VI-NEXT: v_readlane_b32 s7, v34, 15
+; VI-NEXT: v_readlane_b32 s17, v33, 19
+; VI-NEXT: v_readlane_b32 s15, v33, 9
+; VI-NEXT: v_readlane_b32 s13, v33, 11
+; VI-NEXT: v_readlane_b32 s9, v33, 15
; VI-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:124
; VI-NEXT: v_readlane_b32 s31, v32, 31
; VI-NEXT: v_readlane_b32 s87, v32, 29
@@ -206013,8 +206024,8 @@ define inreg <128 x i8> @bitcast_v64i16_to_v128i8_scalar(<64 x i16> inreg %a, i3
; GFX9: ; %bb.0:
; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
; GFX9-NEXT: s_or_saveexec_b64 s[4:5], -1
-; GFX9-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:384 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:388 ; 4-byte Folded Spill
; GFX9-NEXT: s_mov_b64 exec, s[4:5]
; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:52 ; 4-byte Folded Spill
; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:48 ; 4-byte Folded Spill
@@ -206390,457 +206401,450 @@ define inreg <128 x i8> @bitcast_v64i16_to_v128i8_scalar(<64 x i16> inreg %a, i3
; GFX9-NEXT: s_cmp_lg_u32 s57, 1
; GFX9-NEXT: s_cbranch_scc1 .LBB99_5
; GFX9-NEXT: ; %bb.4: ; %cmp.true
-; GFX9-NEXT: v_pk_add_u16 v26, s5, 3 op_sel_hi:[1,0]
-; GFX9-NEXT: v_pk_add_u16 v25, s4, 3 op_sel_hi:[1,0]
-; GFX9-NEXT: v_lshrrev_b64 v[15:16], 24, v[25:26]
-; GFX9-NEXT: v_pk_add_u16 v28, s29, 3 op_sel_hi:[1,0]
-; GFX9-NEXT: v_pk_add_u16 v27, s28, 3 op_sel_hi:[1,0]
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
+; GFX9-NEXT: v_pk_add_u16 v25, s5, 3 op_sel_hi:[1,0]
+; GFX9-NEXT: v_pk_add_u16 v24, s4, 3 op_sel_hi:[1,0]
+; GFX9-NEXT: v_lshrrev_b64 v[17:18], 24, v[24:25]
+; GFX9-NEXT: v_pk_add_u16 v27, s29, 3 op_sel_hi:[1,0]
+; GFX9-NEXT: v_pk_add_u16 v26, s28, 3 op_sel_hi:[1,0]
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[15:16], 24, v[27:28]
-; GFX9-NEXT: v_pk_add_u16 v30, s27, 3 op_sel_hi:[1,0]
-; GFX9-NEXT: v_pk_add_u16 v29, s26, 3 op_sel_hi:[1,0]
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[17:18], 24, v[26:27]
+; GFX9-NEXT: v_pk_add_u16 v29, s27, 3 op_sel_hi:[1,0]
+; GFX9-NEXT: v_pk_add_u16 v28, s26, 3 op_sel_hi:[1,0]
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
-; GFX9-NEXT: v_pk_add_u16 v32, s25, 3 op_sel_hi:[1,0]
-; GFX9-NEXT: v_pk_add_u16 v31, s24, 3 op_sel_hi:[1,0]
-; GFX9-NEXT: v_lshrrev_b64 v[15:16], 24, v[29:30]
+; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[17:18], 24, v[28:29]
+; GFX9-NEXT: v_pk_add_u16 v31, s25, 3 op_sel_hi:[1,0]
+; GFX9-NEXT: v_pk_add_u16 v30, s24, 3 op_sel_hi:[1,0]
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[17:18], 24, v[30:31]
+; GFX9-NEXT: v_pk_add_u16 v33, s23, 3 op_sel_hi:[1,0]
+; GFX9-NEXT: v_pk_add_u16 v32, s22, 3 op_sel_hi:[1,0]
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[17:18], 24, v[32:33]
+; GFX9-NEXT: v_pk_add_u16 v35, s21, 3 op_sel_hi:[1,0]
+; GFX9-NEXT: v_pk_add_u16 v34, s20, 3 op_sel_hi:[1,0]
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b64 v[17:18], 24, v[34:35]
; GFX9-NEXT: v_pk_add_u16 v2, s7, 3 op_sel_hi:[1,0]
; GFX9-NEXT: v_pk_add_u16 v1, s6, 3 op_sel_hi:[1,0]
-; GFX9-NEXT: v_lshrrev_b64 v[16:17], 24, v[31:32]
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
; GFX9-NEXT: v_lshrrev_b64 v[17:18], 24, v[1:2]
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v1
; GFX9-NEXT: v_pk_add_u16 v4, s9, 3 op_sel_hi:[1,0]
; GFX9-NEXT: v_pk_add_u16 v3, s8, 3 op_sel_hi:[1,0]
; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 8, v1
; GFX9-NEXT: v_lshrrev_b64 v[17:18], 24, v[3:4]
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 24, v4
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v4
; GFX9-NEXT: v_pk_add_u16 v6, s11, 3 op_sel_hi:[1,0]
; GFX9-NEXT: v_pk_add_u16 v5, s10, 3 op_sel_hi:[1,0]
; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 8, v4
; GFX9-NEXT: v_lshrrev_b64 v[17:18], 24, v[5:6]
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v3
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 8, v3
; GFX9-NEXT: v_pk_add_u16 v8, s13, 3 op_sel_hi:[1,0]
; GFX9-NEXT: v_pk_add_u16 v7, s12, 3 op_sel_hi:[1,0]
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 24, v6
; GFX9-NEXT: v_lshrrev_b64 v[17:18], 24, v[7:8]
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v6
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 8, v6
; GFX9-NEXT: v_pk_add_u16 v10, s15, 3 op_sel_hi:[1,0]
; GFX9-NEXT: v_pk_add_u16 v9, s14, 3 op_sel_hi:[1,0]
; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v5
; GFX9-NEXT: v_lshrrev_b64 v[17:18], 24, v[9:10]
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 8, v5
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 24, v8
; GFX9-NEXT: v_pk_add_u16 v12, s41, 3 op_sel_hi:[1,0]
; GFX9-NEXT: v_pk_add_u16 v11, s40, 3 op_sel_hi:[1,0]
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v8
; GFX9-NEXT: v_lshrrev_b64 v[17:18], 24, v[11:12]
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 8, v8
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v7
; GFX9-NEXT: v_pk_add_u16 v14, s43, 3 op_sel_hi:[1,0]
; GFX9-NEXT: v_pk_add_u16 v13, s42, 3 op_sel_hi:[1,0]
; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 8, v7
; GFX9-NEXT: v_lshrrev_b64 v[17:18], 24, v[13:14]
-; GFX9-NEXT: v_pk_add_u16 v20, s45, 3 op_sel_hi:[1,0]
-; GFX9-NEXT: v_pk_add_u16 v19, s44, 3 op_sel_hi:[1,0]
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 24, v10
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v10
+; GFX9-NEXT: v_pk_add_u16 v16, s45, 3 op_sel_hi:[1,0]
+; GFX9-NEXT: v_pk_add_u16 v15, s44, 3 op_sel_hi:[1,0]
; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b64 v[17:18], 24, v[19:20]
-; GFX9-NEXT: v_pk_add_u16 v38, s19, 3 op_sel_hi:[1,0]
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 8, v10
+; GFX9-NEXT: v_lshrrev_b64 v[17:18], 24, v[15:16]
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v9
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 8, v9
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 24, v38
-; GFX9-NEXT: v_pk_add_u16 v49, s17, 3 op_sel_hi:[1,0]
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v38
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 24, v49
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v49
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 24, v2
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v2
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v1
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v1
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 24, v4
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v4
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v4
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v3
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v3
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 24, v6
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v6
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v6
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v5
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v5
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 24, v8
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v8
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v8
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v7
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v7
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 24, v10
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v10
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v10
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v9
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v9
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 24, v12
-; GFX9-NEXT: v_mov_b32_e32 v18, v15
-; GFX9-NEXT: v_lshrrev_b32_e32 v15, 24, v26
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v12
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v15, 16, v26
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v12
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v15, 8, v26
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v11
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v15, 8, v25
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v11
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v15, 24, v28
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 24, v14
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v15, 16, v28
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v14
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v15, 8, v28
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v14
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v15, 24, v30
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v13
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v15, 16, v30
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v13
-; GFX9-NEXT: v_pk_add_u16 v36, s21, 3 op_sel_hi:[1,0]
-; GFX9-NEXT: v_pk_add_u16 v35, s20, 3 op_sel_hi:[1,0]
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v15, 24, v32
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 24, v20
-; GFX9-NEXT: v_pk_add_u16 v37, s18, 3 op_sel_hi:[1,0]
-; GFX9-NEXT: v_pk_add_u16 v34, s23, 3 op_sel_hi:[1,0]
-; GFX9-NEXT: v_lshrrev_b64 v[39:40], 24, v[35:36]
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v15, 16, v32
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v20
-; GFX9-NEXT: v_pk_add_u16 v48, s16, 3 op_sel_hi:[1,0]
-; GFX9-NEXT: v_pk_add_u16 v33, s22, 3 op_sel_hi:[1,0]
-; GFX9-NEXT: v_lshrrev_b64 v[40:41], 24, v[37:38]
-; GFX9-NEXT: v_mov_b32_e32 v24, v16
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v15, 24, v34
-; GFX9-NEXT: v_lshrrev_b32_e32 v16, 24, v36
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v20
-; GFX9-NEXT: v_lshrrev_b64 v[52:53], 24, v[33:34]
-; GFX9-NEXT: v_lshrrev_b64 v[41:42], 24, v[48:49]
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v15, 16, v34
-; GFX9-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v16, 16, v36
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v19
-; GFX9-NEXT: v_lshrrev_b32_e32 v45, 16, v25
-; GFX9-NEXT: v_lshrrev_b32_e32 v47, 16, v27
-; GFX9-NEXT: v_lshrrev_b32_e32 v46, 8, v27
-; GFX9-NEXT: v_lshrrev_b32_e32 v56, 8, v30
-; GFX9-NEXT: v_lshrrev_b32_e32 v58, 16, v29
-; GFX9-NEXT: v_lshrrev_b32_e32 v57, 8, v29
-; GFX9-NEXT: v_lshrrev_b32_e32 v53, 8, v32
-; GFX9-NEXT: v_lshrrev_b32_e32 v60, 16, v31
-; GFX9-NEXT: v_lshrrev_b32_e32 v59, 8, v31
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v23, 8, v34
-; GFX9-NEXT: v_lshrrev_b32_e32 v61, 16, v33
-; GFX9-NEXT: v_lshrrev_b32_e32 v15, 8, v33
-; GFX9-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v16, 8, v36
-; GFX9-NEXT: v_lshrrev_b32_e32 v54, 16, v35
-; GFX9-NEXT: v_lshrrev_b32_e32 v21, 8, v35
-; GFX9-NEXT: v_lshrrev_b32_e32 v55, 8, v38
-; GFX9-NEXT: v_lshrrev_b32_e32 v43, 16, v37
-; GFX9-NEXT: v_lshrrev_b32_e32 v42, 8, v37
-; GFX9-NEXT: v_lshrrev_b32_e32 v50, 8, v49
-; GFX9-NEXT: v_lshrrev_b32_e32 v22, 16, v48
-; GFX9-NEXT: v_lshrrev_b32_e32 v44, 8, v48
-; GFX9-NEXT: v_lshrrev_b32_e32 v51, 16, v2
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
-; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v19
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 24, v12
+; GFX9-NEXT: v_lshrrev_b32_e32 v17, 24, v25
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v12
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v25
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 8, v12
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v25
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v11
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v17, 24, v27
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 8, v11
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v27
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 24, v14
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v17, 24, v29
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v14
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v29
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 8, v14
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v17, 24, v31
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v13
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v31
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 8, v13
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v17, 24, v33
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 24, v16
+; GFX9-NEXT: v_pk_add_u16 v39, s17, 3 op_sel_hi:[1,0]
+; GFX9-NEXT: v_pk_add_u16 v37, s19, 3 op_sel_hi:[1,0]
+; GFX9-NEXT: v_pk_add_u16 v36, s18, 3 op_sel_hi:[1,0]
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v33
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v16
+; GFX9-NEXT: v_pk_add_u16 v38, s16, 3 op_sel_hi:[1,0]
+; GFX9-NEXT: v_lshrrev_b64 v[43:44], 24, v[36:37]
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v17, 24, v35
+; GFX9-NEXT: v_lshrrev_b32_e32 v21, 24, v37
+; GFX9-NEXT: v_lshrrev_b32_e32 v48, 24, v39
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 8, v16
+; GFX9-NEXT: v_lshrrev_b64 v[44:45], 24, v[38:39]
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v17, 16, v35
+; GFX9-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v21, 16, v37
+; GFX9-NEXT: buffer_store_dword v48, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v48, 16, v39
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 16, v15
+; GFX9-NEXT: v_lshrrev_b32_e32 v55, 16, v24
+; GFX9-NEXT: v_lshrrev_b32_e32 v19, 8, v24
+; GFX9-NEXT: v_lshrrev_b32_e32 v45, 8, v27
+; GFX9-NEXT: v_lshrrev_b32_e32 v51, 16, v26
+; GFX9-NEXT: v_lshrrev_b32_e32 v46, 8, v26
+; GFX9-NEXT: v_lshrrev_b32_e32 v47, 8, v29
+; GFX9-NEXT: v_lshrrev_b32_e32 v57, 16, v28
+; GFX9-NEXT: v_lshrrev_b32_e32 v56, 8, v28
+; GFX9-NEXT: v_lshrrev_b32_e32 v58, 8, v31
+; GFX9-NEXT: v_lshrrev_b32_e32 v60, 16, v30
+; GFX9-NEXT: v_lshrrev_b32_e32 v59, 8, v30
+; GFX9-NEXT: v_lshrrev_b32_e32 v22, 8, v33
+; GFX9-NEXT: v_lshrrev_b32_e32 v52, 16, v32
+; GFX9-NEXT: v_lshrrev_b32_e32 v20, 8, v32
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v61, 8, v35
+; GFX9-NEXT: v_lshrrev_b32_e32 v18, 16, v34
+; GFX9-NEXT: v_lshrrev_b32_e32 v17, 8, v34
+; GFX9-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v23, 8, v37
+; GFX9-NEXT: v_lshrrev_b32_e32 v50, 16, v36
+; GFX9-NEXT: v_lshrrev_b32_e32 v21, 8, v36
+; GFX9-NEXT: buffer_store_dword v48, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v48, 8, v39
+; GFX9-NEXT: v_lshrrev_b32_e32 v54, 16, v38
+; GFX9-NEXT: v_lshrrev_b32_e32 v53, 8, v38
+; GFX9-NEXT: v_lshrrev_b32_e32 v42, 24, v2
+; GFX9-NEXT: v_lshrrev_b32_e32 v40, 16, v2
+; GFX9-NEXT: v_lshrrev_b32_e32 v41, 8, v2
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
+; GFX9-NEXT: v_lshrrev_b32_e32 v49, 8, v15
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
; GFX9-NEXT: s_branch .LBB99_6
; GFX9-NEXT: .LBB99_5:
-; GFX9-NEXT: v_mov_b32_e32 v15, s71
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s69
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s70
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s68
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s67
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s66
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s64
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s65
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s55
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s54
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s53
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s51
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s52
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s50
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s49
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s48
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s38
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s39
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s99
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s98
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s97
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s87
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s96
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s86
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s85
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s84
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s82
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s83
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s81
-; GFX9-NEXT: v_mov_b32_e32 v25, s4
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s80
+; GFX9-NEXT: v_mov_b32_e32 v17, s71
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s69
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s70
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s68
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s67
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s66
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s64
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s65
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s55
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s54
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s53
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s51
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s52
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s50
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s49
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s48
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s38
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s39
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s99
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s98
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s97
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s87
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s96
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s86
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s85
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s84
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s82
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s83
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s81
+; GFX9-NEXT: v_mov_b32_e32 v24, s4
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s80
; GFX9-NEXT: v_readlane_b32 s4, v62, 0
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s4
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 1
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s4
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 2
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s4
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 3
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s4
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 4
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s4
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 5
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s4
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 6
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s4
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 7
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s4
+; GFX9-NEXT: v_mov_b32_e32 v49, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 8
-; GFX9-NEXT: v_mov_b32_e32 v17, s4
+; GFX9-NEXT: v_mov_b32_e32 v41, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 9
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s4
+; GFX9-NEXT: v_mov_b32_e32 v42, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 10
-; GFX9-NEXT: v_mov_b32_e32 v44, s4
+; GFX9-NEXT: v_mov_b32_e32 v53, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 11
-; GFX9-NEXT: v_mov_b32_e32 v22, s4
+; GFX9-NEXT: v_mov_b32_e32 v54, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 12
-; GFX9-NEXT: v_mov_b32_e32 v50, s4
+; GFX9-NEXT: v_mov_b32_e32 v48, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 13
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s4
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 14
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s4
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 15
-; GFX9-NEXT: v_mov_b32_e32 v42, s4
+; GFX9-NEXT: v_mov_b32_e32 v21, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 16
-; GFX9-NEXT: v_mov_b32_e32 v43, s4
+; GFX9-NEXT: v_mov_b32_e32 v50, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 17
-; GFX9-NEXT: v_mov_b32_e32 v55, s4
+; GFX9-NEXT: v_mov_b32_e32 v23, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 18
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s4
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 19
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s4
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 20
-; GFX9-NEXT: v_mov_b32_e32 v21, s4
+; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v17, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 21
-; GFX9-NEXT: v_mov_b32_e32 v54, s4
+; GFX9-NEXT: v_mov_b32_e32 v18, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 22
-; GFX9-NEXT: v_mov_b32_e32 v16, s4
+; GFX9-NEXT: v_mov_b32_e32 v61, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 23
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s4
+; GFX9-NEXT: v_mov_b32_e32 v19, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 24
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s4
+; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v19, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 25
-; GFX9-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v15, s4
+; GFX9-NEXT: v_mov_b32_e32 v20, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 26
-; GFX9-NEXT: v_mov_b32_e32 v61, s4
+; GFX9-NEXT: v_mov_b32_e32 v52, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 27
-; GFX9-NEXT: v_mov_b32_e32 v23, s4
+; GFX9-NEXT: v_mov_b32_e32 v22, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 28
-; GFX9-NEXT: v_mov_b32_e32 v18, s4
+; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v19, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 29
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v18, s4
+; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v19, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 30
; GFX9-NEXT: v_mov_b32_e32 v59, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 31
; GFX9-NEXT: v_mov_b32_e32 v60, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 32
-; GFX9-NEXT: v_mov_b32_e32 v53, s4
+; GFX9-NEXT: v_mov_b32_e32 v58, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 33
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v18, s4
+; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v19, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 34
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v18, s4
+; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v19, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 35
-; GFX9-NEXT: v_mov_b32_e32 v57, s4
+; GFX9-NEXT: v_mov_b32_e32 v56, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 36
-; GFX9-NEXT: v_mov_b32_e32 v58, s4
+; GFX9-NEXT: v_mov_b32_e32 v57, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 37
-; GFX9-NEXT: v_mov_b32_e32 v56, s4
+; GFX9-NEXT: v_mov_b32_e32 v47, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 38
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v18, s4
+; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v19, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 39
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v18, s4
+; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v19, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 40
; GFX9-NEXT: v_mov_b32_e32 v46, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 41
-; GFX9-NEXT: v_mov_b32_e32 v47, s4
+; GFX9-NEXT: v_mov_b32_e32 v51, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 42
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v18, s4
+; GFX9-NEXT: v_mov_b32_e32 v45, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 43
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v18, s4
+; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v19, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 44
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v18, s4
+; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v19, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 45
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v18, s4
+; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v19, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 46
-; GFX9-NEXT: v_mov_b32_e32 v51, s4
+; GFX9-NEXT: v_mov_b32_e32 v55, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 47
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v18, s4
+; GFX9-NEXT: v_mov_b32_e32 v40, s4
; GFX9-NEXT: v_readlane_b32 s4, v62, 48
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v18, s4
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v18, s47
-; GFX9-NEXT: v_mov_b32_e32 v19, s44
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v18, s46
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v45, s78
-; GFX9-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v18, s56
-; GFX9-NEXT: v_mov_b32_e32 v52, s62
-; GFX9-NEXT: v_mov_b32_e32 v45, v51
-; GFX9-NEXT: v_mov_b32_e32 v51, s88
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v40, s4
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v40, s47
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v40, s46
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
-; GFX9-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v40, s56
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v18, s58
-; GFX9-NEXT: v_mov_b32_e32 v51, v17
-; GFX9-NEXT: v_mov_b32_e32 v17, s90
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v40, s58
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s92
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v40, s60
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s94
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v40, s62
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, vcc_lo
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v40, s72
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s30
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
+; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v40, s78
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
-; GFX9-NEXT: v_mov_b32_e32 v17, s34
-; GFX9-NEXT: v_mov_b32_e32 v20, s45
+; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v40, s88
+; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v15, s44
+; GFX9-NEXT: v_mov_b32_e32 v16, s45
; GFX9-NEXT: v_mov_b32_e32 v13, s42
; GFX9-NEXT: v_mov_b32_e32 v14, s43
; GFX9-NEXT: v_mov_b32_e32 v11, s40
@@ -206855,54 +206859,75 @@ define inreg <128 x i8> @bitcast_v64i16_to_v128i8_scalar(<64 x i16> inreg %a, i3
; GFX9-NEXT: v_mov_b32_e32 v4, s9
; GFX9-NEXT: v_mov_b32_e32 v1, s6
; GFX9-NEXT: v_mov_b32_e32 v2, s7
-; GFX9-NEXT: v_mov_b32_e32 v48, s16
-; GFX9-NEXT: v_mov_b32_e32 v49, s17
-; GFX9-NEXT: v_mov_b32_e32 v37, s18
-; GFX9-NEXT: v_mov_b32_e32 v38, s19
-; GFX9-NEXT: v_mov_b32_e32 v35, s20
-; GFX9-NEXT: v_mov_b32_e32 v36, s21
-; GFX9-NEXT: v_mov_b32_e32 v33, s22
-; GFX9-NEXT: v_mov_b32_e32 v34, s23
-; GFX9-NEXT: v_mov_b32_e32 v31, s24
-; GFX9-NEXT: v_mov_b32_e32 v32, s25
-; GFX9-NEXT: v_mov_b32_e32 v29, s26
-; GFX9-NEXT: v_mov_b32_e32 v30, s27
-; GFX9-NEXT: v_mov_b32_e32 v27, s28
-; GFX9-NEXT: v_mov_b32_e32 v28, s29
-; GFX9-NEXT: v_mov_b32_e32 v26, s5
-; GFX9-NEXT: v_mov_b32_e32 v24, s60
-; GFX9-NEXT: v_mov_b32_e32 v39, s72
-; GFX9-NEXT: v_mov_b32_e32 v40, s74
-; GFX9-NEXT: v_mov_b32_e32 v41, s76
-; GFX9-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
-; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v38, s16
+; GFX9-NEXT: v_mov_b32_e32 v39, s17
+; GFX9-NEXT: v_mov_b32_e32 v36, s18
+; GFX9-NEXT: v_mov_b32_e32 v37, s19
+; GFX9-NEXT: v_mov_b32_e32 v34, s20
+; GFX9-NEXT: v_mov_b32_e32 v35, s21
+; GFX9-NEXT: v_mov_b32_e32 v32, s22
+; GFX9-NEXT: v_mov_b32_e32 v33, s23
+; GFX9-NEXT: v_mov_b32_e32 v30, s24
+; GFX9-NEXT: v_mov_b32_e32 v31, s25
+; GFX9-NEXT: v_mov_b32_e32 v28, s26
+; GFX9-NEXT: v_mov_b32_e32 v29, s27
+; GFX9-NEXT: v_mov_b32_e32 v26, s28
+; GFX9-NEXT: v_mov_b32_e32 v27, s29
+; GFX9-NEXT: v_mov_b32_e32 v25, s5
+; GFX9-NEXT: v_mov_b32_e32 v43, s74
+; GFX9-NEXT: v_mov_b32_e32 v44, s76
+; GFX9-NEXT: v_mov_b32_e32 v40, v41
+; GFX9-NEXT: v_mov_b32_e32 v41, v49
+; GFX9-NEXT: v_mov_b32_e32 v49, s90
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v50, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v49, s92
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v50, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v49, s94
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v50, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v49, vcc_lo
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v50, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v49, s30
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v50, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
+; GFX9-NEXT: v_mov_b32_e32 v49, s34
+; GFX9-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
+; GFX9-NEXT: s_nop 0
+; GFX9-NEXT: buffer_store_dword v50, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
; GFX9-NEXT: .LBB99_6: ; %end
; GFX9-NEXT: s_mov_b32 s4, 0xc0c0004
-; GFX9-NEXT: v_perm_b32 v33, v33, v15, s4
-; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:364 ; 4-byte Folded Reload
-; GFX9-NEXT: v_perm_b32 v21, v35, v21, s4
-; GFX9-NEXT: v_perm_b32 v35, v61, v52, s4
-; GFX9-NEXT: v_perm_b32 v32, v32, v53, s4
-; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload
-; GFX9-NEXT: v_perm_b32 v23, v34, v23, s4
-; GFX9-NEXT: v_perm_b32 v16, v36, v16, s4
-; GFX9-NEXT: v_perm_b32 v22, v22, v41, s4
-; GFX9-NEXT: v_perm_b32 v48, v48, v44, s4
-; GFX9-NEXT: v_lshlrev_b32_e32 v22, 16, v22
-; GFX9-NEXT: v_or_b32_e32 v22, v48, v22
-; GFX9-NEXT: v_perm_b32 v49, v49, v50, s4
-; GFX9-NEXT: v_perm_b32 v50, v43, v40, s4
-; GFX9-NEXT: v_perm_b32 v37, v37, v42, s4
-; GFX9-NEXT: v_perm_b32 v38, v38, v55, s4
-; GFX9-NEXT: v_perm_b32 v39, v54, v39, s4
-; GFX9-NEXT: v_perm_b32 v24, v60, v24, s4
-; GFX9-NEXT: v_perm_b32 v31, v31, v59, s4
-; GFX9-NEXT: v_perm_b32 v18, v58, v18, s4
-; GFX9-NEXT: v_perm_b32 v29, v29, v57, s4
-; GFX9-NEXT: v_perm_b32 v30, v30, v56, s4
-; GFX9-NEXT: v_perm_b32 v27, v27, v46, s4
+; GFX9-NEXT: v_perm_b32 v21, v36, v21, s4
+; GFX9-NEXT: v_perm_b32 v23, v37, v23, s4
+; GFX9-NEXT: buffer_load_dword v36, off, s[0:3], s32 offset:372 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v37, off, s[0:3], s32 offset:376 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v17, v34, v17, s4
+; GFX9-NEXT: v_perm_b32 v34, v35, v61, s4
+; GFX9-NEXT: v_perm_b32 v19, v24, v19, s4
+; GFX9-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:380 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v39, v39, v48, s4
+; GFX9-NEXT: v_perm_b32 v48, v50, v43, s4
+; GFX9-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v20, v32, v20, s4
+; GFX9-NEXT: v_perm_b32 v22, v33, v22, s4
+; GFX9-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v54, v54, v44, s4
+; GFX9-NEXT: v_perm_b32 v38, v38, v53, s4
+; GFX9-NEXT: v_perm_b32 v30, v30, v59, s4
+; GFX9-NEXT: v_perm_b32 v31, v31, v58, s4
+; GFX9-NEXT: v_perm_b32 v28, v28, v56, s4
+; GFX9-NEXT: v_perm_b32 v29, v29, v47, s4
+; GFX9-NEXT: v_perm_b32 v26, v26, v46, s4
+; GFX9-NEXT: v_perm_b32 v27, v27, v45, s4
; GFX9-NEXT: v_readlane_b32 s30, v63, 34
; GFX9-NEXT: v_readlane_b32 s31, v63, 35
; GFX9-NEXT: v_readlane_b32 s99, v63, 33
@@ -206939,133 +206964,140 @@ define inreg <128 x i8> @bitcast_v64i16_to_v128i8_scalar(<64 x i16> inreg %a, i3
; GFX9-NEXT: v_readlane_b32 s36, v63, 2
; GFX9-NEXT: v_readlane_b32 s35, v63, 1
; GFX9-NEXT: v_readlane_b32 s34, v63, 0
-; GFX9-NEXT: s_waitcnt vmcnt(2)
-; GFX9-NEXT: v_perm_b32 v17, v28, v15, s4
-; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:360 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(2)
-; GFX9-NEXT: v_perm_b32 v34, v47, v52, s4
-; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(2)
-; GFX9-NEXT: v_perm_b32 v25, v25, v15, s4
-; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:356 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(2)
-; GFX9-NEXT: v_perm_b32 v28, v45, v52, s4
+; GFX9-NEXT: s_waitcnt vmcnt(6)
+; GFX9-NEXT: v_perm_b32 v18, v18, v36, s4
+; GFX9-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:364 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v36, off, s[0:3], s32 offset:368 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v36, off, s[0:3], s32 offset:356 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v37, off, s[0:3], s32 offset:360 ; 4-byte Folded Reload
+; GFX9-NEXT: v_lshlrev_b32_e32 v18, 16, v18
+; GFX9-NEXT: v_or_b32_e32 v17, v17, v18
+; GFX9-NEXT: s_waitcnt vmcnt(8)
+; GFX9-NEXT: v_perm_b32 v24, v25, v24, s4
+; GFX9-NEXT: s_waitcnt vmcnt(5)
+; GFX9-NEXT: v_perm_b32 v32, v60, v32, s4
+; GFX9-NEXT: s_waitcnt vmcnt(3)
+; GFX9-NEXT: v_perm_b32 v35, v52, v35, s4
+; GFX9-NEXT: s_waitcnt vmcnt(1)
+; GFX9-NEXT: v_perm_b32 v33, v57, v36, s4
+; GFX9-NEXT: buffer_load_dword v36, off, s[0:3], s32 offset:276 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v37, off, s[0:3], s32 offset:280 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v26, v26, v15, s4
-; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:328 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:332 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:352 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v37, v55, v49, s4
+; GFX9-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:312 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:316 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:352 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v36, v51, v36, s4
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v36, v15, v52, s4
-; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:344 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v25, v25, v49, s4
+; GFX9-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:344 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v19, v19, v15, s4
-; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:316 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v49, v15, v49, s4
+; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:324 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v20, v20, v15, s4
-; GFX9-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:280 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v16, v16, v15, s4
+; GFX9-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v15, v15, v52, s4
-; GFX9-NEXT: buffer_store_dword v22, v0, s[0:3], 0 offen
-; GFX9-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:340 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v15, v15, v50, s4
+; GFX9-NEXT: v_lshlrev_b32_e32 v50, 16, v54
+; GFX9-NEXT: v_or_b32_e32 v38, v38, v50
+; GFX9-NEXT: buffer_store_dword v38, v0, s[0:3], 0 offen
+; GFX9-NEXT: buffer_load_dword v38, off, s[0:3], s32 offset:340 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v48, off, s[0:3], s32 offset:348 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:348 ; 4-byte Folded Reload
; GFX9-NEXT: v_lshlrev_b32_e32 v15, 16, v15
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v22, v22, v48, s4
-; GFX9-NEXT: v_lshlrev_b32_e32 v22, 16, v22
-; GFX9-NEXT: v_or_b32_e32 v22, v49, v22
-; GFX9-NEXT: buffer_store_dword v22, v0, s[0:3], 0 offen offset:4
-; GFX9-NEXT: v_lshlrev_b32_e32 v22, 16, v50
-; GFX9-NEXT: v_or_b32_e32 v22, v37, v22
-; GFX9-NEXT: buffer_store_dword v22, v0, s[0:3], 0 offen offset:8
-; GFX9-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:324 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v38, v38, v50, s4
+; GFX9-NEXT: v_lshlrev_b32_e32 v38, 16, v38
+; GFX9-NEXT: v_or_b32_e32 v38, v39, v38
+; GFX9-NEXT: buffer_store_dword v38, v0, s[0:3], 0 offen offset:4
+; GFX9-NEXT: v_lshlrev_b32_e32 v38, 16, v48
+; GFX9-NEXT: v_or_b32_e32 v21, v21, v38
+; GFX9-NEXT: buffer_store_dword v21, v0, s[0:3], 0 offen offset:8
+; GFX9-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:332 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v37, off, s[0:3], s32 offset:336 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v38, off, s[0:3], s32 offset:336 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v22, v22, v37, s4
-; GFX9-NEXT: v_lshlrev_b32_e32 v22, 16, v22
-; GFX9-NEXT: v_or_b32_e32 v22, v38, v22
-; GFX9-NEXT: buffer_store_dword v22, v0, s[0:3], 0 offen offset:12
-; GFX9-NEXT: v_lshlrev_b32_e32 v22, 16, v39
-; GFX9-NEXT: v_or_b32_e32 v21, v21, v22
-; GFX9-NEXT: buffer_store_dword v21, v0, s[0:3], 0 offen offset:16
-; GFX9-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:312 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v21, v21, v38, s4
+; GFX9-NEXT: v_lshlrev_b32_e32 v21, 16, v21
+; GFX9-NEXT: v_or_b32_e32 v21, v23, v21
+; GFX9-NEXT: buffer_store_dword v21, v0, s[0:3], 0 offen offset:12
+; GFX9-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:16
+; GFX9-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:320 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:320 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:328 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v21, v21, v22, s4
-; GFX9-NEXT: v_lshlrev_b32_e32 v21, 16, v21
-; GFX9-NEXT: v_or_b32_e32 v16, v16, v21
-; GFX9-NEXT: buffer_store_dword v16, v0, s[0:3], 0 offen offset:20
-; GFX9-NEXT: v_lshlrev_b32_e32 v16, 16, v35
-; GFX9-NEXT: v_or_b32_e32 v16, v33, v16
-; GFX9-NEXT: buffer_store_dword v16, v0, s[0:3], 0 offen offset:24
-; GFX9-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:304 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v17, v17, v18, s4
+; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v17
+; GFX9-NEXT: v_or_b32_e32 v17, v34, v17
+; GFX9-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:20
+; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v35
+; GFX9-NEXT: v_or_b32_e32 v17, v20, v17
+; GFX9-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:24
+; GFX9-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:304 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:308 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:308 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v16, v16, v21, s4
-; GFX9-NEXT: v_lshlrev_b32_e32 v16, 16, v16
-; GFX9-NEXT: v_or_b32_e32 v16, v23, v16
-; GFX9-NEXT: buffer_store_dword v16, v0, s[0:3], 0 offen offset:28
-; GFX9-NEXT: v_lshlrev_b32_e32 v16, 16, v24
-; GFX9-NEXT: v_or_b32_e32 v16, v31, v16
-; GFX9-NEXT: buffer_store_dword v16, v0, s[0:3], 0 offen offset:32
-; GFX9-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v17, v17, v18, s4
+; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v17
+; GFX9-NEXT: v_or_b32_e32 v17, v22, v17
+; GFX9-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:28
+; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v32
+; GFX9-NEXT: v_or_b32_e32 v17, v30, v17
+; GFX9-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:32
+; GFX9-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:300 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:300 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v16, v16, v21, s4
-; GFX9-NEXT: v_lshlrev_b32_e32 v16, 16, v16
-; GFX9-NEXT: v_or_b32_e32 v16, v32, v16
-; GFX9-NEXT: buffer_store_dword v16, v0, s[0:3], 0 offen offset:36
-; GFX9-NEXT: v_lshlrev_b32_e32 v16, 16, v18
-; GFX9-NEXT: v_or_b32_e32 v16, v29, v16
-; GFX9-NEXT: buffer_store_dword v16, v0, s[0:3], 0 offen offset:40
-; GFX9-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:276 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v17, v17, v18, s4
+; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v17
+; GFX9-NEXT: v_or_b32_e32 v17, v31, v17
+; GFX9-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:36
+; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v33
+; GFX9-NEXT: v_or_b32_e32 v17, v28, v17
+; GFX9-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:40
+; GFX9-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v16, v16, v18, s4
-; GFX9-NEXT: v_lshlrev_b32_e32 v16, 16, v16
-; GFX9-NEXT: v_or_b32_e32 v16, v30, v16
-; GFX9-NEXT: buffer_store_dword v16, v0, s[0:3], 0 offen offset:44
-; GFX9-NEXT: v_lshlrev_b32_e32 v16, 16, v34
-; GFX9-NEXT: v_or_b32_e32 v16, v27, v16
-; GFX9-NEXT: buffer_store_dword v16, v0, s[0:3], 0 offen offset:48
-; GFX9-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v17, v17, v18, s4
+; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v17
+; GFX9-NEXT: v_or_b32_e32 v17, v29, v17
+; GFX9-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:44
+; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v36
+; GFX9-NEXT: v_or_b32_e32 v17, v26, v17
+; GFX9-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:48
+; GFX9-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:268 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
; GFX9-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:272 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v16, v16, v18, s4
-; GFX9-NEXT: v_lshlrev_b32_e32 v16, 16, v16
-; GFX9-NEXT: v_or_b32_e32 v16, v17, v16
-; GFX9-NEXT: buffer_store_dword v16, v0, s[0:3], 0 offen offset:52
-; GFX9-NEXT: v_lshlrev_b32_e32 v16, 16, v28
-; GFX9-NEXT: v_or_b32_e32 v16, v25, v16
-; GFX9-NEXT: buffer_store_dword v16, v0, s[0:3], 0 offen offset:56
-; GFX9-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v17, v17, v18, s4
+; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v17
+; GFX9-NEXT: v_or_b32_e32 v17, v27, v17
+; GFX9-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:52
+; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v37
+; GFX9-NEXT: v_or_b32_e32 v17, v19, v17
+; GFX9-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:56
+; GFX9-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:268 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v16, v16, v17, s4
-; GFX9-NEXT: v_lshlrev_b32_e32 v16, 16, v16
-; GFX9-NEXT: v_or_b32_e32 v16, v26, v16
-; GFX9-NEXT: buffer_store_dword v16, v0, s[0:3], 0 offen offset:60
-; GFX9-NEXT: v_lshlrev_b32_e32 v16, 16, v36
-; GFX9-NEXT: v_or_b32_e32 v16, v19, v16
-; GFX9-NEXT: buffer_store_dword v16, v0, s[0:3], 0 offen offset:64
-; GFX9-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload
+; GFX9-NEXT: v_perm_b32 v17, v17, v18, s4
+; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v17
+; GFX9-NEXT: v_or_b32_e32 v17, v24, v17
+; GFX9-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:60
+; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v25
+; GFX9-NEXT: v_or_b32_e32 v17, v49, v17
+; GFX9-NEXT: buffer_store_dword v17, v0, s[0:3], 0 offen offset:64
+; GFX9-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload
; GFX9-NEXT: s_nop 0
-; GFX9-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v16, v16, v17, s4
-; GFX9-NEXT: v_lshlrev_b32_e32 v16, 16, v16
-; GFX9-NEXT: v_or_b32_e32 v16, v20, v16
+; GFX9-NEXT: v_perm_b32 v17, v17, v18, s4
+; GFX9-NEXT: v_lshlrev_b32_e32 v17, 16, v17
+; GFX9-NEXT: v_or_b32_e32 v16, v16, v17
; GFX9-NEXT: buffer_store_dword v16, v0, s[0:3], 0 offen offset:68
; GFX9-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
@@ -207106,8 +207138,8 @@ define inreg <128 x i8> @bitcast_v64i16_to_v128i8_scalar(<64 x i16> inreg %a, i3
; GFX9-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v9, v9, v11, s4
-; GFX9-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v11, v12, v11, s4
@@ -207124,12 +207156,12 @@ define inreg <128 x i8> @bitcast_v64i16_to_v128i8_scalar(<64 x i16> inreg %a, i3
; GFX9-NEXT: v_lshlrev_b32_e32 v10, 16, v10
; GFX9-NEXT: v_or_b32_e32 v9, v9, v10
; GFX9-NEXT: buffer_store_dword v9, v0, s[0:3], 0 offen offset:92
-; GFX9-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v7, v7, v9, s4
; GFX9-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v9, v10, v9, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v9, 16, v9
@@ -207148,8 +207180,8 @@ define inreg <128 x i8> @bitcast_v64i16_to_v128i8_scalar(<64 x i16> inreg %a, i3
; GFX9-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v5, v5, v7, s4
-; GFX9-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v7, v8, v7, s4
@@ -207187,23 +207219,19 @@ define inreg <128 x i8> @bitcast_v64i16_to_v128i8_scalar(<64 x i16> inreg %a, i3
; GFX9-NEXT: v_lshlrev_b32_e32 v4, 16, v4
; GFX9-NEXT: v_or_b32_e32 v3, v3, v4
; GFX9-NEXT: buffer_store_dword v3, v0, s[0:3], 0 offen offset:116
-; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v1, v1, v3, s4
; GFX9-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:56 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_perm_b32 v3, v4, v3, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v3, 16, v3
; GFX9-NEXT: v_or_b32_e32 v1, v1, v3
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:120
-; GFX9-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v1, v2, v1, s4
-; GFX9-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
-; GFX9-NEXT: s_waitcnt vmcnt(0)
-; GFX9-NEXT: v_perm_b32 v2, v51, v2, s4
+; GFX9-NEXT: v_perm_b32 v1, v2, v41, s4
+; GFX9-NEXT: v_perm_b32 v2, v40, v42, s4
; GFX9-NEXT: v_lshlrev_b32_e32 v2, 16, v2
; GFX9-NEXT: v_or_b32_e32 v1, v1, v2
; GFX9-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen offset:124
@@ -207222,8 +207250,8 @@ define inreg <128 x i8> @bitcast_v64i16_to_v128i8_scalar(<64 x i16> inreg %a, i3
; GFX9-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:48 ; 4-byte Folded Reload
; GFX9-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:52 ; 4-byte Folded Reload
; GFX9-NEXT: s_or_saveexec_b64 s[4:5], -1
-; GFX9-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:368 ; 4-byte Folded Reload
-; GFX9-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:372 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:384 ; 4-byte Folded Reload
+; GFX9-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:388 ; 4-byte Folded Reload
; GFX9-NEXT: s_mov_b64 exec, s[4:5]
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: s_setpc_b64 s[30:31]
@@ -207339,8 +207367,8 @@ define inreg <128 x i8> @bitcast_v64i16_to_v128i8_scalar(<64 x i16> inreg %a, i3
; GFX11-NEXT: s_lshr_b64 s[74:75], s[24:25], 24
; GFX11-NEXT: v_writelane_b32 v76, s42, 5
; GFX11-NEXT: s_lshr_b32 s42, s21, 16
-; GFX11-NEXT: s_lshr_b32 s59, s11, 8
-; GFX11-NEXT: s_lshr_b32 s76, s10, 16
+; GFX11-NEXT: s_lshr_b32 s57, s41, 8
+; GFX11-NEXT: s_lshr_b32 s76, s40, 16
; GFX11-NEXT: s_lshr_b64 s[72:73], s[26:27], 24
; GFX11-NEXT: v_writelane_b32 v76, s42, 4
; GFX11-NEXT: s_lshr_b32 s42, s20, 16
@@ -207372,69 +207400,69 @@ define inreg <128 x i8> @bitcast_v64i16_to_v128i8_scalar(<64 x i16> inreg %a, i3
; GFX11-NEXT: s_lshr_b32 s64, s21, 8
; GFX11-NEXT: v_writelane_b32 v77, s42, 30
; GFX11-NEXT: s_lshr_b32 s42, s18, 8
-; GFX11-NEXT: s_lshr_b32 s53, s5, 24
-; GFX11-NEXT: s_lshr_b32 s54, s5, 16
-; GFX11-NEXT: s_lshr_b32 s55, s5, 8
+; GFX11-NEXT: s_lshr_b32 s46, s5, 24
+; GFX11-NEXT: s_lshr_b32 s56, s5, 16
+; GFX11-NEXT: s_lshr_b32 s58, s5, 8
; GFX11-NEXT: v_writelane_b32 v77, s42, 29
; GFX11-NEXT: s_lshr_b32 s42, s17, 24
-; GFX11-NEXT: s_lshr_b32 s51, s4, 16
-; GFX11-NEXT: s_lshr_b32 s52, s4, 8
-; GFX11-NEXT: s_lshr_b32 s50, s7, 24
+; GFX11-NEXT: s_lshr_b32 s44, s4, 8
+; GFX11-NEXT: s_lshr_b32 s104, s7, 24
+; GFX11-NEXT: s_lshr_b32 s102, s7, 16
; GFX11-NEXT: v_writelane_b32 v77, s42, 28
; GFX11-NEXT: s_lshr_b32 s42, s17, 16
-; GFX11-NEXT: s_lshr_b32 s48, s7, 16
-; GFX11-NEXT: s_lshr_b32 s49, s7, 8
-; GFX11-NEXT: s_lshr_b32 s38, s6, 16
+; GFX11-NEXT: s_lshr_b32 s103, s7, 8
+; GFX11-NEXT: s_lshr_b32 s100, s6, 16
+; GFX11-NEXT: s_lshr_b32 s101, s6, 8
; GFX11-NEXT: v_writelane_b32 v77, s42, 27
; GFX11-NEXT: s_lshr_b32 s42, s17, 8
-; GFX11-NEXT: s_lshr_b32 s39, s6, 8
-; GFX11-NEXT: s_lshr_b32 s35, s9, 24
-; GFX11-NEXT: s_lshr_b32 s36, s9, 16
+; GFX11-NEXT: s_lshr_b32 s99, s9, 24
+; GFX11-NEXT: s_lshr_b32 s98, s9, 16
+; GFX11-NEXT: s_lshr_b32 s97, s9, 8
; GFX11-NEXT: v_writelane_b32 v77, s42, 26
; GFX11-NEXT: s_lshr_b32 s42, s16, 16
-; GFX11-NEXT: s_lshr_b32 s37, s9, 8
-; GFX11-NEXT: s_lshr_b32 s31, s8, 16
-; GFX11-NEXT: s_lshr_b32 s34, s8, 8
+; GFX11-NEXT: s_lshr_b32 s96, s8, 16
+; GFX11-NEXT: s_lshr_b32 s55, s8, 8
+; GFX11-NEXT: s_lshr_b32 s54, s11, 24
; GFX11-NEXT: v_writelane_b32 v77, s42, 25
; GFX11-NEXT: s_lshr_b32 s42, s16, 8
-; GFX11-NEXT: s_lshr_b32 s30, s11, 24
-; GFX11-NEXT: s_lshr_b32 s63, s11, 16
-; GFX11-NEXT: s_lshr_b32 s61, s10, 8
+; GFX11-NEXT: s_lshr_b32 s52, s11, 16
+; GFX11-NEXT: s_lshr_b32 s53, s11, 8
+; GFX11-NEXT: s_lshr_b32 s50, s10, 16
; GFX11-NEXT: v_writelane_b32 v77, s42, 24
; GFX11-NEXT: s_lshr_b32 s42, s3, 24
-; GFX11-NEXT: s_lshr_b32 s45, s13, 24
-; GFX11-NEXT: s_lshr_b32 s47, s13, 16
-; GFX11-NEXT: s_lshr_b32 s57, s13, 8
+; GFX11-NEXT: s_lshr_b32 s51, s10, 8
+; GFX11-NEXT: s_lshr_b32 s39, s13, 24
+; GFX11-NEXT: s_lshr_b32 s48, s13, 16
; GFX11-NEXT: v_writelane_b32 v77, s42, 23
; GFX11-NEXT: s_lshr_b32 s42, s3, 16
-; GFX11-NEXT: s_lshr_b32 s62, s12, 16
-; GFX11-NEXT: s_lshr_b32 s43, s12, 8
-; GFX11-NEXT: s_lshr_b32 s60, s15, 24
+; GFX11-NEXT: s_lshr_b32 s49, s13, 8
+; GFX11-NEXT: s_lshr_b32 s37, s12, 16
+; GFX11-NEXT: s_lshr_b32 s38, s12, 8
; GFX11-NEXT: v_writelane_b32 v77, s42, 22
; GFX11-NEXT: s_lshr_b32 s42, s3, 8
-; GFX11-NEXT: s_lshr_b32 s56, s15, 16
-; GFX11-NEXT: s_lshr_b32 s58, s15, 8
-; GFX11-NEXT: s_lshr_b32 s44, s14, 16
+; GFX11-NEXT: s_lshr_b32 s36, s15, 24
+; GFX11-NEXT: s_lshr_b32 s34, s15, 16
+; GFX11-NEXT: s_lshr_b32 s35, s15, 8
; GFX11-NEXT: v_writelane_b32 v77, s42, 21
; GFX11-NEXT: s_lshr_b32 s42, s2, 16
-; GFX11-NEXT: s_lshr_b32 s46, s14, 8
-; GFX11-NEXT: s_lshr_b32 s103, s41, 24
-; GFX11-NEXT: s_lshr_b32 s104, s41, 16
+; GFX11-NEXT: s_lshr_b32 s30, s14, 16
+; GFX11-NEXT: s_lshr_b32 s31, s14, 8
+; GFX11-NEXT: s_lshr_b32 s61, s41, 24
; GFX11-NEXT: v_writelane_b32 v77, s42, 20
; GFX11-NEXT: s_lshr_b32 s42, s2, 8
-; GFX11-NEXT: s_lshr_b32 s101, s40, 16
-; GFX11-NEXT: s_lshr_b32 s102, s40, 8
-; GFX11-NEXT: s_lshr_b32 s100, s29, 24
+; GFX11-NEXT: s_lshr_b32 s63, s41, 16
+; GFX11-NEXT: s_lshr_b32 s59, s40, 8
+; GFX11-NEXT: s_lshr_b32 s47, s29, 24
; GFX11-NEXT: v_writelane_b32 v77, s42, 19
; GFX11-NEXT: s_lshr_b32 s42, s1, 24
-; GFX11-NEXT: s_lshr_b32 s98, s29, 16
-; GFX11-NEXT: s_lshr_b32 s99, s29, 8
-; GFX11-NEXT: s_lshr_b32 s96, s28, 16
+; GFX11-NEXT: s_lshr_b32 s43, s29, 16
+; GFX11-NEXT: s_lshr_b32 s45, s29, 8
+; GFX11-NEXT: s_lshr_b32 s60, s28, 16
; GFX11-NEXT: v_writelane_b32 v77, s42, 18
; GFX11-NEXT: s_lshr_b32 s42, s1, 16
-; GFX11-NEXT: s_lshr_b32 s97, s28, 8
-; GFX11-NEXT: s_mov_b32 s73, s59
-; GFX11-NEXT: s_mov_b32 s59, s76
+; GFX11-NEXT: s_lshr_b32 s62, s28, 8
+; GFX11-NEXT: s_mov_b32 s73, s57
+; GFX11-NEXT: s_mov_b32 s57, s76
; GFX11-NEXT: v_writelane_b32 v77, s42, 17
; GFX11-NEXT: s_lshr_b32 s42, s1, 8
; GFX11-NEXT: s_lshr_b64 s[76:77], s[6:7], 24
@@ -207449,7 +207477,7 @@ define inreg <128 x i8> @bitcast_v64i16_to_v128i8_scalar(<64 x i16> inreg %a, i3
; GFX11-NEXT: s_lshr_b32 s42, s0, 8
; GFX11-NEXT: s_lshr_b64 vcc, s[28:29], 24
; GFX11-NEXT: v_writelane_b32 v77, s42, 14
-; GFX11-NEXT: s_lshr_b32 s42, s41, 8
+; GFX11-NEXT: s_lshr_b32 s42, s4, 16
; GFX11-NEXT: v_writelane_b32 v77, s74, 12
; GFX11-NEXT: v_writelane_b32 v77, s75, 13
; GFX11-NEXT: s_lshr_b64 s[74:75], s[22:23], 24
@@ -207498,44 +207526,44 @@ define inreg <128 x i8> @bitcast_v64i16_to_v128i8_scalar(<64 x i16> inreg %a, i3
; GFX11-NEXT: ; implicit-def: $sgpr86
; GFX11-NEXT: ; implicit-def: $sgpr85
; GFX11-NEXT: ; implicit-def: $sgpr87
-; GFX11-NEXT: ; implicit-def: $sgpr97
-; GFX11-NEXT: ; implicit-def: $sgpr96
-; GFX11-NEXT: ; implicit-def: $sgpr99
-; GFX11-NEXT: ; implicit-def: $sgpr98
-; GFX11-NEXT: ; implicit-def: $sgpr100
-; GFX11-NEXT: ; implicit-def: $sgpr102
-; GFX11-NEXT: ; implicit-def: $sgpr101
-; GFX11-NEXT: ; implicit-def: $sgpr104
-; GFX11-NEXT: ; implicit-def: $sgpr103
-; GFX11-NEXT: ; implicit-def: $sgpr46
-; GFX11-NEXT: ; implicit-def: $sgpr44
-; GFX11-NEXT: ; implicit-def: $sgpr58
-; GFX11-NEXT: ; implicit-def: $sgpr56
-; GFX11-NEXT: ; implicit-def: $sgpr60
; GFX11-NEXT: ; implicit-def: $sgpr62
-; GFX11-NEXT: ; implicit-def: $sgpr57
-; GFX11-NEXT: ; implicit-def: $sgpr47
+; GFX11-NEXT: ; implicit-def: $sgpr60
; GFX11-NEXT: ; implicit-def: $sgpr45
-; GFX11-NEXT: ; implicit-def: $sgpr61
+; GFX11-NEXT: ; implicit-def: $sgpr47
; GFX11-NEXT: ; implicit-def: $sgpr59
+; GFX11-NEXT: ; implicit-def: $sgpr57
; GFX11-NEXT: ; implicit-def: $sgpr73
; GFX11-NEXT: ; implicit-def: $sgpr63
+; GFX11-NEXT: ; implicit-def: $sgpr61
+; GFX11-NEXT: ; implicit-def: $sgpr31
; GFX11-NEXT: ; implicit-def: $sgpr30
+; GFX11-NEXT: ; implicit-def: $sgpr35
; GFX11-NEXT: ; implicit-def: $sgpr34
-; GFX11-NEXT: ; implicit-def: $sgpr31
-; GFX11-NEXT: ; implicit-def: $sgpr37
; GFX11-NEXT: ; implicit-def: $sgpr36
-; GFX11-NEXT: ; implicit-def: $sgpr35
-; GFX11-NEXT: ; implicit-def: $sgpr39
; GFX11-NEXT: ; implicit-def: $sgpr38
+; GFX11-NEXT: ; implicit-def: $sgpr37
; GFX11-NEXT: ; implicit-def: $sgpr49
; GFX11-NEXT: ; implicit-def: $sgpr48
+; GFX11-NEXT: ; implicit-def: $sgpr39
+; GFX11-NEXT: ; implicit-def: $sgpr51
; GFX11-NEXT: ; implicit-def: $sgpr50
+; GFX11-NEXT: ; implicit-def: $sgpr53
; GFX11-NEXT: ; implicit-def: $sgpr52
-; GFX11-NEXT: ; implicit-def: $sgpr51
-; GFX11-NEXT: ; implicit-def: $sgpr55
; GFX11-NEXT: ; implicit-def: $sgpr54
-; GFX11-NEXT: ; implicit-def: $sgpr53
+; GFX11-NEXT: ; implicit-def: $sgpr55
+; GFX11-NEXT: ; implicit-def: $sgpr96
+; GFX11-NEXT: ; implicit-def: $sgpr97
+; GFX11-NEXT: ; implicit-def: $sgpr98
+; GFX11-NEXT: ; implicit-def: $sgpr99
+; GFX11-NEXT: ; implicit-def: $sgpr101
+; GFX11-NEXT: ; implicit-def: $sgpr100
+; GFX11-NEXT: ; implicit-def: $sgpr103
+; GFX11-NEXT: ; implicit-def: $sgpr102
+; GFX11-NEXT: ; implicit-def: $sgpr104
+; GFX11-NEXT: ; implicit-def: $sgpr44
+; GFX11-NEXT: ; implicit-def: $sgpr58
+; GFX11-NEXT: ; implicit-def: $sgpr56
+; GFX11-NEXT: ; implicit-def: $sgpr46
; GFX11-NEXT: ; implicit-def: $sgpr72
; GFX11-NEXT: ; implicit-def: $vcc_lo
; GFX11-NEXT: ; implicit-def: $sgpr94
@@ -207610,8 +207638,8 @@ define inreg <128 x i8> @bitcast_v64i16_to_v128i8_scalar(<64 x i16> inreg %a, i3
; GFX11-NEXT: ; implicit-def: $sgpr42
; GFX11-NEXT: v_writelane_b32 v77, s42, 12
; GFX11-NEXT: v_writelane_b32 v77, s43, 13
-; GFX11-NEXT: ; implicit-def: $sgpr42
; GFX11-NEXT: ; implicit-def: $sgpr43
+; GFX11-NEXT: ; implicit-def: $sgpr42
; GFX11-NEXT: .LBB99_3: ; %Flow
; GFX11-NEXT: s_and_b32 s75, s75, exec_lo
; GFX11-NEXT: s_cselect_b32 s75, 1, 0
@@ -207620,151 +207648,151 @@ define inreg <128 x i8> @bitcast_v64i16_to_v128i8_scalar(<64 x i16> inreg %a, i3
; GFX11-NEXT: s_cbranch_scc1 .LBB99_5
; GFX11-NEXT: ; %bb.4: ; %cmp.true
; GFX11-NEXT: v_pk_add_u16 v30, s17, 3 op_sel_hi:[1,0]
-; GFX11-NEXT: v_pk_add_u16 v28, s19, 3 op_sel_hi:[1,0]
+; GFX11-NEXT: v_pk_add_u16 v29, s16, 3 op_sel_hi:[1,0]
+; GFX11-NEXT: v_pk_add_u16 v26, s21, 3 op_sel_hi:[1,0]
+; GFX11-NEXT: v_pk_add_u16 v25, s20, 3 op_sel_hi:[1,0]
+; GFX11-NEXT: v_pk_add_u16 v8, s11, 3 op_sel_hi:[1,0]
+; GFX11-NEXT: v_pk_add_u16 v7, s10, 3 op_sel_hi:[1,0]
+; GFX11-NEXT: v_pk_add_u16 v32, s19, 3 op_sel_hi:[1,0]
; GFX11-NEXT: v_pk_add_u16 v18, s27, 3 op_sel_hi:[1,0]
; GFX11-NEXT: v_pk_add_u16 v17, s26, 3 op_sel_hi:[1,0]
-; GFX11-NEXT: v_pk_add_u16 v27, s18, 3 op_sel_hi:[1,0]
-; GFX11-NEXT: v_pk_add_u16 v29, s16, 3 op_sel_hi:[1,0]
-; GFX11-NEXT: v_pk_add_u16 v20, s25, 3 op_sel_hi:[1,0]
-; GFX11-NEXT: v_pk_add_u16 v19, s24, 3 op_sel_hi:[1,0]
+; GFX11-NEXT: v_pk_add_u16 v31, s18, 3 op_sel_hi:[1,0]
; GFX11-NEXT: v_pk_add_u16 v14, s41, 3 op_sel_hi:[1,0]
; GFX11-NEXT: v_pk_add_u16 v13, s40, 3 op_sel_hi:[1,0]
; GFX11-NEXT: v_pk_add_u16 v10, s13, 3 op_sel_hi:[1,0]
; GFX11-NEXT: v_pk_add_u16 v9, s12, 3 op_sel_hi:[1,0]
-; GFX11-NEXT: v_pk_add_u16 v6, s9, 3 op_sel_hi:[1,0]
-; GFX11-NEXT: v_pk_add_u16 v5, s8, 3 op_sel_hi:[1,0]
; GFX11-NEXT: v_pk_add_u16 v34, s3, 3 op_sel_hi:[1,0]
; GFX11-NEXT: v_pk_add_u16 v33, s2, 3 op_sel_hi:[1,0]
-; GFX11-NEXT: v_pk_add_u16 v22, s23, 3 op_sel_hi:[1,0]
-; GFX11-NEXT: v_pk_add_u16 v21, s22, 3 op_sel_hi:[1,0]
+; GFX11-NEXT: v_pk_add_u16 v20, s25, 3 op_sel_hi:[1,0]
+; GFX11-NEXT: v_pk_add_u16 v19, s24, 3 op_sel_hi:[1,0]
+; GFX11-NEXT: v_lshrrev_b64 v[68:69], 24, v[29:30]
; GFX11-NEXT: v_pk_add_u16 v16, s29, 3 op_sel_hi:[1,0]
; GFX11-NEXT: v_pk_add_u16 v15, s28, 3 op_sel_hi:[1,0]
; GFX11-NEXT: v_pk_add_u16 v12, s15, 3 op_sel_hi:[1,0]
; GFX11-NEXT: v_pk_add_u16 v11, s14, 3 op_sel_hi:[1,0]
-; GFX11-NEXT: v_pk_add_u16 v8, s11, 3 op_sel_hi:[1,0]
-; GFX11-NEXT: v_pk_add_u16 v7, s10, 3 op_sel_hi:[1,0]
+; GFX11-NEXT: v_pk_add_u16 v6, s9, 3 op_sel_hi:[1,0]
+; GFX11-NEXT: v_pk_add_u16 v5, s8, 3 op_sel_hi:[1,0]
; GFX11-NEXT: v_pk_add_u16 v4, s7, 3 op_sel_hi:[1,0]
; GFX11-NEXT: v_pk_add_u16 v3, s6, 3 op_sel_hi:[1,0]
; GFX11-NEXT: v_pk_add_u16 v2, s5, 3 op_sel_hi:[1,0]
; GFX11-NEXT: v_pk_add_u16 v1, s4, 3 op_sel_hi:[1,0]
-; GFX11-NEXT: v_pk_add_u16 v36, s1, 3 op_sel_hi:[1,0]
-; GFX11-NEXT: v_pk_add_u16 v35, s0, 3 op_sel_hi:[1,0]
-; GFX11-NEXT: v_pk_add_u16 v24, s21, 3 op_sel_hi:[1,0]
-; GFX11-NEXT: v_pk_add_u16 v23, s20, 3 op_sel_hi:[1,0]
-; GFX11-NEXT: v_lshrrev_b32_e32 v73, 8, v30
-; GFX11-NEXT: v_lshrrev_b64 v[51:52], 24, v[17:18]
-; GFX11-NEXT: v_lshrrev_b64 v[64:65], 24, v[27:28]
-; GFX11-NEXT: v_lshrrev_b64 v[52:53], 24, v[19:20]
-; GFX11-NEXT: v_lshrrev_b64 v[65:66], 24, v[29:30]
-; GFX11-NEXT: v_lshrrev_b64 v[53:54], 24, v[21:22]
-; GFX11-NEXT: v_lshrrev_b64 v[69:70], 24, v[33:34]
-; GFX11-NEXT: v_lshrrev_b64 v[37:38], 24, v[5:6]
-; GFX11-NEXT: v_lshrrev_b64 v[48:49], 24, v[9:10]
+; GFX11-NEXT: v_pk_add_u16 v38, s1, 3 op_sel_hi:[1,0]
+; GFX11-NEXT: v_pk_add_u16 v37, s0, 3 op_sel_hi:[1,0]
+; GFX11-NEXT: v_pk_add_u16 v22, s23, 3 op_sel_hi:[1,0]
+; GFX11-NEXT: v_pk_add_u16 v21, s22, 3 op_sel_hi:[1,0]
+; GFX11-NEXT: v_lshrrev_b32_e32 v69, 8, v30
+; GFX11-NEXT: v_lshrrev_b64 v[64:65], 24, v[25:26]
+; GFX11-NEXT: v_lshrrev_b64 v[52:53], 24, v[17:18]
+; GFX11-NEXT: v_lshrrev_b64 v[65:66], 24, v[31:32]
+; GFX11-NEXT: v_lshrrev_b64 v[48:49], 24, v[7:8]
+; GFX11-NEXT: v_lshrrev_b64 v[53:54], 24, v[19:20]
+; GFX11-NEXT: v_lshrrev_b64 v[80:81], 24, v[33:34]
+; GFX11-NEXT: v_lshrrev_b64 v[49:50], 24, v[9:10]
; GFX11-NEXT: v_lshrrev_b64 v[66:67], 24, v[13:14]
-; GFX11-NEXT: v_lshrrev_b64 v[54:55], 24, v[23:24]
-; GFX11-NEXT: v_lshrrev_b64 v[70:71], 24, v[35:36]
-; GFX11-NEXT: v_lshrrev_b64 v[25:26], 24, v[1:2]
-; GFX11-NEXT: v_lshrrev_b64 v[31:32], 24, v[3:4]
-; GFX11-NEXT: v_lshrrev_b64 v[38:39], 24, v[7:8]
-; GFX11-NEXT: v_lshrrev_b64 v[49:50], 24, v[11:12]
-; GFX11-NEXT: v_lshrrev_b64 v[67:68], 24, v[15:16]
-; GFX11-NEXT: v_lshrrev_b32_e32 v148, 24, v18
-; GFX11-NEXT: v_lshrrev_b32_e32 v147, 16, v18
-; GFX11-NEXT: v_lshrrev_b32_e32 v146, 8, v18
-; GFX11-NEXT: v_lshrrev_b32_e32 v151, 16, v17
-; GFX11-NEXT: v_lshrrev_b32_e32 v149, 8, v17
-; GFX11-NEXT: v_lshrrev_b32_e32 v162, 24, v20
-; GFX11-NEXT: v_lshrrev_b32_e32 v161, 16, v20
-; GFX11-NEXT: v_lshrrev_b32_e32 v150, 8, v20
-; GFX11-NEXT: v_lshrrev_b32_e32 v163, 16, v19
-; GFX11-NEXT: v_lshrrev_b32_e32 v160, 8, v19
-; GFX11-NEXT: v_lshrrev_b32_e32 v166, 24, v22
-; GFX11-NEXT: v_lshrrev_b32_e32 v165, 16, v22
-; GFX11-NEXT: v_lshrrev_b32_e32 v164, 8, v22
-; GFX11-NEXT: v_lshrrev_b32_e32 v177, 16, v21
-; GFX11-NEXT: v_lshrrev_b32_e32 v176, 8, v21
-; GFX11-NEXT: v_lshrrev_b32_e32 v180, 24, v24
-; GFX11-NEXT: v_lshrrev_b32_e32 v179, 16, v24
-; GFX11-NEXT: v_lshrrev_b32_e32 v167, 8, v24
-; GFX11-NEXT: v_lshrrev_b32_e32 v181, 16, v23
-; GFX11-NEXT: v_lshrrev_b32_e32 v178, 8, v23
-; GFX11-NEXT: v_lshrrev_b32_e32 v47, 24, v28
-; GFX11-NEXT: v_lshrrev_b32_e32 v43, 16, v28
-; GFX11-NEXT: v_lshrrev_b32_e32 v183, 8, v28
-; GFX11-NEXT: v_lshrrev_b32_e32 v44, 16, v27
-; GFX11-NEXT: v_lshrrev_b32_e32 v182, 8, v27
-; GFX11-NEXT: v_lshrrev_b32_e32 v42, 24, v30
-; GFX11-NEXT: v_lshrrev_b32_e32 v41, 16, v30
-; GFX11-NEXT: v_lshrrev_b32_e32 v45, 16, v29
-; GFX11-NEXT: v_lshrrev_b32_e32 v40, 8, v29
-; GFX11-NEXT: v_lshrrev_b32_e32 v72, 24, v34
-; GFX11-NEXT: v_lshrrev_b32_e32 v62, 16, v34
-; GFX11-NEXT: v_lshrrev_b32_e32 v56, 8, v34
+; GFX11-NEXT: v_lshrrev_b64 v[54:55], 24, v[21:22]
+; GFX11-NEXT: v_lshrrev_b64 v[81:82], 24, v[37:38]
+; GFX11-NEXT: v_lshrrev_b64 v[23:24], 24, v[1:2]
+; GFX11-NEXT: v_lshrrev_b64 v[27:28], 24, v[3:4]
+; GFX11-NEXT: v_lshrrev_b64 v[35:36], 24, v[5:6]
+; GFX11-NEXT: v_lshrrev_b64 v[50:51], 24, v[11:12]
+; GFX11-NEXT: v_mov_b32_e32 v67, v69
+; GFX11-NEXT: v_lshrrev_b64 v[69:70], 24, v[15:16]
+; GFX11-NEXT: v_lshrrev_b32_e32 v149, 24, v18
+; GFX11-NEXT: v_lshrrev_b32_e32 v148, 16, v18
+; GFX11-NEXT: v_lshrrev_b32_e32 v147, 8, v18
+; GFX11-NEXT: v_lshrrev_b32_e32 v160, 16, v17
+; GFX11-NEXT: v_lshrrev_b32_e32 v150, 8, v17
+; GFX11-NEXT: v_lshrrev_b32_e32 v163, 24, v20
+; GFX11-NEXT: v_lshrrev_b32_e32 v162, 16, v20
+; GFX11-NEXT: v_lshrrev_b32_e32 v151, 8, v20
+; GFX11-NEXT: v_lshrrev_b32_e32 v164, 16, v19
+; GFX11-NEXT: v_lshrrev_b32_e32 v161, 8, v19
+; GFX11-NEXT: v_lshrrev_b32_e32 v167, 24, v22
+; GFX11-NEXT: v_lshrrev_b32_e32 v166, 16, v22
+; GFX11-NEXT: v_lshrrev_b32_e32 v165, 8, v22
+; GFX11-NEXT: v_lshrrev_b32_e32 v178, 16, v21
+; GFX11-NEXT: v_lshrrev_b32_e32 v177, 8, v21
+; GFX11-NEXT: v_lshrrev_b32_e32 v181, 24, v26
+; GFX11-NEXT: v_lshrrev_b32_e32 v180, 16, v26
+; GFX11-NEXT: v_lshrrev_b32_e32 v176, 8, v26
+; GFX11-NEXT: v_lshrrev_b32_e32 v182, 16, v25
+; GFX11-NEXT: v_lshrrev_b32_e32 v179, 8, v25
+; GFX11-NEXT: v_lshrrev_b32_e32 v45, 24, v32
+; GFX11-NEXT: v_lshrrev_b32_e32 v43, 16, v32
+; GFX11-NEXT: v_lshrrev_b32_e32 v40, 8, v32
+; GFX11-NEXT: v_lshrrev_b32_e32 v44, 16, v31
+; GFX11-NEXT: v_lshrrev_b32_e32 v183, 8, v31
+; GFX11-NEXT: v_lshrrev_b32_e32 v46, 24, v30
+; GFX11-NEXT: v_lshrrev_b32_e32 v42, 16, v30
+; GFX11-NEXT: v_lshrrev_b32_e32 v47, 16, v29
+; GFX11-NEXT: v_lshrrev_b32_e32 v41, 8, v29
+; GFX11-NEXT: v_lshrrev_b32_e32 v73, 24, v34
+; GFX11-NEXT: v_lshrrev_b32_e32 v61, 16, v34
+; GFX11-NEXT: v_lshrrev_b32_e32 v57, 8, v34
; GFX11-NEXT: v_lshrrev_b32_e32 v63, 16, v33
-; GFX11-NEXT: v_lshrrev_b32_e32 v46, 8, v33
-; GFX11-NEXT: v_lshrrev_b32_e32 v61, 24, v36
-; GFX11-NEXT: v_lshrrev_b32_e32 v60, 16, v36
-; GFX11-NEXT: v_lshrrev_b32_e32 v58, 8, v36
-; GFX11-NEXT: v_lshrrev_b32_e32 v59, 16, v35
-; GFX11-NEXT: v_lshrrev_b32_e32 v57, 8, v35
-; GFX11-NEXT: v_lshrrev_b32_e32 v50, 24, v2
-; GFX11-NEXT: v_lshrrev_b32_e32 v39, 16, v2
-; GFX11-NEXT: v_lshrrev_b32_e32 v26, 8, v2
-; GFX11-NEXT: v_lshrrev_b32_e32 v71, 16, v1
-; GFX11-NEXT: v_lshrrev_b32_e32 v32, 8, v1
-; GFX11-NEXT: v_lshrrev_b32_e32 v81, 24, v4
-; GFX11-NEXT: v_lshrrev_b32_e32 v80, 16, v4
-; GFX11-NEXT: v_lshrrev_b32_e32 v55, 8, v4
-; GFX11-NEXT: v_lshrrev_b32_e32 v84, 16, v3
-; GFX11-NEXT: v_lshrrev_b32_e32 v82, 8, v3
-; GFX11-NEXT: v_lshrrev_b32_e32 v86, 24, v6
-; GFX11-NEXT: v_lshrrev_b32_e32 v85, 16, v6
-; GFX11-NEXT: v_lshrrev_b32_e32 v83, 8, v6
-; GFX11-NEXT: v_lshrrev_b32_e32 v97, 16, v5
-; GFX11-NEXT: v_lshrrev_b32_e32 v87, 8, v5
-; GFX11-NEXT: v_lshrrev_b32_e32 v100, 24, v8
-; GFX11-NEXT: v_lshrrev_b32_e32 v99, 16, v8
-; GFX11-NEXT: v_lshrrev_b32_e32 v96, 8, v8
-; GFX11-NEXT: v_lshrrev_b32_e32 v101, 16, v7
-; GFX11-NEXT: v_lshrrev_b32_e32 v98, 8, v7
-; GFX11-NEXT: v_lshrrev_b32_e32 v112, 24, v10
-; GFX11-NEXT: v_lshrrev_b32_e32 v103, 16, v10
-; GFX11-NEXT: v_lshrrev_b32_e32 v102, 8, v10
-; GFX11-NEXT: v_lshrrev_b32_e32 v115, 16, v9
-; GFX11-NEXT: v_lshrrev_b32_e32 v113, 8, v9
-; GFX11-NEXT: v_lshrrev_b32_e32 v118, 24, v12
-; GFX11-NEXT: v_lshrrev_b32_e32 v117, 16, v12
-; GFX11-NEXT: v_lshrrev_b32_e32 v114, 8, v12
-; GFX11-NEXT: v_lshrrev_b32_e32 v119, 16, v11
-; GFX11-NEXT: v_lshrrev_b32_e32 v116, 8, v11
-; GFX11-NEXT: v_lshrrev_b32_e32 v130, 24, v14
-; GFX11-NEXT: v_lshrrev_b32_e32 v129, 16, v14
-; GFX11-NEXT: v_lshrrev_b32_e32 v128, 8, v14
-; GFX11-NEXT: v_lshrrev_b32_e32 v133, 16, v13
-; GFX11-NEXT: v_lshrrev_b32_e32 v131, 8, v13
-; GFX11-NEXT: v_lshrrev_b32_e32 v144, 24, v16
-; GFX11-NEXT: v_lshrrev_b32_e32 v135, 16, v16
-; GFX11-NEXT: v_lshrrev_b32_e32 v132, 8, v16
-; GFX11-NEXT: v_lshrrev_b32_e32 v145, 16, v15
-; GFX11-NEXT: v_lshrrev_b32_e32 v134, 8, v15
-; GFX11-NEXT: v_mov_b32_e32 v68, v73
+; GFX11-NEXT: v_lshrrev_b32_e32 v56, 8, v33
+; GFX11-NEXT: v_lshrrev_b32_e32 v72, 24, v38
+; GFX11-NEXT: v_lshrrev_b32_e32 v60, 16, v38
+; GFX11-NEXT: v_lshrrev_b32_e32 v59, 8, v38
+; GFX11-NEXT: v_lshrrev_b32_e32 v62, 16, v37
+; GFX11-NEXT: v_lshrrev_b32_e32 v58, 8, v37
+; GFX11-NEXT: v_lshrrev_b32_e32 v39, 24, v2
+; GFX11-NEXT: v_lshrrev_b32_e32 v36, 16, v2
+; GFX11-NEXT: v_lshrrev_b32_e32 v24, 8, v2
+; GFX11-NEXT: v_lshrrev_b32_e32 v55, 16, v1
+; GFX11-NEXT: v_lshrrev_b32_e32 v28, 8, v1
+; GFX11-NEXT: v_lshrrev_b32_e32 v82, 24, v4
+; GFX11-NEXT: v_lshrrev_b32_e32 v71, 16, v4
+; GFX11-NEXT: v_lshrrev_b32_e32 v51, 8, v4
+; GFX11-NEXT: v_lshrrev_b32_e32 v85, 16, v3
+; GFX11-NEXT: v_lshrrev_b32_e32 v83, 8, v3
+; GFX11-NEXT: v_lshrrev_b32_e32 v87, 24, v6
+; GFX11-NEXT: v_lshrrev_b32_e32 v86, 16, v6
+; GFX11-NEXT: v_lshrrev_b32_e32 v84, 8, v6
+; GFX11-NEXT: v_lshrrev_b32_e32 v98, 16, v5
+; GFX11-NEXT: v_lshrrev_b32_e32 v96, 8, v5
+; GFX11-NEXT: v_lshrrev_b32_e32 v101, 24, v8
+; GFX11-NEXT: v_lshrrev_b32_e32 v100, 16, v8
+; GFX11-NEXT: v_lshrrev_b32_e32 v97, 8, v8
+; GFX11-NEXT: v_lshrrev_b32_e32 v102, 16, v7
+; GFX11-NEXT: v_lshrrev_b32_e32 v99, 8, v7
+; GFX11-NEXT: v_lshrrev_b32_e32 v113, 24, v10
+; GFX11-NEXT: v_lshrrev_b32_e32 v112, 16, v10
+; GFX11-NEXT: v_lshrrev_b32_e32 v103, 8, v10
+; GFX11-NEXT: v_lshrrev_b32_e32 v116, 16, v9
+; GFX11-NEXT: v_lshrrev_b32_e32 v114, 8, v9
+; GFX11-NEXT: v_lshrrev_b32_e32 v119, 24, v12
+; GFX11-NEXT: v_lshrrev_b32_e32 v118, 16, v12
+; GFX11-NEXT: v_lshrrev_b32_e32 v115, 8, v12
+; GFX11-NEXT: v_lshrrev_b32_e32 v128, 16, v11
+; GFX11-NEXT: v_lshrrev_b32_e32 v117, 8, v11
+; GFX11-NEXT: v_lshrrev_b32_e32 v131, 24, v14
+; GFX11-NEXT: v_lshrrev_b32_e32 v130, 16, v14
+; GFX11-NEXT: v_lshrrev_b32_e32 v129, 8, v14
+; GFX11-NEXT: v_lshrrev_b32_e32 v134, 16, v13
+; GFX11-NEXT: v_lshrrev_b32_e32 v132, 8, v13
+; GFX11-NEXT: v_lshrrev_b32_e32 v145, 24, v16
+; GFX11-NEXT: v_lshrrev_b32_e32 v144, 16, v16
+; GFX11-NEXT: v_lshrrev_b32_e32 v133, 8, v16
+; GFX11-NEXT: v_lshrrev_b32_e32 v146, 16, v15
+; GFX11-NEXT: v_lshrrev_b32_e32 v135, 8, v15
; GFX11-NEXT: s_branch .LBB99_6
; GFX11-NEXT: .LBB99_5:
-; GFX11-NEXT: v_dual_mov_b32 v35, s0 :: v_dual_mov_b32 v36, s1
+; GFX11-NEXT: v_dual_mov_b32 v37, s0 :: v_dual_mov_b32 v38, s1
; GFX11-NEXT: v_readlane_b32 s0, v77, 14
; GFX11-NEXT: v_dual_mov_b32 v15, s28 :: v_dual_mov_b32 v16, s29
; GFX11-NEXT: v_dual_mov_b32 v13, s40 :: v_dual_mov_b32 v14, s41
; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_3) | instid1(VALU_DEP_3)
-; GFX11-NEXT: v_mov_b32_e32 v57, s0
+; GFX11-NEXT: v_mov_b32_e32 v58, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 15
; GFX11-NEXT: v_dual_mov_b32 v11, s14 :: v_dual_mov_b32 v12, s15
; GFX11-NEXT: v_dual_mov_b32 v9, s12 :: v_dual_mov_b32 v10, s13
-; GFX11-NEXT: v_mov_b32_e32 v59, s0
+; GFX11-NEXT: v_mov_b32_e32 v62, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 16
; GFX11-NEXT: v_dual_mov_b32 v7, s10 :: v_dual_mov_b32 v8, s11
; GFX11-NEXT: v_dual_mov_b32 v5, s8 :: v_dual_mov_b32 v6, s9
; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_3) | instid1(VALU_DEP_3)
-; GFX11-NEXT: v_mov_b32_e32 v58, s0
+; GFX11-NEXT: v_mov_b32_e32 v59, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 17
; GFX11-NEXT: v_dual_mov_b32 v3, s6 :: v_dual_mov_b32 v4, s7
; GFX11-NEXT: v_dual_mov_b32 v1, s4 :: v_dual_mov_b32 v2, s5
@@ -207773,11 +207801,11 @@ define inreg <128 x i8> @bitcast_v64i16_to_v128i8_scalar(<64 x i16> inreg %a, i3
; GFX11-NEXT: v_dual_mov_b32 v33, s2 :: v_dual_mov_b32 v34, s3
; GFX11-NEXT: v_dual_mov_b32 v29, s16 :: v_dual_mov_b32 v30, s17
; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_3) | instid1(VALU_DEP_3)
-; GFX11-NEXT: v_mov_b32_e32 v61, s0
+; GFX11-NEXT: v_mov_b32_e32 v72, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 19
-; GFX11-NEXT: v_dual_mov_b32 v27, s18 :: v_dual_mov_b32 v28, s19
-; GFX11-NEXT: v_dual_mov_b32 v23, s20 :: v_dual_mov_b32 v24, s21
-; GFX11-NEXT: v_mov_b32_e32 v46, s0
+; GFX11-NEXT: v_dual_mov_b32 v31, s18 :: v_dual_mov_b32 v32, s19
+; GFX11-NEXT: v_dual_mov_b32 v25, s20 :: v_dual_mov_b32 v26, s21
+; GFX11-NEXT: v_mov_b32_e32 v56, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 20
; GFX11-NEXT: v_dual_mov_b32 v21, s22 :: v_dual_mov_b32 v22, s23
; GFX11-NEXT: v_dual_mov_b32 v19, s24 :: v_dual_mov_b32 v20, s25
@@ -207785,240 +207813,239 @@ define inreg <128 x i8> @bitcast_v64i16_to_v128i8_scalar(<64 x i16> inreg %a, i3
; GFX11-NEXT: v_mov_b32_e32 v63, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 21
; GFX11-NEXT: v_dual_mov_b32 v17, s26 :: v_dual_mov_b32 v18, s27
-; GFX11-NEXT: v_dual_mov_b32 v134, s97 :: v_dual_mov_b32 v145, s96
-; GFX11-NEXT: v_mov_b32_e32 v56, s0
+; GFX11-NEXT: v_dual_mov_b32 v135, s62 :: v_dual_mov_b32 v146, s60
+; GFX11-NEXT: v_mov_b32_e32 v57, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 22
-; GFX11-NEXT: v_dual_mov_b32 v132, s99 :: v_dual_mov_b32 v135, s98
-; GFX11-NEXT: v_dual_mov_b32 v144, s100 :: v_dual_mov_b32 v131, s102
+; GFX11-NEXT: v_dual_mov_b32 v133, s45 :: v_dual_mov_b32 v144, s43
+; GFX11-NEXT: v_dual_mov_b32 v145, s47 :: v_dual_mov_b32 v132, s59
; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_3) | instid1(VALU_DEP_3)
-; GFX11-NEXT: v_mov_b32_e32 v62, s0
+; GFX11-NEXT: v_mov_b32_e32 v61, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 23
-; GFX11-NEXT: v_dual_mov_b32 v133, s101 :: v_dual_mov_b32 v128, s42
-; GFX11-NEXT: v_dual_mov_b32 v129, s104 :: v_dual_mov_b32 v130, s103
-; GFX11-NEXT: v_mov_b32_e32 v72, s0
+; GFX11-NEXT: v_dual_mov_b32 v134, s57 :: v_dual_mov_b32 v129, s73
+; GFX11-NEXT: v_dual_mov_b32 v130, s63 :: v_dual_mov_b32 v131, s61
+; GFX11-NEXT: v_mov_b32_e32 v73, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 24
-; GFX11-NEXT: v_dual_mov_b32 v116, s46 :: v_dual_mov_b32 v119, s44
-; GFX11-NEXT: v_dual_mov_b32 v114, s58 :: v_dual_mov_b32 v117, s56
+; GFX11-NEXT: v_dual_mov_b32 v117, s31 :: v_dual_mov_b32 v128, s30
+; GFX11-NEXT: v_dual_mov_b32 v115, s35 :: v_dual_mov_b32 v118, s34
; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_3) | instid1(VALU_DEP_3)
-; GFX11-NEXT: v_mov_b32_e32 v40, s0
+; GFX11-NEXT: v_mov_b32_e32 v41, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 25
-; GFX11-NEXT: v_dual_mov_b32 v118, s60 :: v_dual_mov_b32 v113, s43
-; GFX11-NEXT: v_dual_mov_b32 v115, s62 :: v_dual_mov_b32 v102, s57
-; GFX11-NEXT: v_mov_b32_e32 v45, s0
+; GFX11-NEXT: v_dual_mov_b32 v119, s36 :: v_dual_mov_b32 v114, s38
+; GFX11-NEXT: v_dual_mov_b32 v116, s37 :: v_dual_mov_b32 v103, s49
+; GFX11-NEXT: v_mov_b32_e32 v47, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 26
-; GFX11-NEXT: v_dual_mov_b32 v103, s47 :: v_dual_mov_b32 v112, s45
-; GFX11-NEXT: v_dual_mov_b32 v98, s61 :: v_dual_mov_b32 v101, s59
+; GFX11-NEXT: v_dual_mov_b32 v112, s48 :: v_dual_mov_b32 v113, s39
+; GFX11-NEXT: v_dual_mov_b32 v99, s51 :: v_dual_mov_b32 v102, s50
; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_3) | instid1(VALU_DEP_3)
-; GFX11-NEXT: v_mov_b32_e32 v68, s0
+; GFX11-NEXT: v_mov_b32_e32 v67, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 27
-; GFX11-NEXT: v_dual_mov_b32 v96, s73 :: v_dual_mov_b32 v99, s63
-; GFX11-NEXT: v_dual_mov_b32 v100, s30 :: v_dual_mov_b32 v87, s34
-; GFX11-NEXT: v_mov_b32_e32 v41, s0
+; GFX11-NEXT: v_dual_mov_b32 v97, s53 :: v_dual_mov_b32 v100, s52
+; GFX11-NEXT: v_dual_mov_b32 v101, s54 :: v_dual_mov_b32 v96, s55
+; GFX11-NEXT: v_mov_b32_e32 v42, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 28
-; GFX11-NEXT: v_dual_mov_b32 v97, s31 :: v_dual_mov_b32 v86, s35
-; GFX11-NEXT: v_dual_mov_b32 v83, s37 :: v_dual_mov_b32 v82, s39
+; GFX11-NEXT: v_dual_mov_b32 v98, s96 :: v_dual_mov_b32 v87, s99
+; GFX11-NEXT: v_dual_mov_b32 v84, s97 :: v_dual_mov_b32 v83, s101
; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_3) | instid1(VALU_DEP_3)
-; GFX11-NEXT: v_mov_b32_e32 v42, s0
+; GFX11-NEXT: v_mov_b32_e32 v46, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 29
-; GFX11-NEXT: v_dual_mov_b32 v85, s36 :: v_dual_mov_b32 v84, s38
-; GFX11-NEXT: v_dual_mov_b32 v55, s49 :: v_dual_mov_b32 v80, s48
-; GFX11-NEXT: v_mov_b32_e32 v182, s0
+; GFX11-NEXT: v_dual_mov_b32 v86, s98 :: v_dual_mov_b32 v85, s100
+; GFX11-NEXT: v_dual_mov_b32 v51, s103 :: v_dual_mov_b32 v82, s104
+; GFX11-NEXT: v_mov_b32_e32 v183, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 30
-; GFX11-NEXT: v_dual_mov_b32 v81, s50 :: v_dual_mov_b32 v32, s52
-; GFX11-NEXT: v_dual_mov_b32 v71, s51 :: v_dual_mov_b32 v26, s55
-; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_3) | instid1(VALU_DEP_3)
-; GFX11-NEXT: v_dual_mov_b32 v44, s0 :: v_dual_mov_b32 v167, s64
+; GFX11-NEXT: v_dual_mov_b32 v71, s102 :: v_dual_mov_b32 v28, s44
+; GFX11-NEXT: v_dual_mov_b32 v55, s42 :: v_dual_mov_b32 v24, s58
+; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_4) | instid1(VALU_DEP_4)
+; GFX11-NEXT: v_mov_b32_e32 v44, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 31
-; GFX11-NEXT: v_dual_mov_b32 v39, s54 :: v_dual_mov_b32 v50, s53
-; GFX11-NEXT: v_dual_mov_b32 v176, s66 :: v_dual_mov_b32 v165, s67
-; GFX11-NEXT: v_mov_b32_e32 v183, s0
+; GFX11-NEXT: v_dual_mov_b32 v36, s56 :: v_dual_mov_b32 v39, s46
+; GFX11-NEXT: v_dual_mov_b32 v176, s64 :: v_dual_mov_b32 v177, s66
+; GFX11-NEXT: v_mov_b32_e32 v166, s67
+; GFX11-NEXT: v_mov_b32_e32 v40, s0
; GFX11-NEXT: v_readlane_b32 s0, v76, 0
-; GFX11-NEXT: v_dual_mov_b32 v164, s68 :: v_dual_mov_b32 v163, s70
-; GFX11-NEXT: v_dual_mov_b32 v166, s69 :: v_dual_mov_b32 v161, s81
-; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_4) | instid1(VALU_DEP_4)
+; GFX11-NEXT: v_dual_mov_b32 v165, s68 :: v_dual_mov_b32 v164, s70
+; GFX11-NEXT: v_dual_mov_b32 v167, s69 :: v_dual_mov_b32 v162, s81
+; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_3) | instid1(VALU_DEP_3)
; GFX11-NEXT: v_mov_b32_e32 v43, s0
; GFX11-NEXT: v_readlane_b32 s0, v76, 1
-; GFX11-NEXT: v_dual_mov_b32 v160, s71 :: v_dual_mov_b32 v149, s84
-; GFX11-NEXT: v_dual_mov_b32 v177, s65 :: v_dual_mov_b32 v150, s82
-; GFX11-NEXT: v_mov_b32_e32 v151, s83
-; GFX11-NEXT: v_mov_b32_e32 v47, s0
+; GFX11-NEXT: v_dual_mov_b32 v161, s71 :: v_dual_mov_b32 v150, s84
+; GFX11-NEXT: v_dual_mov_b32 v178, s65 :: v_dual_mov_b32 v151, s82
+; GFX11-NEXT: v_dual_mov_b32 v160, s83 :: v_dual_mov_b32 v45, s0
; GFX11-NEXT: v_readlane_b32 s0, v76, 2
-; GFX11-NEXT: v_dual_mov_b32 v162, s80 :: v_dual_mov_b32 v147, s85
-; GFX11-NEXT: v_dual_mov_b32 v146, s86 :: v_dual_mov_b32 v51, s72
+; GFX11-NEXT: v_dual_mov_b32 v163, s80 :: v_dual_mov_b32 v148, s85
+; GFX11-NEXT: v_dual_mov_b32 v147, s86 :: v_dual_mov_b32 v52, s72
; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_3) | instid1(VALU_DEP_3)
-; GFX11-NEXT: v_mov_b32_e32 v178, s0
+; GFX11-NEXT: v_mov_b32_e32 v179, s0
; GFX11-NEXT: v_readlane_b32 s0, v76, 3
-; GFX11-NEXT: v_dual_mov_b32 v37, s78 :: v_dual_mov_b32 v38, s88
-; GFX11-NEXT: v_dual_mov_b32 v48, s90 :: v_dual_mov_b32 v49, s92
-; GFX11-NEXT: v_mov_b32_e32 v181, s0
+; GFX11-NEXT: v_dual_mov_b32 v23, s74 :: v_dual_mov_b32 v48, s88
+; GFX11-NEXT: v_dual_mov_b32 v27, s76 :: v_dual_mov_b32 v50, s92
+; GFX11-NEXT: v_mov_b32_e32 v182, s0
; GFX11-NEXT: v_readlane_b32 s0, v76, 4
-; GFX11-NEXT: v_dual_mov_b32 v66, s94 :: v_dual_mov_b32 v67, vcc_lo
-; GFX11-NEXT: v_mov_b32_e32 v25, s74
-; GFX11-NEXT: v_mov_b32_e32 v31, s76
-; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_1) | instid1(VALU_DEP_1)
-; GFX11-NEXT: v_mov_b32_e32 v179, s0
+; GFX11-NEXT: v_dual_mov_b32 v35, s78 :: v_dual_mov_b32 v66, s94
+; GFX11-NEXT: v_mov_b32_e32 v49, s90
+; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_1) | instid1(VALU_DEP_1)
+; GFX11-NEXT: v_dual_mov_b32 v69, vcc_lo :: v_dual_mov_b32 v180, s0
; GFX11-NEXT: v_readlane_b32 s0, v76, 5
-; GFX11-NEXT: v_mov_b32_e32 v180, s0
+; GFX11-NEXT: v_mov_b32_e32 v181, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 12
; GFX11-NEXT: v_readlane_b32 s1, v77, 13
; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_2) | instskip(SKIP_2) | instid1(VALU_DEP_2)
-; GFX11-NEXT: v_mov_b32_e32 v52, s0
+; GFX11-NEXT: v_mov_b32_e32 v53, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 10
; GFX11-NEXT: v_readlane_b32 s1, v77, 11
-; GFX11-NEXT: v_dual_mov_b32 v148, s87 :: v_dual_mov_b32 v53, s0
+; GFX11-NEXT: v_dual_mov_b32 v149, s87 :: v_dual_mov_b32 v54, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 8
; GFX11-NEXT: v_readlane_b32 s1, v77, 9
; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_2) | instskip(SKIP_2) | instid1(VALU_DEP_2)
-; GFX11-NEXT: v_mov_b32_e32 v54, s0
+; GFX11-NEXT: v_mov_b32_e32 v64, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 6
; GFX11-NEXT: v_readlane_b32 s1, v77, 7
-; GFX11-NEXT: v_mov_b32_e32 v64, s0
+; GFX11-NEXT: v_mov_b32_e32 v65, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 4
; GFX11-NEXT: v_readlane_b32 s1, v77, 5
; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_2) | instskip(SKIP_2) | instid1(VALU_DEP_2)
-; GFX11-NEXT: v_mov_b32_e32 v65, s0
+; GFX11-NEXT: v_mov_b32_e32 v68, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 2
; GFX11-NEXT: v_readlane_b32 s1, v77, 3
-; GFX11-NEXT: v_mov_b32_e32 v69, s0
+; GFX11-NEXT: v_mov_b32_e32 v80, s0
; GFX11-NEXT: v_readlane_b32 s0, v77, 0
; GFX11-NEXT: v_readlane_b32 s1, v77, 1
; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_2)
-; GFX11-NEXT: v_mov_b32_e32 v70, s0
+; GFX11-NEXT: v_mov_b32_e32 v81, s0
; GFX11-NEXT: .LBB99_6: ; %end
; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1)
-; GFX11-NEXT: v_perm_b32 v70, v59, v70, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v69, v63, v69, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v35, v35, v57, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v65, v45, v65, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v64, v44, v64, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v70, v62, v81, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v37, v37, v58, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v80, v63, v80, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v58, v61, v73, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v38, v38, v59, 0xc0c0004
; GFX11-NEXT: v_lshlrev_b32_e32 v70, 16, v70
-; GFX11-NEXT: v_perm_b32 v46, v33, v46, 0xc0c0004
-; GFX11-NEXT: v_lshlrev_b32_e32 v69, 16, v69
-; GFX11-NEXT: v_perm_b32 v36, v36, v58, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v57, v60, v61, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v58, v62, v72, 0xc0c0004
-; GFX11-NEXT: v_or_b32_e32 v33, v35, v70
-; GFX11-NEXT: v_perm_b32 v29, v29, v40, 0xc0c0004
-; GFX11-NEXT: v_lshlrev_b32_e32 v65, 16, v65
-; GFX11-NEXT: v_perm_b32 v70, v27, v182, 0xc0c0004
-; GFX11-NEXT: v_lshlrev_b32_e32 v64, 16, v64
-; GFX11-NEXT: v_or_b32_e32 v35, v46, v69
-; GFX11-NEXT: v_perm_b32 v69, v41, v42, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v30, v30, v68, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v68, v43, v47, 0xc0c0004
-; GFX11-NEXT: v_lshlrev_b32_e32 v57, 16, v57
-; GFX11-NEXT: v_perm_b32 v56, v34, v56, 0xc0c0004
-; GFX11-NEXT: v_lshlrev_b32_e32 v58, 16, v58
-; GFX11-NEXT: v_or_b32_e32 v27, v29, v65
-; GFX11-NEXT: v_or_b32_e32 v29, v70, v64
-; GFX11-NEXT: v_perm_b32 v54, v181, v54, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v64, v179, v180, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v53, v177, v53, 0xc0c0004
-; GFX11-NEXT: v_lshlrev_b32_e32 v69, 16, v69
-; GFX11-NEXT: v_perm_b32 v182, v28, v183, 0xc0c0004
-; GFX11-NEXT: v_lshlrev_b32_e32 v68, 16, v68
-; GFX11-NEXT: v_or_b32_e32 v34, v36, v57
-; GFX11-NEXT: v_or_b32_e32 v36, v56, v58
-; GFX11-NEXT: v_perm_b32 v23, v23, v178, 0xc0c0004
-; GFX11-NEXT: v_lshlrev_b32_e32 v54, 16, v54
-; GFX11-NEXT: v_perm_b32 v24, v24, v167, 0xc0c0004
-; GFX11-NEXT: v_lshlrev_b32_e32 v64, 16, v64
-; GFX11-NEXT: v_perm_b32 v21, v21, v176, 0xc0c0004
-; GFX11-NEXT: v_lshlrev_b32_e32 v53, 16, v53
-; GFX11-NEXT: v_or_b32_e32 v28, v30, v69
-; GFX11-NEXT: v_or_b32_e32 v30, v182, v68
+; GFX11-NEXT: v_perm_b32 v33, v33, v56, 0xc0c0004
+; GFX11-NEXT: v_lshlrev_b32_e32 v80, 16, v80
+; GFX11-NEXT: v_perm_b32 v34, v34, v57, 0xc0c0004
+; GFX11-NEXT: v_lshlrev_b32_e32 v59, 16, v58
+; GFX11-NEXT: v_or_b32_e32 v56, v37, v70
+; GFX11-NEXT: v_perm_b32 v37, v47, v68, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v81, v60, v72, 0xc0c0004
+; GFX11-NEXT: v_or_b32_e32 v58, v33, v80
+; GFX11-NEXT: v_or_b32_e32 v59, v34, v59
+; GFX11-NEXT: v_perm_b32 v33, v42, v46, 0xc0c0004
+; GFX11-NEXT: v_lshlrev_b32_e32 v34, 16, v37
+; GFX11-NEXT: v_perm_b32 v37, v44, v65, 0xc0c0004
+; GFX11-NEXT: v_lshlrev_b32_e32 v81, 16, v81
+; GFX11-NEXT: v_perm_b32 v29, v29, v41, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v30, v30, v67, 0xc0c0004
+; GFX11-NEXT: v_lshlrev_b32_e32 v33, 16, v33
+; GFX11-NEXT: v_perm_b32 v31, v31, v183, 0xc0c0004
+; GFX11-NEXT: v_lshlrev_b32_e32 v37, 16, v37
+; GFX11-NEXT: v_or_b32_e32 v57, v38, v81
+; GFX11-NEXT: v_perm_b32 v38, v43, v45, 0xc0c0004
+; GFX11-NEXT: v_or_b32_e32 v29, v29, v34
+; GFX11-NEXT: v_or_b32_e32 v30, v30, v33
+; GFX11-NEXT: v_or_b32_e32 v31, v31, v37
+; GFX11-NEXT: v_perm_b32 v33, v182, v64, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v34, v180, v181, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v37, v178, v54, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v32, v32, v40, 0xc0c0004
+; GFX11-NEXT: v_lshlrev_b32_e32 v38, 16, v38
+; GFX11-NEXT: v_perm_b32 v25, v25, v179, 0xc0c0004
+; GFX11-NEXT: v_lshlrev_b32_e32 v33, 16, v33
+; GFX11-NEXT: v_perm_b32 v26, v26, v176, 0xc0c0004
+; GFX11-NEXT: v_lshlrev_b32_e32 v34, 16, v34
+; GFX11-NEXT: v_perm_b32 v21, v21, v177, 0xc0c0004
+; GFX11-NEXT: v_lshlrev_b32_e32 v37, 16, v37
+; GFX11-NEXT: v_or_b32_e32 v32, v32, v38
; GFX11-NEXT: s_clause 0x1
-; GFX11-NEXT: scratch_store_b128 v0, v[33:36], off
-; GFX11-NEXT: scratch_store_b128 v0, v[27:30], off offset:16
-; GFX11-NEXT: v_or_b32_e32 v27, v23, v54
-; GFX11-NEXT: v_perm_b32 v23, v165, v166, 0xc0c0004
-; GFX11-NEXT: v_or_b32_e32 v28, v24, v64
-; GFX11-NEXT: v_or_b32_e32 v29, v21, v53
-; GFX11-NEXT: v_perm_b32 v21, v22, v164, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v22, v163, v52, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v24, v161, v162, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v30, v151, v51, 0xc0c0004
-; GFX11-NEXT: v_lshlrev_b32_e32 v23, 16, v23
-; GFX11-NEXT: v_perm_b32 v19, v19, v160, 0xc0c0004
+; GFX11-NEXT: scratch_store_b128 v0, v[56:59], off
+; GFX11-NEXT: scratch_store_b128 v0, v[29:32], off offset:16
+; GFX11-NEXT: v_or_b32_e32 v29, v25, v33
+; GFX11-NEXT: v_perm_b32 v25, v166, v167, 0xc0c0004
+; GFX11-NEXT: v_or_b32_e32 v30, v26, v34
+; GFX11-NEXT: v_or_b32_e32 v31, v21, v37
+; GFX11-NEXT: v_perm_b32 v21, v22, v165, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v22, v164, v53, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v26, v162, v163, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v32, v160, v52, 0xc0c0004
+; GFX11-NEXT: v_lshlrev_b32_e32 v25, 16, v25
+; GFX11-NEXT: v_perm_b32 v19, v19, v161, 0xc0c0004
; GFX11-NEXT: v_lshlrev_b32_e32 v22, 16, v22
-; GFX11-NEXT: v_perm_b32 v20, v20, v150, 0xc0c0004
-; GFX11-NEXT: v_lshlrev_b32_e32 v24, 16, v24
-; GFX11-NEXT: v_perm_b32 v17, v17, v149, 0xc0c0004
-; GFX11-NEXT: v_lshlrev_b32_e32 v33, 16, v30
-; GFX11-NEXT: v_or_b32_e32 v30, v21, v23
+; GFX11-NEXT: v_perm_b32 v20, v20, v151, 0xc0c0004
+; GFX11-NEXT: v_lshlrev_b32_e32 v26, 16, v26
+; GFX11-NEXT: v_perm_b32 v17, v17, v150, 0xc0c0004
+; GFX11-NEXT: v_lshlrev_b32_e32 v33, 16, v32
+; GFX11-NEXT: v_or_b32_e32 v32, v21, v25
; GFX11-NEXT: v_or_b32_e32 v19, v19, v22
-; GFX11-NEXT: v_perm_b32 v22, v147, v148, 0xc0c0004
-; GFX11-NEXT: v_or_b32_e32 v20, v20, v24
+; GFX11-NEXT: v_perm_b32 v22, v148, v149, 0xc0c0004
+; GFX11-NEXT: v_or_b32_e32 v20, v20, v26
; GFX11-NEXT: v_or_b32_e32 v21, v17, v33
-; GFX11-NEXT: v_perm_b32 v17, v18, v146, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v18, v145, v67, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v24, v133, v66, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v23, v135, v144, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v17, v18, v147, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v18, v146, v69, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v26, v134, v66, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v25, v144, v145, 0xc0c0004
; GFX11-NEXT: v_lshlrev_b32_e32 v22, 16, v22
-; GFX11-NEXT: v_perm_b32 v15, v15, v134, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v15, v15, v135, 0xc0c0004
; GFX11-NEXT: v_lshlrev_b32_e32 v18, 16, v18
-; GFX11-NEXT: v_perm_b32 v13, v13, v131, 0xc0c0004
-; GFX11-NEXT: v_lshlrev_b32_e32 v24, 16, v24
-; GFX11-NEXT: v_perm_b32 v16, v16, v132, 0xc0c0004
-; GFX11-NEXT: v_lshlrev_b32_e32 v23, 16, v23
+; GFX11-NEXT: v_perm_b32 v13, v13, v132, 0xc0c0004
+; GFX11-NEXT: v_lshlrev_b32_e32 v26, 16, v26
+; GFX11-NEXT: v_perm_b32 v16, v16, v133, 0xc0c0004
+; GFX11-NEXT: v_lshlrev_b32_e32 v25, 16, v25
; GFX11-NEXT: v_or_b32_e32 v22, v17, v22
; GFX11-NEXT: v_or_b32_e32 v15, v15, v18
-; GFX11-NEXT: v_perm_b32 v18, v129, v130, 0xc0c0004
-; GFX11-NEXT: v_or_b32_e32 v17, v13, v24
-; GFX11-NEXT: v_perm_b32 v24, v115, v48, 0xc0c0004
-; GFX11-NEXT: v_or_b32_e32 v16, v16, v23
-; GFX11-NEXT: v_perm_b32 v13, v14, v128, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v14, v119, v49, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v23, v117, v118, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v18, v130, v131, 0xc0c0004
+; GFX11-NEXT: v_or_b32_e32 v17, v13, v26
+; GFX11-NEXT: v_perm_b32 v26, v116, v49, 0xc0c0004
+; GFX11-NEXT: v_or_b32_e32 v16, v16, v25
+; GFX11-NEXT: v_perm_b32 v13, v14, v129, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v14, v128, v50, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v25, v118, v119, 0xc0c0004
; GFX11-NEXT: v_lshlrev_b32_e32 v18, 16, v18
-; GFX11-NEXT: v_perm_b32 v9, v9, v113, 0xc0c0004
-; GFX11-NEXT: v_lshlrev_b32_e32 v24, 16, v24
-; GFX11-NEXT: v_perm_b32 v11, v11, v116, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v9, v9, v114, 0xc0c0004
+; GFX11-NEXT: v_lshlrev_b32_e32 v26, 16, v26
+; GFX11-NEXT: v_perm_b32 v11, v11, v117, 0xc0c0004
; GFX11-NEXT: v_lshlrev_b32_e32 v14, 16, v14
-; GFX11-NEXT: v_perm_b32 v12, v12, v114, 0xc0c0004
-; GFX11-NEXT: v_lshlrev_b32_e32 v23, 16, v23
+; GFX11-NEXT: v_perm_b32 v12, v12, v115, 0xc0c0004
+; GFX11-NEXT: v_lshlrev_b32_e32 v25, 16, v25
; GFX11-NEXT: v_or_b32_e32 v18, v13, v18
-; GFX11-NEXT: v_or_b32_e32 v13, v9, v24
-; GFX11-NEXT: v_perm_b32 v9, v10, v102, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v10, v101, v38, 0xc0c0004
+; GFX11-NEXT: v_or_b32_e32 v13, v9, v26
+; GFX11-NEXT: v_perm_b32 v9, v10, v103, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v10, v102, v48, 0xc0c0004
; GFX11-NEXT: v_or_b32_e32 v11, v11, v14
-; GFX11-NEXT: v_perm_b32 v14, v103, v112, 0xc0c0004
-; GFX11-NEXT: v_or_b32_e32 v12, v12, v23
-; GFX11-NEXT: v_perm_b32 v23, v99, v100, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v24, v97, v37, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v7, v7, v98, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v14, v112, v113, 0xc0c0004
+; GFX11-NEXT: v_or_b32_e32 v12, v12, v25
+; GFX11-NEXT: v_perm_b32 v25, v100, v101, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v26, v98, v35, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v7, v7, v99, 0xc0c0004
; GFX11-NEXT: v_lshlrev_b32_e32 v10, 16, v10
; GFX11-NEXT: v_lshlrev_b32_e32 v14, 16, v14
-; GFX11-NEXT: v_perm_b32 v8, v8, v96, 0xc0c0004
-; GFX11-NEXT: v_lshlrev_b32_e32 v23, 16, v23
-; GFX11-NEXT: v_perm_b32 v5, v5, v87, 0xc0c0004
-; GFX11-NEXT: v_lshlrev_b32_e32 v24, 16, v24
+; GFX11-NEXT: v_perm_b32 v8, v8, v97, 0xc0c0004
+; GFX11-NEXT: v_lshlrev_b32_e32 v25, 16, v25
+; GFX11-NEXT: v_perm_b32 v5, v5, v96, 0xc0c0004
+; GFX11-NEXT: v_lshlrev_b32_e32 v26, 16, v26
; GFX11-NEXT: v_or_b32_e32 v7, v7, v10
-; GFX11-NEXT: v_perm_b32 v10, v85, v86, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v10, v86, v87, 0xc0c0004
; GFX11-NEXT: v_or_b32_e32 v14, v9, v14
-; GFX11-NEXT: v_or_b32_e32 v8, v8, v23
-; GFX11-NEXT: v_or_b32_e32 v9, v5, v24
-; GFX11-NEXT: v_perm_b32 v5, v84, v31, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v23, v80, v81, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v24, v71, v25, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v25, v39, v50, 0xc0c0004
-; GFX11-NEXT: v_perm_b32 v6, v6, v83, 0xc0c0004
+; GFX11-NEXT: v_or_b32_e32 v8, v8, v25
+; GFX11-NEXT: v_or_b32_e32 v9, v5, v26
+; GFX11-NEXT: v_perm_b32 v5, v85, v27, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v25, v71, v82, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v23, v55, v23, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v26, v36, v39, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v6, v6, v84, 0xc0c0004
; GFX11-NEXT: v_lshlrev_b32_e32 v10, 16, v10
-; GFX11-NEXT: v_perm_b32 v3, v3, v82, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v3, v3, v83, 0xc0c0004
; GFX11-NEXT: v_lshlrev_b32_e32 v5, 16, v5
-; GFX11-NEXT: v_perm_b32 v4, v4, v55, 0xc0c0004
-; GFX11-NEXT: v_lshlrev_b32_e32 v23, 16, v23
-; GFX11-NEXT: v_perm_b32 v31, v1, v32, 0xc0c0004
-; GFX11-NEXT: v_lshlrev_b32_e32 v24, 16, v24
-; GFX11-NEXT: v_perm_b32 v26, v2, v26, 0xc0c0004
+; GFX11-NEXT: v_perm_b32 v4, v4, v51, 0xc0c0004
; GFX11-NEXT: v_lshlrev_b32_e32 v25, 16, v25
+; GFX11-NEXT: v_perm_b32 v27, v1, v28, 0xc0c0004
+; GFX11-NEXT: v_lshlrev_b32_e32 v23, 16, v23
+; GFX11-NEXT: v_perm_b32 v24, v2, v24, 0xc0c0004
+; GFX11-NEXT: v_lshlrev_b32_e32 v26, 16, v26
; GFX11-NEXT: v_or_b32_e32 v10, v6, v10
; GFX11-NEXT: v_or_b32_e32 v1, v3, v5
-; GFX11-NEXT: v_or_b32_e32 v2, v4, v23
-; GFX11-NEXT: v_or_b32_e32 v3, v31, v24
-; GFX11-NEXT: v_or_b32_e32 v4, v26, v25
+; GFX11-NEXT: v_or_b32_e32 v2, v4, v25
+; GFX11-NEXT: v_or_b32_e32 v3, v27, v23
+; GFX11-NEXT: v_or_b32_e32 v4, v24, v26
; GFX11-NEXT: s_clause 0x5
-; GFX11-NEXT: scratch_store_b128 v0, v[27:30], off offset:32
+; GFX11-NEXT: scratch_store_b128 v0, v[29:32], off offset:32
; GFX11-NEXT: scratch_store_b128 v0, v[19:22], off offset:48
; GFX11-NEXT: scratch_store_b128 v0, v[15:18], off offset:64
; GFX11-NEXT: scratch_store_b128 v0, v[11:14], off offset:80
@@ -211589,7 +211616,7 @@ define inreg <64 x half> @bitcast_v64bf16_to_v64f16_scalar(<64 x bfloat> inreg %
; SI: ; %bb.0:
; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
; SI-NEXT: s_or_saveexec_b64 s[4:5], -1
-; SI-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:716 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:696 ; 4-byte Folded Spill
; SI-NEXT: s_mov_b64 exec, s[4:5]
; SI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:52 ; 4-byte Folded Spill
@@ -211611,43 +211638,77 @@ define inreg <64 x half> @bitcast_v64bf16_to_v64f16_scalar(<64 x bfloat> inreg %
; SI-NEXT: v_writelane_b32 v63, s36, 2
; SI-NEXT: v_writelane_b32 v63, s30, 3
; SI-NEXT: v_writelane_b32 v63, s31, 4
+; SI-NEXT: s_and_b32 s40, s17, 0xffff0000
+; SI-NEXT: s_and_b32 s4, s29, 0xffff0000
+; SI-NEXT: s_lshl_b32 s5, s29, 16
+; SI-NEXT: s_and_b32 s29, s18, 0xffff0000
+; SI-NEXT: v_readfirstlane_b32 s34, v0
+; SI-NEXT: v_mul_f32_e64 v0, 1.0, s40
; SI-NEXT: s_and_b32 s6, s28, 0xffff0000
; SI-NEXT: s_lshl_b32 s7, s28, 16
; SI-NEXT: s_and_b32 s28, s19, 0xffff0000
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:524 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_mul_f32_e64 v0, 1.0, s29
; SI-NEXT: s_and_b32 s12, s25, 0xffff0000
-; SI-NEXT: v_readfirstlane_b32 s60, v12
-; SI-NEXT: v_readfirstlane_b32 s34, v0
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:484 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mul_f32_e64 v0, 1.0, s28
-; SI-NEXT: s_and_b32 s61, s60, 0xffff0000
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:528 ; 4-byte Folded Spill
+; SI-NEXT: s_and_b32 s10, s26, 0xffff0000
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:500 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mul_f32_e64 v0, 1.0, s12
-; SI-NEXT: s_and_b32 s40, s17, 0xffff0000
+; SI-NEXT: s_and_b32 s8, s27, 0xffff0000
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:488 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_mul_f32_e64 v0, 1.0, s10
+; SI-NEXT: v_readfirstlane_b32 vcc_lo, v2
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:512 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_mul_f32_e64 v0, 1.0, s8
+; SI-NEXT: v_readfirstlane_b32 s92, v4
+; SI-NEXT: s_and_b32 vcc_hi, vcc_lo, 0xffff0000
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:492 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_mul_f32_e64 v0, 1.0, s4
+; SI-NEXT: v_readfirstlane_b32 s88, v6
+; SI-NEXT: s_and_b32 s93, s92, 0xffff0000
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:496 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_mul_f32_e64 v0, 1.0, vcc_hi
+; SI-NEXT: v_readfirstlane_b32 s46, v15
+; SI-NEXT: s_and_b32 s89, s88, 0xffff0000
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:528 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_mul_f32_e64 v0, 1.0, s93
+; SI-NEXT: v_readfirstlane_b32 s44, v16
+; SI-NEXT: s_and_b32 s47, s46, 0xffff0000
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:520 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_mul_f32_e64 v0, 1.0, s89
+; SI-NEXT: s_and_b32 s45, s44, 0xffff0000
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:516 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_mul_f32_e64 v0, 1.0, s47
; SI-NEXT: s_lshl_b32 s17, s17, 16
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:532 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:508 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mul_f32_e64 v0, 1.0, s61
-; SI-NEXT: v_readfirstlane_b32 s30, v1
-; SI-NEXT: v_mul_f32_e64 v1, 1.0, s40
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:524 ; 4-byte Folded Spill
+; SI-NEXT: v_mul_f32_e64 v0, 1.0, s45
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:504 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mul_f32_e64 v0, 1.0, s17
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
+; SI-NEXT: v_readfirstlane_b32 s30, v1
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
; SI-NEXT: s_lshl_b32 s19, s19, 16
; SI-NEXT: s_waitcnt expcnt(1)
; SI-NEXT: v_mul_f32_e64 v0, 1.0, s19
-; SI-NEXT: s_and_b32 s10, s26, 0xffff0000
-; SI-NEXT: s_lshl_b32 s11, s26, 16
-; SI-NEXT: s_and_b32 s26, s21, 0xffff0000
-; SI-NEXT: s_lshl_b32 s21, s21, 16
; SI-NEXT: s_and_b32 s14, s24, 0xffff0000
; SI-NEXT: s_lshl_b32 s15, s24, 16
; SI-NEXT: s_and_b32 s24, s23, 0xffff0000
; SI-NEXT: s_lshl_b32 s23, s23, 16
; SI-NEXT: s_lshl_b32 s13, s25, 16
; SI-NEXT: s_lshl_b32 s9, s27, 16
-; SI-NEXT: s_lshl_b32 s5, s29, 16
; SI-NEXT: s_and_b32 s31, s30, 0xffff0000
; SI-NEXT: s_lshl_b32 s30, s30, 16
; SI-NEXT: v_readfirstlane_b32 s94, v3
@@ -211668,271 +211729,313 @@ define inreg <64 x half> @bitcast_v64bf16_to_v64f16_scalar(<64 x bfloat> inreg %
; SI-NEXT: v_readfirstlane_b32 s58, v13
; SI-NEXT: s_and_b32 s59, s58, 0xffff0000
; SI-NEXT: s_lshl_b32 s58, s58, 16
-; SI-NEXT: v_readfirstlane_b32 s46, v15
-; SI-NEXT: s_and_b32 s47, s46, 0xffff0000
; SI-NEXT: s_lshl_b32 s46, s46, 16
+; SI-NEXT: s_and_b32 s27, s20, 0xffff0000
+; SI-NEXT: s_lshl_b32 s20, s20, 16
+; SI-NEXT: s_lshl_b32 s11, s26, 16
; SI-NEXT: v_readfirstlane_b32 s42, v17
-; SI-NEXT: v_readfirstlane_b32 s44, v16
; SI-NEXT: v_readfirstlane_b32 s56, v14
+; SI-NEXT: v_readfirstlane_b32 s60, v12
; SI-NEXT: v_readfirstlane_b32 s72, v10
; SI-NEXT: v_readfirstlane_b32 s76, v8
-; SI-NEXT: v_readfirstlane_b32 s88, v6
-; SI-NEXT: v_readfirstlane_b32 s92, v4
-; SI-NEXT: v_readfirstlane_b32 vcc_lo, v2
-; SI-NEXT: s_and_b32 s4, s29, 0xffff0000
-; SI-NEXT: s_and_b32 s8, s27, 0xffff0000
; SI-NEXT: s_and_b32 s25, s22, 0xffff0000
; SI-NEXT: s_lshl_b32 s22, s22, 16
-; SI-NEXT: s_and_b32 s27, s20, 0xffff0000
-; SI-NEXT: s_lshl_b32 s20, s20, 16
-; SI-NEXT: s_and_b32 s29, s18, 0xffff0000
+; SI-NEXT: s_and_b32 s26, s21, 0xffff0000
+; SI-NEXT: s_lshl_b32 s21, s21, 16
; SI-NEXT: s_lshl_b32 s18, s18, 16
; SI-NEXT: s_and_b32 s41, s16, 0xffff0000
; SI-NEXT: s_lshl_b32 s16, s16, 16
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(1)
+; SI-NEXT: v_mul_f32_e64 v0, 1.0, s23
; SI-NEXT: s_and_b32 s43, s42, 0xffff0000
; SI-NEXT: s_lshl_b32 s42, s42, 16
-; SI-NEXT: s_and_b32 s45, s44, 0xffff0000
; SI-NEXT: s_lshl_b32 s44, s44, 16
; SI-NEXT: s_and_b32 s57, s56, 0xffff0000
; SI-NEXT: s_lshl_b32 s56, s56, 16
+; SI-NEXT: s_and_b32 s61, s60, 0xffff0000
; SI-NEXT: s_lshl_b32 s60, s60, 16
; SI-NEXT: s_and_b32 s73, s72, 0xffff0000
; SI-NEXT: s_lshl_b32 s72, s72, 16
; SI-NEXT: s_and_b32 s77, s76, 0xffff0000
; SI-NEXT: s_lshl_b32 s76, s76, 16
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_mul_f32_e64 v0, 1.0, s21
-; SI-NEXT: s_and_b32 s89, s88, 0xffff0000
; SI-NEXT: s_lshl_b32 s88, s88, 16
-; SI-NEXT: s_and_b32 s93, s92, 0xffff0000
; SI-NEXT: s_lshl_b32 s92, s92, 16
-; SI-NEXT: s_and_b32 vcc_hi, vcc_lo, 0xffff0000
; SI-NEXT: s_lshl_b32 vcc_lo, vcc_lo, 16
; SI-NEXT: s_and_b32 s35, s34, 0xffff0000
; SI-NEXT: s_lshl_b32 s34, s34, 16
; SI-NEXT: v_readfirstlane_b32 s36, v18
; SI-NEXT: s_cmp_lg_u32 s36, 0
-; SI-NEXT: v_mul_f32_e64 v48, 1.0, s41
-; SI-NEXT: v_mul_f32_e64 v9, 1.0, s29
-; SI-NEXT: v_mul_f32_e64 v21, 1.0, s27
-; SI-NEXT: v_mul_f32_e64 v36, 1.0, s26
-; SI-NEXT: v_mul_f32_e64 v62, 1.0, s25
-; SI-NEXT: v_mul_f32_e64 v10, 1.0, s24
-; SI-NEXT: v_mul_f32_e64 v3, 1.0, s14
-; SI-NEXT: v_mul_f32_e64 v2, 1.0, s10
-; SI-NEXT: v_mul_f32_e64 v38, 1.0, s8
-; SI-NEXT: v_mul_f32_e64 v60, 1.0, s6
-; SI-NEXT: v_mul_f32_e64 v20, 1.0, s4
-; SI-NEXT: v_mul_f32_e64 v58, 1.0, s35
-; SI-NEXT: v_mul_f32_e64 v34, 1.0, s31
-; SI-NEXT: v_mul_f32_e64 v56, 1.0, vcc_hi
-; SI-NEXT: v_mul_f32_e64 v29, 1.0, s95
-; SI-NEXT: v_mul_f32_e64 v4, 1.0, s93
-; SI-NEXT: v_mul_f32_e64 v33, 1.0, s91
-; SI-NEXT: v_mul_f32_e64 v42, 1.0, s89
-; SI-NEXT: v_mul_f32_e64 v54, 1.0, s79
-; SI-NEXT: v_mul_f32_e64 v30, 1.0, s77
-; SI-NEXT: v_mul_f32_e64 v45, 1.0, s75
-; SI-NEXT: v_mul_f32_e64 v26, 1.0, s73
-; SI-NEXT: v_mul_f32_e64 v28, 1.0, s63
-; SI-NEXT: v_mul_f32_e64 v27, 1.0, s59
-; SI-NEXT: v_mul_f32_e64 v47, 1.0, s57
-; SI-NEXT: v_mul_f32_e64 v31, 1.0, s47
-; SI-NEXT: v_mul_f32_e64 v6, 1.0, s45
-; SI-NEXT: v_mul_f32_e64 v32, 1.0, s43
-; SI-NEXT: v_mul_f32_e64 v44, 1.0, s42
-; SI-NEXT: v_mul_f32_e64 v22, 1.0, s16
-; SI-NEXT: v_mul_f32_e64 v13, 1.0, s18
-; SI-NEXT: v_mul_f32_e64 v15, 1.0, s20
-; SI-NEXT: v_mul_f32_e64 v11, 1.0, s22
-; SI-NEXT: v_mul_f32_e64 v35, 1.0, s15
-; SI-NEXT: v_mul_f32_e64 v25, 1.0, s11
-; SI-NEXT: v_mul_f32_e64 v59, 1.0, s7
-; SI-NEXT: v_mul_f32_e64 v57, 1.0, s34
-; SI-NEXT: v_mul_f32_e64 v55, 1.0, vcc_lo
-; SI-NEXT: v_mul_f32_e64 v49, 1.0, s92
-; SI-NEXT: v_mul_f32_e64 v16, 1.0, s88
-; SI-NEXT: v_mul_f32_e64 v17, 1.0, s76
-; SI-NEXT: v_mul_f32_e64 v37, 1.0, s72
-; SI-NEXT: v_mul_f32_e64 v61, 1.0, s60
-; SI-NEXT: v_mul_f32_e64 v8, 1.0, s56
-; SI-NEXT: v_mul_f32_e64 v14, 1.0, s44
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_mul_f32_e64 v0, 1.0, s23
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; SI-NEXT: v_mul_f32_e64 v39, 1.0, s41
+; SI-NEXT: v_mul_f32_e64 v38, 1.0, s27
+; SI-NEXT: v_mul_f32_e64 v5, 1.0, s26
+; SI-NEXT: v_mul_f32_e64 v15, 1.0, s25
+; SI-NEXT: v_mul_f32_e64 v8, 1.0, s24
+; SI-NEXT: v_mul_f32_e64 v57, 1.0, s14
+; SI-NEXT: v_mul_f32_e64 v56, 1.0, s6
+; SI-NEXT: v_mul_f32_e64 v23, 1.0, s35
+; SI-NEXT: v_mul_f32_e64 v11, 1.0, s31
+; SI-NEXT: v_mul_f32_e64 v26, 1.0, s95
+; SI-NEXT: v_mul_f32_e64 v31, 1.0, s91
+; SI-NEXT: v_mul_f32_e64 v35, 1.0, s79
+; SI-NEXT: v_mul_f32_e64 v27, 1.0, s77
+; SI-NEXT: v_mul_f32_e64 v36, 1.0, s75
+; SI-NEXT: v_mul_f32_e64 v30, 1.0, s73
+; SI-NEXT: v_mul_f32_e64 v59, 1.0, s63
+; SI-NEXT: v_mul_f32_e64 v32, 1.0, s61
+; SI-NEXT: v_mul_f32_e64 v20, 1.0, s59
+; SI-NEXT: v_mul_f32_e64 v34, 1.0, s57
+; SI-NEXT: v_mul_f32_e64 v58, 1.0, s43
+; SI-NEXT: v_mul_f32_e64 v6, 1.0, s21
+; SI-NEXT: v_mul_f32_e64 v33, 1.0, s42
+; SI-NEXT: v_mul_f32_e64 v17, 1.0, s16
+; SI-NEXT: v_mul_f32_e64 v54, 1.0, s18
+; SI-NEXT: v_mul_f32_e64 v25, 1.0, s22
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
; SI-NEXT: v_mul_f32_e64 v0, 1.0, s13
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
+; SI-NEXT: v_mul_f32_e64 v24, 1.0, s34
+; SI-NEXT: v_mul_f32_e64 v40, 1.0, vcc_lo
+; SI-NEXT: v_mul_f32_e64 v50, 1.0, s92
+; SI-NEXT: v_mul_f32_e64 v22, 1.0, s88
+; SI-NEXT: v_mul_f32_e64 v51, 1.0, s76
+; SI-NEXT: v_mul_f32_e64 v43, 1.0, s72
+; SI-NEXT: v_mul_f32_e64 v60, 1.0, s60
+; SI-NEXT: v_mul_f32_e64 v19, 1.0, s56
+; SI-NEXT: v_mul_f32_e64 v28, 1.0, s44
+; SI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:568 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:572 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v30, off, s[0:3], s32 offset:576 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:580 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:584 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:588 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v57, off, s[0:3], s32 offset:592 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:596 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v38, off, s[0:3], s32 offset:600 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:604 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:608 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:612 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:616 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:620 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:624 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:628 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v59, off, s[0:3], s32 offset:632 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
; SI-NEXT: v_mul_f32_e64 v0, 1.0, s9
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
; SI-NEXT: v_mul_f32_e64 v0, 1.0, s5
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
; SI-NEXT: v_mul_f32_e64 v0, 1.0, s30
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
; SI-NEXT: v_mul_f32_e64 v0, 1.0, s94
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
; SI-NEXT: v_mul_f32_e64 v0, 1.0, s90
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
; SI-NEXT: v_mul_f32_e64 v0, 1.0, s78
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
; SI-NEXT: v_mul_f32_e64 v0, 1.0, s74
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(1)
+; SI-NEXT: v_mul_f32_e64 v0, 1.0, s62
; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_mul_f32_e64 v0, 1.0, s62
+; SI-NEXT: v_mul_f32_e64 v0, 1.0, s58
; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_mul_f32_e64 v0, 1.0, s58
+; SI-NEXT: v_mul_f32_e64 v0, 1.0, s46
; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_mul_f32_e64 v0, 1.0, s46
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:536 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:540 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:544 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v30, off, s[0:3], s32 offset:548 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:552 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:556 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:560 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:564 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v60, off, s[0:3], s32 offset:568 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:572 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:576 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:580 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:584 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:588 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v48, off, s[0:3], s32 offset:592 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:596 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:600 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:604 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:608 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:612 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:616 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:620 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:624 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:628 ; 4-byte Folded Spill
+; SI-NEXT: v_mul_f32_e64 v0, 1.0, s20
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:532 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:536 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(1)
+; SI-NEXT: v_mul_f32_e64 v0, 1.0, s15
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:540 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:544 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(1)
+; SI-NEXT: v_mul_f32_e64 v0, 1.0, s11
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:548 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:552 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(1)
+; SI-NEXT: v_mul_f32_e64 v0, 1.0, s7
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:556 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:560 ; 4-byte Folded Spill
; SI-NEXT: s_cbranch_scc0 .LBB101_2
; SI-NEXT: ; %bb.1: ; %cmp.false
-; SI-NEXT: v_mov_b32_e32 v46, v22
-; SI-NEXT: v_mov_b32_e32 v22, v13
-; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v13, 16, v1
-; SI-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
-; SI-NEXT: v_mov_b32_e32 v5, v14
-; SI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:516 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:520 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:508 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:512 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v38, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
-; SI-NEXT: v_mov_b32_e32 v41, v16
-; SI-NEXT: v_mov_b32_e32 v43, v49
-; SI-NEXT: v_and_b32_e32 v7, 0xffff0000, v3
-; SI-NEXT: v_mov_b32_e32 v39, v17
-; SI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
-; SI-NEXT: v_and_b32_e32 v50, 0xffff0000, v48
-; SI-NEXT: v_and_b32_e32 v18, 0xffff0000, v4
-; SI-NEXT: v_mov_b32_e32 v24, v36
-; SI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:688 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(4)
-; SI-NEXT: v_and_b32_e32 v39, 0xffff0000, v62
-; SI-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:636 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:672 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(1)
+; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
+; SI-NEXT: v_mov_b32_e32 v3, v22
+; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v50, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
+; SI-NEXT: v_lshrrev_b32_e32 v7, 16, v5
+; SI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
+; SI-NEXT: v_mov_b32_e32 v48, v25
+; SI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:440 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:444 ; 4-byte Folded Spill
+; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_lshrrev_b32_e32 v22, 16, v11
+; SI-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:564 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_mov_b32_e32 v58, v20
+; SI-NEXT: buffer_store_dword v60, off, s[0:3], s32 offset:432 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v61, off, s[0:3], s32 offset:436 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:476 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:480 ; 4-byte Folded Spill
+; SI-NEXT: v_mov_b32_e32 v16, v27
+; SI-NEXT: v_lshrrev_b32_e32 v49, 16, v15
+; SI-NEXT: v_and_b32_e32 v43, 0xffff0000, v38
+; SI-NEXT: v_mov_b32_e32 v14, v40
+; SI-NEXT: v_and_b32_e32 v40, 0xffff0000, v23
; SI-NEXT: s_mov_b64 s[4:5], 0
-; SI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
-; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload
+; SI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
+; SI-NEXT: v_mov_b32_e32 v1, v0
+; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:524 ; 4-byte Folded Reload
+; SI-NEXT: v_lshr_b64 v[44:45], v[6:7], 16
+; SI-NEXT: v_mov_b32_e32 v45, v24
+; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_lshrrev_b32_e32 v25, 16, v26
+; SI-NEXT: v_mov_b32_e32 v6, v56
+; SI-NEXT: v_mov_b32_e32 v5, v51
+; SI-NEXT: v_and_b32_e32 v51, 0xffff0000, v34
+; SI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
+; SI-NEXT: v_lshrrev_b32_e32 v2, 16, v0
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; SI-NEXT: v_and_b32_e32 v0, 0xffff0000, v39
+; SI-NEXT: v_lshr_b64 v[41:42], v[21:22], 16
+; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:484 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:512 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:516 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_lshr_b64 v[1:2], v[1:2], 16
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:636 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:640 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:644 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(2)
+; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:500 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(8)
+; SI-NEXT: v_mov_b32_e32 v22, v28
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_mov_b32_e32 v3, v2
+; SI-NEXT: v_lshrrev_b32_e32 v4, 16, v0
+; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
+; SI-NEXT: v_and_b32_e32 v0, 0xffff0000, v28
+; SI-NEXT: v_lshrrev_b32_e32 v28, 16, v59
+; SI-NEXT: buffer_load_dword v59, off, s[0:3], s32 offset:636 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v60, off, s[0:3], s32 offset:640 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v61, off, s[0:3], s32 offset:644 ; 4-byte Folded Reload
+; SI-NEXT: v_lshr_b64 v[1:2], v[3:4], 16
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:648 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:652 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:656 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(2)
+; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt expcnt(1)
+; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_lshrrev_b32_e32 v1, 16, v8
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(2)
+; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v15
+; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v27
+; SI-NEXT: v_lshr_b64 v[3:4], v[0:1], 16
; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_and_b32_e32 v12, 0xffff0000, v9
-; SI-NEXT: v_mov_b32_e32 v49, v9
-; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:524 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_lshr_b64 v[51:52], v[0:1], 16
; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:528 ; 4-byte Folded Reload
-; SI-NEXT: v_mov_b32_e32 v52, v51
-; SI-NEXT: v_mov_b32_e32 v51, v50
-; SI-NEXT: v_mov_b32_e32 v50, v4
-; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:488 ; 4-byte Folded Reload
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:660 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:664 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:668 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt vmcnt(3)
; SI-NEXT: v_lshrrev_b32_e32 v1, 16, v1
; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
+; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshr_b64 v[13:14], v[0:1], 16
-; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v1, 16, v36
-; SI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:648 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:652 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:656 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(2)
-; SI-NEXT: v_and_b32_e32 v12, 0xffff0000, v21
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
+; SI-NEXT: v_and_b32_e32 v0, 0xffff0000, v57
+; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0)
+; SI-NEXT: v_lshr_b64 v[1:2], v[12:13], 16
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(2)
-; SI-NEXT: v_lshr_b64 v[13:14], v[0:1], 16
-; SI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:660 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:664 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:668 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(4)
-; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt expcnt(3)
-; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_mov_b32_e32 v13, v52
+; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:492 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_and_b32_e32 v14, 0xffff0000, v42
-; SI-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
+; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v7
+; SI-NEXT: v_mov_b32_e32 v13, v30
+; SI-NEXT: v_lshrrev_b32_e32 v30, 16, v58
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_lshrrev_b32_e32 v1, 16, v1
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(1)
+; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v16, 16, v10
-; SI-NEXT: s_waitcnt vmcnt(5)
-; SI-NEXT: v_mov_b32_e32 v15, v0
+; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_lshr_b64 v[3:4], v[0:1], 16
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:672 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:676 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:680 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(2)
+; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v56
+; SI-NEXT: v_lshr_b64 v[55:56], v[24:25], 16
+; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_lshrrev_b32_e32 v26, 16, v31
; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:532 ; 4-byte Folded Reload
-; SI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
-; SI-NEXT: v_and_b32_e32 v10, 0xffff0000, v56
-; SI-NEXT: v_lshrrev_b32_e32 v56, 16, v56
-; SI-NEXT: v_lshr_b64 v[40:41], v[15:16], 16
+; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:496 ; 4-byte Folded Reload
+; SI-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt vmcnt(2)
; SI-NEXT: v_lshrrev_b32_e32 v1, 16, v1
; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
@@ -211941,1330 +212044,1218 @@ define inreg <64 x half> @bitcast_v64bf16_to_v64f16_scalar(<64 x bfloat> inreg %
; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshr_b64 v[8:9], v[0:1], 16
-; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v1, 16, v38
-; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:692 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:696 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:700 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(2)
-; SI-NEXT: v_and_b32_e32 v7, 0xffff0000, v2
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v38, off, s[0:3], s32 offset:632 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v38, 16, v27
-; SI-NEXT: v_and_b32_e32 v27, 0xffff0000, v25
-; SI-NEXT: v_lshr_b64 v[8:9], v[0:1], 16
-; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v1, 16, v20
-; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v20, 16, v34
-; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:676 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:680 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:684 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(2)
-; SI-NEXT: v_and_b32_e32 v7, 0xffff0000, v60
-; SI-NEXT: v_lshrrev_b32_e32 v34, 16, v28
-; SI-NEXT: v_lshrrev_b32_e32 v60, 16, v60
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(4)
-; SI-NEXT: v_lshr_b64 v[8:9], v[0:1], 16
-; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_mov_b32_e32 v8, v2
-; SI-NEXT: v_lshr_b64 v[1:2], v[19:20], 16
-; SI-NEXT: v_and_b32_e32 v0, 0xffff0000, v58
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(2)
-; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v1, 16, v29
-; SI-NEXT: v_mov_b32_e32 v9, v3
-; SI-NEXT: v_lshrrev_b32_e32 v3, 16, v45
-; SI-NEXT: v_lshrrev_b32_e32 v45, 16, v32
-; SI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
-; SI-NEXT: v_lshrrev_b32_e32 v17, 16, v9
-; SI-NEXT: v_lshrrev_b32_e32 v58, 16, v58
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
-; SI-NEXT: v_lshr_b64 v[11:12], v[0:1], 16
-; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v1, 16, v33
-; SI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:704 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:708 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:712 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(2)
-; SI-NEXT: v_and_b32_e32 v10, 0xffff0000, v26
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
-; SI-NEXT: v_lshr_b64 v[19:20], v[0:1], 16
-; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
+; SI-NEXT: v_lshr_b64 v[18:19], v[25:26], 16
+; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_lshrrev_b32_e32 v26, 16, v35
+; SI-NEXT: v_mov_b32_e32 v35, v7
+; SI-NEXT: v_mov_b32_e32 v7, v34
+; SI-NEXT: v_and_b32_e32 v19, 0xffff0000, v50
+; SI-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; SI-NEXT: v_lshr_b64 v[3:4], v[0:1], 16
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:684 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:688 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:692 ; 4-byte Folded Spill
+; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:528 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:508 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:520 ; 4-byte Folded Reload
+; SI-NEXT: v_mov_b32_e32 v0, v32
+; SI-NEXT: v_mov_b32_e32 v2, v23
+; SI-NEXT: v_lshrrev_b32_e32 v46, 16, v2
+; SI-NEXT: v_and_b32_e32 v23, 0xffff0000, v13
+; SI-NEXT: v_lshr_b64 v[20:21], v[25:26], 16
+; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v1, 16, v54
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
-; SI-NEXT: v_lshr_b64 v[15:16], v[0:1], 16
+; SI-NEXT: v_lshrrev_b32_e32 v26, 16, v36
+; SI-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; SI-NEXT: v_and_b32_e32 v54, 0xffff0000, v1
+; SI-NEXT: v_lshrrev_b32_e32 v15, 16, v1
+; SI-NEXT: v_mov_b32_e32 v47, v15
+; SI-NEXT: v_lshr_b64 v[9:10], v[25:26], 16
; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
-; SI-NEXT: v_mov_b32_e32 v16, v35
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v1, 0xffff0000, v30
-; SI-NEXT: v_mov_b32_e32 v2, v0
-; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
-; SI-NEXT: v_mov_b32_e32 v0, v26
+; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[2:3], v[2:3], 16
-; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_mov_b32_e32 v33, v3
-; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
-; SI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
+; SI-NEXT: v_mov_b32_e32 v27, v25
+; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
+; SI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt vmcnt(3)
-; SI-NEXT: v_mov_b32_e32 v37, v3
-; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v4, 16, v31
-; SI-NEXT: v_lshr_b64 v[11:12], v[33:34], 16
-; SI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v38, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
-; SI-NEXT: v_mov_b32_e32 v12, v51
-; SI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:648 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:652 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:656 ; 4-byte Folded Reload
-; SI-NEXT: v_and_b32_e32 v31, 0xffff0000, v6
-; SI-NEXT: s_waitcnt expcnt(3)
-; SI-NEXT: v_lshr_b64 v[32:33], v[44:45], 16
-; SI-NEXT: v_lshrrev_b32_e32 v44, 16, v50
-; SI-NEXT: s_waitcnt expcnt(2)
-; SI-NEXT: v_and_b32_e32 v34, 0xffff0000, v47
-; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
-; SI-NEXT: v_lshr_b64 v[28:29], v[37:38], 16
-; SI-NEXT: s_waitcnt expcnt(3)
-; SI-NEXT: v_lshrrev_b32_e32 v37, 16, v49
-; SI-NEXT: v_mov_b32_e32 v49, v40
+; SI-NEXT: v_mov_b32_e32 v29, v25
+; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
+; SI-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v30, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt vmcnt(3)
-; SI-NEXT: v_mov_b32_e32 v23, v52
-; SI-NEXT: s_waitcnt expcnt(2)
-; SI-NEXT: buffer_load_dword v38, off, s[0:3], s32 offset:632 ; 4-byte Folded Reload
-; SI-NEXT: v_lshr_b64 v[35:36], v[3:4], 16
-; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_mov_b32_e32 v3, v46
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v4, 16, v48
-; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:640 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:644 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload
+; SI-NEXT: v_mov_b32_e32 v31, v25
+; SI-NEXT: v_lshr_b64 v[24:25], v[27:28], 16
+; SI-NEXT: v_and_b32_e32 v25, 0xffff0000, v32
+; SI-NEXT: v_lshrrev_b32_e32 v32, 16, v4
+; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:564 ; 4-byte Folded Reload
+; SI-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt vmcnt(5) expcnt(5)
+; SI-NEXT: v_lshr_b64 v[26:27], v[29:30], 16
+; SI-NEXT: v_mov_b32_e32 v36, v24
+; SI-NEXT: s_waitcnt vmcnt(2)
+; SI-NEXT: v_lshrrev_b32_e32 v34, 16, v4
+; SI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
+; SI-NEXT: v_lshr_b64 v[52:53], v[31:32], 16
+; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:504 ; 4-byte Folded Reload
+; SI-NEXT: v_and_b32_e32 v17, 0xffff0000, v3
+; SI-NEXT: v_mov_b32_e32 v53, v11
+; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_lshrrev_b32_e32 v11, 16, v39
+; SI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(6)
+; SI-NEXT: v_lshr_b64 v[29:30], v[33:34], 16
+; SI-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt expcnt(5)
+; SI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v4, 16, v21
-; SI-NEXT: v_mov_b32_e32 v36, v22
-; SI-NEXT: v_mov_b32_e32 v48, v39
-; SI-NEXT: v_mov_b32_e32 v22, v51
-; SI-NEXT: v_mov_b32_e32 v46, v43
-; SI-NEXT: v_lshr_b64 v[53:54], v[22:23], 16
-; SI-NEXT: v_mov_b32_e32 v54, v15
-; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload
+; SI-NEXT: v_lshrrev_b32_e32 v31, 16, v3
+; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v4, 16, v62
-; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
+; SI-NEXT: v_lshrrev_b32_e32 v3, 16, v50
; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:308 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:440 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:312 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:444 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v4, 16, v8
-; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:300 ; 4-byte Folded Reload
+; SI-NEXT: v_lshrrev_b32_e32 v11, 16, v22
+; SI-NEXT: v_and_b32_e32 v28, 0xffff0000, v4
+; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:532 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:536 ; 4-byte Folded Reload
+; SI-NEXT: buffer_store_dword v48, off, s[0:3], s32 offset:532 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:536 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:304 ; 4-byte Folded Reload
+; SI-NEXT: v_lshr_b64 v[48:49], v[59:60], 16
+; SI-NEXT: s_waitcnt vmcnt(2)
+; SI-NEXT: v_lshrrev_b32_e32 v22, 16, v38
+; SI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:540 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:544 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v4, 16, v42
-; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload
+; SI-NEXT: v_lshrrev_b32_e32 v33, 16, v57
+; SI-NEXT: buffer_load_dword v56, off, s[0:3], s32 offset:548 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v57, off, s[0:3], s32 offset:552 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v4, 16, v30
-; SI-NEXT: v_lshr_b64 v[29:30], v[12:13], 16
-; SI-NEXT: v_mov_b32_e32 v30, v35
-; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:272 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:276 ; 4-byte Folded Reload
+; SI-NEXT: v_lshrrev_b32_e32 v57, 16, v35
+; SI-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:556 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:560 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v4, 16, v0
-; SI-NEXT: v_mov_b32_e32 v0, v25
-; SI-NEXT: v_lshrrev_b32_e32 v62, 16, v0
-; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:308 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:312 ; 4-byte Folded Reload
-; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:508 ; 4-byte Folded Reload
+; SI-NEXT: v_lshrrev_b32_e32 v35, 16, v6
+; SI-NEXT: v_lshrrev_b32_e32 v6, 16, v16
+; SI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:540 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:544 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:512 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v4, 16, v47
-; SI-NEXT: v_mov_b32_e32 v47, v44
-; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:508 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:512 ; 4-byte Folded Spill
+; SI-NEXT: v_mov_b32_e32 v46, v14
+; SI-NEXT: v_lshr_b64 v[14:15], v[43:44], 16
+; SI-NEXT: v_mov_b32_e32 v49, v26
+; SI-NEXT: v_lshr_b64 v[42:43], v[17:18], 16
+; SI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:440 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:444 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:516 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:520 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v4, 16, v6
-; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:516 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:520 ; 4-byte Folded Spill
-; SI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:300 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:304 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v39, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:272 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:276 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:692 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:696 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:700 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:508 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:512 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:516 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:520 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:660 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:664 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:668 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_mov_b32_e32 v52, v23
-; SI-NEXT: v_mov_b32_e32 v45, v4
-; SI-NEXT: v_mov_b32_e32 v44, v3
-; SI-NEXT: v_lshr_b64 v[3:4], v[50:51], 16
-; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:428 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:432 ; 4-byte Folded Spill
+; SI-NEXT: v_lshrrev_b32_e32 v3, 16, v13
+; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:660 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:664 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:668 ; 4-byte Folded Reload
+; SI-NEXT: buffer_store_dword v30, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
+; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:432 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_mov_b32_e32 v3, v49
-; SI-NEXT: v_mov_b32_e32 v43, v45
-; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[3:4], v[48:49], 16
-; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:436 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:440 ; 4-byte Folded Spill
+; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:436 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_lshrrev_b32_e32 v2, 16, v0
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:432 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:436 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[3:4], v[44:45], 16
-; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:444 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:448 ; 4-byte Folded Spill
-; SI-NEXT: buffer_load_dword v48, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_lshrrev_b32_e32 v3, 16, v4
+; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:476 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:480 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_lshrrev_b32_e32 v1, 16, v7
+; SI-NEXT: v_mov_b32_e32 v7, v44
+; SI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:676 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:680 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:684 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(3)
-; SI-NEXT: v_mov_b32_e32 v50, v19
-; SI-NEXT: v_lshr_b64 v[0:1], v[1:2], 16
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:492 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:496 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mov_b32_e32 v1, v11
-; SI-NEXT: v_lshr_b64 v[48:49], v[48:49], 16
-; SI-NEXT: v_mov_b32_e32 v49, v46
-; SI-NEXT: s_waitcnt vmcnt(3)
-; SI-NEXT: v_mov_b32_e32 v44, v4
-; SI-NEXT: v_lshr_b64 v[3:4], v[3:4], 16
-; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:452 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:456 ; 4-byte Folded Spill
+; SI-NEXT: v_mov_b32_e32 v7, v55
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:648 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_lshr_b64 v[3:4], v[3:4], 16
-; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:460 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:464 ; 4-byte Folded Spill
+; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:652 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:656 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_mov_b32_e32 v4, v11
+; SI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:384 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:388 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:476 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:480 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:704 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:708 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:712 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_mov_b32_e32 v12, v4
-; SI-NEXT: v_lshr_b64 v[3:4], v[3:4], 16
+; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload
+; SI-NEXT: v_mov_b32_e32 v59, v3
+; SI-NEXT: v_lshr_b64 v[2:3], v[2:3], 16
+; SI-NEXT: v_mov_b32_e32 v3, v10
+; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload
+; SI-NEXT: v_lshr_b64 v[15:16], v[3:4], 16
+; SI-NEXT: v_mov_b32_e32 v3, v41
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:464 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:468 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:472 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[3:4], v[18:19], 16
-; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:476 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:480 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[3:4], v[14:15], 16
-; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:484 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:488 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_mov_b32_e32 v3, v2
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_lshr_b64 v[0:1], v[10:11], 16
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:500 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:504 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mov_b32_e32 v1, v28
-; SI-NEXT: v_mov_b32_e32 v15, v16
-; SI-NEXT: v_mov_b32_e32 v16, v17
-; SI-NEXT: v_mov_b32_e32 v19, v36
-; SI-NEXT: v_mov_b32_e32 v17, v39
-; SI-NEXT: v_mov_b32_e32 v18, v51
-; SI-NEXT: v_mov_b32_e32 v14, v6
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:388 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:392 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:396 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_lshr_b64 v[0:1], v[27:28], 16
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
+; SI-NEXT: v_mov_b32_e32 v3, v20
+; SI-NEXT: s_waitcnt vmcnt(4)
+; SI-NEXT: v_lshr_b64 v[37:38], v[10:11], 16
+; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:672 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:676 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:680 ; 4-byte Folded Reload
+; SI-NEXT: v_lshr_b64 v[38:39], v[40:41], 16
+; SI-NEXT: v_mov_b32_e32 v39, v9
+; SI-NEXT: s_waitcnt vmcnt(1)
+; SI-NEXT: v_mov_b32_e32 v45, v11
+; SI-NEXT: v_mov_b32_e32 v44, v10
+; SI-NEXT: v_lshr_b64 v[10:11], v[44:45], 16
+; SI-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:684 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:688 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:692 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:476 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:480 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v61, off, s[0:3], s32 offset:432 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:436 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(7)
+; SI-NEXT: v_mov_b32_e32 v16, v12
+; SI-NEXT: v_lshr_b64 v[30:31], v[11:12], 16
+; SI-NEXT: s_waitcnt vmcnt(6)
+; SI-NEXT: v_lshr_b64 v[12:13], v[54:55], 16
+; SI-NEXT: v_mov_b32_e32 v13, v4
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:392 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:396 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:400 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[0:1], v[34:35], 16
-; SI-NEXT: v_mov_b32_e32 v1, v32
-; SI-NEXT: v_lshr_b64 v[32:33], v[31:32], 16
-; SI-NEXT: v_lshr_b64 v[33:34], v[6:7], 16
-; SI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:672 ; 4-byte Folded Reload
-; SI-NEXT: v_mov_b32_e32 v35, v15
-; SI-NEXT: v_mov_b32_e32 v28, v48
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:416 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:420 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:424 ; 4-byte Folded Spill
-; SI-NEXT: v_mov_b32_e32 v31, v0
-; SI-NEXT: s_waitcnt expcnt(2)
-; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:640 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:644 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_mov_b32_e32 v22, v0
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshr_b64 v[0:1], v[0:1], 16
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
+; SI-NEXT: v_lshr_b64 v[3:4], v[19:20], 16
+; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:448 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:452 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[0:1], v[36:37], 16
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
+; SI-NEXT: v_lshr_b64 v[3:4], v[8:9], 16
+; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:456 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:460 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload
-; SI-NEXT: v_mov_b32_e32 v37, v8
-; SI-NEXT: v_mov_b32_e32 v36, v24
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshr_b64 v[0:1], v[0:1], 16
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
+; SI-NEXT: v_mov_b32_e32 v3, v29
+; SI-NEXT: buffer_load_dword v54, off, s[0:3], s32 offset:440 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v55, off, s[0:3], s32 offset:444 ; 4-byte Folded Reload
+; SI-NEXT: v_lshr_b64 v[7:8], v[25:26], 16
+; SI-NEXT: v_lshr_b64 v[25:26], v[28:29], 16
+; SI-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:532 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshr_b64 v[0:1], v[0:1], 16
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[0:1], v[15:16], 16
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[0:1], v[25:26], 16
-; SI-NEXT: v_mov_b32_e32 v26, v29
-; SI-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:688 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:636 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
+; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:536 ; 4-byte Folded Reload
+; SI-NEXT: v_mov_b32_e32 v31, v18
+; SI-NEXT: v_lshr_b64 v[18:19], v[23:24], 16
+; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[0:1], v[59:60], 16
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
+; SI-NEXT: v_lshr_b64 v[7:8], v[51:52], 16
+; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v50, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload
+; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(1)
+; SI-NEXT: v_mov_b32_e32 v7, v6
+; SI-NEXT: v_mov_b32_e32 v6, v5
+; SI-NEXT: v_mov_b32_e32 v20, v58
+; SI-NEXT: buffer_load_dword v58, off, s[0:3], s32 offset:564 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[0:1], v[57:58], 16
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
+; SI-NEXT: v_mov_b32_e32 v8, v46
+; SI-NEXT: v_mov_b32_e32 v9, v47
+; SI-NEXT: v_mov_b32_e32 v11, v53
+; SI-NEXT: s_waitcnt vmcnt(14)
+; SI-NEXT: v_lshr_b64 v[46:47], v[43:44], 16
+; SI-NEXT: v_mov_b32_e32 v19, v40
+; SI-NEXT: v_mov_b32_e32 v53, v48
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:412 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:416 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:420 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(1)
+; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[0:1], v[55:56], 16
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
+; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_lshr_b64 v[23:24], v[3:4], 16
+; SI-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[0:1], v[46:47], 16
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
+; SI-NEXT: v_lshr_b64 v[23:24], v[54:55], 16
+; SI-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[0:1], v[41:42], 16
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:384 ; 4-byte Folded Spill
+; SI-NEXT: v_lshr_b64 v[23:24], v[21:22], 16
+; SI-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[0:1], v[39:40], 16
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:400 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:404 ; 4-byte Folded Spill
+; SI-NEXT: v_lshr_b64 v[23:24], v[25:26], 16
+; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:540 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:544 ; 4-byte Folded Reload
+; SI-NEXT: v_mov_b32_e32 v22, v0
+; SI-NEXT: v_lshr_b64 v[4:5], v[0:1], 16
+; SI-NEXT: v_lshr_b64 v[0:1], v[6:7], 16
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:424 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:428 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(1)
+; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[0:1], v[8:9], 16
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:408 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:412 ; 4-byte Folded Spill
+; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload
+; SI-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_lshr_b64 v[23:24], v[32:33], 16
+; SI-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_lshr_b64 v[23:24], v[56:57], 16
+; SI-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_lshr_b64 v[23:24], v[34:35], 16
+; SI-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(1)
+; SI-NEXT: v_lshr_b64 v[3:4], v[40:41], 16
+; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:404 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:408 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(2)
+; SI-NEXT: v_mov_b32_e32 v5, v60
+; SI-NEXT: v_mov_b32_e32 v60, v61
+; SI-NEXT: v_mov_b32_e32 v40, v8
+; SI-NEXT: s_waitcnt vmcnt(12)
+; SI-NEXT: v_mov_b32_e32 v1, v34
+; SI-NEXT: v_mov_b32_e32 v34, v18
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_mov_b32_e32 v4, v56
+; SI-NEXT: v_mov_b32_e32 v56, v15
+; SI-NEXT: v_mov_b32_e32 v55, v14
+; SI-NEXT: v_mov_b32_e32 v41, v2
+; SI-NEXT: v_lshr_b64 v[23:24], v[26:27], 16
+; SI-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_lshr_b64 v[23:24], v[8:9], 16
+; SI-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_lshr_b64 v[23:24], v[50:51], 16
+; SI-NEXT: v_mov_b32_e32 v51, v6
+; SI-NEXT: v_lshr_b64 v[6:7], v[61:62], 16
+; SI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[0:1], v[20:21], 16
-; SI-NEXT: s_waitcnt vmcnt(14)
-; SI-NEXT: v_mov_b32_e32 v16, v41
-; SI-NEXT: v_lshr_b64 v[39:40], v[61:62], 16
-; SI-NEXT: v_mov_b32_e32 v8, v20
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
-; SI-NEXT: v_mov_b32_e32 v11, v10
-; SI-NEXT: v_mov_b32_e32 v10, v13
+; SI-NEXT: v_lshr_b64 v[6:7], v[28:29], 16
+; SI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
+; SI-NEXT: v_mov_b32_e32 v17, v0
+; SI-NEXT: v_mov_b32_e32 v29, v12
+; SI-NEXT: s_waitcnt expcnt(3)
+; SI-NEXT: v_mov_b32_e32 v6, v32
+; SI-NEXT: v_mov_b32_e32 v32, v37
+; SI-NEXT: v_mov_b32_e32 v37, v30
; SI-NEXT: s_branch .LBB101_3
; SI-NEXT: .LBB101_2:
-; SI-NEXT: v_mov_b32_e32 v19, v13
-; SI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
-; SI-NEXT: s_mov_b64 s[4:5], -1
-; SI-NEXT: ; implicit-def: $vgpr0
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
-; SI-NEXT: ; implicit-def: $vgpr26
-; SI-NEXT: ; implicit-def: $vgpr0
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(3)
+; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:556 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt expcnt(2)
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:560 ; 4-byte Folded Reload
+; SI-NEXT: ; implicit-def: $vgpr1
; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
; SI-NEXT: ; implicit-def: $vgpr53
-; SI-NEXT: ; implicit-def: $vgpr0
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
-; SI-NEXT: ; implicit-def: $vgpr0
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:428 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:432 ; 4-byte Folded Spill
-; SI-NEXT: ; implicit-def: $vgpr0
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
+; SI-NEXT: ; implicit-def: $vgpr1
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
+; SI-NEXT: ; implicit-def: $vgpr41
+; SI-NEXT: ; implicit-def: $vgpr1
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
+; SI-NEXT: ; implicit-def: $vgpr55
+; SI-NEXT: ; implicit-def: $vgpr1
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; SI-NEXT: ; implicit-def: $vgpr56
+; SI-NEXT: ; implicit-def: $vgpr1
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
+; SI-NEXT: ; implicit-def: $vgpr32
+; SI-NEXT: ; implicit-def: $vgpr1
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
+; SI-NEXT: ; implicit-def: $vgpr10
+; SI-NEXT: ; implicit-def: $vgpr1
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
+; SI-NEXT: ; implicit-def: $vgpr37
+; SI-NEXT: ; implicit-def: $vgpr1
; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
-; SI-NEXT: ; implicit-def: $vgpr0
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:436 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:440 ; 4-byte Folded Spill
-; SI-NEXT: ; implicit-def: $vgpr0
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; SI-NEXT: ; implicit-def: $vgpr38
+; SI-NEXT: ; implicit-def: $vgpr1
; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
-; SI-NEXT: ; implicit-def: $vgpr0
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:444 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:448 ; 4-byte Folded Spill
-; SI-NEXT: ; implicit-def: $vgpr0
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
+; SI-NEXT: ; implicit-def: $vgpr29
+; SI-NEXT: ; implicit-def: $vgpr1
; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
-; SI-NEXT: ; implicit-def: $vgpr0
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:452 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:456 ; 4-byte Folded Spill
-; SI-NEXT: ; implicit-def: $vgpr0
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
+; SI-NEXT: ; implicit-def: $vgpr42
+; SI-NEXT: ; implicit-def: $vgpr1
; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
; SI-NEXT: ; implicit-def: $vgpr0
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:460 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:464 ; 4-byte Folded Spill
-; SI-NEXT: ; implicit-def: $vgpr0
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
-; SI-NEXT: ; implicit-def: $vgpr28
-; SI-NEXT: ; implicit-def: $vgpr0
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
-; SI-NEXT: ; implicit-def: $vgpr0
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:468 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:472 ; 4-byte Folded Spill
-; SI-NEXT: ; implicit-def: $vgpr0
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
-; SI-NEXT: ; implicit-def: $vgpr0
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:476 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:480 ; 4-byte Folded Spill
-; SI-NEXT: ; implicit-def: $vgpr0
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:384 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:448 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:452 ; 4-byte Folded Spill
; SI-NEXT: ; implicit-def: $vgpr0
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:484 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:488 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:424 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:428 ; 4-byte Folded Spill
; SI-NEXT: ; implicit-def: $vgpr0
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:400 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:456 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:460 ; 4-byte Folded Spill
+; SI-NEXT: ; implicit-def: $vgpr46
+; SI-NEXT: ; implicit-def: $vgpr34
+; SI-NEXT: ; implicit-def: $vgpr1
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
+; SI-NEXT: ; implicit-def: $vgpr1
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
+; SI-NEXT: ; implicit-def: $vgpr1
; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:404 ; 4-byte Folded Spill
-; SI-NEXT: ; implicit-def: $vgpr0
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:492 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:496 ; 4-byte Folded Spill
-; SI-NEXT: ; implicit-def: $vgpr0
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:408 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:412 ; 4-byte Folded Spill
-; SI-NEXT: ; implicit-def: $vgpr0
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:500 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:504 ; 4-byte Folded Spill
-; SI-NEXT: ; implicit-def: $vgpr39
-; SI-NEXT: ; implicit-def: $vgpr0
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
-; SI-NEXT: ; implicit-def: $vgpr0
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
-; SI-NEXT: ; implicit-def: $vgpr31
-; SI-NEXT: ; implicit-def: $vgpr33
-; SI-NEXT: ; implicit-def: $vgpr32
-; SI-NEXT: ; implicit-def: $vgpr10
-; SI-NEXT: ; implicit-def: $vgpr52
-; SI-NEXT: ; implicit-def: $vgpr18
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:408 ; 4-byte Folded Spill
; SI-NEXT: ; implicit-def: $vgpr1
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
-; SI-NEXT: ; implicit-def: $vgpr43
-; SI-NEXT: ; implicit-def: $vgpr44
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
; SI-NEXT: ; implicit-def: $vgpr1
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
; SI-NEXT: ; implicit-def: $vgpr1
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
-; SI-NEXT: ; implicit-def: $vgpr12
-; SI-NEXT: ; implicit-def: $vgpr50
-; SI-NEXT: ; implicit-def: $vgpr54
-; SI-NEXT: ; implicit-def: $vgpr3
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
+; SI-NEXT: ; implicit-def: $vgpr5
+; SI-NEXT: ; implicit-def: $vgpr59
; SI-NEXT: ; implicit-def: $vgpr1
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
+; SI-NEXT: ; implicit-def: $vgpr13
; SI-NEXT: ; implicit-def: $vgpr1
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:388 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:392 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:396 ; 4-byte Folded Spill
-; SI-NEXT: ; implicit-def: $vgpr30
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
+; SI-NEXT: ; implicit-def: $vgpr45
+; SI-NEXT: ; implicit-def: $vgpr16
; SI-NEXT: ; implicit-def: $vgpr1
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:416 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:420 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:424 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:464 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:468 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:472 ; 4-byte Folded Spill
+; SI-NEXT: ; implicit-def: $vgpr1
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:384 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:388 ; 4-byte Folded Spill
+; SI-NEXT: ; implicit-def: $vgpr31
+; SI-NEXT: ; implicit-def: $vgpr1
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:392 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:396 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:400 ; 4-byte Folded Spill
+; SI-NEXT: ; implicit-def: $vgpr39
+; SI-NEXT: ; implicit-def: $vgpr36
+; SI-NEXT: ; implicit-def: $vgpr49
+; SI-NEXT: ; implicit-def: $vgpr52
+; SI-NEXT: ; implicit-def: $vgpr1
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:412 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:416 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:420 ; 4-byte Folded Spill
+; SI-NEXT: s_mov_b64 s[4:5], -1
+; SI-NEXT: v_mov_b32_e32 v26, v24
+; SI-NEXT: s_waitcnt vmcnt(14) expcnt(1)
+; SI-NEXT: v_mov_b32_e32 v1, v6
+; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:548 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:552 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(1)
+; SI-NEXT: v_mov_b32_e32 v4, v6
+; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:540 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:544 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:532 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:536 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(1)
+; SI-NEXT: v_mov_b32_e32 v21, v7
; SI-NEXT: .LBB101_3: ; %Flow
; SI-NEXT: s_and_b64 s[4:5], s[4:5], exec
; SI-NEXT: s_cselect_b32 s4, 1, 0
; SI-NEXT: s_cmp_lg_u32 s4, 1
; SI-NEXT: s_cbranch_scc1 .LBB101_5
; SI-NEXT: ; %bb.4: ; %cmp.true
+; SI-NEXT: v_and_b32_e32 v14, 0xffff0000, v25
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
-; SI-NEXT: v_and_b32_e32 v33, 0xffff0000, v8
-; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
-; SI-NEXT: v_mov_b32_e32 v13, v19
-; SI-NEXT: v_and_b32_e32 v0, 0xffff0000, v13
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_and_b32_e32 v0, 0xffff0000, v11
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_and_b32_e32 v0, 0xffff0000, v59
-; SI-NEXT: v_and_b32_e32 v47, 0xffff0000, v61
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_and_b32_e32 v0, 0xffff0000, v57
-; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload
-; SI-NEXT: v_and_b32_e32 v58, 0xffff0000, v15
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_and_b32_e32 v0, 0xffff0000, v16
-; SI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(12)
-; SI-NEXT: v_and_b32_e32 v3, 0xffff0000, v27
-; SI-NEXT: v_add_f32_e32 v4, 0x40c00000, v3
-; SI-NEXT: v_and_b32_e32 v18, 0xffff0000, v29
-; SI-NEXT: v_add_f32_e32 v18, 0x40c00000, v18
-; SI-NEXT: v_lshrrev_b32_e32 v41, 16, v18
-; SI-NEXT: v_and_b32_e32 v18, 0xffff0000, v34
-; SI-NEXT: v_add_f32_e32 v18, 0x40c00000, v18
-; SI-NEXT: v_lshrrev_b32_e32 v45, 16, v18
-; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:628 ; 4-byte Folded Reload
-; SI-NEXT: v_and_b32_e32 v10, 0xffff0000, v22
-; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
-; SI-NEXT: v_and_b32_e32 v31, 0xffff0000, v14
-; SI-NEXT: v_and_b32_e32 v48, 0xffff0000, v17
-; SI-NEXT: v_and_b32_e32 v17, 0xffff0000, v38
-; SI-NEXT: v_and_b32_e32 v11, 0xffff0000, v36
-; SI-NEXT: v_add_f32_e32 v11, 0x40c00000, v11
-; SI-NEXT: v_lshrrev_b32_e32 v39, 16, v11
-; SI-NEXT: v_add_f32_e32 v10, 0x40c00000, v10
-; SI-NEXT: v_and_b32_e32 v32, 0xffff0000, v55
-; SI-NEXT: v_and_b32_e32 v28, 0xffff0000, v35
-; SI-NEXT: v_and_b32_e32 v35, 0xffff0000, v25
-; SI-NEXT: v_and_b32_e32 v30, 0xffff0000, v49
-; SI-NEXT: v_and_b32_e32 v37, 0xffff0000, v37
-; SI-NEXT: v_lshrrev_b32_e32 v62, 16, v4
+; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(2)
+; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v17
+; SI-NEXT: v_and_b32_e32 v17, 0xffff0000, v26
+; SI-NEXT: v_and_b32_e32 v26, 0xffff0000, v28
+; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
+; SI-NEXT: v_and_b32_e32 v31, 0xffff0000, v4
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_and_b32_e32 v3, 0xffff0000, v20
+; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
+; SI-NEXT: v_add_f32_e32 v3, 0x40c00000, v3
+; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:632 ; 4-byte Folded Reload
+; SI-NEXT: v_lshrrev_b32_e32 v35, 16, v3
+; SI-NEXT: v_and_b32_e32 v52, 0xffff0000, v19
+; SI-NEXT: v_and_b32_e32 v15, 0xffff0000, v1
+; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_and_b32_e32 v1, 0xffff0000, v58
+; SI-NEXT: v_and_b32_e32 v12, 0xffff0000, v6
+; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:628 ; 4-byte Folded Reload
+; SI-NEXT: v_add_f32_e32 v1, 0x40c00000, v1
+; SI-NEXT: v_and_b32_e32 v46, 0xffff0000, v54
+; SI-NEXT: v_and_b32_e32 v53, 0xffff0000, v50
+; SI-NEXT: v_and_b32_e32 v54, 0xffff0000, v51
+; SI-NEXT: v_lshrrev_b32_e32 v51, 16, v1
+; SI-NEXT: v_and_b32_e32 v10, 0xffff0000, v21
+; SI-NEXT: v_and_b32_e32 v18, 0xffff0000, v40
+; SI-NEXT: v_and_b32_e32 v23, 0xffff0000, v43
+; SI-NEXT: v_and_b32_e32 v21, 0xffff0000, v22
+; SI-NEXT: v_and_b32_e32 v22, 0xffff0000, v60
+; SI-NEXT: v_and_b32_e32 v27, 0xffff0000, v24
+; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:624 ; 4-byte Folded Reload
+; SI-NEXT: v_add_f32_e32 v48, 0x40c00000, v27
; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v2
-; SI-NEXT: v_add_f32_e32 v61, 0x40c00000, v2
-; SI-NEXT: s_waitcnt vmcnt(14)
-; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v5
-; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:624 ; 4-byte Folded Reload
-; SI-NEXT: v_add_f32_e32 v24, 0x40c00000, v2
-; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v8
-; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:616 ; 4-byte Folded Reload
-; SI-NEXT: v_add_f32_e32 v3, 0x40c00000, v2
-; SI-NEXT: s_waitcnt vmcnt(14)
-; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v12
-; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:612 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(7)
+; SI-NEXT: v_add_f32_e32 v34, 0x40c00000, v2
+; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
+; SI-NEXT: v_and_b32_e32 v4, 0xffff0000, v4
+; SI-NEXT: v_add_f32_e32 v36, 0x40c00000, v4
; SI-NEXT: v_and_b32_e32 v0, 0xffff0000, v0
-; SI-NEXT: v_add_f32_e32 v59, 0x40c00000, v0
-; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_and_b32_e32 v5, 0xffff0000, v5
-; SI-NEXT: v_add_f32_e32 v6, 0x40c00000, v5
-; SI-NEXT: v_add_f32_e32 v5, 0x40c00000, v2
-; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v15
-; SI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:608 ; 4-byte Folded Reload
+; SI-NEXT: v_add_f32_e32 v50, 0x40c00000, v0
+; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:508 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(8)
+; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v6
+; SI-NEXT: v_add_f32_e32 v32, 0x40c00000, v6
+; SI-NEXT: v_lshr_b64 v[61:62], v[50:51], 16
+; SI-NEXT: s_waitcnt vmcnt(5)
+; SI-NEXT: v_and_b32_e32 v28, 0xffff0000, v24
+; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
+; SI-NEXT: v_add_f32_e32 v28, 0x40c00000, v28
+; SI-NEXT: v_lshrrev_b32_e32 v49, 16, v28
+; SI-NEXT: s_waitcnt vmcnt(6)
+; SI-NEXT: v_and_b32_e32 v19, 0xffff0000, v2
+; SI-NEXT: v_add_f32_e32 v38, 0x40c00000, v19
+; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:496 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(5)
+; SI-NEXT: v_and_b32_e32 v0, 0xffff0000, v0
+; SI-NEXT: v_add_f32_e32 v0, 0x40c00000, v0
; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v8
-; SI-NEXT: v_add_f32_e32 v9, 0x40c00000, v8
-; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload
-; SI-NEXT: v_add_f32_e32 v50, 0x40c00000, v2
-; SI-NEXT: v_lshrrev_b32_e32 v25, 16, v6
-; SI-NEXT: v_lshrrev_b32_e32 v4, 16, v9
+; SI-NEXT: v_and_b32_e32 v27, 0xffff0000, v24
+; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:620 ; 4-byte Folded Reload
+; SI-NEXT: v_add_f32_e32 v29, 0x40c00000, v27
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_and_b32_e32 v28, 0xffff0000, v24
+; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
+; SI-NEXT: v_add_f32_e32 v28, 0x40c00000, v28
+; SI-NEXT: v_lshrrev_b32_e32 v30, 16, v28
; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v7
-; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload
-; SI-NEXT: v_add_f32_e32 v40, 0x40c00000, v2
-; SI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
+; SI-NEXT: v_and_b32_e32 v27, 0xffff0000, v24
+; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:616 ; 4-byte Folded Reload
+; SI-NEXT: v_and_b32_e32 v5, 0xffff0000, v5
+; SI-NEXT: v_add_f32_e32 v5, 0x40c00000, v5
+; SI-NEXT: v_lshrrev_b32_e32 v37, 16, v5
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_and_b32_e32 v28, 0xffff0000, v24
+; SI-NEXT: v_add_f32_e32 v28, 0x40c00000, v28
+; SI-NEXT: v_add_f32_e32 v24, 0x40c00000, v27
+; SI-NEXT: v_lshrrev_b32_e32 v25, 16, v28
+; SI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_and_b32_e32 v28, 0xffff0000, v11
+; SI-NEXT: v_add_f32_e32 v28, 0x40c00000, v28
+; SI-NEXT: v_lshrrev_b32_e32 v59, 16, v28
+; SI-NEXT: v_and_b32_e32 v27, 0xffff0000, v27
+; SI-NEXT: v_add_f32_e32 v58, 0x40c00000, v27
+; SI-NEXT: v_and_b32_e32 v27, 0xffff0000, v2
+; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload
+; SI-NEXT: v_add_f32_e32 v27, 0x40c00000, v27
+; SI-NEXT: v_lshrrev_b32_e32 v39, 16, v27
+; SI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload
+; SI-NEXT: buffer_store_dword v38, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt vmcnt(5)
+; SI-NEXT: v_and_b32_e32 v16, 0xffff0000, v2
+; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:492 ; 4-byte Folded Reload
+; SI-NEXT: v_and_b32_e32 v7, 0xffff0000, v7
+; SI-NEXT: v_add_f32_e32 v7, 0x40c00000, v7
+; SI-NEXT: v_lshrrev_b32_e32 v33, 16, v7
+; SI-NEXT: v_add_f32_e32 v40, 0x40c00000, v16
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_lshr_b64 v[38:39], v[38:39], 16
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_and_b32_e32 v19, 0xffff0000, v2
+; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload
+; SI-NEXT: v_add_f32_e32 v19, 0x40c00000, v19
+; SI-NEXT: v_lshrrev_b32_e32 v41, 16, v19
+; SI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt vmcnt(3)
-; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v7
-; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
-; SI-NEXT: v_add_f32_e32 v44, 0x40c00000, v2
-; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v18
-; SI-NEXT: v_add_f32_e32 v26, 0x40c00000, v2
-; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:604 ; 4-byte Folded Reload
-; SI-NEXT: v_and_b32_e32 v12, 0xffff0000, v12
-; SI-NEXT: v_add_f32_e32 v13, 0x40c00000, v12
-; SI-NEXT: v_lshrrev_b32_e32 v6, 16, v13
-; SI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt vmcnt(4)
-; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v7
-; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
-; SI-NEXT: v_add_f32_e32 v12, 0x40c00000, v2
+; SI-NEXT: v_and_b32_e32 v13, 0xffff0000, v2
+; SI-NEXT: v_add_f32_e32 v42, 0x40c00000, v13
+; SI-NEXT: v_and_b32_e32 v13, 0xffff0000, v27
+; SI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload
+; SI-NEXT: v_add_f32_e32 v44, 0x40c00000, v13
; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v7
-; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:532 ; 4-byte Folded Reload
-; SI-NEXT: v_add_f32_e32 v19, 0x40c00000, v2
-; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v21
-; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload
-; SI-NEXT: v_add_f32_e32 v52, 0x40c00000, v2
+; SI-NEXT: v_and_b32_e32 v13, 0xffff0000, v27
+; SI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload
+; SI-NEXT: v_add_f32_e32 v3, 0x40c00000, v13
+; SI-NEXT: s_waitcnt vmcnt(1)
+; SI-NEXT: v_and_b32_e32 v13, 0xffff0000, v27
+; SI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
+; SI-NEXT: v_add_f32_e32 v56, 0x40c00000, v13
+; SI-NEXT: s_waitcnt vmcnt(1)
+; SI-NEXT: v_and_b32_e32 v13, 0xffff0000, v27
+; SI-NEXT: v_add_f32_e32 v5, 0x40c00000, v13
+; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:604 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:488 ; 4-byte Folded Reload
+; SI-NEXT: v_add_f32_e32 v27, 0x40c00000, v8
; SI-NEXT: v_and_b32_e32 v1, 0xffff0000, v1
; SI-NEXT: v_add_f32_e32 v1, 0x40c00000, v1
-; SI-NEXT: v_lshrrev_b32_e32 v60, 16, v1
-; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:620 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(5)
-; SI-NEXT: v_and_b32_e32 v14, 0xffff0000, v7
-; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
-; SI-NEXT: v_add_f32_e32 v14, 0x40c00000, v14
-; SI-NEXT: v_lshrrev_b32_e32 v20, 16, v14
-; SI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:600 ; 4-byte Folded Reload
-; SI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt vmcnt(7)
-; SI-NEXT: v_and_b32_e32 v0, 0xffff0000, v0
-; SI-NEXT: v_add_f32_e32 v0, 0x40c00000, v0
-; SI-NEXT: s_waitcnt vmcnt(4)
-; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v7
-; SI-NEXT: v_add_f32_e32 v38, 0x40c00000, v2
-; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v21
-; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload
-; SI-NEXT: v_add_f32_e32 v54, 0x40c00000, v2
-; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:528 ; 4-byte Folded Reload
-; SI-NEXT: buffer_store_dword v38, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
+; SI-NEXT: v_lshrrev_b32_e32 v1, 16, v1
+; SI-NEXT: s_waitcnt vmcnt(1)
+; SI-NEXT: v_and_b32_e32 v13, 0xffff0000, v13
+; SI-NEXT: v_add_f32_e32 v47, 0x40c00000, v13
+; SI-NEXT: v_lshrrev_b32_e32 v28, 16, v47
+; SI-NEXT: v_lshr_b64 v[7:8], v[27:28], 16
+; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:484 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(3)
+; SI-NEXT: v_and_b32_e32 v16, 0xffff0000, v2
+; SI-NEXT: v_add_f32_e32 v16, 0x40c00000, v16
+; SI-NEXT: v_lshrrev_b32_e32 v43, 16, v16
+; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:612 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:500 ; 4-byte Folded Reload
+; SI-NEXT: v_lshr_b64 v[27:28], v[48:49], 16
+; SI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt vmcnt(4)
-; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v21
-; SI-NEXT: v_add_f32_e32 v42, 0x40c00000, v2
-; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:592 ; 4-byte Folded Reload
+; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v8
+; SI-NEXT: v_add_f32_e32 v55, 0x40c00000, v8
+; SI-NEXT: v_add_f32_e32 v8, 0x40c00000, v46
+; SI-NEXT: v_lshrrev_b32_e32 v9, 16, v55
+; SI-NEXT: v_lshr_b64 v[7:8], v[8:9], 16
+; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:600 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v2
-; SI-NEXT: v_add_f32_e32 v34, 0x40c00000, v2
-; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:588 ; 4-byte Folded Reload
-; SI-NEXT: v_lshrrev_b32_e32 v11, 16, v34
-; SI-NEXT: v_lshr_b64 v[10:11], v[10:11], 16
-; SI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v2
-; SI-NEXT: v_add_f32_e32 v56, 0x40c00000, v2
-; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload
+; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v8
+; SI-NEXT: v_add_f32_e32 v46, 0x40c00000, v8
+; SI-NEXT: v_add_f32_e32 v8, 0x40c00000, v10
+; SI-NEXT: v_lshrrev_b32_e32 v9, 16, v46
+; SI-NEXT: v_lshr_b64 v[7:8], v[8:9], 16
+; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v11, 16, v56
-; SI-NEXT: v_and_b32_e32 v7, 0xffff0000, v7
-; SI-NEXT: v_add_f32_e32 v7, 0x40c00000, v7
-; SI-NEXT: v_lshrrev_b32_e32 v55, 16, v7
-; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:596 ; 4-byte Folded Reload
-; SI-NEXT: buffer_store_dword v54, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
+; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:596 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v8
+; SI-NEXT: v_add_f32_e32 v10, 0x40c00000, v8
+; SI-NEXT: v_add_f32_e32 v8, 0x40c00000, v14
+; SI-NEXT: v_lshrrev_b32_e32 v9, 16, v10
+; SI-NEXT: v_lshr_b64 v[7:8], v[8:9], 16
+; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:592 ; 4-byte Folded Reload
+; SI-NEXT: v_and_b32_e32 v16, 0xffff0000, v16
+; SI-NEXT: v_add_f32_e32 v16, 0x40c00000, v16
+; SI-NEXT: v_lshrrev_b32_e32 v45, 16, v16
+; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:608 ; 4-byte Folded Reload
+; SI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; SI-NEXT: v_and_b32_e32 v39, 0xffff0000, v10
; SI-NEXT: s_waitcnt vmcnt(3)
-; SI-NEXT: v_add_f32_e32 v10, 0x40c00000, v2
-; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:584 ; 4-byte Folded Reload
-; SI-NEXT: v_lshr_b64 v[10:11], v[10:11], 16
-; SI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_add_f32_e32 v10, 0x40c00000, v58
-; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v2
-; SI-NEXT: v_add_f32_e32 v57, 0x40c00000, v2
-; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:580 ; 4-byte Folded Reload
+; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v8
+; SI-NEXT: v_add_f32_e32 v11, 0x40c00000, v8
+; SI-NEXT: v_add_f32_e32 v8, 0x40c00000, v12
+; SI-NEXT: v_lshrrev_b32_e32 v9, 16, v11
+; SI-NEXT: v_lshr_b64 v[7:8], v[8:9], 16
+; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v11, 16, v57
-; SI-NEXT: v_lshr_b64 v[10:11], v[10:11], 16
-; SI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v2
-; SI-NEXT: v_add_f32_e32 v58, 0x40c00000, v2
-; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload
-; SI-NEXT: v_and_b32_e32 v7, 0xffff0000, v7
-; SI-NEXT: v_add_f32_e32 v7, 0x40c00000, v7
+; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:512 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(5)
+; SI-NEXT: v_and_b32_e32 v16, 0xffff0000, v16
+; SI-NEXT: v_add_f32_e32 v16, 0x40c00000, v16
+; SI-NEXT: v_lshrrev_b32_e32 v4, 16, v16
+; SI-NEXT: v_and_b32_e32 v16, 0xffff0000, v2
+; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:524 ; 4-byte Folded Reload
+; SI-NEXT: v_add_f32_e32 v16, 0x40c00000, v16
+; SI-NEXT: v_lshrrev_b32_e32 v57, 16, v16
+; SI-NEXT: v_and_b32_e32 v11, 0xffff0000, v11
+; SI-NEXT: s_waitcnt vmcnt(1)
+; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v8
+; SI-NEXT: v_add_f32_e32 v12, 0x40c00000, v8
+; SI-NEXT: v_add_f32_e32 v8, 0x40c00000, v31
+; SI-NEXT: v_lshrrev_b32_e32 v9, 16, v12
+; SI-NEXT: v_lshr_b64 v[7:8], v[8:9], 16
+; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v11, 16, v58
-; SI-NEXT: v_lshrrev_b32_e32 v43, 16, v7
-; SI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_add_f32_e32 v10, 0x40c00000, v2
-; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:576 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:588 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v8
+; SI-NEXT: v_add_f32_e32 v13, 0x40c00000, v8
+; SI-NEXT: v_add_f32_e32 v8, 0x40c00000, v15
+; SI-NEXT: v_lshrrev_b32_e32 v9, 16, v13
+; SI-NEXT: v_lshr_b64 v[7:8], v[8:9], 16
+; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:584 ; 4-byte Folded Reload
+; SI-NEXT: v_and_b32_e32 v16, 0xffff0000, v2
+; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:528 ; 4-byte Folded Reload
+; SI-NEXT: v_add_f32_e32 v16, 0x40c00000, v16
+; SI-NEXT: v_lshrrev_b32_e32 v6, 16, v16
+; SI-NEXT: s_waitcnt vmcnt(1)
+; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v8
+; SI-NEXT: v_add_f32_e32 v14, 0x40c00000, v8
+; SI-NEXT: v_add_f32_e32 v8, 0x40c00000, v17
+; SI-NEXT: v_lshrrev_b32_e32 v9, 16, v14
+; SI-NEXT: v_lshr_b64 v[7:8], v[8:9], 16
+; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt vmcnt(2) expcnt(0)
+; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v2
+; SI-NEXT: v_add_f32_e32 v15, 0x40c00000, v8
+; SI-NEXT: v_add_f32_e32 v8, 0x40c00000, v18
+; SI-NEXT: v_lshrrev_b32_e32 v9, 16, v15
+; SI-NEXT: v_lshr_b64 v[7:8], v[8:9], 16
+; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:520 ; 4-byte Folded Reload
; SI-NEXT: v_and_b32_e32 v14, 0xffff0000, v14
-; SI-NEXT: v_add_f32_e32 v14, 0x40c00000, v14
-; SI-NEXT: v_lshrrev_b32_e32 v53, 16, v14
-; SI-NEXT: v_lshr_b64 v[7:8], v[10:11], 16
-; SI-NEXT: v_add_f32_e32 v10, 0x40c00000, v28
-; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt vmcnt(4)
-; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v2
-; SI-NEXT: v_add_f32_e32 v14, 0x40c00000, v2
-; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:572 ; 4-byte Folded Reload
-; SI-NEXT: v_lshrrev_b32_e32 v11, 16, v14
-; SI-NEXT: s_waitcnt expcnt(2)
-; SI-NEXT: v_lshr_b64 v[7:8], v[10:11], 16
-; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
-; SI-NEXT: v_add_f32_e32 v10, 0x40c00000, v35
-; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v2
-; SI-NEXT: v_add_f32_e32 v28, 0x40c00000, v2
-; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:568 ; 4-byte Folded Reload
-; SI-NEXT: v_lshrrev_b32_e32 v11, 16, v28
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v8
+; SI-NEXT: v_add_f32_e32 v16, 0x40c00000, v8
+; SI-NEXT: v_add_f32_e32 v8, 0x40c00000, v53
+; SI-NEXT: v_lshrrev_b32_e32 v9, 16, v16
+; SI-NEXT: v_lshr_b64 v[7:8], v[8:9], 16
+; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[7:8], v[10:11], 16
-; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v2
-; SI-NEXT: v_add_f32_e32 v29, 0x40c00000, v2
-; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload
-; SI-NEXT: v_lshrrev_b32_e32 v11, 16, v29
-; SI-NEXT: v_and_b32_e32 v18, 0xffff0000, v18
-; SI-NEXT: v_add_f32_e32 v18, 0x40c00000, v18
-; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v18
-; SI-NEXT: v_add_f32_e32 v18, 0x40c00000, v17
-; SI-NEXT: v_lshrrev_b32_e32 v13, 16, v18
-; SI-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt vmcnt(4)
-; SI-NEXT: v_add_f32_e32 v10, 0x40c00000, v2
-; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:564 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt expcnt(4)
-; SI-NEXT: v_lshr_b64 v[7:8], v[10:11], 16
-; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v2
-; SI-NEXT: v_add_f32_e32 v21, 0x40c00000, v2
-; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload
-; SI-NEXT: v_lshrrev_b32_e32 v11, 16, v21
-; SI-NEXT: v_and_b32_e32 v15, 0xffff0000, v15
-; SI-NEXT: v_add_f32_e32 v16, 0x40c00000, v15
-; SI-NEXT: v_lshrrev_b32_e32 v51, 16, v16
-; SI-NEXT: v_lshr_b64 v[16:17], v[50:51], 16
-; SI-NEXT: v_and_b32_e32 v17, 0xffff0000, v57
+; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:516 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_add_f32_e32 v10, 0x40c00000, v2
-; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:560 ; 4-byte Folded Reload
+; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v8
+; SI-NEXT: v_add_f32_e32 v17, 0x40c00000, v8
+; SI-NEXT: v_add_f32_e32 v8, 0x40c00000, v21
+; SI-NEXT: v_lshrrev_b32_e32 v9, 16, v17
+; SI-NEXT: v_lshr_b64 v[7:8], v[8:9], 16
+; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[7:8], v[10:11], 16
-; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
-; SI-NEXT: v_add_f32_e32 v10, 0x40c00000, v32
-; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v2
-; SI-NEXT: v_add_f32_e32 v22, 0x40c00000, v2
-; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:556 ; 4-byte Folded Reload
-; SI-NEXT: v_lshrrev_b32_e32 v11, 16, v22
+; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:580 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v8
+; SI-NEXT: v_add_f32_e32 v18, 0x40c00000, v8
+; SI-NEXT: v_add_f32_e32 v8, 0x40c00000, v54
+; SI-NEXT: v_lshrrev_b32_e32 v9, 16, v18
+; SI-NEXT: v_lshr_b64 v[7:8], v[8:9], 16
+; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:424 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:428 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[7:8], v[10:11], 16
-; SI-NEXT: v_add_f32_e32 v10, 0x40c00000, v30
-; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v2
-; SI-NEXT: v_add_f32_e32 v23, 0x40c00000, v2
-; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:552 ; 4-byte Folded Reload
-; SI-NEXT: v_lshrrev_b32_e32 v11, 16, v23
+; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:576 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v8
+; SI-NEXT: v_add_f32_e32 v19, 0x40c00000, v8
+; SI-NEXT: v_add_f32_e32 v8, 0x40c00000, v23
+; SI-NEXT: v_lshrrev_b32_e32 v9, 16, v19
+; SI-NEXT: v_lshr_b64 v[7:8], v[8:9], 16
+; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[7:8], v[10:11], 16
+; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:572 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v8
+; SI-NEXT: v_add_f32_e32 v20, 0x40c00000, v8
+; SI-NEXT: v_add_f32_e32 v8, 0x40c00000, v22
+; SI-NEXT: v_lshrrev_b32_e32 v9, 16, v20
+; SI-NEXT: v_lshr_b64 v[7:8], v[8:9], 16
; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
-; SI-NEXT: v_and_b32_e32 v15, 0xffff0000, v23
-; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v2
-; SI-NEXT: v_add_f32_e32 v30, 0x40c00000, v2
-; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload
-; SI-NEXT: v_lshrrev_b32_e32 v11, 16, v30
-; SI-NEXT: v_and_b32_e32 v1, 0xffff0000, v1
-; SI-NEXT: v_add_f32_e32 v1, 0x40c00000, v1
-; SI-NEXT: v_lshrrev_b32_e32 v1, 16, v1
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_add_f32_e32 v10, 0x40c00000, v2
-; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:548 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[7:8], v[10:11], 16
-; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:384 ; 4-byte Folded Spill
-; SI-NEXT: v_add_f32_e32 v10, 0x40c00000, v48
-; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v2
-; SI-NEXT: v_add_f32_e32 v35, 0x40c00000, v2
-; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:544 ; 4-byte Folded Reload
-; SI-NEXT: v_lshrrev_b32_e32 v11, 16, v35
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[7:8], v[10:11], 16
-; SI-NEXT: v_add_f32_e32 v10, 0x40c00000, v37
-; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:400 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:404 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v2
-; SI-NEXT: v_add_f32_e32 v36, 0x40c00000, v2
-; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:524 ; 4-byte Folded Reload
-; SI-NEXT: v_lshrrev_b32_e32 v11, 16, v36
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[7:8], v[10:11], 16
-; SI-NEXT: v_add_f32_e32 v10, 0x40c00000, v47
-; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:408 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:412 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v2
-; SI-NEXT: v_add_f32_e32 v37, 0x40c00000, v2
-; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:540 ; 4-byte Folded Reload
-; SI-NEXT: v_lshrrev_b32_e32 v11, 16, v37
-; SI-NEXT: v_lshr_b64 v[46:47], v[10:11], 16
-; SI-NEXT: v_add_f32_e32 v10, 0x40c00000, v33
+; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:568 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v2
-; SI-NEXT: v_add_f32_e32 v2, 0x40c00000, v2
-; SI-NEXT: v_lshrrev_b32_e32 v11, 16, v2
-; SI-NEXT: v_lshr_b64 v[10:11], v[10:11], 16
-; SI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:536 ; 4-byte Folded Reload
+; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v8
+; SI-NEXT: v_add_f32_e32 v21, 0x40c00000, v8
+; SI-NEXT: v_add_f32_e32 v8, 0x40c00000, v52
+; SI-NEXT: v_lshrrev_b32_e32 v9, 16, v21
+; SI-NEXT: v_lshr_b64 v[7:8], v[8:9], 16
+; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:404 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:408 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:504 ; 4-byte Folded Reload
+; SI-NEXT: v_lshr_b64 v[52:53], v[0:1], 16
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v10, 0xffff0000, v10
-; SI-NEXT: v_add_f32_e32 v48, 0x40c00000, v10
-; SI-NEXT: v_add_f32_e32 v10, 0x40c00000, v31
-; SI-NEXT: v_and_b32_e32 v31, 0xffff0000, v2
-; SI-NEXT: v_mov_b32_e32 v2, v1
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(2)
-; SI-NEXT: v_lshrrev_b32_e32 v11, 16, v48
-; SI-NEXT: v_lshr_b64 v[7:8], v[10:11], 16
-; SI-NEXT: v_mov_b32_e32 v10, v60
+; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v8
+; SI-NEXT: v_add_f32_e32 v22, 0x40c00000, v8
+; SI-NEXT: v_add_f32_e32 v8, 0x40c00000, v26
+; SI-NEXT: v_lshrrev_b32_e32 v9, 16, v22
+; SI-NEXT: v_lshr_b64 v[7:8], v[8:9], 16
+; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_mov_b32_e32 v8, v51
+; SI-NEXT: v_and_b32_e32 v51, 0xffff0000, v21
+; SI-NEXT: v_and_b32_e32 v26, 0xffff0000, v17
+; SI-NEXT: v_and_b32_e32 v17, 0xffff0000, v16
+; SI-NEXT: v_and_b32_e32 v60, 0xffff0000, v22
+; SI-NEXT: v_and_b32_e32 v22, 0xffff0000, v46
; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_lshr_b64 v[8:9], v[24:25], 16
-; SI-NEXT: v_and_b32_e32 v47, 0xffff0000, v48
-; SI-NEXT: v_lshr_b64 v[48:49], v[59:60], 16
-; SI-NEXT: v_and_b32_e32 v59, 0xffff0000, v37
-; SI-NEXT: v_and_b32_e32 v7, 0xffff0000, v36
-; SI-NEXT: v_and_b32_e32 v9, 0xffff0000, v21
-; SI-NEXT: v_lshr_b64 v[36:37], v[26:27], 16
-; SI-NEXT: v_and_b32_e32 v21, 0xffff0000, v14
-; SI-NEXT: v_and_b32_e32 v49, 0xffff0000, v22
-; SI-NEXT: v_lshr_b64 v[22:23], v[19:20], 16
-; SI-NEXT: v_lshr_b64 v[18:19], v[38:39], 16
-; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v35
-; SI-NEXT: v_and_b32_e32 v24, 0xffff0000, v28
-; SI-NEXT: v_and_b32_e32 v35, 0xffff0000, v29
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[10:11], v[44:45], 16
-; SI-NEXT: v_lshr_b64 v[60:61], v[61:62], 16
-; SI-NEXT: v_mov_b32_e32 v29, v10
-; SI-NEXT: v_mov_b32_e32 v28, v9
-; SI-NEXT: v_and_b32_e32 v9, 0xffff0000, v34
-; SI-NEXT: v_lshr_b64 v[10:11], v[42:43], 16
-; SI-NEXT: v_mov_b32_e32 v39, v46
-; SI-NEXT: v_mov_b32_e32 v43, v22
-; SI-NEXT: v_lshr_b64 v[32:33], v[0:1], 16
-; SI-NEXT: v_mov_b32_e32 v1, v62
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mov_b32_e32 v1, v25
-; SI-NEXT: v_lshr_b64 v[25:26], v[12:13], 16
-; SI-NEXT: v_lshr_b64 v[13:14], v[52:53], 16
-; SI-NEXT: v_and_b32_e32 v12, 0xffff0000, v58
-; SI-NEXT: buffer_store_dword v12, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v14, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
-; SI-NEXT: v_lshr_b64 v[52:53], v[54:55], 16
-; SI-NEXT: v_lshr_b64 v[26:27], v[9:10], 16
-; SI-NEXT: v_mov_b32_e32 v44, v25
+; SI-NEXT: v_mov_b32_e32 v8, v1
+; SI-NEXT: v_mov_b32_e32 v1, v35
; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mov_b32_e32 v1, v4
-; SI-NEXT: v_lshr_b64 v[3:4], v[3:4], 16
-; SI-NEXT: v_and_b32_e32 v4, 0xffff0000, v30
-; SI-NEXT: v_mov_b32_e32 v30, v32
-; SI-NEXT: v_lshr_b64 v[31:32], v[31:32], 16
-; SI-NEXT: v_lshr_b64 v[32:33], v[47:48], 16
-; SI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload
+; SI-NEXT: v_mov_b32_e32 v1, v37
+; SI-NEXT: v_lshr_b64 v[36:37], v[36:37], 16
+; SI-NEXT: v_and_b32_e32 v37, 0xffff0000, v13
+; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(1)
+; SI-NEXT: v_and_b32_e32 v0, 0xffff0000, v18
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mov_b32_e32 v1, v6
-; SI-NEXT: v_lshr_b64 v[5:6], v[5:6], 16
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; SI-NEXT: v_mov_b32_e32 v1, v33
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mov_b32_e32 v1, v51
-; SI-NEXT: v_lshr_b64 v[50:51], v[40:41], 16
-; SI-NEXT: v_and_b32_e32 v51, 0xffff0000, v56
-; SI-NEXT: v_lshr_b64 v[53:54], v[51:52], 16
-; SI-NEXT: v_mov_b32_e32 v54, v5
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; SI-NEXT: v_lshr_b64 v[1:2], v[32:33], 16
+; SI-NEXT: v_mov_b32_e32 v2, v49
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; SI-NEXT: v_lshr_b64 v[8:9], v[34:35], 16
+; SI-NEXT: v_and_b32_e32 v35, 0xffff0000, v19
+; SI-NEXT: v_lshr_b64 v[18:19], v[29:30], 16
+; SI-NEXT: v_and_b32_e32 v7, 0xffff0000, v20
+; SI-NEXT: v_lshr_b64 v[20:21], v[40:41], 16
+; SI-NEXT: v_lshr_b64 v[40:41], v[44:45], 16
+; SI-NEXT: v_and_b32_e32 v29, 0xffff0000, v15
+; SI-NEXT: v_lshr_b64 v[15:16], v[58:59], 16
+; SI-NEXT: v_and_b32_e32 v19, 0xffff0000, v12
+; SI-NEXT: v_lshr_b64 v[12:13], v[42:43], 16
+; SI-NEXT: v_mov_b32_e32 v45, v20
+; SI-NEXT: v_mov_b32_e32 v44, v19
+; SI-NEXT: v_mov_b32_e32 v16, v38
+; SI-NEXT: v_lshr_b64 v[37:38], v[37:38], 16
+; SI-NEXT: v_lshr_b64 v[32:33], v[11:12], 16
+; SI-NEXT: v_lshr_b64 v[10:11], v[44:45], 16
+; SI-NEXT: v_lshr_b64 v[34:35], v[35:36], 16
+; SI-NEXT: v_mov_b32_e32 v13, v40
+; SI-NEXT: v_mov_b32_e32 v49, v1
+; SI-NEXT: v_mov_b32_e32 v48, v0
; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_mov_b32_e32 v0, v2
+; SI-NEXT: v_mov_b32_e32 v1, v30
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mov_b32_e32 v1, v3
-; SI-NEXT: v_lshr_b64 v[2:3], v[17:18], 16
-; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:428 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:432 ; 4-byte Folded Spill
+; SI-NEXT: v_mov_b32_e32 v1, v25
+; SI-NEXT: v_lshr_b64 v[30:31], v[24:25], 16
+; SI-NEXT: v_lshr_b64 v[23:24], v[3:4], 16
+; SI-NEXT: v_mov_b32_e32 v3, v57
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
+; SI-NEXT: v_mov_b32_e32 v31, v18
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[2:3], v[12:13], 16
-; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:436 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:440 ; 4-byte Folded Spill
+; SI-NEXT: v_mov_b32_e32 v1, v59
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[2:3], v[21:22], 16
-; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:444 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:448 ; 4-byte Folded Spill
+; SI-NEXT: v_mov_b32_e32 v1, v4
+; SI-NEXT: v_and_b32_e32 v4, 0xffff0000, v47
+; SI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[2:3], v[24:25], 16
-; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:452 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:456 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_mov_b32_e32 v2, v36
-; SI-NEXT: v_mov_b32_e32 v12, v50
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
+; SI-NEXT: v_mov_b32_e32 v1, v6
+; SI-NEXT: v_lshr_b64 v[5:6], v[5:6], 16
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[2:3], v[35:36], 16
-; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:460 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:464 ; 4-byte Folded Spill
+; SI-NEXT: v_lshr_b64 v[1:2], v[56:57], 16
+; SI-NEXT: v_and_b32_e32 v0, 0xffff0000, v55
+; SI-NEXT: v_mov_b32_e32 v59, v1
+; SI-NEXT: v_lshr_b64 v[41:42], v[0:1], 16
+; SI-NEXT: v_mov_b32_e32 v1, v23
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_mov_b32_e32 v2, v29
-; SI-NEXT: v_lshr_b64 v[28:29], v[28:29], 16
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[2:3], v[49:50], 16
-; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:468 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:472 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[2:3], v[15:16], 16
-; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:476 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:480 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[2:3], v[4:5], 16
-; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:484 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:488 ; 4-byte Folded Spill
-; SI-NEXT: v_mov_b32_e32 v50, v16
+; SI-NEXT: v_mov_b32_e32 v1, v12
+; SI-NEXT: v_lshr_b64 v[55:56], v[22:23], 16
+; SI-NEXT: v_lshr_b64 v[53:54], v[4:5], 16
+; SI-NEXT: v_lshr_b64 v[56:57], v[39:40], 16
+; SI-NEXT: v_lshr_b64 v[38:39], v[14:15], 16
+; SI-NEXT: v_lshr_b64 v[42:43], v[17:18], 16
+; SI-NEXT: v_mov_b32_e32 v39, v49
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(1)
+; SI-NEXT: v_mov_b32_e32 v1, v15
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:464 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:468 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:472 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(1)
+; SI-NEXT: v_mov_b32_e32 v1, v30
+; SI-NEXT: v_lshr_b64 v[29:30], v[29:30], 16
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:384 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:388 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(1)
+; SI-NEXT: v_mov_b32_e32 v1, v27
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:392 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:396 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:400 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(1)
+; SI-NEXT: v_lshr_b64 v[0:1], v[26:27], 16
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:448 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:452 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mov_b32_e32 v3, v1
-; SI-NEXT: v_lshr_b64 v[0:1], v[0:1], 16
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:492 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:496 ; 4-byte Folded Spill
+; SI-NEXT: v_lshr_b64 v[0:1], v[48:49], 16
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:456 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:460 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mov_b32_e32 v1, v8
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(1)
; SI-NEXT: v_lshr_b64 v[0:1], v[7:8], 16
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:500 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:504 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mov_b32_e32 v1, v60
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:388 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:392 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:396 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_lshr_b64 v[0:1], v[59:60], 16
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
+; SI-NEXT: v_lshr_b64 v[0:1], v[51:52], 16
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mov_b32_e32 v1, v48
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:416 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:420 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:424 ; 4-byte Folded Spill
-; SI-NEXT: .LBB101_5: ; %end
-; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload
+; SI-NEXT: v_mov_b32_e32 v1, v61
+; SI-NEXT: v_mov_b32_e32 v49, v8
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:412 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:416 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:420 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload
+; SI-NEXT: v_lshr_b64 v[0:1], v[60:61], 16
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
+; SI-NEXT: .LBB101_5: ; %end
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:280 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(3)
-; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v26
-; SI-NEXT: v_and_b32_e32 v2, 0xffff, v10
-; SI-NEXT: v_and_b32_e32 v25, 0xffff, v3
-; SI-NEXT: v_and_b32_e32 v4, 0xffff, v52
-; SI-NEXT: v_and_b32_e32 v6, 0xffff, v18
-; SI-NEXT: v_and_b32_e32 v19, 0xffff, v12
-; SI-NEXT: v_and_b32_e32 v10, 0xffff, v43
-; SI-NEXT: v_and_b32_e32 v11, 0xffff, v44
-; SI-NEXT: v_and_b32_e32 v21, 0xffff, v50
-; SI-NEXT: v_and_b32_e32 v23, 0xffff, v54
-; SI-NEXT: buffer_load_dword v62, off, s[0:3], s32 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v61, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v60, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v59, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v58, off, s[0:3], s32 offset:16 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v57, off, s[0:3], s32 offset:20 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v56, off, s[0:3], s32 offset:24 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:28 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:32 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:36 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:40 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:44 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:48 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:52 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:56 ; 4-byte Folded Reload
+; SI-NEXT: v_and_b32_e32 v1, 0xffff, v5
+; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:360 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:364 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:368 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
+; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v53
+; SI-NEXT: s_waitcnt vmcnt(7)
+; SI-NEXT: v_and_b32_e32 v8, 0xffff, v13
+; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload
+; SI-NEXT: v_and_b32_e32 v3, 0xffff, v59
+; SI-NEXT: s_waitcnt vmcnt(9)
+; SI-NEXT: v_lshlrev_b32_e32 v4, 16, v55
+; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:392 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:396 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:400 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(5)
+; SI-NEXT: v_lshlrev_b32_e32 v12, 16, v32
+; SI-NEXT: v_lshlrev_b32_e32 v10, 16, v10
+; SI-NEXT: v_and_b32_e32 v11, 0xffff, v45
+; SI-NEXT: s_waitcnt vmcnt(2)
+; SI-NEXT: v_lshlrev_b32_e32 v20, 16, v42
+; SI-NEXT: v_and_b32_e32 v19, 0xffff, v31
+; SI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:456 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:460 ; 4-byte Folded Reload
+; SI-NEXT: v_and_b32_e32 v25, 0xffff, v39
+; SI-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:272 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:276 ; 4-byte Folded Reload
+; SI-NEXT: v_and_b32_e32 v32, 0xffff, v52
; SI-NEXT: v_readlane_b32 s30, v63, 3
; SI-NEXT: v_readlane_b32 s31, v63, 4
; SI-NEXT: v_readlane_b32 s36, v63, 2
; SI-NEXT: v_readlane_b32 s35, v63, 1
; SI-NEXT: v_readlane_b32 s34, v63, 0
-; SI-NEXT: v_and_b32_e32 v16, 0xffff, v14
-; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload
-; SI-NEXT: v_and_b32_e32 v0, 0xffff, v0
-; SI-NEXT: v_or_b32_e32 v0, v0, v1
-; SI-NEXT: s_waitcnt vmcnt(14)
-; SI-NEXT: v_and_b32_e32 v9, 0xffff, v8
-; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(3)
-; SI-NEXT: v_and_b32_e32 v17, 0xffff, v14
-; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:444 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:448 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v14
-; SI-NEXT: v_or_b32_e32 v1, v2, v1
-; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshlrev_b32_e32 v3, 16, v53
-; SI-NEXT: v_and_b32_e32 v2, 0xffff, v2
-; SI-NEXT: v_or_b32_e32 v2, v2, v3
-; SI-NEXT: v_lshlrev_b32_e32 v3, 16, v8
-; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:428 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:432 ; 4-byte Folded Reload
-; SI-NEXT: v_or_b32_e32 v3, v4, v3
-; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshlrev_b32_e32 v5, 16, v7
-; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
-; SI-NEXT: v_and_b32_e32 v4, 0xffff, v4
-; SI-NEXT: v_or_b32_e32 v4, v4, v5
+; SI-NEXT: v_and_b32_e32 v5, 0xffff, v5
+; SI-NEXT: v_and_b32_e32 v0, 0xffff, v6
+; SI-NEXT: v_or_b32_e32 v0, v0, v2
+; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v24
+; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:268 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload
+; SI-NEXT: v_or_b32_e32 v1, v1, v2
+; SI-NEXT: v_and_b32_e32 v9, 0xffff, v13
+; SI-NEXT: v_and_b32_e32 v13, 0xffff, v16
+; SI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:464 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:468 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:472 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:380 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:384 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:388 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(5)
+; SI-NEXT: v_lshlrev_b32_e32 v14, 16, v37
+; SI-NEXT: v_and_b32_e32 v21, 0xffff, v21
+; SI-NEXT: v_and_b32_e32 v2, 0xffff, v6
+; SI-NEXT: v_lshlrev_b32_e32 v6, 16, v41
+; SI-NEXT: v_or_b32_e32 v2, v2, v6
+; SI-NEXT: v_lshlrev_b32_e32 v6, 16, v24
+; SI-NEXT: v_or_b32_e32 v3, v3, v6
+; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(6)
+; SI-NEXT: v_and_b32_e32 v18, 0xffff, v17
+; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:304 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:308 ; 4-byte Folded Reload
+; SI-NEXT: v_and_b32_e32 v15, 0xffff, v15
+; SI-NEXT: s_waitcnt vmcnt(7)
+; SI-NEXT: v_and_b32_e32 v6, 0xffff, v6
+; SI-NEXT: v_or_b32_e32 v4, v6, v4
+; SI-NEXT: s_waitcnt vmcnt(4)
+; SI-NEXT: v_lshlrev_b32_e32 v6, 16, v24
+; SI-NEXT: v_or_b32_e32 v5, v5, v6
+; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:300 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshlrev_b32_e32 v5, 16, v8
-; SI-NEXT: v_or_b32_e32 v5, v6, v5
-; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:324 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:328 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:436 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:440 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(3)
+; SI-NEXT: v_lshlrev_b32_e32 v7, 16, v56
; SI-NEXT: v_and_b32_e32 v6, 0xffff, v6
-; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_lshlrev_b32_e32 v7, 16, v7
; SI-NEXT: v_or_b32_e32 v6, v6, v7
-; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshlrev_b32_e32 v7, 16, v8
-; SI-NEXT: v_or_b32_e32 v7, v9, v7
-; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:332 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:336 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshlrev_b32_e32 v9, 16, v12
-; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
-; SI-NEXT: v_and_b32_e32 v8, 0xffff, v8
-; SI-NEXT: v_or_b32_e32 v8, v8, v9
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshlrev_b32_e32 v9, 16, v13
-; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:340 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:344 ; 4-byte Folded Reload
-; SI-NEXT: v_or_b32_e32 v9, v10, v9
-; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_and_b32_e32 v10, 0xffff, v12
-; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:452 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:456 ; 4-byte Folded Reload
+; SI-NEXT: v_lshlrev_b32_e32 v7, 16, v23
+; SI-NEXT: v_or_b32_e32 v7, v8, v7
+; SI-NEXT: v_and_b32_e32 v8, 0xffff, v16
+; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload
+; SI-NEXT: v_or_b32_e32 v8, v8, v12
+; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:344 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:348 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(4)
+; SI-NEXT: v_lshlrev_b32_e32 v12, 16, v17
+; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:312 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:316 ; 4-byte Folded Reload
+; SI-NEXT: v_or_b32_e32 v9, v9, v12
; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_lshlrev_b32_e32 v12, 16, v12
-; SI-NEXT: v_or_b32_e32 v10, v10, v12
-; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
+; SI-NEXT: v_and_b32_e32 v12, 0xffff, v16
+; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload
+; SI-NEXT: v_or_b32_e32 v10, v12, v10
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshlrev_b32_e32 v12, 16, v13
+; SI-NEXT: v_lshlrev_b32_e32 v12, 16, v17
+; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:320 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:324 ; 4-byte Folded Reload
; SI-NEXT: v_or_b32_e32 v11, v11, v12
-; SI-NEXT: buffer_load_dword v12, off, s[0:3], s32 offset:348 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:352 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:460 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:464 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(3)
-; SI-NEXT: v_and_b32_e32 v12, 0xffff, v12
; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_lshlrev_b32_e32 v13, 16, v13
-; SI-NEXT: v_or_b32_e32 v12, v12, v13
-; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
+; SI-NEXT: v_and_b32_e32 v12, 0xffff, v16
+; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
+; SI-NEXT: v_or_b32_e32 v12, v12, v14
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshlrev_b32_e32 v13, 16, v14
-; SI-NEXT: buffer_load_dword v14, off, s[0:3], s32 offset:356 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:360 ; 4-byte Folded Reload
+; SI-NEXT: v_lshlrev_b32_e32 v14, 16, v17
+; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:328 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:332 ; 4-byte Folded Reload
+; SI-NEXT: v_or_b32_e32 v13, v13, v14
+; SI-NEXT: s_waitcnt vmcnt(1)
+; SI-NEXT: v_and_b32_e32 v14, 0xffff, v16
+; SI-NEXT: v_lshlrev_b32_e32 v16, 16, v38
+; SI-NEXT: v_or_b32_e32 v14, v14, v16
+; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshlrev_b32_e32 v15, 16, v28
-; SI-NEXT: v_or_b32_e32 v13, v16, v13
-; SI-NEXT: v_and_b32_e32 v14, 0xffff, v14
-; SI-NEXT: v_or_b32_e32 v14, v14, v15
-; SI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload
+; SI-NEXT: v_lshlrev_b32_e32 v16, 16, v17
+; SI-NEXT: v_or_b32_e32 v15, v15, v16
+; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:336 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:340 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshlrev_b32_e32 v15, 16, v16
-; SI-NEXT: v_or_b32_e32 v15, v17, v15
-; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:364 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:368 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:468 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:472 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(3)
+; SI-NEXT: v_lshlrev_b32_e32 v17, 16, v29
+; SI-NEXT: v_and_b32_e32 v29, 0xffff, v36
; SI-NEXT: v_and_b32_e32 v16, 0xffff, v16
-; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_lshlrev_b32_e32 v17, 16, v17
; SI-NEXT: v_or_b32_e32 v16, v16, v17
-; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshlrev_b32_e32 v17, 16, v18
-; SI-NEXT: v_or_b32_e32 v17, v19, v17
-; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:372 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:376 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:476 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:480 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(3)
-; SI-NEXT: v_and_b32_e32 v18, 0xffff, v18
+; SI-NEXT: v_lshlrev_b32_e32 v17, 16, v24
+; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
+; SI-NEXT: v_or_b32_e32 v17, v18, v17
+; SI-NEXT: v_and_b32_e32 v18, 0xffff, v22
+; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:352 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:356 ; 4-byte Folded Reload
+; SI-NEXT: v_or_b32_e32 v18, v18, v20
+; SI-NEXT: s_waitcnt vmcnt(2)
+; SI-NEXT: v_lshlrev_b32_e32 v20, 16, v24
+; SI-NEXT: v_or_b32_e32 v19, v19, v20
; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_lshlrev_b32_e32 v19, 16, v19
-; SI-NEXT: v_or_b32_e32 v18, v18, v19
-; SI-NEXT: buffer_load_dword v19, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
+; SI-NEXT: v_and_b32_e32 v20, 0xffff, v22
+; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:448 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:452 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshlrev_b32_e32 v19, 16, v20
-; SI-NEXT: v_or_b32_e32 v19, v21, v19
-; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:380 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:384 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:484 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:488 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(3)
-; SI-NEXT: v_and_b32_e32 v20, 0xffff, v20
-; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_lshlrev_b32_e32 v21, 16, v21
-; SI-NEXT: v_or_b32_e32 v20, v20, v21
-; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload
+; SI-NEXT: v_lshlrev_b32_e32 v23, 16, v22
+; SI-NEXT: v_or_b32_e32 v20, v20, v23
+; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshlrev_b32_e32 v21, 16, v22
-; SI-NEXT: v_or_b32_e32 v21, v23, v21
-; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:400 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:404 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:492 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:496 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(3)
-; SI-NEXT: v_and_b32_e32 v22, 0xffff, v22
-; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_lshlrev_b32_e32 v23, 16, v23
-; SI-NEXT: v_or_b32_e32 v22, v22, v23
-; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
+; SI-NEXT: v_lshlrev_b32_e32 v23, 16, v24
+; SI-NEXT: v_or_b32_e32 v21, v21, v23
+; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:424 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:428 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_and_b32_e32 v23, 0xffff, v22
+; SI-NEXT: v_lshlrev_b32_e32 v22, 16, v27
+; SI-NEXT: v_or_b32_e32 v22, v23, v22
+; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
+; SI-NEXT: v_and_b32_e32 v27, 0xffff, v49
; SI-NEXT: s_waitcnt vmcnt(0)
; SI-NEXT: v_lshlrev_b32_e32 v23, 16, v24
; SI-NEXT: v_or_b32_e32 v23, v25, v23
-; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:408 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:412 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:500 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:504 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(3)
-; SI-NEXT: v_and_b32_e32 v24, 0xffff, v24
-; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_lshlrev_b32_e32 v25, 16, v25
+; SI-NEXT: v_and_b32_e32 v24, 0xffff, v46
+; SI-NEXT: v_lshlrev_b32_e32 v25, 16, v34
; SI-NEXT: v_or_b32_e32 v24, v24, v25
-; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:268 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v27, 0xffff, v26
-; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v62, off, s[0:3], s32 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v61, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v60, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v59, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v58, off, s[0:3], s32 offset:16 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v57, off, s[0:3], s32 offset:20 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v56, off, s[0:3], s32 offset:24 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v47, off, s[0:3], s32 offset:28 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:32 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v45, off, s[0:3], s32 offset:36 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:40 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v43, off, s[0:3], s32 offset:44 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:48 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:52 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:56 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(14)
; SI-NEXT: v_lshlrev_b32_e32 v25, 16, v26
-; SI-NEXT: v_or_b32_e32 v25, v27, v25
-; SI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:316 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:320 ; 4-byte Folded Reload
-; SI-NEXT: v_and_b32_e32 v26, 0xffff, v39
+; SI-NEXT: v_or_b32_e32 v25, v29, v25
+; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:372 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:376 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_lshlrev_b32_e32 v27, 16, v27
-; SI-NEXT: v_or_b32_e32 v26, v26, v27
-; SI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:388 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:392 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:396 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v29, 0xffff, v28
-; SI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
+; SI-NEXT: v_and_b32_e32 v26, 0xffff, v28
+; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshlrev_b32_e32 v27, 16, v28
-; SI-NEXT: v_or_b32_e32 v27, v29, v27
-; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload
+; SI-NEXT: v_lshlrev_b32_e32 v29, 16, v28
+; SI-NEXT: v_or_b32_e32 v26, v26, v29
+; SI-NEXT: v_lshlrev_b32_e32 v29, 16, v35
+; SI-NEXT: v_or_b32_e32 v27, v27, v29
+; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:404 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:408 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshlrev_b32_e32 v29, 16, v31
-; SI-NEXT: v_and_b32_e32 v31, 0xffff, v30
-; SI-NEXT: v_and_b32_e32 v28, 0xffff, v28
-; SI-NEXT: v_or_b32_e32 v28, v28, v29
-; SI-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
+; SI-NEXT: v_and_b32_e32 v29, 0xffff, v28
+; SI-NEXT: v_lshlrev_b32_e32 v28, 16, v30
+; SI-NEXT: v_or_b32_e32 v28, v29, v28
+; SI-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(0)
; SI-NEXT: v_lshlrev_b32_e32 v29, 16, v30
-; SI-NEXT: v_or_b32_e32 v29, v31, v29
-; SI-NEXT: v_and_b32_e32 v30, 0xffff, v33
-; SI-NEXT: v_lshlrev_b32_e32 v31, 16, v32
+; SI-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload
+; SI-NEXT: v_or_b32_e32 v29, v32, v29
+; SI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:280 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(3)
+; SI-NEXT: v_and_b32_e32 v30, 0xffff, v30
+; SI-NEXT: s_waitcnt vmcnt(1)
+; SI-NEXT: v_lshlrev_b32_e32 v31, 16, v31
; SI-NEXT: v_or_b32_e32 v30, v30, v31
-; SI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:416 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:420 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:424 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:412 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:416 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:420 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(1)
; SI-NEXT: v_and_b32_e32 v31, 0xffff, v32
-; SI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(0)
; SI-NEXT: v_lshlrev_b32_e32 v32, 16, v33
; SI-NEXT: v_or_b32_e32 v31, v31, v32
; SI-NEXT: s_or_saveexec_b64 s[4:5], -1
-; SI-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:716 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:696 ; 4-byte Folded Reload
; SI-NEXT: s_mov_b64 exec, s[4:5]
; SI-NEXT: s_waitcnt vmcnt(0)
; SI-NEXT: s_setpc_b64 s[30:31]
@@ -217456,8 +217447,8 @@ define inreg <64 x bfloat> @bitcast_v64f16_to_v64bf16_scalar(<64 x half> inreg %
; SI: ; %bb.0:
; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
; SI-NEXT: s_or_saveexec_b64 s[4:5], -1
-; SI-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
; SI-NEXT: s_mov_b64 exec, s[4:5]
; SI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:52 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:48 ; 4-byte Folded Spill
@@ -217803,95 +217794,82 @@ define inreg <64 x bfloat> @bitcast_v64f16_to_v64bf16_scalar(<64 x half> inreg %
; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_cvt_f32_f16_e32 v0, vcc_lo
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_cvt_f32_f16_e32 v1, s95
; SI-NEXT: v_add_f32_e32 v0, 0x38000000, v0
; SI-NEXT: v_cvt_f16_f32_e32 v0, v0
; SI-NEXT: v_add_f32_e32 v1, 0x38000000, v1
-; SI-NEXT: v_cvt_f16_f32_e32 v1, v1
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_cvt_f32_f16_e32 v0, s94
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_cvt_f16_f32_e32 v43, v1
; SI-NEXT: v_cvt_f32_f16_e32 v1, s93
-; SI-NEXT: v_add_f32_e32 v0, 0x38000000, v0
-; SI-NEXT: v_cvt_f16_f32_e32 v0, v0
-; SI-NEXT: v_add_f32_e32 v1, 0x38000000, v1
-; SI-NEXT: v_cvt_f16_f32_e32 v51, v1
-; SI-NEXT: v_cvt_f32_f16_e32 v1, s91
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_cvt_f32_f16_e32 v0, s92
+; SI-NEXT: v_cvt_f32_f16_e32 v0, s94
; SI-NEXT: v_add_f32_e32 v1, 0x38000000, v1
; SI-NEXT: v_cvt_f16_f32_e32 v7, v1
-; SI-NEXT: v_cvt_f32_f16_e32 v1, s89
; SI-NEXT: v_add_f32_e32 v0, 0x38000000, v0
-; SI-NEXT: v_cvt_f16_f32_e32 v0, v0
-; SI-NEXT: v_add_f32_e32 v1, 0x38000000, v1
-; SI-NEXT: v_cvt_f16_f32_e32 v39, v1
-; SI-NEXT: v_cvt_f32_f16_e32 v1, s79
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_cvt_f16_f32_e32 v44, v0
+; SI-NEXT: v_cvt_f32_f16_e32 v0, s92
+; SI-NEXT: v_cvt_f32_f16_e32 v1, s91
+; SI-NEXT: v_lshlrev_b32_e32 v44, 16, v44
+; SI-NEXT: v_add_f32_e32 v0, 0x38000000, v0
+; SI-NEXT: v_cvt_f16_f32_e32 v8, v0
; SI-NEXT: v_cvt_f32_f16_e32 v0, s90
; SI-NEXT: v_add_f32_e32 v1, 0x38000000, v1
; SI-NEXT: v_cvt_f16_f32_e32 v16, v1
-; SI-NEXT: v_cvt_f32_f16_e32 v1, s77
+; SI-NEXT: v_cvt_f32_f16_e32 v1, s89
; SI-NEXT: v_add_f32_e32 v0, 0x38000000, v0
-; SI-NEXT: v_cvt_f16_f32_e32 v8, v0
+; SI-NEXT: v_cvt_f16_f32_e32 v56, v0
; SI-NEXT: v_cvt_f32_f16_e32 v0, s88
; SI-NEXT: v_add_f32_e32 v1, 0x38000000, v1
-; SI-NEXT: v_cvt_f16_f32_e32 v53, v1
-; SI-NEXT: v_cvt_f32_f16_e32 v1, s75
+; SI-NEXT: v_cvt_f16_f32_e32 v57, v1
+; SI-NEXT: v_cvt_f32_f16_e32 v1, s79
; SI-NEXT: v_add_f32_e32 v0, 0x38000000, v0
-; SI-NEXT: v_cvt_f16_f32_e32 v49, v0
+; SI-NEXT: v_cvt_f16_f32_e32 v45, v0
; SI-NEXT: v_cvt_f32_f16_e32 v0, s78
; SI-NEXT: v_add_f32_e32 v1, 0x38000000, v1
-; SI-NEXT: v_cvt_f16_f32_e32 v55, v1
-; SI-NEXT: v_cvt_f32_f16_e32 v1, s73
+; SI-NEXT: v_cvt_f16_f32_e32 v46, v1
+; SI-NEXT: v_lshlrev_b32_e32 v58, 16, v45
; SI-NEXT: v_add_f32_e32 v0, 0x38000000, v0
-; SI-NEXT: v_cvt_f16_f32_e32 v52, v0
-; SI-NEXT: v_lshlrev_b32_e32 v47, 16, v55
-; SI-NEXT: v_lshlrev_b32_e32 v55, 16, v7
-; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
+; SI-NEXT: v_cvt_f16_f32_e32 v47, v0
+; SI-NEXT: v_lshlrev_b32_e32 v45, 16, v43
+; SI-NEXT: v_cvt_f32_f16_e32 v1, s77
; SI-NEXT: v_cvt_f32_f16_e32 v0, s76
+; SI-NEXT: v_lshlrev_b32_e32 v60, 16, v47
+; SI-NEXT: v_lshlrev_b32_e32 v47, 16, v7
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
; SI-NEXT: v_add_f32_e32 v1, 0x38000000, v1
-; SI-NEXT: v_cvt_f16_f32_e32 v41, v1
-; SI-NEXT: v_cvt_f32_f16_e32 v1, s63
+; SI-NEXT: v_cvt_f16_f32_e32 v53, v1
+; SI-NEXT: v_cvt_f32_f16_e32 v1, s75
; SI-NEXT: v_add_f32_e32 v0, 0x38000000, v0
-; SI-NEXT: v_cvt_f16_f32_e32 v54, v0
+; SI-NEXT: v_cvt_f16_f32_e32 v52, v0
; SI-NEXT: v_cvt_f32_f16_e32 v0, s74
; SI-NEXT: v_add_f32_e32 v1, 0x38000000, v1
-; SI-NEXT: v_cvt_f16_f32_e32 v43, v1
-; SI-NEXT: v_cvt_f32_f16_e32 v1, s61
+; SI-NEXT: v_cvt_f16_f32_e32 v51, v1
+; SI-NEXT: v_cvt_f32_f16_e32 v1, s73
; SI-NEXT: v_add_f32_e32 v0, 0x38000000, v0
-; SI-NEXT: v_cvt_f16_f32_e32 v40, v0
+; SI-NEXT: v_cvt_f16_f32_e32 v50, v0
; SI-NEXT: v_cvt_f32_f16_e32 v0, s72
; SI-NEXT: v_add_f32_e32 v1, 0x38000000, v1
-; SI-NEXT: v_cvt_f16_f32_e32 v45, v1
-; SI-NEXT: v_lshlrev_b32_e32 v57, 16, v41
+; SI-NEXT: v_cvt_f16_f32_e32 v49, v1
+; SI-NEXT: v_cvt_f32_f16_e32 v1, s63
; SI-NEXT: v_add_f32_e32 v0, 0x38000000, v0
-; SI-NEXT: v_cvt_f16_f32_e32 v42, v0
+; SI-NEXT: v_cvt_f16_f32_e32 v48, v0
; SI-NEXT: v_cvt_f32_f16_e32 v0, s62
-; SI-NEXT: v_lshlrev_b32_e32 v61, 16, v45
-; SI-NEXT: v_lshlrev_b32_e32 v45, 16, v53
-; SI-NEXT: v_lshlrev_b32_e32 v56, 16, v42
-; SI-NEXT: v_lshlrev_b32_e32 v42, 16, v52
+; SI-NEXT: v_add_f32_e32 v1, 0x38000000, v1
+; SI-NEXT: v_cvt_f16_f32_e32 v39, v1
+; SI-NEXT: v_cvt_f32_f16_e32 v1, s61
; SI-NEXT: v_add_f32_e32 v0, 0x38000000, v0
-; SI-NEXT: v_cvt_f16_f32_e32 v44, v0
+; SI-NEXT: v_cvt_f16_f32_e32 v38, v0
; SI-NEXT: v_cvt_f32_f16_e32 v0, s60
-; SI-NEXT: v_lshlrev_b32_e32 v53, 16, v51
-; SI-NEXT: v_lshlrev_b32_e32 v41, 16, v39
+; SI-NEXT: v_add_f32_e32 v1, 0x38000000, v1
+; SI-NEXT: v_cvt_f16_f32_e32 v37, v1
; SI-NEXT: v_cvt_f32_f16_e32 v1, s59
; SI-NEXT: v_add_f32_e32 v0, 0x38000000, v0
-; SI-NEXT: v_cvt_f16_f32_e32 v46, v0
+; SI-NEXT: v_cvt_f16_f32_e32 v36, v0
; SI-NEXT: v_cvt_f32_f16_e32 v0, s58
; SI-NEXT: v_add_f32_e32 v1, 0x38000000, v1
; SI-NEXT: v_cvt_f16_f32_e32 v35, v1
-; SI-NEXT: v_lshlrev_b32_e32 v60, 16, v46
-; SI-NEXT: v_lshlrev_b32_e32 v46, 16, v40
-; SI-NEXT: v_lshlrev_b32_e32 v40, 16, v49
; SI-NEXT: v_cvt_f32_f16_e32 v1, s57
; SI-NEXT: v_add_f32_e32 v0, 0x38000000, v0
; SI-NEXT: v_cvt_f16_f32_e32 v34, v0
@@ -217934,14 +217912,16 @@ define inreg <64 x bfloat> @bitcast_v64f16_to_v64bf16_scalar(<64 x half> inreg %
; SI-NEXT: v_cvt_f32_f16_e32 v0, s26
; SI-NEXT: v_add_f32_e32 v1, 0x38000000, v1
; SI-NEXT: v_cvt_f16_f32_e32 v21, v1
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshlrev_b32_e32 v52, 16, v7
-; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
; SI-NEXT: v_cvt_f32_f16_e32 v1, s15
; SI-NEXT: v_add_f32_e32 v0, 0x38000000, v0
; SI-NEXT: v_cvt_f16_f32_e32 v20, v0
; SI-NEXT: v_cvt_f32_f16_e32 v0, s25
; SI-NEXT: v_add_f32_e32 v1, 0x38000000, v1
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_lshlrev_b32_e32 v7, 16, v7
+; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
; SI-NEXT: v_cvt_f16_f32_e32 v19, v1
; SI-NEXT: v_cvt_f32_f16_e32 v1, s14
; SI-NEXT: v_add_f32_e32 v0, 0x38000000, v0
@@ -217951,7 +217931,7 @@ define inreg <64 x bfloat> @bitcast_v64f16_to_v64bf16_scalar(<64 x half> inreg %
; SI-NEXT: v_cvt_f16_f32_e32 v17, v1
; SI-NEXT: v_cvt_f32_f16_e32 v1, s4
; SI-NEXT: v_add_f32_e32 v0, 0x38000000, v0
-; SI-NEXT: v_cvt_f16_f32_e32 v36, v0
+; SI-NEXT: v_cvt_f16_f32_e32 v54, v0
; SI-NEXT: v_cvt_f32_f16_e32 v0, s23
; SI-NEXT: v_add_f32_e32 v1, 0x38000000, v1
; SI-NEXT: v_readlane_b32 s4, v62, 6
@@ -217979,11 +217959,11 @@ define inreg <64 x bfloat> @bitcast_v64f16_to_v64bf16_scalar(<64 x half> inreg %
; SI-NEXT: v_cvt_f16_f32_e32 v9, v1
; SI-NEXT: v_cvt_f32_f16_e32 v1, s4
; SI-NEXT: v_add_f32_e32 v0, 0x38000000, v0
-; SI-NEXT: v_cvt_f16_f32_e32 v37, v0
+; SI-NEXT: v_cvt_f16_f32_e32 v55, v0
; SI-NEXT: v_cvt_f32_f16_e32 v0, s19
; SI-NEXT: v_add_f32_e32 v1, 0x38000000, v1
; SI-NEXT: v_readlane_b32 s4, v62, 2
-; SI-NEXT: v_cvt_f16_f32_e32 v38, v1
+; SI-NEXT: v_cvt_f16_f32_e32 v40, v1
; SI-NEXT: v_cvt_f32_f16_e32 v1, s4
; SI-NEXT: v_add_f32_e32 v0, 0x38000000, v0
; SI-NEXT: v_cvt_f16_f32_e32 v6, v0
@@ -217997,33 +217977,33 @@ define inreg <64 x bfloat> @bitcast_v64f16_to_v64bf16_scalar(<64 x half> inreg %
; SI-NEXT: v_cvt_f32_f16_e32 v1, s17
; SI-NEXT: v_cvt_f32_f16_e32 v2, s4
; SI-NEXT: v_add_f32_e32 v0, 0x38000000, v0
-; SI-NEXT: v_cvt_f16_f32_e32 v50, v0
+; SI-NEXT: v_cvt_f16_f32_e32 v42, v0
; SI-NEXT: v_add_f32_e32 v1, 0x38000000, v1
; SI-NEXT: v_add_f32_e32 v2, 0x38000000, v2
; SI-NEXT: v_cvt_f16_f32_e32 v2, v2
-; SI-NEXT: v_cvt_f16_f32_e32 v48, v1
+; SI-NEXT: v_cvt_f16_f32_e32 v41, v1
; SI-NEXT: v_lshlrev_b32_e32 v0, 16, v3
-; SI-NEXT: v_lshlrev_b32_e32 v3, 16, v50
+; SI-NEXT: v_lshlrev_b32_e32 v3, 16, v42
; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v2
-; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v48
+; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v41
; SI-NEXT: v_lshlrev_b32_e32 v4, 16, v4
; SI-NEXT: v_lshlrev_b32_e32 v5, 16, v5
; SI-NEXT: v_lshlrev_b32_e32 v6, 16, v6
-; SI-NEXT: v_lshlrev_b32_e32 v48, 16, v38
-; SI-NEXT: v_lshlrev_b32_e32 v38, 16, v37
+; SI-NEXT: v_lshlrev_b32_e32 v42, 16, v40
+; SI-NEXT: v_lshlrev_b32_e32 v41, 16, v55
; SI-NEXT: v_lshlrev_b32_e32 v9, 16, v9
; SI-NEXT: v_lshlrev_b32_e32 v10, 16, v10
; SI-NEXT: v_lshlrev_b32_e32 v11, 16, v11
; SI-NEXT: v_lshlrev_b32_e32 v12, 16, v12
; SI-NEXT: v_lshlrev_b32_e32 v13, 16, v13
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshlrev_b32_e32 v49, 16, v7
-; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
; SI-NEXT: v_lshlrev_b32_e32 v14, 16, v14
; SI-NEXT: v_lshlrev_b32_e32 v15, 16, v15
-; SI-NEXT: v_lshlrev_b32_e32 v50, 16, v36
+; SI-NEXT: v_lshlrev_b32_e32 v40, 16, v54
; SI-NEXT: v_lshlrev_b32_e32 v17, 16, v17
; SI-NEXT: v_lshlrev_b32_e32 v18, 16, v18
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_lshlrev_b32_e32 v43, 16, v7
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload
; SI-NEXT: v_lshlrev_b32_e32 v19, 16, v19
; SI-NEXT: v_lshlrev_b32_e32 v20, 16, v20
; SI-NEXT: v_lshlrev_b32_e32 v21, 16, v21
@@ -218039,24 +218019,23 @@ define inreg <64 x bfloat> @bitcast_v64f16_to_v64bf16_scalar(<64 x half> inreg %
; SI-NEXT: v_lshlrev_b32_e32 v31, 16, v31
; SI-NEXT: v_lshlrev_b32_e32 v32, 16, v32
; SI-NEXT: v_lshlrev_b32_e32 v33, 16, v33
-; SI-NEXT: v_lshlrev_b32_e32 v36, 16, v34
-; SI-NEXT: v_lshlrev_b32_e32 v37, 16, v35
-; SI-NEXT: v_lshlrev_b32_e32 v58, 16, v44
-; SI-NEXT: v_lshlrev_b32_e32 v59, 16, v43
-; SI-NEXT: v_lshlrev_b32_e32 v44, 16, v54
-; SI-NEXT: v_lshlrev_b32_e32 v43, 16, v16
-; SI-NEXT: v_lshlrev_b32_e32 v54, 16, v8
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshlrev_b32_e32 v51, 16, v7
-; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshlrev_b32_e32 v39, 16, v7
-; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshlrev_b32_e32 v7, 16, v7
-; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload
+; SI-NEXT: v_lshlrev_b32_e32 v54, 16, v34
+; SI-NEXT: v_lshlrev_b32_e32 v55, 16, v35
+; SI-NEXT: v_lshlrev_b32_e32 v36, 16, v36
+; SI-NEXT: v_lshlrev_b32_e32 v37, 16, v37
+; SI-NEXT: v_lshlrev_b32_e32 v38, 16, v38
+; SI-NEXT: v_lshlrev_b32_e32 v39, 16, v39
+; SI-NEXT: v_lshlrev_b32_e32 v48, 16, v48
+; SI-NEXT: v_lshlrev_b32_e32 v49, 16, v49
+; SI-NEXT: v_lshlrev_b32_e32 v50, 16, v50
+; SI-NEXT: v_lshlrev_b32_e32 v51, 16, v51
+; SI-NEXT: v_lshlrev_b32_e32 v52, 16, v52
+; SI-NEXT: v_lshlrev_b32_e32 v53, 16, v53
+; SI-NEXT: v_lshlrev_b32_e32 v61, 16, v46
+; SI-NEXT: v_lshlrev_b32_e32 v59, 16, v57
+; SI-NEXT: v_lshlrev_b32_e32 v56, 16, v56
+; SI-NEXT: v_lshlrev_b32_e32 v57, 16, v16
+; SI-NEXT: v_lshlrev_b32_e32 v46, 16, v8
; SI-NEXT: s_waitcnt vmcnt(0)
; SI-NEXT: v_lshlrev_b32_e32 v7, 16, v7
; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
@@ -218106,7 +218085,7 @@ define inreg <64 x bfloat> @bitcast_v64f16_to_v64bf16_scalar(<64 x half> inreg %
; SI-NEXT: v_readlane_b32 s4, v62, 16
; SI-NEXT: v_mov_b32_e32 v17, s4
; SI-NEXT: v_readlane_b32 s4, v62, 17
-; SI-NEXT: v_mov_b32_e32 v50, s4
+; SI-NEXT: v_mov_b32_e32 v40, s4
; SI-NEXT: v_readlane_b32 s4, v62, 18
; SI-NEXT: v_mov_b32_e32 v15, s4
; SI-NEXT: v_readlane_b32 s4, v62, 19
@@ -218122,10 +218101,10 @@ define inreg <64 x bfloat> @bitcast_v64f16_to_v64bf16_scalar(<64 x half> inreg %
; SI-NEXT: v_readlane_b32 s4, v62, 24
; SI-NEXT: v_mov_b32_e32 v9, s4
; SI-NEXT: v_readlane_b32 s4, v62, 25
-; SI-NEXT: v_mov_b32_e32 v38, s4
+; SI-NEXT: v_mov_b32_e32 v41, s4
; SI-NEXT: v_readlane_b32 s4, v62, 26
; SI-NEXT: v_mov_b32_e32 v0, s86
-; SI-NEXT: v_mov_b32_e32 v48, s4
+; SI-NEXT: v_mov_b32_e32 v42, s4
; SI-NEXT: v_readlane_b32 s4, v62, 27
; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
@@ -218154,33 +218133,33 @@ define inreg <64 x bfloat> @bitcast_v64f16_to_v64bf16_scalar(<64 x half> inreg %
; SI-NEXT: v_readlane_b32 s4, v62, 32
; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mov_b32_e32 v0, s11
+; SI-NEXT: v_mov_b32_e32 v0, s82
; SI-NEXT: v_mov_b32_e32 v1, s4
; SI-NEXT: v_readlane_b32 s4, v62, 33
+; SI-NEXT: v_mov_b32_e32 v43, s11
; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
-; SI-NEXT: v_mov_b32_e32 v39, s82
-; SI-NEXT: v_mov_b32_e32 v51, s81
-; SI-NEXT: v_mov_b32_e32 v49, s10
-; SI-NEXT: v_mov_b32_e32 v53, s80
-; SI-NEXT: v_mov_b32_e32 v52, s71
-; SI-NEXT: v_mov_b32_e32 v55, s9
-; SI-NEXT: v_mov_b32_e32 v54, s70
-; SI-NEXT: v_mov_b32_e32 v41, s69
-; SI-NEXT: v_mov_b32_e32 v40, s8
-; SI-NEXT: v_mov_b32_e32 v43, s68
-; SI-NEXT: v_mov_b32_e32 v42, s67
-; SI-NEXT: v_mov_b32_e32 v45, s66
-; SI-NEXT: v_mov_b32_e32 v44, s7
-; SI-NEXT: v_mov_b32_e32 v47, s65
-; SI-NEXT: v_mov_b32_e32 v46, s6
-; SI-NEXT: v_mov_b32_e32 v57, s64
-; SI-NEXT: v_mov_b32_e32 v56, s55
-; SI-NEXT: v_mov_b32_e32 v59, s54
-; SI-NEXT: v_mov_b32_e32 v58, s53
-; SI-NEXT: v_mov_b32_e32 v61, s51
-; SI-NEXT: v_mov_b32_e32 v60, s50
-; SI-NEXT: v_mov_b32_e32 v37, s39
-; SI-NEXT: v_mov_b32_e32 v36, s38
+; SI-NEXT: v_mov_b32_e32 v45, s81
+; SI-NEXT: v_mov_b32_e32 v44, s10
+; SI-NEXT: v_mov_b32_e32 v47, s80
+; SI-NEXT: v_mov_b32_e32 v46, s71
+; SI-NEXT: v_mov_b32_e32 v57, s9
+; SI-NEXT: v_mov_b32_e32 v56, s70
+; SI-NEXT: v_mov_b32_e32 v59, s69
+; SI-NEXT: v_mov_b32_e32 v58, s8
+; SI-NEXT: v_mov_b32_e32 v61, s68
+; SI-NEXT: v_mov_b32_e32 v60, s67
+; SI-NEXT: v_mov_b32_e32 v53, s66
+; SI-NEXT: v_mov_b32_e32 v52, s7
+; SI-NEXT: v_mov_b32_e32 v51, s65
+; SI-NEXT: v_mov_b32_e32 v50, s6
+; SI-NEXT: v_mov_b32_e32 v49, s64
+; SI-NEXT: v_mov_b32_e32 v48, s55
+; SI-NEXT: v_mov_b32_e32 v39, s54
+; SI-NEXT: v_mov_b32_e32 v38, s53
+; SI-NEXT: v_mov_b32_e32 v37, s51
+; SI-NEXT: v_mov_b32_e32 v36, s50
+; SI-NEXT: v_mov_b32_e32 v55, s39
+; SI-NEXT: v_mov_b32_e32 v54, s38
; SI-NEXT: v_mov_b32_e32 v33, s36
; SI-NEXT: v_mov_b32_e32 v32, s31
; SI-NEXT: v_mov_b32_e32 v31, s30
@@ -218198,7 +218177,7 @@ define inreg <64 x bfloat> @bitcast_v64f16_to_v64bf16_scalar(<64 x half> inreg %
; SI-NEXT: v_mul_f32_e32 v0, 1.0, v5
; SI-NEXT: v_mul_f32_e32 v1, 1.0, v1
; SI-NEXT: v_lshrrev_b32_e32 v8, 16, v0
-; SI-NEXT: v_mul_f32_e32 v0, 1.0, v48
+; SI-NEXT: v_mul_f32_e32 v0, 1.0, v42
; SI-NEXT: v_lshrrev_b32_e32 v35, 16, v1
; SI-NEXT: v_lshrrev_b32_e32 v1, 16, v0
; SI-NEXT: v_mul_f32_e32 v0, 1.0, v6
@@ -218243,9 +218222,19 @@ define inreg <64 x bfloat> @bitcast_v64f16_to_v64bf16_scalar(<64 x half> inreg %
; SI-NEXT: v_mul_f32_e32 v0, 1.0, v33
; SI-NEXT: v_mul_f32_e32 v11, 1.0, v18
; SI-NEXT: v_lshrrev_b32_e32 v18, 16, v0
-; SI-NEXT: v_mul_f32_e32 v0, 1.0, v37
+; SI-NEXT: v_mul_f32_e32 v0, 1.0, v55
; SI-NEXT: v_mul_f32_e32 v13, 1.0, v20
; SI-NEXT: v_lshrrev_b32_e32 v20, 16, v0
+; SI-NEXT: v_mul_f32_e32 v0, 1.0, v37
+; SI-NEXT: v_lshrrev_b32_e32 v37, 16, v0
+; SI-NEXT: v_mul_f32_e32 v0, 1.0, v39
+; SI-NEXT: v_lshrrev_b32_e32 v39, 16, v0
+; SI-NEXT: v_mul_f32_e32 v0, 1.0, v49
+; SI-NEXT: v_lshrrev_b32_e32 v49, 16, v0
+; SI-NEXT: v_mul_f32_e32 v0, 1.0, v51
+; SI-NEXT: v_lshrrev_b32_e32 v51, 16, v0
+; SI-NEXT: v_mul_f32_e32 v0, 1.0, v53
+; SI-NEXT: v_lshrrev_b32_e32 v53, 16, v0
; SI-NEXT: v_mul_f32_e32 v0, 1.0, v61
; SI-NEXT: v_lshrrev_b32_e32 v61, 16, v0
; SI-NEXT: v_mul_f32_e32 v0, 1.0, v59
@@ -218258,18 +218247,8 @@ define inreg <64 x bfloat> @bitcast_v64f16_to_v64bf16_scalar(<64 x half> inreg %
; SI-NEXT: v_lshrrev_b32_e32 v45, 16, v0
; SI-NEXT: v_mul_f32_e32 v0, 1.0, v43
; SI-NEXT: v_lshrrev_b32_e32 v43, 16, v0
-; SI-NEXT: v_mul_f32_e32 v0, 1.0, v41
-; SI-NEXT: v_lshrrev_b32_e32 v41, 16, v0
-; SI-NEXT: v_mul_f32_e32 v0, 1.0, v55
-; SI-NEXT: v_lshrrev_b32_e32 v55, 16, v0
-; SI-NEXT: v_mul_f32_e32 v0, 1.0, v53
-; SI-NEXT: v_lshrrev_b32_e32 v53, 16, v0
-; SI-NEXT: v_mul_f32_e32 v0, 1.0, v51
-; SI-NEXT: v_lshrrev_b32_e32 v51, 16, v0
; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
-; SI-NEXT: v_mul_f32_e32 v9, 1.0, v50
-; SI-NEXT: v_mul_f32_e32 v50, 1.0, v49
-; SI-NEXT: v_mul_f32_e32 v48, 1.0, v39
+; SI-NEXT: v_mul_f32_e32 v5, 1.0, v41
; SI-NEXT: v_mul_f32_e32 v2, 1.0, v2
; SI-NEXT: v_mul_f32_e32 v7, 1.0, v4
; SI-NEXT: v_lshr_b64 v[33:34], v[34:35], 16
@@ -218277,23 +218256,24 @@ define inreg <64 x bfloat> @bitcast_v64f16_to_v64bf16_scalar(<64 x half> inreg %
; SI-NEXT: v_lshr_b64 v[2:3], v[7:8], 16
; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
-; SI-NEXT: v_mul_f32_e32 v5, 1.0, v38
-; SI-NEXT: v_mul_f32_e32 v19, 1.0, v36
+; SI-NEXT: v_mul_f32_e32 v9, 1.0, v40
+; SI-NEXT: v_mul_f32_e32 v19, 1.0, v54
; SI-NEXT: v_mul_f32_e32 v22, 1.0, v22
; SI-NEXT: v_mul_f32_e32 v24, 1.0, v24
; SI-NEXT: v_mul_f32_e32 v26, 1.0, v26
; SI-NEXT: v_mul_f32_e32 v28, 1.0, v28
; SI-NEXT: v_mul_f32_e32 v30, 1.0, v30
; SI-NEXT: v_mul_f32_e32 v17, 1.0, v32
+; SI-NEXT: v_mul_f32_e32 v36, 1.0, v36
+; SI-NEXT: v_mul_f32_e32 v38, 1.0, v38
+; SI-NEXT: v_mul_f32_e32 v48, 1.0, v48
+; SI-NEXT: v_mul_f32_e32 v50, 1.0, v50
+; SI-NEXT: v_mul_f32_e32 v52, 1.0, v52
; SI-NEXT: v_mul_f32_e32 v60, 1.0, v60
; SI-NEXT: v_mul_f32_e32 v58, 1.0, v58
; SI-NEXT: v_mul_f32_e32 v56, 1.0, v56
; SI-NEXT: v_mul_f32_e32 v46, 1.0, v46
; SI-NEXT: v_mul_f32_e32 v44, 1.0, v44
-; SI-NEXT: v_mul_f32_e32 v42, 1.0, v42
-; SI-NEXT: v_mul_f32_e32 v40, 1.0, v40
-; SI-NEXT: v_mul_f32_e32 v54, 1.0, v54
-; SI-NEXT: v_mul_f32_e32 v52, 1.0, v52
; SI-NEXT: v_readlane_b32 s30, v63, 34
; SI-NEXT: v_readlane_b32 s31, v63, 35
; SI-NEXT: v_readlane_b32 s99, v63, 33
@@ -218331,8 +218311,7 @@ define inreg <64 x bfloat> @bitcast_v64f16_to_v64bf16_scalar(<64 x half> inreg %
; SI-NEXT: v_readlane_b32 s35, v63, 1
; SI-NEXT: v_readlane_b32 s34, v63, 0
; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_mul_f32_e32 v0, 1.0, v0
-; SI-NEXT: v_lshrrev_b32_e32 v49, 16, v0
+; SI-NEXT: v_mul_f32_e32 v42, 1.0, v0
; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(1)
; SI-NEXT: v_lshr_b64 v[3:4], v[3:4], 16
@@ -218341,14 +218320,14 @@ define inreg <64 x bfloat> @bitcast_v64f16_to_v64bf16_scalar(<64 x half> inreg %
; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(2)
; SI-NEXT: v_mul_f32_e32 v0, 1.0, v0
-; SI-NEXT: v_lshrrev_b32_e32 v39, 16, v0
+; SI-NEXT: v_lshrrev_b32_e32 v41, 16, v0
; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(1)
; SI-NEXT: v_lshr_b64 v[5:6], v[5:6], 16
; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_mul_f32_e32 v38, 1.0, v0
+; SI-NEXT: v_mul_f32_e32 v40, 1.0, v0
; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(1)
; SI-NEXT: v_lshr_b64 v[6:7], v[6:7], 16
@@ -218363,13 +218342,18 @@ define inreg <64 x bfloat> @bitcast_v64f16_to_v64bf16_scalar(<64 x half> inreg %
; SI-NEXT: v_lshr_b64 v[15:16], v[30:31], 16
; SI-NEXT: v_lshr_b64 v[16:17], v[17:18], 16
; SI-NEXT: v_lshr_b64 v[17:18], v[19:20], 16
-; SI-NEXT: v_lshr_b64 v[18:19], v[60:61], 16
-; SI-NEXT: v_lshr_b64 v[19:20], v[58:59], 16
-; SI-NEXT: v_lshr_b64 v[20:21], v[56:57], 16
-; SI-NEXT: v_lshr_b64 v[21:22], v[46:47], 16
-; SI-NEXT: v_lshr_b64 v[22:23], v[44:45], 16
-; SI-NEXT: v_lshr_b64 v[23:24], v[42:43], 16
-; SI-NEXT: v_lshr_b64 v[24:25], v[40:41], 16
+; SI-NEXT: v_lshr_b64 v[18:19], v[36:37], 16
+; SI-NEXT: v_lshr_b64 v[19:20], v[38:39], 16
+; SI-NEXT: v_lshr_b64 v[20:21], v[48:49], 16
+; SI-NEXT: v_lshr_b64 v[21:22], v[50:51], 16
+; SI-NEXT: v_lshr_b64 v[22:23], v[52:53], 16
+; SI-NEXT: v_lshr_b64 v[23:24], v[60:61], 16
+; SI-NEXT: v_lshr_b64 v[24:25], v[58:59], 16
+; SI-NEXT: v_lshr_b64 v[25:26], v[56:57], 16
+; SI-NEXT: v_lshr_b64 v[26:27], v[46:47], 16
+; SI-NEXT: v_lshr_b64 v[27:28], v[44:45], 16
+; SI-NEXT: v_lshr_b64 v[28:29], v[42:43], 16
+; SI-NEXT: v_lshr_b64 v[29:30], v[40:41], 16
; SI-NEXT: buffer_load_dword v61, off, s[0:3], s32 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v60, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v59, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload
@@ -218384,19 +218368,14 @@ define inreg <64 x bfloat> @bitcast_v64f16_to_v64bf16_scalar(<64 x half> inreg %
; SI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:44 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:48 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:52 ; 4-byte Folded Reload
-; SI-NEXT: v_lshr_b64 v[25:26], v[54:55], 16
-; SI-NEXT: v_lshr_b64 v[26:27], v[52:53], 16
-; SI-NEXT: v_lshr_b64 v[27:28], v[50:51], 16
-; SI-NEXT: v_lshr_b64 v[28:29], v[48:49], 16
-; SI-NEXT: v_lshr_b64 v[29:30], v[38:39], 16
; SI-NEXT: s_waitcnt vmcnt(14)
; SI-NEXT: v_mul_f32_e32 v0, 1.0, v0
-; SI-NEXT: v_lshrrev_b32_e32 v37, 16, v0
+; SI-NEXT: v_lshrrev_b32_e32 v55, 16, v0
; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_mul_f32_e32 v36, 1.0, v0
+; SI-NEXT: v_mul_f32_e32 v54, 1.0, v0
; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload
-; SI-NEXT: v_lshr_b64 v[30:31], v[36:37], 16
+; SI-NEXT: v_lshr_b64 v[30:31], v[54:55], 16
; SI-NEXT: s_waitcnt vmcnt(0)
; SI-NEXT: v_mul_f32_e32 v0, 1.0, v0
; SI-NEXT: s_waitcnt expcnt(0)
@@ -218408,8 +218387,8 @@ define inreg <64 x bfloat> @bitcast_v64f16_to_v64bf16_scalar(<64 x half> inreg %
; SI-NEXT: v_mov_b32_e32 v0, v33
; SI-NEXT: v_mov_b32_e32 v1, v34
; SI-NEXT: s_or_saveexec_b64 s[4:5], -1
-; SI-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v62, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
; SI-NEXT: s_mov_b64 exec, s[4:5]
; SI-NEXT: s_waitcnt vmcnt(0)
; SI-NEXT: s_setpc_b64 s[30:31]
@@ -221252,14 +221231,14 @@ define <64 x i16> @bitcast_v64bf16_to_v64i16(<64 x bfloat> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: ; %bb.1: ; %cmp.true
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v33, 16, v17
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v32, 16, v16
-; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v70, 16, v2
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v80, 16, v4
+; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v82, 16, v6
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(NEXT) | instid1(VALU_DEP_4)
-; GFX11-TRUE16-NEXT: v_dual_add_f32 v33, 0x40c00000, v33 :: v_dual_lshlrev_b32 v82, 16, v6
+; GFX11-TRUE16-NEXT: v_dual_add_f32 v33, 0x40c00000, v33 :: v_dual_lshlrev_b32 v84, 16, v8
; GFX11-TRUE16-NEXT: v_add_f32_e32 v32, 0x40c00000, v32
-; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v84, 16, v8
-; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v50, 16, v22
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v86, 16, v10
+; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v50, 16, v22
+; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v96, 16, v12
; GFX11-TRUE16-NEXT: v_bfe_u32 v38, v33, 16, 1
; GFX11-TRUE16-NEXT: v_bfe_u32 v35, v32, 16, 1
; GFX11-TRUE16-NEXT: v_or_b32_e32 v36, 0x400000, v32
@@ -221269,8 +221248,8 @@ define <64 x i16> @bitcast_v64bf16_to_v64i16(<64 x bfloat> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_add3_u32 v35, v35, v32, 0x7fff
; GFX11-TRUE16-NEXT: v_and_b32_e32 v17, 0xffff0000, v17
; GFX11-TRUE16-NEXT: v_and_b32_e32 v22, 0xffff0000, v22
-; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v96, 16, v12
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v52, 16, v24
+; GFX11-TRUE16-NEXT: v_and_b32_e32 v24, 0xffff0000, v24
; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v32, v35, v36, vcc_lo
; GFX11-TRUE16-NEXT: v_dual_add_f32 v17, 0x40c00000, v17 :: v_dual_lshlrev_b32 v34, 16, v18
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v36, 16, v19
@@ -221282,28 +221261,28 @@ define <64 x i16> @bitcast_v64bf16_to_v64i16(<64 x bfloat> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_add_f32_e32 v36, 0x40c00000, v36
; GFX11-TRUE16-NEXT: v_add_f32_e32 v22, 0x40c00000, v22
; GFX11-TRUE16-NEXT: v_add_f32_e32 v18, 0x40c00000, v18
-; GFX11-TRUE16-NEXT: v_and_b32_e32 v24, 0xffff0000, v24
+; GFX11-TRUE16-NEXT: v_add_f32_e32 v24, 0x40c00000, v24
; GFX11-TRUE16-NEXT: v_add3_u32 v35, v35, v17, 0x7fff
; GFX11-TRUE16-NEXT: v_and_b32_e32 v16, 0xffff0000, v16
; GFX11-TRUE16-NEXT: v_dual_add_f32 v19, 0x40c00000, v19 :: v_dual_lshlrev_b32 v54, 16, v26
-; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_1) | instid1(VALU_DEP_4)
-; GFX11-TRUE16-NEXT: v_add_f32_e32 v24, 0x40c00000, v24
; GFX11-TRUE16-NEXT: v_and_b32_e32 v26, 0xffff0000, v26
-; GFX11-TRUE16-NEXT: v_add_f32_e32 v16, 0x40c00000, v16
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v64, 16, v28
+; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_4)
+; GFX11-TRUE16-NEXT: v_add_f32_e32 v16, 0x40c00000, v16
; GFX11-TRUE16-NEXT: v_and_b32_e32 v28, 0xffff0000, v28
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v66, 16, v30
; GFX11-TRUE16-NEXT: v_add_f32_e32 v26, 0x40c00000, v26
+; GFX11-TRUE16-NEXT: v_and_b32_e32 v30, 0xffff0000, v30
; GFX11-TRUE16-NEXT: v_bfe_u32 v37, v16, 16, 1
; GFX11-TRUE16-NEXT: v_or_b32_e32 v39, 0x400000, v16
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v16, v16
; GFX11-TRUE16-NEXT: v_add_f32_e32 v28, 0x40c00000, v28
-; GFX11-TRUE16-NEXT: v_and_b32_e32 v30, 0xffff0000, v30
+; GFX11-TRUE16-NEXT: v_add_f32_e32 v30, 0x40c00000, v30
; GFX11-TRUE16-NEXT: v_add3_u32 v37, v37, v16, 0x7fff
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v68, 16, v0
; GFX11-TRUE16-NEXT: v_and_b32_e32 v0, 0xffff0000, v0
+; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v70, 16, v2
; GFX11-TRUE16-NEXT: v_and_b32_e32 v2, 0xffff0000, v2
-; GFX11-TRUE16-NEXT: v_add_f32_e32 v30, 0x40c00000, v30
; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v16, v37, v39, vcc_lo
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v33, v33
; GFX11-TRUE16-NEXT: v_or_b32_e32 v37, 0x400000, v17
@@ -221418,11 +221397,12 @@ define <64 x i16> @bitcast_v64bf16_to_v64i16(<64 x bfloat> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v24, v24
; GFX11-TRUE16-NEXT: v_add3_u32 v52, v53, v50, 0x7fff
; GFX11-TRUE16-NEXT: v_or_b32_e32 v53, 0x400000, v50
-; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_3) | instid1(VALU_DEP_3)
+; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_4) | instid1(VALU_DEP_4)
; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v24, v49, v51, vcc_lo
; GFX11-TRUE16-NEXT: v_bfe_u32 v51, v25, 16, 1
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v50, v50
; GFX11-TRUE16-NEXT: v_add_f32_e32 v50, 0x40c00000, v54
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v24.l, v48.h
; GFX11-TRUE16-NEXT: v_add3_u32 v51, v51, v25, 0x7fff
; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v49, v52, v53, vcc_lo
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v52, 16, v27
@@ -221532,39 +221512,38 @@ define <64 x i16> @bitcast_v64bf16_to_v64i16(<64 x bfloat> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_or_b32_e32 v69, 0x400000, v66
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_4) | instid1(VALU_DEP_4)
; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v0, v65, v67, vcc_lo
-; GFX11-TRUE16-NEXT: v_bfe_u32 v65, v1, 16, 1
+; GFX11-TRUE16-NEXT: v_bfe_u32 v67, v1, 16, 1
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v66, v66
-; GFX11-TRUE16-NEXT: v_add_f32_e32 v67, 0x40c00000, v70
+; GFX11-TRUE16-NEXT: v_add_f32_e32 v66, 0x40c00000, v70
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v0.l, v64.h
-; GFX11-TRUE16-NEXT: v_add3_u32 v65, v65, v1, 0x7fff
-; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v66, v68, v69, vcc_lo
+; GFX11-TRUE16-NEXT: v_add3_u32 v67, v67, v1, 0x7fff
+; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v65, v68, v69, vcc_lo
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v68, 16, v3
; GFX11-TRUE16-NEXT: v_or_b32_e32 v69, 0x400000, v1
-; GFX11-TRUE16-NEXT: v_bfe_u32 v70, v67, 16, 1
+; GFX11-TRUE16-NEXT: v_bfe_u32 v70, v66, 16, 1
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v1, v1
; GFX11-TRUE16-NEXT: v_and_b32_e32 v3, 0xffff0000, v3
; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(NEXT) | instid1(VALU_DEP_4)
-; GFX11-TRUE16-NEXT: v_dual_add_f32 v68, 0x40c00000, v68 :: v_dual_cndmask_b32 v1, v65, v69
-; GFX11-TRUE16-NEXT: v_add3_u32 v65, v70, v67, 0x7fff
-; GFX11-TRUE16-NEXT: v_or_b32_e32 v69, 0x400000, v67
+; GFX11-TRUE16-NEXT: v_dual_add_f32 v68, 0x40c00000, v68 :: v_dual_cndmask_b32 v1, v67, v69
+; GFX11-TRUE16-NEXT: v_add3_u32 v67, v70, v66, 0x7fff
+; GFX11-TRUE16-NEXT: v_or_b32_e32 v69, 0x400000, v66
; GFX11-TRUE16-NEXT: v_bfe_u32 v70, v2, 16, 1
-; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v67, v67
+; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v66, v66
; GFX11-TRUE16-NEXT: v_bfe_u32 v71, v68, 16, 1
; GFX11-TRUE16-NEXT: v_add_f32_e32 v3, 0x40c00000, v3
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v1.l, v66.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v1.l, v65.h
+; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v66, v67, v69, vcc_lo
; GFX11-TRUE16-NEXT: v_add3_u32 v67, v70, v2, 0x7fff
-; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v65, v65, v69, vcc_lo
; GFX11-TRUE16-NEXT: v_or_b32_e32 v69, 0x400000, v2
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v2, v2
; GFX11-TRUE16-NEXT: v_add3_u32 v70, v71, v68, 0x7fff
; GFX11-TRUE16-NEXT: v_or_b32_e32 v71, 0x400000, v68
-; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_4)
+; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_4) | instid1(VALU_DEP_4)
; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v2, v67, v69, vcc_lo
; GFX11-TRUE16-NEXT: v_bfe_u32 v67, v3, 16, 1
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v68, v68
; GFX11-TRUE16-NEXT: v_add_f32_e32 v69, 0x40c00000, v80
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v2.l, v65.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v18.l, v34.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v2.l, v66.h
; GFX11-TRUE16-NEXT: v_add3_u32 v67, v67, v3, 0x7fff
; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v68, v70, v71, vcc_lo
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v70, 16, v5
@@ -221587,12 +221566,13 @@ define <64 x i16> @bitcast_v64bf16_to_v64i16(<64 x bfloat> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v4, v4
; GFX11-TRUE16-NEXT: v_add3_u32 v80, v81, v70, 0x7fff
; GFX11-TRUE16-NEXT: v_or_b32_e32 v81, 0x400000, v70
-; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_4) | instid1(VALU_DEP_4)
+; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_4)
; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v4, v69, v71, vcc_lo
; GFX11-TRUE16-NEXT: v_bfe_u32 v69, v5, 16, 1
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v70, v70
; GFX11-TRUE16-NEXT: v_add_f32_e32 v71, 0x40c00000, v82
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v4.l, v67.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v18.l, v34.h
; GFX11-TRUE16-NEXT: v_add3_u32 v69, v69, v5, 0x7fff
; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v70, v80, v81, vcc_lo
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v80, 16, v7
@@ -221643,13 +221623,12 @@ define <64 x i16> @bitcast_v64bf16_to_v64i16(<64 x bfloat> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v8, v8
; GFX11-TRUE16-NEXT: v_add3_u32 v84, v85, v82, 0x7fff
; GFX11-TRUE16-NEXT: v_or_b32_e32 v85, 0x400000, v82
-; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_4)
+; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_4) | instid1(VALU_DEP_4)
; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v8, v81, v83, vcc_lo
; GFX11-TRUE16-NEXT: v_bfe_u32 v81, v9, 16, 1
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v82, v82
; GFX11-TRUE16-NEXT: v_add_f32_e32 v83, 0x40c00000, v86
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v8.l, v71.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v20.l, v36.h
; GFX11-TRUE16-NEXT: v_add3_u32 v81, v81, v9, 0x7fff
; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v82, v84, v85, vcc_lo
; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v84, 16, v11
@@ -221672,12 +221651,13 @@ define <64 x i16> @bitcast_v64bf16_to_v64i16(<64 x bfloat> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v10, v10
; GFX11-TRUE16-NEXT: v_add3_u32 v86, v87, v84, 0x7fff
; GFX11-TRUE16-NEXT: v_or_b32_e32 v87, 0x400000, v84
-; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_4) | instid1(VALU_DEP_4)
+; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_4)
; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v10, v83, v85, vcc_lo
; GFX11-TRUE16-NEXT: v_bfe_u32 v83, v11, 16, 1
; GFX11-TRUE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v84, v84
; GFX11-TRUE16-NEXT: v_add_f32_e32 v85, 0x40c00000, v96
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v10.l, v81.h
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v20.l, v36.h
; GFX11-TRUE16-NEXT: v_add3_u32 v83, v83, v11, 0x7fff
; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v84, v86, v87, vcc_lo
; GFX11-TRUE16-NEXT: v_or_b32_e32 v86, 0x400000, v11
@@ -221726,7 +221706,6 @@ define <64 x i16> @bitcast_v64bf16_to_v64i16(<64 x bfloat> %a, i32 %b) #0 {
; GFX11-TRUE16-NEXT: v_bfe_u32 v99, v87, 16, 1
; GFX11-TRUE16-NEXT: v_add_f32_e32 v15, 0x40c00000, v15
; GFX11-TRUE16-NEXT: v_mov_b16_e32 v13.l, v83.h
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v24.l, v48.h
; GFX11-TRUE16-NEXT: v_cndmask_b32_e32 v86, v96, v97, vcc_lo
; GFX11-TRUE16-NEXT: v_add3_u32 v97, v98, v14, 0x7fff
; GFX11-TRUE16-NEXT: v_add3_u32 v98, v99, v87, 0x7fff
@@ -222280,7 +222259,7 @@ define inreg <64 x i16> @bitcast_v64bf16_to_v64i16_scalar(<64 x bfloat> inreg %a
; SI: ; %bb.0:
; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
; SI-NEXT: s_or_saveexec_b64 s[4:5], -1
-; SI-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:516 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v63, off, s[0:3], s32 offset:552 ; 4-byte Folded Spill
; SI-NEXT: s_mov_b64 exec, s[4:5]
; SI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:56 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:52 ; 4-byte Folded Spill
@@ -222302,10 +222281,10 @@ define inreg <64 x i16> @bitcast_v64bf16_to_v64i16_scalar(<64 x bfloat> inreg %a
; SI-NEXT: v_writelane_b32 v63, s36, 2
; SI-NEXT: v_writelane_b32 v63, s30, 3
; SI-NEXT: v_writelane_b32 v63, s31, 4
-; SI-NEXT: s_and_b32 s14, s24, 0xffff0000
-; SI-NEXT: s_lshl_b32 s15, s24, 16
-; SI-NEXT: s_and_b32 s24, s23, 0xffff0000
-; SI-NEXT: s_lshl_b32 s23, s23, 16
+; SI-NEXT: s_and_b32 s10, s26, 0xffff0000
+; SI-NEXT: s_lshl_b32 s11, s26, 16
+; SI-NEXT: s_and_b32 s26, s21, 0xffff0000
+; SI-NEXT: s_lshl_b32 s21, s21, 16
; SI-NEXT: v_readfirstlane_b32 s42, v17
; SI-NEXT: v_readfirstlane_b32 s44, v16
; SI-NEXT: v_readfirstlane_b32 s46, v15
@@ -222330,14 +222309,14 @@ define inreg <64 x i16> @bitcast_v64bf16_to_v64i16_scalar(<64 x bfloat> inreg %a
; SI-NEXT: s_lshl_b32 s7, s28, 16
; SI-NEXT: s_and_b32 s8, s27, 0xffff0000
; SI-NEXT: s_lshl_b32 s9, s27, 16
-; SI-NEXT: s_and_b32 s10, s26, 0xffff0000
-; SI-NEXT: s_lshl_b32 s11, s26, 16
; SI-NEXT: s_and_b32 s12, s25, 0xffff0000
; SI-NEXT: s_lshl_b32 s13, s25, 16
+; SI-NEXT: s_and_b32 s14, s24, 0xffff0000
+; SI-NEXT: s_lshl_b32 s15, s24, 16
+; SI-NEXT: s_and_b32 s24, s23, 0xffff0000
+; SI-NEXT: s_lshl_b32 s23, s23, 16
; SI-NEXT: s_and_b32 s25, s22, 0xffff0000
; SI-NEXT: s_lshl_b32 s22, s22, 16
-; SI-NEXT: s_and_b32 s26, s21, 0xffff0000
-; SI-NEXT: s_lshl_b32 s21, s21, 16
; SI-NEXT: s_and_b32 s27, s20, 0xffff0000
; SI-NEXT: s_lshl_b32 s20, s20, 16
; SI-NEXT: s_and_b32 s28, s19, 0xffff0000
@@ -222385,928 +222364,963 @@ define inreg <64 x i16> @bitcast_v64bf16_to_v64i16_scalar(<64 x bfloat> inreg %a
; SI-NEXT: s_and_b32 s35, s34, 0xffff0000
; SI-NEXT: s_lshl_b32 s34, s34, 16
; SI-NEXT: v_readfirstlane_b32 s36, v18
-; SI-NEXT: v_mul_f32_e64 v1, 1.0, s23
+; SI-NEXT: v_mul_f32_e64 v0, 1.0, s21
; SI-NEXT: s_cmp_lg_u32 s36, 0
-; SI-NEXT: v_mul_f32_e64 v27, 1.0, s16
-; SI-NEXT: v_mul_f32_e64 v51, 1.0, s41
-; SI-NEXT: s_waitcnt expcnt(5)
-; SI-NEXT: v_mul_f32_e64 v57, 1.0, s17
-; SI-NEXT: v_mul_f32_e64 v42, 1.0, s40
-; SI-NEXT: v_mul_f32_e64 v0, 1.0, s18
-; SI-NEXT: v_mul_f32_e64 v48, 1.0, s29
-; SI-NEXT: s_waitcnt expcnt(2)
-; SI-NEXT: v_mul_f32_e64 v60, 1.0, s19
-; SI-NEXT: v_mul_f32_e64 v43, 1.0, s28
-; SI-NEXT: v_mul_f32_e64 v33, 1.0, s20
-; SI-NEXT: v_mul_f32_e64 v41, 1.0, s27
-; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_mul_f32_e64 v61, 1.0, s21
+; SI-NEXT: v_mul_f32_e64 v21, 1.0, s16
+; SI-NEXT: v_mul_f32_e64 v35, 1.0, s41
+; SI-NEXT: s_waitcnt expcnt(6)
+; SI-NEXT: v_mul_f32_e64 v56, 1.0, s17
+; SI-NEXT: v_mul_f32_e64 v41, 1.0, s40
+; SI-NEXT: v_mul_f32_e64 v24, 1.0, s18
+; SI-NEXT: v_mul_f32_e64 v40, 1.0, s29
+; SI-NEXT: s_waitcnt expcnt(3)
+; SI-NEXT: v_mul_f32_e64 v59, 1.0, s19
+; SI-NEXT: v_mul_f32_e64 v42, 1.0, s28
+; SI-NEXT: v_mul_f32_e64 v23, 1.0, s20
+; SI-NEXT: v_mul_f32_e64 v34, 1.0, s27
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
; SI-NEXT: v_mul_f32_e64 v44, 1.0, s26
; SI-NEXT: v_mul_f32_e64 v28, 1.0, s22
-; SI-NEXT: v_mul_f32_e64 v37, 1.0, s25
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
-; SI-NEXT: v_mul_f32_e64 v45, 1.0, s24
+; SI-NEXT: v_mul_f32_e64 v55, 1.0, s25
+; SI-NEXT: v_mul_f32_e64 v32, 1.0, s23
+; SI-NEXT: v_mul_f32_e64 v46, 1.0, s24
; SI-NEXT: v_mul_f32_e64 v36, 1.0, s15
-; SI-NEXT: v_mul_f32_e64 v55, 1.0, s14
-; SI-NEXT: v_mul_f32_e64 v53, 1.0, s13
+; SI-NEXT: v_mul_f32_e64 v39, 1.0, s14
+; SI-NEXT: v_mul_f32_e64 v20, 1.0, s13
; SI-NEXT: v_mul_f32_e64 v47, 1.0, s12
-; SI-NEXT: v_mul_f32_e64 v50, 1.0, s11
-; SI-NEXT: v_mul_f32_e64 v52, 1.0, s10
-; SI-NEXT: v_mul_f32_e64 v30, 1.0, s9
-; SI-NEXT: v_mul_f32_e64 v56, 1.0, s8
-; SI-NEXT: v_mul_f32_e64 v46, 1.0, s7
-; SI-NEXT: v_mul_f32_e64 v49, 1.0, s6
-; SI-NEXT: v_mul_f32_e64 v18, 1.0, s5
+; SI-NEXT: v_mul_f32_e64 v37, 1.0, s11
+; SI-NEXT: v_mul_f32_e64 v53, 1.0, s10
+; SI-NEXT: v_mul_f32_e64 v25, 1.0, s9
+; SI-NEXT: v_mul_f32_e64 v57, 1.0, s8
+; SI-NEXT: v_mul_f32_e64 v38, 1.0, s7
+; SI-NEXT: v_mul_f32_e64 v52, 1.0, s6
+; SI-NEXT: v_mul_f32_e64 v50, 1.0, s5
; SI-NEXT: v_mul_f32_e64 v58, 1.0, s4
-; SI-NEXT: v_mul_f32_e64 v34, 1.0, s34
-; SI-NEXT: v_mul_f32_e64 v38, 1.0, s35
-; SI-NEXT: v_mul_f32_e64 v39, 1.0, s30
-; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_mul_f32_e64 v62, 1.0, s31
-; SI-NEXT: v_mul_f32_e64 v29, 1.0, vcc_lo
-; SI-NEXT: v_mul_f32_e64 v31, 1.0, vcc_hi
-; SI-NEXT: v_mul_f32_e64 v10, 1.0, s94
-; SI-NEXT: v_mul_f32_e64 v54, 1.0, s95
-; SI-NEXT: v_mul_f32_e64 v24, 1.0, s92
-; SI-NEXT: v_mul_f32_e64 v26, 1.0, s93
-; SI-NEXT: v_mul_f32_e64 v12, 1.0, s90
-; SI-NEXT: v_mul_f32_e64 v6, 1.0, s91
-; SI-NEXT: v_mul_f32_e64 v21, 1.0, s88
-; SI-NEXT: v_mul_f32_e64 v22, 1.0, s89
-; SI-NEXT: v_mul_f32_e64 v25, 1.0, s78
-; SI-NEXT: v_mul_f32_e64 v32, 1.0, s79
-; SI-NEXT: v_mul_f32_e64 v17, 1.0, s76
-; SI-NEXT: v_mul_f32_e64 v19, 1.0, s77
-; SI-NEXT: v_mul_f32_e64 v35, 1.0, s74
-; SI-NEXT: v_mul_f32_e64 v14, 1.0, s75
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mul_f32_e64 v1, 1.0, s72
-; SI-NEXT: v_mul_f32_e64 v15, 1.0, s73
-; SI-NEXT: v_mul_f32_e64 v59, 1.0, s62
-; SI-NEXT: v_mul_f32_e64 v16, 1.0, s63
-; SI-NEXT: v_mul_f32_e64 v11, 1.0, s60
-; SI-NEXT: v_mul_f32_e64 v13, 1.0, s61
-; SI-NEXT: v_mul_f32_e64 v8, 1.0, s58
-; SI-NEXT: v_mul_f32_e64 v4, 1.0, s59
-; SI-NEXT: v_mul_f32_e64 v7, 1.0, s56
-; SI-NEXT: v_mul_f32_e64 v9, 1.0, s57
-; SI-NEXT: v_mul_f32_e64 v23, 1.0, s46
-; SI-NEXT: v_mul_f32_e64 v40, 1.0, s47
-; SI-NEXT: v_mul_f32_e64 v3, 1.0, s44
-; SI-NEXT: v_mul_f32_e64 v5, 1.0, s45
-; SI-NEXT: v_mul_f32_e64 v20, 1.0, s42
-; SI-NEXT: v_mul_f32_e64 v2, 1.0, s43
-; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v5, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:384 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:388 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:392 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v38, off, s[0:3], s32 offset:396 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:400 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v50, off, s[0:3], s32 offset:408 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:412 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:416 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:420 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:424 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:428 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:432 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:436 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:440 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v48, off, s[0:3], s32 offset:444 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:448 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:452 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:456 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v57, off, s[0:3], s32 offset:460 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v43, off, s[0:3], s32 offset:464 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v60, off, s[0:3], s32 offset:468 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:472 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v61, off, s[0:3], s32 offset:476 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:480 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:484 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:488 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:492 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:496 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v18, off, s[0:3], s32 offset:500 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v62, off, s[0:3], s32 offset:504 ; 4-byte Folded Spill
+; SI-NEXT: v_mul_f32_e64 v1, 1.0, s34
+; SI-NEXT: v_mul_f32_e64 v51, 1.0, s35
+; SI-NEXT: v_mul_f32_e64 v3, 1.0, s30
+; SI-NEXT: s_waitcnt expcnt(3)
+; SI-NEXT: v_mul_f32_e64 v60, 1.0, s31
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_mul_f32_e64 v0, 1.0, vcc_lo
+; SI-NEXT: v_mul_f32_e64 v48, 1.0, vcc_hi
+; SI-NEXT: v_mul_f32_e64 v8, 1.0, s94
+; SI-NEXT: v_mul_f32_e64 v61, 1.0, s95
+; SI-NEXT: v_mul_f32_e64 v33, 1.0, s92
+; SI-NEXT: v_mul_f32_e64 v49, 1.0, s93
+; SI-NEXT: v_mul_f32_e64 v10, 1.0, s90
+; SI-NEXT: v_mul_f32_e64 v5, 1.0, s91
+; SI-NEXT: v_mul_f32_e64 v27, 1.0, s88
+; SI-NEXT: v_mul_f32_e64 v29, 1.0, s89
+; SI-NEXT: v_mul_f32_e64 v31, 1.0, s78
+; SI-NEXT: v_mul_f32_e64 v43, 1.0, s79
+; SI-NEXT: v_mul_f32_e64 v22, 1.0, s76
+; SI-NEXT: v_mul_f32_e64 v26, 1.0, s77
+; SI-NEXT: v_mul_f32_e64 v54, 1.0, s74
+; SI-NEXT: v_mul_f32_e64 v6, 1.0, s75
+; SI-NEXT: v_mul_f32_e64 v45, 1.0, s72
+; SI-NEXT: v_mul_f32_e64 v19, 1.0, s73
+; SI-NEXT: v_mul_f32_e64 v4, 1.0, s62
+; SI-NEXT: v_mul_f32_e64 v12, 1.0, s63
+; SI-NEXT: v_mul_f32_e64 v15, 1.0, s60
+; SI-NEXT: v_mul_f32_e64 v17, 1.0, s61
+; SI-NEXT: v_mul_f32_e64 v16, 1.0, s58
+; SI-NEXT: v_mul_f32_e64 v14, 1.0, s59
+; SI-NEXT: v_mul_f32_e64 v11, 1.0, s56
+; SI-NEXT: v_mul_f32_e64 v13, 1.0, s57
+; SI-NEXT: v_mul_f32_e64 v2, 1.0, s46
+; SI-NEXT: v_mul_f32_e64 v62, 1.0, s47
+; SI-NEXT: v_mul_f32_e64 v7, 1.0, s44
+; SI-NEXT: v_mul_f32_e64 v9, 1.0, s45
+; SI-NEXT: v_mul_f32_e64 v30, 1.0, s42
+; SI-NEXT: v_mul_f32_e64 v18, 1.0, s43
+; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:380 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:384 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v11, off, s[0:3], s32 offset:388 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v13, off, s[0:3], s32 offset:392 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v15, off, s[0:3], s32 offset:396 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:400 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:404 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:408 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:412 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:416 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:420 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:424 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v49, off, s[0:3], s32 offset:428 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:432 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v48, off, s[0:3], s32 offset:436 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:440 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:444 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v38, off, s[0:3], s32 offset:448 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:452 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v37, off, s[0:3], s32 offset:456 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v53, off, s[0:3], s32 offset:460 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v36, off, s[0:3], s32 offset:464 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:468 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:472 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v55, off, s[0:3], s32 offset:476 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:480 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:484 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:488 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:492 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:496 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:500 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:504 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v56, off, s[0:3], s32 offset:508 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:512 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v59, off, s[0:3], s32 offset:516 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v44, off, s[0:3], s32 offset:520 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v45, off, s[0:3], s32 offset:524 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v46, off, s[0:3], s32 offset:528 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v47, off, s[0:3], s32 offset:532 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v57, off, s[0:3], s32 offset:536 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v58, off, s[0:3], s32 offset:540 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v60, off, s[0:3], s32 offset:544 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v61, off, s[0:3], s32 offset:548 ; 4-byte Folded Spill
; SI-NEXT: s_cbranch_scc0 .LBB105_2
; SI-NEXT: ; %bb.1: ; %cmp.false
-; SI-NEXT: v_lshrrev_b32_e32 v0, 16, v0
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
+; SI-NEXT: v_lshrrev_b32_e32 v1, 16, v1
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_lshrrev_b32_e32 v0, 16, v48
-; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v27
-; SI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
+; SI-NEXT: v_lshrrev_b32_e32 v1, 16, v51
+; SI-NEXT: v_lshrrev_b32_e32 v24, 16, v24
+; SI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; SI-NEXT: v_lshrrev_b32_e32 v21, 16, v21
+; SI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(3)
+; SI-NEXT: v_lshrrev_b32_e32 v24, 16, v40
; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_mov_b32_e32 v27, v59
-; SI-NEXT: v_lshrrev_b32_e32 v59, 16, v51
-; SI-NEXT: v_lshrrev_b32_e32 v51, 16, v42
-; SI-NEXT: v_mov_b32_e32 v48, v32
-; SI-NEXT: v_lshrrev_b32_e32 v32, 16, v43
-; SI-NEXT: buffer_store_dword v50, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v32, 16, v44
+; SI-NEXT: v_lshrrev_b32_e32 v21, 16, v35
+; SI-NEXT: v_lshrrev_b32_e32 v34, 16, v34
+; SI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v35, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
; SI-NEXT: s_mov_b64 s[4:5], 0
-; SI-NEXT: v_lshrrev_b32_e32 v41, 16, v41
-; SI-NEXT: v_lshrrev_b32_e32 v51, 16, v46
-; SI-NEXT: v_lshrrev_b32_e32 v46, 16, v29
-; SI-NEXT: v_lshrrev_b32_e32 v44, 16, v24
-; SI-NEXT: v_lshrrev_b32_e32 v22, 16, v22
-; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v19
-; SI-NEXT: v_lshrrev_b32_e32 v19, 16, v61
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
+; SI-NEXT: v_lshrrev_b32_e32 v40, 16, v10
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_lshrrev_b32_e32 v0, 16, v33
-; SI-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v32, 16, v45
-; SI-NEXT: v_lshrrev_b32_e32 v45, 16, v57
-; SI-NEXT: v_lshrrev_b32_e32 v57, 16, v12
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
+; SI-NEXT: v_lshrrev_b32_e32 v1, 16, v60
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_lshrrev_b32_e32 v0, 16, v28
-; SI-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v32, 16, v56
-; SI-NEXT: v_mov_b32_e32 v56, v59
-; SI-NEXT: v_mov_b32_e32 v59, v27
-; SI-NEXT: v_lshrrev_b32_e32 v28, 16, v35
-; SI-NEXT: v_lshrrev_b32_e32 v43, 16, v59
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
+; SI-NEXT: v_lshrrev_b32_e32 v24, 16, v42
+; SI-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_lshrrev_b32_e32 v0, 16, v37
-; SI-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
+; SI-NEXT: v_lshrrev_b32_e32 v21, 16, v41
+; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v32, 16, v58
-; SI-NEXT: v_lshrrev_b32_e32 v58, 16, v9
-; SI-NEXT: v_lshrrev_b32_e32 v9, 16, v39
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_lshrrev_b32_e32 v0, 16, v36
-; SI-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
+; SI-NEXT: v_lshrrev_b32_e32 v21, 16, v36
+; SI-NEXT: v_lshrrev_b32_e32 v60, 16, v33
+; SI-NEXT: v_lshrrev_b32_e32 v42, 16, v19
+; SI-NEXT: v_lshrrev_b32_e32 v19, 16, v3
+; SI-NEXT: v_lshrrev_b32_e32 v0, 16, v0
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v32, 16, v62
-; SI-NEXT: v_lshrrev_b32_e32 v62, 16, v54
-; SI-NEXT: v_lshrrev_b32_e32 v36, 16, v20
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_lshrrev_b32_e32 v0, 16, v55
-; SI-NEXT: buffer_store_dword v31, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v32, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
-; SI-NEXT: v_lshrrev_b32_e32 v55, 16, v47
-; SI-NEXT: v_lshrrev_b32_e32 v47, 16, v17
-; SI-NEXT: v_lshrrev_b32_e32 v17, 16, v14
-; SI-NEXT: buffer_store_dword v16, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v17, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(2)
-; SI-NEXT: v_mov_b32_e32 v32, v48
-; SI-NEXT: v_lshrrev_b32_e32 v48, 16, v5
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
+; SI-NEXT: v_lshrrev_b32_e32 v1, 16, v61
+; SI-NEXT: v_lshrrev_b32_e32 v23, 16, v23
+; SI-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_lshrrev_b32_e32 v0, 16, v50
-; SI-NEXT: v_lshrrev_b32_e32 v50, 16, v21
-; SI-NEXT: v_lshrrev_b32_e32 v21, 16, v60
-; SI-NEXT: v_lshrrev_b32_e32 v60, 16, v23
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
+; SI-NEXT: v_lshrrev_b32_e32 v23, 16, v44
+; SI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_lshrrev_b32_e32 v23, 16, v28
+; SI-NEXT: v_lshrrev_b32_e32 v28, 16, v55
+; SI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_lshrrev_b32_e32 v0, 16, v52
-; SI-NEXT: v_lshrrev_b32_e32 v52, 16, v6
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
+; SI-NEXT: v_lshrrev_b32_e32 v28, 16, v46
+; SI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_lshrrev_b32_e32 v28, 16, v39
+; SI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:372 ; 4-byte Folded Reload
+; SI-NEXT: v_lshrrev_b32_e32 v39, 16, v25
+; SI-NEXT: v_lshrrev_b32_e32 v55, 16, v30
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
; SI-NEXT: v_lshrrev_b32_e32 v0, 16, v49
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_lshrrev_b32_e32 v0, 16, v34
-; SI-NEXT: v_lshrrev_b32_e32 v34, 16, v25
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_lshrrev_b32_e32 v0, 16, v38
-; SI-NEXT: v_lshrrev_b32_e32 v38, 16, v15
-; SI-NEXT: v_lshrrev_b32_e32 v15, 16, v53
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
+; SI-NEXT: v_lshrrev_b32_e32 v28, 16, v53
+; SI-NEXT: v_lshrrev_b32_e32 v21, 16, v47
+; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_lshrrev_b32_e32 v21, 16, v37
+; SI-NEXT: buffer_store_dword v23, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v24, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_lshrrev_b32_e32 v24, 16, v38
+; SI-NEXT: s_waitcnt vmcnt(10)
+; SI-NEXT: v_lshrrev_b32_e32 v36, 16, v44
+; SI-NEXT: v_lshrrev_b32_e32 v37, 16, v32
+; SI-NEXT: v_lshrrev_b32_e32 v47, 16, v50
+; SI-NEXT: v_lshrrev_b32_e32 v49, 16, v16
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_lshrrev_b32_e32 v1, 16, v5
+; SI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_lshrrev_b32_e32 v0, 16, v31
-; SI-NEXT: v_lshrrev_b32_e32 v31, 16, v32
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
+; SI-NEXT: v_lshrrev_b32_e32 v28, 16, v57
+; SI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_lshrrev_b32_e32 v28, 16, v52
+; SI-NEXT: v_lshrrev_b32_e32 v57, 16, v48
+; SI-NEXT: v_lshrrev_b32_e32 v38, 16, v20
+; SI-NEXT: v_lshrrev_b32_e32 v21, 16, v31
+; SI-NEXT: v_lshrrev_b32_e32 v52, 16, v4
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_lshrrev_b32_e32 v1, 16, v43
+; SI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_lshrrev_b32_e32 v0, 16, v26
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
-; SI-NEXT: v_lshrrev_b32_e32 v26, 16, v1
+; SI-NEXT: v_lshrrev_b32_e32 v28, 16, v58
+; SI-NEXT: buffer_store_dword v27, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
+; SI-NEXT: v_lshrrev_b32_e32 v48, 16, v22
+; SI-NEXT: v_lshrrev_b32_e32 v58, 16, v26
+; SI-NEXT: v_lshrrev_b32_e32 v26, 16, v45
+; SI-NEXT: v_lshrrev_b32_e32 v22, 16, v8
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v1, 16, v16
+; SI-NEXT: v_lshrrev_b32_e32 v1, 16, v6
; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_lshrrev_b32_e32 v1, 16, v12
+; SI-NEXT: v_lshrrev_b32_e32 v61, 16, v27
+; SI-NEXT: v_lshrrev_b32_e32 v34, 16, v29
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(1)
+; SI-NEXT: v_lshrrev_b32_e32 v0, 16, v15
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(1)
+; SI-NEXT: v_lshrrev_b32_e32 v0, 16, v17
+; SI-NEXT: v_lshrrev_b32_e32 v17, 16, v54
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_lshrrev_b32_e32 v1, 16, v14
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
; SI-NEXT: v_lshrrev_b32_e32 v0, 16, v11
-; SI-NEXT: v_lshrrev_b32_e32 v11, 16, v18
; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
; SI-NEXT: v_lshrrev_b32_e32 v0, 16, v13
-; SI-NEXT: v_lshrrev_b32_e32 v13, 16, v30
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v1, 16, v4
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; SI-NEXT: v_lshrrev_b32_e32 v1, 16, v62
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
; SI-NEXT: v_lshrrev_b32_e32 v0, 16, v7
-; SI-NEXT: v_lshrrev_b32_e32 v7, 16, v10
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v1, 16, v40
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_lshrrev_b32_e32 v0, 16, v3
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v1, 16, v2
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:320 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v1, 16, v8
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshrrev_b32_e32 v17, 16, v0
+; SI-NEXT: v_lshrrev_b32_e32 v0, 16, v9
; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
-; SI-NEXT: v_mov_b32_e32 v18, v0
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_lshrrev_b32_e32 v1, 16, v18
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_lshrrev_b32_e32 v1, 16, v56
+; SI-NEXT: v_lshrrev_b32_e32 v56, 16, v59
+; SI-NEXT: v_lshrrev_b32_e32 v59, 16, v2
; SI-NEXT: s_branch .LBB105_3
; SI-NEXT: .LBB105_2:
-; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:320 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v44, off, s[0:3], s32 offset:372 ; 4-byte Folded Reload
+; SI-NEXT: ; implicit-def: $vgpr0
; SI-NEXT: s_mov_b64 s[4:5], -1
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
; SI-NEXT: ; implicit-def: $vgpr0
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
-; SI-NEXT: ; implicit-def: $vgpr56
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
; SI-NEXT: ; implicit-def: $vgpr1
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
; SI-NEXT: ; implicit-def: $vgpr0
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
; SI-NEXT: ; implicit-def: $vgpr0
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
; SI-NEXT: ; implicit-def: $vgpr1
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
; SI-NEXT: ; implicit-def: $vgpr0
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
-; SI-NEXT: ; implicit-def: $vgpr41
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
+; SI-NEXT: ; implicit-def: $vgpr0
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
; SI-NEXT: ; implicit-def: $vgpr1
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
; SI-NEXT: ; implicit-def: $vgpr0
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
; SI-NEXT: ; implicit-def: $vgpr0
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
; SI-NEXT: ; implicit-def: $vgpr1
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
; SI-NEXT: ; implicit-def: $vgpr0
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
; SI-NEXT: ; implicit-def: $vgpr0
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
-; SI-NEXT: ; implicit-def: $vgpr55
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
+; SI-NEXT: ; implicit-def: $vgpr1
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
; SI-NEXT: ; implicit-def: $vgpr0
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
; SI-NEXT: ; implicit-def: $vgpr0
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
; SI-NEXT: ; implicit-def: $vgpr1
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
-; SI-NEXT: ; implicit-def: $vgpr51
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
+; SI-NEXT: ; implicit-def: $vgpr24
; SI-NEXT: ; implicit-def: $vgpr0
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
; SI-NEXT: ; implicit-def: $vgpr1
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
; SI-NEXT: ; implicit-def: $vgpr0
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
; SI-NEXT: ; implicit-def: $vgpr0
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
; SI-NEXT: ; implicit-def: $vgpr1
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
-; SI-NEXT: ; implicit-def: $vgpr46
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
; SI-NEXT: ; implicit-def: $vgpr0
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
-; SI-NEXT: ; implicit-def: $vgpr62
-; SI-NEXT: ; implicit-def: $vgpr44
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; SI-NEXT: ; implicit-def: $vgpr57
+; SI-NEXT: ; implicit-def: $vgpr1
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
+; SI-NEXT: ; implicit-def: $vgpr60
; SI-NEXT: ; implicit-def: $vgpr0
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
-; SI-NEXT: ; implicit-def: $vgpr52
-; SI-NEXT: ; implicit-def: $vgpr50
-; SI-NEXT: ; implicit-def: $vgpr22
-; SI-NEXT: ; implicit-def: $vgpr31
-; SI-NEXT: ; implicit-def: $vgpr47
-; SI-NEXT: ; implicit-def: $vgpr29
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
+; SI-NEXT: ; implicit-def: $vgpr1
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
+; SI-NEXT: ; implicit-def: $vgpr61
+; SI-NEXT: ; implicit-def: $vgpr34
; SI-NEXT: ; implicit-def: $vgpr1
; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
-; SI-NEXT: ; implicit-def: $vgpr26
-; SI-NEXT: ; implicit-def: $vgpr38
+; SI-NEXT: ; implicit-def: $vgpr48
+; SI-NEXT: ; implicit-def: $vgpr58
; SI-NEXT: ; implicit-def: $vgpr1
; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
-; SI-NEXT: ; implicit-def: $vgpr0
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
-; SI-NEXT: ; implicit-def: $vgpr0
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
+; SI-NEXT: ; implicit-def: $vgpr26
+; SI-NEXT: ; implicit-def: $vgpr42
; SI-NEXT: ; implicit-def: $vgpr1
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
+; SI-NEXT: ; implicit-def: $vgpr0
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
; SI-NEXT: ; implicit-def: $vgpr0
; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
-; SI-NEXT: ; implicit-def: $vgpr58
; SI-NEXT: ; implicit-def: $vgpr1
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
; SI-NEXT: ; implicit-def: $vgpr0
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
-; SI-NEXT: ; implicit-def: $vgpr48
-; SI-NEXT: ; implicit-def: $vgpr1
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
-; SI-NEXT: ; implicit-def: $vgpr45
-; SI-NEXT: ; implicit-def: $vgpr21
-; SI-NEXT: ; implicit-def: $vgpr19
-; SI-NEXT: ; implicit-def: $vgpr17
-; SI-NEXT: ; implicit-def: $vgpr15
-; SI-NEXT: ; implicit-def: $vgpr13
-; SI-NEXT: ; implicit-def: $vgpr11
-; SI-NEXT: ; implicit-def: $vgpr9
-; SI-NEXT: ; implicit-def: $vgpr7
-; SI-NEXT: ; implicit-def: $vgpr57
-; SI-NEXT: ; implicit-def: $vgpr34
-; SI-NEXT: ; implicit-def: $vgpr28
-; SI-NEXT: ; implicit-def: $vgpr43
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; SI-NEXT: ; implicit-def: $vgpr0
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
; SI-NEXT: ; implicit-def: $vgpr1
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
+; SI-NEXT: ; implicit-def: $vgpr0
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
+; SI-NEXT: ; implicit-def: $vgpr0
; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
-; SI-NEXT: ; implicit-def: $vgpr60
+; SI-NEXT: ; implicit-def: $vgpr1
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
+; SI-NEXT: ; implicit-def: $vgpr1
+; SI-NEXT: ; implicit-def: $vgpr56
; SI-NEXT: ; implicit-def: $vgpr36
+; SI-NEXT: ; implicit-def: $vgpr37
+; SI-NEXT: ; implicit-def: $vgpr38
+; SI-NEXT: ; implicit-def: $vgpr39
+; SI-NEXT: ; implicit-def: $vgpr47
+; SI-NEXT: ; implicit-def: $vgpr19
+; SI-NEXT: ; implicit-def: $vgpr22
+; SI-NEXT: ; implicit-def: $vgpr40
+; SI-NEXT: ; implicit-def: $vgpr21
+; SI-NEXT: ; implicit-def: $vgpr17
+; SI-NEXT: ; implicit-def: $vgpr52
+; SI-NEXT: ; implicit-def: $vgpr49
+; SI-NEXT: ; implicit-def: $vgpr59
+; SI-NEXT: ; implicit-def: $vgpr55
; SI-NEXT: .LBB105_3: ; %Flow
+; SI-NEXT: v_mov_b32_e32 v11, v54
+; SI-NEXT: buffer_load_dword v53, off, s[0:3], s32 offset:364 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v54, off, s[0:3], s32 offset:368 ; 4-byte Folded Reload
; SI-NEXT: s_and_b64 s[4:5], s[4:5], exec
; SI-NEXT: s_cselect_b32 s4, 1, 0
-; SI-NEXT: v_mov_b32_e32 v24, v53
+; SI-NEXT: v_mov_b32_e32 v15, v10
; SI-NEXT: s_cmp_lg_u32 s4, 1
+; SI-NEXT: s_waitcnt vmcnt(1)
+; SI-NEXT: v_mov_b32_e32 v23, v53
; SI-NEXT: s_cbranch_scc1 .LBB105_5
; SI-NEXT: ; %bb.4: ; %cmp.true
-; SI-NEXT: s_waitcnt expcnt(2)
-; SI-NEXT: v_and_b32_e32 v0, 0xffff0000, v20
-; SI-NEXT: v_add_f32_e32 v49, 0x40c00000, v0
-; SI-NEXT: v_and_b32_e32 v0, 0xffff0000, v23
-; SI-NEXT: v_add_f32_e32 v33, 0x40c00000, v0
-; SI-NEXT: v_and_b32_e32 v0, 0xffff0000, v8
-; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:468 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:464 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_and_b32_e32 v1, 0xffff0000, v2
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:532 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_and_b32_e32 v1, 0xffff0000, v18
; SI-NEXT: v_add_f32_e32 v1, 0x40c00000, v1
-; SI-NEXT: v_lshrrev_b32_e32 v50, 16, v1
-; SI-NEXT: v_and_b32_e32 v1, 0xffff0000, v40
+; SI-NEXT: v_lshrrev_b32_e32 v22, 16, v1
+; SI-NEXT: v_and_b32_e32 v1, 0xffff0000, v62
; SI-NEXT: v_add_f32_e32 v1, 0x40c00000, v1
; SI-NEXT: v_lshrrev_b32_e32 v34, 16, v1
-; SI-NEXT: v_and_b32_e32 v1, 0xffff0000, v4
+; SI-NEXT: v_and_b32_e32 v1, 0xffff0000, v14
; SI-NEXT: v_add_f32_e32 v1, 0x40c00000, v1
-; SI-NEXT: v_lshrrev_b32_e32 v62, 16, v1
-; SI-NEXT: v_and_b32_e32 v1, 0xffff0000, v16
+; SI-NEXT: v_and_b32_e32 v0, 0xffff0000, v30
+; SI-NEXT: v_lshrrev_b32_e32 v52, 16, v1
+; SI-NEXT: v_and_b32_e32 v1, 0xffff0000, v12
+; SI-NEXT: v_add_f32_e32 v21, 0x40c00000, v0
+; SI-NEXT: v_and_b32_e32 v0, 0xffff0000, v2
; SI-NEXT: v_add_f32_e32 v1, 0x40c00000, v1
-; SI-NEXT: v_add_f32_e32 v61, 0x40c00000, v0
-; SI-NEXT: v_and_b32_e32 v0, 0xffff0000, v59
-; SI-NEXT: v_lshrrev_b32_e32 v43, 16, v1
-; SI-NEXT: v_and_b32_e32 v1, 0xffff0000, v14
-; SI-NEXT: v_add_f32_e32 v42, 0x40c00000, v0
-; SI-NEXT: v_and_b32_e32 v0, 0xffff0000, v35
+; SI-NEXT: v_add_f32_e32 v33, 0x40c00000, v0
+; SI-NEXT: v_and_b32_e32 v0, 0xffff0000, v16
+; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v1
+; SI-NEXT: v_and_b32_e32 v1, 0xffff0000, v6
+; SI-NEXT: v_add_f32_e32 v51, 0x40c00000, v0
+; SI-NEXT: v_and_b32_e32 v0, 0xffff0000, v4
+; SI-NEXT: v_add_f32_e32 v1, 0x40c00000, v1
+; SI-NEXT: v_add_f32_e32 v28, 0x40c00000, v0
+; SI-NEXT: v_and_b32_e32 v0, 0xffff0000, v11
+; SI-NEXT: v_lshrrev_b32_e32 v11, 16, v1
+; SI-NEXT: v_and_b32_e32 v1, 0xffff0000, v43
+; SI-NEXT: v_add_f32_e32 v10, 0x40c00000, v0
+; SI-NEXT: v_and_b32_e32 v0, 0xffff0000, v31
; SI-NEXT: v_add_f32_e32 v1, 0x40c00000, v1
; SI-NEXT: v_add_f32_e32 v0, 0x40c00000, v0
; SI-NEXT: v_lshrrev_b32_e32 v1, 16, v1
; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_and_b32_e32 v1, 0xffff0000, v32
-; SI-NEXT: v_and_b32_e32 v0, 0xffff0000, v25
+; SI-NEXT: v_and_b32_e32 v1, 0xffff0000, v5
; SI-NEXT: v_add_f32_e32 v1, 0x40c00000, v1
+; SI-NEXT: v_lshrrev_b32_e32 v36, 16, v1
+; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:548 ; 4-byte Folded Reload
+; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v20
+; SI-NEXT: v_add_f32_e32 v58, 0x40c00000, v6
+; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v32
+; SI-NEXT: v_add_f32_e32 v56, 0x40c00000, v6
+; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v44
+; SI-NEXT: v_add_f32_e32 v47, 0x40c00000, v6
+; SI-NEXT: v_and_b32_e32 v0, 0xffff0000, v15
+; SI-NEXT: v_add_f32_e32 v35, 0x40c00000, v0
+; SI-NEXT: v_and_b32_e32 v0, 0xffff0000, v8
; SI-NEXT: v_add_f32_e32 v0, 0x40c00000, v0
-; SI-NEXT: v_lshrrev_b32_e32 v1, 16, v1
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
+; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v3
+; SI-NEXT: v_add_f32_e32 v8, 0x40c00000, v2
+; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:544 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:540 ; 4-byte Folded Reload
+; SI-NEXT: v_and_b32_e32 v4, 0xffff0000, v50
+; SI-NEXT: v_add_f32_e32 v40, 0x40c00000, v4
+; SI-NEXT: v_and_b32_e32 v4, 0xffff0000, v25
+; SI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v22, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v33, off, s[0:3], s32 offset:324 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v34, off, s[0:3], s32 offset:328 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v51, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v52, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v28, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v29, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
+; SI-NEXT: v_add_f32_e32 v4, 0x40c00000, v4
+; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:516 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(14)
+; SI-NEXT: v_and_b32_e32 v7, 0xffff0000, v7
+; SI-NEXT: v_add_f32_e32 v7, 0x40c00000, v7
+; SI-NEXT: v_lshrrev_b32_e32 v59, 16, v7
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:528 ; 4-byte Folded Reload
+; SI-NEXT: v_lshr_b64 v[13:14], v[21:22], 16
+; SI-NEXT: v_lshr_b64 v[15:16], v[33:34], 16
+; SI-NEXT: s_waitcnt expcnt(2)
+; SI-NEXT: v_lshr_b64 v[51:52], v[51:52], 16
+; SI-NEXT: v_lshr_b64 v[33:34], v[35:36], 16
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_and_b32_e32 v1, 0xffff0000, v6
-; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v24
-; SI-NEXT: v_and_b32_e32 v0, 0xffff0000, v12
-; SI-NEXT: v_add_f32_e32 v1, 0x40c00000, v1
-; SI-NEXT: v_add_f32_e32 v52, 0x40c00000, v0
-; SI-NEXT: v_and_b32_e32 v0, 0xffff0000, v10
-; SI-NEXT: v_lshrrev_b32_e32 v53, 16, v1
-; SI-NEXT: v_and_b32_e32 v1, 0xffff0000, v54
+; SI-NEXT: v_lshr_b64 v[28:29], v[28:29], 16
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_and_b32_e32 v7, 0xffff0000, v7
+; SI-NEXT: v_add_f32_e32 v7, 0x40c00000, v7
+; SI-NEXT: v_lshrrev_b32_e32 v57, 16, v7
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:520 ; 4-byte Folded Reload
+; SI-NEXT: v_and_b32_e32 v1, 0xffff0000, v1
; SI-NEXT: v_add_f32_e32 v1, 0x40c00000, v1
-; SI-NEXT: v_add_f32_e32 v0, 0x40c00000, v0
; SI-NEXT: v_lshrrev_b32_e32 v1, 16, v1
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:508 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:512 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:504 ; 4-byte Folded Reload
-; SI-NEXT: v_and_b32_e32 v2, 0xffff0000, v39
-; SI-NEXT: v_add_f32_e32 v26, 0x40c00000, v2
-; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:488 ; 4-byte Folded Reload
-; SI-NEXT: v_lshr_b64 v[59:60], v[33:34], 16
-; SI-NEXT: s_waitcnt vmcnt(9)
-; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v8
-; SI-NEXT: v_add_f32_e32 v45, 0x40c00000, v8
-; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:460 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(9)
-; SI-NEXT: v_and_b32_e32 v9, 0xffff0000, v9
-; SI-NEXT: v_add_f32_e32 v9, 0x40c00000, v9
-; SI-NEXT: v_lshrrev_b32_e32 v46, 16, v9
-; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:456 ; 4-byte Folded Reload
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt vmcnt(2)
+; SI-NEXT: v_and_b32_e32 v7, 0xffff0000, v7
+; SI-NEXT: v_add_f32_e32 v7, 0x40c00000, v7
+; SI-NEXT: v_lshrrev_b32_e32 v48, 16, v7
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:512 ; 4-byte Folded Reload
+; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v6
+; SI-NEXT: v_add_f32_e32 v45, 0x40c00000, v6
+; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:508 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v8
-; SI-NEXT: v_add_f32_e32 v21, 0x40c00000, v8
-; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:448 ; 4-byte Folded Reload
+; SI-NEXT: v_and_b32_e32 v7, 0xffff0000, v7
+; SI-NEXT: v_add_f32_e32 v7, 0x40c00000, v7
+; SI-NEXT: v_lshrrev_b32_e32 v46, 16, v7
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:504 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_and_b32_e32 v9, 0xffff0000, v9
-; SI-NEXT: v_add_f32_e32 v9, 0x40c00000, v9
-; SI-NEXT: v_lshrrev_b32_e32 v22, 16, v9
-; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:452 ; 4-byte Folded Reload
+; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v6
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_add_f32_e32 v1, 0x40c00000, v6
+; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:496 ; 4-byte Folded Reload
+; SI-NEXT: v_mov_b32_e32 v22, v46
+; SI-NEXT: v_mov_b32_e32 v21, v45
; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v8
-; SI-NEXT: v_add_f32_e32 v8, 0x40c00000, v8
+; SI-NEXT: v_and_b32_e32 v7, 0xffff0000, v7
+; SI-NEXT: v_add_f32_e32 v7, 0x40c00000, v7
+; SI-NEXT: v_lshrrev_b32_e32 v2, 16, v7
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:500 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(1)
+; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v6
+; SI-NEXT: v_add_f32_e32 v6, 0x40c00000, v6
+; SI-NEXT: v_mov_b32_e32 v25, v2
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v9, 0xffff0000, v9
-; SI-NEXT: v_add_f32_e32 v51, 0x40c00000, v9
-; SI-NEXT: v_lshrrev_b32_e32 v9, 16, v51
-; SI-NEXT: v_lshr_b64 v[8:9], v[8:9], 16
-; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
+; SI-NEXT: v_and_b32_e32 v7, 0xffff0000, v7
+; SI-NEXT: v_add_f32_e32 v38, 0x40c00000, v7
+; SI-NEXT: v_lshrrev_b32_e32 v7, 16, v38
+; SI-NEXT: v_lshr_b64 v[6:7], v[6:7], 16
+; SI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:440 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:488 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:444 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:492 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v8
+; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v6
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v9, 0xffff0000, v9
-; SI-NEXT: v_add_f32_e32 v23, 0x40c00000, v9
-; SI-NEXT: v_add_f32_e32 v8, 0x40c00000, v8
-; SI-NEXT: v_lshrrev_b32_e32 v9, 16, v23
-; SI-NEXT: v_lshr_b64 v[8:9], v[8:9], 16
-; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
+; SI-NEXT: v_and_b32_e32 v7, 0xffff0000, v7
+; SI-NEXT: v_add_f32_e32 v55, 0x40c00000, v7
+; SI-NEXT: v_add_f32_e32 v6, 0x40c00000, v6
+; SI-NEXT: v_lshrrev_b32_e32 v7, 16, v55
+; SI-NEXT: v_lshr_b64 v[6:7], v[6:7], 16
+; SI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:432 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:480 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:436 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:484 ; 4-byte Folded Reload
+; SI-NEXT: v_and_b32_e32 v55, 0xffff0000, v55
; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v8
+; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v6
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v9, 0xffff0000, v9
-; SI-NEXT: v_add_f32_e32 v24, 0x40c00000, v9
-; SI-NEXT: v_add_f32_e32 v8, 0x40c00000, v8
-; SI-NEXT: v_lshrrev_b32_e32 v9, 16, v24
-; SI-NEXT: v_lshr_b64 v[8:9], v[8:9], 16
-; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:148 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:152 ; 4-byte Folded Spill
+; SI-NEXT: v_and_b32_e32 v7, 0xffff0000, v7
+; SI-NEXT: v_add_f32_e32 v30, 0x40c00000, v7
+; SI-NEXT: v_add_f32_e32 v6, 0x40c00000, v6
+; SI-NEXT: v_lshrrev_b32_e32 v7, 16, v30
+; SI-NEXT: v_lshr_b64 v[6:7], v[6:7], 16
+; SI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:424 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:472 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:428 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:476 ; 4-byte Folded Reload
+; SI-NEXT: v_and_b32_e32 v35, 0xffff0000, v30
; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v8
+; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v6
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v9, 0xffff0000, v9
-; SI-NEXT: v_add_f32_e32 v25, 0x40c00000, v9
-; SI-NEXT: v_add_f32_e32 v8, 0x40c00000, v8
-; SI-NEXT: v_lshrrev_b32_e32 v9, 16, v25
-; SI-NEXT: v_lshr_b64 v[8:9], v[8:9], 16
-; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:308 ; 4-byte Folded Spill
+; SI-NEXT: v_and_b32_e32 v7, 0xffff0000, v7
+; SI-NEXT: v_add_f32_e32 v26, 0x40c00000, v7
+; SI-NEXT: v_add_f32_e32 v6, 0x40c00000, v6
+; SI-NEXT: v_lshrrev_b32_e32 v7, 16, v26
+; SI-NEXT: v_lshr_b64 v[6:7], v[6:7], 16
+; SI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:416 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:464 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:420 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:468 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v8
+; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v6
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v9, 0xffff0000, v9
-; SI-NEXT: v_add_f32_e32 v15, 0x40c00000, v9
-; SI-NEXT: v_add_f32_e32 v8, 0x40c00000, v8
-; SI-NEXT: v_lshrrev_b32_e32 v9, 16, v15
-; SI-NEXT: v_lshr_b64 v[8:9], v[8:9], 16
-; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:200 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
+; SI-NEXT: v_and_b32_e32 v7, 0xffff0000, v7
+; SI-NEXT: v_add_f32_e32 v42, 0x40c00000, v7
+; SI-NEXT: v_add_f32_e32 v6, 0x40c00000, v6
+; SI-NEXT: v_lshrrev_b32_e32 v7, 16, v42
+; SI-NEXT: v_lshr_b64 v[6:7], v[6:7], 16
+; SI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:340 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:344 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:408 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:456 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:412 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:460 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v8
+; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v6
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v9, 0xffff0000, v9
-; SI-NEXT: v_add_f32_e32 v13, 0x40c00000, v9
-; SI-NEXT: v_add_f32_e32 v8, 0x40c00000, v8
-; SI-NEXT: v_lshrrev_b32_e32 v9, 16, v13
-; SI-NEXT: v_lshr_b64 v[8:9], v[8:9], 16
-; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:192 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:196 ; 4-byte Folded Spill
+; SI-NEXT: v_and_b32_e32 v7, 0xffff0000, v7
+; SI-NEXT: v_add_f32_e32 v54, 0x40c00000, v7
+; SI-NEXT: v_add_f32_e32 v6, 0x40c00000, v6
+; SI-NEXT: v_lshrrev_b32_e32 v7, 16, v54
+; SI-NEXT: v_lshr_b64 v[6:7], v[6:7], 16
+; SI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:348 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:352 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:484 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:448 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:400 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:452 ; 4-byte Folded Reload
+; SI-NEXT: v_and_b32_e32 v52, 0xffff0000, v54
; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v8
+; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v6
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v9, 0xffff0000, v9
-; SI-NEXT: v_add_f32_e32 v11, 0x40c00000, v9
-; SI-NEXT: v_add_f32_e32 v8, 0x40c00000, v8
-; SI-NEXT: v_lshrrev_b32_e32 v9, 16, v11
-; SI-NEXT: v_lshr_b64 v[8:9], v[8:9], 16
-; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:400 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:404 ; 4-byte Folded Spill
+; SI-NEXT: v_and_b32_e32 v7, 0xffff0000, v7
+; SI-NEXT: v_add_f32_e32 v53, 0x40c00000, v7
+; SI-NEXT: v_add_f32_e32 v6, 0x40c00000, v6
+; SI-NEXT: v_lshrrev_b32_e32 v7, 16, v53
+; SI-NEXT: v_lshr_b64 v[6:7], v[6:7], 16
+; SI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:364 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:368 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:392 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:440 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:396 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:444 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v8
+; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v6
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v9, 0xffff0000, v9
-; SI-NEXT: v_add_f32_e32 v10, 0x40c00000, v9
-; SI-NEXT: v_add_f32_e32 v8, 0x40c00000, v8
-; SI-NEXT: v_lshrrev_b32_e32 v9, 16, v10
-; SI-NEXT: v_lshr_b64 v[8:9], v[8:9], 16
-; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:312 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
+; SI-NEXT: v_and_b32_e32 v7, 0xffff0000, v7
+; SI-NEXT: v_add_f32_e32 v39, 0x40c00000, v7
+; SI-NEXT: v_add_f32_e32 v6, 0x40c00000, v6
+; SI-NEXT: v_lshrrev_b32_e32 v7, 16, v39
+; SI-NEXT: v_lshr_b64 v[6:7], v[6:7], 16
+; SI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:356 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:360 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:384 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:432 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:388 ; 4-byte Folded Reload
-; SI-NEXT: v_and_b32_e32 v3, 0xffff0000, v0
-; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:500 ; 4-byte Folded Reload
-; SI-NEXT: v_add_f32_e32 v3, 0x40c00000, v3
-; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v3
-; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v8
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:436 ; 4-byte Folded Reload
+; SI-NEXT: v_and_b32_e32 v16, 0xffff0000, v39
+; SI-NEXT: v_and_b32_e32 v39, 0xffff0000, v42
+; SI-NEXT: v_lshr_b64 v[42:43], v[56:57], 16
; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_and_b32_e32 v9, 0xffff0000, v9
-; SI-NEXT: v_add_f32_e32 v12, 0x40c00000, v9
-; SI-NEXT: v_add_f32_e32 v8, 0x40c00000, v8
-; SI-NEXT: v_lshrrev_b32_e32 v9, 16, v12
-; SI-NEXT: v_lshr_b64 v[54:55], v[8:9], 16
-; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:376 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:380 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_and_b32_e32 v4, 0xffff0000, v0
-; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:496 ; 4-byte Folded Reload
-; SI-NEXT: v_add_f32_e32 v2, 0x40c00000, v4
-; SI-NEXT: v_and_b32_e32 v4, 0xffff0000, v30
-; SI-NEXT: v_add_f32_e32 v4, 0x40c00000, v4
-; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v8
+; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v6
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_and_b32_e32 v7, 0xffff0000, v7
+; SI-NEXT: v_add_f32_e32 v44, 0x40c00000, v7
+; SI-NEXT: v_add_f32_e32 v6, 0x40c00000, v6
+; SI-NEXT: v_lshrrev_b32_e32 v7, 16, v44
+; SI-NEXT: v_lshr_b64 v[6:7], v[6:7], 16
+; SI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(1)
+; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:424 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:428 ; 4-byte Folded Reload
+; SI-NEXT: v_and_b32_e32 v44, 0xffff0000, v44
; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_and_b32_e32 v9, 0xffff0000, v9
-; SI-NEXT: v_add_f32_e32 v14, 0x40c00000, v9
-; SI-NEXT: v_add_f32_e32 v8, 0x40c00000, v8
-; SI-NEXT: v_lshrrev_b32_e32 v9, 16, v14
-; SI-NEXT: v_lshr_b64 v[29:30], v[8:9], 16
-; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:368 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:372 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_and_b32_e32 v5, 0xffff0000, v0
-; SI-NEXT: v_add_f32_e32 v5, 0x40c00000, v5
-; SI-NEXT: v_lshrrev_b32_e32 v3, 16, v5
-; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:492 ; 4-byte Folded Reload
-; SI-NEXT: v_add_f32_e32 v0, 0x40c00000, v6
-; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v18
-; SI-NEXT: v_add_f32_e32 v56, 0x40c00000, v6
-; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:476 ; 4-byte Folded Reload
-; SI-NEXT: v_mov_b32_e32 v55, v2
-; SI-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload
-; SI-NEXT: v_mov_b32_e32 v44, v29
-; SI-NEXT: s_waitcnt vmcnt(5)
-; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v8
-; SI-NEXT: s_waitcnt vmcnt(4)
-; SI-NEXT: v_and_b32_e32 v9, 0xffff0000, v9
-; SI-NEXT: v_add_f32_e32 v16, 0x40c00000, v9
-; SI-NEXT: v_add_f32_e32 v8, 0x40c00000, v8
-; SI-NEXT: v_lshrrev_b32_e32 v9, 16, v16
-; SI-NEXT: v_lshr_b64 v[39:40], v[8:9], 16
-; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:360 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:364 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(5)
-; SI-NEXT: v_and_b32_e32 v5, 0xffff0000, v5
-; SI-NEXT: v_add_f32_e32 v5, 0x40c00000, v5
-; SI-NEXT: v_lshrrev_b32_e32 v5, 16, v5
-; SI-NEXT: v_and_b32_e32 v32, 0xffff0000, v16
+; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v6
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_and_b32_e32 v7, 0xffff0000, v7
+; SI-NEXT: v_add_f32_e32 v0, 0x40c00000, v7
+; SI-NEXT: v_add_f32_e32 v6, 0x40c00000, v6
+; SI-NEXT: v_lshrrev_b32_e32 v7, 16, v0
+; SI-NEXT: v_lshr_b64 v[60:61], v[6:7], 16
+; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:416 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:420 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v8
+; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v6
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v9, 0xffff0000, v9
-; SI-NEXT: v_add_f32_e32 v37, 0x40c00000, v9
-; SI-NEXT: v_add_f32_e32 v8, 0x40c00000, v8
-; SI-NEXT: v_lshrrev_b32_e32 v9, 16, v37
-; SI-NEXT: v_lshr_b64 v[47:48], v[8:9], 16
-; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:352 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:356 ; 4-byte Folded Reload
; SI-NEXT: v_and_b32_e32 v7, 0xffff0000, v7
-; SI-NEXT: v_add_f32_e32 v7, 0x40c00000, v7
-; SI-NEXT: v_lshrrev_b32_e32 v1, 16, v7
-; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:480 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v8
+; SI-NEXT: v_add_f32_e32 v17, 0x40c00000, v7
+; SI-NEXT: v_add_f32_e32 v6, 0x40c00000, v6
+; SI-NEXT: v_lshrrev_b32_e32 v7, 16, v17
+; SI-NEXT: v_lshr_b64 v[61:62], v[6:7], 16
+; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:408 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:412 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_and_b32_e32 v9, 0xffff0000, v9
-; SI-NEXT: v_add_f32_e32 v17, 0x40c00000, v9
-; SI-NEXT: v_add_f32_e32 v8, 0x40c00000, v8
-; SI-NEXT: v_lshrrev_b32_e32 v9, 16, v17
-; SI-NEXT: v_lshr_b64 v[35:36], v[8:9], 16
-; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:344 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:348 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(2)
+; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v6
+; SI-NEXT: s_waitcnt vmcnt(0)
; SI-NEXT: v_and_b32_e32 v7, 0xffff0000, v7
-; SI-NEXT: v_add_f32_e32 v7, 0x40c00000, v7
-; SI-NEXT: v_lshrrev_b32_e32 v57, 16, v7
-; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:472 ; 4-byte Folded Reload
-; SI-NEXT: v_and_b32_e32 v41, 0xffff0000, v17
-; SI-NEXT: v_mov_b32_e32 v17, v56
-; SI-NEXT: v_and_b32_e32 v36, 0xffff0000, v14
-; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v8
+; SI-NEXT: v_add_f32_e32 v18, 0x40c00000, v7
+; SI-NEXT: v_add_f32_e32 v6, 0x40c00000, v6
+; SI-NEXT: v_lshrrev_b32_e32 v7, 16, v18
+; SI-NEXT: v_lshr_b64 v[31:32], v[6:7], 16
+; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:524 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:404 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_and_b32_e32 v9, 0xffff0000, v9
-; SI-NEXT: v_add_f32_e32 v18, 0x40c00000, v9
-; SI-NEXT: v_add_f32_e32 v8, 0x40c00000, v8
-; SI-NEXT: v_lshrrev_b32_e32 v9, 16, v18
-; SI-NEXT: v_lshr_b64 v[8:9], v[8:9], 16
-; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v6
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_and_b32_e32 v7, 0xffff0000, v7
+; SI-NEXT: v_add_f32_e32 v19, 0x40c00000, v7
+; SI-NEXT: v_add_f32_e32 v6, 0x40c00000, v6
+; SI-NEXT: v_lshrrev_b32_e32 v7, 16, v19
+; SI-NEXT: v_lshr_b64 v[6:7], v[6:7], 16
+; SI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:372 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:376 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:336 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:396 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:340 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:400 ; 4-byte Folded Reload
+; SI-NEXT: v_and_b32_e32 v3, 0xffff0000, v3
+; SI-NEXT: v_add_f32_e32 v3, 0x40c00000, v3
+; SI-NEXT: v_lshrrev_b32_e32 v9, 16, v3
+; SI-NEXT: v_mov_b32_e32 v3, v9
+; SI-NEXT: v_and_b32_e32 v27, 0xffff0000, v19
+; SI-NEXT: v_mov_b32_e32 v19, v47
+; SI-NEXT: s_waitcnt vmcnt(1)
; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v6
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_and_b32_e32 v7, 0xffff0000, v7
+; SI-NEXT: v_add_f32_e32 v20, 0x40c00000, v7
; SI-NEXT: v_add_f32_e32 v6, 0x40c00000, v6
-; SI-NEXT: v_and_b32_e32 v60, 0xffff0000, v18
-; SI-NEXT: v_mov_b32_e32 v18, v57
-; SI-NEXT: v_mov_b32_e32 v56, v3
-; SI-NEXT: v_mov_b32_e32 v3, v27
-; SI-NEXT: v_mov_b32_e32 v2, v26
-; SI-NEXT: v_lshr_b64 v[27:28], v[30:31], 16
-; SI-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:320 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:324 ; 4-byte Folded Reload
-; SI-NEXT: v_and_b32_e32 v26, 0xffff0000, v37
-; SI-NEXT: v_lshr_b64 v[37:38], v[52:53], 16
-; SI-NEXT: v_mov_b32_e32 v28, v27
-; SI-NEXT: s_waitcnt vmcnt(3)
-; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v8
-; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_and_b32_e32 v9, 0xffff0000, v9
-; SI-NEXT: v_add_f32_e32 v19, 0x40c00000, v9
-; SI-NEXT: v_add_f32_e32 v8, 0x40c00000, v8
-; SI-NEXT: v_lshrrev_b32_e32 v9, 16, v19
-; SI-NEXT: v_lshr_b64 v[8:9], v[8:9], 16
-; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
+; SI-NEXT: v_lshrrev_b32_e32 v7, 16, v20
+; SI-NEXT: v_lshr_b64 v[6:7], v[6:7], 16
+; SI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:328 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:388 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:332 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:392 ; 4-byte Folded Reload
+; SI-NEXT: v_and_b32_e32 v5, 0xffff0000, v5
+; SI-NEXT: v_add_f32_e32 v5, 0x40c00000, v5
+; SI-NEXT: v_lshrrev_b32_e32 v41, 16, v5
+; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:536 ; 4-byte Folded Reload
+; SI-NEXT: v_and_b32_e32 v50, 0xffff0000, v20
+; SI-NEXT: v_mov_b32_e32 v20, v48
+; SI-NEXT: buffer_load_dword v48, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v49, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(4)
+; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v6
+; SI-NEXT: s_waitcnt vmcnt(3)
; SI-NEXT: v_and_b32_e32 v7, 0xffff0000, v7
-; SI-NEXT: v_add_f32_e32 v7, 0x40c00000, v7
-; SI-NEXT: v_lshrrev_b32_e32 v7, 16, v7
-; SI-NEXT: v_and_b32_e32 v58, 0xffff0000, v19
+; SI-NEXT: v_add_f32_e32 v23, 0x40c00000, v7
+; SI-NEXT: v_add_f32_e32 v6, 0x40c00000, v6
+; SI-NEXT: v_lshrrev_b32_e32 v7, 16, v23
+; SI-NEXT: v_lshr_b64 v[6:7], v[6:7], 16
+; SI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(1)
+; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:380 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:384 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(6)
+; SI-NEXT: v_and_b32_e32 v5, 0xffff0000, v5
+; SI-NEXT: v_add_f32_e32 v5, 0x40c00000, v5
+; SI-NEXT: v_lshrrev_b32_e32 v5, 16, v5
+; SI-NEXT: v_and_b32_e32 v14, 0xffff0000, v23
+; SI-NEXT: s_waitcnt vmcnt(4)
+; SI-NEXT: v_lshr_b64 v[45:46], v[48:49], 16
+; SI-NEXT: v_lshr_b64 v[47:48], v[40:41], 16
+; SI-NEXT: v_and_b32_e32 v46, 0xffff0000, v53
+; SI-NEXT: v_lshr_b64 v[53:54], v[4:5], 16
+; SI-NEXT: v_mov_b32_e32 v48, v31
+; SI-NEXT: v_mov_b32_e32 v49, v51
; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v8
+; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v6
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v9, 0xffff0000, v9
-; SI-NEXT: v_add_f32_e32 v20, 0x40c00000, v9
-; SI-NEXT: v_add_f32_e32 v8, 0x40c00000, v8
-; SI-NEXT: v_lshrrev_b32_e32 v9, 16, v20
-; SI-NEXT: v_lshr_b64 v[8:9], v[8:9], 16
-; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
+; SI-NEXT: v_and_b32_e32 v7, 0xffff0000, v7
+; SI-NEXT: v_add_f32_e32 v24, 0x40c00000, v7
+; SI-NEXT: v_lshrrev_b32_e32 v7, 16, v24
+; SI-NEXT: v_and_b32_e32 v12, 0xffff0000, v24
+; SI-NEXT: v_mov_b32_e32 v24, v1
+; SI-NEXT: v_mov_b32_e32 v1, v11
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_mov_b32_e32 v1, v36
+; SI-NEXT: v_add_f32_e32 v6, 0x40c00000, v6
+; SI-NEXT: v_lshr_b64 v[6:7], v[6:7], 16
+; SI-NEXT: buffer_store_dword v6, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
+; SI-NEXT: v_mov_b32_e32 v2, v8
+; SI-NEXT: v_and_b32_e32 v9, 0xffff0000, v18
; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_mov_b32_e32 v8, v50
-; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mov_b32_e32 v8, v34
-; SI-NEXT: v_and_b32_e32 v48, 0xffff0000, v20
-; SI-NEXT: v_mov_b32_e32 v9, v3
-; SI-NEXT: v_lshr_b64 v[49:50], v[49:50], 16
-; SI-NEXT: v_lshr_b64 v[33:34], v[30:31], 16
-; SI-NEXT: v_mov_b32_e32 v50, v39
-; SI-NEXT: v_lshr_b64 v[29:30], v[26:27], 16
-; SI-NEXT: v_mov_b32_e32 v34, v33
-; SI-NEXT: v_mov_b32_e32 v26, v35
-; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mov_b32_e32 v8, v62
-; SI-NEXT: v_lshr_b64 v[61:62], v[61:62], 16
-; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mov_b32_e32 v8, v43
-; SI-NEXT: v_lshr_b64 v[42:43], v[42:43], 16
-; SI-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
-; SI-NEXT: v_lshr_b64 v[38:39], v[41:42], 16
-; SI-NEXT: v_lshr_b64 v[39:40], v[60:61], 16
-; SI-NEXT: v_mov_b32_e32 v60, v59
-; SI-NEXT: v_lshr_b64 v[58:59], v[58:59], 16
-; SI-NEXT: v_mov_b32_e32 v43, v42
-; SI-NEXT: buffer_store_dword v39, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
-; SI-NEXT: v_mov_b32_e32 v20, v7
-; SI-NEXT: v_mov_b32_e32 v19, v6
-; SI-NEXT: s_waitcnt expcnt(3)
-; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:508 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt expcnt(2)
-; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:512 ; 4-byte Folded Reload
-; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v12
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_mov_b32_e32 v62, v8
+; SI-NEXT: v_and_b32_e32 v6, 0xffff0000, v17
+; SI-NEXT: v_lshr_b64 v[17:18], v[2:3], 16
+; SI-NEXT: v_lshr_b64 v[36:37], v[19:20], 16
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload
+; SI-NEXT: v_mov_b32_e32 v37, v42
+; SI-NEXT: v_lshr_b64 v[10:11], v[10:11], 16
+; SI-NEXT: v_mov_b32_e32 v19, v17
+; SI-NEXT: v_and_b32_e32 v32, 0xffff0000, v0
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_mov_b32_e32 v1, v3
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_mov_b32_e32 v1, v41
+; SI-NEXT: v_lshr_b64 v[40:41], v[58:59], 16
+; SI-NEXT: v_and_b32_e32 v41, 0xffff0000, v26
+; SI-NEXT: s_waitcnt vmcnt(4)
; SI-NEXT: v_lshr_b64 v[7:8], v[7:8], 16
-; SI-NEXT: v_and_b32_e32 v8, 0xffff0000, v10
-; SI-NEXT: buffer_store_dword v8, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v9, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[9:10], v[2:3], 16
-; SI-NEXT: v_mov_b32_e32 v2, v56
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
+; SI-NEXT: v_mov_b32_e32 v1, v5
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:176 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mov_b32_e32 v2, v5
-; SI-NEXT: v_and_b32_e32 v10, 0xffff0000, v11
-; SI-NEXT: v_lshr_b64 v[11:12], v[55:56], 16
-; SI-NEXT: v_and_b32_e32 v12, 0xffff0000, v13
-; SI-NEXT: v_lshr_b64 v[13:14], v[4:5], 16
-; SI-NEXT: v_and_b32_e32 v14, 0xffff0000, v15
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
-; SI-NEXT: v_mov_b32_e32 v55, v1
-; SI-NEXT: v_lshr_b64 v[15:16], v[0:1], 16
-; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_mov_b32_e32 v1, v18
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
+; SI-NEXT: v_mov_b32_e32 v1, v59
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:332 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:336 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_mov_b32_e32 v1, v57
+; SI-NEXT: v_lshr_b64 v[56:57], v[21:22], 16
+; SI-NEXT: v_lshr_b64 v[57:58], v[44:45], 16
+; SI-NEXT: v_lshr_b64 v[58:59], v[9:10], 16
+; SI-NEXT: v_mov_b32_e32 v21, v7
+; SI-NEXT: v_mov_b32_e32 v59, v15
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:204 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:208 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_mov_b32_e32 v1, v20
-; SI-NEXT: v_lshr_b64 v[19:20], v[19:20], 16
-; SI-NEXT: v_and_b32_e32 v20, 0xffff0000, v23
-; SI-NEXT: v_lshr_b64 v[17:18], v[17:18], 16
-; SI-NEXT: v_and_b32_e32 v18, 0xffff0000, v24
-; SI-NEXT: v_and_b32_e32 v16, 0xffff0000, v25
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:304 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_and_b32_e32 v0, 0xffff0000, v51
+; SI-NEXT: v_and_b32_e32 v0, 0xffff0000, v38
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mov_b32_e32 v1, v22
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
+; SI-NEXT: v_mov_b32_e32 v1, v25
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:316 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:320 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[1:2], v[21:22], 16
-; SI-NEXT: v_mov_b32_e32 v21, v46
-; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v21, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[21:22], v[45:46], 16
-; SI-NEXT: v_mov_b32_e32 v45, v1
-; SI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:400 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:404 ; 4-byte Folded Reload
-; SI-NEXT: v_lshr_b64 v[22:23], v[32:33], 16
-; SI-NEXT: v_mov_b32_e32 v46, v54
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_mov_b32_e32 v52, v53
-; SI-NEXT: v_lshr_b64 v[56:57], v[0:1], 16
-; SI-NEXT: v_mov_b32_e32 v57, v37
-; SI-NEXT: v_lshr_b64 v[0:1], v[20:21], 16
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
+; SI-NEXT: v_lshr_b64 v[1:2], v[24:25], 16
+; SI-NEXT: v_mov_b32_e32 v2, v22
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[0:1], v[18:19], 16
-; SI-NEXT: v_lshr_b64 v[1:2], v[16:17], 16
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
+; SI-NEXT: v_lshr_b64 v[2:3], v[55:56], 16
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:212 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:216 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_lshr_b64 v[2:3], v[35:36], 16
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:220 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:224 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_lshr_b64 v[2:3], v[41:42], 16
+; SI-NEXT: v_lshr_b64 v[42:43], v[27:28], 16
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:228 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:232 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_lshr_b64 v[2:3], v[39:40], 16
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:236 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:240 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_lshr_b64 v[2:3], v[52:53], 16
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:244 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:248 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_lshr_b64 v[2:3], v[46:47], 16
; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:252 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[1:2], v[14:15], 16
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:256 ; 4-byte Folded Spill
+; SI-NEXT: v_lshr_b64 v[2:3], v[16:17], 16
; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:260 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[1:2], v[12:13], 16
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:264 ; 4-byte Folded Spill
+; SI-NEXT: v_lshr_b64 v[2:3], v[32:33], 16
; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:268 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[1:2], v[10:11], 16
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:272 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:276 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[1:2], v[8:9], 16
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:280 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:284 ; 4-byte Folded Spill
+; SI-NEXT: v_lshr_b64 v[2:3], v[14:15], 16
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:156 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:160 ; 4-byte Folded Spill
+; SI-NEXT: v_lshr_b64 v[34:35], v[6:7], 16
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[1:2], v[6:7], 16
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:288 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:292 ; 4-byte Folded Spill
+; SI-NEXT: v_lshr_b64 v[2:3], v[12:13], 16
+; SI-NEXT: v_mov_b32_e32 v22, v45
+; SI-NEXT: v_mov_b32_e32 v38, v40
+; SI-NEXT: v_mov_b32_e32 v39, v53
+; SI-NEXT: v_mov_b32_e32 v40, v33
+; SI-NEXT: v_mov_b32_e32 v17, v10
+; SI-NEXT: v_mov_b32_e32 v52, v28
+; SI-NEXT: v_mov_b32_e32 v55, v13
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
+; SI-NEXT: v_lshr_b64 v[23:24], v[0:1], 16
+; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:364 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:368 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_lshr_b64 v[25:26], v[50:51], 16
+; SI-NEXT: buffer_store_dword v25, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v26, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[1:2], v[36:37], 16
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:296 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:300 ; 4-byte Folded Spill
-; SI-NEXT: v_mov_b32_e32 v36, v49
-; SI-NEXT: v_lshr_b64 v[48:49], v[48:49], 16
-; SI-NEXT: v_mov_b32_e32 v41, v0
-; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: v_mov_b32_e32 v1, v61
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:164 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:168 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:172 ; 4-byte Folded Spill
+; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:372 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:376 ; 4-byte Folded Reload
; SI-NEXT: .LBB105_5: ; %end
-; SI-NEXT: s_waitcnt expcnt(2)
-; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload
+; SI-NEXT: v_and_b32_e32 v2, 0xffff, v1
+; SI-NEXT: v_and_b32_e32 v29, 0xffff, v17
; SI-NEXT: s_waitcnt expcnt(1)
-; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v56
+; SI-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_and_b32_e32 v2, 0xffff, v45
-; SI-NEXT: v_and_b32_e32 v4, 0xffff, v21
-; SI-NEXT: v_and_b32_e32 v6, 0xffff, v19
-; SI-NEXT: v_and_b32_e32 v8, 0xffff, v17
-; SI-NEXT: v_and_b32_e32 v17, 0xffff, v7
-; SI-NEXT: v_and_b32_e32 v10, 0xffff, v15
-; SI-NEXT: v_and_b32_e32 v15, 0xffff, v9
-; SI-NEXT: v_and_b32_e32 v12, 0xffff, v13
-; SI-NEXT: v_and_b32_e32 v13, 0xffff, v11
-; SI-NEXT: v_and_b32_e32 v19, 0xffff, v57
-; SI-NEXT: v_lshlrev_b32_e32 v22, 16, v22
-; SI-NEXT: v_and_b32_e32 v21, 0xffff, v34
-; SI-NEXT: v_and_b32_e32 v23, 0xffff, v28
-; SI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v1, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:316 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:320 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(2)
+; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v23
+; SI-NEXT: v_and_b32_e32 v4, 0xffff, v56
+; SI-NEXT: v_and_b32_e32 v6, 0xffff, v36
+; SI-NEXT: v_and_b32_e32 v8, 0xffff, v37
+; SI-NEXT: v_and_b32_e32 v10, 0xffff, v38
+; SI-NEXT: v_and_b32_e32 v12, 0xffff, v39
+; SI-NEXT: v_and_b32_e32 v13, 0xffff, v47
+; SI-NEXT: v_and_b32_e32 v15, 0xffff, v19
+; SI-NEXT: v_and_b32_e32 v25, 0xffff, v21
+; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload
+; SI-NEXT: v_and_b32_e32 v18, 0xffff, v22
+; SI-NEXT: v_and_b32_e32 v19, 0xffff, v40
+; SI-NEXT: v_and_b32_e32 v22, 0xffff, v48
+; SI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
; SI-NEXT: v_readlane_b32 s30, v63, 3
; SI-NEXT: v_readlane_b32 s31, v63, 4
; SI-NEXT: v_readlane_b32 s36, v63, 2
@@ -223314,161 +223328,168 @@ define inreg <64 x i16> @bitcast_v64bf16_to_v64i16_scalar(<64 x bfloat> inreg %a
; SI-NEXT: v_readlane_b32 s34, v63, 0
; SI-NEXT: v_and_b32_e32 v0, 0xffff, v0
; SI-NEXT: v_or_b32_e32 v0, v0, v1
-; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v25
-; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(4)
+; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v17
+; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload
; SI-NEXT: v_or_b32_e32 v1, v2, v1
-; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v3, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshlrev_b32_e32 v3, 16, v24
-; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
+; SI-NEXT: v_lshlrev_b32_e32 v3, 16, v16
+; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:276 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:280 ; 4-byte Folded Reload
; SI-NEXT: v_and_b32_e32 v2, 0xffff, v2
; SI-NEXT: v_or_b32_e32 v2, v2, v3
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshlrev_b32_e32 v3, 16, v25
+; SI-NEXT: v_lshlrev_b32_e32 v3, 16, v17
+; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:224 ; 4-byte Folded Reload
; SI-NEXT: v_or_b32_e32 v3, v4, v3
-; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:152 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_lshlrev_b32_e32 v5, 16, v41
+; SI-NEXT: buffer_load_dword v4, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v5, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_lshlrev_b32_e32 v5, 16, v16
+; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:300 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:304 ; 4-byte Folded Reload
; SI-NEXT: v_and_b32_e32 v4, 0xffff, v4
; SI-NEXT: v_or_b32_e32 v4, v4, v5
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshlrev_b32_e32 v5, 16, v25
-; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload
+; SI-NEXT: v_lshlrev_b32_e32 v5, 16, v17
+; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:228 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:232 ; 4-byte Folded Reload
; SI-NEXT: v_or_b32_e32 v5, v6, v5
-; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:304 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:308 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v6, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshlrev_b32_e32 v7, 16, v24
-; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:212 ; 4-byte Folded Reload
+; SI-NEXT: v_lshlrev_b32_e32 v7, 16, v16
+; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:208 ; 4-byte Folded Reload
; SI-NEXT: v_and_b32_e32 v6, 0xffff, v6
; SI-NEXT: v_or_b32_e32 v6, v6, v7
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshlrev_b32_e32 v7, 16, v25
-; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload
+; SI-NEXT: v_lshlrev_b32_e32 v7, 16, v17
+; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:236 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:240 ; 4-byte Folded Reload
; SI-NEXT: v_or_b32_e32 v7, v8, v7
-; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:204 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v8, off, s[0:3], s32 offset:340 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v9, off, s[0:3], s32 offset:344 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshlrev_b32_e32 v9, 16, v24
-; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:268 ; 4-byte Folded Reload
+; SI-NEXT: v_lshlrev_b32_e32 v9, 16, v16
+; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:332 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:336 ; 4-byte Folded Reload
; SI-NEXT: v_and_b32_e32 v8, 0xffff, v8
; SI-NEXT: v_or_b32_e32 v8, v8, v9
-; SI-NEXT: v_lshlrev_b32_e32 v9, 16, v55
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_lshlrev_b32_e32 v9, 16, v17
+; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:244 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:248 ; 4-byte Folded Reload
; SI-NEXT: v_or_b32_e32 v9, v10, v9
-; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v10, off, s[0:3], s32 offset:348 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v11, off, s[0:3], s32 offset:352 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshlrev_b32_e32 v11, 16, v24
-; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload
+; SI-NEXT: v_lshlrev_b32_e32 v11, 16, v16
+; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload
; SI-NEXT: v_and_b32_e32 v10, 0xffff, v10
; SI-NEXT: v_or_b32_e32 v10, v10, v11
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshlrev_b32_e32 v11, 16, v25
-; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:272 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:276 ; 4-byte Folded Reload
+; SI-NEXT: v_lshlrev_b32_e32 v11, 16, v17
+; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:252 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:256 ; 4-byte Folded Reload
; SI-NEXT: v_or_b32_e32 v11, v12, v11
-; SI-NEXT: v_and_b32_e32 v12, 0xffff, v51
+; SI-NEXT: v_and_b32_e32 v12, 0xffff, v24
+; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_lshlrev_b32_e32 v14, 16, v24
-; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:216 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:220 ; 4-byte Folded Reload
+; SI-NEXT: v_lshlrev_b32_e32 v23, 16, v58
+; SI-NEXT: v_or_b32_e32 v22, v22, v23
+; SI-NEXT: v_lshlrev_b32_e32 v14, 16, v16
+; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
; SI-NEXT: v_or_b32_e32 v12, v12, v14
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshlrev_b32_e32 v14, 16, v25
-; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:312 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:316 ; 4-byte Folded Reload
+; SI-NEXT: v_lshlrev_b32_e32 v14, 16, v17
+; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:356 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:360 ; 4-byte Folded Reload
; SI-NEXT: v_or_b32_e32 v13, v13, v14
; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_and_b32_e32 v14, 0xffff, v24
-; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:280 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:284 ; 4-byte Folded Reload
+; SI-NEXT: v_and_b32_e32 v14, 0xffff, v16
+; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:260 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:264 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_lshlrev_b32_e32 v16, 16, v24
-; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:176 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload
+; SI-NEXT: v_lshlrev_b32_e32 v16, 16, v16
; SI-NEXT: v_or_b32_e32 v14, v14, v16
+; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshlrev_b32_e32 v16, 16, v25
-; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:288 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:292 ; 4-byte Folded Reload
+; SI-NEXT: v_lshlrev_b32_e32 v16, 16, v17
; SI-NEXT: v_or_b32_e32 v15, v15, v16
-; SI-NEXT: v_and_b32_e32 v16, 0xffff, v46
-; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_lshlrev_b32_e32 v18, 16, v24
-; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:296 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:300 ; 4-byte Folded Reload
-; SI-NEXT: v_or_b32_e32 v16, v16, v18
-; SI-NEXT: v_lshlrev_b32_e32 v18, 16, v62
-; SI-NEXT: v_or_b32_e32 v17, v17, v18
-; SI-NEXT: v_and_b32_e32 v18, 0xffff, v44
+; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_lshlrev_b32_e32 v17, 16, v57
+; SI-NEXT: v_and_b32_e32 v16, 0xffff, v16
+; SI-NEXT: v_or_b32_e32 v16, v16, v17
+; SI-NEXT: v_lshlrev_b32_e32 v17, 16, v21
+; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:268 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:272 ; 4-byte Folded Reload
+; SI-NEXT: v_or_b32_e32 v17, v18, v17
+; SI-NEXT: v_and_b32_e32 v18, 0xffff, v60
; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_lshlrev_b32_e32 v20, 16, v24
+; SI-NEXT: v_lshlrev_b32_e32 v20, 16, v20
; SI-NEXT: v_or_b32_e32 v18, v18, v20
-; SI-NEXT: v_lshlrev_b32_e32 v20, 16, v52
+; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:180 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:184 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_lshlrev_b32_e32 v20, 16, v21
; SI-NEXT: v_or_b32_e32 v19, v19, v20
-; SI-NEXT: v_and_b32_e32 v20, 0xffff, v50
-; SI-NEXT: v_or_b32_e32 v20, v20, v22
-; SI-NEXT: v_lshlrev_b32_e32 v22, 16, v31
-; SI-NEXT: v_or_b32_e32 v21, v21, v22
-; SI-NEXT: v_and_b32_e32 v22, 0xffff, v47
-; SI-NEXT: v_lshlrev_b32_e32 v24, 16, v29
-; SI-NEXT: v_or_b32_e32 v22, v22, v24
-; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v25, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(4)
-; SI-NEXT: v_lshlrev_b32_e32 v24, 16, v25
-; SI-NEXT: v_or_b32_e32 v23, v23, v24
+; SI-NEXT: v_and_b32_e32 v20, 0xffff, v61
+; SI-NEXT: v_lshlrev_b32_e32 v21, 16, v34
+; SI-NEXT: v_or_b32_e32 v20, v20, v21
+; SI-NEXT: v_lshlrev_b32_e32 v21, 16, v24
+; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
+; SI-NEXT: v_or_b32_e32 v21, v25, v21
+; SI-NEXT: v_lshlrev_b32_e32 v25, 16, v42
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_lshlrev_b32_e32 v23, 16, v24
; SI-NEXT: v_and_b32_e32 v24, 0xffff, v26
-; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
-; SI-NEXT: v_lshlrev_b32_e32 v25, 16, v38
+; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:188 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:192 ; 4-byte Folded Reload
+; SI-NEXT: v_or_b32_e32 v23, v29, v23
+; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
; SI-NEXT: v_or_b32_e32 v24, v24, v25
-; SI-NEXT: v_and_b32_e32 v25, 0xffff, v43
+; SI-NEXT: v_and_b32_e32 v25, 0xffff, v52
; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_lshlrev_b32_e32 v30, 16, v31
-; SI-NEXT: v_lshlrev_b32_e32 v31, 16, v48
-; SI-NEXT: s_waitcnt vmcnt(0)
; SI-NEXT: v_lshlrev_b32_e32 v26, 16, v27
; SI-NEXT: v_or_b32_e32 v25, v25, v26
-; SI-NEXT: v_and_b32_e32 v26, 0xffff, v28
-; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_lshlrev_b32_e32 v27, 16, v28
-; SI-NEXT: v_or_b32_e32 v26, v26, v27
-; SI-NEXT: buffer_load_dword v27, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:172 ; 4-byte Folded Reload
+; SI-NEXT: v_and_b32_e32 v26, 0xffff, v28
+; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
+; SI-NEXT: v_and_b32_e32 v27, 0xffff, v49
; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_and_b32_e32 v27, 0xffff, v28
-; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload
+; SI-NEXT: v_lshlrev_b32_e32 v28, 16, v28
+; SI-NEXT: v_or_b32_e32 v26, v26, v28
+; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:196 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:200 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(0)
; SI-NEXT: v_lshlrev_b32_e32 v28, 16, v29
; SI-NEXT: v_or_b32_e32 v27, v27, v28
-; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshlrev_b32_e32 v29, 16, v58
+; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v29, off, s[0:3], s32 offset:156 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:160 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v30, off, s[0:3], s32 offset:324 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:328 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(5)
; SI-NEXT: v_and_b32_e32 v28, 0xffff, v28
+; SI-NEXT: s_waitcnt vmcnt(3)
+; SI-NEXT: v_lshlrev_b32_e32 v29, 16, v29
; SI-NEXT: v_or_b32_e32 v28, v28, v29
-; SI-NEXT: v_and_b32_e32 v29, 0xffff, v60
+; SI-NEXT: v_and_b32_e32 v29, 0xffff, v59
; SI-NEXT: buffer_load_dword v62, off, s[0:3], s32 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v61, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v60, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload
@@ -223484,17 +223505,23 @@ define inreg <64 x i16> @bitcast_v64bf16_to_v64i16_scalar(<64 x bfloat> inreg %a
; SI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:48 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:52 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:56 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(14)
+; SI-NEXT: v_lshlrev_b32_e32 v30, 16, v31
; SI-NEXT: v_or_b32_e32 v29, v29, v30
; SI-NEXT: v_and_b32_e32 v30, 0xffff, v32
-; SI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v31, off, s[0:3], s32 offset:164 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:168 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:308 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:312 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(3)
+; SI-NEXT: v_lshlrev_b32_e32 v31, 16, v31
; SI-NEXT: v_or_b32_e32 v30, v30, v31
-; SI-NEXT: v_and_b32_e32 v31, 0xffff, v36
+; SI-NEXT: v_and_b32_e32 v31, 0xffff, v55
; SI-NEXT: s_waitcnt vmcnt(0)
; SI-NEXT: v_lshlrev_b32_e32 v32, 16, v33
; SI-NEXT: v_or_b32_e32 v31, v31, v32
; SI-NEXT: s_or_saveexec_b64 s[4:5], -1
-; SI-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:516 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:552 ; 4-byte Folded Reload
; SI-NEXT: s_mov_b64 exec, s[4:5]
; SI-NEXT: s_waitcnt vmcnt(0)
; SI-NEXT: s_setpc_b64 s[30:31]
@@ -225872,13 +225899,13 @@ define inreg <64 x i16> @bitcast_v64bf16_to_v64i16_scalar(<64 x bfloat> inreg %a
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v4, 0x7fff, v8
; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_3)
; GFX11-FAKE16-NEXT: v_bfe_u32 v8, v11, 16, 1
-; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v65, v6, v7, vcc_lo
+; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v66, v6, v7, vcc_lo
; GFX11-FAKE16-NEXT: v_or_b32_e32 v6, 0x400000, v10
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v7, v9, v5
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v10, v10
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v8, v8, v11
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v65, 16, v65
-; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v66, v4, v6, vcc_lo
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v66, 16, v66
+; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v65, v4, v6, vcc_lo
; GFX11-FAKE16-NEXT: v_add_f32_e64 v4, 0x40c00000, s0
; GFX11-FAKE16-NEXT: v_add_nc_u32_e32 v6, 0x7fff, v7
; GFX11-FAKE16-NEXT: v_or_b32_e32 v7, 0x400000, v5
@@ -226033,7 +226060,7 @@ define inreg <64 x i16> @bitcast_v64bf16_to_v64i16_scalar(<64 x bfloat> inreg %a
; GFX11-FAKE16-NEXT: v_add_f32_e64 v87, 0x40c00000, s0
; GFX11-FAKE16-NEXT: s_and_b32 s0, s26, 0xffff0000
; GFX11-FAKE16-NEXT: v_bfe_u32 v86, v13, 16, 1
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v70, 16, v0
+; GFX11-FAKE16-NEXT: v_and_or_b32 v4, 0xffff0000, v68, v4
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v82, v85, v96, vcc_lo
; GFX11-FAKE16-NEXT: v_add_f32_e64 v85, 0x40c00000, s0
; GFX11-FAKE16-NEXT: s_lshl_b32 s0, s26, 16
@@ -226073,18 +226100,18 @@ define inreg <64 x i16> @bitcast_v64bf16_to_v64i16_scalar(<64 x bfloat> inreg %a
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v85, v97, v112, vcc_lo
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v100, v100
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v96, 16, v96
-; GFX11-FAKE16-NEXT: v_and_or_b32 v2, 0xffff0000, v64, v65
-; GFX11-FAKE16-NEXT: v_and_or_b32 v0, 0xffff0000, v55, v69
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v55, 16, v30
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v68, 16, v3
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v70, 16, v0
+; GFX11-FAKE16-NEXT: v_and_or_b32 v3, 0xffff0000, v65, v67
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v97, v99, v103, vcc_lo
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v87, v87
+; GFX11-FAKE16-NEXT: v_and_or_b32 v2, 0xffff0000, v64, v66
+; GFX11-FAKE16-NEXT: v_and_or_b32 v0, 0xffff0000, v55, v69
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v55, 16, v30
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v64, 16, v29
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v65, 16, v28
-; GFX11-FAKE16-NEXT: v_and_or_b32 v4, 0xffff0000, v68, v4
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v68, 16, v3
; GFX11-FAKE16-NEXT: v_cndmask_b32_e32 v87, v15, v102, vcc_lo
; GFX11-FAKE16-NEXT: v_cmp_u_f32_e32 vcc_lo, v13, v13
-; GFX11-FAKE16-NEXT: v_and_or_b32 v3, 0xffff0000, v66, v67
+; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v65, 16, v28
; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v66, 16, v27
; GFX11-FAKE16-NEXT: v_and_or_b32 v29, 0xffff0000, v52, v55
; GFX11-FAKE16-NEXT: v_and_or_b32 v28, 0xffff0000, v51, v64
@@ -227208,52 +227235,52 @@ define inreg <64 x bfloat> @bitcast_v64i16_to_v64bf16_scalar(<64 x i16> inreg %a
; SI-NEXT: s_lshr_b32 s46, s17, 16
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_writelane_b32 v34, s4, 0
-; SI-NEXT: s_lshr_b32 s47, s18, 16
+; SI-NEXT: s_lshr_b32 s56, s18, 16
; SI-NEXT: v_writelane_b32 v34, s46, 1
-; SI-NEXT: s_lshr_b32 s57, s19, 16
-; SI-NEXT: v_writelane_b32 v34, s47, 2
-; SI-NEXT: s_lshr_b32 s59, s20, 16
-; SI-NEXT: v_writelane_b32 v34, s57, 3
-; SI-NEXT: s_lshr_b32 s61, s21, 16
-; SI-NEXT: v_writelane_b32 v34, s59, 4
-; SI-NEXT: s_lshr_b32 s63, s22, 16
-; SI-NEXT: v_writelane_b32 v34, s61, 5
-; SI-NEXT: s_lshr_b32 s73, s23, 16
-; SI-NEXT: v_writelane_b32 v34, s63, 6
-; SI-NEXT: s_lshr_b32 s75, s24, 16
-; SI-NEXT: v_writelane_b32 v34, s73, 7
-; SI-NEXT: s_lshr_b32 s76, s25, 16
-; SI-NEXT: v_writelane_b32 v34, s75, 8
-; SI-NEXT: s_lshr_b32 s77, s26, 16
-; SI-NEXT: v_writelane_b32 v34, s76, 9
-; SI-NEXT: s_lshr_b32 s78, s27, 16
-; SI-NEXT: v_writelane_b32 v34, s77, 10
-; SI-NEXT: s_lshr_b32 s79, s28, 16
-; SI-NEXT: v_writelane_b32 v34, s78, 11
-; SI-NEXT: s_lshr_b32 s88, s29, 16
+; SI-NEXT: s_lshr_b32 s58, s19, 16
+; SI-NEXT: v_writelane_b32 v34, s56, 2
+; SI-NEXT: s_lshr_b32 s60, s20, 16
+; SI-NEXT: v_writelane_b32 v34, s58, 3
+; SI-NEXT: s_lshr_b32 s62, s21, 16
+; SI-NEXT: v_writelane_b32 v34, s60, 4
+; SI-NEXT: s_lshr_b32 s72, s22, 16
+; SI-NEXT: v_writelane_b32 v34, s62, 5
+; SI-NEXT: s_lshr_b32 s74, s23, 16
+; SI-NEXT: v_writelane_b32 v34, s72, 6
+; SI-NEXT: s_lshr_b32 s76, s24, 16
+; SI-NEXT: v_writelane_b32 v34, s74, 7
+; SI-NEXT: s_lshr_b32 s78, s25, 16
+; SI-NEXT: v_writelane_b32 v34, s76, 8
+; SI-NEXT: s_lshr_b32 s79, s26, 16
+; SI-NEXT: v_writelane_b32 v34, s78, 9
+; SI-NEXT: s_lshr_b32 s88, s27, 16
+; SI-NEXT: v_writelane_b32 v34, s79, 10
+; SI-NEXT: s_lshr_b32 s89, s28, 16
+; SI-NEXT: v_writelane_b32 v34, s88, 11
+; SI-NEXT: s_lshr_b32 s90, s29, 16
; SI-NEXT: v_readfirstlane_b32 s54, v0
-; SI-NEXT: v_writelane_b32 v34, s79, 12
+; SI-NEXT: v_writelane_b32 v34, s89, 12
; SI-NEXT: v_readfirstlane_b32 s64, v1
-; SI-NEXT: s_lshr_b32 s89, s54, 16
-; SI-NEXT: v_writelane_b32 v34, s88, 13
+; SI-NEXT: s_lshr_b32 s91, s54, 16
+; SI-NEXT: v_writelane_b32 v34, s90, 13
; SI-NEXT: v_readfirstlane_b32 s66, v2
-; SI-NEXT: s_lshr_b32 s90, s64, 16
-; SI-NEXT: v_writelane_b32 v34, s89, 14
+; SI-NEXT: s_lshr_b32 s92, s64, 16
+; SI-NEXT: v_writelane_b32 v34, s91, 14
; SI-NEXT: v_readfirstlane_b32 s68, v3
-; SI-NEXT: s_lshr_b32 s91, s66, 16
-; SI-NEXT: v_writelane_b32 v34, s90, 15
+; SI-NEXT: s_lshr_b32 s93, s66, 16
+; SI-NEXT: v_writelane_b32 v34, s92, 15
; SI-NEXT: v_readfirstlane_b32 s70, v4
-; SI-NEXT: s_lshr_b32 s92, s68, 16
-; SI-NEXT: v_writelane_b32 v34, s91, 16
+; SI-NEXT: s_lshr_b32 s94, s68, 16
+; SI-NEXT: v_writelane_b32 v34, s93, 16
; SI-NEXT: v_readfirstlane_b32 s80, v5
-; SI-NEXT: s_lshr_b32 s93, s70, 16
-; SI-NEXT: v_writelane_b32 v34, s92, 17
+; SI-NEXT: s_lshr_b32 s95, s70, 16
+; SI-NEXT: v_writelane_b32 v34, s94, 17
; SI-NEXT: v_readfirstlane_b32 s82, v6
-; SI-NEXT: s_lshr_b32 s94, s80, 16
-; SI-NEXT: v_writelane_b32 v34, s93, 18
+; SI-NEXT: s_lshr_b32 vcc_lo, s80, 16
+; SI-NEXT: v_writelane_b32 v34, s95, 18
; SI-NEXT: v_readfirstlane_b32 s84, v7
-; SI-NEXT: s_lshr_b32 s95, s82, 16
-; SI-NEXT: v_writelane_b32 v34, s94, 19
+; SI-NEXT: s_lshr_b32 vcc_hi, s82, 16
+; SI-NEXT: v_writelane_b32 v34, vcc_lo, 19
; SI-NEXT: v_readfirstlane_b32 s42, v17
; SI-NEXT: v_readfirstlane_b32 s40, v16
; SI-NEXT: v_readfirstlane_b32 s14, v15
@@ -227264,8 +227291,8 @@ define inreg <64 x bfloat> @bitcast_v64i16_to_v64bf16_scalar(<64 x i16> inreg %a
; SI-NEXT: v_readfirstlane_b32 s98, v10
; SI-NEXT: v_readfirstlane_b32 s96, v9
; SI-NEXT: v_readfirstlane_b32 s86, v8
-; SI-NEXT: s_lshr_b32 vcc_lo, s84, 16
-; SI-NEXT: v_writelane_b32 v34, s95, 20
+; SI-NEXT: s_lshr_b32 s30, s84, 16
+; SI-NEXT: v_writelane_b32 v34, vcc_hi, 20
; SI-NEXT: s_lshr_b32 s41, s42, 16
; SI-NEXT: s_lshr_b32 s15, s40, 16
; SI-NEXT: s_lshr_b32 s13, s14, 16
@@ -227274,87 +227301,87 @@ define inreg <64 x bfloat> @bitcast_v64i16_to_v64bf16_scalar(<64 x i16> inreg %a
; SI-NEXT: s_lshr_b32 s7, s8, 16
; SI-NEXT: s_lshr_b32 s99, s6, 16
; SI-NEXT: s_lshr_b32 s97, s98, 16
-; SI-NEXT: s_lshr_b32 s30, s96, 16
-; SI-NEXT: s_lshr_b32 vcc_hi, s86, 16
+; SI-NEXT: s_lshr_b32 s34, s96, 16
+; SI-NEXT: s_lshr_b32 s31, s86, 16
; SI-NEXT: v_readfirstlane_b32 s5, v18
-; SI-NEXT: v_writelane_b32 v34, vcc_lo, 21
+; SI-NEXT: v_writelane_b32 v34, s30, 21
; SI-NEXT: s_cmp_lg_u32 s5, 0
-; SI-NEXT: v_writelane_b32 v34, vcc_hi, 22
-; SI-NEXT: v_writelane_b32 v34, s30, 23
+; SI-NEXT: v_writelane_b32 v34, s31, 22
+; SI-NEXT: v_writelane_b32 v34, s34, 23
; SI-NEXT: s_cbranch_scc0 .LBB107_2
; SI-NEXT: ; %bb.1: ; %cmp.false
; SI-NEXT: s_lshl_b32 s44, s4, 16
-; SI-NEXT: s_lshl_b32 s4, s24, 16
-; SI-NEXT: v_writelane_b32 v34, s4, 26
-; SI-NEXT: s_lshl_b32 s4, s25, 16
-; SI-NEXT: v_writelane_b32 v34, s4, 27
; SI-NEXT: s_lshl_b32 s4, s26, 16
-; SI-NEXT: v_writelane_b32 v34, s4, 28
+; SI-NEXT: v_writelane_b32 v34, s4, 26
+; SI-NEXT: s_lshl_b32 s4, s79, 16
+; SI-NEXT: v_writelane_b32 v34, s4, 25
; SI-NEXT: s_lshl_b32 s4, s27, 16
-; SI-NEXT: v_writelane_b32 v34, s4, 29
+; SI-NEXT: v_writelane_b32 v34, s4, 28
+; SI-NEXT: s_lshl_b32 s4, s88, 16
+; SI-NEXT: v_writelane_b32 v34, s4, 27
; SI-NEXT: s_lshl_b32 s4, s28, 16
-; SI-NEXT: v_writelane_b32 v34, s4, 25
-; SI-NEXT: s_lshl_b32 s4, s79, 16
; SI-NEXT: v_writelane_b32 v34, s4, 30
-; SI-NEXT: s_lshl_b32 s4, s29, 16
-; SI-NEXT: v_writelane_b32 v34, s4, 24
-; SI-NEXT: s_lshl_b32 s4, s88, 16
-; SI-NEXT: v_writelane_b32 v34, s4, 31
; SI-NEXT: s_lshl_b32 s4, s89, 16
+; SI-NEXT: v_writelane_b32 v34, s4, 29
+; SI-NEXT: s_lshl_b32 s4, s29, 16
; SI-NEXT: v_writelane_b32 v34, s4, 32
; SI-NEXT: s_lshl_b32 s4, s90, 16
+; SI-NEXT: v_writelane_b32 v34, s4, 31
+; SI-NEXT: s_lshl_b32 s4, s54, 16
+; SI-NEXT: v_writelane_b32 v34, s4, 24
+; SI-NEXT: s_lshl_b32 s4, s91, 16
; SI-NEXT: s_lshl_b32 s43, s16, 16
; SI-NEXT: s_lshl_b32 s45, s17, 16
; SI-NEXT: s_lshl_b32 s46, s46, 16
-; SI-NEXT: s_lshl_b32 s56, s18, 16
-; SI-NEXT: s_lshl_b32 s47, s47, 16
-; SI-NEXT: s_lshl_b32 s58, s19, 16
-; SI-NEXT: s_lshl_b32 s57, s57, 16
-; SI-NEXT: s_lshl_b32 s60, s20, 16
-; SI-NEXT: s_lshl_b32 s59, s59, 16
-; SI-NEXT: s_lshl_b32 s62, s21, 16
-; SI-NEXT: s_lshl_b32 s61, s61, 16
-; SI-NEXT: s_lshl_b32 s72, s22, 16
-; SI-NEXT: s_lshl_b32 s63, s63, 16
-; SI-NEXT: s_lshl_b32 s74, s23, 16
-; SI-NEXT: s_lshl_b32 s73, s73, 16
-; SI-NEXT: s_lshl_b32 s75, s75, 16
+; SI-NEXT: s_lshl_b32 s47, s18, 16
+; SI-NEXT: s_lshl_b32 s56, s56, 16
+; SI-NEXT: s_lshl_b32 s57, s19, 16
+; SI-NEXT: s_lshl_b32 s58, s58, 16
+; SI-NEXT: s_lshl_b32 s59, s20, 16
+; SI-NEXT: s_lshl_b32 s60, s60, 16
+; SI-NEXT: s_lshl_b32 s61, s21, 16
+; SI-NEXT: s_lshl_b32 s62, s62, 16
+; SI-NEXT: s_lshl_b32 s63, s22, 16
+; SI-NEXT: s_lshl_b32 s72, s72, 16
+; SI-NEXT: s_lshl_b32 s73, s23, 16
+; SI-NEXT: s_lshl_b32 s74, s74, 16
+; SI-NEXT: s_lshl_b32 s75, s24, 16
; SI-NEXT: s_lshl_b32 s76, s76, 16
-; SI-NEXT: s_lshl_b32 s77, s77, 16
+; SI-NEXT: s_lshl_b32 s77, s25, 16
; SI-NEXT: s_lshl_b32 s78, s78, 16
-; SI-NEXT: s_lshl_b32 s83, s54, 16
-; SI-NEXT: s_lshl_b32 s71, s64, 16
; SI-NEXT: v_writelane_b32 v34, s4, 33
-; SI-NEXT: s_lshl_b32 s81, s66, 16
-; SI-NEXT: s_lshl_b32 s87, s91, 16
-; SI-NEXT: s_lshl_b32 s55, s68, 16
+; SI-NEXT: s_lshl_b32 s87, s64, 16
; SI-NEXT: s_lshl_b32 s85, s92, 16
-; SI-NEXT: s_lshl_b32 s52, s70, 16
-; SI-NEXT: s_lshl_b32 s67, s93, 16
-; SI-NEXT: s_lshl_b32 s50, s80, 16
+; SI-NEXT: s_lshl_b32 s83, s66, 16
+; SI-NEXT: s_lshl_b32 s81, s93, 16
+; SI-NEXT: s_lshl_b32 s71, s68, 16
; SI-NEXT: s_lshl_b32 s69, s94, 16
-; SI-NEXT: s_lshl_b32 s48, s82, 16
-; SI-NEXT: s_lshl_b32 s65, s95, 16
-; SI-NEXT: s_lshl_b32 s38, s84, 16
-; SI-NEXT: s_lshl_b32 s53, vcc_lo, 16
-; SI-NEXT: s_lshl_b32 s36, s86, 16
-; SI-NEXT: s_lshl_b32 s51, vcc_hi, 16
-; SI-NEXT: s_lshl_b32 s34, s96, 16
-; SI-NEXT: s_lshl_b32 s49, s30, 16
-; SI-NEXT: s_lshl_b32 s30, s98, 16
-; SI-NEXT: s_lshl_b32 s39, s97, 16
-; SI-NEXT: s_lshl_b32 vcc_lo, s6, 16
-; SI-NEXT: s_lshl_b32 s37, s99, 16
-; SI-NEXT: s_lshl_b32 s94, s8, 16
-; SI-NEXT: s_lshl_b32 s35, s7, 16
-; SI-NEXT: s_lshl_b32 s92, s10, 16
-; SI-NEXT: s_lshl_b32 s31, s9, 16
-; SI-NEXT: s_lshl_b32 s95, s12, 16
-; SI-NEXT: s_lshl_b32 vcc_hi, s11, 16
-; SI-NEXT: s_lshl_b32 s89, s14, 16
-; SI-NEXT: s_lshl_b32 s93, s13, 16
-; SI-NEXT: s_lshl_b32 s90, s40, 16
-; SI-NEXT: s_lshl_b32 s91, s15, 16
+; SI-NEXT: s_lshl_b32 s65, s70, 16
+; SI-NEXT: s_lshl_b32 s67, s95, 16
+; SI-NEXT: s_lshl_b32 s53, s80, 16
+; SI-NEXT: s_lshl_b32 s55, vcc_lo, 16
+; SI-NEXT: s_lshl_b32 s51, s82, 16
+; SI-NEXT: s_lshl_b32 s52, vcc_hi, 16
+; SI-NEXT: s_lshl_b32 s49, s84, 16
+; SI-NEXT: s_lshl_b32 s50, s30, 16
+; SI-NEXT: s_lshl_b32 s39, s86, 16
+; SI-NEXT: s_lshl_b32 s48, s31, 16
+; SI-NEXT: s_lshl_b32 s37, s96, 16
+; SI-NEXT: s_lshl_b32 s38, s34, 16
+; SI-NEXT: s_lshl_b32 s35, s98, 16
+; SI-NEXT: s_lshl_b32 s36, s97, 16
+; SI-NEXT: s_lshl_b32 s31, s6, 16
+; SI-NEXT: s_lshl_b32 s34, s99, 16
+; SI-NEXT: s_lshl_b32 vcc_hi, s8, 16
+; SI-NEXT: s_lshl_b32 s30, s7, 16
+; SI-NEXT: s_lshl_b32 s95, s10, 16
+; SI-NEXT: s_lshl_b32 vcc_lo, s9, 16
+; SI-NEXT: s_lshl_b32 s93, s12, 16
+; SI-NEXT: s_lshl_b32 s94, s11, 16
+; SI-NEXT: s_lshl_b32 s91, s14, 16
+; SI-NEXT: s_lshl_b32 s92, s13, 16
+; SI-NEXT: s_lshl_b32 s89, s40, 16
+; SI-NEXT: s_lshl_b32 s90, s15, 16
; SI-NEXT: s_lshl_b32 s79, s42, 16
; SI-NEXT: s_lshl_b32 s88, s41, 16
; SI-NEXT: s_mov_b64 s[4:5], 0
@@ -227365,68 +227392,58 @@ define inreg <64 x bfloat> @bitcast_v64i16_to_v64bf16_scalar(<64 x i16> inreg %a
; SI-NEXT: s_mov_b64 s[4:5], -1
; SI-NEXT: ; implicit-def: $sgpr79
; SI-NEXT: ; kill: killed $sgpr79
-; SI-NEXT: ; implicit-def: $sgpr75
-; SI-NEXT: ; implicit-def: $sgpr76
-; SI-NEXT: ; implicit-def: $sgpr77
-; SI-NEXT: ; implicit-def: $sgpr78
; SI-NEXT: ; implicit-def: $sgpr43
; SI-NEXT: ; implicit-def: $sgpr44
; SI-NEXT: ; implicit-def: $sgpr45
; SI-NEXT: ; implicit-def: $sgpr46
-; SI-NEXT: ; implicit-def: $sgpr56
; SI-NEXT: ; implicit-def: $sgpr47
-; SI-NEXT: ; implicit-def: $sgpr58
+; SI-NEXT: ; implicit-def: $sgpr56
; SI-NEXT: ; implicit-def: $sgpr57
-; SI-NEXT: ; implicit-def: $sgpr60
+; SI-NEXT: ; implicit-def: $sgpr58
; SI-NEXT: ; implicit-def: $sgpr59
-; SI-NEXT: ; implicit-def: $sgpr62
+; SI-NEXT: ; implicit-def: $sgpr60
; SI-NEXT: ; implicit-def: $sgpr61
-; SI-NEXT: ; implicit-def: $sgpr72
+; SI-NEXT: ; implicit-def: $sgpr62
; SI-NEXT: ; implicit-def: $sgpr63
-; SI-NEXT: ; implicit-def: $sgpr74
+; SI-NEXT: ; implicit-def: $sgpr72
; SI-NEXT: ; implicit-def: $sgpr73
-; SI-NEXT: ; kill: killed $sgpr75
+; SI-NEXT: ; implicit-def: $sgpr74
; SI-NEXT: ; implicit-def: $sgpr75
-; SI-NEXT: ; implicit-def: $sgpr79
-; SI-NEXT: ; kill: killed $sgpr79
-; SI-NEXT: ; kill: killed $sgpr76
; SI-NEXT: ; implicit-def: $sgpr76
-; SI-NEXT: ; kill: killed $sgpr77
; SI-NEXT: ; implicit-def: $sgpr77
-; SI-NEXT: ; kill: killed $sgpr78
; SI-NEXT: ; implicit-def: $sgpr78
+; SI-NEXT: ; implicit-def: $sgpr87
+; SI-NEXT: ; implicit-def: $sgpr85
; SI-NEXT: ; implicit-def: $sgpr83
-; SI-NEXT: ; implicit-def: $sgpr71
; SI-NEXT: ; implicit-def: $sgpr81
-; SI-NEXT: ; implicit-def: $sgpr87
+; SI-NEXT: ; implicit-def: $sgpr71
+; SI-NEXT: ; implicit-def: $sgpr69
+; SI-NEXT: ; implicit-def: $sgpr65
+; SI-NEXT: ; implicit-def: $sgpr67
+; SI-NEXT: ; implicit-def: $sgpr53
; SI-NEXT: ; implicit-def: $sgpr55
-; SI-NEXT: ; implicit-def: $sgpr85
+; SI-NEXT: ; implicit-def: $sgpr51
; SI-NEXT: ; implicit-def: $sgpr52
-; SI-NEXT: ; implicit-def: $sgpr67
+; SI-NEXT: ; implicit-def: $sgpr49
; SI-NEXT: ; implicit-def: $sgpr50
-; SI-NEXT: ; implicit-def: $sgpr69
+; SI-NEXT: ; implicit-def: $sgpr39
; SI-NEXT: ; implicit-def: $sgpr48
-; SI-NEXT: ; implicit-def: $sgpr65
+; SI-NEXT: ; implicit-def: $sgpr37
; SI-NEXT: ; implicit-def: $sgpr38
-; SI-NEXT: ; implicit-def: $sgpr53
+; SI-NEXT: ; implicit-def: $sgpr35
; SI-NEXT: ; implicit-def: $sgpr36
-; SI-NEXT: ; implicit-def: $sgpr51
+; SI-NEXT: ; implicit-def: $sgpr31
; SI-NEXT: ; implicit-def: $sgpr34
-; SI-NEXT: ; implicit-def: $sgpr49
+; SI-NEXT: ; implicit-def: $vcc_hi
; SI-NEXT: ; implicit-def: $sgpr30
-; SI-NEXT: ; implicit-def: $sgpr39
+; SI-NEXT: ; implicit-def: $sgpr95
; SI-NEXT: ; implicit-def: $vcc_lo
-; SI-NEXT: ; implicit-def: $sgpr37
+; SI-NEXT: ; implicit-def: $sgpr93
; SI-NEXT: ; implicit-def: $sgpr94
-; SI-NEXT: ; implicit-def: $sgpr35
+; SI-NEXT: ; implicit-def: $sgpr91
; SI-NEXT: ; implicit-def: $sgpr92
-; SI-NEXT: ; implicit-def: $sgpr31
-; SI-NEXT: ; implicit-def: $sgpr95
-; SI-NEXT: ; implicit-def: $vcc_hi
; SI-NEXT: ; implicit-def: $sgpr89
-; SI-NEXT: ; implicit-def: $sgpr93
; SI-NEXT: ; implicit-def: $sgpr90
-; SI-NEXT: ; implicit-def: $sgpr91
; SI-NEXT: ; implicit-def: $sgpr88
; SI-NEXT: ; implicit-def: $sgpr79
; SI-NEXT: ; kill: killed $sgpr79
@@ -227435,16 +227452,29 @@ define inreg <64 x bfloat> @bitcast_v64i16_to_v64bf16_scalar(<64 x i16> inreg %a
; SI-NEXT: ; implicit-def: $sgpr79
; SI-NEXT: ; kill: killed $sgpr79
; SI-NEXT: ; implicit-def: $sgpr79
+; SI-NEXT: ; kill: killed $sgpr79
+; SI-NEXT: ; implicit-def: $sgpr79
+; SI-NEXT: ; kill: killed $sgpr79
+; SI-NEXT: ; implicit-def: $sgpr79
+; SI-NEXT: ; kill: killed $sgpr79
+; SI-NEXT: ; implicit-def: $sgpr79
+; SI-NEXT: ; kill: killed $sgpr79
+; SI-NEXT: ; implicit-def: $sgpr79
+; SI-NEXT: ; kill: killed $sgpr79
+; SI-NEXT: ; implicit-def: $sgpr79
; SI-NEXT: .LBB107_3: ; %Flow
; SI-NEXT: s_and_b64 s[4:5], s[4:5], exec
; SI-NEXT: s_cselect_b32 s4, 1, 0
; SI-NEXT: s_cmp_lg_u32 s4, 1
; SI-NEXT: s_mov_b32 s4, s79
-; SI-NEXT: s_mov_b32 s5, s90
+; SI-NEXT: s_mov_b32 s5, s88
; SI-NEXT: s_mov_b32 s79, s89
-; SI-NEXT: s_mov_b32 s89, s95
+; SI-NEXT: s_mov_b32 s88, s90
+; SI-NEXT: s_mov_b32 s89, s91
; SI-NEXT: s_mov_b32 s90, s92
+; SI-NEXT: s_mov_b32 s91, s93
; SI-NEXT: s_mov_b32 s92, s94
+; SI-NEXT: s_mov_b32 s93, s95
; SI-NEXT: s_mov_b32 s94, vcc_lo
; SI-NEXT: s_mov_b32 s95, vcc_hi
; SI-NEXT: s_mov_b32 vcc_lo, s30
@@ -227463,11 +227493,10 @@ define inreg <64 x bfloat> @bitcast_v64i16_to_v64bf16_scalar(<64 x i16> inreg %a
; SI-NEXT: s_mov_b32 s51, s53
; SI-NEXT: s_mov_b32 s52, s55
; SI-NEXT: s_mov_b32 s53, s65
-; SI-NEXT: s_mov_b32 s55, s81
-; SI-NEXT: s_mov_b32 s65, s69
-; SI-NEXT: s_mov_b32 s69, s85
-; SI-NEXT: v_readlane_b32 s81, v34, 24
-; SI-NEXT: v_readlane_b32 s85, v34, 25
+; SI-NEXT: s_mov_b32 s65, s71
+; SI-NEXT: s_mov_b32 s71, s83
+; SI-NEXT: s_mov_b32 s83, s87
+; SI-NEXT: v_readlane_b32 s87, v34, 24
; SI-NEXT: s_cbranch_scc1 .LBB107_5
; SI-NEXT: ; %bb.4: ; %cmp.true
; SI-NEXT: s_add_i32 s8, s8, 3
@@ -227559,12 +227588,12 @@ define inreg <64 x bfloat> @bitcast_v64i16_to_v64bf16_scalar(<64 x i16> inreg %a
; SI-NEXT: s_or_b32 s6, s43, s6
; SI-NEXT: s_add_i32 s54, s54, 3
; SI-NEXT: v_readlane_b32 s43, v34, 14
-; SI-NEXT: s_add_i32 s88, s6, 0x30000
+; SI-NEXT: s_add_i32 s55, s6, 0x30000
; SI-NEXT: s_and_b32 s6, s54, 0xffff
; SI-NEXT: s_lshl_b32 s43, s43, 16
; SI-NEXT: s_or_b32 s6, s43, s6
; SI-NEXT: s_add_i32 s29, s29, 3
-; SI-NEXT: s_add_i32 s90, s6, 0x30000
+; SI-NEXT: s_add_i32 s79, s6, 0x30000
; SI-NEXT: s_and_b32 s6, s29, 0xffff
; SI-NEXT: v_readlane_b32 s29, v34, 13
; SI-NEXT: s_lshl_b32 s29, s29, 16
@@ -227650,15 +227679,17 @@ define inreg <64 x bfloat> @bitcast_v64i16_to_v64bf16_scalar(<64 x i16> inreg %a
; SI-NEXT: s_add_i32 s6, s6, 0x30000
; SI-NEXT: s_and_b32 s44, s6, 0xffff0000
; SI-NEXT: s_lshl_b32 s43, s6, 16
-; SI-NEXT: s_lshl_b32 s6, s24, 16
+; SI-NEXT: s_and_b32 s6, s26, 0xffff0000
+; SI-NEXT: v_writelane_b32 v34, s6, 25
+; SI-NEXT: s_lshl_b32 s6, s26, 16
; SI-NEXT: v_writelane_b32 v34, s6, 26
-; SI-NEXT: s_lshl_b32 s6, s25, 16
+; SI-NEXT: s_and_b32 s6, s27, 0xffff0000
; SI-NEXT: v_writelane_b32 v34, s6, 27
-; SI-NEXT: s_lshl_b32 s6, s26, 16
-; SI-NEXT: v_writelane_b32 v34, s6, 28
; SI-NEXT: s_lshl_b32 s6, s27, 16
-; SI-NEXT: v_writelane_b32 v34, s6, 29
+; SI-NEXT: v_writelane_b32 v34, s6, 28
; SI-NEXT: s_and_b32 s6, s28, 0xffff0000
+; SI-NEXT: v_writelane_b32 v34, s6, 29
+; SI-NEXT: s_lshl_b32 s6, s28, 16
; SI-NEXT: v_writelane_b32 v34, s6, 30
; SI-NEXT: s_and_b32 s6, s29, 0xffff0000
; SI-NEXT: s_add_i32 s4, s4, 0x30000
@@ -227668,62 +227699,61 @@ define inreg <64 x bfloat> @bitcast_v64i16_to_v64bf16_scalar(<64 x i16> inreg %a
; SI-NEXT: s_add_i32 s9, s9, 0x30000
; SI-NEXT: s_add_i32 s7, s7, 0x30000
; SI-NEXT: v_writelane_b32 v34, s6, 31
-; SI-NEXT: s_and_b32 s6, s90, 0xffff0000
+; SI-NEXT: s_lshl_b32 s6, s29, 16
; SI-NEXT: s_and_b32 s46, s17, 0xffff0000
; SI-NEXT: s_lshl_b32 s45, s17, 16
-; SI-NEXT: s_and_b32 s47, s18, 0xffff0000
-; SI-NEXT: s_lshl_b32 s56, s18, 16
-; SI-NEXT: s_and_b32 s57, s19, 0xffff0000
-; SI-NEXT: s_lshl_b32 s58, s19, 16
-; SI-NEXT: s_and_b32 s59, s20, 0xffff0000
-; SI-NEXT: s_lshl_b32 s60, s20, 16
-; SI-NEXT: s_and_b32 s61, s21, 0xffff0000
-; SI-NEXT: s_lshl_b32 s62, s21, 16
-; SI-NEXT: s_and_b32 s63, s22, 0xffff0000
-; SI-NEXT: s_lshl_b32 s72, s22, 16
-; SI-NEXT: s_and_b32 s73, s23, 0xffff0000
-; SI-NEXT: s_lshl_b32 s74, s23, 16
-; SI-NEXT: s_and_b32 s75, s24, 0xffff0000
-; SI-NEXT: s_and_b32 s76, s25, 0xffff0000
-; SI-NEXT: s_and_b32 s77, s26, 0xffff0000
-; SI-NEXT: s_and_b32 s78, s27, 0xffff0000
-; SI-NEXT: s_lshl_b32 s85, s28, 16
-; SI-NEXT: s_lshl_b32 s81, s29, 16
+; SI-NEXT: s_and_b32 s56, s18, 0xffff0000
+; SI-NEXT: s_lshl_b32 s47, s18, 16
+; SI-NEXT: s_and_b32 s58, s19, 0xffff0000
+; SI-NEXT: s_lshl_b32 s57, s19, 16
+; SI-NEXT: s_and_b32 s60, s20, 0xffff0000
+; SI-NEXT: s_lshl_b32 s59, s20, 16
+; SI-NEXT: s_and_b32 s62, s21, 0xffff0000
+; SI-NEXT: s_lshl_b32 s61, s21, 16
+; SI-NEXT: s_and_b32 s72, s22, 0xffff0000
+; SI-NEXT: s_lshl_b32 s63, s22, 16
+; SI-NEXT: s_and_b32 s74, s23, 0xffff0000
+; SI-NEXT: s_lshl_b32 s73, s23, 16
+; SI-NEXT: s_and_b32 s76, s24, 0xffff0000
+; SI-NEXT: s_lshl_b32 s75, s24, 16
+; SI-NEXT: s_and_b32 s78, s25, 0xffff0000
+; SI-NEXT: s_lshl_b32 s77, s25, 16
; SI-NEXT: v_writelane_b32 v34, s6, 32
-; SI-NEXT: s_lshl_b32 s83, s90, 16
-; SI-NEXT: s_and_b32 s6, s88, 0xffff0000
-; SI-NEXT: s_lshl_b32 s71, s88, 16
-; SI-NEXT: s_and_b32 s87, s65, 0xffff0000
-; SI-NEXT: s_lshl_b32 s55, s65, 16
+; SI-NEXT: s_and_b32 s6, s79, 0xffff0000
+; SI-NEXT: s_lshl_b32 s87, s79, 16
+; SI-NEXT: s_and_b32 s85, s55, 0xffff0000
+; SI-NEXT: s_lshl_b32 s83, s55, 16
+; SI-NEXT: s_and_b32 s81, s65, 0xffff0000
+; SI-NEXT: s_lshl_b32 s71, s65, 16
; SI-NEXT: s_and_b32 s69, s67, 0xffff0000
-; SI-NEXT: s_lshl_b32 s52, s67, 16
+; SI-NEXT: s_lshl_b32 s65, s67, 16
; SI-NEXT: s_and_b32 s67, s42, 0xffff0000
-; SI-NEXT: s_lshl_b32 s50, s42, 16
-; SI-NEXT: s_and_b32 s65, s41, 0xffff0000
-; SI-NEXT: s_lshl_b32 s48, s41, 16
-; SI-NEXT: s_and_b32 s53, s40, 0xffff0000
-; SI-NEXT: s_lshl_b32 s38, s40, 16
-; SI-NEXT: s_and_b32 s51, s15, 0xffff0000
-; SI-NEXT: s_lshl_b32 s36, s15, 16
-; SI-NEXT: s_and_b32 s49, s14, 0xffff0000
-; SI-NEXT: s_lshl_b32 s34, s14, 16
-; SI-NEXT: s_and_b32 s39, s12, 0xffff0000
-; SI-NEXT: s_lshl_b32 s30, s12, 16
-; SI-NEXT: s_and_b32 s37, s10, 0xffff0000
-; SI-NEXT: s_lshl_b32 vcc_lo, s10, 16
-; SI-NEXT: s_and_b32 s35, s8, 0xffff0000
-; SI-NEXT: s_lshl_b32 s94, s8, 16
-; SI-NEXT: s_and_b32 s31, s7, 0xffff0000
-; SI-NEXT: s_lshl_b32 s92, s7, 16
-; SI-NEXT: s_and_b32 vcc_hi, s9, 0xffff0000
-; SI-NEXT: s_lshl_b32 s90, s9, 16
-; SI-NEXT: s_and_b32 s95, s11, 0xffff0000
-; SI-NEXT: s_lshl_b32 s89, s11, 16
-; SI-NEXT: s_and_b32 s93, s13, 0xffff0000
-; SI-NEXT: s_lshl_b32 s79, s13, 16
-; SI-NEXT: s_and_b32 s91, s5, 0xffff0000
-; SI-NEXT: s_lshl_b32 s5, s5, 16
-; SI-NEXT: s_and_b32 s88, s4, 0xffff0000
+; SI-NEXT: s_lshl_b32 s53, s42, 16
+; SI-NEXT: s_and_b32 s52, s41, 0xffff0000
+; SI-NEXT: s_lshl_b32 s51, s41, 16
+; SI-NEXT: s_and_b32 s50, s40, 0xffff0000
+; SI-NEXT: s_lshl_b32 s49, s40, 16
+; SI-NEXT: s_and_b32 s48, s15, 0xffff0000
+; SI-NEXT: s_lshl_b32 s39, s15, 16
+; SI-NEXT: s_and_b32 s38, s14, 0xffff0000
+; SI-NEXT: s_lshl_b32 s37, s14, 16
+; SI-NEXT: s_and_b32 s36, s12, 0xffff0000
+; SI-NEXT: s_lshl_b32 s35, s12, 16
+; SI-NEXT: s_and_b32 s34, s10, 0xffff0000
+; SI-NEXT: s_lshl_b32 s31, s10, 16
+; SI-NEXT: s_and_b32 s30, s8, 0xffff0000
+; SI-NEXT: s_lshl_b32 vcc_hi, s8, 16
+; SI-NEXT: s_and_b32 vcc_lo, s7, 0xffff0000
+; SI-NEXT: s_lshl_b32 s95, s7, 16
+; SI-NEXT: s_and_b32 s94, s9, 0xffff0000
+; SI-NEXT: s_lshl_b32 s93, s9, 16
+; SI-NEXT: s_and_b32 s92, s11, 0xffff0000
+; SI-NEXT: s_lshl_b32 s91, s11, 16
+; SI-NEXT: s_and_b32 s90, s13, 0xffff0000
+; SI-NEXT: s_lshl_b32 s89, s13, 16
+; SI-NEXT: s_and_b32 s88, s5, 0xffff0000
+; SI-NEXT: s_lshl_b32 s79, s5, 16
+; SI-NEXT: s_and_b32 s5, s4, 0xffff0000
; SI-NEXT: s_lshl_b32 s4, s4, 16
; SI-NEXT: v_writelane_b32 v34, s6, 33
; SI-NEXT: .LBB107_5: ; %end
@@ -227735,131 +227765,132 @@ define inreg <64 x bfloat> @bitcast_v64i16_to_v64bf16_scalar(<64 x i16> inreg %a
; SI-NEXT: v_lshrrev_b32_e32 v2, 16, v1
; SI-NEXT: v_mul_f32_e64 v1, 1.0, s45
; SI-NEXT: v_lshr_b64 v[1:2], v[1:2], 16
-; SI-NEXT: v_mul_f32_e64 v2, 1.0, s47
-; SI-NEXT: v_lshrrev_b32_e32 v3, 16, v2
; SI-NEXT: v_mul_f32_e64 v2, 1.0, s56
+; SI-NEXT: v_lshrrev_b32_e32 v3, 16, v2
+; SI-NEXT: v_mul_f32_e64 v2, 1.0, s47
; SI-NEXT: v_lshr_b64 v[2:3], v[2:3], 16
-; SI-NEXT: v_mul_f32_e64 v3, 1.0, s57
-; SI-NEXT: v_lshrrev_b32_e32 v4, 16, v3
; SI-NEXT: v_mul_f32_e64 v3, 1.0, s58
+; SI-NEXT: v_lshrrev_b32_e32 v4, 16, v3
+; SI-NEXT: v_mul_f32_e64 v3, 1.0, s57
; SI-NEXT: v_lshr_b64 v[3:4], v[3:4], 16
-; SI-NEXT: v_mul_f32_e64 v4, 1.0, s59
-; SI-NEXT: v_lshrrev_b32_e32 v5, 16, v4
; SI-NEXT: v_mul_f32_e64 v4, 1.0, s60
+; SI-NEXT: v_lshrrev_b32_e32 v5, 16, v4
+; SI-NEXT: v_mul_f32_e64 v4, 1.0, s59
; SI-NEXT: v_lshr_b64 v[4:5], v[4:5], 16
-; SI-NEXT: v_mul_f32_e64 v5, 1.0, s61
-; SI-NEXT: v_lshrrev_b32_e32 v6, 16, v5
; SI-NEXT: v_mul_f32_e64 v5, 1.0, s62
+; SI-NEXT: v_lshrrev_b32_e32 v6, 16, v5
+; SI-NEXT: v_mul_f32_e64 v5, 1.0, s61
; SI-NEXT: v_lshr_b64 v[5:6], v[5:6], 16
-; SI-NEXT: v_mul_f32_e64 v6, 1.0, s63
-; SI-NEXT: v_lshrrev_b32_e32 v7, 16, v6
; SI-NEXT: v_mul_f32_e64 v6, 1.0, s72
+; SI-NEXT: v_lshrrev_b32_e32 v7, 16, v6
+; SI-NEXT: v_mul_f32_e64 v6, 1.0, s63
; SI-NEXT: v_lshr_b64 v[6:7], v[6:7], 16
-; SI-NEXT: v_mul_f32_e64 v7, 1.0, s73
-; SI-NEXT: v_lshrrev_b32_e32 v8, 16, v7
; SI-NEXT: v_mul_f32_e64 v7, 1.0, s74
+; SI-NEXT: v_lshrrev_b32_e32 v8, 16, v7
+; SI-NEXT: v_mul_f32_e64 v7, 1.0, s73
; SI-NEXT: v_lshr_b64 v[7:8], v[7:8], 16
-; SI-NEXT: v_mul_f32_e64 v8, 1.0, s75
-; SI-NEXT: v_readlane_b32 s6, v34, 26
+; SI-NEXT: v_mul_f32_e64 v8, 1.0, s76
; SI-NEXT: v_lshrrev_b32_e32 v9, 16, v8
-; SI-NEXT: v_mul_f32_e64 v8, 1.0, s6
+; SI-NEXT: v_mul_f32_e64 v8, 1.0, s75
; SI-NEXT: v_lshr_b64 v[8:9], v[8:9], 16
-; SI-NEXT: v_mul_f32_e64 v9, 1.0, s76
-; SI-NEXT: v_readlane_b32 s6, v34, 27
+; SI-NEXT: v_mul_f32_e64 v9, 1.0, s78
; SI-NEXT: v_lshrrev_b32_e32 v10, 16, v9
-; SI-NEXT: v_mul_f32_e64 v9, 1.0, s6
+; SI-NEXT: v_mul_f32_e64 v9, 1.0, s77
; SI-NEXT: v_lshr_b64 v[9:10], v[9:10], 16
-; SI-NEXT: v_mul_f32_e64 v10, 1.0, s77
-; SI-NEXT: v_readlane_b32 s6, v34, 28
+; SI-NEXT: v_readlane_b32 s6, v34, 25
+; SI-NEXT: v_mul_f32_e64 v10, 1.0, s6
+; SI-NEXT: v_readlane_b32 s6, v34, 26
; SI-NEXT: v_lshrrev_b32_e32 v11, 16, v10
; SI-NEXT: v_mul_f32_e64 v10, 1.0, s6
; SI-NEXT: v_lshr_b64 v[10:11], v[10:11], 16
-; SI-NEXT: v_mul_f32_e64 v11, 1.0, s78
-; SI-NEXT: v_readlane_b32 s6, v34, 29
+; SI-NEXT: v_readlane_b32 s6, v34, 27
+; SI-NEXT: v_mul_f32_e64 v11, 1.0, s6
+; SI-NEXT: v_readlane_b32 s6, v34, 28
; SI-NEXT: v_lshrrev_b32_e32 v12, 16, v11
; SI-NEXT: v_mul_f32_e64 v11, 1.0, s6
; SI-NEXT: v_lshr_b64 v[11:12], v[11:12], 16
-; SI-NEXT: v_readlane_b32 s6, v34, 30
+; SI-NEXT: v_readlane_b32 s6, v34, 29
; SI-NEXT: v_mul_f32_e64 v12, 1.0, s6
+; SI-NEXT: v_readlane_b32 s6, v34, 30
; SI-NEXT: v_lshrrev_b32_e32 v13, 16, v12
-; SI-NEXT: v_mul_f32_e64 v12, 1.0, s85
+; SI-NEXT: v_mul_f32_e64 v12, 1.0, s6
; SI-NEXT: v_lshr_b64 v[12:13], v[12:13], 16
; SI-NEXT: v_readlane_b32 s6, v34, 31
; SI-NEXT: v_mul_f32_e64 v13, 1.0, s6
+; SI-NEXT: v_readlane_b32 s6, v34, 32
; SI-NEXT: v_lshrrev_b32_e32 v14, 16, v13
-; SI-NEXT: v_mul_f32_e64 v13, 1.0, s81
+; SI-NEXT: v_mul_f32_e64 v13, 1.0, s6
; SI-NEXT: v_lshr_b64 v[13:14], v[13:14], 16
-; SI-NEXT: v_readlane_b32 s6, v34, 32
+; SI-NEXT: v_readlane_b32 s6, v34, 33
; SI-NEXT: v_mul_f32_e64 v14, 1.0, s6
; SI-NEXT: v_lshrrev_b32_e32 v15, 16, v14
-; SI-NEXT: v_mul_f32_e64 v14, 1.0, s83
+; SI-NEXT: v_mul_f32_e64 v14, 1.0, s87
; SI-NEXT: v_lshr_b64 v[14:15], v[14:15], 16
-; SI-NEXT: v_readlane_b32 s6, v34, 33
-; SI-NEXT: v_mul_f32_e64 v15, 1.0, s6
+; SI-NEXT: v_mul_f32_e64 v15, 1.0, s85
; SI-NEXT: v_lshrrev_b32_e32 v16, 16, v15
-; SI-NEXT: v_mul_f32_e64 v15, 1.0, s71
+; SI-NEXT: v_mul_f32_e64 v15, 1.0, s83
; SI-NEXT: v_lshr_b64 v[15:16], v[15:16], 16
-; SI-NEXT: v_mul_f32_e64 v16, 1.0, s87
+; SI-NEXT: v_mul_f32_e64 v16, 1.0, s81
; SI-NEXT: v_lshrrev_b32_e32 v17, 16, v16
-; SI-NEXT: v_mul_f32_e64 v16, 1.0, s55
+; SI-NEXT: v_mul_f32_e64 v16, 1.0, s71
; SI-NEXT: v_lshr_b64 v[16:17], v[16:17], 16
; SI-NEXT: v_mul_f32_e64 v17, 1.0, s69
; SI-NEXT: v_lshrrev_b32_e32 v18, 16, v17
-; SI-NEXT: v_mul_f32_e64 v17, 1.0, s52
+; SI-NEXT: v_mul_f32_e64 v17, 1.0, s65
; SI-NEXT: v_lshr_b64 v[17:18], v[17:18], 16
; SI-NEXT: v_mul_f32_e64 v18, 1.0, s67
; SI-NEXT: v_lshrrev_b32_e32 v19, 16, v18
-; SI-NEXT: v_mul_f32_e64 v18, 1.0, s50
+; SI-NEXT: v_mul_f32_e64 v18, 1.0, s53
; SI-NEXT: v_lshr_b64 v[18:19], v[18:19], 16
-; SI-NEXT: v_mul_f32_e64 v19, 1.0, s65
+; SI-NEXT: v_mul_f32_e64 v19, 1.0, s52
; SI-NEXT: v_lshrrev_b32_e32 v20, 16, v19
-; SI-NEXT: v_mul_f32_e64 v19, 1.0, s48
+; SI-NEXT: v_mul_f32_e64 v19, 1.0, s51
; SI-NEXT: v_lshr_b64 v[19:20], v[19:20], 16
-; SI-NEXT: v_mul_f32_e64 v20, 1.0, s53
+; SI-NEXT: v_mul_f32_e64 v20, 1.0, s50
; SI-NEXT: v_lshrrev_b32_e32 v21, 16, v20
-; SI-NEXT: v_mul_f32_e64 v20, 1.0, s38
+; SI-NEXT: v_mul_f32_e64 v20, 1.0, s49
; SI-NEXT: v_lshr_b64 v[20:21], v[20:21], 16
-; SI-NEXT: v_mul_f32_e64 v21, 1.0, s51
+; SI-NEXT: v_mul_f32_e64 v21, 1.0, s48
; SI-NEXT: v_lshrrev_b32_e32 v22, 16, v21
-; SI-NEXT: v_mul_f32_e64 v21, 1.0, s36
+; SI-NEXT: v_mul_f32_e64 v21, 1.0, s39
; SI-NEXT: v_lshr_b64 v[21:22], v[21:22], 16
-; SI-NEXT: v_mul_f32_e64 v22, 1.0, s49
+; SI-NEXT: v_mul_f32_e64 v22, 1.0, s38
; SI-NEXT: v_lshrrev_b32_e32 v23, 16, v22
-; SI-NEXT: v_mul_f32_e64 v22, 1.0, s34
+; SI-NEXT: v_mul_f32_e64 v22, 1.0, s37
; SI-NEXT: v_lshr_b64 v[22:23], v[22:23], 16
-; SI-NEXT: v_mul_f32_e64 v23, 1.0, s39
+; SI-NEXT: v_mul_f32_e64 v23, 1.0, s36
; SI-NEXT: v_lshrrev_b32_e32 v24, 16, v23
-; SI-NEXT: v_mul_f32_e64 v23, 1.0, s30
+; SI-NEXT: v_mul_f32_e64 v23, 1.0, s35
; SI-NEXT: v_lshr_b64 v[23:24], v[23:24], 16
-; SI-NEXT: v_mul_f32_e64 v24, 1.0, s37
+; SI-NEXT: v_mul_f32_e64 v24, 1.0, s34
; SI-NEXT: v_lshrrev_b32_e32 v25, 16, v24
-; SI-NEXT: v_mul_f32_e64 v24, 1.0, vcc_lo
+; SI-NEXT: v_mul_f32_e64 v24, 1.0, s31
; SI-NEXT: v_lshr_b64 v[24:25], v[24:25], 16
-; SI-NEXT: v_mul_f32_e64 v25, 1.0, s35
+; SI-NEXT: v_mul_f32_e64 v25, 1.0, s30
; SI-NEXT: v_lshrrev_b32_e32 v26, 16, v25
-; SI-NEXT: v_mul_f32_e64 v25, 1.0, s94
+; SI-NEXT: v_mul_f32_e64 v25, 1.0, vcc_hi
; SI-NEXT: v_lshr_b64 v[25:26], v[25:26], 16
-; SI-NEXT: v_mul_f32_e64 v26, 1.0, s31
+; SI-NEXT: v_mul_f32_e64 v26, 1.0, vcc_lo
; SI-NEXT: v_lshrrev_b32_e32 v27, 16, v26
-; SI-NEXT: v_mul_f32_e64 v26, 1.0, s92
+; SI-NEXT: v_mul_f32_e64 v26, 1.0, s95
; SI-NEXT: v_lshr_b64 v[26:27], v[26:27], 16
-; SI-NEXT: v_mul_f32_e64 v27, 1.0, vcc_hi
+; SI-NEXT: v_mul_f32_e64 v27, 1.0, s94
; SI-NEXT: v_lshrrev_b32_e32 v28, 16, v27
-; SI-NEXT: v_mul_f32_e64 v27, 1.0, s90
+; SI-NEXT: v_mul_f32_e64 v27, 1.0, s93
; SI-NEXT: v_lshr_b64 v[27:28], v[27:28], 16
-; SI-NEXT: v_mul_f32_e64 v28, 1.0, s95
+; SI-NEXT: v_mul_f32_e64 v28, 1.0, s92
; SI-NEXT: v_lshrrev_b32_e32 v29, 16, v28
-; SI-NEXT: v_mul_f32_e64 v28, 1.0, s89
+; SI-NEXT: v_mul_f32_e64 v28, 1.0, s91
; SI-NEXT: v_lshr_b64 v[28:29], v[28:29], 16
-; SI-NEXT: v_mul_f32_e64 v29, 1.0, s93
+; SI-NEXT: v_mul_f32_e64 v29, 1.0, s90
; SI-NEXT: v_lshrrev_b32_e32 v30, 16, v29
-; SI-NEXT: v_mul_f32_e64 v29, 1.0, s79
+; SI-NEXT: v_mul_f32_e64 v29, 1.0, s89
; SI-NEXT: v_lshr_b64 v[29:30], v[29:30], 16
-; SI-NEXT: v_mul_f32_e64 v30, 1.0, s91
+; SI-NEXT: v_mul_f32_e64 v30, 1.0, s88
; SI-NEXT: v_lshrrev_b32_e32 v31, 16, v30
-; SI-NEXT: v_mul_f32_e64 v30, 1.0, s5
+; SI-NEXT: v_mul_f32_e64 v30, 1.0, s79
; SI-NEXT: v_lshr_b64 v[30:31], v[30:31], 16
-; SI-NEXT: v_mul_f32_e64 v31, 1.0, s88
+; SI-NEXT: v_mul_f32_e64 v31, 1.0, s5
; SI-NEXT: v_lshrrev_b32_e32 v32, 16, v31
; SI-NEXT: v_mul_f32_e64 v31, 1.0, s4
; SI-NEXT: v_readlane_b32 s30, v33, 34
@@ -229168,9 +229199,9 @@ define inreg <64 x i16> @bitcast_v64f16_to_v64i16_scalar(<64 x half> inreg %a, i
; SI-NEXT: v_readfirstlane_b32 s6, v16
; SI-NEXT: v_readfirstlane_b32 s11, v15
; SI-NEXT: v_readfirstlane_b32 s7, v14
-; SI-NEXT: v_readfirstlane_b32 s59, v13
+; SI-NEXT: v_readfirstlane_b32 s60, v13
; SI-NEXT: v_readfirstlane_b32 s8, v12
-; SI-NEXT: v_readfirstlane_b32 s57, v11
+; SI-NEXT: v_readfirstlane_b32 s58, v11
; SI-NEXT: v_readfirstlane_b32 s9, v10
; SI-NEXT: v_readfirstlane_b32 s56, v9
; SI-NEXT: v_readfirstlane_b32 s12, v8
@@ -229197,22 +229228,22 @@ define inreg <64 x i16> @bitcast_v64f16_to_v64i16_scalar(<64 x half> inreg %a, i
; SI-NEXT: s_lshr_b32 s13, s17, 16
; SI-NEXT: s_lshr_b32 s37, s16, 16
; SI-NEXT: s_lshr_b32 s88, s10, 16
-; SI-NEXT: s_lshr_b32 s61, s6, 16
+; SI-NEXT: s_lshr_b32 s62, s6, 16
; SI-NEXT: s_lshr_b32 s76, s11, 16
-; SI-NEXT: s_lshr_b32 s63, s7, 16
-; SI-NEXT: s_lshr_b32 s78, s59, 16
-; SI-NEXT: s_lshr_b32 s74, s8, 16
-; SI-NEXT: s_lshr_b32 s75, s57, 16
+; SI-NEXT: s_lshr_b32 s72, s7, 16
+; SI-NEXT: s_lshr_b32 s78, s60, 16
+; SI-NEXT: s_lshr_b32 s75, s8, 16
+; SI-NEXT: s_lshr_b32 s74, s58, 16
; SI-NEXT: s_lshr_b32 s77, s9, 16
; SI-NEXT: s_lshr_b32 s73, s56, 16
; SI-NEXT: s_lshr_b32 s79, s12, 16
-; SI-NEXT: s_lshr_b32 s72, s47, 16
+; SI-NEXT: s_lshr_b32 s63, s47, 16
; SI-NEXT: s_lshr_b32 s89, s90, 16
-; SI-NEXT: s_lshr_b32 s62, s46, 16
+; SI-NEXT: s_lshr_b32 s61, s46, 16
; SI-NEXT: s_lshr_b32 s91, s92, 16
-; SI-NEXT: s_lshr_b32 s60, s45, 16
+; SI-NEXT: s_lshr_b32 s59, s45, 16
; SI-NEXT: s_lshr_b32 s94, vcc_lo, 16
-; SI-NEXT: s_lshr_b32 s58, s44, 16
+; SI-NEXT: s_lshr_b32 s57, s44, 16
; SI-NEXT: s_lshr_b32 s95, s31, 16
; SI-NEXT: v_readfirstlane_b32 s4, v18
; SI-NEXT: s_cmp_lg_u32 s4, 0
@@ -229237,37 +229268,41 @@ define inreg <64 x i16> @bitcast_v64f16_to_v64i16_scalar(<64 x half> inreg %a, i
; SI-NEXT: v_cvt_f16_f32_e32 v0, v0
; SI-NEXT: v_cvt_f16_f32_e32 v1, v1
; SI-NEXT: v_add_f32_e32 v2, 0x38000000, v2
-; SI-NEXT: v_cvt_f32_f16_e32 v29, s76
-; SI-NEXT: v_lshlrev_b32_e32 v26, 16, v0
-; SI-NEXT: v_or_b32_e32 v53, v1, v26
+; SI-NEXT: v_cvt_f32_f16_e32 v18, s76
+; SI-NEXT: v_lshlrev_b32_e32 v48, 16, v0
+; SI-NEXT: v_or_b32_e32 v0, v1, v48
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_cvt_f32_f16_e32 v0, s35
; SI-NEXT: v_cvt_f16_f32_e32 v1, v2
; SI-NEXT: v_add_f32_e32 v2, 0x38000000, v3
; SI-NEXT: v_cvt_f16_f32_e32 v2, v2
; SI-NEXT: v_add_f32_e32 v0, 0x38000000, v0
-; SI-NEXT: v_lshlrev_b32_e32 v5, 16, v1
+; SI-NEXT: v_lshlrev_b32_e32 v21, 16, v1
; SI-NEXT: v_cvt_f32_f16_e32 v1, s20
; SI-NEXT: v_cvt_f16_f32_e32 v0, v0
-; SI-NEXT: v_or_b32_e32 v42, v2, v5
-; SI-NEXT: v_cvt_f32_f16_e32 v2, s22
+; SI-NEXT: v_or_b32_e32 v2, v2, v21
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
; SI-NEXT: v_add_f32_e32 v1, 0x38000000, v1
-; SI-NEXT: v_lshlrev_b32_e32 v51, 16, v0
+; SI-NEXT: v_lshlrev_b32_e32 v13, 16, v0
; SI-NEXT: v_cvt_f32_f16_e32 v0, s34
; SI-NEXT: v_cvt_f16_f32_e32 v1, v1
-; SI-NEXT: v_add_f32_e32 v2, 0x38000000, v2
-; SI-NEXT: v_cvt_f16_f32_e32 v2, v2
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_cvt_f32_f16_e32 v2, s22
+; SI-NEXT: v_cvt_f32_f16_e32 v3, s72
; SI-NEXT: v_add_f32_e32 v0, 0x38000000, v0
-; SI-NEXT: v_or_b32_e32 v1, v1, v51
+; SI-NEXT: v_or_b32_e32 v1, v1, v13
; SI-NEXT: v_cvt_f16_f32_e32 v0, v0
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_cvt_f32_f16_e32 v1, s30
-; SI-NEXT: v_cvt_f32_f16_e32 v3, s63
-; SI-NEXT: v_lshlrev_b32_e32 v13, 16, v0
+; SI-NEXT: v_add_f32_e32 v2, 0x38000000, v2
+; SI-NEXT: v_cvt_f16_f32_e32 v2, v2
+; SI-NEXT: v_lshlrev_b32_e32 v6, 16, v0
; SI-NEXT: v_cvt_f32_f16_e32 v0, s24
; SI-NEXT: v_add_f32_e32 v1, 0x38000000, v1
; SI-NEXT: v_cvt_f16_f32_e32 v1, v1
-; SI-NEXT: v_or_b32_e32 v62, v2, v13
+; SI-NEXT: v_or_b32_e32 v38, v2, v6
; SI-NEXT: v_cvt_f32_f16_e32 v2, vcc_hi
; SI-NEXT: v_add_f32_e32 v0, 0x38000000, v0
; SI-NEXT: v_cvt_f16_f32_e32 v0, v0
@@ -229275,14 +229310,14 @@ define inreg <64 x i16> @bitcast_v64f16_to_v64i16_scalar(<64 x half> inreg %a, i
; SI-NEXT: v_cvt_f32_f16_e32 v1, s26
; SI-NEXT: v_add_f32_e32 v2, 0x38000000, v2
; SI-NEXT: v_cvt_f16_f32_e32 v2, v2
-; SI-NEXT: v_or_b32_e32 v61, v0, v8
+; SI-NEXT: v_or_b32_e32 v36, v0, v8
; SI-NEXT: v_cvt_f32_f16_e32 v0, s93
; SI-NEXT: v_add_f32_e32 v1, 0x38000000, v1
; SI-NEXT: v_cvt_f16_f32_e32 v1, v1
-; SI-NEXT: v_lshlrev_b32_e32 v33, 16, v2
+; SI-NEXT: v_lshlrev_b32_e32 v34, 16, v2
; SI-NEXT: v_add_f32_e32 v0, 0x38000000, v0
; SI-NEXT: v_cvt_f16_f32_e32 v0, v0
-; SI-NEXT: v_or_b32_e32 v58, v1, v33
+; SI-NEXT: v_or_b32_e32 v27, v1, v34
; SI-NEXT: v_cvt_f32_f16_e32 v1, s95
; SI-NEXT: v_cvt_f32_f16_e32 v2, s28
; SI-NEXT: v_lshlrev_b32_e32 v11, 16, v0
@@ -229293,14 +229328,14 @@ define inreg <64 x i16> @bitcast_v64f16_to_v64i16_scalar(<64 x half> inreg %a, i
; SI-NEXT: v_cvt_f16_f32_e32 v2, v2
; SI-NEXT: v_add_f32_e32 v0, 0x38000000, v0
; SI-NEXT: v_cvt_f16_f32_e32 v0, v0
-; SI-NEXT: v_lshlrev_b32_e32 v40, 16, v1
+; SI-NEXT: v_lshlrev_b32_e32 v51, 16, v1
; SI-NEXT: v_cvt_f32_f16_e32 v1, vcc_lo
-; SI-NEXT: v_or_b32_e32 v56, v2, v11
+; SI-NEXT: v_or_b32_e32 v57, v2, v11
; SI-NEXT: v_cvt_f32_f16_e32 v2, s94
-; SI-NEXT: v_or_b32_e32 v19, v0, v40
+; SI-NEXT: v_or_b32_e32 v47, v0, v51
; SI-NEXT: v_cvt_f32_f16_e32 v0, s91
; SI-NEXT: v_add_f32_e32 v1, 0x38000000, v1
-; SI-NEXT: v_cvt_f16_f32_e32 v48, v1
+; SI-NEXT: v_cvt_f16_f32_e32 v25, v1
; SI-NEXT: v_cvt_f32_f16_e32 v1, s89
; SI-NEXT: v_add_f32_e32 v2, 0x38000000, v2
; SI-NEXT: v_cvt_f16_f32_e32 v2, v2
@@ -229308,160 +229343,158 @@ define inreg <64 x i16> @bitcast_v64f16_to_v64i16_scalar(<64 x half> inreg %a, i
; SI-NEXT: v_cvt_f16_f32_e32 v0, v0
; SI-NEXT: v_add_f32_e32 v1, 0x38000000, v1
; SI-NEXT: v_cvt_f16_f32_e32 v1, v1
-; SI-NEXT: v_lshlrev_b32_e32 v24, 16, v2
+; SI-NEXT: v_lshlrev_b32_e32 v44, 16, v2
; SI-NEXT: v_cvt_f32_f16_e32 v2, s92
-; SI-NEXT: v_lshlrev_b32_e32 v38, 16, v0
+; SI-NEXT: v_lshlrev_b32_e32 v23, 16, v0
; SI-NEXT: v_cvt_f32_f16_e32 v0, s79
-; SI-NEXT: v_lshlrev_b32_e32 v54, 16, v1
+; SI-NEXT: v_lshlrev_b32_e32 v40, 16, v1
; SI-NEXT: v_cvt_f32_f16_e32 v1, s77
-; SI-NEXT: v_add_f32_e32 v49, 0x38000000, v2
-; SI-NEXT: v_cvt_f32_f16_e32 v2, s74
+; SI-NEXT: v_add_f32_e32 v5, 0x38000000, v2
+; SI-NEXT: v_cvt_f32_f16_e32 v2, s75
; SI-NEXT: v_add_f32_e32 v0, 0x38000000, v0
; SI-NEXT: v_cvt_f16_f32_e32 v0, v0
; SI-NEXT: v_add_f32_e32 v1, 0x38000000, v1
; SI-NEXT: v_cvt_f16_f32_e32 v1, v1
; SI-NEXT: v_add_f32_e32 v2, 0x38000000, v2
; SI-NEXT: v_cvt_f16_f32_e32 v2, v2
-; SI-NEXT: v_lshlrev_b32_e32 v17, 16, v0
+; SI-NEXT: v_lshlrev_b32_e32 v60, 16, v0
; SI-NEXT: v_add_f32_e32 v0, 0x38000000, v3
-; SI-NEXT: v_lshlrev_b32_e32 v15, 16, v1
-; SI-NEXT: v_cvt_f32_f16_e32 v1, s61
+; SI-NEXT: v_lshlrev_b32_e32 v54, 16, v1
+; SI-NEXT: v_cvt_f32_f16_e32 v1, s62
; SI-NEXT: v_cvt_f16_f32_e32 v28, v0
; SI-NEXT: v_cvt_f32_f16_e32 v0, s88
-; SI-NEXT: v_lshlrev_b32_e32 v21, 16, v2
+; SI-NEXT: v_lshlrev_b32_e32 v19, 16, v2
; SI-NEXT: v_cvt_f32_f16_e32 v2, s78
; SI-NEXT: v_add_f32_e32 v1, 0x38000000, v1
; SI-NEXT: v_add_f32_e32 v0, 0x38000000, v0
-; SI-NEXT: v_cvt_f16_f32_e32 v20, v1
+; SI-NEXT: v_cvt_f16_f32_e32 v30, v1
; SI-NEXT: v_add_f32_e32 v1, 0x38000000, v2
-; SI-NEXT: v_cvt_f16_f32_e32 v7, v0
-; SI-NEXT: v_cvt_f32_f16_e32 v0, s59
-; SI-NEXT: v_cvt_f32_f16_e32 v2, s75
-; SI-NEXT: v_cvt_f32_f16_e32 v3, s57
+; SI-NEXT: v_cvt_f16_f32_e32 v10, v0
+; SI-NEXT: v_cvt_f32_f16_e32 v0, s60
+; SI-NEXT: v_cvt_f32_f16_e32 v2, s74
+; SI-NEXT: v_cvt_f32_f16_e32 v3, s58
; SI-NEXT: v_cvt_f16_f32_e32 v1, v1
; SI-NEXT: v_add_f32_e32 v0, 0x38000000, v0
; SI-NEXT: v_add_f32_e32 v2, 0x38000000, v2
; SI-NEXT: v_cvt_f16_f32_e32 v0, v0
-; SI-NEXT: v_cvt_f16_f32_e32 v35, v2
+; SI-NEXT: v_cvt_f16_f32_e32 v4, v2
; SI-NEXT: v_add_f32_e32 v2, 0x38000000, v3
; SI-NEXT: v_cvt_f16_f32_e32 v2, v2
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:140 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
-; SI-NEXT: v_or_b32_e32 v22, v0, v1
+; SI-NEXT: v_or_b32_e32 v20, v0, v1
; SI-NEXT: v_cvt_f32_f16_e32 v0, s73
-; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v35
-; SI-NEXT: v_or_b32_e32 v16, v2, v1
+; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v4
+; SI-NEXT: v_or_b32_e32 v55, v2, v1
; SI-NEXT: v_cvt_f32_f16_e32 v1, s56
+; SI-NEXT: v_cvt_f32_f16_e32 v2, s63
; SI-NEXT: v_add_f32_e32 v0, 0x38000000, v0
-; SI-NEXT: v_cvt_f32_f16_e32 v2, s72
-; SI-NEXT: v_cvt_f16_f32_e32 v3, v0
+; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_cvt_f16_f32_e32 v4, v0
; SI-NEXT: v_add_f32_e32 v0, 0x38000000, v1
; SI-NEXT: v_cvt_f16_f32_e32 v0, v0
; SI-NEXT: v_add_f32_e32 v1, 0x38000000, v2
-; SI-NEXT: v_cvt_f16_f32_e32 v4, v1
-; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v3
+; SI-NEXT: v_cvt_f16_f32_e32 v3, v1
+; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v4
; SI-NEXT: v_cvt_f32_f16_e32 v2, s47
-; SI-NEXT: v_or_b32_e32 v18, v0, v1
-; SI-NEXT: v_cvt_f32_f16_e32 v1, s62
-; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
+; SI-NEXT: v_or_b32_e32 v61, v0, v1
+; SI-NEXT: v_cvt_f32_f16_e32 v1, s61
+; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
+; SI-NEXT: v_lshlrev_b32_e32 v0, 16, v3
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_cvt_f32_f16_e32 v3, s46
; SI-NEXT: v_add_f32_e32 v2, 0x38000000, v2
; SI-NEXT: v_add_f32_e32 v1, 0x38000000, v1
-; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
-; SI-NEXT: v_lshlrev_b32_e32 v0, 16, v4
+; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
; SI-NEXT: v_cvt_f16_f32_e32 v2, v2
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_cvt_f16_f32_e32 v4, v1
; SI-NEXT: v_add_f32_e32 v1, 0x38000000, v3
; SI-NEXT: v_cvt_f16_f32_e32 v1, v1
-; SI-NEXT: v_or_b32_e32 v55, v2, v0
-; SI-NEXT: v_cvt_f32_f16_e32 v0, s60
+; SI-NEXT: v_or_b32_e32 v41, v2, v0
+; SI-NEXT: v_cvt_f32_f16_e32 v0, s59
; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v4
-; SI-NEXT: v_or_b32_e32 v39, v1, v2
+; SI-NEXT: v_or_b32_e32 v24, v1, v2
; SI-NEXT: v_cvt_f32_f16_e32 v1, s45
; SI-NEXT: v_add_f32_e32 v0, 0x38000000, v0
-; SI-NEXT: v_cvt_f32_f16_e32 v2, s58
+; SI-NEXT: v_cvt_f32_f16_e32 v2, s57
; SI-NEXT: v_cvt_f16_f32_e32 v3, v0
; SI-NEXT: v_add_f32_e32 v0, 0x38000000, v1
; SI-NEXT: v_cvt_f16_f32_e32 v0, v0
; SI-NEXT: v_add_f32_e32 v1, 0x38000000, v2
-; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_cvt_f16_f32_e32 v4, v1
+; SI-NEXT: v_cvt_f16_f32_e32 v17, v1
; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v3
; SI-NEXT: v_cvt_f32_f16_e32 v2, s44
-; SI-NEXT: v_or_b32_e32 v25, v0, v1
+; SI-NEXT: v_or_b32_e32 v45, v0, v1
; SI-NEXT: v_cvt_f32_f16_e32 v1, s43
-; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_cvt_f32_f16_e32 v3, s29
; SI-NEXT: v_add_f32_e32 v2, 0x38000000, v2
; SI-NEXT: v_add_f32_e32 v1, 0x38000000, v1
-; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
-; SI-NEXT: v_lshlrev_b32_e32 v0, 16, v4
; SI-NEXT: v_cvt_f16_f32_e32 v2, v2
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_cvt_f16_f32_e32 v4, v1
+; SI-NEXT: v_cvt_f16_f32_e32 v32, v1
; SI-NEXT: v_add_f32_e32 v1, 0x38000000, v3
; SI-NEXT: v_cvt_f16_f32_e32 v1, v1
-; SI-NEXT: v_or_b32_e32 v41, v2, v0
+; SI-NEXT: v_lshlrev_b32_e32 v0, 16, v17
+; SI-NEXT: v_or_b32_e32 v52, v2, v0
; SI-NEXT: v_cvt_f32_f16_e32 v0, s42
-; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v4
+; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v32
; SI-NEXT: v_or_b32_e32 v12, v1, v2
; SI-NEXT: v_cvt_f32_f16_e32 v1, s27
-; SI-NEXT: v_add_f32_e32 v0, 0x38000000, v0
; SI-NEXT: v_cvt_f32_f16_e32 v2, s41
-; SI-NEXT: v_cvt_f16_f32_e32 v3, v0
+; SI-NEXT: v_add_f32_e32 v0, 0x38000000, v0
+; SI-NEXT: v_cvt_f16_f32_e32 v58, v0
; SI-NEXT: v_add_f32_e32 v0, 0x38000000, v1
; SI-NEXT: v_cvt_f16_f32_e32 v0, v0
; SI-NEXT: v_add_f32_e32 v1, 0x38000000, v2
-; SI-NEXT: v_cvt_f16_f32_e32 v59, v1
-; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v3
+; SI-NEXT: v_cvt_f16_f32_e32 v3, v1
+; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v58
; SI-NEXT: v_cvt_f32_f16_e32 v2, s25
-; SI-NEXT: v_or_b32_e32 v34, v0, v1
+; SI-NEXT: v_or_b32_e32 v35, v0, v1
; SI-NEXT: v_cvt_f32_f16_e32 v1, s40
-; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v3, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
+; SI-NEXT: v_lshlrev_b32_e32 v0, 16, v3
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_cvt_f32_f16_e32 v3, s23
; SI-NEXT: v_add_f32_e32 v2, 0x38000000, v2
; SI-NEXT: v_add_f32_e32 v1, 0x38000000, v1
; SI-NEXT: v_cvt_f16_f32_e32 v2, v2
-; SI-NEXT: v_cvt_f16_f32_e32 v44, v1
+; SI-NEXT: v_cvt_f16_f32_e32 v16, v1
; SI-NEXT: v_add_f32_e32 v1, 0x38000000, v3
; SI-NEXT: v_cvt_f16_f32_e32 v1, v1
-; SI-NEXT: v_lshlrev_b32_e32 v0, 16, v59
; SI-NEXT: v_or_b32_e32 v9, v2, v0
; SI-NEXT: v_cvt_f32_f16_e32 v0, s15
-; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v44
-; SI-NEXT: v_or_b32_e32 v14, v1, v2
+; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v16
+; SI-NEXT: v_or_b32_e32 v7, v1, v2
; SI-NEXT: v_cvt_f32_f16_e32 v1, s21
; SI-NEXT: v_add_f32_e32 v0, 0x38000000, v0
; SI-NEXT: v_cvt_f32_f16_e32 v2, s14
-; SI-NEXT: v_cvt_f16_f32_e32 v47, v0
+; SI-NEXT: v_cvt_f16_f32_e32 v56, v0
; SI-NEXT: v_add_f32_e32 v0, 0x38000000, v1
; SI-NEXT: v_cvt_f16_f32_e32 v0, v0
; SI-NEXT: v_add_f32_e32 v1, 0x38000000, v2
-; SI-NEXT: v_cvt_f16_f32_e32 v57, v1
-; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v47
+; SI-NEXT: v_cvt_f16_f32_e32 v59, v1
+; SI-NEXT: v_lshlrev_b32_e32 v1, 16, v56
; SI-NEXT: v_cvt_f32_f16_e32 v2, s19
-; SI-NEXT: v_or_b32_e32 v52, v0, v1
+; SI-NEXT: v_or_b32_e32 v14, v0, v1
; SI-NEXT: v_cvt_f32_f16_e32 v1, s13
; SI-NEXT: v_cvt_f32_f16_e32 v3, s17
; SI-NEXT: v_add_f32_e32 v2, 0x38000000, v2
; SI-NEXT: v_cvt_f16_f32_e32 v2, v2
; SI-NEXT: v_add_f32_e32 v1, 0x38000000, v1
-; SI-NEXT: v_cvt_f16_f32_e32 v60, v1
+; SI-NEXT: v_cvt_f16_f32_e32 v62, v1
; SI-NEXT: v_add_f32_e32 v1, 0x38000000, v3
; SI-NEXT: v_cvt_f16_f32_e32 v1, v1
-; SI-NEXT: v_lshlrev_b32_e32 v0, 16, v57
-; SI-NEXT: v_or_b32_e32 v6, v2, v0
+; SI-NEXT: v_lshlrev_b32_e32 v0, 16, v59
+; SI-NEXT: v_or_b32_e32 v22, v2, v0
; SI-NEXT: v_cvt_f32_f16_e32 v0, s11
-; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v60
-; SI-NEXT: v_or_b32_e32 v27, v1, v2
+; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v62
+; SI-NEXT: v_or_b32_e32 v49, v1, v2
; SI-NEXT: v_cvt_f32_f16_e32 v1, s10
-; SI-NEXT: v_add_f32_e32 v2, 0x38000000, v29
+; SI-NEXT: v_add_f32_e32 v2, 0x38000000, v18
; SI-NEXT: v_cvt_f16_f32_e32 v3, v2
; SI-NEXT: v_add_f32_e32 v0, 0x38000000, v0
; SI-NEXT: v_cvt_f16_f32_e32 v0, v0
@@ -229469,254 +229502,240 @@ define inreg <64 x i16> @bitcast_v64f16_to_v64i16_scalar(<64 x half> inreg %a, i
; SI-NEXT: v_cvt_f16_f32_e32 v1, v1
; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v3
; SI-NEXT: v_or_b32_e32 v29, v0, v2
-; SI-NEXT: v_lshlrev_b32_e32 v0, 16, v7
+; SI-NEXT: v_lshlrev_b32_e32 v0, 16, v10
; SI-NEXT: v_or_b32_e32 v31, v1, v0
; SI-NEXT: v_cvt_f32_f16_e32 v0, s12
; SI-NEXT: v_cvt_f32_f16_e32 v50, s90
-; SI-NEXT: v_cvt_f16_f32_e32 v1, v49
-; SI-NEXT: v_lshlrev_b32_e32 v30, 16, v20
+; SI-NEXT: v_cvt_f16_f32_e32 v1, v5
+; SI-NEXT: v_lshlrev_b32_e32 v28, 16, v28
; SI-NEXT: v_add_f32_e32 v0, 0x38000000, v0
-; SI-NEXT: v_cvt_f16_f32_e32 v0, v0
; SI-NEXT: v_add_f32_e32 v2, 0x38000000, v50
+; SI-NEXT: v_cvt_f16_f32_e32 v0, v0
; SI-NEXT: v_cvt_f16_f32_e32 v2, v2
-; SI-NEXT: v_or_b32_e32 v20, v1, v38
-; SI-NEXT: v_or_b32_e32 v49, v0, v17
-; SI-NEXT: v_cvt_f32_f16_e32 v0, s9
+; SI-NEXT: v_or_b32_e32 v53, v1, v23
; SI-NEXT: v_cvt_f32_f16_e32 v1, s8
-; SI-NEXT: v_or_b32_e32 v50, v2, v54
+; SI-NEXT: v_or_b32_e32 v26, v0, v60
+; SI-NEXT: v_cvt_f32_f16_e32 v0, s9
+; SI-NEXT: v_or_b32_e32 v50, v2, v40
; SI-NEXT: v_cvt_f32_f16_e32 v2, s7
+; SI-NEXT: v_add_f32_e32 v1, 0x38000000, v1
; SI-NEXT: v_add_f32_e32 v0, 0x38000000, v0
; SI-NEXT: v_cvt_f16_f32_e32 v0, v0
-; SI-NEXT: v_add_f32_e32 v1, 0x38000000, v1
; SI-NEXT: v_cvt_f16_f32_e32 v1, v1
; SI-NEXT: v_add_f32_e32 v2, 0x38000000, v2
; SI-NEXT: v_cvt_f16_f32_e32 v2, v2
-; SI-NEXT: v_or_b32_e32 v0, v0, v15
-; SI-NEXT: v_lshlrev_b32_e32 v28, 16, v28
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
-; SI-NEXT: v_or_b32_e32 v37, v1, v21
+; SI-NEXT: v_or_b32_e32 v39, v0, v54
+; SI-NEXT: v_or_b32_e32 v37, v1, v19
+; SI-NEXT: v_lshr_b64 v[0:1], v[48:49], 16
+; SI-NEXT: v_or_b32_e32 v43, v2, v28
+; SI-NEXT: v_lshr_b64 v[1:2], v[21:22], 16
+; SI-NEXT: v_mov_b32_e32 v2, v52
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_lshr_b64 v[0:1], v[26:27], 16
-; SI-NEXT: v_or_b32_e32 v36, v2, v28
-; SI-NEXT: v_lshr_b64 v[1:2], v[5:6], 16
-; SI-NEXT: v_mov_b32_e32 v2, v9
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; SI-NEXT: v_mov_b32_e32 v2, v45
+; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mov_b32_e32 v2, v34
-; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; SI-NEXT: v_or_b32_e32 v4, v25, v44
+; SI-NEXT: buffer_store_dword v4, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_cvt_f32_f16_e32 v4, s6
-; SI-NEXT: v_or_b32_e32 v32, v48, v24
-; SI-NEXT: v_lshr_b64 v[8:9], v[8:9], 16
-; SI-NEXT: v_mov_b32_e32 v45, v27
+; SI-NEXT: v_lshlrev_b32_e32 v30, 16, v30
+; SI-NEXT: v_lshr_b64 v[44:45], v[44:45], 16
+; SI-NEXT: buffer_store_dword v10, off, s[0:3], s32 offset:144 ; 4-byte Folded Spill
; SI-NEXT: v_add_f32_e32 v4, 0x38000000, v4
; SI-NEXT: v_cvt_f16_f32_e32 v4, v4
-; SI-NEXT: v_mov_b32_e32 v27, v6
-; SI-NEXT: v_lshr_b64 v[9:10], v[33:34], 16
-; SI-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mov_b32_e32 v2, v12
-; SI-NEXT: v_or_b32_e32 v43, v4, v30
-; SI-NEXT: v_lshr_b64 v[4:5], v[51:52], 16
-; SI-NEXT: v_lshr_b64 v[5:6], v[13:14], 16
+; SI-NEXT: v_mov_b32_e32 v25, v49
+; SI-NEXT: v_mov_b32_e32 v18, v22
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
+; SI-NEXT: v_or_b32_e32 v33, v4, v30
+; SI-NEXT: v_mov_b32_e32 v22, v14
+; SI-NEXT: v_lshr_b64 v[4:5], v[13:14], 16
+; SI-NEXT: v_mov_b32_e32 v49, v9
+; SI-NEXT: v_lshr_b64 v[8:9], v[8:9], 16
+; SI-NEXT: v_mov_b32_e32 v14, v34
+; SI-NEXT: v_mov_b32_e32 v15, v35
+; SI-NEXT: v_mov_b32_e32 v42, v12
; SI-NEXT: v_lshr_b64 v[12:13], v[11:12], 16
-; SI-NEXT: v_mov_b32_e32 v11, v59
-; SI-NEXT: v_mov_b32_e32 v59, v20
-; SI-NEXT: v_mov_b32_e32 v20, v50
-; SI-NEXT: v_mov_b32_e32 v23, v52
-; SI-NEXT: v_mov_b32_e32 v51, v53
-; SI-NEXT: v_mov_b32_e32 v26, v39
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mov_b32_e32 v2, v41
-; SI-NEXT: v_lshr_b64 v[52:53], v[38:39], 16
-; SI-NEXT: v_lshr_b64 v[38:39], v[17:18], 16
-; SI-NEXT: v_mov_b32_e32 v46, v14
-; SI-NEXT: v_lshr_b64 v[13:14], v[40:41], 16
-; SI-NEXT: v_lshr_b64 v[53:54], v[54:55], 16
-; SI-NEXT: v_lshr_b64 v[39:40], v[15:16], 16
-; SI-NEXT: v_mov_b32_e32 v40, v37
-; SI-NEXT: v_mov_b32_e32 v37, v35
-; SI-NEXT: v_mov_b32_e32 v54, v36
-; SI-NEXT: v_lshr_b64 v[35:36], v[30:31], 16
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mov_b32_e32 v2, v25
-; SI-NEXT: v_lshr_b64 v[24:25], v[24:25], 16
-; SI-NEXT: v_mov_b32_e32 v25, v44
-; SI-NEXT: v_mov_b32_e32 v44, v49
-; SI-NEXT: v_lshr_b64 v[48:49], v[21:22], 16
-; SI-NEXT: v_lshr_b64 v[49:50], v[28:29], 16
-; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
-; SI-NEXT: v_mov_b32_e32 v33, v42
-; SI-NEXT: v_mov_b32_e32 v42, v18
-; SI-NEXT: v_mov_b32_e32 v41, v16
+; SI-NEXT: v_mov_b32_e32 v11, v27
+; SI-NEXT: v_lshr_b64 v[45:46], v[23:24], 16
+; SI-NEXT: v_mov_b32_e32 v48, v41
+; SI-NEXT: v_lshr_b64 v[40:41], v[40:41], 16
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_mov_b32_e32 v2, v61
+; SI-NEXT: v_mov_b32_e32 v23, v26
+; SI-NEXT: v_lshr_b64 v[26:27], v[54:55], 16
+; SI-NEXT: v_lshr_b64 v[9:10], v[14:15], 16
+; SI-NEXT: v_lshr_b64 v[13:14], v[51:52], 16
+; SI-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
+; SI-NEXT: v_mov_b32_e32 v35, v38
+; SI-NEXT: buffer_load_dword v52, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v51, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
+; SI-NEXT: v_mov_b32_e32 v41, v55
+; SI-NEXT: v_mov_b32_e32 v27, v39
+; SI-NEXT: v_mov_b32_e32 v55, v20
+; SI-NEXT: v_lshr_b64 v[38:39], v[19:20], 16
+; SI-NEXT: v_mov_b32_e32 v54, v37
+; SI-NEXT: v_lshr_b64 v[19:20], v[28:29], 16
+; SI-NEXT: buffer_load_dword v28, off, s[0:3], s32 offset:140 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v37, off, s[0:3], s32 offset:144 ; 4-byte Folded Reload
+; SI-NEXT: v_lshr_b64 v[5:6], v[6:7], 16
+; SI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; SI-NEXT: v_lshr_b64 v[60:61], v[60:61], 16
+; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: v_lshr_b64 v[19:20], v[30:31], 16
+; SI-NEXT: v_mov_b32_e32 v21, v24
; SI-NEXT: v_mov_b32_e32 v6, v5
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mov_b32_e32 v2, v55
; SI-NEXT: v_mov_b32_e32 v10, v9
; SI-NEXT: v_mov_b32_e32 v14, v13
-; SI-NEXT: v_mov_b32_e32 v55, v22
; SI-NEXT: v_mov_b32_e32 v30, v3
-; SI-NEXT: v_mov_b32_e32 v36, v7
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: buffer_store_dword v19, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v20, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
; SI-NEXT: v_mov_b32_e32 v2, v1
; SI-NEXT: s_branch .LBB109_6
; SI-NEXT: .LBB109_5:
-; SI-NEXT: v_mov_b32_e32 v0, s73
+; SI-NEXT: v_mov_b32_e32 v0, s74
; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:60 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mov_b32_e32 v0, s72
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mov_b32_e32 v0, s62
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:136 ; 4-byte Folded Spill
+; SI-NEXT: v_mov_b32_e32 v0, s73
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mov_b32_e32 v0, s60
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; SI-NEXT: v_mov_b32_e32 v0, s63
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mov_b32_e32 v0, s58
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
+; SI-NEXT: v_mov_b32_e32 v0, s61
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mov_b32_e32 v0, s43
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:132 ; 4-byte Folded Spill
+; SI-NEXT: v_mov_b32_e32 v0, s59
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mov_b32_e32 v0, s42
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:128 ; 4-byte Folded Spill
+; SI-NEXT: v_mov_b32_e32 v0, s41
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mov_b32_e32 v0, s9
-; SI-NEXT: v_mov_b32_e32 v1, s25
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
+; SI-NEXT: v_mov_b32_e32 v0, vcc_lo
+; SI-NEXT: v_mov_b32_e32 v1, s44
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:88 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:92 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mov_b32_e32 v1, s27
-; SI-NEXT: v_mov_b32_e32 v36, s88
+; SI-NEXT: v_mov_b32_e32 v1, s45
+; SI-NEXT: v_mov_b32_e32 v2, s36
+; SI-NEXT: v_mov_b32_e32 v37, s88
; SI-NEXT: v_mov_b32_e32 v30, s76
; SI-NEXT: v_mov_b32_e32 v28, s78
-; SI-NEXT: v_mov_b32_e32 v37, s75
-; SI-NEXT: v_mov_b32_e32 v11, s41
-; SI-NEXT: v_mov_b32_e32 v25, s40
-; SI-NEXT: v_mov_b32_e32 v47, s15
-; SI-NEXT: v_mov_b32_e32 v57, s14
-; SI-NEXT: v_mov_b32_e32 v60, s13
-; SI-NEXT: v_mov_b32_e32 v43, s6
-; SI-NEXT: v_mov_b32_e32 v54, s7
-; SI-NEXT: v_mov_b32_e32 v40, s8
-; SI-NEXT: v_mov_b32_e32 v44, s12
-; SI-NEXT: v_mov_b32_e32 v20, s90
-; SI-NEXT: v_mov_b32_e32 v59, s92
-; SI-NEXT: v_mov_b32_e32 v32, vcc_lo
-; SI-NEXT: v_mov_b32_e32 v19, s31
-; SI-NEXT: v_mov_b32_e32 v56, s28
-; SI-NEXT: v_mov_b32_e32 v58, s26
-; SI-NEXT: v_mov_b32_e32 v61, s24
-; SI-NEXT: v_mov_b32_e32 v62, s22
+; SI-NEXT: v_mov_b32_e32 v17, s57
+; SI-NEXT: v_mov_b32_e32 v32, s43
+; SI-NEXT: v_mov_b32_e32 v58, s42
+; SI-NEXT: v_mov_b32_e32 v16, s40
+; SI-NEXT: v_mov_b32_e32 v56, s15
+; SI-NEXT: v_mov_b32_e32 v59, s14
+; SI-NEXT: v_mov_b32_e32 v62, s13
+; SI-NEXT: v_mov_b32_e32 v33, s6
+; SI-NEXT: v_mov_b32_e32 v43, s7
+; SI-NEXT: v_mov_b32_e32 v54, s8
+; SI-NEXT: v_mov_b32_e32 v27, s9
+; SI-NEXT: v_mov_b32_e32 v23, s12
+; SI-NEXT: v_mov_b32_e32 v50, s90
+; SI-NEXT: v_mov_b32_e32 v53, s92
+; SI-NEXT: v_mov_b32_e32 v47, s31
+; SI-NEXT: v_mov_b32_e32 v57, s28
+; SI-NEXT: v_mov_b32_e32 v11, s26
+; SI-NEXT: v_mov_b32_e32 v36, s24
+; SI-NEXT: v_mov_b32_e32 v35, s22
; SI-NEXT: v_mov_b32_e32 v34, s20
-; SI-NEXT: v_mov_b32_e32 v33, s18
+; SI-NEXT: v_mov_b32_e32 v52, s18
; SI-NEXT: v_mov_b32_e32 v51, s16
-; SI-NEXT: v_mov_b32_e32 v45, s17
-; SI-NEXT: v_mov_b32_e32 v27, s19
-; SI-NEXT: v_mov_b32_e32 v23, s21
-; SI-NEXT: v_mov_b32_e32 v46, s23
-; SI-NEXT: v_mov_b32_e32 v26, s46
-; SI-NEXT: v_mov_b32_e32 v42, s56
-; SI-NEXT: v_mov_b32_e32 v41, s57
-; SI-NEXT: v_mov_b32_e32 v55, s59
+; SI-NEXT: v_mov_b32_e32 v25, s17
+; SI-NEXT: v_mov_b32_e32 v18, s19
+; SI-NEXT: v_mov_b32_e32 v22, s21
+; SI-NEXT: v_mov_b32_e32 v7, s23
+; SI-NEXT: v_mov_b32_e32 v49, s25
+; SI-NEXT: v_mov_b32_e32 v15, s27
+; SI-NEXT: v_mov_b32_e32 v42, s29
+; SI-NEXT: v_mov_b32_e32 v21, s46
+; SI-NEXT: v_mov_b32_e32 v48, s47
+; SI-NEXT: v_mov_b32_e32 v41, s58
+; SI-NEXT: v_mov_b32_e32 v55, s60
; SI-NEXT: v_mov_b32_e32 v29, s11
; SI-NEXT: v_mov_b32_e32 v31, s10
-; SI-NEXT: v_mov_b32_e32 v2, s36
; SI-NEXT: v_mov_b32_e32 v4, s35
; SI-NEXT: v_mov_b32_e32 v6, s34
; SI-NEXT: v_mov_b32_e32 v8, s30
; SI-NEXT: v_mov_b32_e32 v10, vcc_hi
; SI-NEXT: v_mov_b32_e32 v12, s93
; SI-NEXT: v_mov_b32_e32 v14, s95
-; SI-NEXT: v_mov_b32_e32 v24, s94
-; SI-NEXT: v_mov_b32_e32 v52, s91
-; SI-NEXT: v_mov_b32_e32 v53, s89
-; SI-NEXT: v_mov_b32_e32 v38, s79
-; SI-NEXT: v_mov_b32_e32 v39, s77
-; SI-NEXT: v_mov_b32_e32 v48, s74
-; SI-NEXT: v_mov_b32_e32 v49, s63
-; SI-NEXT: v_mov_b32_e32 v35, s61
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:96 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mov_b32_e32 v1, s29
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:80 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:84 ; 4-byte Folded Spill
-; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mov_b32_e32 v1, s44
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
+; SI-NEXT: v_mov_b32_e32 v44, s94
+; SI-NEXT: v_mov_b32_e32 v45, s91
+; SI-NEXT: v_mov_b32_e32 v40, s89
+; SI-NEXT: v_mov_b32_e32 v60, s79
+; SI-NEXT: v_mov_b32_e32 v26, s77
+; SI-NEXT: v_mov_b32_e32 v38, s75
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:72 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:76 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mov_b32_e32 v1, s45
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:64 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:68 ; 4-byte Folded Spill
+; SI-NEXT: v_mov_b32_e32 v1, s56
+; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:100 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(0)
-; SI-NEXT: v_mov_b32_e32 v1, s47
-; SI-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:104 ; 4-byte Folded Spill
-; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:108 ; 4-byte Folded Spill
+; SI-NEXT: v_mov_b32_e32 v1, s72
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:120 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:124 ; 4-byte Folded Spill
; SI-NEXT: s_waitcnt expcnt(1)
+; SI-NEXT: v_mov_b32_e32 v1, s62
; SI-NEXT: v_mov_b32_e32 v0, s37
+; SI-NEXT: buffer_store_dword v1, off, s[0:3], s32 offset:112 ; 4-byte Folded Spill
+; SI-NEXT: buffer_store_dword v2, off, s[0:3], s32 offset:116 ; 4-byte Folded Spill
; SI-NEXT: .LBB109_6: ; %end
-; SI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
; SI-NEXT: v_lshlrev_b32_e32 v0, 16, v0
-; SI-NEXT: s_waitcnt expcnt(0)
+; SI-NEXT: s_waitcnt vmcnt(9) expcnt(1)
; SI-NEXT: v_and_b32_e32 v1, 0xffff, v51
; SI-NEXT: v_or_b32_e32 v0, v1, v0
-; SI-NEXT: v_and_b32_e32 v1, 0xffff, v45
-; SI-NEXT: v_lshlrev_b32_e32 v3, 16, v60
+; SI-NEXT: v_and_b32_e32 v1, 0xffff, v25
+; SI-NEXT: v_lshlrev_b32_e32 v3, 16, v62
; SI-NEXT: v_or_b32_e32 v1, v1, v3
+; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
-; SI-NEXT: v_and_b32_e32 v3, 0xffff, v33
+; SI-NEXT: v_and_b32_e32 v3, 0xffff, v52
; SI-NEXT: v_or_b32_e32 v2, v3, v2
-; SI-NEXT: v_and_b32_e32 v3, 0xffff, v27
-; SI-NEXT: v_lshlrev_b32_e32 v5, 16, v57
+; SI-NEXT: v_and_b32_e32 v3, 0xffff, v18
+; SI-NEXT: v_lshlrev_b32_e32 v5, 16, v59
; SI-NEXT: v_or_b32_e32 v3, v3, v5
; SI-NEXT: v_lshlrev_b32_e32 v4, 16, v4
-; SI-NEXT: s_waitcnt vmcnt(13)
; SI-NEXT: v_and_b32_e32 v5, 0xffff, v34
; SI-NEXT: v_or_b32_e32 v4, v5, v4
-; SI-NEXT: v_and_b32_e32 v5, 0xffff, v23
-; SI-NEXT: v_lshlrev_b32_e32 v9, 16, v47
+; SI-NEXT: v_and_b32_e32 v5, 0xffff, v22
+; SI-NEXT: v_lshlrev_b32_e32 v9, 16, v56
; SI-NEXT: v_or_b32_e32 v5, v5, v9
; SI-NEXT: v_lshlrev_b32_e32 v6, 16, v6
-; SI-NEXT: v_and_b32_e32 v9, 0xffff, v62
+; SI-NEXT: v_and_b32_e32 v9, 0xffff, v35
; SI-NEXT: v_or_b32_e32 v6, v9, v6
-; SI-NEXT: v_and_b32_e32 v7, 0xffff, v46
-; SI-NEXT: v_lshlrev_b32_e32 v9, 16, v25
+; SI-NEXT: v_and_b32_e32 v7, 0xffff, v7
+; SI-NEXT: v_lshlrev_b32_e32 v9, 16, v16
; SI-NEXT: v_or_b32_e32 v7, v7, v9
; SI-NEXT: v_lshlrev_b32_e32 v8, 16, v8
-; SI-NEXT: v_and_b32_e32 v9, 0xffff, v61
+; SI-NEXT: v_and_b32_e32 v9, 0xffff, v36
; SI-NEXT: v_or_b32_e32 v8, v9, v8
-; SI-NEXT: v_lshlrev_b32_e32 v13, 16, v11
+; SI-NEXT: v_and_b32_e32 v9, 0xffff, v49
; SI-NEXT: v_lshlrev_b32_e32 v10, 16, v10
-; SI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
; SI-NEXT: v_lshlrev_b32_e32 v12, 16, v12
-; SI-NEXT: v_and_b32_e32 v23, 0xffff, v42
+; SI-NEXT: v_lshlrev_b32_e32 v32, 16, v32
+; SI-NEXT: v_lshlrev_b32_e32 v14, 16, v14
+; SI-NEXT: v_lshlrev_b32_e32 v19, 16, v45
+; SI-NEXT: v_lshlrev_b32_e32 v26, 16, v26
+; SI-NEXT: buffer_load_dword v34, off, s[0:3], s32 offset:120 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v35, off, s[0:3], s32 offset:124 ; 4-byte Folded Reload
; SI-NEXT: v_and_b32_e32 v25, 0xffff, v41
+; SI-NEXT: s_waitcnt vmcnt(8)
+; SI-NEXT: v_lshlrev_b32_e32 v28, 16, v28
; SI-NEXT: v_and_b32_e32 v29, 0xffff, v29
; SI-NEXT: v_lshlrev_b32_e32 v30, 16, v30
; SI-NEXT: v_or_b32_e32 v29, v29, v30
-; SI-NEXT: v_and_b32_e32 v30, 0xffff, v43
-; SI-NEXT: v_and_b32_e32 v32, 0xffff, v32
-; SI-NEXT: v_lshlrev_b32_e32 v27, 16, v48
-; SI-NEXT: s_waitcnt vmcnt(8)
-; SI-NEXT: v_lshlrev_b32_e32 v28, 16, v28
-; SI-NEXT: v_lshlrev_b32_e32 v14, 16, v14
+; SI-NEXT: v_and_b32_e32 v30, 0xffff, v33
; SI-NEXT: v_and_b32_e32 v31, 0xffff, v31
; SI-NEXT: v_readlane_b32 s30, v63, 4
; SI-NEXT: v_readlane_b32 s31, v63, 5
@@ -229724,78 +229743,77 @@ define inreg <64 x i16> @bitcast_v64f16_to_v64i16_scalar(<64 x half> inreg %a, i
; SI-NEXT: v_readlane_b32 s36, v63, 2
; SI-NEXT: v_readlane_b32 s35, v63, 1
; SI-NEXT: v_readlane_b32 s34, v63, 0
-; SI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:132 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:136 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v20, off, s[0:3], s32 offset:84 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(4)
-; SI-NEXT: v_and_b32_e32 v9, 0xffff, v16
+; SI-NEXT: v_lshlrev_b32_e32 v13, 16, v13
; SI-NEXT: v_or_b32_e32 v9, v9, v13
-; SI-NEXT: v_and_b32_e32 v13, 0xffff, v58
-; SI-NEXT: v_or_b32_e32 v10, v13, v10
-; SI-NEXT: buffer_load_dword v13, off, s[0:3], s32 offset:128 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:96 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(4)
-; SI-NEXT: v_lshlrev_b32_e32 v33, 16, v15
-; SI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(5)
-; SI-NEXT: v_lshlrev_b32_e32 v21, 16, v21
-; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_and_b32_e32 v11, 0xffff, v17
-; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:64 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(2)
-; SI-NEXT: v_and_b32_e32 v15, 0xffff, v16
+; SI-NEXT: v_and_b32_e32 v13, 0xffff, v11
+; SI-NEXT: v_and_b32_e32 v11, 0xffff, v15
+; SI-NEXT: buffer_load_dword v15, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v16, off, s[0:3], s32 offset:92 ; 4-byte Folded Reload
-; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_and_b32_e32 v17, 0xffff, v18
-; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:88 ; 4-byte Folded Reload
-; SI-NEXT: v_lshlrev_b32_e32 v13, 16, v13
+; SI-NEXT: v_or_b32_e32 v10, v13, v10
+; SI-NEXT: v_lshlrev_b32_e32 v13, 16, v58
; SI-NEXT: v_or_b32_e32 v11, v11, v13
-; SI-NEXT: v_and_b32_e32 v13, 0xffff, v56
+; SI-NEXT: v_and_b32_e32 v13, 0xffff, v57
; SI-NEXT: v_or_b32_e32 v12, v13, v12
-; SI-NEXT: v_and_b32_e32 v13, 0xffff, v34
-; SI-NEXT: v_or_b32_e32 v13, v13, v33
-; SI-NEXT: v_and_b32_e32 v33, 0xffff, v19
-; SI-NEXT: v_and_b32_e32 v19, 0xffff, v26
-; SI-NEXT: v_lshlrev_b32_e32 v26, 16, v38
-; SI-NEXT: v_or_b32_e32 v14, v33, v14
-; SI-NEXT: v_or_b32_e32 v19, v19, v21
-; SI-NEXT: v_and_b32_e32 v21, 0xffff, v20
-; SI-NEXT: v_lshlrev_b32_e32 v20, 16, v53
-; SI-NEXT: v_or_b32_e32 v20, v21, v20
-; SI-NEXT: buffer_load_dword v21, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
-; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
+; SI-NEXT: v_and_b32_e32 v13, 0xffff, v42
+; SI-NEXT: v_or_b32_e32 v13, v13, v32
+; SI-NEXT: v_and_b32_e32 v32, 0xffff, v47
+; SI-NEXT: v_or_b32_e32 v14, v32, v14
+; SI-NEXT: s_waitcnt vmcnt(2)
+; SI-NEXT: v_lshlrev_b32_e32 v22, 16, v22
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v21, 0xffff, v22
-; SI-NEXT: buffer_load_dword v22, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
-; SI-NEXT: v_lshlrev_b32_e32 v16, 16, v16
+; SI-NEXT: v_and_b32_e32 v15, 0xffff, v16
+; SI-NEXT: v_lshlrev_b32_e32 v16, 16, v17
+; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:108 ; 4-byte Folded Reload
; SI-NEXT: v_or_b32_e32 v15, v15, v16
-; SI-NEXT: v_lshlrev_b32_e32 v16, 16, v24
-; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload
+; SI-NEXT: v_lshlrev_b32_e32 v16, 16, v44
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_and_b32_e32 v32, 0xffff, v17
+; SI-NEXT: buffer_load_dword v17, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:76 ; 4-byte Folded Reload
; SI-NEXT: v_or_b32_e32 v16, v32, v16
-; SI-NEXT: v_lshlrev_b32_e32 v32, 16, v52
-; SI-NEXT: s_waitcnt vmcnt(1)
-; SI-NEXT: v_lshlrev_b32_e32 v22, 16, v22
-; SI-NEXT: v_or_b32_e32 v21, v21, v22
-; SI-NEXT: v_and_b32_e32 v22, 0xffff, v44
-; SI-NEXT: v_or_b32_e32 v22, v22, v26
+; SI-NEXT: v_lshlrev_b32_e32 v32, 16, v60
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_and_b32_e32 v17, 0xffff, v18
+; SI-NEXT: buffer_load_dword v18, off, s[0:3], s32 offset:68 ; 4-byte Folded Reload
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_lshlrev_b32_e32 v24, 16, v24
-; SI-NEXT: v_or_b32_e32 v23, v23, v24
-; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:72 ; 4-byte Folded Reload
-; SI-NEXT: v_lshlrev_b32_e32 v26, 16, v39
; SI-NEXT: v_lshlrev_b32_e32 v18, 16, v18
; SI-NEXT: v_or_b32_e32 v17, v17, v18
-; SI-NEXT: v_and_b32_e32 v18, 0xffff, v59
-; SI-NEXT: v_or_b32_e32 v18, v18, v32
-; SI-NEXT: v_lshlrev_b32_e32 v32, 16, v49
+; SI-NEXT: v_and_b32_e32 v18, 0xffff, v53
+; SI-NEXT: v_or_b32_e32 v18, v18, v19
+; SI-NEXT: v_and_b32_e32 v19, 0xffff, v21
+; SI-NEXT: v_lshlrev_b32_e32 v21, 16, v20
+; SI-NEXT: v_or_b32_e32 v19, v19, v21
+; SI-NEXT: v_and_b32_e32 v21, 0xffff, v50
+; SI-NEXT: v_lshlrev_b32_e32 v20, 16, v40
+; SI-NEXT: v_or_b32_e32 v20, v21, v20
+; SI-NEXT: v_and_b32_e32 v21, 0xffff, v48
+; SI-NEXT: v_or_b32_e32 v21, v21, v22
+; SI-NEXT: v_and_b32_e32 v22, 0xffff, v23
+; SI-NEXT: buffer_load_dword v23, off, s[0:3], s32 offset:100 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:104 ; 4-byte Folded Reload
+; SI-NEXT: v_or_b32_e32 v22, v22, v32
+; SI-NEXT: v_lshlrev_b32_e32 v32, 16, v34
; SI-NEXT: s_waitcnt vmcnt(0)
-; SI-NEXT: v_and_b32_e32 v24, 0xffff, v24
+; SI-NEXT: v_and_b32_e32 v23, 0xffff, v24
+; SI-NEXT: buffer_load_dword v24, off, s[0:3], s32 offset:80 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_lshlrev_b32_e32 v24, 16, v24
+; SI-NEXT: v_or_b32_e32 v23, v23, v24
+; SI-NEXT: v_and_b32_e32 v24, 0xffff, v27
; SI-NEXT: v_or_b32_e32 v24, v24, v26
-; SI-NEXT: v_lshlrev_b32_e32 v26, 16, v37
+; SI-NEXT: buffer_load_dword v26, off, s[0:3], s32 offset:60 ; 4-byte Folded Reload
+; SI-NEXT: v_lshlrev_b32_e32 v27, 16, v38
+; SI-NEXT: s_waitcnt vmcnt(0)
+; SI-NEXT: v_lshlrev_b32_e32 v26, 16, v26
; SI-NEXT: v_or_b32_e32 v25, v25, v26
-; SI-NEXT: v_and_b32_e32 v26, 0xffff, v40
+; SI-NEXT: v_and_b32_e32 v26, 0xffff, v54
+; SI-NEXT: v_or_b32_e32 v26, v26, v27
+; SI-NEXT: v_and_b32_e32 v27, 0xffff, v55
+; SI-NEXT: v_or_b32_e32 v27, v27, v28
+; SI-NEXT: v_and_b32_e32 v28, 0xffff, v43
; SI-NEXT: buffer_load_dword v62, off, s[0:3], s32 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v61, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v60, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload
@@ -229811,14 +229829,13 @@ define inreg <64 x i16> @bitcast_v64f16_to_v64i16_scalar(<64 x half> inreg %a, i
; SI-NEXT: buffer_load_dword v42, off, s[0:3], s32 offset:48 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v41, off, s[0:3], s32 offset:52 ; 4-byte Folded Reload
; SI-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:56 ; 4-byte Folded Reload
-; SI-NEXT: v_or_b32_e32 v26, v26, v27
-; SI-NEXT: v_and_b32_e32 v27, 0xffff, v55
-; SI-NEXT: v_or_b32_e32 v27, v27, v28
-; SI-NEXT: v_and_b32_e32 v28, 0xffff, v54
; SI-NEXT: v_or_b32_e32 v28, v28, v32
-; SI-NEXT: v_lshlrev_b32_e32 v32, 16, v35
+; SI-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:112 ; 4-byte Folded Reload
+; SI-NEXT: buffer_load_dword v33, off, s[0:3], s32 offset:116 ; 4-byte Folded Reload
+; SI-NEXT: s_waitcnt vmcnt(1)
+; SI-NEXT: v_lshlrev_b32_e32 v32, 16, v32
; SI-NEXT: v_or_b32_e32 v30, v30, v32
-; SI-NEXT: v_lshlrev_b32_e32 v32, 16, v36
+; SI-NEXT: v_lshlrev_b32_e32 v32, 16, v37
; SI-NEXT: v_or_b32_e32 v31, v31, v32
; SI-NEXT: s_or_saveexec_b64 s[4:5], -1
; SI-NEXT: buffer_load_dword v63, off, s[0:3], s32 offset:148 ; 4-byte Folded Reload
@@ -231584,23 +231601,23 @@ define inreg <64 x half> @bitcast_v64i16_to_v64f16_scalar(<64 x i16> inreg %a, i
; SI-NEXT: v_writelane_b32 v32, s30, 34
; SI-NEXT: v_writelane_b32 v32, s31, 35
; SI-NEXT: v_readfirstlane_b32 s68, v0
-; SI-NEXT: v_readfirstlane_b32 s69, v2
+; SI-NEXT: v_readfirstlane_b32 s70, v2
; SI-NEXT: s_lshr_b32 s14, s68, 16
; SI-NEXT: ; implicit-def: $vgpr33 : SGPR spill to VGPR lane
-; SI-NEXT: v_readfirstlane_b32 s71, v4
-; SI-NEXT: s_lshr_b32 s12, s69, 16
+; SI-NEXT: v_readfirstlane_b32 s80, v4
+; SI-NEXT: s_lshr_b32 s12, s70, 16
; SI-NEXT: s_waitcnt expcnt(0)
; SI-NEXT: v_writelane_b32 v33, s14, 0
-; SI-NEXT: v_readfirstlane_b32 s80, v6
-; SI-NEXT: s_lshr_b32 s10, s71, 16
+; SI-NEXT: v_readfirstlane_b32 s82, v6
+; SI-NEXT: s_lshr_b32 s10, s80, 16
; SI-NEXT: v_writelane_b32 v33, s12, 1
-; SI-NEXT: v_readfirstlane_b32 s82, v8
-; SI-NEXT: s_lshr_b32 s8, s80, 16
+; SI-NEXT: v_readfirstlane_b32 s84, v8
+; SI-NEXT: s_lshr_b32 s8, s82, 16
; SI-NEXT: v_writelane_b32 v33, s10, 2
-; SI-NEXT: v_readfirstlane_b32 s84, v10
-; SI-NEXT: s_lshr_b32 s6, s82, 16
+; SI-NEXT: v_readfirstlane_b32 s86, v10
+; SI-NEXT: s_lshr_b32 s6, s84, 16
; SI-NEXT: v_writelane_b32 v33, s8, 3
-; SI-NEXT: s_lshr_b32 s4, s84, 16
+; SI-NEXT: s_lshr_b32 s4, s86, 16
; SI-NEXT: v_writelane_b32 v33, s6, 4
; SI-NEXT: v_readfirstlane_b32 s15, v1
; SI-NEXT: v_writelane_b32 v33, s4, 5
@@ -231615,36 +231632,37 @@ define inreg <64 x half> @bitcast_v64i16_to_v64f16_scalar(<64 x i16> inreg %a, i
; SI-NEXT: v_readfirstlane_b32 s5, v11
; SI-NEXT: v_writelane_b32 v33, s7, 10
; SI-NEXT: v_readfirstlane_b32 s75, v13
-; SI-NEXT: v_readfirstlane_b32 s86, v12
+; SI-NEXT: v_readfirstlane_b32 s96, v12
; SI-NEXT: v_writelane_b32 v33, s5, 11
-; SI-NEXT: s_lshr_b32 s74, s86, 16
+; SI-NEXT: s_lshr_b32 s74, s96, 16
; SI-NEXT: v_writelane_b32 v33, s75, 12
; SI-NEXT: v_readfirstlane_b32 s72, v15
-; SI-NEXT: v_readfirstlane_b32 s96, v14
; SI-NEXT: v_writelane_b32 v33, s74, 13
-; SI-NEXT: s_lshr_b32 s73, s96, 16
; SI-NEXT: v_writelane_b32 v33, s72, 14
-; SI-NEXT: v_readfirstlane_b32 s62, v17
-; SI-NEXT: v_readfirstlane_b32 s98, v16
-; SI-NEXT: v_writelane_b32 v33, s73, 15
; SI-NEXT: s_mov_b32 s76, s16
+; SI-NEXT: v_writelane_b32 v33, s17, 15
+; SI-NEXT: v_readfirstlane_b32 s62, v17
+; SI-NEXT: v_readfirstlane_b32 s99, v16
+; SI-NEXT: v_readfirstlane_b32 s97, v14
+; SI-NEXT: v_writelane_b32 v33, s76, 16
; SI-NEXT: s_lshr_b32 vcc_hi, s29, 16
-; SI-NEXT: s_lshr_b32 s99, s28, 16
+; SI-NEXT: s_lshr_b32 s98, s28, 16
; SI-NEXT: s_lshr_b32 s95, s27, 16
-; SI-NEXT: s_lshr_b32 s97, s26, 16
+; SI-NEXT: s_lshr_b32 s87, s26, 16
; SI-NEXT: s_lshr_b32 s93, s25, 16
-; SI-NEXT: s_lshr_b32 s87, s24, 16
+; SI-NEXT: s_lshr_b32 s85, s24, 16
; SI-NEXT: s_lshr_b32 s91, s23, 16
-; SI-NEXT: s_lshr_b32 s85, s22, 16
+; SI-NEXT: s_lshr_b32 s83, s22, 16
; SI-NEXT: s_lshr_b32 s89, s21, 16
-; SI-NEXT: s_lshr_b32 s83, s20, 16
+; SI-NEXT: s_lshr_b32 s81, s20, 16
; SI-NEXT: s_lshr_b32 s79, s19, 16
-; SI-NEXT: s_lshr_b32 s81, s18, 16
+; SI-NEXT: s_lshr_b32 s71, s18, 16
; SI-NEXT: s_lshr_b32 s77, s17, 16
-; SI-NEXT: s_lshr_b32 s70, s16, 16
+; SI-NEXT: s_lshr_b32 s69, s16, 16
; SI-NEXT: s_lshr_b32 s65, s62, 16
-; SI-NEXT: s_lshr_b32 s63, s98, 16
+; SI-NEXT: s_lshr_b32 s63, s99, 16
; SI-NEXT: s_lshr_b32 s55, s72, 16
+; SI-NEXT: s_lshr_b32 s73, s97, 16
; SI-NEXT: s_lshr_b32 s53, s75, 16
; SI-NEXT: s_lshr_b32 s51, s5, 16
; SI-NEXT: s_lshr_b32 s49, s7, 16
@@ -231653,10 +231671,10 @@ define inreg <64 x half> @bitcast_v64i16_to_v64f16_scalar(<64 x i16> inreg %a, i
; SI-NEXT: s_lshr_b32 s35, s13, 16
; SI-NEXT: s_lshr_b32 s31, s15, 16
; SI-NEXT: v_readfirstlane_b32 s16, v18
-; SI-NEXT: v_writelane_b32 v33, s62, 16
+; SI-NEXT: v_writelane_b32 v33, s19, 17
; SI-NEXT: s_cmp_lg_u32 s16, 0
-; SI-NEXT: v_writelane_b32 v33, s17, 17
-; SI-NEXT: v_writelane_b32 v33, s76, 18
+; SI-NEXT: v_writelane_b32 v33, s18, 18
+; SI-NEXT: v_writelane_b32 v33, s21, 19
; SI-NEXT: s_cbranch_scc0 .LBB111_2
; SI-NEXT: ; %bb.1: ; %cmp.false
; SI-NEXT: s_and_b32 s16, s17, 0xffff
@@ -231706,42 +231724,43 @@ define inreg <64 x half> @bitcast_v64i16_to_v64f16_scalar(<64 x i16> inreg %a, i
; SI-NEXT: s_lshl_b32 s17, s55, 16
; SI-NEXT: s_mov_b32 s67, s55
; SI-NEXT: s_or_b32 s55, s16, s17
-; SI-NEXT: s_and_b32 s16, s62, 0xffff
+; SI-NEXT: s_mov_b32 s16, s62
+; SI-NEXT: s_and_b32 s19, s62, 0xffff
; SI-NEXT: s_lshl_b32 s62, s65, 16
-; SI-NEXT: s_lshl_b32 s60, s70, 16
+; SI-NEXT: s_lshl_b32 s60, s69, 16
; SI-NEXT: s_mov_b32 s17, s65
-; SI-NEXT: s_or_b32 s65, s16, s62
+; SI-NEXT: s_or_b32 s65, s19, s62
; SI-NEXT: s_and_b32 s62, s76, 0xffff
-; SI-NEXT: s_lshl_b32 s58, s81, 16
+; SI-NEXT: s_lshl_b32 s58, s71, 16
; SI-NEXT: s_or_b32 s62, s62, s60
; SI-NEXT: s_mov_b32 s72, s77
; SI-NEXT: s_lshr_b64 s[76:77], s[60:61], 16
; SI-NEXT: s_and_b32 s60, s18, 0xffff
-; SI-NEXT: s_lshl_b32 s56, s83, 16
+; SI-NEXT: s_lshl_b32 s56, s81, 16
; SI-NEXT: s_lshl_b32 s52, s74, 16
; SI-NEXT: s_or_b32 s74, s60, s58
; SI-NEXT: s_mov_b32 s60, s79
; SI-NEXT: s_lshr_b64 s[78:79], s[58:59], 16
; SI-NEXT: s_and_b32 s58, s20, 0xffff
-; SI-NEXT: s_lshl_b32 s46, s85, 16
+; SI-NEXT: s_lshl_b32 s46, s83, 16
; SI-NEXT: s_mov_b32 s77, s72
; SI-NEXT: s_or_b32 s72, s58, s56
; SI-NEXT: s_mov_b32 s58, s89
; SI-NEXT: s_lshr_b64 s[88:89], s[56:57], 16
; SI-NEXT: s_and_b32 s56, s22, 0xffff
-; SI-NEXT: s_lshl_b32 s44, s87, 16
+; SI-NEXT: s_lshl_b32 s44, s85, 16
; SI-NEXT: s_mov_b32 s79, s60
; SI-NEXT: s_or_b32 s60, s56, s46
; SI-NEXT: s_mov_b32 s56, s91
; SI-NEXT: s_lshr_b64 s[90:91], s[46:47], 16
; SI-NEXT: s_and_b32 s46, s24, 0xffff
-; SI-NEXT: s_lshl_b32 s42, s97, 16
+; SI-NEXT: s_lshl_b32 s42, s87, 16
; SI-NEXT: s_mov_b32 s89, s58
; SI-NEXT: s_or_b32 s58, s46, s44
; SI-NEXT: s_mov_b32 s46, s93
; SI-NEXT: s_lshr_b64 s[92:93], s[44:45], 16
; SI-NEXT: s_and_b32 s44, s26, 0xffff
-; SI-NEXT: s_lshl_b32 s40, s99, 16
+; SI-NEXT: s_lshl_b32 s40, s98, 16
; SI-NEXT: s_mov_b32 s91, s56
; SI-NEXT: s_or_b32 s56, s44, s42
; SI-NEXT: s_mov_b32 s44, s95
@@ -231758,45 +231777,46 @@ define inreg <64 x half> @bitcast_v64i16_to_v64f16_scalar(<64 x i16> inreg %a, i
; SI-NEXT: s_or_b32 s44, s40, s14
; SI-NEXT: s_mov_b32 s40, s31
; SI-NEXT: s_lshr_b64 s[30:31], s[14:15], 16
-; SI-NEXT: s_and_b32 s14, s69, 0xffff
+; SI-NEXT: s_and_b32 s14, s70, 0xffff
; SI-NEXT: s_lshl_b32 s10, s10, 16
; SI-NEXT: s_mov_b32 vcc_hi, s42
; SI-NEXT: s_or_b32 s42, s14, s12
; SI-NEXT: s_mov_b32 s14, s35
; SI-NEXT: s_lshr_b64 s[34:35], s[12:13], 16
-; SI-NEXT: s_and_b32 s12, s71, 0xffff
+; SI-NEXT: s_and_b32 s12, s80, 0xffff
; SI-NEXT: s_lshl_b32 s8, s8, 16
; SI-NEXT: s_mov_b32 s31, s40
; SI-NEXT: s_or_b32 s40, s12, s10
; SI-NEXT: s_mov_b32 s12, s37
; SI-NEXT: s_lshr_b64 s[36:37], s[10:11], 16
-; SI-NEXT: s_and_b32 s10, s80, 0xffff
+; SI-NEXT: s_and_b32 s10, s82, 0xffff
; SI-NEXT: s_lshl_b32 s6, s6, 16
; SI-NEXT: s_mov_b32 s35, s14
; SI-NEXT: s_or_b32 s14, s10, s8
; SI-NEXT: s_mov_b32 s10, s39
; SI-NEXT: s_lshr_b64 s[38:39], s[8:9], 16
-; SI-NEXT: s_and_b32 s8, s82, 0xffff
+; SI-NEXT: s_and_b32 s8, s84, 0xffff
; SI-NEXT: s_lshl_b32 s4, s4, 16
; SI-NEXT: s_mov_b32 s37, s12
; SI-NEXT: s_or_b32 s12, s8, s6
; SI-NEXT: s_mov_b32 s8, s49
; SI-NEXT: s_lshr_b64 s[48:49], s[6:7], 16
-; SI-NEXT: s_and_b32 s6, s84, 0xffff
+; SI-NEXT: s_and_b32 s6, s86, 0xffff
; SI-NEXT: s_mov_b32 s39, s10
; SI-NEXT: s_or_b32 s10, s6, s4
; SI-NEXT: s_mov_b32 s6, s51
; SI-NEXT: s_lshr_b64 s[50:51], s[4:5], 16
-; SI-NEXT: s_and_b32 s4, s86, 0xffff
+; SI-NEXT: s_and_b32 s4, s96, 0xffff
; SI-NEXT: s_lshl_b32 s54, s73, 16
; SI-NEXT: s_mov_b32 s49, s8
; SI-NEXT: s_or_b32 s8, s4, s52
-; SI-NEXT: s_and_b32 s4, s96, 0xffff
+; SI-NEXT: s_and_b32 s4, s97, 0xffff
; SI-NEXT: s_lshl_b32 s64, s63, 16
; SI-NEXT: s_mov_b32 s51, s6
; SI-NEXT: s_or_b32 s6, s4, s54
-; SI-NEXT: s_and_b32 s4, s98, 0xffff
-; SI-NEXT: s_mov_b32 s16, s63
+; SI-NEXT: s_and_b32 s4, s99, 0xffff
+; SI-NEXT: s_mov_b32 s21, s73
+; SI-NEXT: s_mov_b32 s19, s63
; SI-NEXT: s_mov_b32 s63, s61
; SI-NEXT: s_mov_b32 s75, s59
; SI-NEXT: s_mov_b32 s73, s57
@@ -231823,7 +231843,9 @@ define inreg <64 x half> @bitcast_v64i16_to_v64f16_scalar(<64 x i16> inreg %a, i
; SI-NEXT: s_mov_b64 s[66:67], 0
; SI-NEXT: s_branch .LBB111_3
; SI-NEXT: .LBB111_2:
-; SI-NEXT: s_mov_b32 s16, s63
+; SI-NEXT: s_mov_b32 s19, s63
+; SI-NEXT: s_mov_b32 s16, s62
+; SI-NEXT: s_mov_b32 s21, s73
; SI-NEXT: s_mov_b64 s[66:67], -1
; SI-NEXT: ; implicit-def: $sgpr62
; SI-NEXT: ; implicit-def: $sgpr76
@@ -231863,28 +231885,26 @@ define inreg <64 x half> @bitcast_v64i16_to_v64f16_scalar(<64 x i16> inreg %a, i
; SI-NEXT: s_cmp_lg_u32 s17, 1
; SI-NEXT: s_cbranch_scc1 .LBB111_5
; SI-NEXT: ; %bb.4: ; %cmp.true
-; SI-NEXT: s_add_i32 s98, s98, 3
-; SI-NEXT: s_and_b32 s4, s98, 0xffff
-; SI-NEXT: s_lshl_b32 s5, s16, 16
+; SI-NEXT: s_add_i32 s99, s99, 3
+; SI-NEXT: s_and_b32 s4, s99, 0xffff
+; SI-NEXT: s_lshl_b32 s5, s19, 16
; SI-NEXT: s_or_b32 s4, s5, s4
-; SI-NEXT: v_readlane_b32 s5, v33, 16
-; SI-NEXT: s_add_i32 s5, s5, 3
+; SI-NEXT: s_add_i32 s5, s16, 3
; SI-NEXT: s_and_b32 s5, s5, 0xffff
; SI-NEXT: s_lshl_b32 s6, s65, 16
+; SI-NEXT: s_add_i32 s97, s97, 3
; SI-NEXT: s_or_b32 s5, s6, s5
-; SI-NEXT: s_add_i32 s96, s96, 3
-; SI-NEXT: v_readlane_b32 s6, v33, 15
-; SI-NEXT: s_and_b32 s7, s96, 0xffff
-; SI-NEXT: s_lshl_b32 s6, s6, 16
-; SI-NEXT: s_or_b32 s6, s6, s7
+; SI-NEXT: s_and_b32 s6, s97, 0xffff
+; SI-NEXT: s_lshl_b32 s7, s21, 16
+; SI-NEXT: s_or_b32 s6, s7, s6
; SI-NEXT: v_readlane_b32 s7, v33, 14
; SI-NEXT: s_add_i32 s7, s7, 3
; SI-NEXT: s_and_b32 s7, s7, 0xffff
; SI-NEXT: s_lshl_b32 s8, s55, 16
; SI-NEXT: s_or_b32 s7, s8, s7
-; SI-NEXT: s_add_i32 s86, s86, 3
+; SI-NEXT: s_add_i32 s96, s96, 3
; SI-NEXT: v_readlane_b32 s8, v33, 13
-; SI-NEXT: s_and_b32 s9, s86, 0xffff
+; SI-NEXT: s_and_b32 s9, s96, 0xffff
; SI-NEXT: s_lshl_b32 s8, s8, 16
; SI-NEXT: s_or_b32 s8, s8, s9
; SI-NEXT: v_readlane_b32 s9, v33, 12
@@ -231892,9 +231912,9 @@ define inreg <64 x half> @bitcast_v64i16_to_v64f16_scalar(<64 x i16> inreg %a, i
; SI-NEXT: s_and_b32 s9, s9, 0xffff
; SI-NEXT: s_lshl_b32 s10, s53, 16
; SI-NEXT: s_or_b32 s9, s10, s9
-; SI-NEXT: s_add_i32 s84, s84, 3
+; SI-NEXT: s_add_i32 s86, s86, 3
; SI-NEXT: v_readlane_b32 s10, v33, 5
-; SI-NEXT: s_and_b32 s11, s84, 0xffff
+; SI-NEXT: s_and_b32 s11, s86, 0xffff
; SI-NEXT: s_lshl_b32 s10, s10, 16
; SI-NEXT: s_or_b32 s10, s10, s11
; SI-NEXT: v_readlane_b32 s11, v33, 11
@@ -231902,9 +231922,9 @@ define inreg <64 x half> @bitcast_v64i16_to_v64f16_scalar(<64 x i16> inreg %a, i
; SI-NEXT: s_and_b32 s11, s11, 0xffff
; SI-NEXT: s_lshl_b32 s12, s51, 16
; SI-NEXT: s_or_b32 s11, s12, s11
-; SI-NEXT: s_add_i32 s82, s82, 3
+; SI-NEXT: s_add_i32 s84, s84, 3
; SI-NEXT: v_readlane_b32 s12, v33, 4
-; SI-NEXT: s_and_b32 s13, s82, 0xffff
+; SI-NEXT: s_and_b32 s13, s84, 0xffff
; SI-NEXT: s_lshl_b32 s12, s12, 16
; SI-NEXT: s_or_b32 s12, s12, s13
; SI-NEXT: v_readlane_b32 s13, v33, 10
@@ -231912,9 +231932,9 @@ define inreg <64 x half> @bitcast_v64i16_to_v64f16_scalar(<64 x i16> inreg %a, i
; SI-NEXT: s_and_b32 s13, s13, 0xffff
; SI-NEXT: s_lshl_b32 s14, s49, 16
; SI-NEXT: s_or_b32 s13, s14, s13
-; SI-NEXT: s_add_i32 s80, s80, 3
+; SI-NEXT: s_add_i32 s82, s82, 3
; SI-NEXT: v_readlane_b32 s14, v33, 3
-; SI-NEXT: s_and_b32 s15, s80, 0xffff
+; SI-NEXT: s_and_b32 s15, s82, 0xffff
; SI-NEXT: s_lshl_b32 s14, s14, 16
; SI-NEXT: s_or_b32 s14, s14, s15
; SI-NEXT: v_readlane_b32 s15, v33, 9
@@ -231922,9 +231942,9 @@ define inreg <64 x half> @bitcast_v64i16_to_v64f16_scalar(<64 x i16> inreg %a, i
; SI-NEXT: s_and_b32 s15, s15, 0xffff
; SI-NEXT: s_lshl_b32 s16, s39, 16
; SI-NEXT: s_or_b32 s15, s16, s15
-; SI-NEXT: s_add_i32 s71, s71, 3
+; SI-NEXT: s_add_i32 s80, s80, 3
; SI-NEXT: v_readlane_b32 s16, v33, 2
-; SI-NEXT: s_and_b32 s17, s71, 0xffff
+; SI-NEXT: s_and_b32 s17, s80, 0xffff
; SI-NEXT: s_lshl_b32 s16, s16, 16
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: s_add_i32 s40, s16, 0x30000
@@ -231934,9 +231954,9 @@ define inreg <64 x half> @bitcast_v64i16_to_v64f16_scalar(<64 x i16> inreg %a, i
; SI-NEXT: s_lshl_b32 s17, s37, 16
; SI-NEXT: s_or_b32 s16, s17, s16
; SI-NEXT: s_add_i32 s41, s16, 0x30000
-; SI-NEXT: s_add_i32 s69, s69, 3
+; SI-NEXT: s_add_i32 s70, s70, 3
; SI-NEXT: v_readlane_b32 s16, v33, 1
-; SI-NEXT: s_and_b32 s17, s69, 0xffff
+; SI-NEXT: s_and_b32 s17, s70, 0xffff
; SI-NEXT: s_lshl_b32 s16, s16, 16
; SI-NEXT: s_or_b32 s16, s16, s17
; SI-NEXT: s_add_i32 s42, s16, 0x30000
@@ -231960,7 +231980,7 @@ define inreg <64 x half> @bitcast_v64i16_to_v64f16_scalar(<64 x i16> inreg %a, i
; SI-NEXT: s_add_i32 s28, s28, 3
; SI-NEXT: s_add_i32 s45, s16, 0x30000
; SI-NEXT: s_and_b32 s16, s28, 0xffff
-; SI-NEXT: s_lshl_b32 s17, s99, 16
+; SI-NEXT: s_lshl_b32 s17, s98, 16
; SI-NEXT: s_or_b32 s16, s17, s16
; SI-NEXT: s_add_i32 s29, s29, 3
; SI-NEXT: s_add_i32 s46, s16, 0x30000
@@ -231970,7 +231990,7 @@ define inreg <64 x half> @bitcast_v64i16_to_v64f16_scalar(<64 x i16> inreg %a, i
; SI-NEXT: s_add_i32 s26, s26, 3
; SI-NEXT: s_add_i32 s47, s16, 0x30000
; SI-NEXT: s_and_b32 s16, s26, 0xffff
-; SI-NEXT: s_lshl_b32 s17, s97, 16
+; SI-NEXT: s_lshl_b32 s17, s87, 16
; SI-NEXT: s_or_b32 s16, s17, s16
; SI-NEXT: s_add_i32 s27, s27, 3
; SI-NEXT: s_add_i32 s56, s16, 0x30000
@@ -231980,7 +232000,7 @@ define inreg <64 x half> @bitcast_v64i16_to_v64f16_scalar(<64 x i16> inreg %a, i
; SI-NEXT: s_add_i32 s24, s24, 3
; SI-NEXT: s_add_i32 s57, s16, 0x30000
; SI-NEXT: s_and_b32 s16, s24, 0xffff
-; SI-NEXT: s_lshl_b32 s17, s87, 16
+; SI-NEXT: s_lshl_b32 s17, s85, 16
; SI-NEXT: s_or_b32 s16, s17, s16
; SI-NEXT: s_add_i32 s25, s25, 3
; SI-NEXT: s_add_i32 s58, s16, 0x30000
@@ -231990,7 +232010,7 @@ define inreg <64 x half> @bitcast_v64i16_to_v64f16_scalar(<64 x i16> inreg %a, i
; SI-NEXT: s_add_i32 s22, s22, 3
; SI-NEXT: s_add_i32 s59, s16, 0x30000
; SI-NEXT: s_and_b32 s16, s22, 0xffff
-; SI-NEXT: s_lshl_b32 s17, s85, 16
+; SI-NEXT: s_lshl_b32 s17, s83, 16
; SI-NEXT: s_or_b32 s16, s17, s16
; SI-NEXT: s_add_i32 s23, s23, 3
; SI-NEXT: s_add_i32 s60, s16, 0x30000
@@ -232000,31 +232020,34 @@ define inreg <64 x half> @bitcast_v64i16_to_v64f16_scalar(<64 x i16> inreg %a, i
; SI-NEXT: s_add_i32 s20, s20, 3
; SI-NEXT: s_add_i32 s61, s16, 0x30000
; SI-NEXT: s_and_b32 s16, s20, 0xffff
-; SI-NEXT: s_lshl_b32 s17, s83, 16
+; SI-NEXT: s_lshl_b32 s17, s81, 16
; SI-NEXT: s_or_b32 s16, s17, s16
-; SI-NEXT: s_add_i32 s21, s21, 3
; SI-NEXT: s_add_i32 s72, s16, 0x30000
+; SI-NEXT: v_readlane_b32 s16, v33, 19
+; SI-NEXT: s_add_i32 s21, s16, 3
; SI-NEXT: s_and_b32 s16, s21, 0xffff
; SI-NEXT: s_lshl_b32 s17, s89, 16
; SI-NEXT: s_or_b32 s16, s17, s16
-; SI-NEXT: s_add_i32 s18, s18, 3
; SI-NEXT: s_add_i32 s73, s16, 0x30000
-; SI-NEXT: s_and_b32 s16, s18, 0xffff
-; SI-NEXT: s_lshl_b32 s17, s81, 16
+; SI-NEXT: v_readlane_b32 s16, v33, 18
+; SI-NEXT: s_add_i32 s16, s16, 3
+; SI-NEXT: s_and_b32 s16, s16, 0xffff
+; SI-NEXT: s_lshl_b32 s17, s71, 16
; SI-NEXT: s_or_b32 s16, s17, s16
-; SI-NEXT: s_add_i32 s19, s19, 3
; SI-NEXT: s_add_i32 s74, s16, 0x30000
-; SI-NEXT: s_and_b32 s16, s19, 0xffff
+; SI-NEXT: v_readlane_b32 s16, v33, 17
+; SI-NEXT: s_add_i32 s16, s16, 3
+; SI-NEXT: s_and_b32 s16, s16, 0xffff
; SI-NEXT: s_lshl_b32 s17, s79, 16
; SI-NEXT: s_or_b32 s16, s17, s16
; SI-NEXT: s_add_i32 s75, s16, 0x30000
-; SI-NEXT: v_readlane_b32 s16, v33, 18
+; SI-NEXT: v_readlane_b32 s16, v33, 16
; SI-NEXT: s_add_i32 s16, s16, 3
; SI-NEXT: s_and_b32 s16, s16, 0xffff
-; SI-NEXT: s_lshl_b32 s17, s70, 16
+; SI-NEXT: s_lshl_b32 s17, s69, 16
; SI-NEXT: s_or_b32 s16, s17, s16
; SI-NEXT: s_add_i32 s62, s16, 0x30000
-; SI-NEXT: v_readlane_b32 s16, v33, 17
+; SI-NEXT: v_readlane_b32 s16, v33, 15
; SI-NEXT: s_add_i32 s16, s16, 3
; SI-NEXT: s_and_b32 s16, s16, 0xffff
; SI-NEXT: s_lshl_b32 s17, s77, 16
diff --git a/llvm/test/CodeGen/AMDGPU/splitkit-getsubrangeformask-phi-extend.ll b/llvm/test/CodeGen/AMDGPU/splitkit-getsubrangeformask-phi-extend.ll
index 5560df96e41ea..d89f9a6274831 100644
--- a/llvm/test/CodeGen/AMDGPU/splitkit-getsubrangeformask-phi-extend.ll
+++ b/llvm/test/CodeGen/AMDGPU/splitkit-getsubrangeformask-phi-extend.ll
@@ -329,6 +329,7 @@ define void @f(ptr %p, <16 x i1> %m, <16 x i63> %pt, <16 x i1> %sc,
; CHECK-NEXT: buffer_load_dword v60, off, s[0:3], s32 offset:8
; CHECK-NEXT: buffer_load_dword v46, off, s[0:3], s32 offset:4
; CHECK-NEXT: buffer_load_dword v6, off, s[0:3], s32
+; CHECK-NEXT: s_nop 0
; CHECK-NEXT: buffer_load_dword v2, off, s[0:3], s32 offset:708
; CHECK-NEXT: buffer_load_dword v32, off, s[0:3], s32 offset:704
; CHECK-NEXT: buffer_load_dword v54, off, s[0:3], s32 offset:700
More information about the llvm-commits
mailing list