[clang] [llvm] [SPIRV] Add support for the `SPV_EXT_long_vector` extension (PR #210279)

Alex Voicu via cfe-commits cfe-commits at lists.llvm.org
Fri Jul 17 04:30:19 PDT 2026


https://github.com/AlexVlx updated https://github.com/llvm/llvm-project/pull/210279

>From c0933bf40cee4ed34a14c6b70cab9950194ad6d3 Mon Sep 17 00:00:00 2001
From: Alex Voicu <alexandru.voicu at amd.com>
Date: Tue, 9 Dec 2025 21:44:27 +0000
Subject: [PATCH 01/16] i128 is legal in IR / MIR, even though it might yield a
 module which requires extensions.

---
 llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp | 17 +++++++++--------
 llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp  |  4 ++--
 2 files changed, 11 insertions(+), 10 deletions(-)

diff --git a/llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp b/llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
index 2078bfee2e767..73e813ef53094 100644
--- a/llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
@@ -115,18 +115,19 @@ SPIRVLegalizerInfo::SPIRVLegalizerInfo(const SPIRVSubtarget &ST) {
                            v4s1, v4s8, v4s16, v4s32, v4s64};
 
   auto allScalarsAndVectors = {
-      s1,   s8,   s16,   s32,   s64,   v2s1,  v2s8,  v2s16,  v2s32,  v2s64,
-      v3s1, v3s8, v3s16, v3s32, v3s64, v4s1,  v4s8,  v4s16,  v4s32,  v4s64,
-      v8s1, v8s8, v8s16, v8s32, v8s64, v16s1, v16s8, v16s16, v16s32, v16s64};
+      s1,    s8,   s16,  s32,   s64,   s128,  v2s1,  v2s8,  v2s16,  v2s32,
+      v2s64, v3s1, v3s8, v3s16, v3s32, v3s64, v4s1,  v4s8,  v4s16,  v4s32,
+      v4s64, v8s1, v8s8, v8s16, v8s32, v8s64, v16s1, v16s8, v16s16, v16s32,
+      v16s64};
 
-  auto allIntScalarsAndVectors = {s8,    s16,   s32,   s64,    v2s8,   v2s16,
-                                  v2s32, v2s64, v3s8,  v3s16,  v3s32,  v3s64,
-                                  v4s8,  v4s16, v4s32, v4s64,  v8s8,   v8s16,
-                                  v8s32, v8s64, v16s8, v16s16, v16s32, v16s64};
+  auto allIntScalarsAndVectors = {
+      s8,    s16,   s32,    s64,    s128,  v2s8,  v2s16, v2s32, v2s64, v3s8,
+      v3s16, v3s32, v3s64,  v4s8,   v4s16, v4s32, v4s64, v8s8,  v8s16, v8s32,
+      v8s64, v16s8, v16s16, v16s32, v16s64};
 
   auto allBoolScalarsAndVectors = {s1, v2s1, v3s1, v4s1, v8s1, v16s1};
 
-  auto allIntScalars = {s8, s16, s32, s64};
+  auto allIntScalars = {s8, s16, s32, s64, s128};
 
   auto allFloatScalarsAndF16Vector2AndVector4s = {s16, s32, s64, v2s16, v4s16};
 
diff --git a/llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp b/llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
index acc726717743d..9ddbeee92ffb6 100644
--- a/llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
@@ -388,11 +388,11 @@ static SPIRVType *propagateSPIRVType(MachineInstr *MI, SPIRVGlobalRegistry *GR,
 
 // To support current approach and limitations wrt. bit width here we widen a
 // scalar register with a bit width greater than 1 to valid sizes and cap it to
-// 64 width.
+// 128 width.
 static unsigned widenBitWidthToNextPow2(unsigned BitWidth) {
   if (BitWidth == 1)
     return 1; // No need to widen 1-bit values
-  return std::min(std::max(1u << Log2_32_Ceil(BitWidth), 8u), 64u);
+  return std::min(std::max(1u << Log2_32_Ceil(BitWidth), 8u), 128u);
 }
 
 static void widenScalarType(Register Reg, MachineRegisterInfo &MRI) {

>From 82dbfe9ac050698e040cfacf5bc1ea4125901518 Mon Sep 17 00:00:00 2001
From: Alex Voicu <alexandru.voicu at amd.com>
Date: Tue, 9 Dec 2025 21:54:01 +0000
Subject: [PATCH 02/16] Fix formatting.

---
 llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp b/llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
index 73e813ef53094..30703ee40be06 100644
--- a/llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
@@ -115,15 +115,15 @@ SPIRVLegalizerInfo::SPIRVLegalizerInfo(const SPIRVSubtarget &ST) {
                            v4s1, v4s8, v4s16, v4s32, v4s64};
 
   auto allScalarsAndVectors = {
-      s1,    s8,   s16,  s32,   s64,   s128,  v2s1,  v2s8,  v2s16,  v2s32,
-      v2s64, v3s1, v3s8, v3s16, v3s32, v3s64, v4s1,  v4s8,  v4s16,  v4s32,
-      v4s64, v8s1, v8s8, v8s16, v8s32, v8s64, v16s1, v16s8, v16s16, v16s32,
-      v16s64};
+      s1,    s8,    s16,   s32,   s64,    s128,   v2s1,  v2s8,
+      v2s16, v2s32, v2s64, v3s1,  v3s8,   v3s16,  v3s32, v3s64,
+      v4s1,  v4s8,  v4s16, v4s32, v4s64,  v8s1,   v8s8,  v8s16,
+      v8s32, v8s64, v16s1, v16s8, v16s16, v16s32, v16s64};
 
   auto allIntScalarsAndVectors = {
-      s8,    s16,   s32,    s64,    s128,  v2s8,  v2s16, v2s32, v2s64, v3s8,
-      v3s16, v3s32, v3s64,  v4s8,   v4s16, v4s32, v4s64, v8s8,  v8s16, v8s32,
-      v8s64, v16s8, v16s16, v16s32, v16s64};
+      s8,    s16,   s32,   s64,   s128,   v2s8,   v2s16, v2s32, v2s64,
+      v3s8,  v3s16, v3s32, v3s64, v4s8,   v4s16,  v4s32, v4s64, v8s8,
+      v8s16, v8s32, v8s64, v16s8, v16s16, v16s32, v16s64};
 
   auto allBoolScalarsAndVectors = {s1, v2s1, v3s1, v4s1, v8s1, v16s1};
 

>From 97d5cc2eaa4db8027ecb6f038b356231c745c0a8 Mon Sep 17 00:00:00 2001
From: Alex Voicu <alexandru.voicu at amd.com>
Date: Mon, 15 Dec 2025 17:59:30 +0000
Subject: [PATCH 03/16] Handle storing of aggregates via `spv_store`.

---
 llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp | 13 ++++++++
 .../Target/SPIRV/SPIRVInstructionSelector.cpp | 10 +++++++
 .../SPIRV/instructions/nested-composites.ll   | 30 +++++++++++++++++++
 3 files changed, 53 insertions(+)

diff --git a/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp b/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
index 9b34ff90abe69..73dcec062d3f0 100644
--- a/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
@@ -2021,6 +2021,19 @@ Instruction *SPIRVEmitIntrinsics::visitStoreInst(StoreInst &I) {
   MachineMemOperand::Flags Flags =
       TLI->getStoreMemOperandFlags(I, CurrF->getDataLayout());
   auto *PtrOp = I.getPointerOperand();
+
+  if (I.getValueOperand()->getType()->isAggregateType()) {
+    // It is possible that what used to be an ExtractValueInst has been replaced
+    // with a call to the spv_extractv intrinsic, and that said call hasn't
+    // had its return type replaced with i32 during the dedicated pass (because
+    // it was emitted later); we have to handle this here, because IRTranslator
+    // cannot deal with multi-register types at the moment.
+    CallBase *CB = dyn_cast<CallBase>(I.getValueOperand());
+    assert(CB && CB->getIntrinsicID() == Intrinsic::spv_extractv &&
+           "Unexpected argument of aggregate type, should be spv_extractv!");
+    CB->mutateType(B.getInt32Ty());
+  }
+
   auto *NewI = B.CreateIntrinsic(
       Intrinsic::spv_store, {I.getValueOperand()->getType(), PtrOp->getType()},
       {I.getValueOperand(), PtrOp, B.getInt16(Flags),
diff --git a/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp b/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
index 2e4563795e8f0..dd2e3f1951850 100644
--- a/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
@@ -3297,6 +3297,16 @@ bool SPIRVInstructionSelector::selectInsertVal(Register ResVReg,
 bool SPIRVInstructionSelector::selectExtractVal(Register ResVReg,
                                                 const SPIRVType *ResType,
                                                 MachineInstr &I) const {
+  Type *MaybeResTy = nullptr;
+  StringRef ResName;
+  if (GR.findValueAttrs(&I, MaybeResTy, ResName) &&
+      MaybeResTy != GR.getTypeForSPIRVType(ResType)) {
+    assert(!MaybeResTy || MaybeResTy->isAggregateType() &&
+           "Expected aggregate type for extractv instruction");
+    ResType = GR.getOrCreateSPIRVType(MaybeResTy, I,
+                                      SPIRV::AccessQualifier::ReadWrite, false);
+    GR.assignSPIRVTypeToVReg(ResType, ResVReg, *I.getMF());
+  }
   MachineBasicBlock &BB = *I.getParent();
   auto MIB = BuildMI(BB, I, I.getDebugLoc(), TII.get(SPIRV::OpCompositeExtract))
                  .addDef(ResVReg)
diff --git a/llvm/test/CodeGen/SPIRV/instructions/nested-composites.ll b/llvm/test/CodeGen/SPIRV/instructions/nested-composites.ll
index 88e992f183452..7b49002766a26 100644
--- a/llvm/test/CodeGen/SPIRV/instructions/nested-composites.ll
+++ b/llvm/test/CodeGen/SPIRV/instructions/nested-composites.ll
@@ -1,13 +1,19 @@
 ; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv32-unknown-unknown %s -o - | FileCheck %s
+; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
+; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv32-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
 
 ; CHECK-DAG: OpName [[FOOBAR:%.+]] "foobar"
 ; CHECK-DAG: OpName [[PRODUCER:%.+]] "producer"
 ; CHECK-DAG: OpName [[CONSUMER:%.+]] "consumer"
+; CHECK-DAG: OpName [[SNEAKY:%.+]] "sneaky"
+; CHECK-DAG: OpName [[ARR_RET:%.+]] "arr_ret"
 
 ; CHECK-NOT: DAG-FENCE
 
 %ty1 = type {i16, i32}
 %ty2 = type {%ty1, i64}
+%ty3 = type {ptr addrspace(4), ptr addrspace(4), [8 x i8]}
 
 ; CHECK-DAG: [[I16:%.+]] = OpTypeInt 16
 ; CHECK-DAG: [[I32:%.+]] = OpTypeInt 32
@@ -18,6 +24,12 @@
 ; CHECK-DAG: [[UNDEF_I64:%.+]] = OpUndef [[I64]]
 ; CHECK-DAG: [[UNDEF_TY2:%.+]] = OpUndef [[TY2]]
 ; CHECK-DAG: [[CST_42:%.+]] = OpConstant [[I32]] 42
+; CHECK-DAG: [[I8:%.+]] = OpTypeInt 8 0
+; CHECK-DAG: [[PTR:%.+]] = OpTypePointer Generic [[I8]]
+; CHECK-DAG: [[CST_8:%.+]] = OpConstant [[I32]] 8
+; CHECK-DAG: [[ARR:%.+]] = OpTypeArray [[I8]] [[CST_8]]
+; CHECK-DAG: [[TY3:%.+]] = OpTypeStruct [[PTR]] [[PTR]] [[ARR]]
+; CHECK-DAG: [[PTR_ARR:%.+]] = OpTypePointer Generic [[ARR]]
 
 ; CHECK-NOT: DAG-FENCE
 
@@ -62,3 +74,21 @@ define i32 @consumer(%ty2 %agg) {
 ; CHECK: [[RET:%.+]] = OpCompositeExtract [[I32]] [[AGG]] 0 1
 ; CHECK: OpReturnValue [[RET]]
 ; CHECK: OpFunctionEnd
+
+declare %ty3 @arr_ret()
+
+define void @sneaky(ptr addrspace(4) %p, [8 x i8] %a) {
+  %1 = call spir_func %ty3 @arr_ret()
+  %2 = getelementptr inbounds nuw %ty3, ptr addrspace(4) %p, i32 0, i32 2
+  %3 = extractvalue %ty3 %1, 2
+  store [8 x i8] %3, ptr addrspace(4) %2, align 8
+  ret void
+}
+
+; CHECK: [[SNEAKY]] = OpFunction
+; CHECK: [[PTR_AGG:%.+]] = OpFunctionParameter
+; CHECK: [[A:%.+]] = OpFunctionParameter [[ARR]]
+; CHECK: [[AGG_RET:%.+]] = OpFunctionCall [[TY3]]
+; CHECK: [[GEP:%.+]] = OpInBoundsPtrAccessChain [[PTR_ARR]] [[PTR_AGG]]
+; CHECK: [[EXTRACTV:%.+]] = OpCompositeExtract [[ARR]] [[AGG_RET]] 2
+; CHECK: OpStore [[GEP]] [[EXTRACTV]]

>From f837bb69c73c38dc2c628fe1e83b87526bd8d4d8 Mon Sep 17 00:00:00 2001
From: Alex Voicu <alexandru.voicu at amd.com>
Date: Mon, 15 Dec 2025 18:46:39 +0000
Subject: [PATCH 04/16] Fix formatting.

---
 llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp b/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
index dd2e3f1951850..77c4678bb2210 100644
--- a/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
@@ -3301,8 +3301,9 @@ bool SPIRVInstructionSelector::selectExtractVal(Register ResVReg,
   StringRef ResName;
   if (GR.findValueAttrs(&I, MaybeResTy, ResName) &&
       MaybeResTy != GR.getTypeForSPIRVType(ResType)) {
-    assert(!MaybeResTy || MaybeResTy->isAggregateType() &&
-           "Expected aggregate type for extractv instruction");
+    assert(!MaybeResTy ||
+           MaybeResTy->isAggregateType() &&
+               "Expected aggregate type for extractv instruction");
     ResType = GR.getOrCreateSPIRVType(MaybeResTy, I,
                                       SPIRV::AccessQualifier::ReadWrite, false);
     GR.assignSPIRVTypeToVReg(ResType, ResVReg, *I.getMF());

>From 610c2971b9c16e8ce2b75f5e4bd8430596926f64 Mon Sep 17 00:00:00 2001
From: Alex Voicu <alexandru.voicu at amd.com>
Date: Thu, 19 Mar 2026 00:25:37 +0000
Subject: [PATCH 05/16] Add `llvm.spv.named.boolean.spec.constant` intrinsic.

---
 llvm/include/llvm/IR/IntrinsicsSPIRV.td       |  5 +++++
 .../Target/SPIRV/SPIRVInstructionSelector.cpp | 14 +++++++++++++
 .../CodeGen/SPIRV/constant/spec-constant.ll   | 21 ++++++++++++++++++-
 3 files changed, 39 insertions(+), 1 deletion(-)

diff --git a/llvm/include/llvm/IR/IntrinsicsSPIRV.td b/llvm/include/llvm/IR/IntrinsicsSPIRV.td
index 5d467adb08c3d..51cb430f4bd43 100644
--- a/llvm/include/llvm/IR/IntrinsicsSPIRV.td
+++ b/llvm/include/llvm/IR/IntrinsicsSPIRV.td
@@ -43,6 +43,11 @@ let TargetPrefix = "spv" in {
   def int_spv_alloca_array : Intrinsic<[llvm_any_ty], [llvm_anyint_ty, llvm_i32_ty], [ImmArg<ArgIndex<1>>]>;
   def int_spv_undef : Intrinsic<[llvm_i32_ty], []>;
   def int_spv_inline_asm : Intrinsic<[], [llvm_metadata_ty, llvm_metadata_ty, llvm_vararg_ty]>;
+  def int_spv_named_boolean_spec_constant
+      : Intrinsic<[llvm_i1_ty], [llvm_i32_ty, llvm_i1_ty, llvm_metadata_ty],
+                  [ImmArg<ArgIndex<0>>, ImmArg<ArgIndex<1>>]>;
+  // TODO: possibly add intrinsics for other types of Spec Constants and a
+  //       corresponding Clang builtin.
 
   // Masked Gather/Scatter (SPV_INTEL_masked_gather_scatter)
   def int_spv_masked_gather : Intrinsic<[llvm_any_ty],
diff --git a/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp b/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
index eb30002d2e1a5..c045ab693e9ab 100644
--- a/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
@@ -4125,6 +4125,20 @@ bool SPIRVInstructionSelector::selectIntrinsic(Register ResVReg,
     MIB.constrainAllUses(TII, TRI, RBI);
     return true;
   }
+  case Intrinsic::spv_named_boolean_spec_constant: {
+    auto Opcode = I.getOperand(3).getImm()
+        ? SPIRV::OpSpecConstantTrue : SPIRV::OpSpecConstantFalse;
+
+    auto MIB = BuildMI(BB, I, I.getDebugLoc(), TII.get(Opcode))
+                   .addDef(I.getOperand(0).getReg())
+                   .addUse(GR.getSPIRVTypeID(ResType));
+    MIB.constrainAllUses(TII, TRI, RBI);
+    unsigned SpecId = I.getOperand(2).getImm();
+    buildOpDecorate(I.getOperand(0).getReg(), *MIB.getInstr(), TII,
+                    SPIRV::Decoration::SpecId, {SpecId});
+
+    return true;
+  }
   case Intrinsic::spv_const_composite: {
     // If no values are attached, the composite is null constant.
     bool IsNull = I.getNumExplicitDefs() + 1 == I.getNumExplicitOperands();
diff --git a/llvm/test/CodeGen/SPIRV/constant/spec-constant.ll b/llvm/test/CodeGen/SPIRV/constant/spec-constant.ll
index 299d61d3bffde..5ca7a504addf7 100644
--- a/llvm/test/CodeGen/SPIRV/constant/spec-constant.ll
+++ b/llvm/test/CodeGen/SPIRV/constant/spec-constant.ll
@@ -8,6 +8,8 @@
 ; CHECK-DAG: OpDecorate [[float_const:%[0-9]+]] SpecId 8
 ; CHECK-DAG: OpDecorate [[double_const:%[0-9]+]] SpecId 9
 ; CHECK-DAG: OpDecorate [[enum_const:%[0-9]+]] SpecId 10
+; CHECK-DAG: OpDecorate [[named_bool_const_true:%[0-9]+]] SpecId 11
+; CHECK-DAG: OpDecorate [[named_bool_const_false:%[0-9]+]] SpecId 12
 
 ; CHECK-DAG: [[bool_const]] = OpSpecConstantTrue {{%[0-9]+}}
 ; CHECK-DAG: [[short_const]] = OpSpecConstant {{%[0-9]+}} 4
@@ -16,6 +18,8 @@
 ; CHECK-DAG: [[float_const]] = OpSpecConstant {{%[0-9]+}} 1112014848
 ; CHECK-DAG: [[double_const]] = OpSpecConstant {{%[0-9]+}} 0 1079574528
 ; CHECK-DAG: [[enum_const]] = OpSpecConstant {{%[0-9]+}} 30
+; CHECK-DAG: [[named_bool_const_true:%[0-9]+]] = OpSpecConstantTrue {{%[0-9]+}}
+; CHECK-DAG: [[named_bool_const_false:%[0-9]+]] = OpSpecConstantFalse {{%[0-9]+}}
 
 @_ZL10bool_const = internal addrspace(10) global i32 0, align 4
 @_ZL11short_const = internal addrspace(10) global i16 0, align 2
@@ -58,6 +62,18 @@ entry:
   ; CHECK: OpStore {{%[0-9]+}} [[enum_const]]
   %18 = tail call spir_func i32 @_Z20__spirv_SpecConstantii(i32 10, i32 30)
   store i32 %18, ptr addrspace(10) @_ZL10enum_const, align 4
+
+  ; CHECK: [[bt:%[0-9]+]] = OpSelect {{%[0-9]+}} [[named_bool_const_true]]
+  ; CHECK: OpStore {{%[0-9]+}} [[bt]]
+  %19 = tail call spir_func i1 @llvm.spv.named.boolean.spec.constant(i32 11, i1 true, metadata !{})
+  %zext_0 = zext i1 %19 to i32
+  store i32 %zext_0, ptr addrspace(10) @_ZL10bool_const, align 4
+
+  ; CHECK: [[bf:%[0-9]+]] = OpSelect {{%[0-9]+}} [[named_bool_const_false]]
+  ; CHECK: OpStore {{%[0-9]+}} [[bf]]
+  %20 = tail call spir_func i1 @llvm.spv.named.boolean.spec.constant(i32 12, i1 false, metadata !{})
+  %zext_1 = zext i1 %20 to i32
+  store i32 %zext_1, ptr addrspace(10) @_ZL10bool_const, align 4
   ret void
 }
 
@@ -69,5 +85,8 @@ declare i32 @_Z20__spirv_SpecConstantii(i32, i32)
 declare i64 @_Z20__spirv_SpecConstantix(i32, i64)
 declare float @_Z20__spirv_SpecConstantif(i32, float)
 declare double @_Z20__spirv_SpecConstantid(i32, double)
+declare i1 @llvm.spv.named.boolean.spec.constant(i32, i1, metadata)
+
+attributes #0 = { "hlsl.numthreads"="1,1,1" "hlsl.shader"="compute" }
 
-attributes #0 = { "hlsl.numthreads"="1,1,1" "hlsl.shader"="compute" }
\ No newline at end of file
+!0 = !{ !"" }
\ No newline at end of file

>From 9544c96e85c5b7ff427f9b977ee8b704f8b81f93 Mon Sep 17 00:00:00 2001
From: Alex Voicu <alexandru.voicu at amd.com>
Date: Thu, 19 Mar 2026 00:54:52 +0000
Subject: [PATCH 06/16] Fix formatting.

---
 llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp b/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
index c045ab693e9ab..88169df9ba61c 100644
--- a/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
@@ -4126,8 +4126,8 @@ bool SPIRVInstructionSelector::selectIntrinsic(Register ResVReg,
     return true;
   }
   case Intrinsic::spv_named_boolean_spec_constant: {
-    auto Opcode = I.getOperand(3).getImm()
-        ? SPIRV::OpSpecConstantTrue : SPIRV::OpSpecConstantFalse;
+    auto Opcode = I.getOperand(3).getImm() ? SPIRV::OpSpecConstantTrue
+                                           : SPIRV::OpSpecConstantFalse;
 
     auto MIB = BuildMI(BB, I, I.getDebugLoc(), TII.get(Opcode))
                    .addDef(I.getOperand(0).getReg())

>From aa1be1fb95eab1f854f3c2743f5d88bc7189ee6b Mon Sep 17 00:00:00 2001
From: Alex Voicu <alexandru.voicu at amd.com>
Date: Tue, 14 Apr 2026 20:52:49 +0100
Subject: [PATCH 07/16] Define `__AMDGCN_UNSAFE_FP_ATOMICS__` for AMDGCN
 flavoured SPIR-V when required.

---
 clang/lib/Basic/Targets/SPIR.cpp            | 3 +++
 clang/test/Preprocessor/predefined-macros.c | 4 ++++
 2 files changed, 7 insertions(+)

diff --git a/clang/lib/Basic/Targets/SPIR.cpp b/clang/lib/Basic/Targets/SPIR.cpp
index 19f160e279b21..7726c95cc7392 100644
--- a/clang/lib/Basic/Targets/SPIR.cpp
+++ b/clang/lib/Basic/Targets/SPIR.cpp
@@ -145,6 +145,9 @@ void SPIRV64AMDGCNTargetInfo::getTargetDefines(const LangOptions &Opts,
   Builder.defineMacro("__AMD__");
   Builder.defineMacro("__AMDGPU__");
   Builder.defineMacro("__AMDGCN__");
+
+  if (Opts.AtomicIgnoreDenormalMode)
+    Builder.defineMacro("__AMDGCN_UNSAFE_FP_ATOMICS__");
 }
 
 void SPIRV64AMDGCNTargetInfo::setAuxTarget(const TargetInfo *Aux) {
diff --git a/clang/test/Preprocessor/predefined-macros.c b/clang/test/Preprocessor/predefined-macros.c
index da25b1efa3984..8dbb477be4c5d 100644
--- a/clang/test/Preprocessor/predefined-macros.c
+++ b/clang/test/Preprocessor/predefined-macros.c
@@ -240,14 +240,18 @@
 
 // RUN: %clang_cc1 %s -E -dM -o - -x cl -triple spirv64-amd-amdhsa \
 // RUN:   | FileCheck -match-full-lines %s --check-prefix=CHECK-SPIRV64-AMDGCN
+// RUN: %clang_cc1 %s -E -dM -o - -x cl -triple spirv64-amd-amdhsa -fatomic-ignore-denormal-mode \
+// RUN:   | FileCheck -match-full-lines %s --check-prefix=CHECK-SPIRV64-AMDGCN-UNSAFE-FP-ATOMICS
 // CHECK-SPIRV64-AMDGCN-DAG: #define __IMAGE_SUPPORT__ 1
 // CHECK-SPIRV64-AMDGCN-DAG: #define __SPIRV__ 1
 // CHECK-SPIRV64-AMDGCN-DAG: #define __SPIRV64__ 1
 // CHECK-SPIRV64-AMDGCN-DAG: #define __AMD__ 1
 // CHECK-SPIRV64-AMDGCN-DAG: #define __AMDGCN__ 1
 // CHECK-SPIRV64-AMDGCN-DAG: #define __AMDGPU__ 1
+// CHECK-SPIRV64-AMDGCN-NOT: #define __AMDGCN_UNSAFE_FP_ATOMICS__
 // CHECK-SPIRV64-AMDGCN-NOT: #define __SPIRV32__ 1
 // CHECK-SPIRV64-AMDGCN-NOT: #define __spirv__ 1
+// CHECK-SPIRV64-AMDGCN-UNSAFE-FP-ATOMICS: #define __AMDGCN_UNSAFE_FP_ATOMICS__ 1
 
 // RUN: %clang_cc1 %s -E -dM -o - -x hip -triple x86_64-unknown-linux-gnu \
 // RUN:   | FileCheck -match-full-lines %s --check-prefix=CHECK-HIP

>From 444225c9d4b2101a7893d869ee3b9adc104705e4 Mon Sep 17 00:00:00 2001
From: Alex Voicu <alexandru.voicu at amd.com>
Date: Mon, 20 Apr 2026 11:58:14 +0100
Subject: [PATCH 08/16] SPIR-V needs AMDGPU atomic metadata.

---
 clang/lib/Basic/Targets/SPIR.h                |   2 +
 clang/lib/CodeGen/Targets/SPIR.cpp            |  25 ++
 clang/lib/Driver/ToolChains/Clang.cpp         |   3 +-
 .../test/CodeGen/AMDGPU/amdgpu-atomic-float.c | 129 ++++++-
 clang/test/CodeGenCUDA/atomic-options.hip     | 322 +++++++++++++++++-
 .../CodeGenHIP/amdgpu-flat-atomic-fadd.hip    | 219 ++++++++++--
 .../CodeGenHIP/amdgpu-global-atomic-fadd.hip  |  79 ++++-
 llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp |  20 ++
 8 files changed, 730 insertions(+), 69 deletions(-)

diff --git a/clang/lib/Basic/Targets/SPIR.h b/clang/lib/Basic/Targets/SPIR.h
index 633eaf3803452..ebf0e8122edfe 100644
--- a/clang/lib/Basic/Targets/SPIR.h
+++ b/clang/lib/Basic/Targets/SPIR.h
@@ -491,6 +491,8 @@ class LLVM_LIBRARY_VISIBILITY SPIRV64AMDGCNTargetInfo final
   void adjust(DiagnosticsEngine &Diags, LangOptions &Opts,
               const TargetInfo *Aux) override {
     TargetInfo::adjust(Diags, Opts, Aux);
+
+    AtomicOpts = AtomicOptions(Opts);
   }
 
   bool hasInt128Type() const override { return TargetInfo::hasInt128Type(); }
diff --git a/clang/lib/CodeGen/Targets/SPIR.cpp b/clang/lib/CodeGen/Targets/SPIR.cpp
index d5122f8d65a3e..1e0cfd0be9cba 100644
--- a/clang/lib/CodeGen/Targets/SPIR.cpp
+++ b/clang/lib/CodeGen/Targets/SPIR.cpp
@@ -137,6 +137,9 @@ class SPIRVTargetCodeGenInfo : public CommonSPIRTargetCodeGenInfo {
                            CodeGen::CodeGenModule &M) const override;
   StringRef getLLVMSyncScopeStr(const LangOptions &LangOpts, SyncScope Scope,
                                 llvm::AtomicOrdering Ordering) const override;
+  void setTargetAtomicMetadata(CodeGenFunction &CGF,
+                               llvm::Instruction &AtomicInst,
+                               const AtomicExpr *Expr = nullptr) const override;
   bool supportsLibCall() const override {
     return getABIInfo().getTarget().getTriple().getVendor() !=
            llvm::Triple::AMD;
@@ -576,6 +579,28 @@ StringRef SPIRVTargetCodeGenInfo::getLLVMSyncScopeStr(
   return "";
 }
 
+void SPIRVTargetCodeGenInfo::setTargetAtomicMetadata(
+    CodeGenFunction &CGF, llvm::Instruction &AtomicInst,
+    const AtomicExpr *AE) const {
+  if (CGF.CGM.getTriple().getVendor() != llvm::Triple::VendorType::AMD)
+    return;
+
+  auto *RMW = dyn_cast<llvm::AtomicRMWInst>(&AtomicInst);
+  if (!RMW)
+    return;
+
+  AtomicOptions AO = CGF.CGM.getAtomicOpts();
+  llvm::MDNode *Empty = llvm::MDNode::get(CGF.getLLVMContext(), {});
+  if (!AO.getOption(clang::AtomicOptionKind::FineGrainedMemory))
+    RMW->setMetadata("amdgpu.no.fine.grained.memory", Empty);
+  if (!AO.getOption(clang::AtomicOptionKind::RemoteMemory))
+    RMW->setMetadata("amdgpu.no.remote.memory", Empty);
+  if (AO.getOption(clang::AtomicOptionKind::IgnoreDenormalMode) &&
+      RMW->getOperation() == llvm::AtomicRMWInst::FAdd &&
+      RMW->getType()->isFloatTy())
+    RMW->setMetadata("amdgpu.ignore.denormal.mode", Empty);
+}
+
 /// Construct a SPIR-V target extension type for the given OpenCL image type.
 static llvm::Type *getSPIRVImageType(llvm::LLVMContext &Ctx, StringRef BaseType,
                                      StringRef OpenCLName,
diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp
index 99f511df9e8a1..aa1bb8e310048 100644
--- a/clang/lib/Driver/ToolChains/Clang.cpp
+++ b/clang/lib/Driver/ToolChains/Clang.cpp
@@ -8063,7 +8063,8 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
     }
   }
 
-  if (Triple.isAMDGPU()) {
+  if (Triple.isAMDGPU() ||
+      (Triple.isSPIRV() && Triple.getVendor() == llvm::Triple::AMD)) {
     handleAMDGPUCodeObjectVersionOptions(D, Args, CmdArgs);
 
     Args.addOptInFlag(CmdArgs, options::OPT_munsafe_fp_atomics,
diff --git a/clang/test/CodeGen/AMDGPU/amdgpu-atomic-float.c b/clang/test/CodeGen/AMDGPU/amdgpu-atomic-float.c
index 1b77ead54d2b2..42eeb7dddd913 100644
--- a/clang/test/CodeGen/AMDGPU/amdgpu-atomic-float.c
+++ b/clang/test/CodeGen/AMDGPU/amdgpu-atomic-float.c
@@ -1,19 +1,33 @@
 // NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py UTC_ARGS: --version 5
 // RUN: %clang_cc1 -fnative-half-arguments-and-returns -triple amdgcn-amd-amdhsa-gnu -target-cpu gfx900 -emit-llvm -o - %s | FileCheck -check-prefixes=CHECK,SAFE %s
 // RUN: %clang_cc1 -fnative-half-arguments-and-returns -triple amdgcn-amd-amdhsa-gnu -target-cpu gfx900 -emit-llvm -munsafe-fp-atomics -o - %s | FileCheck -check-prefixes=CHECK,UNSAFE %s
+// RUN: %clang_cc1 -fnative-half-arguments-and-returns -triple spirv64-amd-amdhsa -emit-llvm -o - %s | FileCheck -check-prefixes=CHECK-SPIRV,SAFE-SPIRV %s
+// RUN: %clang_cc1 -fnative-half-arguments-and-returns -triple spirv64-amd-amdhsa -emit-llvm -munsafe-fp-atomics -o - %s | FileCheck -check-prefixes=CHECK-SPIRV,UNSAFE-SPIRV %s
 
 // SAFE-LABEL: define dso_local float @test_float_post_inc(
 // SAFE-SAME: ) #[[ATTR0:[0-9]+]] {
 // SAFE-NEXT:  [[ENTRY:.*:]]
-// SAFE-NEXT:    [[TMP0:%.*]] = atomicrmw fadd ptr addrspacecast (ptr addrspace(1) @test_float_post_inc.n to ptr), float 1.000000e+00 seq_cst, align 4, !amdgpu.no.fine.grained.memory [[META3:![0-9]+]], !amdgpu.no.remote.memory [[META3]]
+// SAFE-NEXT:    [[TMP0:%.*]] = atomicrmw fadd ptr addrspacecast (ptr addrspace(1) @test_float_post_inc.n to ptr), float 1.000000e+00 seq_cst, align 4, !amdgpu.no.fine.grained.memory [[META2:![0-9]+]], !amdgpu.no.remote.memory [[META2]]
 // SAFE-NEXT:    ret float [[TMP0]]
 //
 // UNSAFE-LABEL: define dso_local float @test_float_post_inc(
 // UNSAFE-SAME: ) #[[ATTR0:[0-9]+]] {
 // UNSAFE-NEXT:  [[ENTRY:.*:]]
-// UNSAFE-NEXT:    [[TMP0:%.*]] = atomicrmw fadd ptr addrspacecast (ptr addrspace(1) @test_float_post_inc.n to ptr), float 1.000000e+00 seq_cst, align 4, !amdgpu.no.fine.grained.memory [[META3:![0-9]+]], !amdgpu.no.remote.memory [[META3]], !amdgpu.ignore.denormal.mode [[META3]]
+// UNSAFE-NEXT:    [[TMP0:%.*]] = atomicrmw fadd ptr addrspacecast (ptr addrspace(1) @test_float_post_inc.n to ptr), float 1.000000e+00 seq_cst, align 4, !amdgpu.no.fine.grained.memory [[META2:![0-9]+]], !amdgpu.no.remote.memory [[META2]], !amdgpu.ignore.denormal.mode [[META2]]
 // UNSAFE-NEXT:    ret float [[TMP0]]
 //
+// SAFE-SPIRV-LABEL: define spir_func float @test_float_post_inc(
+// SAFE-SPIRV-SAME: ) addrspace(4) #[[ATTR0:[0-9]+]] {
+// SAFE-SPIRV-NEXT:  [[ENTRY:.*:]]
+// SAFE-SPIRV-NEXT:    [[TMP0:%.*]] = atomicrmw fadd ptr addrspace(4) addrspacecast (ptr addrspace(1) @test_float_post_inc.n to ptr addrspace(4)), float 1.000000e+00 seq_cst, align 4, !amdgpu.no.fine.grained.memory [[META2:![0-9]+]], !amdgpu.no.remote.memory [[META2]]
+// SAFE-SPIRV-NEXT:    ret float [[TMP0]]
+//
+// UNSAFE-SPIRV-LABEL: define spir_func float @test_float_post_inc(
+// UNSAFE-SPIRV-SAME: ) addrspace(4) #[[ATTR0:[0-9]+]] {
+// UNSAFE-SPIRV-NEXT:  [[ENTRY:.*:]]
+// UNSAFE-SPIRV-NEXT:    [[TMP0:%.*]] = atomicrmw fadd ptr addrspace(4) addrspacecast (ptr addrspace(1) @test_float_post_inc.n to ptr addrspace(4)), float 1.000000e+00 seq_cst, align 4, !amdgpu.no.fine.grained.memory [[META2:![0-9]+]], !amdgpu.no.remote.memory [[META2]], !amdgpu.ignore.denormal.mode [[META2]]
+// UNSAFE-SPIRV-NEXT:    ret float [[TMP0]]
+//
 float test_float_post_inc()
 {
     static _Atomic float n;
@@ -23,9 +37,15 @@ float test_float_post_inc()
 // CHECK-LABEL: define dso_local float @test_float_post_dc(
 // CHECK-SAME: ) #[[ATTR0:[0-9]+]] {
 // CHECK-NEXT:  [[ENTRY:.*:]]
-// CHECK-NEXT:    [[TMP0:%.*]] = atomicrmw fsub ptr addrspacecast (ptr addrspace(1) @test_float_post_dc.n to ptr), float 1.000000e+00 seq_cst, align 4, !amdgpu.no.fine.grained.memory [[META3:![0-9]+]], !amdgpu.no.remote.memory [[META3]]
+// CHECK-NEXT:    [[TMP0:%.*]] = atomicrmw fsub ptr addrspacecast (ptr addrspace(1) @test_float_post_dc.n to ptr), float 1.000000e+00 seq_cst, align 4, !amdgpu.no.fine.grained.memory [[META2:![0-9]+]], !amdgpu.no.remote.memory [[META2]]
 // CHECK-NEXT:    ret float [[TMP0]]
 //
+// CHECK-SPIRV-LABEL: define spir_func float @test_float_post_dc(
+// CHECK-SPIRV-SAME: ) addrspace(4) #[[ATTR0:[0-9]+]] {
+// CHECK-SPIRV-NEXT:  [[ENTRY:.*:]]
+// CHECK-SPIRV-NEXT:    [[TMP0:%.*]] = atomicrmw fsub ptr addrspace(4) addrspacecast (ptr addrspace(1) @test_float_post_dc.n to ptr addrspace(4)), float 1.000000e+00 seq_cst, align 4, !amdgpu.no.fine.grained.memory [[META2:![0-9]+]], !amdgpu.no.remote.memory [[META2]]
+// CHECK-SPIRV-NEXT:    ret float [[TMP0]]
+//
 float test_float_post_dc()
 {
     static _Atomic float n;
@@ -35,10 +55,17 @@ float test_float_post_dc()
 // CHECK-LABEL: define dso_local float @test_float_pre_dc(
 // CHECK-SAME: ) #[[ATTR0]] {
 // CHECK-NEXT:  [[ENTRY:.*:]]
-// CHECK-NEXT:    [[TMP0:%.*]] = atomicrmw fsub ptr addrspacecast (ptr addrspace(1) @test_float_pre_dc.n to ptr), float 1.000000e+00 seq_cst, align 4, !amdgpu.no.fine.grained.memory [[META3]], !amdgpu.no.remote.memory [[META3]]
+// CHECK-NEXT:    [[TMP0:%.*]] = atomicrmw fsub ptr addrspacecast (ptr addrspace(1) @test_float_pre_dc.n to ptr), float 1.000000e+00 seq_cst, align 4, !amdgpu.no.fine.grained.memory [[META2]], !amdgpu.no.remote.memory [[META2]]
 // CHECK-NEXT:    [[TMP1:%.*]] = fsub float [[TMP0]], 1.000000e+00
 // CHECK-NEXT:    ret float [[TMP1]]
 //
+// CHECK-SPIRV-LABEL: define spir_func float @test_float_pre_dc(
+// CHECK-SPIRV-SAME: ) addrspace(4) #[[ATTR0]] {
+// CHECK-SPIRV-NEXT:  [[ENTRY:.*:]]
+// CHECK-SPIRV-NEXT:    [[TMP0:%.*]] = atomicrmw fsub ptr addrspace(4) addrspacecast (ptr addrspace(1) @test_float_pre_dc.n to ptr addrspace(4)), float 1.000000e+00 seq_cst, align 4, !amdgpu.no.fine.grained.memory [[META2]], !amdgpu.no.remote.memory [[META2]]
+// CHECK-SPIRV-NEXT:    [[TMP1:%.*]] = fsub float [[TMP0]], 1.000000e+00
+// CHECK-SPIRV-NEXT:    ret float [[TMP1]]
+//
 float test_float_pre_dc()
 {
     static _Atomic float n;
@@ -48,17 +75,31 @@ float test_float_pre_dc()
 // SAFE-LABEL: define dso_local float @test_float_pre_inc(
 // SAFE-SAME: ) #[[ATTR0]] {
 // SAFE-NEXT:  [[ENTRY:.*:]]
-// SAFE-NEXT:    [[TMP0:%.*]] = atomicrmw fadd ptr addrspacecast (ptr addrspace(1) @test_float_pre_inc.n to ptr), float 1.000000e+00 seq_cst, align 4, !amdgpu.no.fine.grained.memory [[META3]], !amdgpu.no.remote.memory [[META3]]
+// SAFE-NEXT:    [[TMP0:%.*]] = atomicrmw fadd ptr addrspacecast (ptr addrspace(1) @test_float_pre_inc.n to ptr), float 1.000000e+00 seq_cst, align 4, !amdgpu.no.fine.grained.memory [[META2]], !amdgpu.no.remote.memory [[META2]]
 // SAFE-NEXT:    [[TMP1:%.*]] = fadd float [[TMP0]], 1.000000e+00
 // SAFE-NEXT:    ret float [[TMP1]]
 //
 // UNSAFE-LABEL: define dso_local float @test_float_pre_inc(
 // UNSAFE-SAME: ) #[[ATTR0]] {
 // UNSAFE-NEXT:  [[ENTRY:.*:]]
-// UNSAFE-NEXT:    [[TMP0:%.*]] = atomicrmw fadd ptr addrspacecast (ptr addrspace(1) @test_float_pre_inc.n to ptr), float 1.000000e+00 seq_cst, align 4, !amdgpu.no.fine.grained.memory [[META3]], !amdgpu.no.remote.memory [[META3]], !amdgpu.ignore.denormal.mode [[META3]]
+// UNSAFE-NEXT:    [[TMP0:%.*]] = atomicrmw fadd ptr addrspacecast (ptr addrspace(1) @test_float_pre_inc.n to ptr), float 1.000000e+00 seq_cst, align 4, !amdgpu.no.fine.grained.memory [[META2]], !amdgpu.no.remote.memory [[META2]], !amdgpu.ignore.denormal.mode [[META2]]
 // UNSAFE-NEXT:    [[TMP1:%.*]] = fadd float [[TMP0]], 1.000000e+00
 // UNSAFE-NEXT:    ret float [[TMP1]]
 //
+// SAFE-SPIRV-LABEL: define spir_func float @test_float_pre_inc(
+// SAFE-SPIRV-SAME: ) addrspace(4) #[[ATTR0]] {
+// SAFE-SPIRV-NEXT:  [[ENTRY:.*:]]
+// SAFE-SPIRV-NEXT:    [[TMP0:%.*]] = atomicrmw fadd ptr addrspace(4) addrspacecast (ptr addrspace(1) @test_float_pre_inc.n to ptr addrspace(4)), float 1.000000e+00 seq_cst, align 4, !amdgpu.no.fine.grained.memory [[META2]], !amdgpu.no.remote.memory [[META2]]
+// SAFE-SPIRV-NEXT:    [[TMP1:%.*]] = fadd float [[TMP0]], 1.000000e+00
+// SAFE-SPIRV-NEXT:    ret float [[TMP1]]
+//
+// UNSAFE-SPIRV-LABEL: define spir_func float @test_float_pre_inc(
+// UNSAFE-SPIRV-SAME: ) addrspace(4) #[[ATTR0]] {
+// UNSAFE-SPIRV-NEXT:  [[ENTRY:.*:]]
+// UNSAFE-SPIRV-NEXT:    [[TMP0:%.*]] = atomicrmw fadd ptr addrspace(4) addrspacecast (ptr addrspace(1) @test_float_pre_inc.n to ptr addrspace(4)), float 1.000000e+00 seq_cst, align 4, !amdgpu.no.fine.grained.memory [[META2]], !amdgpu.no.remote.memory [[META2]], !amdgpu.ignore.denormal.mode [[META2]]
+// UNSAFE-SPIRV-NEXT:    [[TMP1:%.*]] = fadd float [[TMP0]], 1.000000e+00
+// UNSAFE-SPIRV-NEXT:    ret float [[TMP1]]
+//
 float test_float_pre_inc()
 {
     static _Atomic float n;
@@ -68,9 +109,15 @@ float test_float_pre_inc()
 // CHECK-LABEL: define dso_local double @test_double_post_inc(
 // CHECK-SAME: ) #[[ATTR0]] {
 // CHECK-NEXT:  [[ENTRY:.*:]]
-// CHECK-NEXT:    [[TMP0:%.*]] = atomicrmw fadd ptr addrspacecast (ptr addrspace(1) @test_double_post_inc.n to ptr), double 1.000000e+00 seq_cst, align 8, !amdgpu.no.fine.grained.memory [[META3]], !amdgpu.no.remote.memory [[META3]]
+// CHECK-NEXT:    [[TMP0:%.*]] = atomicrmw fadd ptr addrspacecast (ptr addrspace(1) @test_double_post_inc.n to ptr), double 1.000000e+00 seq_cst, align 8, !amdgpu.no.fine.grained.memory [[META2]], !amdgpu.no.remote.memory [[META2]]
 // CHECK-NEXT:    ret double [[TMP0]]
 //
+// CHECK-SPIRV-LABEL: define spir_func double @test_double_post_inc(
+// CHECK-SPIRV-SAME: ) addrspace(4) #[[ATTR0]] {
+// CHECK-SPIRV-NEXT:  [[ENTRY:.*:]]
+// CHECK-SPIRV-NEXT:    [[TMP0:%.*]] = atomicrmw fadd ptr addrspace(4) addrspacecast (ptr addrspace(1) @test_double_post_inc.n to ptr addrspace(4)), double 1.000000e+00 seq_cst, align 8, !amdgpu.no.fine.grained.memory [[META2]], !amdgpu.no.remote.memory [[META2]]
+// CHECK-SPIRV-NEXT:    ret double [[TMP0]]
+//
 double test_double_post_inc()
 {
     static _Atomic double n;
@@ -80,9 +127,15 @@ double test_double_post_inc()
 // CHECK-LABEL: define dso_local double @test_double_post_dc(
 // CHECK-SAME: ) #[[ATTR0]] {
 // CHECK-NEXT:  [[ENTRY:.*:]]
-// CHECK-NEXT:    [[TMP0:%.*]] = atomicrmw fsub ptr addrspacecast (ptr addrspace(1) @test_double_post_dc.n to ptr), double 1.000000e+00 seq_cst, align 8, !amdgpu.no.fine.grained.memory [[META3]], !amdgpu.no.remote.memory [[META3]]
+// CHECK-NEXT:    [[TMP0:%.*]] = atomicrmw fsub ptr addrspacecast (ptr addrspace(1) @test_double_post_dc.n to ptr), double 1.000000e+00 seq_cst, align 8, !amdgpu.no.fine.grained.memory [[META2]], !amdgpu.no.remote.memory [[META2]]
 // CHECK-NEXT:    ret double [[TMP0]]
 //
+// CHECK-SPIRV-LABEL: define spir_func double @test_double_post_dc(
+// CHECK-SPIRV-SAME: ) addrspace(4) #[[ATTR0]] {
+// CHECK-SPIRV-NEXT:  [[ENTRY:.*:]]
+// CHECK-SPIRV-NEXT:    [[TMP0:%.*]] = atomicrmw fsub ptr addrspace(4) addrspacecast (ptr addrspace(1) @test_double_post_dc.n to ptr addrspace(4)), double 1.000000e+00 seq_cst, align 8, !amdgpu.no.fine.grained.memory [[META2]], !amdgpu.no.remote.memory [[META2]]
+// CHECK-SPIRV-NEXT:    ret double [[TMP0]]
+//
 double test_double_post_dc()
 {
     static _Atomic double n;
@@ -92,10 +145,17 @@ double test_double_post_dc()
 // CHECK-LABEL: define dso_local double @test_double_pre_dc(
 // CHECK-SAME: ) #[[ATTR0]] {
 // CHECK-NEXT:  [[ENTRY:.*:]]
-// CHECK-NEXT:    [[TMP0:%.*]] = atomicrmw fsub ptr addrspacecast (ptr addrspace(1) @test_double_pre_dc.n to ptr), double 1.000000e+00 seq_cst, align 8, !amdgpu.no.fine.grained.memory [[META3]], !amdgpu.no.remote.memory [[META3]]
+// CHECK-NEXT:    [[TMP0:%.*]] = atomicrmw fsub ptr addrspacecast (ptr addrspace(1) @test_double_pre_dc.n to ptr), double 1.000000e+00 seq_cst, align 8, !amdgpu.no.fine.grained.memory [[META2]], !amdgpu.no.remote.memory [[META2]]
 // CHECK-NEXT:    [[TMP1:%.*]] = fsub double [[TMP0]], 1.000000e+00
 // CHECK-NEXT:    ret double [[TMP1]]
 //
+// CHECK-SPIRV-LABEL: define spir_func double @test_double_pre_dc(
+// CHECK-SPIRV-SAME: ) addrspace(4) #[[ATTR0]] {
+// CHECK-SPIRV-NEXT:  [[ENTRY:.*:]]
+// CHECK-SPIRV-NEXT:    [[TMP0:%.*]] = atomicrmw fsub ptr addrspace(4) addrspacecast (ptr addrspace(1) @test_double_pre_dc.n to ptr addrspace(4)), double 1.000000e+00 seq_cst, align 8, !amdgpu.no.fine.grained.memory [[META2]], !amdgpu.no.remote.memory [[META2]]
+// CHECK-SPIRV-NEXT:    [[TMP1:%.*]] = fsub double [[TMP0]], 1.000000e+00
+// CHECK-SPIRV-NEXT:    ret double [[TMP1]]
+//
 double test_double_pre_dc()
 {
     static _Atomic double n;
@@ -105,10 +165,17 @@ double test_double_pre_dc()
 // CHECK-LABEL: define dso_local double @test_double_pre_inc(
 // CHECK-SAME: ) #[[ATTR0]] {
 // CHECK-NEXT:  [[ENTRY:.*:]]
-// CHECK-NEXT:    [[TMP0:%.*]] = atomicrmw fadd ptr addrspacecast (ptr addrspace(1) @test_double_pre_inc.n to ptr), double 1.000000e+00 seq_cst, align 8, !amdgpu.no.fine.grained.memory [[META3]], !amdgpu.no.remote.memory [[META3]]
+// CHECK-NEXT:    [[TMP0:%.*]] = atomicrmw fadd ptr addrspacecast (ptr addrspace(1) @test_double_pre_inc.n to ptr), double 1.000000e+00 seq_cst, align 8, !amdgpu.no.fine.grained.memory [[META2]], !amdgpu.no.remote.memory [[META2]]
 // CHECK-NEXT:    [[TMP1:%.*]] = fadd double [[TMP0]], 1.000000e+00
 // CHECK-NEXT:    ret double [[TMP1]]
 //
+// CHECK-SPIRV-LABEL: define spir_func double @test_double_pre_inc(
+// CHECK-SPIRV-SAME: ) addrspace(4) #[[ATTR0]] {
+// CHECK-SPIRV-NEXT:  [[ENTRY:.*:]]
+// CHECK-SPIRV-NEXT:    [[TMP0:%.*]] = atomicrmw fadd ptr addrspace(4) addrspacecast (ptr addrspace(1) @test_double_pre_inc.n to ptr addrspace(4)), double 1.000000e+00 seq_cst, align 8, !amdgpu.no.fine.grained.memory [[META2]], !amdgpu.no.remote.memory [[META2]]
+// CHECK-SPIRV-NEXT:    [[TMP1:%.*]] = fadd double [[TMP0]], 1.000000e+00
+// CHECK-SPIRV-NEXT:    ret double [[TMP1]]
+//
 double test_double_pre_inc()
 {
     static _Atomic double n;
@@ -118,9 +185,15 @@ double test_double_pre_inc()
 // CHECK-LABEL: define dso_local half @test__Float16_post_inc(
 // CHECK-SAME: ) #[[ATTR0]] {
 // CHECK-NEXT:  [[ENTRY:.*:]]
-// CHECK-NEXT:    [[TMP0:%.*]] = atomicrmw fadd ptr addrspacecast (ptr addrspace(1) @test__Float16_post_inc.n to ptr), half 0xH3C00 seq_cst, align 2, !amdgpu.no.fine.grained.memory [[META3]], !amdgpu.no.remote.memory [[META3]]
+// CHECK-NEXT:    [[TMP0:%.*]] = atomicrmw fadd ptr addrspacecast (ptr addrspace(1) @test__Float16_post_inc.n to ptr), half 0xH3C00 seq_cst, align 2, !amdgpu.no.fine.grained.memory [[META2]], !amdgpu.no.remote.memory [[META2]]
 // CHECK-NEXT:    ret half [[TMP0]]
 //
+// CHECK-SPIRV-LABEL: define spir_func half @test__Float16_post_inc(
+// CHECK-SPIRV-SAME: ) addrspace(4) #[[ATTR0]] {
+// CHECK-SPIRV-NEXT:  [[ENTRY:.*:]]
+// CHECK-SPIRV-NEXT:    [[TMP0:%.*]] = atomicrmw fadd ptr addrspace(4) addrspacecast (ptr addrspace(1) @test__Float16_post_inc.n to ptr addrspace(4)), half 0xH3C00 seq_cst, align 2, !amdgpu.no.fine.grained.memory [[META2]], !amdgpu.no.remote.memory [[META2]]
+// CHECK-SPIRV-NEXT:    ret half [[TMP0]]
+//
 _Float16 test__Float16_post_inc()
 {
     static _Atomic _Float16 n;
@@ -130,9 +203,15 @@ _Float16 test__Float16_post_inc()
 // CHECK-LABEL: define dso_local half @test__Float16_post_dc(
 // CHECK-SAME: ) #[[ATTR0]] {
 // CHECK-NEXT:  [[ENTRY:.*:]]
-// CHECK-NEXT:    [[TMP0:%.*]] = atomicrmw fsub ptr addrspacecast (ptr addrspace(1) @test__Float16_post_dc.n to ptr), half 0xH3C00 seq_cst, align 2, !amdgpu.no.fine.grained.memory [[META3]], !amdgpu.no.remote.memory [[META3]]
+// CHECK-NEXT:    [[TMP0:%.*]] = atomicrmw fsub ptr addrspacecast (ptr addrspace(1) @test__Float16_post_dc.n to ptr), half 0xH3C00 seq_cst, align 2, !amdgpu.no.fine.grained.memory [[META2]], !amdgpu.no.remote.memory [[META2]]
 // CHECK-NEXT:    ret half [[TMP0]]
 //
+// CHECK-SPIRV-LABEL: define spir_func half @test__Float16_post_dc(
+// CHECK-SPIRV-SAME: ) addrspace(4) #[[ATTR0]] {
+// CHECK-SPIRV-NEXT:  [[ENTRY:.*:]]
+// CHECK-SPIRV-NEXT:    [[TMP0:%.*]] = atomicrmw fsub ptr addrspace(4) addrspacecast (ptr addrspace(1) @test__Float16_post_dc.n to ptr addrspace(4)), half 0xH3C00 seq_cst, align 2, !amdgpu.no.fine.grained.memory [[META2]], !amdgpu.no.remote.memory [[META2]]
+// CHECK-SPIRV-NEXT:    ret half [[TMP0]]
+//
 _Float16 test__Float16_post_dc()
 {
     static _Atomic _Float16 n;
@@ -142,10 +221,17 @@ _Float16 test__Float16_post_dc()
 // CHECK-LABEL: define dso_local half @test__Float16_pre_dc(
 // CHECK-SAME: ) #[[ATTR0]] {
 // CHECK-NEXT:  [[ENTRY:.*:]]
-// CHECK-NEXT:    [[TMP0:%.*]] = atomicrmw fsub ptr addrspacecast (ptr addrspace(1) @test__Float16_pre_dc.n to ptr), half 0xH3C00 seq_cst, align 2, !amdgpu.no.fine.grained.memory [[META3]], !amdgpu.no.remote.memory [[META3]]
+// CHECK-NEXT:    [[TMP0:%.*]] = atomicrmw fsub ptr addrspacecast (ptr addrspace(1) @test__Float16_pre_dc.n to ptr), half 0xH3C00 seq_cst, align 2, !amdgpu.no.fine.grained.memory [[META2]], !amdgpu.no.remote.memory [[META2]]
 // CHECK-NEXT:    [[TMP1:%.*]] = fsub half [[TMP0]], 0xH3C00
 // CHECK-NEXT:    ret half [[TMP1]]
 //
+// CHECK-SPIRV-LABEL: define spir_func half @test__Float16_pre_dc(
+// CHECK-SPIRV-SAME: ) addrspace(4) #[[ATTR0]] {
+// CHECK-SPIRV-NEXT:  [[ENTRY:.*:]]
+// CHECK-SPIRV-NEXT:    [[TMP0:%.*]] = atomicrmw fsub ptr addrspace(4) addrspacecast (ptr addrspace(1) @test__Float16_pre_dc.n to ptr addrspace(4)), half 0xH3C00 seq_cst, align 2, !amdgpu.no.fine.grained.memory [[META2]], !amdgpu.no.remote.memory [[META2]]
+// CHECK-SPIRV-NEXT:    [[TMP1:%.*]] = fsub half [[TMP0]], 0xH3C00
+// CHECK-SPIRV-NEXT:    ret half [[TMP1]]
+//
 _Float16 test__Float16_pre_dc()
 {
     static _Atomic _Float16 n;
@@ -155,17 +241,28 @@ _Float16 test__Float16_pre_dc()
 // CHECK-LABEL: define dso_local half @test__Float16_pre_inc(
 // CHECK-SAME: ) #[[ATTR0]] {
 // CHECK-NEXT:  [[ENTRY:.*:]]
-// CHECK-NEXT:    [[TMP0:%.*]] = atomicrmw fadd ptr addrspacecast (ptr addrspace(1) @test__Float16_pre_inc.n to ptr), half 0xH3C00 seq_cst, align 2, !amdgpu.no.fine.grained.memory [[META3]], !amdgpu.no.remote.memory [[META3]]
+// CHECK-NEXT:    [[TMP0:%.*]] = atomicrmw fadd ptr addrspacecast (ptr addrspace(1) @test__Float16_pre_inc.n to ptr), half 0xH3C00 seq_cst, align 2, !amdgpu.no.fine.grained.memory [[META2]], !amdgpu.no.remote.memory [[META2]]
 // CHECK-NEXT:    [[TMP1:%.*]] = fadd half [[TMP0]], 0xH3C00
 // CHECK-NEXT:    ret half [[TMP1]]
 //
+// CHECK-SPIRV-LABEL: define spir_func half @test__Float16_pre_inc(
+// CHECK-SPIRV-SAME: ) addrspace(4) #[[ATTR0]] {
+// CHECK-SPIRV-NEXT:  [[ENTRY:.*:]]
+// CHECK-SPIRV-NEXT:    [[TMP0:%.*]] = atomicrmw fadd ptr addrspace(4) addrspacecast (ptr addrspace(1) @test__Float16_pre_inc.n to ptr addrspace(4)), half 0xH3C00 seq_cst, align 2, !amdgpu.no.fine.grained.memory [[META2]], !amdgpu.no.remote.memory [[META2]]
+// CHECK-SPIRV-NEXT:    [[TMP1:%.*]] = fadd half [[TMP0]], 0xH3C00
+// CHECK-SPIRV-NEXT:    ret half [[TMP1]]
+//
 _Float16 test__Float16_pre_inc()
 {
     static _Atomic _Float16 n;
     return ++n;
 }
 //.
-// SAFE: [[META3]] = !{}
+// SAFE: [[META2]] = !{}
+//.
+// UNSAFE: [[META2]] = !{}
+//.
+// SAFE-SPIRV: [[META2]] = !{}
 //.
-// UNSAFE: [[META3]] = !{}
+// UNSAFE-SPIRV: [[META2]] = !{}
 //.
diff --git a/clang/test/CodeGenCUDA/atomic-options.hip b/clang/test/CodeGenCUDA/atomic-options.hip
index dbc8c3175cbc2..28ef6c3e8521f 100644
--- a/clang/test/CodeGenCUDA/atomic-options.hip
+++ b/clang/test/CodeGenCUDA/atomic-options.hip
@@ -6,6 +6,12 @@
 // RUN: %clang_cc1 -triple amdgcn-amd-amdhsa \
 // RUN:   -fatomic-fine-grained-memory -fatomic-ignore-denormal-mode \
 // RUN:   -emit-llvm -o - -fcuda-is-device %s | FileCheck --check-prefix=OPT %s
+// RUN: %clang_cc1 -triple spirv64-amd-amdhsa \
+// RUN:   -emit-llvm -o - -fcuda-is-device %s | FileCheck --check-prefix=SPIRV-DEV %s
+// RUN: %clang_cc1 -triple spirv64-amd-amdhsa \
+// RUN:   -fatomic-fine-grained-memory -fatomic-ignore-denormal-mode \
+// RUN:   -emit-llvm -o - -fcuda-is-device %s | FileCheck --check-prefix=SPIRV-OPT %s
+
 
 #include "Inputs/cuda.h"
 
@@ -37,7 +43,7 @@
 // DEV-NEXT:    [[TMP0:%.*]] = load ptr, ptr [[A_ADDR_ASCAST]], align 8
 // DEV-NEXT:    store float 1.000000e+00, ptr [[DOTATOMICTMP_ASCAST]], align 4
 // DEV-NEXT:    [[TMP1:%.*]] = load float, ptr [[DOTATOMICTMP_ASCAST]], align 4
-// DEV-NEXT:    [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.fine.grained.memory [[META4:![0-9]+]], !amdgpu.no.remote.memory [[META4]]
+// DEV-NEXT:    [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.fine.grained.memory [[META3:![0-9]+]], !amdgpu.no.remote.memory [[META3]]
 // DEV-NEXT:    store float [[TMP2]], ptr [[ATOMIC_TEMP_ASCAST]], align 4
 // DEV-NEXT:    [[TMP3:%.*]] = load float, ptr [[ATOMIC_TEMP_ASCAST]], align 4
 // DEV-NEXT:    ret void
@@ -55,11 +61,47 @@
 // OPT-NEXT:    [[TMP0:%.*]] = load ptr, ptr [[A_ADDR_ASCAST]], align 8
 // OPT-NEXT:    store float 1.000000e+00, ptr [[DOTATOMICTMP_ASCAST]], align 4
 // OPT-NEXT:    [[TMP1:%.*]] = load float, ptr [[DOTATOMICTMP_ASCAST]], align 4
-// OPT-NEXT:    [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.remote.memory [[META4:![0-9]+]], !amdgpu.ignore.denormal.mode [[META4]]
+// OPT-NEXT:    [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.remote.memory [[META3:![0-9]+]], !amdgpu.ignore.denormal.mode [[META3]]
 // OPT-NEXT:    store float [[TMP2]], ptr [[ATOMIC_TEMP_ASCAST]], align 4
 // OPT-NEXT:    [[TMP3:%.*]] = load float, ptr [[ATOMIC_TEMP_ASCAST]], align 4
 // OPT-NEXT:    ret void
 //
+// SPIRV-DEV-LABEL: define spir_func void @_Z12test_defaultPf(
+// SPIRV-DEV-SAME: ptr addrspace(4) noundef [[A:%.*]]) addrspace(4) #[[ATTR0:[0-9]+]] {
+// SPIRV-DEV-NEXT:  [[ENTRY:.*:]]
+// SPIRV-DEV-NEXT:    [[A_ADDR:%.*]] = alloca ptr addrspace(4), align 8
+// SPIRV-DEV-NEXT:    [[DOTATOMICTMP:%.*]] = alloca float, align 4
+// SPIRV-DEV-NEXT:    [[ATOMIC_TEMP:%.*]] = alloca float, align 4
+// SPIRV-DEV-NEXT:    [[A_ADDR_ASCAST:%.*]] = addrspacecast ptr [[A_ADDR]] to ptr addrspace(4)
+// SPIRV-DEV-NEXT:    [[DOTATOMICTMP_ASCAST:%.*]] = addrspacecast ptr [[DOTATOMICTMP]] to ptr addrspace(4)
+// SPIRV-DEV-NEXT:    [[ATOMIC_TEMP_ASCAST:%.*]] = addrspacecast ptr [[ATOMIC_TEMP]] to ptr addrspace(4)
+// SPIRV-DEV-NEXT:    store ptr addrspace(4) [[A]], ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-DEV-NEXT:    [[TMP0:%.*]] = load ptr addrspace(4), ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-DEV-NEXT:    store float 1.000000e+00, ptr addrspace(4) [[DOTATOMICTMP_ASCAST]], align 4
+// SPIRV-DEV-NEXT:    [[TMP1:%.*]] = load float, ptr addrspace(4) [[DOTATOMICTMP_ASCAST]], align 4
+// SPIRV-DEV-NEXT:    [[TMP2:%.*]] = atomicrmw fadd ptr addrspace(4) [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.fine.grained.memory [[META4:![0-9]+]], !amdgpu.no.remote.memory [[META4]]
+// SPIRV-DEV-NEXT:    store float [[TMP2]], ptr addrspace(4) [[ATOMIC_TEMP_ASCAST]], align 4
+// SPIRV-DEV-NEXT:    [[TMP3:%.*]] = load float, ptr addrspace(4) [[ATOMIC_TEMP_ASCAST]], align 4
+// SPIRV-DEV-NEXT:    ret void
+//
+// SPIRV-OPT-LABEL: define spir_func void @_Z12test_defaultPf(
+// SPIRV-OPT-SAME: ptr addrspace(4) noundef [[A:%.*]]) addrspace(4) #[[ATTR0:[0-9]+]] {
+// SPIRV-OPT-NEXT:  [[ENTRY:.*:]]
+// SPIRV-OPT-NEXT:    [[A_ADDR:%.*]] = alloca ptr addrspace(4), align 8
+// SPIRV-OPT-NEXT:    [[DOTATOMICTMP:%.*]] = alloca float, align 4
+// SPIRV-OPT-NEXT:    [[ATOMIC_TEMP:%.*]] = alloca float, align 4
+// SPIRV-OPT-NEXT:    [[A_ADDR_ASCAST:%.*]] = addrspacecast ptr [[A_ADDR]] to ptr addrspace(4)
+// SPIRV-OPT-NEXT:    [[DOTATOMICTMP_ASCAST:%.*]] = addrspacecast ptr [[DOTATOMICTMP]] to ptr addrspace(4)
+// SPIRV-OPT-NEXT:    [[ATOMIC_TEMP_ASCAST:%.*]] = addrspacecast ptr [[ATOMIC_TEMP]] to ptr addrspace(4)
+// SPIRV-OPT-NEXT:    store ptr addrspace(4) [[A]], ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-OPT-NEXT:    [[TMP0:%.*]] = load ptr addrspace(4), ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-OPT-NEXT:    store float 1.000000e+00, ptr addrspace(4) [[DOTATOMICTMP_ASCAST]], align 4
+// SPIRV-OPT-NEXT:    [[TMP1:%.*]] = load float, ptr addrspace(4) [[DOTATOMICTMP_ASCAST]], align 4
+// SPIRV-OPT-NEXT:    [[TMP2:%.*]] = atomicrmw fadd ptr addrspace(4) [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.remote.memory [[META4:![0-9]+]], !amdgpu.ignore.denormal.mode [[META4]]
+// SPIRV-OPT-NEXT:    store float [[TMP2]], ptr addrspace(4) [[ATOMIC_TEMP_ASCAST]], align 4
+// SPIRV-OPT-NEXT:    [[TMP3:%.*]] = load float, ptr addrspace(4) [[ATOMIC_TEMP_ASCAST]], align 4
+// SPIRV-OPT-NEXT:    ret void
+//
 __device__ __host__ void test_default(float *a) {
   __scoped_atomic_fetch_add(a, 1, __ATOMIC_RELAXED, __MEMORY_SCOPE_SYSTEM);
 }
@@ -92,7 +134,7 @@ __device__ __host__ void test_default(float *a) {
 // DEV-NEXT:    [[TMP0:%.*]] = load ptr, ptr [[A_ADDR_ASCAST]], align 8
 // DEV-NEXT:    store float 1.000000e+00, ptr [[DOTATOMICTMP_ASCAST]], align 4
 // DEV-NEXT:    [[TMP1:%.*]] = load float, ptr [[DOTATOMICTMP_ASCAST]], align 4
-// DEV-NEXT:    [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.fine.grained.memory [[META4]], !amdgpu.no.remote.memory [[META4]]
+// DEV-NEXT:    [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.fine.grained.memory [[META3]], !amdgpu.no.remote.memory [[META3]]
 // DEV-NEXT:    store float [[TMP2]], ptr [[ATOMIC_TEMP_ASCAST]], align 4
 // DEV-NEXT:    [[TMP3:%.*]] = load float, ptr [[ATOMIC_TEMP_ASCAST]], align 4
 // DEV-NEXT:    ret void
@@ -110,11 +152,47 @@ __device__ __host__ void test_default(float *a) {
 // OPT-NEXT:    [[TMP0:%.*]] = load ptr, ptr [[A_ADDR_ASCAST]], align 8
 // OPT-NEXT:    store float 1.000000e+00, ptr [[DOTATOMICTMP_ASCAST]], align 4
 // OPT-NEXT:    [[TMP1:%.*]] = load float, ptr [[DOTATOMICTMP_ASCAST]], align 4
-// OPT-NEXT:    [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.remote.memory [[META4]], !amdgpu.ignore.denormal.mode [[META4]]
+// OPT-NEXT:    [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.remote.memory [[META3]], !amdgpu.ignore.denormal.mode [[META3]]
 // OPT-NEXT:    store float [[TMP2]], ptr [[ATOMIC_TEMP_ASCAST]], align 4
 // OPT-NEXT:    [[TMP3:%.*]] = load float, ptr [[ATOMIC_TEMP_ASCAST]], align 4
 // OPT-NEXT:    ret void
 //
+// SPIRV-DEV-LABEL: define spir_func void @_Z8test_onePf(
+// SPIRV-DEV-SAME: ptr addrspace(4) noundef [[A:%.*]]) addrspace(4) #[[ATTR0]] {
+// SPIRV-DEV-NEXT:  [[ENTRY:.*:]]
+// SPIRV-DEV-NEXT:    [[A_ADDR:%.*]] = alloca ptr addrspace(4), align 8
+// SPIRV-DEV-NEXT:    [[DOTATOMICTMP:%.*]] = alloca float, align 4
+// SPIRV-DEV-NEXT:    [[ATOMIC_TEMP:%.*]] = alloca float, align 4
+// SPIRV-DEV-NEXT:    [[A_ADDR_ASCAST:%.*]] = addrspacecast ptr [[A_ADDR]] to ptr addrspace(4)
+// SPIRV-DEV-NEXT:    [[DOTATOMICTMP_ASCAST:%.*]] = addrspacecast ptr [[DOTATOMICTMP]] to ptr addrspace(4)
+// SPIRV-DEV-NEXT:    [[ATOMIC_TEMP_ASCAST:%.*]] = addrspacecast ptr [[ATOMIC_TEMP]] to ptr addrspace(4)
+// SPIRV-DEV-NEXT:    store ptr addrspace(4) [[A]], ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-DEV-NEXT:    [[TMP0:%.*]] = load ptr addrspace(4), ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-DEV-NEXT:    store float 1.000000e+00, ptr addrspace(4) [[DOTATOMICTMP_ASCAST]], align 4
+// SPIRV-DEV-NEXT:    [[TMP1:%.*]] = load float, ptr addrspace(4) [[DOTATOMICTMP_ASCAST]], align 4
+// SPIRV-DEV-NEXT:    [[TMP2:%.*]] = atomicrmw fadd ptr addrspace(4) [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.fine.grained.memory [[META4]], !amdgpu.no.remote.memory [[META4]]
+// SPIRV-DEV-NEXT:    store float [[TMP2]], ptr addrspace(4) [[ATOMIC_TEMP_ASCAST]], align 4
+// SPIRV-DEV-NEXT:    [[TMP3:%.*]] = load float, ptr addrspace(4) [[ATOMIC_TEMP_ASCAST]], align 4
+// SPIRV-DEV-NEXT:    ret void
+//
+// SPIRV-OPT-LABEL: define spir_func void @_Z8test_onePf(
+// SPIRV-OPT-SAME: ptr addrspace(4) noundef [[A:%.*]]) addrspace(4) #[[ATTR0]] {
+// SPIRV-OPT-NEXT:  [[ENTRY:.*:]]
+// SPIRV-OPT-NEXT:    [[A_ADDR:%.*]] = alloca ptr addrspace(4), align 8
+// SPIRV-OPT-NEXT:    [[DOTATOMICTMP:%.*]] = alloca float, align 4
+// SPIRV-OPT-NEXT:    [[ATOMIC_TEMP:%.*]] = alloca float, align 4
+// SPIRV-OPT-NEXT:    [[A_ADDR_ASCAST:%.*]] = addrspacecast ptr [[A_ADDR]] to ptr addrspace(4)
+// SPIRV-OPT-NEXT:    [[DOTATOMICTMP_ASCAST:%.*]] = addrspacecast ptr [[DOTATOMICTMP]] to ptr addrspace(4)
+// SPIRV-OPT-NEXT:    [[ATOMIC_TEMP_ASCAST:%.*]] = addrspacecast ptr [[ATOMIC_TEMP]] to ptr addrspace(4)
+// SPIRV-OPT-NEXT:    store ptr addrspace(4) [[A]], ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-OPT-NEXT:    [[TMP0:%.*]] = load ptr addrspace(4), ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-OPT-NEXT:    store float 1.000000e+00, ptr addrspace(4) [[DOTATOMICTMP_ASCAST]], align 4
+// SPIRV-OPT-NEXT:    [[TMP1:%.*]] = load float, ptr addrspace(4) [[DOTATOMICTMP_ASCAST]], align 4
+// SPIRV-OPT-NEXT:    [[TMP2:%.*]] = atomicrmw fadd ptr addrspace(4) [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.remote.memory [[META4]], !amdgpu.ignore.denormal.mode [[META4]]
+// SPIRV-OPT-NEXT:    store float [[TMP2]], ptr addrspace(4) [[ATOMIC_TEMP_ASCAST]], align 4
+// SPIRV-OPT-NEXT:    [[TMP3:%.*]] = load float, ptr addrspace(4) [[ATOMIC_TEMP_ASCAST]], align 4
+// SPIRV-OPT-NEXT:    ret void
+//
 __device__ __host__ void test_one(float *a) {
   [[clang::atomic(no_remote_memory)]] {
     __scoped_atomic_fetch_add(a, 1, __ATOMIC_RELAXED, __MEMORY_SCOPE_SYSTEM);
@@ -149,7 +227,7 @@ __device__ __host__ void test_one(float *a) {
 // DEV-NEXT:    [[TMP0:%.*]] = load ptr, ptr [[A_ADDR_ASCAST]], align 8
 // DEV-NEXT:    store float 1.000000e+00, ptr [[DOTATOMICTMP_ASCAST]], align 4
 // DEV-NEXT:    [[TMP1:%.*]] = load float, ptr [[DOTATOMICTMP_ASCAST]], align 4
-// DEV-NEXT:    [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.fine.grained.memory [[META4]], !amdgpu.ignore.denormal.mode [[META4]]
+// DEV-NEXT:    [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.fine.grained.memory [[META3]], !amdgpu.ignore.denormal.mode [[META3]]
 // DEV-NEXT:    store float [[TMP2]], ptr [[ATOMIC_TEMP_ASCAST]], align 4
 // DEV-NEXT:    [[TMP3:%.*]] = load float, ptr [[ATOMIC_TEMP_ASCAST]], align 4
 // DEV-NEXT:    ret void
@@ -167,11 +245,47 @@ __device__ __host__ void test_one(float *a) {
 // OPT-NEXT:    [[TMP0:%.*]] = load ptr, ptr [[A_ADDR_ASCAST]], align 8
 // OPT-NEXT:    store float 1.000000e+00, ptr [[DOTATOMICTMP_ASCAST]], align 4
 // OPT-NEXT:    [[TMP1:%.*]] = load float, ptr [[DOTATOMICTMP_ASCAST]], align 4
-// OPT-NEXT:    [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.ignore.denormal.mode [[META4]]
+// OPT-NEXT:    [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.ignore.denormal.mode [[META3]]
 // OPT-NEXT:    store float [[TMP2]], ptr [[ATOMIC_TEMP_ASCAST]], align 4
 // OPT-NEXT:    [[TMP3:%.*]] = load float, ptr [[ATOMIC_TEMP_ASCAST]], align 4
 // OPT-NEXT:    ret void
 //
+// SPIRV-DEV-LABEL: define spir_func void @_Z8test_twoPf(
+// SPIRV-DEV-SAME: ptr addrspace(4) noundef [[A:%.*]]) addrspace(4) #[[ATTR0]] {
+// SPIRV-DEV-NEXT:  [[ENTRY:.*:]]
+// SPIRV-DEV-NEXT:    [[A_ADDR:%.*]] = alloca ptr addrspace(4), align 8
+// SPIRV-DEV-NEXT:    [[DOTATOMICTMP:%.*]] = alloca float, align 4
+// SPIRV-DEV-NEXT:    [[ATOMIC_TEMP:%.*]] = alloca float, align 4
+// SPIRV-DEV-NEXT:    [[A_ADDR_ASCAST:%.*]] = addrspacecast ptr [[A_ADDR]] to ptr addrspace(4)
+// SPIRV-DEV-NEXT:    [[DOTATOMICTMP_ASCAST:%.*]] = addrspacecast ptr [[DOTATOMICTMP]] to ptr addrspace(4)
+// SPIRV-DEV-NEXT:    [[ATOMIC_TEMP_ASCAST:%.*]] = addrspacecast ptr [[ATOMIC_TEMP]] to ptr addrspace(4)
+// SPIRV-DEV-NEXT:    store ptr addrspace(4) [[A]], ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-DEV-NEXT:    [[TMP0:%.*]] = load ptr addrspace(4), ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-DEV-NEXT:    store float 1.000000e+00, ptr addrspace(4) [[DOTATOMICTMP_ASCAST]], align 4
+// SPIRV-DEV-NEXT:    [[TMP1:%.*]] = load float, ptr addrspace(4) [[DOTATOMICTMP_ASCAST]], align 4
+// SPIRV-DEV-NEXT:    [[TMP2:%.*]] = atomicrmw fadd ptr addrspace(4) [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.fine.grained.memory [[META4]], !amdgpu.ignore.denormal.mode [[META4]]
+// SPIRV-DEV-NEXT:    store float [[TMP2]], ptr addrspace(4) [[ATOMIC_TEMP_ASCAST]], align 4
+// SPIRV-DEV-NEXT:    [[TMP3:%.*]] = load float, ptr addrspace(4) [[ATOMIC_TEMP_ASCAST]], align 4
+// SPIRV-DEV-NEXT:    ret void
+//
+// SPIRV-OPT-LABEL: define spir_func void @_Z8test_twoPf(
+// SPIRV-OPT-SAME: ptr addrspace(4) noundef [[A:%.*]]) addrspace(4) #[[ATTR0]] {
+// SPIRV-OPT-NEXT:  [[ENTRY:.*:]]
+// SPIRV-OPT-NEXT:    [[A_ADDR:%.*]] = alloca ptr addrspace(4), align 8
+// SPIRV-OPT-NEXT:    [[DOTATOMICTMP:%.*]] = alloca float, align 4
+// SPIRV-OPT-NEXT:    [[ATOMIC_TEMP:%.*]] = alloca float, align 4
+// SPIRV-OPT-NEXT:    [[A_ADDR_ASCAST:%.*]] = addrspacecast ptr [[A_ADDR]] to ptr addrspace(4)
+// SPIRV-OPT-NEXT:    [[DOTATOMICTMP_ASCAST:%.*]] = addrspacecast ptr [[DOTATOMICTMP]] to ptr addrspace(4)
+// SPIRV-OPT-NEXT:    [[ATOMIC_TEMP_ASCAST:%.*]] = addrspacecast ptr [[ATOMIC_TEMP]] to ptr addrspace(4)
+// SPIRV-OPT-NEXT:    store ptr addrspace(4) [[A]], ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-OPT-NEXT:    [[TMP0:%.*]] = load ptr addrspace(4), ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-OPT-NEXT:    store float 1.000000e+00, ptr addrspace(4) [[DOTATOMICTMP_ASCAST]], align 4
+// SPIRV-OPT-NEXT:    [[TMP1:%.*]] = load float, ptr addrspace(4) [[DOTATOMICTMP_ASCAST]], align 4
+// SPIRV-OPT-NEXT:    [[TMP2:%.*]] = atomicrmw fadd ptr addrspace(4) [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.ignore.denormal.mode [[META4]]
+// SPIRV-OPT-NEXT:    store float [[TMP2]], ptr addrspace(4) [[ATOMIC_TEMP_ASCAST]], align 4
+// SPIRV-OPT-NEXT:    [[TMP3:%.*]] = load float, ptr addrspace(4) [[ATOMIC_TEMP_ASCAST]], align 4
+// SPIRV-OPT-NEXT:    ret void
+//
 __device__ __host__ void test_two(float *a) {
   [[clang::atomic(remote_memory, ignore_denormal_mode)]] {
     __scoped_atomic_fetch_add(a, 1, __ATOMIC_RELAXED, __MEMORY_SCOPE_SYSTEM);
@@ -206,7 +320,7 @@ __device__ __host__ void test_two(float *a) {
 // DEV-NEXT:    [[TMP0:%.*]] = load ptr, ptr [[A_ADDR_ASCAST]], align 8
 // DEV-NEXT:    store float 1.000000e+00, ptr [[DOTATOMICTMP_ASCAST]], align 4
 // DEV-NEXT:    [[TMP1:%.*]] = load float, ptr [[DOTATOMICTMP_ASCAST]], align 4
-// DEV-NEXT:    [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.remote.memory [[META4]]
+// DEV-NEXT:    [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.remote.memory [[META3]]
 // DEV-NEXT:    store float [[TMP2]], ptr [[ATOMIC_TEMP_ASCAST]], align 4
 // DEV-NEXT:    [[TMP3:%.*]] = load float, ptr [[ATOMIC_TEMP_ASCAST]], align 4
 // DEV-NEXT:    ret void
@@ -224,11 +338,47 @@ __device__ __host__ void test_two(float *a) {
 // OPT-NEXT:    [[TMP0:%.*]] = load ptr, ptr [[A_ADDR_ASCAST]], align 8
 // OPT-NEXT:    store float 1.000000e+00, ptr [[DOTATOMICTMP_ASCAST]], align 4
 // OPT-NEXT:    [[TMP1:%.*]] = load float, ptr [[DOTATOMICTMP_ASCAST]], align 4
-// OPT-NEXT:    [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.remote.memory [[META4]]
+// OPT-NEXT:    [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.remote.memory [[META3]]
 // OPT-NEXT:    store float [[TMP2]], ptr [[ATOMIC_TEMP_ASCAST]], align 4
 // OPT-NEXT:    [[TMP3:%.*]] = load float, ptr [[ATOMIC_TEMP_ASCAST]], align 4
 // OPT-NEXT:    ret void
 //
+// SPIRV-DEV-LABEL: define spir_func void @_Z10test_threePf(
+// SPIRV-DEV-SAME: ptr addrspace(4) noundef [[A:%.*]]) addrspace(4) #[[ATTR0]] {
+// SPIRV-DEV-NEXT:  [[ENTRY:.*:]]
+// SPIRV-DEV-NEXT:    [[A_ADDR:%.*]] = alloca ptr addrspace(4), align 8
+// SPIRV-DEV-NEXT:    [[DOTATOMICTMP:%.*]] = alloca float, align 4
+// SPIRV-DEV-NEXT:    [[ATOMIC_TEMP:%.*]] = alloca float, align 4
+// SPIRV-DEV-NEXT:    [[A_ADDR_ASCAST:%.*]] = addrspacecast ptr [[A_ADDR]] to ptr addrspace(4)
+// SPIRV-DEV-NEXT:    [[DOTATOMICTMP_ASCAST:%.*]] = addrspacecast ptr [[DOTATOMICTMP]] to ptr addrspace(4)
+// SPIRV-DEV-NEXT:    [[ATOMIC_TEMP_ASCAST:%.*]] = addrspacecast ptr [[ATOMIC_TEMP]] to ptr addrspace(4)
+// SPIRV-DEV-NEXT:    store ptr addrspace(4) [[A]], ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-DEV-NEXT:    [[TMP0:%.*]] = load ptr addrspace(4), ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-DEV-NEXT:    store float 1.000000e+00, ptr addrspace(4) [[DOTATOMICTMP_ASCAST]], align 4
+// SPIRV-DEV-NEXT:    [[TMP1:%.*]] = load float, ptr addrspace(4) [[DOTATOMICTMP_ASCAST]], align 4
+// SPIRV-DEV-NEXT:    [[TMP2:%.*]] = atomicrmw fadd ptr addrspace(4) [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.remote.memory [[META4]]
+// SPIRV-DEV-NEXT:    store float [[TMP2]], ptr addrspace(4) [[ATOMIC_TEMP_ASCAST]], align 4
+// SPIRV-DEV-NEXT:    [[TMP3:%.*]] = load float, ptr addrspace(4) [[ATOMIC_TEMP_ASCAST]], align 4
+// SPIRV-DEV-NEXT:    ret void
+//
+// SPIRV-OPT-LABEL: define spir_func void @_Z10test_threePf(
+// SPIRV-OPT-SAME: ptr addrspace(4) noundef [[A:%.*]]) addrspace(4) #[[ATTR0]] {
+// SPIRV-OPT-NEXT:  [[ENTRY:.*:]]
+// SPIRV-OPT-NEXT:    [[A_ADDR:%.*]] = alloca ptr addrspace(4), align 8
+// SPIRV-OPT-NEXT:    [[DOTATOMICTMP:%.*]] = alloca float, align 4
+// SPIRV-OPT-NEXT:    [[ATOMIC_TEMP:%.*]] = alloca float, align 4
+// SPIRV-OPT-NEXT:    [[A_ADDR_ASCAST:%.*]] = addrspacecast ptr [[A_ADDR]] to ptr addrspace(4)
+// SPIRV-OPT-NEXT:    [[DOTATOMICTMP_ASCAST:%.*]] = addrspacecast ptr [[DOTATOMICTMP]] to ptr addrspace(4)
+// SPIRV-OPT-NEXT:    [[ATOMIC_TEMP_ASCAST:%.*]] = addrspacecast ptr [[ATOMIC_TEMP]] to ptr addrspace(4)
+// SPIRV-OPT-NEXT:    store ptr addrspace(4) [[A]], ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-OPT-NEXT:    [[TMP0:%.*]] = load ptr addrspace(4), ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-OPT-NEXT:    store float 1.000000e+00, ptr addrspace(4) [[DOTATOMICTMP_ASCAST]], align 4
+// SPIRV-OPT-NEXT:    [[TMP1:%.*]] = load float, ptr addrspace(4) [[DOTATOMICTMP_ASCAST]], align 4
+// SPIRV-OPT-NEXT:    [[TMP2:%.*]] = atomicrmw fadd ptr addrspace(4) [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.remote.memory [[META4]]
+// SPIRV-OPT-NEXT:    store float [[TMP2]], ptr addrspace(4) [[ATOMIC_TEMP_ASCAST]], align 4
+// SPIRV-OPT-NEXT:    [[TMP3:%.*]] = load float, ptr addrspace(4) [[ATOMIC_TEMP_ASCAST]], align 4
+// SPIRV-OPT-NEXT:    ret void
+//
 __device__ __host__ void test_three(float *a) {
   [[clang::atomic(no_remote_memory, fine_grained_memory, no_ignore_denormal_mode)]] {
     __scoped_atomic_fetch_add(a, 1, __ATOMIC_RELAXED, __MEMORY_SCOPE_SYSTEM);
@@ -263,7 +413,7 @@ __device__ __host__ void test_three(float *a) {
 // DEV-NEXT:    [[TMP0:%.*]] = load ptr, ptr [[A_ADDR_ASCAST]], align 8
 // DEV-NEXT:    store float 1.000000e+00, ptr [[DOTATOMICTMP_ASCAST]], align 4
 // DEV-NEXT:    [[TMP1:%.*]] = load float, ptr [[DOTATOMICTMP_ASCAST]], align 4
-// DEV-NEXT:    [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.fine.grained.memory [[META4]]
+// DEV-NEXT:    [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.fine.grained.memory [[META3]]
 // DEV-NEXT:    store float [[TMP2]], ptr [[ATOMIC_TEMP_ASCAST]], align 4
 // DEV-NEXT:    [[TMP3:%.*]] = load float, ptr [[ATOMIC_TEMP_ASCAST]], align 4
 // DEV-NEXT:    ret void
@@ -281,11 +431,47 @@ __device__ __host__ void test_three(float *a) {
 // OPT-NEXT:    [[TMP0:%.*]] = load ptr, ptr [[A_ADDR_ASCAST]], align 8
 // OPT-NEXT:    store float 1.000000e+00, ptr [[DOTATOMICTMP_ASCAST]], align 4
 // OPT-NEXT:    [[TMP1:%.*]] = load float, ptr [[DOTATOMICTMP_ASCAST]], align 4
-// OPT-NEXT:    [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.ignore.denormal.mode [[META4]]
+// OPT-NEXT:    [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.ignore.denormal.mode [[META3]]
 // OPT-NEXT:    store float [[TMP2]], ptr [[ATOMIC_TEMP_ASCAST]], align 4
 // OPT-NEXT:    [[TMP3:%.*]] = load float, ptr [[ATOMIC_TEMP_ASCAST]], align 4
 // OPT-NEXT:    ret void
 //
+// SPIRV-DEV-LABEL: define spir_func void @_Z19test_multiple_attrsPf(
+// SPIRV-DEV-SAME: ptr addrspace(4) noundef [[A:%.*]]) addrspace(4) #[[ATTR0]] {
+// SPIRV-DEV-NEXT:  [[ENTRY:.*:]]
+// SPIRV-DEV-NEXT:    [[A_ADDR:%.*]] = alloca ptr addrspace(4), align 8
+// SPIRV-DEV-NEXT:    [[DOTATOMICTMP:%.*]] = alloca float, align 4
+// SPIRV-DEV-NEXT:    [[ATOMIC_TEMP:%.*]] = alloca float, align 4
+// SPIRV-DEV-NEXT:    [[A_ADDR_ASCAST:%.*]] = addrspacecast ptr [[A_ADDR]] to ptr addrspace(4)
+// SPIRV-DEV-NEXT:    [[DOTATOMICTMP_ASCAST:%.*]] = addrspacecast ptr [[DOTATOMICTMP]] to ptr addrspace(4)
+// SPIRV-DEV-NEXT:    [[ATOMIC_TEMP_ASCAST:%.*]] = addrspacecast ptr [[ATOMIC_TEMP]] to ptr addrspace(4)
+// SPIRV-DEV-NEXT:    store ptr addrspace(4) [[A]], ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-DEV-NEXT:    [[TMP0:%.*]] = load ptr addrspace(4), ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-DEV-NEXT:    store float 1.000000e+00, ptr addrspace(4) [[DOTATOMICTMP_ASCAST]], align 4
+// SPIRV-DEV-NEXT:    [[TMP1:%.*]] = load float, ptr addrspace(4) [[DOTATOMICTMP_ASCAST]], align 4
+// SPIRV-DEV-NEXT:    [[TMP2:%.*]] = atomicrmw fadd ptr addrspace(4) [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.fine.grained.memory [[META4]]
+// SPIRV-DEV-NEXT:    store float [[TMP2]], ptr addrspace(4) [[ATOMIC_TEMP_ASCAST]], align 4
+// SPIRV-DEV-NEXT:    [[TMP3:%.*]] = load float, ptr addrspace(4) [[ATOMIC_TEMP_ASCAST]], align 4
+// SPIRV-DEV-NEXT:    ret void
+//
+// SPIRV-OPT-LABEL: define spir_func void @_Z19test_multiple_attrsPf(
+// SPIRV-OPT-SAME: ptr addrspace(4) noundef [[A:%.*]]) addrspace(4) #[[ATTR0]] {
+// SPIRV-OPT-NEXT:  [[ENTRY:.*:]]
+// SPIRV-OPT-NEXT:    [[A_ADDR:%.*]] = alloca ptr addrspace(4), align 8
+// SPIRV-OPT-NEXT:    [[DOTATOMICTMP:%.*]] = alloca float, align 4
+// SPIRV-OPT-NEXT:    [[ATOMIC_TEMP:%.*]] = alloca float, align 4
+// SPIRV-OPT-NEXT:    [[A_ADDR_ASCAST:%.*]] = addrspacecast ptr [[A_ADDR]] to ptr addrspace(4)
+// SPIRV-OPT-NEXT:    [[DOTATOMICTMP_ASCAST:%.*]] = addrspacecast ptr [[DOTATOMICTMP]] to ptr addrspace(4)
+// SPIRV-OPT-NEXT:    [[ATOMIC_TEMP_ASCAST:%.*]] = addrspacecast ptr [[ATOMIC_TEMP]] to ptr addrspace(4)
+// SPIRV-OPT-NEXT:    store ptr addrspace(4) [[A]], ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-OPT-NEXT:    [[TMP0:%.*]] = load ptr addrspace(4), ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-OPT-NEXT:    store float 1.000000e+00, ptr addrspace(4) [[DOTATOMICTMP_ASCAST]], align 4
+// SPIRV-OPT-NEXT:    [[TMP1:%.*]] = load float, ptr addrspace(4) [[DOTATOMICTMP_ASCAST]], align 4
+// SPIRV-OPT-NEXT:    [[TMP2:%.*]] = atomicrmw fadd ptr addrspace(4) [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.ignore.denormal.mode [[META4]]
+// SPIRV-OPT-NEXT:    store float [[TMP2]], ptr addrspace(4) [[ATOMIC_TEMP_ASCAST]], align 4
+// SPIRV-OPT-NEXT:    [[TMP3:%.*]] = load float, ptr addrspace(4) [[ATOMIC_TEMP_ASCAST]], align 4
+// SPIRV-OPT-NEXT:    ret void
+//
 __device__ __host__ void test_multiple_attrs(float *a) {
   [[clang::atomic(no_remote_memory)]] [[clang::atomic(remote_memory)]] {
     __scoped_atomic_fetch_add(a, 1, __ATOMIC_RELAXED, __MEMORY_SCOPE_SYSTEM);
@@ -356,7 +542,7 @@ __device__ __host__ void test_multiple_attrs(float *a) {
 // DEV-NEXT:    [[TMP0:%.*]] = load ptr, ptr [[A_ADDR_ASCAST]], align 8
 // DEV-NEXT:    store float 1.000000e+00, ptr [[DOTATOMICTMP_ASCAST]], align 4
 // DEV-NEXT:    [[TMP1:%.*]] = load float, ptr [[DOTATOMICTMP_ASCAST]], align 4
-// DEV-NEXT:    [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.fine.grained.memory [[META4]], !amdgpu.no.remote.memory [[META4]]
+// DEV-NEXT:    [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.fine.grained.memory [[META3]], !amdgpu.no.remote.memory [[META3]]
 // DEV-NEXT:    store float [[TMP2]], ptr [[ATOMIC_TEMP_ASCAST]], align 4
 // DEV-NEXT:    [[TMP3:%.*]] = load float, ptr [[ATOMIC_TEMP_ASCAST]], align 4
 // DEV-NEXT:    [[TMP4:%.*]] = load ptr, ptr [[A_ADDR_ASCAST]], align 8
@@ -368,13 +554,13 @@ __device__ __host__ void test_multiple_attrs(float *a) {
 // DEV-NEXT:    [[TMP8:%.*]] = load ptr, ptr [[A_ADDR_ASCAST]], align 8
 // DEV-NEXT:    store float 3.000000e+00, ptr [[DOTATOMICTMP3_ASCAST]], align 4
 // DEV-NEXT:    [[TMP9:%.*]] = load float, ptr [[DOTATOMICTMP3_ASCAST]], align 4
-// DEV-NEXT:    [[TMP10:%.*]] = atomicrmw fmin ptr [[TMP8]], float [[TMP9]] syncscope("workgroup") acquire, align 4, !amdgpu.no.remote.memory [[META4]]
+// DEV-NEXT:    [[TMP10:%.*]] = atomicrmw fmin ptr [[TMP8]], float [[TMP9]] syncscope("workgroup") acquire, align 4, !amdgpu.no.remote.memory [[META3]]
 // DEV-NEXT:    store float [[TMP10]], ptr [[ATOMIC_TEMP4_ASCAST]], align 4
 // DEV-NEXT:    [[TMP11:%.*]] = load float, ptr [[ATOMIC_TEMP4_ASCAST]], align 4
 // DEV-NEXT:    [[TMP12:%.*]] = load ptr, ptr [[A_ADDR_ASCAST]], align 8
 // DEV-NEXT:    store float 4.000000e+00, ptr [[DOTATOMICTMP5_ASCAST]], align 4
 // DEV-NEXT:    [[TMP13:%.*]] = load float, ptr [[DOTATOMICTMP5_ASCAST]], align 4
-// DEV-NEXT:    [[TMP14:%.*]] = atomicrmw fsub ptr [[TMP12]], float [[TMP13]] syncscope("wavefront") release, align 4, !amdgpu.no.fine.grained.memory [[META4]]
+// DEV-NEXT:    [[TMP14:%.*]] = atomicrmw fsub ptr [[TMP12]], float [[TMP13]] syncscope("wavefront") release, align 4, !amdgpu.no.fine.grained.memory [[META3]]
 // DEV-NEXT:    store float [[TMP14]], ptr [[ATOMIC_TEMP6_ASCAST]], align 4
 // DEV-NEXT:    [[TMP15:%.*]] = load float, ptr [[ATOMIC_TEMP6_ASCAST]], align 4
 // DEV-NEXT:    ret void
@@ -404,7 +590,7 @@ __device__ __host__ void test_multiple_attrs(float *a) {
 // OPT-NEXT:    [[TMP0:%.*]] = load ptr, ptr [[A_ADDR_ASCAST]], align 8
 // OPT-NEXT:    store float 1.000000e+00, ptr [[DOTATOMICTMP_ASCAST]], align 4
 // OPT-NEXT:    [[TMP1:%.*]] = load float, ptr [[DOTATOMICTMP_ASCAST]], align 4
-// OPT-NEXT:    [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.remote.memory [[META4]], !amdgpu.ignore.denormal.mode [[META4]]
+// OPT-NEXT:    [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.remote.memory [[META3]], !amdgpu.ignore.denormal.mode [[META3]]
 // OPT-NEXT:    store float [[TMP2]], ptr [[ATOMIC_TEMP_ASCAST]], align 4
 // OPT-NEXT:    [[TMP3:%.*]] = load float, ptr [[ATOMIC_TEMP_ASCAST]], align 4
 // OPT-NEXT:    [[TMP4:%.*]] = load ptr, ptr [[A_ADDR_ASCAST]], align 8
@@ -416,17 +602,113 @@ __device__ __host__ void test_multiple_attrs(float *a) {
 // OPT-NEXT:    [[TMP8:%.*]] = load ptr, ptr [[A_ADDR_ASCAST]], align 8
 // OPT-NEXT:    store float 3.000000e+00, ptr [[DOTATOMICTMP3_ASCAST]], align 4
 // OPT-NEXT:    [[TMP9:%.*]] = load float, ptr [[DOTATOMICTMP3_ASCAST]], align 4
-// OPT-NEXT:    [[TMP10:%.*]] = atomicrmw fmin ptr [[TMP8]], float [[TMP9]] syncscope("workgroup") acquire, align 4, !amdgpu.no.remote.memory [[META4]]
+// OPT-NEXT:    [[TMP10:%.*]] = atomicrmw fmin ptr [[TMP8]], float [[TMP9]] syncscope("workgroup") acquire, align 4, !amdgpu.no.remote.memory [[META3]]
 // OPT-NEXT:    store float [[TMP10]], ptr [[ATOMIC_TEMP4_ASCAST]], align 4
 // OPT-NEXT:    [[TMP11:%.*]] = load float, ptr [[ATOMIC_TEMP4_ASCAST]], align 4
 // OPT-NEXT:    [[TMP12:%.*]] = load ptr, ptr [[A_ADDR_ASCAST]], align 8
 // OPT-NEXT:    store float 4.000000e+00, ptr [[DOTATOMICTMP5_ASCAST]], align 4
 // OPT-NEXT:    [[TMP13:%.*]] = load float, ptr [[DOTATOMICTMP5_ASCAST]], align 4
-// OPT-NEXT:    [[TMP14:%.*]] = atomicrmw fsub ptr [[TMP12]], float [[TMP13]] syncscope("wavefront") release, align 4, !amdgpu.no.fine.grained.memory [[META4]]
+// OPT-NEXT:    [[TMP14:%.*]] = atomicrmw fsub ptr [[TMP12]], float [[TMP13]] syncscope("wavefront") release, align 4, !amdgpu.no.fine.grained.memory [[META3]]
 // OPT-NEXT:    store float [[TMP14]], ptr [[ATOMIC_TEMP6_ASCAST]], align 4
 // OPT-NEXT:    [[TMP15:%.*]] = load float, ptr [[ATOMIC_TEMP6_ASCAST]], align 4
 // OPT-NEXT:    ret void
 //
+// SPIRV-DEV-LABEL: define spir_func void @_Z11test_nestedPf(
+// SPIRV-DEV-SAME: ptr addrspace(4) noundef [[A:%.*]]) addrspace(4) #[[ATTR0]] {
+// SPIRV-DEV-NEXT:  [[ENTRY:.*:]]
+// SPIRV-DEV-NEXT:    [[A_ADDR:%.*]] = alloca ptr addrspace(4), align 8
+// SPIRV-DEV-NEXT:    [[DOTATOMICTMP:%.*]] = alloca float, align 4
+// SPIRV-DEV-NEXT:    [[ATOMIC_TEMP:%.*]] = alloca float, align 4
+// SPIRV-DEV-NEXT:    [[DOTATOMICTMP1:%.*]] = alloca float, align 4
+// SPIRV-DEV-NEXT:    [[ATOMIC_TEMP2:%.*]] = alloca float, align 4
+// SPIRV-DEV-NEXT:    [[DOTATOMICTMP3:%.*]] = alloca float, align 4
+// SPIRV-DEV-NEXT:    [[ATOMIC_TEMP4:%.*]] = alloca float, align 4
+// SPIRV-DEV-NEXT:    [[DOTATOMICTMP5:%.*]] = alloca float, align 4
+// SPIRV-DEV-NEXT:    [[ATOMIC_TEMP6:%.*]] = alloca float, align 4
+// SPIRV-DEV-NEXT:    [[A_ADDR_ASCAST:%.*]] = addrspacecast ptr [[A_ADDR]] to ptr addrspace(4)
+// SPIRV-DEV-NEXT:    [[DOTATOMICTMP_ASCAST:%.*]] = addrspacecast ptr [[DOTATOMICTMP]] to ptr addrspace(4)
+// SPIRV-DEV-NEXT:    [[ATOMIC_TEMP_ASCAST:%.*]] = addrspacecast ptr [[ATOMIC_TEMP]] to ptr addrspace(4)
+// SPIRV-DEV-NEXT:    [[DOTATOMICTMP1_ASCAST:%.*]] = addrspacecast ptr [[DOTATOMICTMP1]] to ptr addrspace(4)
+// SPIRV-DEV-NEXT:    [[ATOMIC_TEMP2_ASCAST:%.*]] = addrspacecast ptr [[ATOMIC_TEMP2]] to ptr addrspace(4)
+// SPIRV-DEV-NEXT:    [[DOTATOMICTMP3_ASCAST:%.*]] = addrspacecast ptr [[DOTATOMICTMP3]] to ptr addrspace(4)
+// SPIRV-DEV-NEXT:    [[ATOMIC_TEMP4_ASCAST:%.*]] = addrspacecast ptr [[ATOMIC_TEMP4]] to ptr addrspace(4)
+// SPIRV-DEV-NEXT:    [[DOTATOMICTMP5_ASCAST:%.*]] = addrspacecast ptr [[DOTATOMICTMP5]] to ptr addrspace(4)
+// SPIRV-DEV-NEXT:    [[ATOMIC_TEMP6_ASCAST:%.*]] = addrspacecast ptr [[ATOMIC_TEMP6]] to ptr addrspace(4)
+// SPIRV-DEV-NEXT:    store ptr addrspace(4) [[A]], ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-DEV-NEXT:    [[TMP0:%.*]] = load ptr addrspace(4), ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-DEV-NEXT:    store float 1.000000e+00, ptr addrspace(4) [[DOTATOMICTMP_ASCAST]], align 4
+// SPIRV-DEV-NEXT:    [[TMP1:%.*]] = load float, ptr addrspace(4) [[DOTATOMICTMP_ASCAST]], align 4
+// SPIRV-DEV-NEXT:    [[TMP2:%.*]] = atomicrmw fadd ptr addrspace(4) [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.fine.grained.memory [[META4]], !amdgpu.no.remote.memory [[META4]]
+// SPIRV-DEV-NEXT:    store float [[TMP2]], ptr addrspace(4) [[ATOMIC_TEMP_ASCAST]], align 4
+// SPIRV-DEV-NEXT:    [[TMP3:%.*]] = load float, ptr addrspace(4) [[ATOMIC_TEMP_ASCAST]], align 4
+// SPIRV-DEV-NEXT:    [[TMP4:%.*]] = load ptr addrspace(4), ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-DEV-NEXT:    store float 2.000000e+00, ptr addrspace(4) [[DOTATOMICTMP1_ASCAST]], align 4
+// SPIRV-DEV-NEXT:    [[TMP5:%.*]] = load float, ptr addrspace(4) [[DOTATOMICTMP1_ASCAST]], align 4
+// SPIRV-DEV-NEXT:    [[TMP6:%.*]] = atomicrmw fmax ptr addrspace(4) [[TMP4]], float [[TMP5]] syncscope("device") seq_cst, align 4
+// SPIRV-DEV-NEXT:    store float [[TMP6]], ptr addrspace(4) [[ATOMIC_TEMP2_ASCAST]], align 4
+// SPIRV-DEV-NEXT:    [[TMP7:%.*]] = load float, ptr addrspace(4) [[ATOMIC_TEMP2_ASCAST]], align 4
+// SPIRV-DEV-NEXT:    [[TMP8:%.*]] = load ptr addrspace(4), ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-DEV-NEXT:    store float 3.000000e+00, ptr addrspace(4) [[DOTATOMICTMP3_ASCAST]], align 4
+// SPIRV-DEV-NEXT:    [[TMP9:%.*]] = load float, ptr addrspace(4) [[DOTATOMICTMP3_ASCAST]], align 4
+// SPIRV-DEV-NEXT:    [[TMP10:%.*]] = atomicrmw fmin ptr addrspace(4) [[TMP8]], float [[TMP9]] syncscope("workgroup") acquire, align 4, !amdgpu.no.remote.memory [[META4]]
+// SPIRV-DEV-NEXT:    store float [[TMP10]], ptr addrspace(4) [[ATOMIC_TEMP4_ASCAST]], align 4
+// SPIRV-DEV-NEXT:    [[TMP11:%.*]] = load float, ptr addrspace(4) [[ATOMIC_TEMP4_ASCAST]], align 4
+// SPIRV-DEV-NEXT:    [[TMP12:%.*]] = load ptr addrspace(4), ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-DEV-NEXT:    store float 4.000000e+00, ptr addrspace(4) [[DOTATOMICTMP5_ASCAST]], align 4
+// SPIRV-DEV-NEXT:    [[TMP13:%.*]] = load float, ptr addrspace(4) [[DOTATOMICTMP5_ASCAST]], align 4
+// SPIRV-DEV-NEXT:    [[TMP14:%.*]] = atomicrmw fsub ptr addrspace(4) [[TMP12]], float [[TMP13]] syncscope("subgroup") release, align 4, !amdgpu.no.fine.grained.memory [[META4]]
+// SPIRV-DEV-NEXT:    store float [[TMP14]], ptr addrspace(4) [[ATOMIC_TEMP6_ASCAST]], align 4
+// SPIRV-DEV-NEXT:    [[TMP15:%.*]] = load float, ptr addrspace(4) [[ATOMIC_TEMP6_ASCAST]], align 4
+// SPIRV-DEV-NEXT:    ret void
+//
+// SPIRV-OPT-LABEL: define spir_func void @_Z11test_nestedPf(
+// SPIRV-OPT-SAME: ptr addrspace(4) noundef [[A:%.*]]) addrspace(4) #[[ATTR0]] {
+// SPIRV-OPT-NEXT:  [[ENTRY:.*:]]
+// SPIRV-OPT-NEXT:    [[A_ADDR:%.*]] = alloca ptr addrspace(4), align 8
+// SPIRV-OPT-NEXT:    [[DOTATOMICTMP:%.*]] = alloca float, align 4
+// SPIRV-OPT-NEXT:    [[ATOMIC_TEMP:%.*]] = alloca float, align 4
+// SPIRV-OPT-NEXT:    [[DOTATOMICTMP1:%.*]] = alloca float, align 4
+// SPIRV-OPT-NEXT:    [[ATOMIC_TEMP2:%.*]] = alloca float, align 4
+// SPIRV-OPT-NEXT:    [[DOTATOMICTMP3:%.*]] = alloca float, align 4
+// SPIRV-OPT-NEXT:    [[ATOMIC_TEMP4:%.*]] = alloca float, align 4
+// SPIRV-OPT-NEXT:    [[DOTATOMICTMP5:%.*]] = alloca float, align 4
+// SPIRV-OPT-NEXT:    [[ATOMIC_TEMP6:%.*]] = alloca float, align 4
+// SPIRV-OPT-NEXT:    [[A_ADDR_ASCAST:%.*]] = addrspacecast ptr [[A_ADDR]] to ptr addrspace(4)
+// SPIRV-OPT-NEXT:    [[DOTATOMICTMP_ASCAST:%.*]] = addrspacecast ptr [[DOTATOMICTMP]] to ptr addrspace(4)
+// SPIRV-OPT-NEXT:    [[ATOMIC_TEMP_ASCAST:%.*]] = addrspacecast ptr [[ATOMIC_TEMP]] to ptr addrspace(4)
+// SPIRV-OPT-NEXT:    [[DOTATOMICTMP1_ASCAST:%.*]] = addrspacecast ptr [[DOTATOMICTMP1]] to ptr addrspace(4)
+// SPIRV-OPT-NEXT:    [[ATOMIC_TEMP2_ASCAST:%.*]] = addrspacecast ptr [[ATOMIC_TEMP2]] to ptr addrspace(4)
+// SPIRV-OPT-NEXT:    [[DOTATOMICTMP3_ASCAST:%.*]] = addrspacecast ptr [[DOTATOMICTMP3]] to ptr addrspace(4)
+// SPIRV-OPT-NEXT:    [[ATOMIC_TEMP4_ASCAST:%.*]] = addrspacecast ptr [[ATOMIC_TEMP4]] to ptr addrspace(4)
+// SPIRV-OPT-NEXT:    [[DOTATOMICTMP5_ASCAST:%.*]] = addrspacecast ptr [[DOTATOMICTMP5]] to ptr addrspace(4)
+// SPIRV-OPT-NEXT:    [[ATOMIC_TEMP6_ASCAST:%.*]] = addrspacecast ptr [[ATOMIC_TEMP6]] to ptr addrspace(4)
+// SPIRV-OPT-NEXT:    store ptr addrspace(4) [[A]], ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-OPT-NEXT:    [[TMP0:%.*]] = load ptr addrspace(4), ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-OPT-NEXT:    store float 1.000000e+00, ptr addrspace(4) [[DOTATOMICTMP_ASCAST]], align 4
+// SPIRV-OPT-NEXT:    [[TMP1:%.*]] = load float, ptr addrspace(4) [[DOTATOMICTMP_ASCAST]], align 4
+// SPIRV-OPT-NEXT:    [[TMP2:%.*]] = atomicrmw fadd ptr addrspace(4) [[TMP0]], float [[TMP1]] monotonic, align 4, !amdgpu.no.remote.memory [[META4]], !amdgpu.ignore.denormal.mode [[META4]]
+// SPIRV-OPT-NEXT:    store float [[TMP2]], ptr addrspace(4) [[ATOMIC_TEMP_ASCAST]], align 4
+// SPIRV-OPT-NEXT:    [[TMP3:%.*]] = load float, ptr addrspace(4) [[ATOMIC_TEMP_ASCAST]], align 4
+// SPIRV-OPT-NEXT:    [[TMP4:%.*]] = load ptr addrspace(4), ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-OPT-NEXT:    store float 2.000000e+00, ptr addrspace(4) [[DOTATOMICTMP1_ASCAST]], align 4
+// SPIRV-OPT-NEXT:    [[TMP5:%.*]] = load float, ptr addrspace(4) [[DOTATOMICTMP1_ASCAST]], align 4
+// SPIRV-OPT-NEXT:    [[TMP6:%.*]] = atomicrmw fmax ptr addrspace(4) [[TMP4]], float [[TMP5]] syncscope("device") seq_cst, align 4
+// SPIRV-OPT-NEXT:    store float [[TMP6]], ptr addrspace(4) [[ATOMIC_TEMP2_ASCAST]], align 4
+// SPIRV-OPT-NEXT:    [[TMP7:%.*]] = load float, ptr addrspace(4) [[ATOMIC_TEMP2_ASCAST]], align 4
+// SPIRV-OPT-NEXT:    [[TMP8:%.*]] = load ptr addrspace(4), ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-OPT-NEXT:    store float 3.000000e+00, ptr addrspace(4) [[DOTATOMICTMP3_ASCAST]], align 4
+// SPIRV-OPT-NEXT:    [[TMP9:%.*]] = load float, ptr addrspace(4) [[DOTATOMICTMP3_ASCAST]], align 4
+// SPIRV-OPT-NEXT:    [[TMP10:%.*]] = atomicrmw fmin ptr addrspace(4) [[TMP8]], float [[TMP9]] syncscope("workgroup") acquire, align 4, !amdgpu.no.remote.memory [[META4]]
+// SPIRV-OPT-NEXT:    store float [[TMP10]], ptr addrspace(4) [[ATOMIC_TEMP4_ASCAST]], align 4
+// SPIRV-OPT-NEXT:    [[TMP11:%.*]] = load float, ptr addrspace(4) [[ATOMIC_TEMP4_ASCAST]], align 4
+// SPIRV-OPT-NEXT:    [[TMP12:%.*]] = load ptr addrspace(4), ptr addrspace(4) [[A_ADDR_ASCAST]], align 8
+// SPIRV-OPT-NEXT:    store float 4.000000e+00, ptr addrspace(4) [[DOTATOMICTMP5_ASCAST]], align 4
+// SPIRV-OPT-NEXT:    [[TMP13:%.*]] = load float, ptr addrspace(4) [[DOTATOMICTMP5_ASCAST]], align 4
+// SPIRV-OPT-NEXT:    [[TMP14:%.*]] = atomicrmw fsub ptr addrspace(4) [[TMP12]], float [[TMP13]] syncscope("subgroup") release, align 4, !amdgpu.no.fine.grained.memory [[META4]]
+// SPIRV-OPT-NEXT:    store float [[TMP14]], ptr addrspace(4) [[ATOMIC_TEMP6_ASCAST]], align 4
+// SPIRV-OPT-NEXT:    [[TMP15:%.*]] = load float, ptr addrspace(4) [[ATOMIC_TEMP6_ASCAST]], align 4
+// SPIRV-OPT-NEXT:    ret void
+//
 __device__ __host__ void test_nested(float *a) {
   __scoped_atomic_fetch_add(a, 1, __ATOMIC_RELAXED, __MEMORY_SCOPE_SYSTEM);
   {
@@ -459,7 +741,11 @@ template<typename T> __device__ __host__ void test_template(T *a) {
 template __device__ __host__ void test_template<float>(float *a);
 
 //.
-// DEV: [[META4]] = !{}
+// DEV: [[META3]] = !{}
+//.
+// OPT: [[META3]] = !{}
+//.
+// SPIRV-DEV: [[META4]] = !{}
 //.
-// OPT: [[META4]] = !{}
+// SPIRV-OPT: [[META4]] = !{}
 //.
diff --git a/clang/test/CodeGenHIP/amdgpu-flat-atomic-fadd.hip b/clang/test/CodeGenHIP/amdgpu-flat-atomic-fadd.hip
index 97b26d2a097ed..620e7f836e840 100644
--- a/clang/test/CodeGenHIP/amdgpu-flat-atomic-fadd.hip
+++ b/clang/test/CodeGenHIP/amdgpu-flat-atomic-fadd.hip
@@ -1,6 +1,7 @@
 // NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py UTC_ARGS: --version 6
 // REQUIRES: amdgpu-registered-target
 // RUN: %clang_cc1 -triple amdgcn-amd-amdhsa -target-cpu gfx942 -emit-llvm -fcuda-is-device %s -o - | FileCheck %s
+// RUN: %clang_cc1 -triple spirv64-amd-amdhsa -emit-llvm -fcuda-is-device %s -o - | FileCheck --check-prefix=SPIRV %s
 
 #define __device__ __attribute__((device))
 #define __shared__ __attribute__((shared))
@@ -24,13 +25,36 @@ __device__ double global_double;
 // CHECK-NEXT:    store float [[VAL]], ptr [[VAL_ADDR_ASCAST]], align 4
 // CHECK-NEXT:    [[TMP0:%.*]] = load ptr, ptr [[PTR_ADDR_ASCAST]], align 8
 // CHECK-NEXT:    [[TMP1:%.*]] = load float, ptr [[VAL_ADDR_ASCAST]], align 4
-// CHECK-NEXT:    [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], float [[TMP1]] syncscope("agent") monotonic, align 4, !amdgpu.no.fine.grained.memory [[META4:![0-9]+]], !amdgpu.ignore.denormal.mode [[META4]]
+// CHECK-NEXT:    [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], float [[TMP1]] syncscope("agent") monotonic, align 4, !amdgpu.no.fine.grained.memory [[META3:![0-9]+]], !amdgpu.ignore.denormal.mode [[META3]]
 // CHECK-NEXT:    store float [[TMP2]], ptr [[RESULT_ASCAST]], align 4
 // CHECK-NEXT:    ret void
 //
+// SPIRV-LABEL: define spir_func void @_Z30test_flat_atomic_fadd_f32_flatPff(
+// SPIRV-SAME: ptr addrspace(4) noundef [[PTR:%.*]], float noundef [[VAL:%.*]]) addrspace(4) #[[ATTR0:[0-9]+]] {
+// SPIRV-NEXT:  [[ENTRY:.*:]]
+// SPIRV-NEXT:    [[PTR_ADDR:%.*]] = alloca ptr addrspace(4), align 8
+// SPIRV-NEXT:    [[VAL_ADDR:%.*]] = alloca float, align 4
+// SPIRV-NEXT:    [[RESULT:%.*]] = alloca float, align 4
+// SPIRV-NEXT:    [[PTR_ADDR_ASCAST:%.*]] = addrspacecast ptr [[PTR_ADDR]] to ptr addrspace(4)
+// SPIRV-NEXT:    [[VAL_ADDR_ASCAST:%.*]] = addrspacecast ptr [[VAL_ADDR]] to ptr addrspace(4)
+// SPIRV-NEXT:    [[RESULT_ASCAST:%.*]] = addrspacecast ptr [[RESULT]] to ptr addrspace(4)
+// SPIRV-NEXT:    store ptr addrspace(4) [[PTR]], ptr addrspace(4) [[PTR_ADDR_ASCAST]], align 8
+// SPIRV-NEXT:    store float [[VAL]], ptr addrspace(4) [[VAL_ADDR_ASCAST]], align 4
+// SPIRV-NEXT:    [[TMP0:%.*]] = call addrspace(4) i1 @llvm.spv.named.boolean.spec.constant(i32 -1, i1 false, metadata [[META4:![0-9]+]])
+// SPIRV-NEXT:    br i1 [[TMP0]], label %[[IF_THEN:.*]], label %[[IF_END:.*]]
+// SPIRV:       [[IF_THEN]]:
+// SPIRV-NEXT:    [[TMP1:%.*]] = load ptr addrspace(4), ptr addrspace(4) [[PTR_ADDR_ASCAST]], align 8
+// SPIRV-NEXT:    [[TMP2:%.*]] = addrspacecast ptr addrspace(4) [[TMP1]] to ptr
+// SPIRV-NEXT:    [[TMP3:%.*]] = load float, ptr addrspace(4) [[VAL_ADDR_ASCAST]], align 4
+// SPIRV-NEXT:    [[TMP4:%.*]] = atomicrmw fadd ptr [[TMP2]], float [[TMP3]] syncscope("device") monotonic, align 4, !amdgpu.no.fine.grained.memory [[META5:![0-9]+]], !amdgpu.ignore.denormal.mode [[META5]]
+// SPIRV-NEXT:    store float [[TMP4]], ptr addrspace(4) [[RESULT_ASCAST]], align 4
+// SPIRV-NEXT:    br label %[[IF_END]]
+// SPIRV:       [[IF_END]]:
+// SPIRV-NEXT:    ret void
+//
 __device__ void test_flat_atomic_fadd_f32_flat(float *ptr, float val) {
-  float result;
-  result = __builtin_amdgcn_flat_atomic_fadd_f32(ptr, val);
+  if (__builtin_amdgcn_is_invocable(__builtin_amdgcn_flat_atomic_fadd_f32))
+    float result = __builtin_amdgcn_flat_atomic_fadd_f32(ptr, val);
 }
 
 // CHECK-LABEL: define dso_local void @_Z30test_flat_atomic_fadd_f64_flatPdd(
@@ -46,13 +70,36 @@ __device__ void test_flat_atomic_fadd_f32_flat(float *ptr, float val) {
 // CHECK-NEXT:    store double [[VAL]], ptr [[VAL_ADDR_ASCAST]], align 8
 // CHECK-NEXT:    [[TMP0:%.*]] = load ptr, ptr [[PTR_ADDR_ASCAST]], align 8
 // CHECK-NEXT:    [[TMP1:%.*]] = load double, ptr [[VAL_ADDR_ASCAST]], align 8
-// CHECK-NEXT:    [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], double [[TMP1]] syncscope("agent") monotonic, align 8, !amdgpu.no.fine.grained.memory [[META4]]
+// CHECK-NEXT:    [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], double [[TMP1]] syncscope("agent") monotonic, align 8, !amdgpu.no.fine.grained.memory [[META3]]
 // CHECK-NEXT:    store double [[TMP2]], ptr [[RESULT_ASCAST]], align 8
 // CHECK-NEXT:    ret void
 //
+// SPIRV-LABEL: define spir_func void @_Z30test_flat_atomic_fadd_f64_flatPdd(
+// SPIRV-SAME: ptr addrspace(4) noundef [[PTR:%.*]], double noundef [[VAL:%.*]]) addrspace(4) #[[ATTR0]] {
+// SPIRV-NEXT:  [[ENTRY:.*:]]
+// SPIRV-NEXT:    [[PTR_ADDR:%.*]] = alloca ptr addrspace(4), align 8
+// SPIRV-NEXT:    [[VAL_ADDR:%.*]] = alloca double, align 8
+// SPIRV-NEXT:    [[RESULT:%.*]] = alloca double, align 8
+// SPIRV-NEXT:    [[PTR_ADDR_ASCAST:%.*]] = addrspacecast ptr [[PTR_ADDR]] to ptr addrspace(4)
+// SPIRV-NEXT:    [[VAL_ADDR_ASCAST:%.*]] = addrspacecast ptr [[VAL_ADDR]] to ptr addrspace(4)
+// SPIRV-NEXT:    [[RESULT_ASCAST:%.*]] = addrspacecast ptr [[RESULT]] to ptr addrspace(4)
+// SPIRV-NEXT:    store ptr addrspace(4) [[PTR]], ptr addrspace(4) [[PTR_ADDR_ASCAST]], align 8
+// SPIRV-NEXT:    store double [[VAL]], ptr addrspace(4) [[VAL_ADDR_ASCAST]], align 8
+// SPIRV-NEXT:    [[TMP0:%.*]] = call addrspace(4) i1 @llvm.spv.named.boolean.spec.constant(i32 -1, i1 false, metadata [[META6:![0-9]+]])
+// SPIRV-NEXT:    br i1 [[TMP0]], label %[[IF_THEN:.*]], label %[[IF_END:.*]]
+// SPIRV:       [[IF_THEN]]:
+// SPIRV-NEXT:    [[TMP1:%.*]] = load ptr addrspace(4), ptr addrspace(4) [[PTR_ADDR_ASCAST]], align 8
+// SPIRV-NEXT:    [[TMP2:%.*]] = addrspacecast ptr addrspace(4) [[TMP1]] to ptr
+// SPIRV-NEXT:    [[TMP3:%.*]] = load double, ptr addrspace(4) [[VAL_ADDR_ASCAST]], align 8
+// SPIRV-NEXT:    [[TMP4:%.*]] = atomicrmw fadd ptr [[TMP2]], double [[TMP3]] syncscope("device") monotonic, align 8, !amdgpu.no.fine.grained.memory [[META5]]
+// SPIRV-NEXT:    store double [[TMP4]], ptr addrspace(4) [[RESULT_ASCAST]], align 8
+// SPIRV-NEXT:    br label %[[IF_END]]
+// SPIRV:       [[IF_END]]:
+// SPIRV-NEXT:    ret void
+//
 __device__ void test_flat_atomic_fadd_f64_flat(double *ptr, double val) {
-  double result;
-  result = __builtin_amdgcn_flat_atomic_fadd_f64(ptr, val);
+  if (__builtin_amdgcn_is_invocable(__builtin_amdgcn_flat_atomic_fadd_f64))
+    double result = __builtin_amdgcn_flat_atomic_fadd_f64(ptr, val);
 }
 
 // CHECK-LABEL: define dso_local void @_Z32test_flat_atomic_fadd_f32_sharedPff(
@@ -68,13 +115,36 @@ __device__ void test_flat_atomic_fadd_f64_flat(double *ptr, double val) {
 // CHECK-NEXT:    store float [[VAL]], ptr [[VAL_ADDR_ASCAST]], align 4
 // CHECK-NEXT:    [[TMP0:%.*]] = load ptr, ptr [[PTR_ADDR_ASCAST]], align 8
 // CHECK-NEXT:    [[TMP1:%.*]] = load float, ptr [[VAL_ADDR_ASCAST]], align 4
-// CHECK-NEXT:    [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], float [[TMP1]] syncscope("agent") monotonic, align 4, !amdgpu.no.fine.grained.memory [[META4]], !amdgpu.ignore.denormal.mode [[META4]]
+// CHECK-NEXT:    [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], float [[TMP1]] syncscope("agent") monotonic, align 4, !amdgpu.no.fine.grained.memory [[META3]], !amdgpu.ignore.denormal.mode [[META3]]
 // CHECK-NEXT:    store float [[TMP2]], ptr [[RESULT_ASCAST]], align 4
 // CHECK-NEXT:    ret void
 //
+// SPIRV-LABEL: define spir_func void @_Z32test_flat_atomic_fadd_f32_sharedPff(
+// SPIRV-SAME: ptr addrspace(4) noundef [[PTR:%.*]], float noundef [[VAL:%.*]]) addrspace(4) #[[ATTR0]] {
+// SPIRV-NEXT:  [[ENTRY:.*:]]
+// SPIRV-NEXT:    [[PTR_ADDR:%.*]] = alloca ptr addrspace(4), align 8
+// SPIRV-NEXT:    [[VAL_ADDR:%.*]] = alloca float, align 4
+// SPIRV-NEXT:    [[RESULT:%.*]] = alloca float, align 4
+// SPIRV-NEXT:    [[PTR_ADDR_ASCAST:%.*]] = addrspacecast ptr [[PTR_ADDR]] to ptr addrspace(4)
+// SPIRV-NEXT:    [[VAL_ADDR_ASCAST:%.*]] = addrspacecast ptr [[VAL_ADDR]] to ptr addrspace(4)
+// SPIRV-NEXT:    [[RESULT_ASCAST:%.*]] = addrspacecast ptr [[RESULT]] to ptr addrspace(4)
+// SPIRV-NEXT:    store ptr addrspace(4) [[PTR]], ptr addrspace(4) [[PTR_ADDR_ASCAST]], align 8
+// SPIRV-NEXT:    store float [[VAL]], ptr addrspace(4) [[VAL_ADDR_ASCAST]], align 4
+// SPIRV-NEXT:    [[TMP0:%.*]] = call addrspace(4) i1 @llvm.spv.named.boolean.spec.constant(i32 -1, i1 false, metadata [[META4]])
+// SPIRV-NEXT:    br i1 [[TMP0]], label %[[IF_THEN:.*]], label %[[IF_END:.*]]
+// SPIRV:       [[IF_THEN]]:
+// SPIRV-NEXT:    [[TMP1:%.*]] = load ptr addrspace(4), ptr addrspace(4) [[PTR_ADDR_ASCAST]], align 8
+// SPIRV-NEXT:    [[TMP2:%.*]] = addrspacecast ptr addrspace(4) [[TMP1]] to ptr
+// SPIRV-NEXT:    [[TMP3:%.*]] = load float, ptr addrspace(4) [[VAL_ADDR_ASCAST]], align 4
+// SPIRV-NEXT:    [[TMP4:%.*]] = atomicrmw fadd ptr [[TMP2]], float [[TMP3]] syncscope("device") monotonic, align 4, !amdgpu.no.fine.grained.memory [[META5]], !amdgpu.ignore.denormal.mode [[META5]]
+// SPIRV-NEXT:    store float [[TMP4]], ptr addrspace(4) [[RESULT_ASCAST]], align 4
+// SPIRV-NEXT:    br label %[[IF_END]]
+// SPIRV:       [[IF_END]]:
+// SPIRV-NEXT:    ret void
+//
 __device__ void test_flat_atomic_fadd_f32_shared(__shared__ float *ptr, float val) {
-  float result;
-  result = __builtin_amdgcn_flat_atomic_fadd_f32(ptr, val);
+  if (__builtin_amdgcn_is_invocable(__builtin_amdgcn_flat_atomic_fadd_f32))
+    float result = __builtin_amdgcn_flat_atomic_fadd_f32(ptr, val);
 }
 
 // CHECK-LABEL: define dso_local void @_Z32test_flat_atomic_fadd_f64_sharedPdd(
@@ -90,13 +160,36 @@ __device__ void test_flat_atomic_fadd_f32_shared(__shared__ float *ptr, float va
 // CHECK-NEXT:    store double [[VAL]], ptr [[VAL_ADDR_ASCAST]], align 8
 // CHECK-NEXT:    [[TMP0:%.*]] = load ptr, ptr [[PTR_ADDR_ASCAST]], align 8
 // CHECK-NEXT:    [[TMP1:%.*]] = load double, ptr [[VAL_ADDR_ASCAST]], align 8
-// CHECK-NEXT:    [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], double [[TMP1]] syncscope("agent") monotonic, align 8, !amdgpu.no.fine.grained.memory [[META4]]
+// CHECK-NEXT:    [[TMP2:%.*]] = atomicrmw fadd ptr [[TMP0]], double [[TMP1]] syncscope("agent") monotonic, align 8, !amdgpu.no.fine.grained.memory [[META3]]
 // CHECK-NEXT:    store double [[TMP2]], ptr [[RESULT_ASCAST]], align 8
 // CHECK-NEXT:    ret void
 //
+// SPIRV-LABEL: define spir_func void @_Z32test_flat_atomic_fadd_f64_sharedPdd(
+// SPIRV-SAME: ptr addrspace(4) noundef [[PTR:%.*]], double noundef [[VAL:%.*]]) addrspace(4) #[[ATTR0]] {
+// SPIRV-NEXT:  [[ENTRY:.*:]]
+// SPIRV-NEXT:    [[PTR_ADDR:%.*]] = alloca ptr addrspace(4), align 8
+// SPIRV-NEXT:    [[VAL_ADDR:%.*]] = alloca double, align 8
+// SPIRV-NEXT:    [[RESULT:%.*]] = alloca double, align 8
+// SPIRV-NEXT:    [[PTR_ADDR_ASCAST:%.*]] = addrspacecast ptr [[PTR_ADDR]] to ptr addrspace(4)
+// SPIRV-NEXT:    [[VAL_ADDR_ASCAST:%.*]] = addrspacecast ptr [[VAL_ADDR]] to ptr addrspace(4)
+// SPIRV-NEXT:    [[RESULT_ASCAST:%.*]] = addrspacecast ptr [[RESULT]] to ptr addrspace(4)
+// SPIRV-NEXT:    store ptr addrspace(4) [[PTR]], ptr addrspace(4) [[PTR_ADDR_ASCAST]], align 8
+// SPIRV-NEXT:    store double [[VAL]], ptr addrspace(4) [[VAL_ADDR_ASCAST]], align 8
+// SPIRV-NEXT:    [[TMP0:%.*]] = call addrspace(4) i1 @llvm.spv.named.boolean.spec.constant(i32 -1, i1 false, metadata [[META6]])
+// SPIRV-NEXT:    br i1 [[TMP0]], label %[[IF_THEN:.*]], label %[[IF_END:.*]]
+// SPIRV:       [[IF_THEN]]:
+// SPIRV-NEXT:    [[TMP1:%.*]] = load ptr addrspace(4), ptr addrspace(4) [[PTR_ADDR_ASCAST]], align 8
+// SPIRV-NEXT:    [[TMP2:%.*]] = addrspacecast ptr addrspace(4) [[TMP1]] to ptr
+// SPIRV-NEXT:    [[TMP3:%.*]] = load double, ptr addrspace(4) [[VAL_ADDR_ASCAST]], align 8
+// SPIRV-NEXT:    [[TMP4:%.*]] = atomicrmw fadd ptr [[TMP2]], double [[TMP3]] syncscope("device") monotonic, align 8, !amdgpu.no.fine.grained.memory [[META5]]
+// SPIRV-NEXT:    store double [[TMP4]], ptr addrspace(4) [[RESULT_ASCAST]], align 8
+// SPIRV-NEXT:    br label %[[IF_END]]
+// SPIRV:       [[IF_END]]:
+// SPIRV-NEXT:    ret void
+//
 __device__ void test_flat_atomic_fadd_f64_shared(__shared__ double *ptr, double val) {
-  double result;
-  result = __builtin_amdgcn_flat_atomic_fadd_f64(ptr, val);
+  if (__builtin_amdgcn_is_invocable(__builtin_amdgcn_flat_atomic_fadd_f64))
+    double result = __builtin_amdgcn_flat_atomic_fadd_f64(ptr, val);
 }
 
 // CHECK-LABEL: define dso_local void @_Z34test_flat_atomic_fadd_f32_constantf(
@@ -108,13 +201,31 @@ __device__ void test_flat_atomic_fadd_f64_shared(__shared__ double *ptr, double
 // CHECK-NEXT:    [[RESULT_ASCAST:%.*]] = addrspacecast ptr addrspace(5) [[RESULT]] to ptr
 // CHECK-NEXT:    store float [[VAL]], ptr [[VAL_ADDR_ASCAST]], align 4
 // CHECK-NEXT:    [[TMP0:%.*]] = load float, ptr [[VAL_ADDR_ASCAST]], align 4
-// CHECK-NEXT:    [[TMP1:%.*]] = atomicrmw fadd ptr addrspacecast (ptr addrspace(4) @const_float to ptr), float [[TMP0]] syncscope("agent") monotonic, align 4, !amdgpu.no.fine.grained.memory [[META4]], !amdgpu.ignore.denormal.mode [[META4]]
+// CHECK-NEXT:    [[TMP1:%.*]] = atomicrmw fadd ptr addrspacecast (ptr addrspace(4) @const_float to ptr), float [[TMP0]] syncscope("agent") monotonic, align 4, !amdgpu.no.fine.grained.memory [[META3]], !amdgpu.ignore.denormal.mode [[META3]]
 // CHECK-NEXT:    store float [[TMP1]], ptr [[RESULT_ASCAST]], align 4
 // CHECK-NEXT:    ret void
 //
+// SPIRV-LABEL: define spir_func void @_Z34test_flat_atomic_fadd_f32_constantf(
+// SPIRV-SAME: float noundef [[VAL:%.*]]) addrspace(4) #[[ATTR0]] {
+// SPIRV-NEXT:  [[ENTRY:.*:]]
+// SPIRV-NEXT:    [[VAL_ADDR:%.*]] = alloca float, align 4
+// SPIRV-NEXT:    [[RESULT:%.*]] = alloca float, align 4
+// SPIRV-NEXT:    [[VAL_ADDR_ASCAST:%.*]] = addrspacecast ptr [[VAL_ADDR]] to ptr addrspace(4)
+// SPIRV-NEXT:    [[RESULT_ASCAST:%.*]] = addrspacecast ptr [[RESULT]] to ptr addrspace(4)
+// SPIRV-NEXT:    store float [[VAL]], ptr addrspace(4) [[VAL_ADDR_ASCAST]], align 4
+// SPIRV-NEXT:    [[TMP0:%.*]] = call addrspace(4) i1 @llvm.spv.named.boolean.spec.constant(i32 -1, i1 false, metadata [[META4]])
+// SPIRV-NEXT:    br i1 [[TMP0]], label %[[IF_THEN:.*]], label %[[IF_END:.*]]
+// SPIRV:       [[IF_THEN]]:
+// SPIRV-NEXT:    [[TMP1:%.*]] = load float, ptr addrspace(4) [[VAL_ADDR_ASCAST]], align 4
+// SPIRV-NEXT:    [[TMP2:%.*]] = atomicrmw fadd ptr addrspacecast (ptr addrspace(1) @const_float to ptr), float [[TMP1]] syncscope("device") monotonic, align 4, !amdgpu.no.fine.grained.memory [[META5]], !amdgpu.ignore.denormal.mode [[META5]]
+// SPIRV-NEXT:    store float [[TMP2]], ptr addrspace(4) [[RESULT_ASCAST]], align 4
+// SPIRV-NEXT:    br label %[[IF_END]]
+// SPIRV:       [[IF_END]]:
+// SPIRV-NEXT:    ret void
+//
 __device__ void test_flat_atomic_fadd_f32_constant(float val) {
-  float result;
-  result = __builtin_amdgcn_flat_atomic_fadd_f32(&const_float, val);
+  if (__builtin_amdgcn_is_invocable(__builtin_amdgcn_flat_atomic_fadd_f32))
+    float result = __builtin_amdgcn_flat_atomic_fadd_f32(&const_float, val);
 }
 
 // CHECK-LABEL: define dso_local void @_Z34test_flat_atomic_fadd_f64_constantd(
@@ -126,13 +237,31 @@ __device__ void test_flat_atomic_fadd_f32_constant(float val) {
 // CHECK-NEXT:    [[RESULT_ASCAST:%.*]] = addrspacecast ptr addrspace(5) [[RESULT]] to ptr
 // CHECK-NEXT:    store double [[VAL]], ptr [[VAL_ADDR_ASCAST]], align 8
 // CHECK-NEXT:    [[TMP0:%.*]] = load double, ptr [[VAL_ADDR_ASCAST]], align 8
-// CHECK-NEXT:    [[TMP1:%.*]] = atomicrmw fadd ptr addrspacecast (ptr addrspace(4) @const_double to ptr), double [[TMP0]] syncscope("agent") monotonic, align 8, !amdgpu.no.fine.grained.memory [[META4]]
+// CHECK-NEXT:    [[TMP1:%.*]] = atomicrmw fadd ptr addrspacecast (ptr addrspace(4) @const_double to ptr), double [[TMP0]] syncscope("agent") monotonic, align 8, !amdgpu.no.fine.grained.memory [[META3]]
 // CHECK-NEXT:    store double [[TMP1]], ptr [[RESULT_ASCAST]], align 8
 // CHECK-NEXT:    ret void
 //
+// SPIRV-LABEL: define spir_func void @_Z34test_flat_atomic_fadd_f64_constantd(
+// SPIRV-SAME: double noundef [[VAL:%.*]]) addrspace(4) #[[ATTR0]] {
+// SPIRV-NEXT:  [[ENTRY:.*:]]
+// SPIRV-NEXT:    [[VAL_ADDR:%.*]] = alloca double, align 8
+// SPIRV-NEXT:    [[RESULT:%.*]] = alloca double, align 8
+// SPIRV-NEXT:    [[VAL_ADDR_ASCAST:%.*]] = addrspacecast ptr [[VAL_ADDR]] to ptr addrspace(4)
+// SPIRV-NEXT:    [[RESULT_ASCAST:%.*]] = addrspacecast ptr [[RESULT]] to ptr addrspace(4)
+// SPIRV-NEXT:    store double [[VAL]], ptr addrspace(4) [[VAL_ADDR_ASCAST]], align 8
+// SPIRV-NEXT:    [[TMP0:%.*]] = call addrspace(4) i1 @llvm.spv.named.boolean.spec.constant(i32 -1, i1 false, metadata [[META6]])
+// SPIRV-NEXT:    br i1 [[TMP0]], label %[[IF_THEN:.*]], label %[[IF_END:.*]]
+// SPIRV:       [[IF_THEN]]:
+// SPIRV-NEXT:    [[TMP1:%.*]] = load double, ptr addrspace(4) [[VAL_ADDR_ASCAST]], align 8
+// SPIRV-NEXT:    [[TMP2:%.*]] = atomicrmw fadd ptr addrspacecast (ptr addrspace(1) @const_double to ptr), double [[TMP1]] syncscope("device") monotonic, align 8, !amdgpu.no.fine.grained.memory [[META5]]
+// SPIRV-NEXT:    store double [[TMP2]], ptr addrspace(4) [[RESULT_ASCAST]], align 8
+// SPIRV-NEXT:    br label %[[IF_END]]
+// SPIRV:       [[IF_END]]:
+// SPIRV-NEXT:    ret void
+//
 __device__ void test_flat_atomic_fadd_f64_constant(double val) {
-  double result;
-  result = __builtin_amdgcn_flat_atomic_fadd_f64(&const_double, val);
+  if (__builtin_amdgcn_is_invocable(__builtin_amdgcn_flat_atomic_fadd_f64))
+    double result = __builtin_amdgcn_flat_atomic_fadd_f64(&const_double, val);
 }
 
 // CHECK-LABEL: define dso_local void @_Z32test_flat_atomic_fadd_f32_globalf(
@@ -144,13 +273,31 @@ __device__ void test_flat_atomic_fadd_f64_constant(double val) {
 // CHECK-NEXT:    [[RESULT_ASCAST:%.*]] = addrspacecast ptr addrspace(5) [[RESULT]] to ptr
 // CHECK-NEXT:    store float [[VAL]], ptr [[VAL_ADDR_ASCAST]], align 4
 // CHECK-NEXT:    [[TMP0:%.*]] = load float, ptr [[VAL_ADDR_ASCAST]], align 4
-// CHECK-NEXT:    [[TMP1:%.*]] = atomicrmw fadd ptr addrspacecast (ptr addrspace(1) @global_float to ptr), float [[TMP0]] syncscope("agent") monotonic, align 4, !amdgpu.no.fine.grained.memory [[META4]], !amdgpu.ignore.denormal.mode [[META4]]
+// CHECK-NEXT:    [[TMP1:%.*]] = atomicrmw fadd ptr addrspacecast (ptr addrspace(1) @global_float to ptr), float [[TMP0]] syncscope("agent") monotonic, align 4, !amdgpu.no.fine.grained.memory [[META3]], !amdgpu.ignore.denormal.mode [[META3]]
 // CHECK-NEXT:    store float [[TMP1]], ptr [[RESULT_ASCAST]], align 4
 // CHECK-NEXT:    ret void
 //
+// SPIRV-LABEL: define spir_func void @_Z32test_flat_atomic_fadd_f32_globalf(
+// SPIRV-SAME: float noundef [[VAL:%.*]]) addrspace(4) #[[ATTR0]] {
+// SPIRV-NEXT:  [[ENTRY:.*:]]
+// SPIRV-NEXT:    [[VAL_ADDR:%.*]] = alloca float, align 4
+// SPIRV-NEXT:    [[RESULT:%.*]] = alloca float, align 4
+// SPIRV-NEXT:    [[VAL_ADDR_ASCAST:%.*]] = addrspacecast ptr [[VAL_ADDR]] to ptr addrspace(4)
+// SPIRV-NEXT:    [[RESULT_ASCAST:%.*]] = addrspacecast ptr [[RESULT]] to ptr addrspace(4)
+// SPIRV-NEXT:    store float [[VAL]], ptr addrspace(4) [[VAL_ADDR_ASCAST]], align 4
+// SPIRV-NEXT:    [[TMP0:%.*]] = call addrspace(4) i1 @llvm.spv.named.boolean.spec.constant(i32 -1, i1 false, metadata [[META4]])
+// SPIRV-NEXT:    br i1 [[TMP0]], label %[[IF_THEN:.*]], label %[[IF_END:.*]]
+// SPIRV:       [[IF_THEN]]:
+// SPIRV-NEXT:    [[TMP1:%.*]] = load float, ptr addrspace(4) [[VAL_ADDR_ASCAST]], align 4
+// SPIRV-NEXT:    [[TMP2:%.*]] = atomicrmw fadd ptr addrspacecast (ptr addrspace(1) @global_float to ptr), float [[TMP1]] syncscope("device") monotonic, align 4, !amdgpu.no.fine.grained.memory [[META5]], !amdgpu.ignore.denormal.mode [[META5]]
+// SPIRV-NEXT:    store float [[TMP2]], ptr addrspace(4) [[RESULT_ASCAST]], align 4
+// SPIRV-NEXT:    br label %[[IF_END]]
+// SPIRV:       [[IF_END]]:
+// SPIRV-NEXT:    ret void
+//
 __device__ void test_flat_atomic_fadd_f32_global(float val) {
-  float result;
-  result = __builtin_amdgcn_flat_atomic_fadd_f32(&global_float, val);
+  if (__builtin_amdgcn_is_invocable(__builtin_amdgcn_flat_atomic_fadd_f32))
+    float result = __builtin_amdgcn_flat_atomic_fadd_f32(&global_float, val);
 }
 
 // CHECK-LABEL: define dso_local void @_Z32test_flat_atomic_fadd_f64_globald(
@@ -162,14 +309,36 @@ __device__ void test_flat_atomic_fadd_f32_global(float val) {
 // CHECK-NEXT:    [[RESULT_ASCAST:%.*]] = addrspacecast ptr addrspace(5) [[RESULT]] to ptr
 // CHECK-NEXT:    store double [[VAL]], ptr [[VAL_ADDR_ASCAST]], align 8
 // CHECK-NEXT:    [[TMP0:%.*]] = load double, ptr [[VAL_ADDR_ASCAST]], align 8
-// CHECK-NEXT:    [[TMP1:%.*]] = atomicrmw fadd ptr addrspacecast (ptr addrspace(1) @global_double to ptr), double [[TMP0]] syncscope("agent") monotonic, align 8, !amdgpu.no.fine.grained.memory [[META4]]
+// CHECK-NEXT:    [[TMP1:%.*]] = atomicrmw fadd ptr addrspacecast (ptr addrspace(1) @global_double to ptr), double [[TMP0]] syncscope("agent") monotonic, align 8, !amdgpu.no.fine.grained.memory [[META3]]
 // CHECK-NEXT:    store double [[TMP1]], ptr [[RESULT_ASCAST]], align 8
 // CHECK-NEXT:    ret void
 //
+// SPIRV-LABEL: define spir_func void @_Z32test_flat_atomic_fadd_f64_globald(
+// SPIRV-SAME: double noundef [[VAL:%.*]]) addrspace(4) #[[ATTR0]] {
+// SPIRV-NEXT:  [[ENTRY:.*:]]
+// SPIRV-NEXT:    [[VAL_ADDR:%.*]] = alloca double, align 8
+// SPIRV-NEXT:    [[RESULT:%.*]] = alloca double, align 8
+// SPIRV-NEXT:    [[VAL_ADDR_ASCAST:%.*]] = addrspacecast ptr [[VAL_ADDR]] to ptr addrspace(4)
+// SPIRV-NEXT:    [[RESULT_ASCAST:%.*]] = addrspacecast ptr [[RESULT]] to ptr addrspace(4)
+// SPIRV-NEXT:    store double [[VAL]], ptr addrspace(4) [[VAL_ADDR_ASCAST]], align 8
+// SPIRV-NEXT:    [[TMP0:%.*]] = call addrspace(4) i1 @llvm.spv.named.boolean.spec.constant(i32 -1, i1 false, metadata [[META6]])
+// SPIRV-NEXT:    br i1 [[TMP0]], label %[[IF_THEN:.*]], label %[[IF_END:.*]]
+// SPIRV:       [[IF_THEN]]:
+// SPIRV-NEXT:    [[TMP1:%.*]] = load double, ptr addrspace(4) [[VAL_ADDR_ASCAST]], align 8
+// SPIRV-NEXT:    [[TMP2:%.*]] = atomicrmw fadd ptr addrspacecast (ptr addrspace(1) @global_double to ptr), double [[TMP1]] syncscope("device") monotonic, align 8, !amdgpu.no.fine.grained.memory [[META5]]
+// SPIRV-NEXT:    store double [[TMP2]], ptr addrspace(4) [[RESULT_ASCAST]], align 8
+// SPIRV-NEXT:    br label %[[IF_END]]
+// SPIRV:       [[IF_END]]:
+// SPIRV-NEXT:    ret void
+//
 __device__ void test_flat_atomic_fadd_f64_global(double val) {
-  double result;
-  result = __builtin_amdgcn_flat_atomic_fadd_f64(&global_double, val);
+  if (__builtin_amdgcn_is_invocable(__builtin_amdgcn_flat_atomic_fadd_f64))
+    double result = __builtin_amdgcn_flat_atomic_fadd_f64(&global_double, val);
 }
 //.
-// CHECK: [[META4]] = !{}
+// CHECK: [[META3]] = !{}
+//.
+// SPIRV: [[META4]] = !{!"has.gfx940-insts"}
+// SPIRV: [[META5]] = !{}
+// SPIRV: [[META6]] = !{!"has.gfx90a-insts"}
 //.
diff --git a/clang/test/CodeGenHIP/amdgpu-global-atomic-fadd.hip b/clang/test/CodeGenHIP/amdgpu-global-atomic-fadd.hip
index 1fa3a20442064..86c4bb205f2c1 100644
--- a/clang/test/CodeGenHIP/amdgpu-global-atomic-fadd.hip
+++ b/clang/test/CodeGenHIP/amdgpu-global-atomic-fadd.hip
@@ -1,6 +1,7 @@
 // NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py UTC_ARGS: --version 6
 // REQUIRES: amdgpu-registered-target
 // RUN: %clang_cc1 -triple amdgcn-amd-amdhsa -target-cpu gfx942 -emit-llvm -fcuda-is-device %s -o - | FileCheck %s
+// RUN: %clang_cc1 -triple spirv64-amd-amdhsa -emit-llvm -fcuda-is-device %s -o - | FileCheck --check-prefix=SPIRV %s
 
 #define __device__ __attribute__((device))
 
@@ -21,17 +22,45 @@ __device__ double global_double;
 // CHECK-NEXT:    [[TMP0:%.*]] = load ptr, ptr [[PTR_ADDR_ASCAST]], align 8
 // CHECK-NEXT:    [[TMP1:%.*]] = addrspacecast ptr [[TMP0]] to ptr addrspace(1)
 // CHECK-NEXT:    [[TMP2:%.*]] = load float, ptr [[VAL_ADDR_ASCAST]], align 4
-// CHECK-NEXT:    [[TMP3:%.*]] = atomicrmw fadd ptr addrspace(1) [[TMP1]], float [[TMP2]] syncscope("agent") monotonic, align 4, !amdgpu.no.fine.grained.memory [[META4:![0-9]+]], !amdgpu.ignore.denormal.mode [[META4]]
+// CHECK-NEXT:    [[TMP3:%.*]] = atomicrmw fadd ptr addrspace(1) [[TMP1]], float [[TMP2]] syncscope("agent") monotonic, align 4, !amdgpu.no.fine.grained.memory [[META3:![0-9]+]], !amdgpu.ignore.denormal.mode [[META3]]
 // CHECK-NEXT:    store float [[TMP3]], ptr [[RESULT_ASCAST]], align 4
 // CHECK-NEXT:    [[TMP4:%.*]] = load float, ptr [[VAL_ADDR_ASCAST]], align 4
-// CHECK-NEXT:    [[TMP5:%.*]] = atomicrmw fadd ptr addrspace(1) @global_float, float [[TMP4]] syncscope("agent") monotonic, align 4, !amdgpu.no.fine.grained.memory [[META4]], !amdgpu.ignore.denormal.mode [[META4]]
+// CHECK-NEXT:    [[TMP5:%.*]] = atomicrmw fadd ptr addrspace(1) @global_float, float [[TMP4]] syncscope("agent") monotonic, align 4, !amdgpu.no.fine.grained.memory [[META3]], !amdgpu.ignore.denormal.mode [[META3]]
 // CHECK-NEXT:    store float [[TMP5]], ptr [[RESULT_ASCAST]], align 4
 // CHECK-NEXT:    ret void
 //
+// SPIRV-LABEL: define spir_func void @_Z33test_global_atomic_fadd_f32_validPff(
+// SPIRV-SAME: ptr addrspace(4) noundef [[PTR:%.*]], float noundef [[VAL:%.*]]) addrspace(4) #[[ATTR0:[0-9]+]] {
+// SPIRV-NEXT:  [[ENTRY:.*:]]
+// SPIRV-NEXT:    [[PTR_ADDR:%.*]] = alloca ptr addrspace(4), align 8
+// SPIRV-NEXT:    [[VAL_ADDR:%.*]] = alloca float, align 4
+// SPIRV-NEXT:    [[RESULT:%.*]] = alloca float, align 4
+// SPIRV-NEXT:    [[PTR_ADDR_ASCAST:%.*]] = addrspacecast ptr [[PTR_ADDR]] to ptr addrspace(4)
+// SPIRV-NEXT:    [[VAL_ADDR_ASCAST:%.*]] = addrspacecast ptr [[VAL_ADDR]] to ptr addrspace(4)
+// SPIRV-NEXT:    [[RESULT_ASCAST:%.*]] = addrspacecast ptr [[RESULT]] to ptr addrspace(4)
+// SPIRV-NEXT:    store ptr addrspace(4) [[PTR]], ptr addrspace(4) [[PTR_ADDR_ASCAST]], align 8
+// SPIRV-NEXT:    store float [[VAL]], ptr addrspace(4) [[VAL_ADDR_ASCAST]], align 4
+// SPIRV-NEXT:    [[TMP0:%.*]] = call addrspace(4) i1 @llvm.spv.named.boolean.spec.constant(i32 -1, i1 false, metadata [[META4:![0-9]+]])
+// SPIRV-NEXT:    br i1 [[TMP0]], label %[[IF_THEN:.*]], label %[[IF_END:.*]]
+// SPIRV:       [[IF_THEN]]:
+// SPIRV-NEXT:    [[TMP1:%.*]] = load ptr addrspace(4), ptr addrspace(4) [[PTR_ADDR_ASCAST]], align 8
+// SPIRV-NEXT:    [[TMP2:%.*]] = addrspacecast ptr addrspace(4) [[TMP1]] to ptr addrspace(1)
+// SPIRV-NEXT:    [[TMP3:%.*]] = load float, ptr addrspace(4) [[VAL_ADDR_ASCAST]], align 4
+// SPIRV-NEXT:    [[TMP4:%.*]] = atomicrmw fadd ptr addrspace(1) [[TMP2]], float [[TMP3]] syncscope("device") monotonic, align 4, !amdgpu.no.fine.grained.memory [[META5:![0-9]+]], !amdgpu.ignore.denormal.mode [[META5]]
+// SPIRV-NEXT:    store float [[TMP4]], ptr addrspace(4) [[RESULT_ASCAST]], align 4
+// SPIRV-NEXT:    [[TMP5:%.*]] = load float, ptr addrspace(4) [[VAL_ADDR_ASCAST]], align 4
+// SPIRV-NEXT:    [[TMP6:%.*]] = atomicrmw fadd ptr addrspace(1) @global_float, float [[TMP5]] syncscope("device") monotonic, align 4, !amdgpu.no.fine.grained.memory [[META5]], !amdgpu.ignore.denormal.mode [[META5]]
+// SPIRV-NEXT:    store float [[TMP6]], ptr addrspace(4) [[RESULT_ASCAST]], align 4
+// SPIRV-NEXT:    br label %[[IF_END]]
+// SPIRV:       [[IF_END]]:
+// SPIRV-NEXT:    ret void
+//
 __device__ void test_global_atomic_fadd_f32_valid(float *ptr, float val) {
   float result;
-  result = __builtin_amdgcn_global_atomic_fadd_f32(ptr, val);
-  result = __builtin_amdgcn_global_atomic_fadd_f32(&global_float, val);
+  if (__builtin_amdgcn_is_invocable(__builtin_amdgcn_global_atomic_fadd_f32)) {
+    result = __builtin_amdgcn_global_atomic_fadd_f32(ptr, val);
+    result = __builtin_amdgcn_global_atomic_fadd_f32(&global_float, val);
+  }
 }
 
 // CHECK-LABEL: define dso_local void @_Z33test_global_atomic_fadd_f64_validPdd(
@@ -48,18 +77,50 @@ __device__ void test_global_atomic_fadd_f32_valid(float *ptr, float val) {
 // CHECK-NEXT:    [[TMP0:%.*]] = load ptr, ptr [[PTR_ADDR_ASCAST]], align 8
 // CHECK-NEXT:    [[TMP1:%.*]] = addrspacecast ptr [[TMP0]] to ptr addrspace(1)
 // CHECK-NEXT:    [[TMP2:%.*]] = load double, ptr [[VAL_ADDR_ASCAST]], align 8
-// CHECK-NEXT:    [[TMP3:%.*]] = atomicrmw fadd ptr addrspace(1) [[TMP1]], double [[TMP2]] syncscope("agent") monotonic, align 8, !amdgpu.no.fine.grained.memory [[META4]]
+// CHECK-NEXT:    [[TMP3:%.*]] = atomicrmw fadd ptr addrspace(1) [[TMP1]], double [[TMP2]] syncscope("agent") monotonic, align 8, !amdgpu.no.fine.grained.memory [[META3]]
 // CHECK-NEXT:    store double [[TMP3]], ptr [[RESULT_ASCAST]], align 8
 // CHECK-NEXT:    [[TMP4:%.*]] = load double, ptr [[VAL_ADDR_ASCAST]], align 8
-// CHECK-NEXT:    [[TMP5:%.*]] = atomicrmw fadd ptr addrspace(1) @global_double, double [[TMP4]] syncscope("agent") monotonic, align 8, !amdgpu.no.fine.grained.memory [[META4]]
+// CHECK-NEXT:    [[TMP5:%.*]] = atomicrmw fadd ptr addrspace(1) @global_double, double [[TMP4]] syncscope("agent") monotonic, align 8, !amdgpu.no.fine.grained.memory [[META3]]
 // CHECK-NEXT:    store double [[TMP5]], ptr [[RESULT_ASCAST]], align 8
 // CHECK-NEXT:    ret void
 //
+// SPIRV-LABEL: define spir_func void @_Z33test_global_atomic_fadd_f64_validPdd(
+// SPIRV-SAME: ptr addrspace(4) noundef [[PTR:%.*]], double noundef [[VAL:%.*]]) addrspace(4) #[[ATTR0]] {
+// SPIRV-NEXT:  [[ENTRY:.*:]]
+// SPIRV-NEXT:    [[PTR_ADDR:%.*]] = alloca ptr addrspace(4), align 8
+// SPIRV-NEXT:    [[VAL_ADDR:%.*]] = alloca double, align 8
+// SPIRV-NEXT:    [[RESULT:%.*]] = alloca double, align 8
+// SPIRV-NEXT:    [[PTR_ADDR_ASCAST:%.*]] = addrspacecast ptr [[PTR_ADDR]] to ptr addrspace(4)
+// SPIRV-NEXT:    [[VAL_ADDR_ASCAST:%.*]] = addrspacecast ptr [[VAL_ADDR]] to ptr addrspace(4)
+// SPIRV-NEXT:    [[RESULT_ASCAST:%.*]] = addrspacecast ptr [[RESULT]] to ptr addrspace(4)
+// SPIRV-NEXT:    store ptr addrspace(4) [[PTR]], ptr addrspace(4) [[PTR_ADDR_ASCAST]], align 8
+// SPIRV-NEXT:    store double [[VAL]], ptr addrspace(4) [[VAL_ADDR_ASCAST]], align 8
+// SPIRV-NEXT:    [[TMP0:%.*]] = call addrspace(4) i1 @llvm.spv.named.boolean.spec.constant(i32 -1, i1 false, metadata [[META6:![0-9]+]])
+// SPIRV-NEXT:    br i1 [[TMP0]], label %[[IF_THEN:.*]], label %[[IF_END:.*]]
+// SPIRV:       [[IF_THEN]]:
+// SPIRV-NEXT:    [[TMP1:%.*]] = load ptr addrspace(4), ptr addrspace(4) [[PTR_ADDR_ASCAST]], align 8
+// SPIRV-NEXT:    [[TMP2:%.*]] = addrspacecast ptr addrspace(4) [[TMP1]] to ptr addrspace(1)
+// SPIRV-NEXT:    [[TMP3:%.*]] = load double, ptr addrspace(4) [[VAL_ADDR_ASCAST]], align 8
+// SPIRV-NEXT:    [[TMP4:%.*]] = atomicrmw fadd ptr addrspace(1) [[TMP2]], double [[TMP3]] syncscope("device") monotonic, align 8, !amdgpu.no.fine.grained.memory [[META5]]
+// SPIRV-NEXT:    store double [[TMP4]], ptr addrspace(4) [[RESULT_ASCAST]], align 8
+// SPIRV-NEXT:    [[TMP5:%.*]] = load double, ptr addrspace(4) [[VAL_ADDR_ASCAST]], align 8
+// SPIRV-NEXT:    [[TMP6:%.*]] = atomicrmw fadd ptr addrspace(1) @global_double, double [[TMP5]] syncscope("device") monotonic, align 8, !amdgpu.no.fine.grained.memory [[META5]]
+// SPIRV-NEXT:    store double [[TMP6]], ptr addrspace(4) [[RESULT_ASCAST]], align 8
+// SPIRV-NEXT:    br label %[[IF_END]]
+// SPIRV:       [[IF_END]]:
+// SPIRV-NEXT:    ret void
+//
 __device__ void test_global_atomic_fadd_f64_valid(double *ptr, double val) {
   double result;
-  result = __builtin_amdgcn_global_atomic_fadd_f64(ptr, val);
-  result = __builtin_amdgcn_global_atomic_fadd_f64(&global_double, val);
+  if (__builtin_amdgcn_is_invocable(__builtin_amdgcn_global_atomic_fadd_f64)) {
+    result = __builtin_amdgcn_global_atomic_fadd_f64(ptr, val);
+    result = __builtin_amdgcn_global_atomic_fadd_f64(&global_double, val);
+  }
 }
 //.
-// CHECK: [[META4]] = !{}
+// CHECK: [[META3]] = !{}
+//.
+// SPIRV: [[META4]] = !{!"has.atomic-fadd-rtn-insts"}
+// SPIRV: [[META5]] = !{}
+// SPIRV: [[META6]] = !{!"has.gfx90a-insts"}
 //.
diff --git a/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp b/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
index 7a886de005b88..10fa49ca7688c 100644
--- a/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
@@ -2539,6 +2539,26 @@ void SPIRVEmitIntrinsics::insertSpirvDecorations(Instruction *I,
                       {I->getType()},
                       {I, MetadataAsValue::get(I->getContext(), MD)});
   }
+  if (I->getModule()->getTargetTriple().getVendor() == Triple::AMD &&
+      isa<AtomicRMWInst>(I)) {
+    auto &Ctx = B.getContext();
+    auto US = ConstantAsMetadata::get(ConstantInt::get(
+        B.getInt32Ty(), SPIRV::Decoration::UserSemantic));
+
+    SmallVector<Metadata *> MDs;
+    if (I->hasMetadata("amdgpu.no.fine.grained.memory"))
+      MDs.push_back(MDNode::get(
+          Ctx, {US, MDString::get(Ctx, "amdgpu.no.fine.grained.memory")}));
+    if (I->hasMetadata("amdgpu.no.remote.memory"))
+      MDs.push_back(MDNode::get(
+          Ctx, {US, MDString::get(Ctx, "amdgpu.no.remote.memory")}));
+    if (I->hasMetadata("amdgpu.ignore.denormal.mode"))
+      MDs.push_back(MDNode::get(
+          Ctx, {US, MDString::get(Ctx, "amdgpu.ignore.denormal.mode")}));
+    if (!MDs.empty())
+      B.CreateIntrinsic(Intrinsic::spv_assign_decoration, {I->getType()},
+                        {I, MetadataAsValue::get(Ctx, MDNode::get(Ctx, MDs))});
+  }
 }
 
 static SPIRV::FPFastMathDefaultInfoVector &getOrCreateFPFastMathDefaultInfoVec(

>From fc2a89b5ad496fb4b4fe9b9625fc289773a1e748 Mon Sep 17 00:00:00 2001
From: Alex Voicu <alexandru.voicu at amd.com>
Date: Mon, 20 Apr 2026 16:43:11 +0100
Subject: [PATCH 09/16] Add clarifying comment.

---
 llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp b/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
index 10fa49ca7688c..2188ea5732014 100644
--- a/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
@@ -2541,8 +2541,10 @@ void SPIRVEmitIntrinsics::insertSpirvDecorations(Instruction *I,
   }
   if (I->getModule()->getTargetTriple().getVendor() == Triple::AMD &&
       isa<AtomicRMWInst>(I)) {
+    // If present, we encode AMDGPU atomic metadata as UserSemantic string
+    // decorations, which will be parsed during reverse translation.
     auto &Ctx = B.getContext();
-    auto US = ConstantAsMetadata::get(ConstantInt::get(
+    auto *US = ConstantAsMetadata::get(ConstantInt::get(
         B.getInt32Ty(), SPIRV::Decoration::UserSemantic));
 
     SmallVector<Metadata *> MDs;

>From 811c1d3e159db013cd9a511a87a5889d107716ed Mon Sep 17 00:00:00 2001
From: Alex Voicu <alexandru.voicu at amd.com>
Date: Mon, 20 Apr 2026 19:06:10 +0100
Subject: [PATCH 10/16] Fix formatting.

---
 llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp b/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
index 2188ea5732014..609c997746505 100644
--- a/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
@@ -2544,8 +2544,8 @@ void SPIRVEmitIntrinsics::insertSpirvDecorations(Instruction *I,
     // If present, we encode AMDGPU atomic metadata as UserSemantic string
     // decorations, which will be parsed during reverse translation.
     auto &Ctx = B.getContext();
-    auto *US = ConstantAsMetadata::get(ConstantInt::get(
-        B.getInt32Ty(), SPIRV::Decoration::UserSemantic));
+    auto *US = ConstantAsMetadata::get(
+        ConstantInt::get(B.getInt32Ty(), SPIRV::Decoration::UserSemantic));
 
     SmallVector<Metadata *> MDs;
     if (I->hasMetadata("amdgpu.no.fine.grained.memory"))

>From 1625df344db9d2f8f3a8710ba74cb072167b1638 Mon Sep 17 00:00:00 2001
From: Alex Voicu <alexandru.voicu at amd.com>
Date: Tue, 21 Apr 2026 22:49:15 +0100
Subject: [PATCH 11/16] Add lowering test.

---
 .../amdgcnspirv-atomic-metadata-decoration.ll | 20 +++++++++++++++++++
 1 file changed, 20 insertions(+)
 create mode 100644 llvm/test/CodeGen/SPIRV/amdgcnspirv-atomic-metadata-decoration.ll

diff --git a/llvm/test/CodeGen/SPIRV/amdgcnspirv-atomic-metadata-decoration.ll b/llvm/test/CodeGen/SPIRV/amdgcnspirv-atomic-metadata-decoration.ll
new file mode 100644
index 0000000000000..1b64780767673
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/amdgcnspirv-atomic-metadata-decoration.ll
@@ -0,0 +1,20 @@
+; RUN: llc -O0 -mtriple=spirv64-amd-amdhsa %s -o - | FileCheck %s
+; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv64-amd-amdhsa %s -o - -filetype=obj | spirv-val %}
+
+; CHECK: OpDecorate %[[#Add:]] UserSemantic "amdgpu.no.fine.grained.memory"
+; CHECK-NEXT: OpDecorate %[[#Add]] UserSemantic "amdgpu.no.remote.memory"
+; CHECK-NEXT: OpDecorate %[[#FAdd:]] UserSemantic "amdgpu.no.fine.grained.memory"
+; CHECK-NEXT: OpDecorate %[[#FAdd]] UserSemantic "amdgpu.no.remote.memory"
+; CHECK-NEXT: OpDecorate %[[#FAdd]] UserSemantic "amdgpu.ignore.denormal.mode"
+; CHECK: %[[#Add]] = OpAtomicIAdd
+; CHECK: %[[#FAdd]] = OpAtomicFAddEXT
+
+define spir_kernel void @foo(ptr addrspace(1) %p) {
+entry:
+  %atomic.add = atomicrmw add ptr addrspace(1) %p, i32 1 seq_cst, !amdgpu.no.fine.grained.memory !1, !amdgpu.no.remote.memory !1
+  %atomic.fadd = atomicrmw fadd ptr addrspace(1) %p, float 1.0 seq_cst, !amdgpu.no.fine.grained.memory !1, !amdgpu.no.remote.memory !1, !amdgpu.ignore.denormal.mode !1
+  ret void
+}
+
+!0 = !{i32 5, i32 6}
+!1 = !{}

>From 34f1c6d39233f2e56a2fd78c8cfa2bd61ad395cf Mon Sep 17 00:00:00 2001
From: Alex Voicu <alexandru.voicu at amd.com>
Date: Thu, 23 Apr 2026 01:28:00 +0100
Subject: [PATCH 12/16] Clean up test.

---
 .../SPIRV/amdgcnspirv-atomic-metadata-decoration.ll      | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/llvm/test/CodeGen/SPIRV/amdgcnspirv-atomic-metadata-decoration.ll b/llvm/test/CodeGen/SPIRV/amdgcnspirv-atomic-metadata-decoration.ll
index 1b64780767673..9c6300f374261 100644
--- a/llvm/test/CodeGen/SPIRV/amdgcnspirv-atomic-metadata-decoration.ll
+++ b/llvm/test/CodeGen/SPIRV/amdgcnspirv-atomic-metadata-decoration.ll
@@ -9,12 +9,11 @@
 ; CHECK: %[[#Add]] = OpAtomicIAdd
 ; CHECK: %[[#FAdd]] = OpAtomicFAddEXT
 
-define spir_kernel void @foo(ptr addrspace(1) %p) {
+define spir_func void @foo(ptr addrspace(1) %p) {
 entry:
-  %atomic.add = atomicrmw add ptr addrspace(1) %p, i32 1 seq_cst, !amdgpu.no.fine.grained.memory !1, !amdgpu.no.remote.memory !1
-  %atomic.fadd = atomicrmw fadd ptr addrspace(1) %p, float 1.0 seq_cst, !amdgpu.no.fine.grained.memory !1, !amdgpu.no.remote.memory !1, !amdgpu.ignore.denormal.mode !1
+  %atomic.add = atomicrmw add ptr addrspace(1) %p, i32 1 seq_cst, !amdgpu.no.fine.grained.memory !0, !amdgpu.no.remote.memory !0
+  %atomic.fadd = atomicrmw fadd ptr addrspace(1) %p, float 1.0 seq_cst, !amdgpu.no.fine.grained.memory !0, !amdgpu.no.remote.memory !0, !amdgpu.ignore.denormal.mode !0
   ret void
 }
 
-!0 = !{i32 5, i32 6}
-!1 = !{}
+!0 = !{}

>From b2e6f4efa026afb2fbd99712ab5091edb120e46c Mon Sep 17 00:00:00 2001
From: Alex Voicu <alexandru.voicu at amd.com>
Date: Fri, 17 Jul 2026 09:55:24 +0100
Subject: [PATCH 13/16] Add support for `SPV_EXT_long_vector`.

---
 llvm/docs/SPIRVUsage.rst                      |    2 +
 llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp       |   15 +-
 llvm/lib/Target/SPIRV/SPIRVCombinerHelper.cpp |    5 +-
 llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp    |    3 +-
 llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp |   80 +-
 llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp |   96 +-
 llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h   |   10 +-
 llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp   |  111 +-
 llvm/lib/Target/SPIRV/SPIRVInstrInfo.td       |   14 +-
 .../Target/SPIRV/SPIRVInstructionSelector.cpp |  177 +-
 .../Target/SPIRV/SPIRVLegalizePointerCast.cpp |   14 +-
 llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp  |   34 +-
 llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp |   24 +-
 llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp  |    5 +-
 .../lib/Target/SPIRV/SPIRVSymbolicOperands.td |    2 +
 llvm/lib/Target/SPIRV/SPIRVUtils.cpp          |    5 +
 llvm/lib/Target/SPIRV/SPIRVUtils.h            |   25 +-
 .../bool-vector-bitcast.ll                    |  373 ++
 .../extensions/SPV_EXT_long_vector/ctpop.ll   |   21 +
 .../getelementptr-vector-index.ll             |   26 +
 .../SPV_EXT_long_vector/integer-casts.ll      |  334 ++
 .../llvm-vector-reduce/add.ll                 |   64 +
 .../llvm-vector-reduce/and.ll                 |   64 +
 .../llvm-vector-reduce/fadd.ll                |   68 +
 .../llvm-vector-reduce/fmax.ll                |   64 +
 .../llvm-vector-reduce/fmaximum.ll            |   64 +
 .../llvm-vector-reduce/fmin.ll                |   64 +
 .../llvm-vector-reduce/fminimum.ll            |   64 +
 .../llvm-vector-reduce/fmul.ll                |   68 +
 .../llvm-vector-reduce/mul.ll                 |   64 +
 .../llvm-vector-reduce/or.ll                  |   64 +
 .../llvm-vector-reduce/smax.ll                |   64 +
 .../llvm-vector-reduce/smin.ll                |   64 +
 .../llvm-vector-reduce/umax.ll                |   64 +
 .../llvm-vector-reduce/umin.ll                |   64 +
 .../llvm-vector-reduce/xor.ll                 |   64 +
 .../SPV_EXT_long_vector/phi-large-vector.ll   |   38 +
 .../SPV_EXT_long_vector/ptrmask-vec.ll        |   34 +
 .../single-element-vector-nested-aggregate.ll |  137 +
 .../single-element-vector.ll                  |   54 +
 .../spv-extractelt-legalization.ll            |   49 +
 .../SPV_EXT_long_vector/unmerge-crash-0.ll    | 3606 +++++++++++++++++
 .../SPV_EXT_long_vector/unmerge-crash-1.ll    | 2426 +++++++++++
 .../SPV_EXT_long_vector/vector-arithmetic.ll  |  129 +
 .../vector-index-scalarization.ll             |   89 +
 .../vector-legalization-kernel.ll             |   27 +
 .../vector-of-pointers-gep.ll                 |  259 ++
 47 files changed, 9027 insertions(+), 165 deletions(-)
 create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/bool-vector-bitcast.ll
 create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/ctpop.ll
 create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/getelementptr-vector-index.ll
 create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/integer-casts.ll
 create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/add.ll
 create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/and.ll
 create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fadd.ll
 create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fmax.ll
 create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fmaximum.ll
 create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fmin.ll
 create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fminimum.ll
 create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fmul.ll
 create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/mul.ll
 create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/or.ll
 create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/smax.ll
 create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/smin.ll
 create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/umax.ll
 create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/umin.ll
 create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/xor.ll
 create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/phi-large-vector.ll
 create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/ptrmask-vec.ll
 create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/single-element-vector-nested-aggregate.ll
 create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/single-element-vector.ll
 create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/spv-extractelt-legalization.ll
 create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/unmerge-crash-0.ll
 create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/unmerge-crash-1.ll
 create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/vector-arithmetic.ll
 create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/vector-index-scalarization.ll
 create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/vector-legalization-kernel.ll
 create mode 100644 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/vector-of-pointers-gep.ll

diff --git a/llvm/docs/SPIRVUsage.rst b/llvm/docs/SPIRVUsage.rst
index a820e2e6ff6e4..6d30ec3cbd682 100644
--- a/llvm/docs/SPIRVUsage.rst
+++ b/llvm/docs/SPIRVUsage.rst
@@ -161,6 +161,8 @@ Below is a list of supported SPIR-V extensions, sorted alphabetically by their e
      - Adds an instruction that prevents fast-math optimizations between its argument and the expression that contains it.
    * - ``SPV_EXT_demote_to_helper_invocation``
      - Adds an instruction that demotes a fragment shader invocation to a helper invocation.
+   * - ``SPV_EXT_long_vector``
+     - Adds support for any vector rank.
    * - ``SPV_EXT_optnone``
      - Adds OptNoneEXT value for Function Control mask that indicates a request to not optimize the function.
    * - ``SPV_EXT_shader_atomic_float16_add``
diff --git a/llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp b/llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
index 9a6b6e3fd4d7b..262d586196f49 100644
--- a/llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
@@ -440,7 +440,7 @@ buildBoolRegister(MachineIRBuilder &MIRBuilder, SPIRVTypeInst ResultType,
   LLT Type;
   SPIRVTypeInst BoolType = GR->getOrCreateSPIRVBoolType(MIRBuilder, true);
 
-  if (ResultType->getOpcode() == SPIRV::OpTypeVector) {
+  if (isVectorType(ResultType)) {
     unsigned VectorElements = GR->getScalarOrVectorComponentCount(ResultType);
     BoolType = GR->getOrCreateSPIRVVectorType(BoolType, VectorElements,
                                               MIRBuilder, true);
@@ -465,7 +465,7 @@ static bool buildSelectInst(MachineIRBuilder &MIRBuilder,
                             SPIRVTypeInst ReturnType, SPIRVGlobalRegistry *GR) {
   Register TrueConst, FalseConst;
 
-  if (ReturnType->getOpcode() == SPIRV::OpTypeVector) {
+  if (isVectorType(ReturnType)) {
     unsigned Bits = GR->getScalarOrVectorBitWidth(ReturnType);
     uint64_t AllOnes = APInt::getAllOnes(Bits).getZExtValue();
     TrueConst =
@@ -1790,7 +1790,7 @@ static bool generateBuiltinVar(const SPIRV::IncomingCall *Call,
   // Build a load instruction for the builtin variable.
   unsigned BitWidth = GR->getScalarOrVectorBitWidth(Call->ReturnType);
   LLT LLType;
-  if (Call->ReturnType->getOpcode() == SPIRV::OpTypeVector)
+  if (isVectorType(Call->ReturnType))
     LLType = LLT::fixed_vector(
         GR->getScalarOrVectorComponentCount(Call->ReturnType), BitWidth);
   else
@@ -1906,9 +1906,8 @@ static bool generateDotOrFMulInst(StringRef DemangledCall,
     return buildOpFromWrapper(MIRBuilder, SPIRV::OpDot, Call,
                               GR->getSPIRVTypeID(Call->ReturnType));
 
-  bool IsVec = GR->getSPIRVTypeForVReg(Call->Arguments[0])->getOpcode() ==
-               SPIRV::OpTypeVector;
   // Use OpDot only in case of vector args and OpFMul in case of scalar args.
+  bool IsVec = isVectorType(GR->getSPIRVTypeForVReg(Call->Arguments[0]));
   uint32_t OC = IsVec ? SPIRV::OpDot : SPIRV::OpFMulS;
   bool IsSwapReq = false;
 
@@ -2043,7 +2042,7 @@ static bool generateICarryBorrowInst(const SPIRV::IncomingCall *Call,
   SPIRVTypeInst OpType2 = GR->getSPIRVTypeForVReg(Call->Arguments[2]);
   if (!OpType1 || !OpType2 || OpType1 != OpType2)
     report_fatal_error("Operands must have the same type");
-  if (OpType1->getOpcode() == SPIRV::OpTypeVector)
+  if (isVectorType(OpType1))
     switch (Opcode) {
     case SPIRV::OpIAddCarryS:
       Opcode = SPIRV::OpIAddCarryV;
@@ -2212,7 +2211,7 @@ static bool generateImageSizeQueryInst(const SPIRV::IncomingCall *Call,
            "Invalid composite index!");
     Register TypeReg = GR->getSPIRVTypeID(Call->ReturnType);
     SPIRVTypeInst NewType = nullptr;
-    if (QueryResultType->getOpcode() == SPIRV::OpTypeVector) {
+    if (isVectorType(QueryResultType)) {
       NewType = GR->getScalarOrVectorComponentType(QueryResultType);
       Register NewTypeReg = GR->getSPIRVTypeID(NewType);
       if (TypeReg != NewTypeReg)
@@ -2346,7 +2345,7 @@ static bool generateReadImageInst(StringRef DemangledCall,
     Register Lod = GR->buildConstantFP(APFloat::getZero(APFloat::IEEEsingle()),
                                        MIRBuilder);
 
-    if (Call->ReturnType->getOpcode() != SPIRV::OpTypeVector) {
+    if (!isVectorType(Call->ReturnType)) {
       SPIRVTypeInst TempType =
           GR->getOrCreateSPIRVVectorType(Call->ReturnType, 4, MIRBuilder, true);
       Register TempRegister =
diff --git a/llvm/lib/Target/SPIRV/SPIRVCombinerHelper.cpp b/llvm/lib/Target/SPIRV/SPIRVCombinerHelper.cpp
index 660bee0f7a2cd..72627f872bd7b 100644
--- a/llvm/lib/Target/SPIRV/SPIRVCombinerHelper.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVCombinerHelper.cpp
@@ -279,7 +279,7 @@ SPIRVCombinerHelper::extractRows(Register MatrixReg, uint32_t NumRows,
   // If there is only one column, then each row is a scalar that needs
   // to be extracted.
   if (NumCols == 1) {
-    assert(SpvRowType->getOpcode() != SPIRV::OpTypeVector);
+    assert(!isVectorType(SpvRowType));
     for (uint32_t I = 0; I < NumRows; ++I)
       Rows.push_back(MRI.createGenericVirtualRegister(VecTy));
     Builder.buildUnmerge(Rows, MatrixReg);
@@ -310,13 +310,12 @@ SPIRVCombinerHelper::extractRows(Register MatrixReg, uint32_t NumRows,
 Register SPIRVCombinerHelper::computeDotProduct(Register RowA, Register ColB,
                                                 SPIRVTypeInst SpvVecType,
                                                 SPIRVGlobalRegistry *GR) const {
-  bool IsVectorOp = SpvVecType->getOpcode() == SPIRV::OpTypeVector;
   SPIRVTypeInst SpvScalarType = GR->getScalarOrVectorComponentType(SpvVecType);
   bool IsFloatOp = SpvScalarType->getOpcode() == SPIRV::OpTypeFloat;
   LLT VecTy = GR->getRegType(SpvVecType);
 
   Register DotRes;
-  if (IsVectorOp) {
+  if (isVectorType(SpvVecType)) {
     LLT ScalarTy = VecTy.getElementType();
     Intrinsic::SPVIntrinsics DotIntrinsic =
         (IsFloatOp ? Intrinsic::spv_fdot : Intrinsic::spv_udot);
diff --git a/llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp b/llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
index 4608f560e1acf..2fe23996b8cc2 100644
--- a/llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
@@ -179,7 +179,8 @@ static const StringMap<SPIRV::Extension::Extension> SPIRVExtensionMap = {
     {"SPV_AMD_weak_linkage", SPIRV::Extension::Extension::SPV_AMD_weak_linkage},
     {"SPV_KHR_abort", SPIRV::Extension::Extension::SPV_KHR_abort},
     {"SPV_KHR_poison_freeze",
-     SPIRV::Extension::Extension::SPV_KHR_poison_freeze}};
+     SPIRV::Extension::Extension::SPV_KHR_poison_freeze},
+    {"SPV_EXT_long_vector", SPIRV::Extension::Extension::SPV_EXT_long_vector}};
 
 bool SPIRVExtensionsParser::parse(cl::Option &O, StringRef ArgName,
                                   StringRef ArgValue, ExtensionSet &Vals) {
diff --git a/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp b/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
index 19e1e71488ee3..792214b547339 100644
--- a/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
@@ -188,6 +188,7 @@ class SPIRVEmitIntrinsics
   Function *CurrF = nullptr;
   bool TrackConstants = true;
   bool HaveFunPtrs = false;
+  bool CanUseAnyVectorRank = false;
   DenseMap<Instruction *, Constant *> AggrConsts;
   DenseMap<Instruction *, Type *> AggrConstTypes;
   SmallPtrSet<Instruction *, 0> AggrStores;
@@ -617,8 +618,9 @@ CallInst *SPIRVEmitIntrinsics::buildSpvPtrcast(Function *F, Value *Op,
   }
   Type *OpTy = Op->getType();
   SmallVector<Type *, 2> Types = {OpTy, OpTy};
-  SmallVector<Value *, 2> Args = {Op, buildMD(getNormalizedPoisonValue(ElemTy)),
-                                  B.getInt32(getPointerAddressSpace(OpTy))};
+  SmallVector<Value *, 2> Args = {
+      Op, buildMD(getNormalizedPoisonValue(ElemTy, CanUseAnyVectorRank)),
+      B.getInt32(getPointerAddressSpace(OpTy))};
   CallInst *PtrCasted =
       B.CreateIntrinsicWithoutFolding(Intrinsic::spv_ptrcast, {Types}, Args);
   GR->buildAssignPtr(B, ElemTy, PtrCasted);
@@ -1092,7 +1094,7 @@ Type *SPIRVEmitIntrinsics::deduceElementTypeHelper(
   // remember the found relationship
   if (Ty && !IgnoreKnownType) {
     // specify nested types if needed, otherwise return unchanged
-    GR->addDeducedElementType(I, normalizeType(Ty));
+    GR->addDeducedElementType(I, normalizeType(Ty, CanUseAnyVectorRank));
   }
 
   return Ty;
@@ -1178,7 +1180,8 @@ SPIRVEmitIntrinsics::deduceNestedTypeHelper(User *U, Type *OrigTy,
       }
       if (Ty != OpTy) {
         Type *NewTy = VectorType::get(Ty, VecTy->getElementCount());
-        GR->addDeducedCompositeType(U, normalizeType(NewTy));
+        GR->addDeducedCompositeType(U,
+                                    normalizeType(NewTy, CanUseAnyVectorRank));
         return NewTy;
       }
     }
@@ -1335,7 +1338,7 @@ bool SPIRVEmitIntrinsics::deduceOperandElementTypeFunctionRet(
   if (KnownElemTy)
     return false;
   if (Type *OpElemTy = GR->findDeducedElementType(Op)) {
-    OpElemTy = normalizeType(OpElemTy);
+    OpElemTy = normalizeType(OpElemTy, CanUseAnyVectorRank);
     GR->addDeducedElementType(F, OpElemTy);
     GR->addReturnType(
         F, TypedPointerType::get(OpElemTy,
@@ -1349,7 +1352,8 @@ bool SPIRVEmitIntrinsics::deduceOperandElementTypeFunctionRet(
       if (CallInst *AssignCI = GR->findAssignPtrTypeInstr(CI)) {
         if (Type *PrevElemTy = GR->findDeducedElementType(CI)) {
           GR->updateAssignType(AssignCI, CI,
-                               getNormalizedPoisonValue(OpElemTy));
+                               getNormalizedPoisonValue(OpElemTy,
+                                                        CanUseAnyVectorRank));
           propagateElemType(CI, PrevElemTy, VisitedSubst);
         }
       }
@@ -1533,7 +1537,7 @@ void SPIRVEmitIntrinsics::deduceOperandElementType(
     Type *Ty = AskTy ? AskTy : GR->findDeducedElementType(Op);
     if (Ty == KnownElemTy)
       continue;
-    Value *OpTyVal = getNormalizedPoisonValue(KnownElemTy);
+    Value *OpTyVal = getNormalizedPoisonValue(KnownElemTy, CanUseAnyVectorRank);
     Type *OpTy = Op->getType();
     // Do not let a non-pointer element type clobber an already-deduced pointer
     // pointee.
@@ -1543,7 +1547,8 @@ void SPIRVEmitIntrinsics::deduceOperandElementType(
     if (Op->hasUseList() && !WouldClobberPtrWithNonPtr &&
         (!Ty || AskTy || isUntypedPointerTy(Ty) || isTodoType(Op))) {
       Type *PrevElemTy = GR->findDeducedElementType(Op);
-      GR->addDeducedElementType(Op, normalizeType(KnownElemTy));
+      GR->addDeducedElementType(Op, normalizeType(KnownElemTy,
+                                                  CanUseAnyVectorRank));
       // check if KnownElemTy is complete
       if (!Incomplete)
         eraseTodoType(Op);
@@ -2124,7 +2129,7 @@ void SPIRVEmitIntrinsics::insertAssignPtrTypeTargetExt(
 
   CallInst *AssignCI = GR->findAssignPtrTypeInstr(V);
   if (!AssignCI) {
-    GR->buildAssignType(B, AssignedType, V);
+    GR->buildAssignType(B, AssignedType, V, CanUseAnyVectorRank);
     return;
   }
 
@@ -2144,7 +2149,8 @@ void SPIRVEmitIntrinsics::insertAssignPtrTypeTargetExt(
 
   // Our previous guess about the type seems to be wrong, let's update
   // inferred type according to a new, more precise type information.
-  GR->updateAssignType(AssignCI, V, getNormalizedPoisonValue(AssignedType));
+  GR->updateAssignType(
+      AssignCI, V, getNormalizedPoisonValue(AssignedType, CanUseAnyVectorRank));
 }
 
 void SPIRVEmitIntrinsics::replacePointerOperandWithPtrCast(
@@ -2159,7 +2165,8 @@ void SPIRVEmitIntrinsics::replacePointerOperandWithPtrCast(
     return;
 
   setInsertPointSkippingPhis(B, I);
-  Value *ExpectedElementVal = getNormalizedPoisonValue(ExpectedElementType);
+  Value *ExpectedElementVal = getNormalizedPoisonValue(ExpectedElementType,
+                                                       CanUseAnyVectorRank);
   MetadataAsValue *VMD = buildMD(ExpectedElementVal);
   unsigned AddressSpace = getPointerAddressSpace(Pointer->getType());
   bool FirstPtrCastOrAssignPtrType = true;
@@ -2333,7 +2340,8 @@ void SPIRVEmitIntrinsics::insertPtrCastOrAssignTypeInstr(Instruction *I,
       if (!ElemTy) {
         ElemTy = getPointeeTypeByCallInst(DemangledName, CalledF, OpIdx);
         if (ElemTy) {
-          GR->addDeducedElementType(CalledArg, normalizeType(ElemTy));
+          GR->addDeducedElementType(CalledArg,
+                                    normalizeType(ElemTy, CanUseAnyVectorRank));
         } else {
           for (User *U : CalledArg->users()) {
             if (Instruction *Inst = dyn_cast<Instruction>(U)) {
@@ -2386,7 +2394,7 @@ void SPIRVEmitIntrinsics::insertPtrCastOrAssignTypeInstr(Instruction *I,
 Instruction *SPIRVEmitIntrinsics::visitInsertElementInst(InsertElementInst &I) {
   // If it's a <1 x Type> vector type, don't modify it. It's not a legal vector
   // type in LLT and IRTranslator will replace it by the scalar.
-  if (isVector1(I.getType()))
+  if (isVector1(I.getType()) && !CanUseAnyVectorRank)
     return &I;
 
   SmallVector<Type *, 4> Types = {I.getType(), I.getOperand(0)->getType(),
@@ -2405,7 +2413,7 @@ Instruction *
 SPIRVEmitIntrinsics::visitExtractElementInst(ExtractElementInst &I) {
   // If it's a <1 x Type> vector type, don't modify it. It's not a legal vector
   // type in LLT and IRTranslator will replace it by the scalar.
-  if (isVector1(I.getVectorOperandType()))
+  if (isVector1(I.getVectorOperandType()) && !CanUseAnyVectorRank)
     return &I;
 
   IRBuilder<> B(I.getParent());
@@ -2843,7 +2851,8 @@ void SPIRVEmitIntrinsics::insertAssignTypeIntrs(Instruction *I,
         switch (ResIt->second) {
         case WellKnownTypes::Event:
           GR->buildAssignType(
-              B, TargetExtType::get(I->getContext(), "spirv.Event"), I);
+              B, TargetExtType::get(I->getContext(), "spirv.Event"), I,
+              CanUseAnyVectorRank);
           break;
         }
       }
@@ -2891,7 +2900,7 @@ void SPIRVEmitIntrinsics::insertAssignTypeIntrs(Instruction *I,
     } else if (auto It = AggrConstTypes.find(I); It != AggrConstTypes.end())
       TypeToAssign = It->second;
     TypeToAssign = restoreMutatedType(GR, I, TypeToAssign);
-    GR->buildAssignType(B, TypeToAssign, I);
+    GR->buildAssignType(B, TypeToAssign, I, CanUseAnyVectorRank);
   }
   for (const auto &Op : I->operands()) {
     if (isa<ConstantPointerNull>(Op) || isa<UndefValue>(Op) ||
@@ -2920,11 +2929,13 @@ void SPIRVEmitIntrinsics::insertAssignTypeIntrs(Instruction *I,
           if (OpTy->isTargetExtTy()) {
             // We need to do this in order to be consistent with how target ext
             // types are handled in `processInstrAfterVisit`
-            OpTyVal = getNormalizedPoisonValue(OpTy);
+            OpTyVal = getNormalizedPoisonValue(OpTy, CanUseAnyVectorRank);
           }
           CallInst *AssignCI =
               buildIntrWithMD(Intrinsic::spv_assign_type, {OpTy},
-                              getNormalizedPoisonValue(OpTy), OpTyVal, {}, B);
+                              getNormalizedPoisonValue(OpTy,
+                                                       CanUseAnyVectorRank),
+                              OpTyVal, {}, B);
           GR->addAssignPtrTypeInstr(OpTyVal, AssignCI);
         }
       }
@@ -3238,7 +3249,7 @@ void SPIRVEmitIntrinsics::processInstrAfterVisit(Instruction *I,
     if (OpTy->isTargetExtTy()) {
       // Since this value is replaced by poison, we need to do the same in
       // `insertAssignTypeIntrs`.
-      Value *OpTyVal = getNormalizedPoisonValue(OpTy);
+      Value *OpTyVal = getNormalizedPoisonValue(OpTy, CanUseAnyVectorRank);
       NewOp = buildIntrWithMD(Intrinsic::spv_track_constant,
                               {OpTy, OpTyVal->getType()}, Op, OpTyVal, {}, B);
     }
@@ -3246,7 +3257,8 @@ void SPIRVEmitIntrinsics::processInstrAfterVisit(Instruction *I,
         OpElemTy != IntegerType::getInt8Ty(I->getContext())) {
       SmallVector<Type *, 2> Types = {OpTy, OpTy};
       SmallVector<Value *, 2> Args = {
-          NewOp, buildMD(getNormalizedPoisonValue(OpElemTy)),
+          NewOp,
+          buildMD(getNormalizedPoisonValue(OpElemTy, CanUseAnyVectorRank)),
           B.getInt32(getPointerAddressSpace(OpTy))};
       CallInst *PtrCasted = B.CreateIntrinsicWithoutFolding(
           Intrinsic::spv_ptrcast, {Types}, Args);
@@ -3393,7 +3405,9 @@ void SPIRVEmitIntrinsics::processParamTypes(Function *F, IRBuilder<> &B) {
     if (!ElemTy && (ElemTy = deduceFunParamElementType(F, OpIdx)) != nullptr) {
       if (CallInst *AssignCI = GR->findAssignPtrTypeInstr(Arg)) {
         DenseSet<std::pair<Value *, Value *>> VisitedSubst;
-        GR->updateAssignType(AssignCI, Arg, getNormalizedPoisonValue(ElemTy));
+        GR->updateAssignType(
+            AssignCI, Arg,
+            getNormalizedPoisonValue(ElemTy, CanUseAnyVectorRank));
         propagateElemType(Arg, IntegerType::getInt8Ty(F->getContext()),
                           VisitedSubst);
       } else {
@@ -3447,7 +3461,8 @@ bool SPIRVEmitIntrinsics::processFunctionPointers(Module &M) {
           continue;
         if (II->getIntrinsicID() == Intrinsic::spv_assign_ptr_type ||
             II->getIntrinsicID() == Intrinsic::spv_ptrcast) {
-          GR->updateAssignType(II, &F, getNormalizedPoisonValue(FPElemTy));
+          GR->updateAssignType(
+              II, &F, getNormalizedPoisonValue(FPElemTy, CanUseAnyVectorRank));
           break;
         }
       }
@@ -3464,7 +3479,8 @@ bool SPIRVEmitIntrinsics::processFunctionPointers(Module &M) {
   for (Function *F : Worklist) {
     SmallVector<Value *> Args;
     for (const auto &Arg : F->args())
-      Args.push_back(getNormalizedPoisonValue(Arg.getType()));
+      Args.push_back(getNormalizedPoisonValue(Arg.getType(),
+                                              CanUseAnyVectorRank));
     IRB.CreateCall(F, Args);
   }
   IRB.CreateRetVoid();
@@ -3495,10 +3511,11 @@ void SPIRVEmitIntrinsics::applyDemangledPtrArgTypes(IRBuilder<> &B) {
             GR->buildAssignPtr(B, ElemTy, Arg);
           }
         } else if (isaGEP(Param)) {
-          replaceUsesOfWithSpvPtrcast(Param, normalizeType(ElemTy), CI,
-                                      Ptrcasts);
+          replaceUsesOfWithSpvPtrcast(
+              Param, normalizeType(ElemTy, CanUseAnyVectorRank), CI, Ptrcasts);
         } else if (isa<Instruction>(Param)) {
-          GR->addDeducedElementType(Param, normalizeType(ElemTy));
+          GR->addDeducedElementType(Param, normalizeType(ElemTy,
+                                                         CanUseAnyVectorRank));
           // insertAssignTypeIntrs() will complete buildAssignPtr()
         } else {
           B.SetInsertPoint(CI->getParent()
@@ -3514,7 +3531,7 @@ void SPIRVEmitIntrinsics::applyDemangledPtrArgTypes(IRBuilder<> &B) {
         if (!RefF || !isPointerTy(RefF->getReturnType()) ||
             GR->findDeducedElementType(RefF))
           continue;
-        ElemTy = normalizeType(ElemTy);
+        ElemTy = normalizeType(ElemTy, CanUseAnyVectorRank);
         GR->addDeducedElementType(RefF, ElemTy);
         GR->addReturnType(
             RefF, TypedPointerType::get(
@@ -3619,6 +3636,8 @@ bool SPIRVEmitIntrinsics::runOnFunction(Function &Func) {
     HaveFunPtrs =
         ST.canUseExtension(SPIRV::Extension::SPV_INTEL_function_pointers);
 
+  CanUseAnyVectorRank =
+      ST.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector);
   CurrF = &Func;
   IRBuilder<> B(Func.getContext());
   AggrConsts.clear();
@@ -3638,8 +3657,9 @@ bool SPIRVEmitIntrinsics::runOnFunction(Function &Func) {
       continue;
 
     if (SGEP) {
-      GR->addDeducedElementType(SGEP,
-                                normalizeType(SGEP->getResultElementType()));
+      GR->addDeducedElementType(
+          SGEP, normalizeType(SGEP->getResultElementType(),
+                              CanUseAnyVectorRank));
       continue;
     }
 
@@ -3650,7 +3670,7 @@ bool SPIRVEmitIntrinsics::runOnFunction(Function &Func) {
       GEP = NewGEP;
     }
     if (Type *GepTy = getGEPType(GEP))
-      GR->addDeducedElementType(GEP, normalizeType(GepTy));
+      GR->addDeducedElementType(GEP, normalizeType(GepTy, CanUseAnyVectorRank));
   }
   // Remove dead instructions that were simplified and replaced.
   for (auto *I : DeadInsts) {
diff --git a/llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp b/llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
index 4ba98651fb2d6..11166a3d6eb3f 100644
--- a/llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
@@ -325,11 +325,10 @@ const MachineInstr *SPIRVGlobalRegistry::createConstOrTypeAtFunctionEntry(
 }
 
 SPIRVTypeInst
-SPIRVGlobalRegistry::getOpTypeVector(uint32_t NumElems, SPIRVTypeInst ElemType,
-                                     MachineIRBuilder &MIRBuilder) {
+SPIRVGlobalRegistry::getOpTypeVectorImpl(
+    uint32_t NumElems, SPIRVTypeInst ElemType,
+    MachineIRBuilder &MIRBuilder, bool IsLongVector) {
   auto EleOpc = ElemType->getOpcode();
-  assert(NumElems >= 2 && "SPIR-V OpTypeVector requires at least 2 components");
-
   if (EleOpc == SPIRV::OpTypePointer) {
     if (!cast<SPIRVSubtarget>(MIRBuilder.getMF().getSubtarget())
              .canUseExtension(
@@ -349,13 +348,30 @@ SPIRVGlobalRegistry::getOpTypeVector(uint32_t NumElems, SPIRVTypeInst ElemType,
 
   return createConstOrTypeAtFunctionEntry(
       MIRBuilder, [&](MachineIRBuilder &MIRBuilder) {
-        return MIRBuilder.buildInstr(SPIRV::OpTypeVector)
+        return MIRBuilder.buildInstr(IsLongVector ? SPIRV::OpTypeVectorIdEXT
+                                                  : SPIRV::OpTypeVector)
             .addDef(createTypeVReg(MIRBuilder))
             .addUse(getSPIRVTypeID(ElemType))
             .addImm(NumElems);
       });
 }
 
+SPIRVTypeInst
+SPIRVGlobalRegistry::getOpTypeVector(uint32_t NumElems, SPIRVTypeInst ElemType,
+                                     MachineIRBuilder &MIRBuilder) {
+  assert(NumElems >= 2 && "SPIR-V OpTypeVector requires at least 2 components");
+  return getOpTypeVectorImpl(NumElems, ElemType, MIRBuilder);
+}
+
+SPIRVTypeInst
+SPIRVGlobalRegistry::getOpTypeVectorIdEXT(
+    uint32_t NumElems, SPIRVTypeInst ElemType, MachineIRBuilder &MIRBuilder) {
+  assert((NumElems < 2 || NumElems > 16 ||
+          (NumElems != 3 && NumElems != 4 && NumElems != 8)) &&
+         "SPIR-V OpTypeVectorIdExt should only be used for extended vectors");
+  return getOpTypeVectorImpl(NumElems, ElemType, MIRBuilder, true);
+}
+
 Register SPIRVGlobalRegistry::getOrCreateConstFP(APFloat Val, MachineInstr &I,
                                                  SPIRVTypeInst SpvType,
                                                  const SPIRVInstrInfo &TII,
@@ -558,8 +574,7 @@ Register SPIRVGlobalRegistry::getOrCreateBaseRegister(
     Constant *Val, MachineInstr &I, SPIRVTypeInst SpvType,
     const SPIRVInstrInfo &TII, unsigned BitWidth, bool ZeroAsNull) {
   SPIRVTypeInst Type = SpvType;
-  if (SpvType->getOpcode() == SPIRV::OpTypeVector ||
-      SpvType->getOpcode() == SPIRV::OpTypeArray) {
+  if (isVectorType(SpvType) || SpvType->getOpcode() == SPIRV::OpTypeArray) {
     auto EleTypeReg = SpvType->getOperand(1).getReg();
     Type = getSPIRVTypeForVReg(EleTypeReg);
   }
@@ -1142,9 +1157,11 @@ SPIRVTypeInst SPIRVGlobalRegistry::findSPIRVType(
     const Type *Ty, MachineIRBuilder &MIRBuilder,
     SPIRV::AccessQualifier::AccessQualifier AccQual,
     bool ExplicitLayoutRequired, bool EmitIR) {
-  // Treat <1 x T> as T.
+  const auto &STI = MIRBuilder.getMF().getSubtarget<SPIRVSubtarget>();
+  // Treat <1 x T> as T if the SPV_EXT_long_vector extension is not available.
   if (auto *FVT = dyn_cast<FixedVectorType>(Ty);
-      FVT && FVT->getNumElements() == 1)
+      FVT && FVT->getNumElements() == 1 &&
+      !STI.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector))
     return findSPIRVType(FVT->getElementType(), MIRBuilder, AccQual,
                          ExplicitLayoutRequired, EmitIR);
   Ty = adjustIntTypeByWidth(Ty);
@@ -1217,8 +1234,12 @@ SPIRVTypeInst SPIRVGlobalRegistry::createSPIRVType(
     SPIRVTypeInst El =
         findSPIRVType(cast<FixedVectorType>(Ty)->getElementType(), MIRBuilder,
                       AccQual, ExplicitLayoutRequired, EmitIR);
-    return getOpTypeVector(cast<FixedVectorType>(Ty)->getNumElements(), El,
-                           MIRBuilder);
+    unsigned NumElts = cast<FixedVectorType>(Ty)->getNumElements();
+    const auto &STI = MIRBuilder.getMF().getSubtarget<SPIRVSubtarget>();
+    if (isLongVector(Ty) &&
+        STI.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector))
+      return getOpTypeVectorIdEXT(NumElts, El, MIRBuilder);
+    return getOpTypeVector(NumElts, El, MIRBuilder);
   }
   if (Ty->isArrayTy()) {
     SPIRVTypeInst El = findSPIRVType(Ty->getArrayElementType(), MIRBuilder,
@@ -1343,9 +1364,12 @@ SPIRVTypeInst SPIRVGlobalRegistry::getOrCreateSPIRVType(
     const Type *Ty, MachineIRBuilder &MIRBuilder,
     SPIRV::AccessQualifier::AccessQualifier AccessQual,
     bool ExplicitLayoutRequired, bool EmitIR) {
-  // SPIR-V doesn't support single-element vectors. Treat <1 x T> as T.
+  // SPIR-V doesn't support single-element vectors. Treat <1 x T> as T if the
+  // SPV_EXT_long_vector extension is not available.
+  const auto &STI = MIRBuilder.getMF().getSubtarget<SPIRVSubtarget>();
   if (auto *FVT = dyn_cast<FixedVectorType>(Ty);
-      FVT && FVT->getNumElements() == 1)
+      FVT && FVT->getNumElements() == 1 &&
+      !STI.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector))
     return getOrCreateSPIRVType(FVT->getElementType(), MIRBuilder, AccessQual,
                                 ExplicitLayoutRequired, EmitIR);
   const MachineFunction *MF = &MIRBuilder.getMF();
@@ -1399,12 +1423,11 @@ bool SPIRVGlobalRegistry::isScalarOrVectorOfType(Register VReg,
   assert(Type && "isScalarOrVectorOfType VReg has no type assigned");
   if (Type->getOpcode() == TypeOpcode)
     return true;
-  if (Type->getOpcode() == SPIRV::OpTypeVector) {
-    Register ScalarTypeVReg = Type->getOperand(1).getReg();
-    SPIRVTypeInst ScalarType = getSPIRVTypeForVReg(ScalarTypeVReg);
-    return ScalarType->getOpcode() == TypeOpcode;
-  }
-  return false;
+  if (!isVectorType(Type))
+    return false;
+  Register ScalarTypeVReg = Type->getOperand(1).getReg();
+  SPIRVTypeInst ScalarType = getSPIRVTypeForVReg(ScalarTypeVReg);
+  return ScalarType->getOpcode() == TypeOpcode;
 }
 
 bool SPIRVGlobalRegistry::isResourceType(SPIRVTypeInst Type) const {
@@ -1429,7 +1452,7 @@ unsigned
 SPIRVGlobalRegistry::getScalarOrVectorComponentCount(SPIRVTypeInst Type) const {
   if (!Type)
     return 0;
-  return Type->getOpcode() == SPIRV::OpTypeVector
+  return (isVectorType(Type))
              ? static_cast<unsigned>(Type->getOperand(2).getImm())
              : 1;
 }
@@ -1438,9 +1461,8 @@ SPIRVTypeInst
 SPIRVGlobalRegistry::getScalarOrVectorComponentType(SPIRVTypeInst Type) const {
   if (!Type)
     return nullptr;
-  Register ScalarReg = Type->getOpcode() == SPIRV::OpTypeVector
-                           ? Type->getOperand(1).getReg()
-                           : Type->getOperand(0).getReg();
+  Register ScalarReg = (isVectorType(Type)) ? Type->getOperand(1).getReg()
+                                            : Type->getOperand(0).getReg();
   SPIRVTypeInst ScalarType = getSPIRVTypeForVReg(ScalarReg);
   assert(isScalarOrVectorOfType(Type->getOperand(0).getReg(),
                                 ScalarType->getOpcode()));
@@ -1966,9 +1988,12 @@ SPIRVTypeInst SPIRVGlobalRegistry::getOrCreateSPIRVVectorType(
 SPIRVTypeInst SPIRVGlobalRegistry::getOrCreateSPIRVVectorType(
     SPIRVTypeInst BaseType, unsigned NumElements, MachineInstr &I,
     const SPIRVInstrInfo &TII) {
-  // At this point of time all 1-element vectors are resolved. Add assertion
-  // to fire if anything changes.
-  assert(NumElements >= 2 && "SPIR-V vectors must have at least 2 components");
+  const auto &STI = I.getMF()->getSubtarget<SPIRVSubtarget>();
+  if (!STI.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector))
+    // At this point of time all 1-element vectors are resolved. Add assertion
+    // to fire if anything changes.
+    assert(NumElements >= 2 &&
+           "SPIR-V vectors must have at least 2 components");
   Type *Ty = FixedVectorType::get(
       const_cast<Type *>(getTypeForSPIRVType(BaseType)), NumElements);
   if (const MachineInstr *MI = findMI(Ty, false, CurMF))
@@ -1978,8 +2003,10 @@ SPIRVTypeInst SPIRVGlobalRegistry::getOrCreateSPIRVVectorType(
   MachineIRBuilder MIRBuilder(*DepMI->getParent(), DepMI->getIterator());
   const MachineInstr *NewMI = createConstOrTypeAtFunctionEntry(
       MIRBuilder, [&](MachineIRBuilder &MIRBuilder) {
+        auto OpTy =
+            (isLongVector(Ty)) ? SPIRV::OpTypeVectorIdEXT : SPIRV::OpTypeVector;
         return BuildMI(MIRBuilder.getMBB(), *MIRBuilder.getInsertPt(),
-                       MIRBuilder.getDL(), TII.get(SPIRV::OpTypeVector))
+                       MIRBuilder.getDL(), TII.get(OpTy))
             .addDef(createTypeVReg(CurMF->getRegInfo()))
             .addUse(getSPIRVTypeID(BaseType))
             .addImm(NumElements);
@@ -2104,7 +2131,8 @@ SPIRVGlobalRegistry::getRegClass(SPIRVTypeInst SpvType) const {
     return &SPIRV::fIDRegClass;
   case SPIRV::OpTypePointer:
     return &SPIRV::pIDRegClass;
-  case SPIRV::OpTypeVector: {
+  case SPIRV::OpTypeVector:
+  case SPIRV::OpTypeVectorIdEXT: {
     SPIRVTypeInst ElemType = getScalarOrVectorComponentType(SpvType);
     unsigned ElemOpcode = ElemType ? ElemType->getOpcode() : 0;
     if (ElemOpcode == SPIRV::OpTypeFloat)
@@ -2132,7 +2160,8 @@ LLT SPIRVGlobalRegistry::getRegType(SPIRVTypeInst SpvType) const {
     return LLT::scalar(getScalarOrVectorBitWidth(SpvType));
   case SPIRV::OpTypePointer:
     return LLT::pointer(getAS(SpvType), getPointerSize());
-  case SPIRV::OpTypeVector: {
+  case SPIRV::OpTypeVector:
+  case SPIRV::OpTypeVectorIdEXT: {
     SPIRVTypeInst ElemType = getScalarOrVectorComponentType(SpvType);
     LLT ET;
     switch (ElemType ? ElemType->getOpcode() : 0) {
@@ -2147,7 +2176,8 @@ LLT SPIRVGlobalRegistry::getRegType(SPIRVTypeInst SpvType) const {
     default:
       ET = LLT::scalar(64);
     }
-    return LLT::fixed_vector(getScalarOrVectorComponentCount(SpvType), ET);
+    auto EC = ElementCount::getFixed(getScalarOrVectorComponentCount(SpvType));
+    return LLT::scalarOrVector(EC, ET);
   }
   }
   return LLT::scalar(64);
@@ -2229,9 +2259,9 @@ void SPIRVGlobalRegistry::replaceAllUsesWith(Value *Old, Value *New,
   updateIfExistAssignPtrTypeInstr(Old, New, DeleteOld);
 }
 
-void SPIRVGlobalRegistry::buildAssignType(IRBuilder<> &B, Type *Ty,
-                                          Value *Arg) {
-  Value *OfType = getNormalizedPoisonValue(Ty);
+void SPIRVGlobalRegistry::buildAssignType(IRBuilder<> &B, Type *Ty, Value *Arg,
+                                          bool CanUseAnyVectorRank) {
+  Value *OfType = getNormalizedPoisonValue(Ty, CanUseAnyVectorRank);
   CallInst *AssignCI = nullptr;
   if (Arg->getType()->isAggregateType() && Ty->isAggregateType() &&
       allowEmitFakeUse(Arg)) {
diff --git a/llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h b/llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
index fcb8b3fd66f91..481bdd2005c88 100644
--- a/llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
+++ b/llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
@@ -451,9 +451,16 @@ class SPIRVGlobalRegistry : public SPIRVIRMapping {
 
   SPIRVTypeInst getOpTypeVoid(MachineIRBuilder &MIRBuilder);
 
+  SPIRVTypeInst getOpTypeVectorImpl(uint32_t NumElems, SPIRVTypeInst ElemType,
+                                    MachineIRBuilder &MIRBuilder,
+                                    bool IsLongVector = false);
+
   SPIRVTypeInst getOpTypeVector(uint32_t NumElems, SPIRVTypeInst ElemType,
                                 MachineIRBuilder &MIRBuilder);
 
+  SPIRVTypeInst getOpTypeVectorIdEXT(uint32_t NumElems, SPIRVTypeInst ElemType,
+                                     MachineIRBuilder &MIRBuilder);
+
   SPIRVTypeInst getOpTypeArray(uint32_t NumElems, SPIRVTypeInst ElemType,
                                MachineIRBuilder &MIRBuilder,
                                bool ExplicitLayoutRequired, bool EmitIR);
@@ -688,7 +695,8 @@ class SPIRVGlobalRegistry : public SPIRVIRMapping {
   // mappings.
   void replaceAllUsesWith(Value *Old, Value *New, bool DeleteOld = true);
 
-  void buildAssignType(IRBuilder<> &B, Type *Ty, Value *Arg);
+  void buildAssignType(IRBuilder<> &B, Type *Ty, Value *Arg,
+                       bool CanUseAnyVectorRank);
   void buildAssignPtr(IRBuilder<> &B, Type *ElemTy, Value *Arg);
   void updateAssignType(CallInst *AssignCI, Value *Arg, Value *OfType);
 };
diff --git a/llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp b/llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
index 64c61d9f6a0c8..f6d78fe5f6f32 100644
--- a/llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
@@ -96,11 +96,19 @@ MVT SPIRVTargetLowering::getRegisterTypeForCallingConv(LLVMContext &Context,
   // This code avoids CallLowering fail inside getVectorTypeBreakdown
   // on v3i1 arguments. Maybe we need to return i32 for all types.
   // TODO: remove it once this case is supported by the default implementation.
-  if (VT.isVector() && VT.getVectorNumElements() == 3) {
-    if (VT.getVectorElementType() == MVT::i1)
-      return MVT::v4i1;
-    else if (VT.getVectorElementType() == MVT::i8)
-      return MVT::v4i8;
+  if (VT.isVector()) {
+    if (VT.getVectorNumElements() == 3) {
+      if (VT.getVectorElementType() == MVT::i1)
+        return MVT::v4i1;
+      else if (VT.getVectorElementType() == MVT::i8)
+        return MVT::v4i8;
+    } else if (!isPowerOf2_32(VT.getVectorNumElements()) &&
+               STI.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector)) {
+      // Non POT element counts are not yet supported by GISEL.
+      return MVT::getVectorVT(
+          VT.getVectorElementType().getSimpleVT(),
+          ElementCount::getFixed(VT.getVectorNumElements()));
+    }
   }
   return getRegisterType(Context, VT);
 }
@@ -325,7 +333,7 @@ static void validatePtrUnwrapStructField(const SPIRVSubtarget &STI,
   if (!MemberType)
     return;
   unsigned MemberTypeOp = MemberType->getOpcode();
-  if (MemberTypeOp != SPIRV::OpTypeVector && MemberTypeOp != SPIRV::OpTypeInt &&
+  if (!isVectorType(MemberType) && MemberTypeOp != SPIRV::OpTypeInt &&
       MemberTypeOp != SPIRV::OpTypeFloat && MemberTypeOp != SPIRV::OpTypeBool)
     return;
   // It's a structure-wrapper around a valid type. Insert a bitcast before the
@@ -424,6 +432,94 @@ void validateAccessChain(const SPIRVSubtarget &STI, MachineRegisterInfo *MRI,
   }
 }
 
+inline void validateVec1Ops(const SPIRVSubtarget &STI, MachineRegisterInfo *MRI,
+                            SPIRVGlobalRegistry &GR, MachineInstr &MI) {
+  // IRTranslator does not believe that rank-1 vectors exist, unlike upstream
+  // LLVM which happily creates <1 x T> vectors. This leads to operations over
+  // <1 x T> vectors getting translated as their scalar counterparts, which is
+  // wrong if we used SPV_EXT_long_vector we to preserve the actual vector-ness.
+  switch (MI.getOpcode()) {
+  case SPIRV::OpBitwiseAndS:
+  case SPIRV::OpBitwiseOrS:
+  case SPIRV::OpBitwiseXorS:
+  case SPIRV::OpFAddS:
+  case SPIRV::OpFDivS:
+  case SPIRV::OpFMulS:
+  case SPIRV::OpFNegate:
+  case SPIRV::OpFRemS:
+  case SPIRV::OpFSubS:
+  case SPIRV::OpIAddCarryS:
+  case SPIRV::OpIAddS:
+  case SPIRV::OpIMulS:
+  case SPIRV::OpISubBorrowS:
+  case SPIRV::OpISubS:
+  case SPIRV::OpSDivS:
+  case SPIRV::OpSRemS:
+  case SPIRV::OpShiftLeftLogicalS:
+  case SPIRV::OpShiftRightArithmeticS:
+  case SPIRV::OpShiftRightLogicalS:
+  case SPIRV::OpStrictFAddS:
+  case SPIRV::OpStrictFDivS:
+  case SPIRV::OpStrictFMulS:
+  case SPIRV::OpStrictFRemS:
+  case SPIRV::OpStrictFSubS:
+  case SPIRV::OpUDivS:
+  case SPIRV::OpUModS: {
+    SPIRVTypeInst ResTy = GR.getSPIRVTypeForVReg(MI.getOperand(1).getReg());
+
+    if (!isVectorType(ResTy))
+      return;
+
+    // Restore original Vec1 type.
+    Register NewResultReg = createVirtualRegister(ResTy, &GR, MRI, *MI.getMF());
+    MRI->replaceRegWith(MI.getOperand(0).getReg(), NewResultReg);
+    // Vector opcodes are always next after scalar (if this ceases to hold we
+    // will have to adapt).
+    MI.setDesc(STI.getInstrInfo()->get(MI.getOpcode() + 1));
+    // IRTranslator would've inserted COPYs from the vector into a scalar, which
+    // are spurious and have to be walked through.
+    for (unsigned I = 2; I != MI.getNumOperands(); ++I) {
+      MachineOperand &Op = MI.getOperand(I);
+      if (!Op.isReg())
+        continue;
+
+      SPIRVTypeInst OpTy = GR.getSPIRVTypeForVReg(Op.getReg());
+      if (OpTy == ResTy)
+        continue;
+
+      MachineInstr *OpDef = getDef(Op, MRI);
+      assert(OpDef &&
+             GR.getSPIRVTypeForVReg(OpDef->getOperand(0).getReg()) == ResTy &&
+             "Expected to find Result Type (Vec1)!");
+      MI.substituteRegister(Op.getReg(), OpDef->getOperand(0).getReg(), 0,
+                            *STI.getRegisterInfo());
+    }
+    break;
+  }
+  case TargetOpcode::COPY: {
+    Register ResVReg = MI.getOperand(0).getReg();
+    SPIRVTypeInst SrcTy = GR.getSPIRVTypeForVReg(MI.getOperand(1).getReg());
+    SPIRVTypeInst DstTy = GR.getSPIRVTypeForVReg(ResVReg);
+
+    if (!SrcTy || !DstTy || isVectorType(DstTy) || !isVectorType(SrcTy))
+      return;
+
+    Register ExtractReg = createVirtualRegister(DstTy, &GR, MRI, *MI.getMF());
+    BuildMI(*MI.getParent(), MI, MI.getDebugLoc(),
+            STI.getInstrInfo()->get(SPIRV::OpCompositeExtract))
+        .addDef(ExtractReg)
+        .addUse(GR.getSPIRVTypeID(DstTy))
+        .addUse(MI.getOperand(1).getReg())
+        .addImm(0);
+    for (auto &&U : MRI->use_instructions(ResVReg))
+      U.substituteRegister(ResVReg, ExtractReg, 0, *STI.getRegisterInfo());
+    break;
+  }
+  default:
+    break;
+  }
+}
+
 // TODO: the logic of inserting additional bitcast's is to be moved
 // to pre-IRTranslation passes eventually
 void SPIRVTargetLowering::finalizeLowering(MachineFunction &MF) const {
@@ -440,6 +536,7 @@ void SPIRVTargetLowering::finalizeLowering(MachineFunction &MF) const {
     for (MachineBasicBlock::iterator MBBI = MBB->begin(), MBBE = MBB->end();
          MBBI != MBBE;) {
       MachineInstr &MI = *MBBI++;
+      validateVec1Ops(STI, MRI, GR, MI);
       switch (MI.getOpcode()) {
       case SPIRV::OpAtomicLoad:
       case SPIRV::OpAtomicExchange:
@@ -580,7 +677,7 @@ void SPIRVTargetLowering::finalizeLowering(MachineFunction &MF) const {
           assert(RetType && "Expected return type");
           validatePtrTypes(
               STI, MRI, GR, MI, MI.getNumOperands() - 1,
-              RetType->getOpcode() != SPIRV::OpTypeVector
+              (!isVectorType(RetType))
                   ? Int32Type
                   : GR.getOrCreateSPIRVVectorType(
                         Int32Type, GR.getScalarOrVectorComponentCount(RetType),
diff --git a/llvm/lib/Target/SPIRV/SPIRVInstrInfo.td b/llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
index 66e5d2f6a626e..82b5460f0e8c9 100644
--- a/llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
+++ b/llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
@@ -213,6 +213,8 @@ def OpTypeCooperativeMatrixNV: Op<5358, (outs TYPE:$res),
 def OpTypeCooperativeMatrixKHR: Op<4456, (outs TYPE:$res),
                   (ins TYPE:$compType, ID:$scope, ID:$rows, ID:$cols, ID:$use),
                   "$res = OpTypeCooperativeMatrixKHR $compType $scope $rows $cols $use">;
+def OpTypeVectorIdEXT: Op<5288, (outs TYPE:$type), (ins TYPE:$compType, i32imm:$compCount),
+                  "$type = OpTypeVectorIdEXT $compType $compCount">;
 
 // 3.42.7 Constant-Creation Instructions
 
@@ -782,7 +784,7 @@ def OpWritePipe: Op<275, (outs ID:$res), (ins TYPE:$type, ID:$Pipe, ID:$Pointer,
                   "$res = OpWritePipe $type $Pipe $Pointer $PcktSize $PcktAlign">;
 def OpReservedReadPipe : Op<276, (outs ID:$res), (ins TYPE:$type, ID:$Pipe, ID:$ReserveId, ID:$Index, ID:$Pointer, ID:$PcktSize, ID:$PcktAlign),
                   "$res = OpReservedReadPipe $type $Pipe $ReserveId $Index $Pointer $PcktSize $PcktAlign">;
-def OpReservedWritePipe : Op<277, (outs ID:$res), (ins TYPE:$type, ID:$Pipe, ID:$ReserveId, ID:$Index, ID:$Pointer, ID:$PcktSize, ID:$PcktAlign), 
+def OpReservedWritePipe : Op<277, (outs ID:$res), (ins TYPE:$type, ID:$Pipe, ID:$ReserveId, ID:$Index, ID:$Pointer, ID:$PcktSize, ID:$PcktAlign),
                   "$res = OpReservedWritePipe $type $Pipe $ReserveId $Index $Pointer $PcktSize $PcktAlign">;
 def OpReserveReadPipePackets : Op<278, (outs ID:$res), (ins TYPE:$type, ID:$Pipe, ID:$NumPckts, ID:$PcktSize, ID:$PcktAlign),
                   "$res = OpReserveReadPipePackets $type $Pipe $NumPckts $PcktSize $PcktAlign">;
@@ -984,15 +986,15 @@ def OpBitwiseFunctionINTEL: Op<6242, (outs ID:$res), (ins TYPE:$type, ID:$a, ID:
                   "$res = OpBitwiseFunctionINTEL $type $a $b $c $lut_index">;
 
 // SPV_ALTERA_arbitrary_precision_floating_point
-def OpArbitraryFloatGTALTERA: Op<5850, (outs ID:$res), (ins TYPE:$type, ID:$A, i32imm:$Ma , ID:$B, i32imm:$Mb), 
+def OpArbitraryFloatGTALTERA: Op<5850, (outs ID:$res), (ins TYPE:$type, ID:$A, i32imm:$Ma , ID:$B, i32imm:$Mb),
                   "$res = OpArbitraryFloatGTALTERA $type $A $Ma $B $Mb">;
-def OpArbitraryFloatGEALTERA: Op<5851, (outs ID:$res), (ins TYPE:$type, ID:$A, i32imm:$Ma , ID:$B, i32imm:$Mb), 
+def OpArbitraryFloatGEALTERA: Op<5851, (outs ID:$res), (ins TYPE:$type, ID:$A, i32imm:$Ma , ID:$B, i32imm:$Mb),
                   "$res = OpArbitraryFloatGEALTERA $type $A $Ma $B $Mb">;
-def OpArbitraryFloatLTALTERA: Op<5852, (outs ID:$res), (ins TYPE:$type, ID:$A, i32imm:$Ma , ID:$B, i32imm:$Mb), 
+def OpArbitraryFloatLTALTERA: Op<5852, (outs ID:$res), (ins TYPE:$type, ID:$A, i32imm:$Ma , ID:$B, i32imm:$Mb),
                   "$res = OpArbitraryFloatLTALTERA $type $A $Ma $B $Mb">;
-def OpArbitraryFloatLEALTERA: Op<5853, (outs ID:$res), (ins TYPE:$type, ID:$A, i32imm:$Ma , ID:$B, i32imm:$Mb), 
+def OpArbitraryFloatLEALTERA: Op<5853, (outs ID:$res), (ins TYPE:$type, ID:$A, i32imm:$Ma , ID:$B, i32imm:$Mb),
                   "$res = OpArbitraryFloatLEALTERA $type $A $Ma $B $Mb">;
-def OpArbitraryFloatEQALTERA: Op<5854, (outs ID:$res), (ins TYPE:$type, ID:$A, i32imm:$Ma , ID:$B, i32imm:$Mb), 
+def OpArbitraryFloatEQALTERA: Op<5854, (outs ID:$res), (ins TYPE:$type, ID:$A, i32imm:$Ma , ID:$B, i32imm:$Mb),
                   "$res = OpArbitraryFloatEQALTERA $type $A $Ma $B $Mb">;
 def OpArbitraryFloatRecipALTERA: Op<5855, (outs ID:$res),
                   (ins TYPE:$type, ID:$A, i32imm:$Ma, i32imm:$Mresult, i32imm:$subnormalMode, i32imm:$RoundingMode, i32imm:$RoundingAccuracy),
diff --git a/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp b/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
index 15bb399c2ca09..93e56ebab93f1 100644
--- a/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
@@ -759,6 +759,7 @@ static bool isOpcodeWithNoSideEffects(unsigned Opcode) {
   case SPIRV::OpTypeInt:
   case SPIRV::OpTypeFloat:
   case SPIRV::OpTypeVector:
+  case SPIRV::OpTypeVectorIdEXT:
   case SPIRV::OpTypeMatrix:
   case SPIRV::OpTypeImage:
   case SPIRV::OpTypeSampler:
@@ -1238,15 +1239,13 @@ bool SPIRVInstructionSelector::spvSelect(Register ResVReg,
     return selectFrexp(ResVReg, ResType, I);
 
   case TargetOpcode::G_UADDO:
-    return selectOverflowArith(ResVReg, ResType, I,
-                               ResType->getOpcode() == SPIRV::OpTypeVector
-                                   ? SPIRV::OpIAddCarryV
-                                   : SPIRV::OpIAddCarryS);
+    return selectOverflowArith(ResVReg, ResType, I, isVectorType(ResType)
+                                                        ? SPIRV::OpIAddCarryV
+                                                        : SPIRV::OpIAddCarryS);
   case TargetOpcode::G_USUBO:
-    return selectOverflowArith(ResVReg, ResType, I,
-                               ResType->getOpcode() == SPIRV::OpTypeVector
-                                   ? SPIRV::OpISubBorrowV
-                                   : SPIRV::OpISubBorrowS);
+    return selectOverflowArith(ResVReg, ResType, I, isVectorType(ResType)
+                                                        ? SPIRV::OpISubBorrowV
+                                                        : SPIRV::OpISubBorrowS);
   case TargetOpcode::G_UMULO:
     return selectOverflowArith(ResVReg, ResType, I, SPIRV::OpUMulExtended);
   case TargetOpcode::G_SMULO:
@@ -1384,9 +1383,8 @@ bool SPIRVInstructionSelector::spvSelect(Register ResVReg,
   case TargetOpcode::G_ATOMICRMW_FSUB:
     // Translate G_ATOMICRMW_FSUB to OpAtomicFAddEXT with negative value operand
     return selectAtomicRMW(ResVReg, ResType, I, SPIRV::OpAtomicFAddEXT,
-                           ResType->getOpcode() == SPIRV::OpTypeVector
-                               ? SPIRV::OpFNegateV
-                               : SPIRV::OpFNegate);
+                           isVectorType(ResType) ? SPIRV::OpFNegateV
+                                                 : SPIRV::OpFNegate);
   case TargetOpcode::G_ATOMICRMW_FMIN:
     return selectAtomicRMW(ResVReg, ResType, I, SPIRV::OpAtomicFMinEXT);
   case TargetOpcode::G_ATOMICRMW_FMAX:
@@ -2106,6 +2104,23 @@ bool SPIRVInstructionSelector::selectStore(MachineInstr &I) const {
     }
   }
 
+  SPIRVTypeInst PointeeTy = GR.getPointeeType(GR.getSPIRVTypeForVReg(Ptr));
+  SPIRVTypeInst StoreTy = GR.getSPIRVTypeForVReg(StoreVal);
+  if (PointeeTy->getOpcode() == SPIRV::OpTypeVectorIdEXT &&
+      StoreTy->getOpcode() != SPIRV::OpTypeVectorIdEXT &&
+      GR.getScalarOrVectorComponentCount(PointeeTy) == 1) {
+    MachineInstr *StoreValDef = getVRegDef(*MRI, StoreVal);
+    Register Reg = StoreValDef->getOperand(0).getReg();
+    if (auto FC = GFConstant::getConstant(Reg, *MRI))
+      StoreVal =
+          GR.getOrCreateConstVector(FC->getScalarValue(), I, PointeeTy, TII);
+    else if (auto IC = GIConstant::getConstant(Reg, *MRI))
+      StoreVal =
+          GR.getOrCreateConstVector(IC->getScalarValue(), I, PointeeTy, TII);
+    else
+      llvm_unreachable("Unexpected <1 x T> Store type!");
+  }
+
   if (I.getNumMemOperands()) {
     const MachineMemOperand *MemOp = *I.memoperands_begin();
     if (MemOp->isAtomic())
@@ -2574,7 +2589,7 @@ bool SPIRVInstructionSelector::selectUnmergeValues(MachineInstr &I) const {
       I.getOperand(ArgI).isReg() ? I.getOperand(ArgI).getReg() : Register(0);
   SPIRVTypeInst SrcType =
       SrcReg.isValid() ? GR.getSPIRVTypeForVReg(SrcReg) : nullptr;
-  if (!SrcType || SrcType->getOpcode() != SPIRV::OpTypeVector)
+  if (!SrcType || !isVectorType(SrcType))
     report_fatal_error(
         "cannot select G_UNMERGE_VALUES with a non-vector argument");
 
@@ -2597,7 +2612,7 @@ bool SPIRVInstructionSelector::selectUnmergeValues(MachineInstr &I) const {
       GR.assignSPIRVTypeToVReg(ResType, ResVReg, *GR.CurMF);
     }
 
-    if (ResType->getOpcode() == SPIRV::OpTypeVector) {
+    if (isVectorType(ResType)) {
       Register UndefReg = GR.getOrCreateUndef(I, SrcType, TII);
       auto MIB =
           BuildMI(BB, I, I.getDebugLoc(), TII.get(SPIRV::OpVectorShuffle))
@@ -2628,11 +2643,11 @@ bool SPIRVInstructionSelector::selectUnmergeValues(MachineInstr &I) const {
 bool SPIRVInstructionSelector::selectFence(MachineInstr &I) const {
   AtomicOrdering AO = AtomicOrdering(I.getOperand(0).getImm());
   uint32_t MemSem = static_cast<uint32_t>(getMemSemantics(AO));
-  Register MemSemReg = buildI32Constant(MemSem, I);
+  Register MemSemReg = buildI32ConstantInEntryBlock(MemSem, I);
   SyncScope::ID Ord = SyncScope::ID(I.getOperand(1).getImm());
   uint32_t Scope = static_cast<uint32_t>(
       getMemScope(GR.CurMF->getFunction().getContext(), Ord));
-  Register ScopeReg = buildI32Constant(Scope, I);
+  Register ScopeReg = buildI32ConstantInEntryBlock(Scope, I);
   MachineBasicBlock &BB = *I.getParent();
   BuildMI(BB, I, I.getDebugLoc(), TII.get(SPIRV::OpMemoryBarrier))
       .addUse(ScopeReg)
@@ -2666,7 +2681,9 @@ bool SPIRVInstructionSelector::selectOverflowArith(Register ResVReg,
   assert(I.getNumDefs() > 1 && "Not enought operands");
   SPIRVTypeInst BoolType = GR.getOrCreateSPIRVBoolType(I, TII);
   unsigned N = GR.getScalarOrVectorComponentCount(ResType);
-  if (N > 1)
+  if (N > 1 ||
+      (isVectorType(ResType) &&
+       STI.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector)))
     BoolType = GR.getOrCreateSPIRVVectorType(BoolType, N, I, TII);
   Register BoolTypeReg = GR.getSPIRVTypeID(BoolType);
   Register ZeroReg = buildZerosVal(ResType, I);
@@ -3107,8 +3124,7 @@ bool SPIRVInstructionSelector::selectAnyOrAll(Register ResVReg,
   assert(InputType && "VReg has no type assigned");
 
   bool IsBoolTy = GR.isScalarOrVectorOfType(InputRegister, SPIRV::OpTypeBool);
-  bool IsVectorTy = InputType->getOpcode() == SPIRV::OpTypeVector;
-  if (IsBoolTy && !IsVectorTy) {
+  if (IsBoolTy && !isVectorType(InputType)) {
     assert(ResVReg == I.getOperand(0).getReg());
     return BuildCOPY(ResVReg, InputRegister, I);
   }
@@ -3120,7 +3136,7 @@ bool SPIRVInstructionSelector::selectAnyOrAll(Register ResVReg,
   SPIRVTypeInst SpvBoolTy = SpvBoolScalarTy;
   Register NotEqualReg = ResVReg;
 
-  if (IsVectorTy) {
+  if (isVectorType(InputType)) {
     NotEqualReg =
         IsBoolTy ? InputRegister
                  : createVirtualRegister(SpvBoolTy, &GR, MRI, MRI->getMF());
@@ -3140,7 +3156,7 @@ bool SPIRVInstructionSelector::selectAnyOrAll(Register ResVReg,
         .constrainAllUses(TII, TRI, RBI);
   }
 
-  if (IsVectorTy)
+  if (isVectorType(InputType))
     BuildMI(BB, I, I.getDebugLoc(), TII.get(OpAnyOrAll))
         .addDef(ResVReg)
         .addUse(GR.getSPIRVTypeID(SpvBoolScalarTy))
@@ -3172,8 +3188,9 @@ bool SPIRVInstructionSelector::selectFloatDot(Register ResVReg,
   [[maybe_unused]] SPIRVTypeInst VecType =
       GR.getSPIRVTypeForVReg(I.getOperand(2).getReg());
 
-  assert(VecType->getOpcode() == SPIRV::OpTypeVector &&
-         GR.getScalarOrVectorComponentCount(VecType) > 1 &&
+  assert((VecType->getOpcode() == SPIRV::OpTypeVector &&
+          GR.getScalarOrVectorComponentCount(VecType) > 1) ||
+         VecType->getOpcode() == SPIRV::OpTypeVectorIdEXT &&
          "dot product requires a vector of at least 2 components");
 
   [[maybe_unused]] SPIRVTypeInst EltType =
@@ -3232,8 +3249,9 @@ bool SPIRVInstructionSelector::selectIntegerDotExpansion(
       .addUse(Vec1)
       .constrainAllUses(TII, TRI, RBI);
 
-  assert(VecType->getOpcode() == SPIRV::OpTypeVector &&
-         GR.getScalarOrVectorComponentCount(VecType) > 1 &&
+  assert((VecType->getOpcode() == SPIRV::OpTypeVector &&
+          GR.getScalarOrVectorComponentCount(VecType) > 1) ||
+         VecType->getOpcode() == SPIRV::OpTypeVectorIdEXT &&
          "dot product requires a vector of at least 2 components");
 
   Register Res = MRI->createVirtualRegister(GR.getRegClass(ResType));
@@ -3590,7 +3608,9 @@ bool SPIRVInstructionSelector::selectWaveActiveAllEqual(Register ResVReg,
 
   // Determine if input is vector
   unsigned NumElems = GR.getScalarOrVectorComponentCount(InputType);
-  bool IsVector = NumElems > 1;
+  bool IsVector = NumElems > 1 ||
+      (InputType->getOpcode() == SPIRV::OpTypeVectorIdEXT &&
+       STI.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector));
 
   // Determine element types
   SPIRVTypeInst ElemInputType = GR.getScalarOrVectorComponentType(InputType);
@@ -3881,7 +3901,9 @@ bool SPIRVInstructionSelector::selectBitreverseViaI32(Register ResVReg,
                                     ? SPIRV::OpSConvert
                                     : SPIRV::OpUConvert;
 
-  if (N > 1) {
+  if (N > 1 ||
+      (ResType->getOpcode() == SPIRV::OpTypeVectorIdEXT &&
+       STI.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector))) {
     Int32Type = GR.getOrCreateSPIRVVectorType(Int32Type, N, I, TII);
     ShiftOp = SPIRV::OpShiftRightLogicalV;
 
@@ -4088,7 +4110,9 @@ bool SPIRVInstructionSelector::selectBitreverse(Register ResVReg,
   unsigned OrOp = SPIRV::OpBitwiseOrS;
   unsigned ShlOp = SPIRV::OpShiftLeftLogicalS;
   unsigned ShrOp = SPIRV::OpShiftRightLogicalS;
-  if (N > 1) {
+  if (N > 1 ||
+      (ResType->getOpcode() == SPIRV::OpTypeVectorIdEXT &&
+       STI.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector))) {
     AndOp = SPIRV::OpBitwiseAndV;
     OrOp = SPIRV::OpBitwiseOrV;
     ShlOp = SPIRV::OpShiftLeftLogicalV;
@@ -4100,7 +4124,9 @@ bool SPIRVInstructionSelector::selectBitreverse(Register ResVReg,
   auto SwapBits = [&](const Register Input, const uint64_t Mask,
                       const unsigned Shift) -> Register {
     auto CreateConst = [&](const uint64_t Value) -> Register {
-      if (N == 1)
+      if (N == 1 &&
+          (ResType->getOpcode() != SPIRV::OpTypeVectorIdEXT ||
+           !STI.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector)))
         return GR.getOrCreateConstInt(
             Value, I, GR.retrieveScalarOrVectorIntType(ResType), TII);
       return GR.getOrCreateConstVector(Value, I, ResType, TII);
@@ -4199,7 +4225,7 @@ bool SPIRVInstructionSelector::selectBuildVector(Register ResVReg,
                                                  SPIRVTypeInst ResType,
                                                  MachineInstr &I) const {
   unsigned N = 0;
-  if (ResType->getOpcode() == SPIRV::OpTypeVector)
+  if (isVectorType(ResType))
     N = GR.getScalarOrVectorComponentCount(ResType);
   else if (ResType->getOpcode() == SPIRV::OpTypeArray)
     N = getArrayComponentCount(MRI, ResType);
@@ -4215,7 +4241,7 @@ bool SPIRVInstructionSelector::selectBuildVector(Register ResVReg,
     if (!isConstReg(MRI, I.getOperand(i).getReg()))
       IsConst = false;
 
-  if (!IsConst && N < 2)
+  if (!IsConst && (N < 2 && ResType->getOpcode() != SPIRV::OpTypeVectorIdEXT))
     return diagnoseUnsupported(
         I, "There must be at least two constituent operands in a vector");
 
@@ -4251,7 +4277,7 @@ bool SPIRVInstructionSelector::selectSplatVector(Register ResVReg,
                                                  SPIRVTypeInst ResType,
                                                  MachineInstr &I) const {
   unsigned N = 0;
-  if (ResType->getOpcode() == SPIRV::OpTypeVector)
+  if (isVectorType(ResType))
     N = GR.getScalarOrVectorComponentCount(ResType);
   else if (ResType->getOpcode() == SPIRV::OpTypeArray)
     N = getArrayComponentCount(MRI, ResType);
@@ -4266,7 +4292,7 @@ bool SPIRVInstructionSelector::selectSplatVector(Register ResVReg,
   Register OpReg = I.getOperand(OpIdx).getReg();
   bool IsConst = isConstReg(MRI, OpReg);
 
-  if (!IsConst && N < 2)
+  if (!IsConst && (N < 2 && ResType->getOpcode() != SPIRV::OpTypeVectorIdEXT))
     return diagnoseUnsupported(
         I, "There must be at least two constituent operands in a vector");
 
@@ -4453,8 +4479,7 @@ bool SPIRVInstructionSelector::selectExp10(Register ResVReg,
     /// There is no exp10 in GLSL. Use exp10(x) = exp2(x * log2(10)) instead
     /// log2(10) ~= 3.3219280948874l
 
-    if (ResType->getOpcode() != SPIRV::OpTypeVector &&
-        ResType->getOpcode() != SPIRV::OpTypeFloat)
+    if (!isVectorType(ResType) && !ResType.isAnyTypeFloat())
       return false;
 
     MachineIRBuilder MIRBuilder(I);
@@ -4472,9 +4497,8 @@ bool SPIRVInstructionSelector::selectExp10(Register ResVReg,
     Register ConstReg =
         GR.buildConstantFP(ConstVal, MIRBuilder, SpirvScalarType);
     Register ArgReg = MRI->createVirtualRegister(GR.getRegClass(ResType));
-    auto Opcode = ResType->getOpcode() == SPIRV::OpTypeVector
-                      ? SPIRV::OpVectorTimesScalar
-                      : SPIRV::OpFMulS;
+    auto Opcode = isVectorType(ResType) ? SPIRV::OpVectorTimesScalar
+                                        : SPIRV::OpFMulS;
 
     if (!selectOpWithSrcs(ArgReg, ResType, I,
                           {I.getOperand(1).getReg(), ConstReg}, Opcode))
@@ -4494,7 +4518,7 @@ Register SPIRVInstructionSelector::buildZerosVal(SPIRVTypeInst ResType,
                                                  MachineInstr &I) const {
   // OpenCL uses nulls for Zero. In HLSL we don't use null constants.
   bool ZeroAsNull = !STI.isShader();
-  if (ResType->getOpcode() == SPIRV::OpTypeVector)
+  if (isVectorType(ResType))
     return GR.getOrCreateConstVector(0UL, I, ResType, TII, ZeroAsNull);
   return GR.getOrCreateConstInt(0, I, ResType, TII, ZeroAsNull);
 }
@@ -4550,7 +4574,7 @@ Register SPIRVInstructionSelector::buildZerosValF(SPIRVTypeInst ResType,
   // OpenCL uses nulls for Zero. In HLSL we don't use null constants.
   bool ZeroAsNull = !STI.isShader();
   APFloat VZero = getZeroFP(GR.getTypeForSPIRVType(ResType));
-  if (ResType->getOpcode() == SPIRV::OpTypeVector)
+  if (isVectorType(ResType))
     return GR.getOrCreateConstVector(VZero, I, ResType, TII, ZeroAsNull);
   return GR.getOrCreateConstFP(VZero, I, ResType, TII, ZeroAsNull);
 }
@@ -4560,7 +4584,7 @@ Register SPIRVInstructionSelector::buildOnesValF(SPIRVTypeInst ResType,
   // OpenCL uses nulls for Zero. In HLSL we don't use null constants.
   bool ZeroAsNull = !STI.isShader();
   APFloat VOne = getOneFP(GR.getTypeForSPIRVType(ResType));
-  if (ResType->getOpcode() == SPIRV::OpTypeVector)
+  if (isVectorType(ResType))
     return GR.getOrCreateConstVector(VOne, I, ResType, TII, ZeroAsNull);
   return GR.getOrCreateConstFP(VOne, I, ResType, TII, ZeroAsNull);
 }
@@ -4571,7 +4595,7 @@ Register SPIRVInstructionSelector::buildOnesVal(bool AllOnes,
   unsigned BitWidth = GR.getScalarOrVectorBitWidth(ResType);
   APInt One =
       AllOnes ? APInt::getAllOnes(BitWidth) : APInt::getOneBitSet(BitWidth, 0);
-  if (ResType->getOpcode() == SPIRV::OpTypeVector)
+  if (isVectorType(ResType))
     return GR.getOrCreateConstVector(One, I, ResType, TII);
   return GR.getOrCreateConstInt(One, I, ResType, TII);
 }
@@ -4588,13 +4612,11 @@ bool SPIRVInstructionSelector::selectSelect(Register ResVReg,
       GR.isScalarOrVectorOfType(SelectFirstArg, SPIRV::OpTypeFloat);
   bool IsPtrTy =
       GR.isScalarOrVectorOfType(SelectFirstArg, SPIRV::OpTypePointer);
-  bool IsVectorTy = GR.getSPIRVTypeForVReg(SelectFirstArg)->getOpcode() ==
-                    SPIRV::OpTypeVector;
 
   bool IsScalarBool =
       GR.isScalarOfType(I.getOperand(1).getReg(), SPIRV::OpTypeBool);
   unsigned Opcode;
-  if (IsVectorTy) {
+  if (isVectorType(GR.getSPIRVTypeForVReg(SelectFirstArg))) {
     if (IsFloatTy) {
       Opcode = IsScalarBool ? SPIRV::OpSelectVFSCond : SPIRV::OpSelectVFVCond;
     } else if (IsPtrTy) {
@@ -4657,7 +4679,7 @@ bool SPIRVInstructionSelector::selectIToF(Register ResVReg,
   if (GR.isScalarOrVectorOfType(I.getOperand(1).getReg(), SPIRV::OpTypeBool)) {
     unsigned BitWidth = GR.getScalarOrVectorBitWidth(ResType);
     SPIRVTypeInst TmpType = GR.getOrCreateSPIRVIntegerType(BitWidth, I, TII);
-    if (ResType->getOpcode() == SPIRV::OpTypeVector) {
+    if (isVectorType(ResType)) {
       const unsigned NumElts = GR.getScalarOrVectorComponentCount(ResType);
       TmpType = GR.getOrCreateSPIRVVectorType(TmpType, NumElts, I, TII);
     }
@@ -4693,7 +4715,9 @@ bool SPIRVInstructionSelector::selectSUCmp(Register ResVReg,
   // Ensure we have bool.
   SPIRVTypeInst BoolType = GR.getOrCreateSPIRVBoolType(I, TII);
   unsigned N = GR.getScalarOrVectorComponentCount(ResType);
-  if (N > 1)
+  if (N > 1 ||
+      (ResType->getOpcode() == SPIRV::OpTypeVectorIdEXT &&
+       STI.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector)))
     BoolType = GR.getOrCreateSPIRVVectorType(BoolType, N, I, TII);
   Register BoolTypeReg = GR.getSPIRVTypeID(BoolType);
   // Build less-than-equal and less-than.
@@ -4722,7 +4746,10 @@ bool SPIRVInstructionSelector::selectSUCmp(Register ResVReg,
   MRI->setType(NegOneOrZeroReg, LLT::scalar(64));
   GR.assignSPIRVTypeToVReg(ResType, NegOneOrZeroReg, MIRBuilder.getMF());
   unsigned SelectOpcode =
-      N > 1 ? SPIRV::OpSelectVIVCond : SPIRV::OpSelectSISCond;
+      (N > 1 ||
+       (ResType->getOpcode() == SPIRV::OpTypeVectorIdEXT &&
+        STI.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector)))
+          ? SPIRV::OpSelectVIVCond : SPIRV::OpSelectSISCond;
   BuildMI(BB, I, I.getDebugLoc(), TII.get(SelectOpcode))
       .addDef(NegOneOrZeroReg)
       .addUse(ResTypeReg)
@@ -4747,8 +4774,8 @@ bool SPIRVInstructionSelector::selectIntToBool(Register IntReg,
                                                SPIRVTypeInst BoolTy) const {
   // To truncate to a bool, we use OpBitwiseAnd 1 and OpINotEqual to zero.
   Register BitIntReg = createVirtualRegister(IntTy, &GR, MRI, MRI->getMF());
-  bool IsVectorTy = IntTy->getOpcode() == SPIRV::OpTypeVector;
-  unsigned Opcode = IsVectorTy ? SPIRV::OpBitwiseAndV : SPIRV::OpBitwiseAndS;
+  unsigned Opcode = isVectorType(IntTy) ? SPIRV::OpBitwiseAndV
+                                        : SPIRV::OpBitwiseAndS;
   Register Zero = buildZerosVal(IntTy, I);
   Register One = buildOnesVal(false, IntTy, I);
   MachineBasicBlock &BB = *I.getParent();
@@ -4918,6 +4945,36 @@ bool SPIRVInstructionSelector::selectGEP(Register ResVReg,
   for (unsigned i = StartingIndex; i < I.getNumExplicitOperands(); ++i)
     Res.addUse(I.getOperand(i).getReg());
   Res.constrainAllUses(TII, TRI, RBI);
+
+  // IRTranslator doesn't like <1 x T> vectors, and treats them as scalars. This
+  // creates an information loss issue, and also broken code where a
+  // OpCompositeExtract is applied to the scalar return of an OpPtrAccessChain,
+  // when it was meant to be applied to the OpCompositeInsert created <1 x T>.
+  // TODO: should we also re-create the index <1 x T>?
+  if (MRI->hasOneUse(ResVReg)) {
+    MachineInstr &Extract = *MRI->use_instr_begin(ResVReg);
+    if (Extract.getOpcode() == SPIRV::OpCompositeExtract) {
+      SPIRVTypeInst V = GR.getOrCreateSPIRVVectorType(ResType, 1, Extract, TII);
+      // We cannot use GlobalRegistry::getOrCreateUndef directly here because it
+      // tries to use UndefVal::get, which does not work for TypedPointerType,
+      // which we can get here if we're dealing with <1 x T*>.
+      Register Tmp = createVirtualRegister(V, &GR, MRI, *I.getMF());
+      BuildMI(*I.getParent(), I, I.getDebugLoc(), TII.get(SPIRV::OpUndef))
+          .addDef(Tmp)
+          .addUse(GR.getSPIRVTypeID(V))
+          .constrainAllUses(TII, TRI, RBI);
+      Register InsertReg = createVirtualRegister(V, &GR, MRI, *I.getMF());
+      BuildMI(*I.getParent(), Extract, Extract.getDebugLoc(),
+              TII.get(SPIRV::OpCompositeInsert))
+          .addDef(InsertReg)
+          .addUse(GR.getSPIRVTypeID(V))
+          .addUse(ResVReg)
+          .addUse(Tmp)
+          .addImm(0)
+          .constrainAllUses(TII, TRI, RBI);
+      Extract.substituteRegister(ResVReg, InsertReg, 0, TRI);
+    }
+  }
   return true;
 }
 
@@ -6447,8 +6504,10 @@ bool SPIRVInstructionSelector::extractSubvector(
   [[maybe_unused]] uint64_t InputSize =
       GR.getScalarOrVectorComponentCount(InputType);
   uint64_t ResultSize = GR.getScalarOrVectorComponentCount(ResType);
-  assert(InputSize > 1 && "The input must be a vector.");
-  assert(ResultSize > 1 && "The result must be a vector.");
+  bool IsLongVector =
+      STI.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector);
+  assert((InputSize > 1 || IsLongVector) && "The input must be a vector.");
+  assert((ResultSize > 1 || IsLongVector) && "The result must be a vector.");
   assert(ResultSize < InputSize &&
          "Cannot extract more element than there are in the input.");
   SmallVector<Register> ComponentRegisters;
@@ -6496,7 +6555,7 @@ bool SPIRVInstructionSelector::selectImageWriteIntrinsic(
 
   Register CoordinateReg = I.getOperand(2).getReg();
   Register DataReg = I.getOperand(3).getReg();
-  assert(GR.getResultType(DataReg)->getOpcode() == SPIRV::OpTypeVector);
+  assert(isVectorType(GR.getResultType(DataReg)));
   assert(GR.getScalarOrVectorComponentCount(GR.getResultType(DataReg)) == 4);
   BuildMI(*I.getParent(), I, I.getDebugLoc(), TII.get(SPIRV::OpImageWrite))
       .addUse(NewImageReg)
@@ -6578,6 +6637,7 @@ bool SPIRVInstructionSelector::selectFirstBitSet64(
   // algoritm below converts i64 -> i32x2 and i64x4 -> i32x8 it can only
   // operate on vectors with 2 or less components. When largers vectors are
   // seen. Split them, recurse, then recombine them.
+  // TODO: handle the case where SPV_EXT_long_vector is enabled.
   if (ComponentCount > 2) {
     auto Func = [this, SwapPrimarySide](Register ResVReg, SPIRVTypeInst ResType,
                                         MachineInstr &I, Register SrcReg,
@@ -6609,7 +6669,7 @@ bool SPIRVInstructionSelector::selectFirstBitSet64(
   Register HighReg = MRI->createVirtualRegister(GR.getRegClass(ResType));
   Register LowReg = MRI->createVirtualRegister(GR.getRegClass(ResType));
 
-  bool IsScalarRes = ResType->getOpcode() != SPIRV::OpTypeVector;
+  bool IsScalarRes = !isVectorType(ResType);
   if (IsScalarRes) {
     // if scalar do a vector extract
     if (!selectOpWithSrcs(HighReg, ResType, I, {FBSReg, ConstIntOne},
@@ -6827,6 +6887,7 @@ static bool isConcreteSPIRVType(SPIRVTypeInst Ty,
     case SPIRV::OpTypePointer:
       break;
     case SPIRV::OpTypeVector:
+    case SPIRV::OpTypeVectorIdEXT:
     case SPIRV::OpTypeMatrix:
     case SPIRV::OpTypeArray: {
       Register OperandReg = T->getOperand(1).getReg();
@@ -7118,8 +7179,7 @@ bool SPIRVInstructionSelector::selectLog10(Register ResVReg,
       .constrainAllUses(TII, TRI, RBI);
 
   // Build 0.30103.
-  assert(ResType->getOpcode() == SPIRV::OpTypeVector ||
-         ResType->getOpcode() == SPIRV::OpTypeFloat);
+  assert(isVectorType(ResType) || ResType.isAnyTypeFloat());
   // TODO: Add matrix implementation once supported by the HLSL frontend.
   SPIRVTypeInst SpirvScalarType = GR.getScalarOrVectorComponentType(ResType);
   // The literal must match the precision of the scalar type, otherwise the
@@ -7133,9 +7193,8 @@ bool SPIRVInstructionSelector::selectLog10(Register ResVReg,
   Register ScaleReg = GR.buildConstantFP(ScaleVal, MIRBuilder, SpirvScalarType);
 
   // Multiply log2(x) by 0.30103 to get log10(x) result.
-  auto Opcode = ResType->getOpcode() == SPIRV::OpTypeVector
-                    ? SPIRV::OpVectorTimesScalar
-                    : SPIRV::OpFMulS;
+  auto Opcode = isVectorType(ResType) ? SPIRV::OpVectorTimesScalar
+                                      : SPIRV::OpFMulS;
   BuildMI(BB, I, I.getDebugLoc(), TII.get(Opcode))
       .addDef(ResVReg)
       .addUse(GR.getSPIRVTypeID(ResType))
@@ -7337,7 +7396,7 @@ bool SPIRVInstructionSelector::loadBuiltinInputID(
 SPIRVTypeInst SPIRVInstructionSelector::widenTypeToVec4(SPIRVTypeInst Type,
                                                         MachineInstr &I) const {
   MachineIRBuilder MIRBuilder(I);
-  if (Type->getOpcode() != SPIRV::OpTypeVector)
+  if (!isVectorType(Type))
     return GR.getOrCreateSPIRVVectorType(Type, 4, MIRBuilder, false);
 
   if (GR.getScalarOrVectorComponentCount(Type) == 4)
diff --git a/llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.cpp b/llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.cpp
index 38960b23b26db..8ef15cb72205d 100644
--- a/llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.cpp
@@ -240,8 +240,11 @@ class SPIRVLegalizePointerCastImpl {
   buildVectorFromLoadedElements(IRBuilder<> &B, FixedVectorType *TargetType,
                                 SmallVector<Value *, 4> &LoadedElements) {
     // <1 x T> shares the SPIR-V type with T, so emitting OpCompositeInsert on
-    // a scalar would be invalid. Bridge with spv_bitcast instead.
-    if (TargetType->getNumElements() == 1) {
+    // a scalar would be invalid. Bridge with spv_bitcast instead unless
+    // SPV_EXT_long_vector is available.
+    bool CanUseAnyVectorRank = TM.getSubtargetImpl()->canUseExtension(
+        SPIRV::Extension::SPV_EXT_long_vector);
+    if (TargetType->getNumElements() == 1 && !CanUseAnyVectorRank) {
       Value *Scalar = LoadedElements[0];
       Value *NewVector = B.CreateIntrinsic(
           Intrinsic::spv_bitcast, {TargetType, Scalar->getType()}, {Scalar});
@@ -383,8 +386,11 @@ class SPIRVLegalizePointerCastImpl {
       GR->buildAssignPtr(B, ElemTy, ElementPtr);
 
       // Extract the element from the vector and store it.
-      Value *Element =
-          E == 1 ? SrcVector : makeExtractElement(B, ElemTy, SrcVector, I);
+      bool CanUseAnyVectorRank = TM.getSubtargetImpl()->canUseExtension(
+          SPIRV::Extension::SPV_EXT_long_vector);
+      Value *Element = (E == 1 && !CanUseAnyVectorRank)
+          ? SrcVector
+          : makeExtractElement(B, ElemTy, SrcVector, I);
       StoreInst *SI = B.CreateStore(Element, ElementPtr);
       SI->setAlignment(commonAlignment(Alignment, I * ElemSize));
     }
diff --git a/llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp b/llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
index 89d4e3144b41b..4676d7585b73b 100644
--- a/llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
@@ -38,6 +38,13 @@ LegalityPredicate typeOfExtendedScalars(unsigned TypeIdx, bool IsExtendedInts) {
   };
 }
 
+LegalityPredicate typeOfLongVectors(unsigned TypeIdx, bool IsLongVecs) {
+  return [TypeIdx, IsLongVecs](const LegalityQuery &Query) {
+    const LLT Ty = Query.Types[TypeIdx];
+    return IsLongVecs && Ty.isValid() && Ty.isVector();
+  };
+}
+
 SPIRVLegalizerInfo::SPIRVLegalizerInfo(const SPIRVSubtarget &ST) {
   using namespace TargetOpcode;
 
@@ -165,6 +172,7 @@ SPIRVLegalizerInfo::SPIRVLegalizerInfo(const SPIRVSubtarget &ST) {
       HasArbitraryPrecisionInts ||
       ST.canUseExtension(SPIRV::Extension::SPV_KHR_bit_instructions) ||
       ST.canUseExtension(SPIRV::Extension::SPV_INTEL_int4);
+  bool IsLongVecs = ST.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector);
   auto extendedScalarsAndVectors =
       [IsExtendedInts](const LegalityQuery &Query) {
         const LLT Ty = Query.Types[0];
@@ -204,6 +212,7 @@ SPIRVLegalizerInfo::SPIRVLegalizerInfo(const SPIRVSubtarget &ST) {
       getActionDefinitionsBuilder(Opc)
           .customFor(allScalars)
           .customFor(allowedVectorTypes)
+          .customIf(typeOfLongVectors(0, IsLongVecs))
           .moreElementsToNextPow2(0)
           .fewerElementsIf(vectorElementCountIsGreaterThan(0, MaxVectorSize),
                            LegalizeMutations::changeElementCountTo(
@@ -216,6 +225,7 @@ SPIRVLegalizerInfo::SPIRVLegalizerInfo(const SPIRVSubtarget &ST) {
   getActionDefinitionsBuilder({G_UREM, G_SREM, G_SDIV, G_UDIV, G_FREM})
       .customFor(allScalars)
       .customFor(allowedVectorTypes)
+      .customIf(typeOfLongVectors(0, IsLongVecs))
       .scalarizeIf(numElementsNotPow2(0), 0)
       .fewerElementsIf(vectorElementCountIsGreaterThan(0, MaxVectorSize),
                        LegalizeMutations::changeElementCountTo(
@@ -225,6 +235,7 @@ SPIRVLegalizerInfo::SPIRVLegalizerInfo(const SPIRVSubtarget &ST) {
   getActionDefinitionsBuilder({G_FMA, G_STRICT_FMA})
       .legalFor(allScalars)
       .legalFor(allowedVectorTypes)
+      .legalIf(typeOfLongVectors(0, IsLongVecs))
       .moreElementsToNextPow2(0)
       .fewerElementsIf(vectorElementCountIsGreaterThan(0, MaxVectorSize),
                        LegalizeMutations::changeElementCountTo(
@@ -235,12 +246,15 @@ SPIRVLegalizerInfo::SPIRVLegalizerInfo(const SPIRVSubtarget &ST) {
 
   getActionDefinitionsBuilder(G_SHUFFLE_VECTOR)
       .legalForCartesianProduct(allowedVectorTypes, allowedVectorTypes)
+      .legalIf(typeOfLongVectors(0, IsLongVecs))
+      .legalIf(typeOfLongVectors(1, IsLongVecs))
       .moreElementsToNextPow2(0)
       .lowerIf(vectorElementCountIsGreaterThan(0, MaxVectorSize))
       .moreElementsToNextPow2(1)
       .lowerIf(vectorElementCountIsGreaterThan(1, MaxVectorSize));
 
   getActionDefinitionsBuilder(G_EXTRACT_VECTOR_ELT)
+      .customIf(typeOfLongVectors(1, IsLongVecs))
       .moreElementsToNextPow2(1)
       .fewerElementsIf(vectorElementCountIsGreaterThan(1, MaxVectorSize),
                        LegalizeMutations::changeElementCountTo(
@@ -248,6 +262,7 @@ SPIRVLegalizerInfo::SPIRVLegalizerInfo(const SPIRVSubtarget &ST) {
       .custom();
 
   getActionDefinitionsBuilder(G_INSERT_VECTOR_ELT)
+      .customIf(typeOfLongVectors(0, IsLongVecs))
       .moreElementsToNextPow2(0)
       .fewerElementsIf(vectorElementCountIsGreaterThan(0, MaxVectorSize),
                        LegalizeMutations::changeElementCountTo(
@@ -257,6 +272,7 @@ SPIRVLegalizerInfo::SPIRVLegalizerInfo(const SPIRVSubtarget &ST) {
   // Illegal G_UNMERGE_VALUES instructions should be handled
   // during the combine phase.
   getActionDefinitionsBuilder(G_BUILD_VECTOR)
+      .legalIf(typeOfLongVectors(0, IsLongVecs))
       .legalIf(vectorElementCountIsLessThanOrEqualTo(0, MaxVectorSize));
 
   // When entering the legalizer, there should be no G_BITCAST instructions.
@@ -266,6 +282,7 @@ SPIRVLegalizerInfo::SPIRVLegalizerInfo(const SPIRVSubtarget &ST) {
   // we turn it back into a call to the intrinsic with a custom rule to avoid
   // potential machine verifier failures.
   getActionDefinitionsBuilder(G_BITCAST)
+      .customIf(typeOfLongVectors(0, IsLongVecs))
       .moreElementsToNextPow2(0)
       .moreElementsToNextPow2(1)
       .fewerElementsIf(vectorElementCountIsGreaterThan(0, MaxVectorSize),
@@ -276,10 +293,13 @@ SPIRVLegalizerInfo::SPIRVLegalizerInfo(const SPIRVSubtarget &ST) {
 
   // If the result is still illegal, the combiner should be able to remove it.
   getActionDefinitionsBuilder(G_CONCAT_VECTORS)
-      .legalForCartesianProduct(allowedVectorTypes, allowedVectorTypes);
+      .legalForCartesianProduct(allowedVectorTypes, allowedVectorTypes)
+      .legalIf(LegalityPredicates::any(typeOfLongVectors(0, IsLongVecs),
+                                       typeOfLongVectors(1, IsLongVecs)));
 
   getActionDefinitionsBuilder(G_SPLAT_VECTOR)
       .legalFor(allowedVectorTypes)
+      .legalIf(typeOfLongVectors(0, IsLongVecs))
       .moreElementsToNextPow2(0)
       .fewerElementsIf(vectorElementCountIsGreaterThan(0, MaxVectorSize),
                        LegalizeMutations::changeElementSizeTo(0, MaxVectorSize))
@@ -292,6 +312,7 @@ SPIRVLegalizerInfo::SPIRVLegalizerInfo(const SPIRVSubtarget &ST) {
        G_VECREDUCE_FMAX, G_VECREDUCE_FMINIMUM, G_VECREDUCE_FMAXIMUM,
        G_VECREDUCE_OR, G_VECREDUCE_AND, G_VECREDUCE_XOR})
       .legalFor(allowedVectorTypes)
+      .legalIf(typeOfLongVectors(0, IsLongVecs))
       .scalarize(1)
       .lower();
 
@@ -302,6 +323,8 @@ SPIRVLegalizerInfo::SPIRVLegalizerInfo(const SPIRVSubtarget &ST) {
   // Illegal G_UNMERGE_VALUES instructions should be handled
   // during the combine phase.
   getActionDefinitionsBuilder(G_UNMERGE_VALUES)
+      .legalIf(LegalityPredicates::any(typeOfLongVectors(0, IsLongVecs),
+                                       typeOfLongVectors(1, IsLongVecs)))
       .legalIf(vectorElementCountIsLessThanOrEqualTo(1, MaxVectorSize));
 
   getActionDefinitionsBuilder({G_MEMCPY, G_MEMCPY_INLINE, G_MEMMOVE})
@@ -322,6 +345,7 @@ SPIRVLegalizerInfo::SPIRVLegalizerInfo(const SPIRVSubtarget &ST) {
       .legalForCartesianProduct(allowedVectorTypes, allPtrs)
       .legalForCartesianProduct(allPtrs, allPtrs)
       .legalIf(isScalar(0))
+      .legalIf(typeOfLongVectors(0, IsLongVecs))
       .custom();
 
   getActionDefinitionsBuilder({G_SMIN, G_SMAX, G_UMIN, G_UMAX, G_ABS,
@@ -349,7 +373,8 @@ SPIRVLegalizerInfo::SPIRVLegalizerInfo(const SPIRVSubtarget &ST) {
 
   getActionDefinitionsBuilder(G_CTPOP)
       .legalForCartesianProduct(allIntScalarsAndVectors)
-      .legalIf(extendedScalarsAndVectorsProduct);
+      .legalIf(extendedScalarsAndVectorsProduct)
+      .legalIf(typeOfLongVectors(0, IsLongVecs));
 
   // Extensions.
   getActionDefinitionsBuilder({G_TRUNC, G_ZEXT, G_SEXT, G_ANYEXT})
@@ -363,6 +388,7 @@ SPIRVLegalizerInfo::SPIRVLegalizerInfo(const SPIRVSubtarget &ST) {
   getActionDefinitionsBuilder(G_PHI)
       .legalFor(allPtrsScalarsAndVectors)
       .legalIf(extendedPtrsScalarsAndVectors)
+      .legalIf(typeOfLongVectors(0, IsLongVecs))
       .moreElementsToNextPow2(0)
       .fewerElementsIf(vectorElementCountIsGreaterThan(0, MaxVectorSize),
                        LegalizeMutations::changeElementCountTo(
@@ -379,6 +405,7 @@ SPIRVLegalizerInfo::SPIRVLegalizerInfo(const SPIRVSubtarget &ST) {
       .legalIf([](const LegalityQuery &Query) {
         return Query.Types[0].isPointerVector();
       })
+      .legalIf(typeOfLongVectors(0, IsLongVecs))
       .moreElementsToNextPow2(0)
       .fewerElementsIf(vectorElementCountIsGreaterThan(0, MaxVectorSize),
                        LegalizeMutations::changeElementCountTo(
@@ -611,7 +638,8 @@ static Register convertPtrToInt(Register Reg, LLT ConvTy, SPIRVTypeInst SpvType,
 }
 
 static bool needsVectorLegalization(const LLT &Ty, const SPIRVSubtarget &ST) {
-  if (!Ty.isVector())
+  if (!Ty.isVector() ||
+      ST.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector))
     return false;
   unsigned NumElements = Ty.getNumElements();
   unsigned MaxVectorSize = ST.isShader() ? 4 : 16;
diff --git a/llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp b/llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
index 2836a2cc43ef0..fcbbe3877c574 100644
--- a/llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
@@ -1237,7 +1237,7 @@ static void AddAtomicFloatRequirements(const MachineInstr &MI,
   Register TypeReg = MI.getOperand(1).getReg();
   SPIRVTypeInst TypeDef = MI.getMF()->getRegInfo().getVRegDef(TypeReg);
 
-  if (TypeDef->getOpcode() == SPIRV::OpTypeVector)
+  if (isVectorType(TypeDef))
     return AddAtomicVectorFloatRequirements(MI, Reqs, ST);
 
   if (TypeDef->getOpcode() != SPIRV::OpTypeFloat)
@@ -1481,7 +1481,7 @@ static void AddDotProductRequirements(const MachineInstr &MI,
   if (TypeDef->getOpcode() == SPIRV::OpTypeInt) {
     assert(TypeDef->getOperand(1).getImm() == 32);
     Reqs.addCapability(SPIRV::Capability::DotProductInput4x8BitPacked);
-  } else if (TypeDef->getOpcode() == SPIRV::OpTypeVector) {
+  } else if (isVectorType(TypeDef)) {
     SPIRVTypeInst ScalarTypeDef =
         MRI.getVRegDef(TypeDef->getOperand(1).getReg());
     assert(ScalarTypeDef->getOpcode() == SPIRV::OpTypeInt);
@@ -1629,6 +1629,22 @@ void addInstrRequirements(const MachineInstr &MI,
     }
     break;
   }
+  case SPIRV::OpTypeVectorIdEXT : {
+    if (!ST.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector))
+      reportFatalUsageError("OpTypeVectorIdEXT requires the following SPIR-V "
+                            "extension: SPV_EXT_long_vector extension");
+    Reqs.addExtension(SPIRV::Extension::SPV_EXT_long_vector);
+    Reqs.addCapability(SPIRV::Capability::LongVectorEXT);
+    assert(MI.getOperand(1).isReg());
+    const MachineRegisterInfo &MRI = MI.getMF()->getRegInfo();
+    SPIRVTypeInst ElemTypeDef = MRI.getVRegDef(MI.getOperand(1).getReg());
+    if (ElemTypeDef->getOpcode() == SPIRV::OpTypePointer &&
+        ST.canUseExtension(SPIRV::Extension::SPV_INTEL_masked_gather_scatter)) {
+      Reqs.addExtension(SPIRV::Extension::SPV_INTEL_masked_gather_scatter);
+      Reqs.addCapability(SPIRV::Capability::MaskedGatherScatterINTEL);
+    }
+    break;
+  }
   case SPIRV::OpTypePointer: {
     auto SC = MI.getOperand(1).getImm();
     Reqs.getAndAddRequirements(SPIRV::OperandCategory::StorageClassOperand, SC,
@@ -2545,7 +2561,7 @@ void addInstrRequirements(const MachineInstr &MI,
   case SPIRV::OpFNegateV: {
     const MachineRegisterInfo &MRI = MI.getMF()->getRegInfo();
     SPIRVTypeInst TypeDef = MRI.getVRegDef(MI.getOperand(1).getReg());
-    if (TypeDef->getOpcode() == SPIRV::OpTypeVector)
+    if (isVectorType(TypeDef))
       TypeDef = MRI.getVRegDef(TypeDef->getOperand(1).getReg());
     if (isBFloat16Type(TypeDef)) {
       if (!ST.canUseExtension(SPIRV::Extension::SPV_INTEL_bfloat16_arithmetic))
@@ -2575,7 +2591,7 @@ void addInstrRequirements(const MachineInstr &MI,
     const MachineRegisterInfo &MRI = MI.getMF()->getRegInfo();
     MachineInstr *OperandDef = MRI.getVRegDef(MI.getOperand(2).getReg());
     SPIRVTypeInst TypeDef = MRI.getVRegDef(OperandDef->getOperand(1).getReg());
-    if (TypeDef->getOpcode() == SPIRV::OpTypeVector)
+    if (isVectorType(TypeDef))
       TypeDef = MRI.getVRegDef(TypeDef->getOperand(1).getReg());
     if (isBFloat16Type(TypeDef)) {
       if (!ST.canUseExtension(SPIRV::Extension::SPV_INTEL_bfloat16_arithmetic))
diff --git a/llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp b/llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
index 2b33dabde4612..2be5726f27808 100644
--- a/llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
@@ -222,7 +222,8 @@ static SPIRVTypeInst deduceGEPType(MachineInstr *I, SPIRVGlobalRegistry *GR,
     switch (PointeeType->getOpcode()) {
     case SPIRV::OpTypeArray:
     case SPIRV::OpTypeRuntimeArray:
-    case SPIRV::OpTypeVector: {
+    case SPIRV::OpTypeVector:
+    case SPIRV::OpTypeVectorIdEXT: {
       Register ElemTypeReg = PointeeType->getOperand(1).getReg();
       PointeeType = GR->getSPIRVTypeForVReg(ElemTypeReg);
       break;
@@ -317,7 +318,7 @@ static bool deduceAndAssignTypeForGUnmerge(MachineInstr *I, MachineFunction &MF,
   Register SrcReg = I->getOperand(I->getNumOperands() - 1).getReg();
   SPIRVTypeInst ScalarType = nullptr;
   if (SPIRVTypeInst DefType = GR->getSPIRVTypeForVReg(SrcReg)) {
-    assert(DefType->getOpcode() == SPIRV::OpTypeVector);
+    assert(isVectorType(DefType));
     ScalarType = GR->getScalarOrVectorComponentType(DefType);
   }
 
diff --git a/llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td b/llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
index 7da57bc1b2d47..f6b31c93344cb 100644
--- a/llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
+++ b/llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
@@ -404,6 +404,7 @@ defm SPV_AMD_weak_linkage : ExtensionOperand<137, [EnvOpenCL]>;
 // Message Type, which is not yet implemented.
 defm SPV_KHR_abort : ExtensionOperand<138, [EnvOpenCL]>;
 defm SPV_KHR_poison_freeze : ExtensionOperand<139, [EnvVulkan, EnvOpenCL]>;
+defm SPV_EXT_long_vector : ExtensionOperand<140, [EnvOpenCL, EnvVulkan]>;
 
 //===----------------------------------------------------------------------===//
 // Multiclass used to define Capabilities enum values and at the same time
@@ -642,6 +643,7 @@ defm ArbitraryPrecisionFixedPointALTERA : CapabilityOperand<5922, 0, 0, [SPV_ALT
 defm ArbitraryPrecisionFloatingPointALTERA : CapabilityOperand<5845, 0, 0,[SPV_ALTERA_arbitrary_precision_floating_point], []>;
 defm UnstructuredLoopControlsINTEL : CapabilityOperand<5886, 0, 0, [SPV_INTEL_unstructured_loop_controls], []>;
 defm PoisonFreezeKHR : CapabilityOperand<5156, 0, 0, [SPV_KHR_poison_freeze], []>;
+defm LongVectorEXT : CapabilityOperand<5425, 0, 0, [SPV_EXT_long_vector], []>;
 
 //===----------------------------------------------------------------------===//
 // Multiclass used to define SourceLanguage enum values and at the same time
diff --git a/llvm/lib/Target/SPIRV/SPIRVUtils.cpp b/llvm/lib/Target/SPIRV/SPIRVUtils.cpp
index 1a1247fbe3e18..e8f2b676eff53 100644
--- a/llvm/lib/Target/SPIRV/SPIRVUtils.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVUtils.cpp
@@ -971,6 +971,11 @@ Register createVirtualRegister(
       MIRBuilder);
 }
 
+bool isVectorType(SPIRVTypeInst SPVTy) {
+  return SPVTy->getOpcode() == SPIRV::OpTypeVector ||
+      SPVTy->getOpcode() == SPIRV::OpTypeVectorIdEXT;
+}
+
 CallInst *buildIntrWithMD(Intrinsic::ID IntrID, ArrayRef<Type *> Types,
                           Value *Arg, Value *Arg2, ArrayRef<Constant *> Imms,
                           IRBuilder<> &B) {
diff --git a/llvm/lib/Target/SPIRV/SPIRVUtils.h b/llvm/lib/Target/SPIRV/SPIRVUtils.h
index 64fecb37c880f..c69d70d3d4aa1 100644
--- a/llvm/lib/Target/SPIRV/SPIRVUtils.h
+++ b/llvm/lib/Target/SPIRV/SPIRVUtils.h
@@ -505,21 +505,38 @@ inline bool isVector1(Type *Ty) {
   return FVTy && FVTy->getNumElements() == 1;
 }
 
+// We define this predicate out of line to avoid having to include all OpTypes.
+bool isVectorType(SPIRVTypeInst SPVTy);
+inline bool isLongVector(const Type *Ty) {
+  if (auto *FVTy = dyn_cast<FixedVectorType>(Ty)) {
+    unsigned N = FVTy->getNumElements();
+    // Per specification: `Vector types must be parameterized only with 2, 3, or
+    // 4 components, plus any additional sizes enabled by capabilities.`, and we
+    // always enable the Vector16 capability.
+    return N != 2 && N != 3 && N != 4 && N != 8 && N != 16;
+  }
+  return false;
+}
+
 // Modify an LLVM type to conform with future transformations in IRTranslator.
 // At the moment use cases comprise only a <1 x Type> vector. To extend when/if
 // needed.
-inline Type *normalizeType(Type *Ty) {
+inline Type *normalizeType(Type *Ty, bool CanUseAnyVectorRank) {
+  if (CanUseAnyVectorRank)
+    return Ty;
+
   auto *FVTy = dyn_cast<FixedVectorType>(Ty);
   if (!FVTy || FVTy->getNumElements() != 1)
     return Ty;
   // If it's a <1 x Type> vector type, replace it by the element type, because
   // it's not a legal vector type in LLT and IRTranslator will represent it as
   // the scalar eventually.
-  return normalizeType(FVTy->getElementType());
+  return normalizeType(FVTy->getElementType(), CanUseAnyVectorRank);
 }
 
-inline PoisonValue *getNormalizedPoisonValue(Type *Ty) {
-  return PoisonValue::get(normalizeType(Ty));
+inline PoisonValue *getNormalizedPoisonValue(Type *Ty,
+                                             bool CanUseAnyVectorRank) {
+  return PoisonValue::get(normalizeType(Ty, CanUseAnyVectorRank));
 }
 
 inline MetadataAsValue *buildMD(Value *Arg) {
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/bool-vector-bitcast.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/bool-vector-bitcast.ll
new file mode 100644
index 0000000000000..3a23829da1233
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/bool-vector-bitcast.ll
@@ -0,0 +1,373 @@
+; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector,+SPV_ALTERA_arbitrary_precision_integers %s -o - | FileCheck %s
+; spirv-val seems to have problems reading OpTypeVectorIdEXT correctly, enable once fixed
+; TODO: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector,+SPV_ALTERA_arbitrary_precision_integers %s -o - -filetype=obj | spirv-val %}
+
+; Verify that bitcasts between bool vectors and other types are decomposed
+; into element-wise operations instead of generating OpBitcast, which is
+; invalid for OpTypeBool.
+
+; CHECK-DAG: %[[#BOOL:]] = OpTypeBool
+; CHECK-DAG: %[[#BVEC8:]] = OpTypeVector %[[#BOOL]] 8
+; CHECK-DAG: %[[#BVEC17:]] = OpTypeVectorIdEXT %[[#BOOL]] 17
+; CHECK-DAG: %[[#I8:]] = OpTypeInt 8 0
+; CHECK-DAG: %[[#I17:]] = OpTypeInt 17 0
+; CHECK-DAG: %[[#VEC1_I8:]] = OpTypeVectorIdEXT %[[#I8]] 1
+
+; CHECK-DAG: %[[#ZERO:]] = OpConstantNull %[[#I8]]
+; CHECK-DAG: %[[#ONE:]] = OpConstant %[[#I8]] 1{{$}}
+; CHECK-DAG: %[[#TWO:]] = OpConstant %[[#I8]] 2{{$}}
+; CHECK-DAG: %[[#FOUR:]] = OpConstant %[[#I8]] 4{{$}}
+; CHECK-DAG: %[[#EIGHT:]] = OpConstant %[[#I8]] 8{{$}}
+; CHECK-DAG: %[[#C16:]] = OpConstant %[[#I8]] 16{{$}}
+; CHECK-DAG: %[[#C32:]] = OpConstant %[[#I8]] 32{{$}}
+; CHECK-DAG: %[[#C64:]] = OpConstant %[[#I8]] 64{{$}}
+; CHECK-DAG: %[[#C128:]] = OpConstant %[[#I8]] 128{{$}}
+; CHECK-DAG: %[[#C3:]] = OpConstant %[[#I8]] 3{{$}}
+; CHECK-DAG: %[[#C5:]] = OpConstant %[[#I8]] 5{{$}}
+; CHECK-DAG: %[[#C6:]] = OpConstant %[[#I8]] 6{{$}}
+; CHECK-DAG: %[[#C7:]] = OpConstant %[[#I8]] 7{{$}}
+
+; CHECK-DAG: %[[#ZERO17:]] = OpConstantNull %[[#I17]]
+; CHECK-DAG: %[[#ONE17:]] = OpConstant %[[#I17]] 1{{$}}
+; CHECK-DAG: %[[#TWO17:]] = OpConstant %[[#I17]] 2{{$}}
+; CHECK-DAG: %[[#C3_17:]] = OpConstant %[[#I17]] 3{{$}}
+; CHECK-DAG: %[[#C4_17:]] = OpConstant %[[#I17]] 4{{$}}
+; CHECK-DAG: %[[#C5_17:]] = OpConstant %[[#I17]] 5{{$}}
+; CHECK-DAG: %[[#C6_17:]] = OpConstant %[[#I17]] 6{{$}}
+; CHECK-DAG: %[[#C7_17:]] = OpConstant %[[#I17]] 7{{$}}
+; CHECK-DAG: %[[#C8_17:]] = OpConstant %[[#I17]] 8{{$}}
+; CHECK-DAG: %[[#C9_17:]] = OpConstant %[[#I17]] 9{{$}}
+; CHECK-DAG: %[[#C10_17:]] = OpConstant %[[#I17]] 10{{$}}
+; CHECK-DAG: %[[#C11_17:]] = OpConstant %[[#I17]] 11{{$}}
+; CHECK-DAG: %[[#C12_17:]] = OpConstant %[[#I17]] 12{{$}}
+; CHECK-DAG: %[[#C13_17:]] = OpConstant %[[#I17]] 13{{$}}
+; CHECK-DAG: %[[#C14_17:]] = OpConstant %[[#I17]] 14{{$}}
+; CHECK-DAG: %[[#C15_17:]] = OpConstant %[[#I17]] 15{{$}}
+; CHECK-DAG: %[[#C16_17:]] = OpConstant %[[#I17]] 16{{$}}
+; CHECK-DAG: %[[#C32_17:]] = OpConstant %[[#I17]] 32{{$}}
+; CHECK-DAG: %[[#C64_17:]] = OpConstant %[[#I17]] 64{{$}}
+; CHECK-DAG: %[[#C128_17:]] = OpConstant %[[#I17]] 128{{$}}
+; CHECK-DAG: %[[#C256_17:]] = OpConstant %[[#I17]] 256{{$}}
+; CHECK-DAG: %[[#C512_17:]] = OpConstant %[[#I17]] 512{{$}}
+; CHECK-DAG: %[[#C1024_17:]] = OpConstant %[[#I17]] 1024{{$}}
+; CHECK-DAG: %[[#C2048_17:]] = OpConstant %[[#I17]] 2048{{$}}
+; CHECK-DAG: %[[#C4096_17:]] = OpConstant %[[#I17]] 4096{{$}}
+; CHECK-DAG: %[[#C8192_17:]] = OpConstant %[[#I17]] 8192{{$}}
+; CHECK-DAG: %[[#C16384_17:]] = OpConstant %[[#I17]] 16384{{$}}
+; CHECK-DAG: %[[#C32768_17:]] = OpConstant %[[#I17]] 32768{{$}}
+; CHECK-DAG: %[[#C65536_17:]] = OpConstant %[[#I17]] 65536{{$}}
+
+
+; bitcast <8 x i1> to i8
+; Extracts each bool, zero-extends via OpSelect, shifts into position, and ORs.
+;
+; CHECK:   %[[#B2S:]] = OpFunction %[[#I8]]
+; CHECK:   %[[#B2S_ARG:]] = OpFunctionParameter %[[#BVEC8]]
+; CHECK:   OpLabel
+;
+; CHECK:   %[[#E0:]] = OpCompositeExtract %[[#BOOL]] %[[#B2S_ARG]] 0
+; CHECK:   %[[#S0:]] = OpSelect %[[#I8]] %[[#E0]] %[[#ONE]] %[[#ZERO]]
+; CHECK:   %[[#OR0:]] = OpBitwiseOr %[[#I8]] %[[#ZERO]] %[[#S0]]
+;
+; CHECK:   %[[#E1:]] = OpCompositeExtract %[[#BOOL]] %[[#B2S_ARG]] 1
+; CHECK:   %[[#S1:]] = OpSelect %[[#I8]] %[[#E1]] %[[#ONE]] %[[#ZERO]]
+; CHECK:   %[[#SHL1:]] = OpShiftLeftLogical %[[#I8]] %[[#S1]] %[[#ONE]]
+; CHECK:   %[[#OR1:]] = OpBitwiseOr %[[#I8]] %[[#OR0]] %[[#SHL1]]
+;
+; CHECK:   %[[#E2:]] = OpCompositeExtract %[[#BOOL]] %[[#B2S_ARG]] 2
+; CHECK:   %[[#S2:]] = OpSelect %[[#I8]] %[[#E2]] %[[#ONE]] %[[#ZERO]]
+; CHECK:   %[[#SHL2:]] = OpShiftLeftLogical %[[#I8]] %[[#S2]] %[[#TWO]]
+; CHECK:   %[[#OR2:]] = OpBitwiseOr %[[#I8]] %[[#OR1]] %[[#SHL2]]
+;
+; CHECK:   OpCompositeExtract %[[#BOOL]] %[[#B2S_ARG]] 3
+; CHECK:   OpShiftLeftLogical %[[#I8]] %{{.*}} %[[#C3]]
+; CHECK:   %[[#OR3:]] = OpBitwiseOr %[[#I8]]
+; CHECK:   OpCompositeExtract %[[#BOOL]] %[[#B2S_ARG]] 4
+; CHECK:   OpShiftLeftLogical %[[#I8]] %{{.*}} %[[#FOUR]]
+; CHECK:   %[[#OR4:]] = OpBitwiseOr %[[#I8]]
+; CHECK:   OpCompositeExtract %[[#BOOL]] %[[#B2S_ARG]] 5
+; CHECK:   OpShiftLeftLogical %[[#I8]] %{{.*}} %[[#C5]]
+; CHECK:   %[[#OR5:]] = OpBitwiseOr %[[#I8]]
+; CHECK:   OpCompositeExtract %[[#BOOL]] %[[#B2S_ARG]] 6
+; CHECK:   OpShiftLeftLogical %[[#I8]] %{{.*}} %[[#C6]]
+; CHECK:   %[[#OR6:]] = OpBitwiseOr %[[#I8]]
+;
+; CHECK:   %[[#E7:]] = OpCompositeExtract %[[#BOOL]] %[[#B2S_ARG]] 7
+; CHECK:   %[[#S7:]] = OpSelect %[[#I8]] %[[#E7]] %[[#ONE]] %[[#ZERO]]
+; CHECK:   %[[#SHL7:]] = OpShiftLeftLogical %[[#I8]] %[[#S7]] %[[#C7]]
+; CHECK:   %[[#OR7:]] = OpBitwiseOr %[[#I8]] %[[#OR6]] %[[#SHL7]]
+;
+; CHECK:   OpReturnValue %[[#OR7]]
+define i8 @boolvec_to_scalar(<8 x i1> %v) {
+  %r = bitcast <8 x i1> %v to i8
+  ret i8 %r
+}
+
+; bitcast <8 x i1> to <1 x i8>
+;
+; CHECK:   %[[#B2V:]] = OpFunction %[[#VEC1_I8]]
+; CHECK:   %[[#B2V_ARG:]] = OpFunctionParameter %[[#BVEC8]]
+; CHECK:   OpLabel
+;
+; CHECK:   %[[#B2V_E0:]] = OpCompositeExtract %[[#BOOL]] %[[#B2V_ARG]] 0
+; CHECK:   %[[#B2V_S0:]] = OpSelect %[[#I8]] %[[#B2V_E0]] %[[#ONE]] %[[#ZERO]]
+; CHECK:   %[[#B2V_OR0:]] = OpBitwiseOr %[[#I8]] %[[#ZERO]] %[[#B2V_S0]]
+;
+; CHECK:   %[[#B2V_E1:]] = OpCompositeExtract %[[#BOOL]] %[[#B2V_ARG]] 1
+; CHECK:   %[[#B2V_S1:]] = OpSelect %[[#I8]] %[[#B2V_E1]] %[[#ONE]] %[[#ZERO]]
+; CHECK:   %[[#B2V_SHL1:]] = OpShiftLeftLogical %[[#I8]] %[[#B2V_S1]] %[[#ONE]]
+; CHECK:   %[[#B2V_OR1:]] = OpBitwiseOr %[[#I8]] %[[#B2V_OR0]] %[[#B2V_SHL1]]
+;
+; CHECK:   %[[#B2V_E2:]] = OpCompositeExtract %[[#BOOL]] %[[#B2V_ARG]] 2
+; CHECK:   %[[#B2V_S2:]] = OpSelect %[[#I8]] %[[#B2V_E2]] %[[#ONE]] %[[#ZERO]]
+; CHECK:   %[[#B2V_SHL2:]] = OpShiftLeftLogical %[[#I8]] %[[#B2V_S2]] %[[#TWO]]
+; CHECK:   %[[#B2V_OR2:]] = OpBitwiseOr %[[#I8]] %[[#B2V_OR1]] %[[#B2V_SHL2]]
+;
+; CHECK:   OpCompositeExtract %[[#BOOL]] %[[#B2V_ARG]] 3
+; CHECK:   OpShiftLeftLogical %[[#I8]] %{{.*}} %[[#C3]]
+; CHECK:   %[[#B2V_OR3:]] = OpBitwiseOr %[[#I8]]
+; CHECK:   OpCompositeExtract %[[#BOOL]] %[[#B2V_ARG]] 4
+; CHECK:   OpShiftLeftLogical %[[#I8]] %{{.*}} %[[#FOUR]]
+; CHECK:   %[[#B2V_OR4:]] = OpBitwiseOr %[[#I8]]
+; CHECK:   OpCompositeExtract %[[#BOOL]] %[[#B2V_ARG]] 5
+; CHECK:   OpShiftLeftLogical %[[#I8]] %{{.*}} %[[#C5]]
+; CHECK:   %[[#B2V_OR5:]] = OpBitwiseOr %[[#I8]]
+; CHECK:   OpCompositeExtract %[[#BOOL]] %[[#B2V_ARG]] 6
+; CHECK:   OpShiftLeftLogical %[[#I8]] %{{.*}} %[[#C6]]
+; CHECK:   %[[#B2V_OR6:]] = OpBitwiseOr %[[#I8]]
+;
+; CHECK:   %[[#B2V_E7:]] = OpCompositeExtract %[[#BOOL]] %[[#B2V_ARG]] 7
+; CHECK:   %[[#B2V_S7:]] = OpSelect %[[#I8]] %[[#B2V_E7]] %[[#ONE]] %[[#ZERO]]
+; CHECK:   %[[#B2V_SHL7:]] = OpShiftLeftLogical %[[#I8]] %[[#B2V_S7]] %[[#C7]]
+; CHECK:   %[[#B2V_OR7:]] = OpBitwiseOr %[[#I8]] %[[#B2V_OR6]] %[[#B2V_SHL7]]
+; CHECK:   %[[#BC_TO_VEC1:]] = OpBitcast %[[#VEC1_I8]] %[[#B2V_OR7]]
+; CHECK:   OpReturnValue %[[#BC_TO_VEC1]]
+define <1 x i8> @boolvec_to_vec(<8 x i1> %v) {
+  %r = bitcast <8 x i1> %v to <1 x i8>
+  ret <1 x i8> %r
+}
+
+; bitcast <1 x i8> to <8 x i1>
+;
+; CHECK:   %[[#V2B:]] = OpFunction %[[#BVEC8]]
+; CHECK:   %[[#V2B_ARG:]] = OpFunctionParameter %[[#VEC1_I8]]
+; CHECK:   OpLabel
+;
+; CHECK:   %[[#BC_VEC1_INT8_TO_I8:]] = OpBitcast %[[#I8]] %[[#V2B_ARG]]
+; CHECK:   %[[#V2B_A0:]] = OpBitwiseAnd %[[#I8]] %[[#BC_VEC1_INT8_TO_I8]] %[[#ONE]]
+; CHECK:   %[[#V2B_C0:]] = OpINotEqual %[[#BOOL]] %[[#V2B_A0]] %[[#ZERO]]
+; CHECK:   %[[#V2B_I0:]] = OpCompositeInsert %[[#BVEC8]] %[[#V2B_C0]] %{{.*}} 0
+;
+; CHECK:   %[[#V2B_A1:]] = OpBitwiseAnd %[[#I8]] %[[#BC_VEC1_INT8_TO_I8]] %[[#TWO]]
+; CHECK:   %[[#V2B_C1:]] = OpINotEqual %[[#BOOL]] %[[#V2B_A1]] %[[#ZERO]]
+; CHECK:   %[[#V2B_I1:]] = OpCompositeInsert %[[#BVEC8]] %[[#V2B_C1]] %[[#V2B_I0]] 1
+;
+; CHECK:   %[[#V2B_A2:]] = OpBitwiseAnd %[[#I8]] %[[#BC_VEC1_INT8_TO_I8]] %[[#FOUR]]
+; CHECK:   %[[#V2B_C2:]] = OpINotEqual %[[#BOOL]] %[[#V2B_A2]] %[[#ZERO]]
+; CHECK:   %[[#V2B_I2:]] = OpCompositeInsert %[[#BVEC8]] %[[#V2B_C2]] %[[#V2B_I1]] 2
+;
+; CHECK:   OpBitwiseAnd %[[#I8]] %[[#BC_VEC1_INT8_TO_I8]] %[[#EIGHT]]
+; CHECK:   OpINotEqual %[[#BOOL]]
+; CHECK:   %[[#V2B_I3:]] = OpCompositeInsert %[[#BVEC8]] %{{.*}} %[[#V2B_I2]] 3
+; CHECK:   OpBitwiseAnd %[[#I8]] %[[#BC_VEC1_INT8_TO_I8]] %[[#C16]]
+; CHECK:   OpINotEqual %[[#BOOL]]
+; CHECK:   %[[#V2B_I4:]] = OpCompositeInsert %[[#BVEC8]] %{{.*}} %[[#V2B_I3]] 4
+; CHECK:   OpBitwiseAnd %[[#I8]] %[[#BC_VEC1_INT8_TO_I8]] %[[#C32]]
+; CHECK:   OpINotEqual %[[#BOOL]]
+; CHECK:   %[[#V2B_I5:]] = OpCompositeInsert %[[#BVEC8]] %{{.*}} %[[#V2B_I4]] 5
+; CHECK:   OpBitwiseAnd %[[#I8]] %[[#BC_VEC1_INT8_TO_I8]] %[[#C64]]
+; CHECK:   OpINotEqual %[[#BOOL]]
+; CHECK:   %[[#V2B_I6:]] = OpCompositeInsert %[[#BVEC8]] %{{.*}} %[[#V2B_I5]] 6
+;
+; CHECK:   %[[#V2B_A7:]] = OpBitwiseAnd %[[#I8]] %[[#BC_VEC1_INT8_TO_I8]] %[[#C128]]
+; CHECK:   %[[#V2B_C7:]] = OpINotEqual %[[#BOOL]] %[[#V2B_A7]] %[[#ZERO]]
+; CHECK:   %[[#V2B_I7:]] = OpCompositeInsert %[[#BVEC8]] %[[#V2B_C7]] %[[#V2B_I6]] 7
+;
+; CHECK:   OpReturnValue %[[#V2B_I77:]]
+define <8 x i1> @vec_to_boolvec(<1 x i8> %v) {
+  %r = bitcast <1 x i8> %v to <8 x i1>
+  ret <8 x i1> %r
+}
+
+; bitcast i8 to <8 x i1>
+; Tests each bit with AND + INotEqual, inserts each bool into the result vector.
+;
+; CHECK:   %[[#S2B:]] = OpFunction %[[#BVEC8]]
+; CHECK-SAME: -- Begin function scalar_to_boolvec
+; CHECK:   %[[#S2B_ARG:]] = OpFunctionParameter %[[#I8]]
+; CHECK:   OpLabel
+;
+; CHECK:   %[[#A0:]] = OpBitwiseAnd %[[#I8]] %[[#S2B_ARG]] %[[#ONE]]
+; CHECK:   %[[#C0:]] = OpINotEqual %[[#BOOL]] %[[#A0]] %[[#ZERO]]
+; CHECK:   %[[#I0:]] = OpCompositeInsert %[[#BVEC8]] %[[#C0]] %{{.*}} 0
+;
+; CHECK:   %[[#A1:]] = OpBitwiseAnd %[[#I8]] %[[#S2B_ARG]] %[[#TWO]]
+; CHECK:   %[[#C1:]] = OpINotEqual %[[#BOOL]] %[[#A1]] %[[#ZERO]]
+; CHECK:   %[[#I1:]] = OpCompositeInsert %[[#BVEC8]] %[[#C1]] %[[#I0]] 1
+;
+; CHECK:   %[[#A2:]] = OpBitwiseAnd %[[#I8]] %[[#S2B_ARG]] %[[#FOUR]]
+; CHECK:   %[[#C2:]] = OpINotEqual %[[#BOOL]] %[[#A2]] %[[#ZERO]]
+; CHECK:   %[[#I2:]] = OpCompositeInsert %[[#BVEC8]] %[[#C2]] %[[#I1]] 2
+;
+; CHECK:   OpBitwiseAnd %[[#I8]] %[[#S2B_ARG]] %[[#EIGHT]]
+; CHECK:   OpINotEqual %[[#BOOL]]
+; CHECK:   %[[#I3:]] = OpCompositeInsert %[[#BVEC8]] %{{.*}} %[[#I2]] 3
+; CHECK:   OpBitwiseAnd %[[#I8]] %[[#S2B_ARG]] %[[#C16]]
+; CHECK:   OpINotEqual %[[#BOOL]]
+; CHECK:   %[[#I4:]] = OpCompositeInsert %[[#BVEC8]] %{{.*}} %[[#I3]] 4
+; CHECK:   OpBitwiseAnd %[[#I8]] %[[#S2B_ARG]] %[[#C32]]
+; CHECK:   OpINotEqual %[[#BOOL]]
+; CHECK:   %[[#I5:]] = OpCompositeInsert %[[#BVEC8]] %{{.*}} %[[#I4]] 5
+; CHECK:   OpBitwiseAnd %[[#I8]] %[[#S2B_ARG]] %[[#C64]]
+; CHECK:   OpINotEqual %[[#BOOL]]
+; CHECK:   %[[#I6:]] = OpCompositeInsert %[[#BVEC8]] %{{.*}} %[[#I5]] 6
+;
+; CHECK:   %[[#A7:]] = OpBitwiseAnd %[[#I8]] %[[#S2B_ARG]] %[[#C128]]
+; CHECK:   %[[#C7B:]] = OpINotEqual %[[#BOOL]] %[[#A7]] %[[#ZERO]]
+; CHECK:   %[[#I7:]] = OpCompositeInsert %[[#BVEC8]] %[[#C7B]] %[[#I6]] 7
+;
+; CHECK:   OpReturnValue %[[#I7]]
+define <8 x i1> @scalar_to_boolvec(i8 %v) {
+  %r = bitcast i8 %v to <8 x i1>
+  ret <8 x i1> %r
+}
+
+; bitcast <17 x i1> to I17
+;
+; CHECK:   %[[#B2S17:]] = OpFunction %[[#I17]]
+; CHECK:   %[[#B2S17_ARG:]] = OpFunctionParameter %[[#BVEC17]]
+; CHECK:   OpLabel
+;
+; CHECK:   %[[#B2S17_E0:]] = OpCompositeExtract %[[#BOOL]] %[[#B2S17_ARG]] 0
+; CHECK:   %[[#B2S17_S0:]] = OpSelect %[[#I17]] %[[#B2S17_E0]] %[[#ONE17]] %[[#ZERO17]]
+; CHECK:   %[[#B2S17_OR0:]] = OpBitwiseOr %[[#I17]] %[[#ZERO17]] %[[#B2S17_S0]]
+;
+; CHECK:   %[[#B2S17_E1:]] = OpCompositeExtract %[[#BOOL]] %[[#B2S17_ARG]] 1
+; CHECK:   %[[#B2S17_S1:]] = OpSelect %[[#I17]] %[[#B2S17_E1]] %[[#ONE17]] %[[#ZERO17]]
+; CHECK:   %[[#B2S17_SHL1:]] = OpShiftLeftLogical %[[#I17]] %[[#B2S17_S1]] %[[#ONE17]]
+; CHECK:   %[[#B2S17_OR1:]] = OpBitwiseOr %[[#I17]] %[[#B2S17_OR0]] %[[#B2S17_SHL1]]
+;
+; CHECK:   %[[#B2S17_E2:]] = OpCompositeExtract %[[#BOOL]] %[[#B2S17_ARG]] 2
+; CHECK:   %[[#B2S17_S2:]] = OpSelect %[[#I17]] %[[#B2S17_E2]] %[[#ONE17]] %[[#ZERO17]]
+; CHECK:   %[[#B2S17_SHL2:]] = OpShiftLeftLogical %[[#I17]] %[[#B2S17_S2]] %[[#TWO17]]
+; CHECK:   %[[#B2S17_OR2:]] = OpBitwiseOr %[[#I17]] %[[#B2S17_OR1]] %[[#B2S17_SHL2]]
+;
+; CHECK:   OpCompositeExtract %[[#BOOL]] %[[#B2S17_ARG]] 3
+; CHECK:   OpShiftLeftLogical %[[#I17]] %{{.*}} %[[#C3_17]]
+; CHECK:   %[[#B2S17_OR3:]] = OpBitwiseOr %[[#I17]]
+; CHECK:   OpCompositeExtract %[[#BOOL]] %[[#B2S17_ARG]] 4
+; CHECK:   OpShiftLeftLogical %[[#I17]] %{{.*}} %[[#C4_17]]
+; CHECK:   %[[#B2S17_OR4:]] = OpBitwiseOr %[[#I17]]
+; CHECK:   OpCompositeExtract %[[#BOOL]] %[[#B2S17_ARG]] 5
+; CHECK:   OpShiftLeftLogical %[[#I17]] %{{.*}} %[[#C5_17]]
+; CHECK:   %[[#B2S17_OR5:]] = OpBitwiseOr %[[#I17]]
+; CHECK:   OpCompositeExtract %[[#BOOL]] %[[#B2S17_ARG]] 6
+; CHECK:   OpShiftLeftLogical %[[#I17]] %{{.*}} %[[#C6_17]]
+; CHECK:   %[[#B2S17_OR6:]] = OpBitwiseOr %[[#I17]]
+; CHECK:   OpCompositeExtract %[[#BOOL]] %[[#B2S17_ARG]] 7
+; CHECK:   OpShiftLeftLogical %[[#I17]] %{{.*}} %[[#C7_17]]
+; CHECK:   %[[#B2S17_OR7:]] = OpBitwiseOr %[[#I17]]
+; CHECK:   OpCompositeExtract %[[#BOOL]] %[[#B2S17_ARG]] 8
+; CHECK:   OpShiftLeftLogical %[[#I17]] %{{.*}} %[[#C8_17]]
+; CHECK:   %[[#B2S17_OR8:]] = OpBitwiseOr %[[#I17]]
+; CHECK:   OpCompositeExtract %[[#BOOL]] %[[#B2S17_ARG]] 9
+; CHECK:   OpShiftLeftLogical %[[#I17]] %{{.*}} %[[#C9_17]]
+; CHECK:   %[[#B2S17_OR9:]] = OpBitwiseOr %[[#I17]]
+; CHECK:   OpCompositeExtract %[[#BOOL]] %[[#B2S17_ARG]] 10
+; CHECK:   OpShiftLeftLogical %[[#I17]] %{{.*}} %[[#C10_17]]
+; CHECK:   %[[#B2S17_OR10:]] = OpBitwiseOr %[[#I17]]
+; CHECK:   OpCompositeExtract %[[#BOOL]] %[[#B2S17_ARG]] 11
+; CHECK:   OpShiftLeftLogical %[[#I17]] %{{.*}} %[[#C11_17]]
+; CHECK:   %[[#B2S17_OR11:]] = OpBitwiseOr %[[#I17]]
+; CHECK:   OpCompositeExtract %[[#BOOL]] %[[#B2S17_ARG]] 12
+; CHECK:   OpShiftLeftLogical %[[#I17]] %{{.*}} %[[#C12_17]]
+; CHECK:   %[[#B2S17_OR12:]] = OpBitwiseOr %[[#I17]]
+; CHECK:   OpCompositeExtract %[[#BOOL]] %[[#B2S17_ARG]] 13
+; CHECK:   OpShiftLeftLogical %[[#I17]] %{{.*}} %[[#C13_17]]
+; CHECK:   %[[#B2S17_OR13:]] = OpBitwiseOr %[[#I17]]
+; CHECK:   OpCompositeExtract %[[#BOOL]] %[[#B2S17_ARG]] 14
+; CHECK:   OpShiftLeftLogical %[[#I17]] %{{.*}} %[[#C14_17]]
+; CHECK:   %[[#B2S17_OR14:]] = OpBitwiseOr %[[#I17]]
+; CHECK:   %[[#B2S17_E15:]] = OpCompositeExtract %[[#BOOL]] %[[#B2S17_ARG]] 15
+; CHECK:   %[[#B2S17_S15:]] = OpSelect %[[#I17]] %[[#B2S17_E15]] %[[#ONE17]] %[[#ZERO17]]
+; CHECK:   %[[#B2S17_SHL15:]] = OpShiftLeftLogical %[[#I17]] %[[#B2S17_S15]] %[[#C15_17]]
+; CHECK:   %[[#B2S17_OR15:]] = OpBitwiseOr %[[#I17]] %[[#B2S17_OR14]] %[[#B2S17_SHL15]]
+;
+; CHECK:   %[[#B2S17_E16:]] = OpCompositeExtract %[[#BOOL]] %[[#B2S17_ARG]] 16
+; CHECK:   %[[#B2S17_S16:]] = OpSelect %[[#I17]] %[[#B2S17_E16]] %[[#ONE17]] %[[#ZERO17]]
+; CHECK:   %[[#B2S17_SHL16:]] = OpShiftLeftLogical %[[#I17]] %[[#B2S17_S16]] %[[#C16_17]]
+; CHECK:   %[[#B2S17_OR16:]] = OpBitwiseOr %[[#I17]] %[[#B2S17_OR15]] %[[#B2S17_SHL16]]
+;
+; CHECK:   OpReturnValue %[[#B2S17_OR16]]
+define i17 @boolvec17_to_scalar(<17 x i1> %v) {
+  %r = bitcast <17 x i1> %v to i17
+  ret i17 %r
+}
+
+; bitcast i17 to <17 x i1>
+;
+; CHECK:   %[[#S2B17:]] = OpFunction %[[#BVEC17]]
+; CHECK:   %[[#S2B17_ARG:]] = OpFunctionParameter %[[#I17]]
+; CHECK:   OpLabel
+;
+; CHECK:   %[[#S2B17_A0:]] = OpBitwiseAnd %[[#I17]] %[[#S2B17_ARG]] %[[#ONE17]]
+; CHECK:   %[[#S2B17_C0:]] = OpINotEqual %[[#BOOL]] %[[#S2B17_A0]] %[[#ZERO17]]
+; CHECK:   %[[#S2B17_I0:]] = OpCompositeInsert %[[#BVEC17]] %[[#S2B17_C0]] %{{.*}} 0
+;
+; CHECK:   %[[#S2B17_A1:]] = OpBitwiseAnd %[[#I17]] %[[#S2B17_ARG]] %[[#TWO17]]
+; CHECK:   %[[#S2B17_C1:]] = OpINotEqual %[[#BOOL]] %[[#S2B17_A1]] %[[#ZERO17]]
+; CHECK:   %[[#S2B17_I1:]] = OpCompositeInsert %[[#BVEC17]] %[[#S2B17_C1]] %[[#S2B17_I0]] 1
+;
+; CHECK:   %[[#S2B17_A2:]] = OpBitwiseAnd %[[#I17]] %[[#S2B17_ARG]] %[[#C4_17]]
+; CHECK:   %[[#S2B17_C2:]] = OpINotEqual %[[#BOOL]] %[[#S2B17_A2]] %[[#ZERO17]]
+; CHECK:   %[[#S2B17_I2:]] = OpCompositeInsert %[[#BVEC17]] %[[#S2B17_C2]] %[[#S2B17_I1]] 2
+;
+; CHECK:   OpBitwiseAnd %[[#I17]] %[[#S2B17_ARG]] %[[#C8_17]]
+; CHECK:   OpINotEqual %[[#BOOL]]
+; CHECK:   %[[#S2B17_I3:]] = OpCompositeInsert %[[#BVEC17]] %{{.*}} %[[#S2B17_I2]] 3
+; CHECK:   OpBitwiseAnd %[[#I17]] %[[#S2B17_ARG]] %[[#C16_17]]
+; CHECK:   OpINotEqual %[[#BOOL]]
+; CHECK:   %[[#S2B17_I4:]] = OpCompositeInsert %[[#BVEC17]] %{{.*}} %[[#S2B17_I3]] 4
+; CHECK:   OpBitwiseAnd %[[#I17]] %[[#S2B17_ARG]] %[[#C32_17]]
+; CHECK:   OpINotEqual %[[#BOOL]]
+; CHECK:   %[[#S2B17_I5:]] = OpCompositeInsert %[[#BVEC17]] %{{.*}} %[[#S2B17_I4]] 5
+; CHECK:   OpBitwiseAnd %[[#I17]] %[[#S2B17_ARG]] %[[#C64_17]]
+; CHECK:   OpINotEqual %[[#BOOL]]
+; CHECK:   %[[#S2B17_I6:]] = OpCompositeInsert %[[#BVEC17]] %{{.*}} %[[#S2B17_I5]] 6
+; CHECK:   OpBitwiseAnd %[[#I17]] %[[#S2B17_ARG]] %[[#C128_17]]
+; CHECK:   OpINotEqual %[[#BOOL]]
+; CHECK:   %[[#S2B17_I7:]] = OpCompositeInsert %[[#BVEC17]] %{{.*}} %[[#S2B17_I6]] 7
+; CHECK:   OpBitwiseAnd %[[#I17]] %[[#S2B17_ARG]] %[[#C256_17]]
+; CHECK:   OpINotEqual %[[#BOOL]]
+; CHECK:   %[[#S2B17_I8:]] = OpCompositeInsert %[[#BVEC17]] %{{.*}} %[[#S2B17_I7]] 8
+; CHECK:   OpBitwiseAnd %[[#I17]] %[[#S2B17_ARG]] %[[#C512_17]]
+; CHECK:   OpINotEqual %[[#BOOL]]
+; CHECK:   %[[#S2B17_I9:]] = OpCompositeInsert %[[#BVEC17]] %{{.*}} %[[#S2B17_I8]] 9
+; CHECK:   OpBitwiseAnd %[[#I17]] %[[#S2B17_ARG]] %[[#C1024_17]]
+; CHECK:   OpINotEqual %[[#BOOL]]
+; CHECK:   %[[#S2B17_I10:]] = OpCompositeInsert %[[#BVEC17]] %{{.*}} %[[#S2B17_I9]] 10
+; CHECK:   OpBitwiseAnd %[[#I17]] %[[#S2B17_ARG]] %[[#C2048_17]]
+; CHECK:   OpINotEqual %[[#BOOL]]
+; CHECK:   %[[#S2B17_I11:]] = OpCompositeInsert %[[#BVEC17]] %{{.*}} %[[#S2B17_I10]] 11
+; CHECK:   OpBitwiseAnd %[[#I17]] %[[#S2B17_ARG]] %[[#C4096_17]]
+; CHECK:   OpINotEqual %[[#BOOL]]
+; CHECK:   %[[#S2B17_I12:]] = OpCompositeInsert %[[#BVEC17]] %{{.*}} %[[#S2B17_I11]] 12
+; CHECK:   OpBitwiseAnd %[[#I17]] %[[#S2B17_ARG]] %[[#C8192_17]]
+; CHECK:   OpINotEqual %[[#BOOL]]
+; CHECK:   %[[#S2B17_I13:]] = OpCompositeInsert %[[#BVEC17]] %{{.*}} %[[#S2B17_I12]] 13
+; CHECK:   OpBitwiseAnd %[[#I17]] %[[#S2B17_ARG]] %[[#C16384_17]]
+; CHECK:   OpINotEqual %[[#BOOL]]
+; CHECK:   %[[#S2B17_I14:]] = OpCompositeInsert %[[#BVEC17]] %{{.*}} %[[#S2B17_I13]] 14
+; CHECK:   %[[#S2B17_A15:]] = OpBitwiseAnd %[[#I17]] %[[#S2B17_ARG]] %[[#C32768_17]]
+; CHECK:   %[[#S2B17_C15:]] = OpINotEqual %[[#BOOL]] %[[#S2B17_A15]] %[[#ZERO17]]
+; CHECK:   %[[#S2B17_I15:]] = OpCompositeInsert %[[#BVEC17]] %[[#S2B17_C15]] %[[#S2B17_I14]] 15
+;
+; CHECK:   %[[#S2B17_A16:]] = OpBitwiseAnd %[[#I17]] %[[#S2B17_ARG]] %[[#C65536_17]]
+; CHECK:   %[[#S2B17_C16:]] = OpINotEqual %[[#BOOL]] %[[#S2B17_A16]] %[[#ZERO17]]
+; CHECK:   %[[#S2B17_I16:]] = OpCompositeInsert %[[#BVEC17]] %[[#S2B17_C16]] %[[#S2B17_I15]] 16
+;
+; CHECK:   OpReturnValue %[[#S2B17_I16]]
+define <17 x i1> @scalar_to_boolvec17(i17 %v) {
+  %r = bitcast i17 %v to <17 x i1>
+  ret <17 x i1> %r
+}
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/ctpop.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/ctpop.ll
new file mode 100644
index 0000000000000..d645f3b582ee5
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/ctpop.ll
@@ -0,0 +1,21 @@
+; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
+; spirv-val does not yet handle long vectors of pointers even though the rules are the same as for OpTypeVector
+; TODO: %if spirv-tools %{ llc -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+
+; CHECK: %[[#I32:]] = OpTypeInt 32
+; CHECK: %[[#V17I32:]] = OpTypeVectorIdEXT %[[#I32]] 17
+; CHECK: OpTypeFunction
+; CHECK: %[[#X17I32:]] = OpFunctionParameter %[[#V17I32]]
+; CHECK: %[[#]] = OpBitCount %[[#V17I32]] %[[#X17I32]]
+
+ at g5 = addrspace(1) global <17 x i32> undef, align 4
+
+define dso_local spir_kernel void @test(<17 x i32> %x17i32) {
+entry:
+  %4 = tail call <17 x i32> @llvm.ctpop.v17i32(<17 x i32> %x17i32)
+  store <17 x i32> %4, ptr addrspace(1) @g5, align 4
+
+  ret void
+}
+
+declare <17 x i32> @llvm.ctpop.v17i32(<17 x i32>)
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/getelementptr-vector-index.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/getelementptr-vector-index.ll
new file mode 100644
index 0000000000000..93eae5007a7a2
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/getelementptr-vector-index.ll
@@ -0,0 +1,26 @@
+; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector %s -o - | FileCheck %s
+; spirv-val does not yet handle long vectors of pointers even though the rules are the same as for OpTypeVector
+; TODO: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector %s -o - -filetype=obj | spirv-val %}
+
+; CHECK: OpCapability LongVectorEXT
+; CHECK: OpExtension "SPV_EXT_long_vector"
+; CHECK-DAG: %[[#INT32:]] = OpTypeInt 32 0
+; CHECK-DAG: %[[#PTR_INT32:]] = OpTypePointer CrossWorkgroup %[[#INT32]]
+; CHECK-DAG: %[[#INT64:]] = OpTypeInt 64 0
+; CHECK-DAG: %[[#VEC1_INT64:]] = OpTypeVectorIdEXT %[[#INT64]] 1
+; CHECK-DAG: %[[#VEC1_PTR:]] = OpTypeVectorIdEXT %[[#PTR_INT32]] 1
+; CHECK-DAG: %[[#NULL_VEC:]] = OpConstantNull %[[#VEC1_INT64]]
+; CHECK-LABEL: Begin function test_vector_gep_with_load
+; CHECK: %[[#GEP:]] = OpPtrAccessChain %[[#PTR_INT32]] %[[#]] %[[#NULL_VEC]]
+; CHECK: %[[#INSERTELT:]] = OpCompositeInsert %[[#VEC1_PTR]] %[[#GEP]]
+; CHECK: %[[#EXTRACTELT:]] = OpCompositeExtract %[[#PTR_INT32]] %[[#INSERTELT]]
+; CHECK: %[[#VAL:]] = OpLoad %[[#INT32]] %[[#EXTRACTELT]]
+; CHECK: OpStore %[[#]] %[[#VAL]]
+; CHECK: OpFunctionEnd
+define spir_kernel void @test_vector_gep_with_load(ptr addrspace(1) %p, ptr addrspace(1) %out) {
+  %gep = getelementptr i32, ptr addrspace(1) %p, <1 x i64> zeroinitializer
+  %elem = extractelement <1 x ptr addrspace(1)> %gep, i32 0
+  %val = load i32, ptr addrspace(1) %elem
+  store i32 %val, ptr addrspace(1) %out
+  ret void
+}
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/integer-casts.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/integer-casts.ll
new file mode 100644
index 0000000000000..52246ca8eaba8
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/integer-casts.ll
@@ -0,0 +1,334 @@
+; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
+; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+
+; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv32-unknown-unknown %s -o - | FileCheck %s
+; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv32-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+
+; CHECK-DAG: OpName [[TRUNC32_16:%.*]] "i32toi16"
+; CHECK-DAG: OpName [[TRUNC32_8:%.*]] "i32toi8"
+; CHECK-DAG: OpName [[TRUNC16_8:%.*]] "i16toi8"
+; CHECK-DAG: OpName [[SEXT8_32:%.*]] "s8tos32"
+; CHECK-DAG: OpName [[SEXT8_16:%.*]] "s8tos16"
+; CHECK-DAG: OpName [[SEXT16_32:%.*]] "s16tos32"
+; CHECK-DAG: OpName [[ZEXT8_32:%.*]] "u8tou32"
+; CHECK-DAG: OpName [[ZEXT8_16:%.*]] "u8tou16"
+; CHECK-DAG: OpName [[ZEXT16_32:%.*]] "u16tou32"
+
+; CHECK-DAG: OpName [[TRUNC32_16v4:%.*]] "i32toi16v4"
+; CHECK-DAG: OpName [[TRUNC32_8v4:%.*]] "i32toi8v4"
+; CHECK-DAG: OpName [[TRUNC16_8v4:%.*]] "i16toi8v4"
+; CHECK-DAG: OpName [[SEXT8_32v4:%.*]] "s8tos32v4"
+; CHECK-DAG: OpName [[SEXT8_16v4:%.*]] "s8tos16v4"
+; CHECK-DAG: OpName [[SEXT16_32v4:%.*]] "s16tos32v4"
+; CHECK-DAG: OpName [[ZEXT8_32v4:%.*]] "u8tou32v4"
+; CHECK-DAG: OpName [[ZEXT8_16v4:%.*]] "u8tou16v4"
+; CHECK-DAG: OpName [[ZEXT16_32v4:%.*]] "u16tou32v4"
+
+; CHECK-DAG: OpDecorate %[[#R14:]] FPRoundingMode RTZ
+; CHECK-DAG: OpDecorate %[[#R15:]] FPRoundingMode RTZ
+; CHECK-DAG: OpDecorate %[[#R16:]] FPRoundingMode RTZ
+; CHECK-DAG: OpDecorate %[[#R17:]] FPRoundingMode RTE
+; CHECK-DAG: OpDecorate %[[#R18:]] FPRoundingMode RTP
+; CHECK-DAG: OpDecorate %[[#R19:]] FPRoundingMode RTN
+; CHECK-DAG: OpDecorate %[[#R20:]] SaturatedConversion
+
+; CHECK-DAG: [[F32:%.*]] = OpTypeFloat 32
+; CHECK-DAG: [[F16:%.*]] = OpTypeFloat 16
+; CHECK-DAG: [[U64:%.*]] = OpTypeInt 64 0
+; CHECK-DAG: [[U32:%.*]] = OpTypeInt 32 0
+; CHECK-DAG: [[U16:%.*]] = OpTypeInt 16 0
+; CHECK-DAG: [[U8:%.*]] = OpTypeInt 8 0
+; CHECK-DAG: [[F32v2:%.*]] = OpTypeVector [[F32]] 2
+; CHECK-DAG: [[U32v4:%.*]] = OpTypeVector [[U32]] 4
+; CHECK-DAG: [[U16v4:%.*]] = OpTypeVector [[U16]] 4
+; CHECK-DAG: [[U8v4:%.*]] = OpTypeVector [[U8]] 4
+
+
+; CHECK:      [[TRUNC32_16]] = OpFunction [[U16]]
+; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U32]]
+; CHECK:      OpLabel
+; CHECK:      [[R:%.*]] = OpUConvert [[U16]] [[A]]
+; CHECK:      OpReturnValue [[R]]
+; CHECK-NEXT: OpFunctionEnd
+define i16 @i32toi16(i32 %a) {
+    %r = trunc i32 %a to i16
+    ret i16 %r
+}
+
+; CHECK:      [[TRUNC32_8]] = OpFunction [[U8]]
+; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U32]]
+; CHECK:      OpLabel
+; CHECK:      [[R:%.*]] = OpUConvert [[U8]] [[A]]
+; CHECK:      OpReturnValue [[R]]
+; CHECK-NEXT: OpFunctionEnd
+define i8 @i32toi8(i32 %a) {
+    %r = trunc i32 %a to i8
+    ret i8 %r
+}
+
+; CHECK:      [[TRUNC16_8]] = OpFunction [[U8]]
+; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U16]]
+; CHECK:      OpLabel
+; CHECK:      [[R:%.*]] = OpUConvert [[U8]] [[A]]
+; CHECK:      OpReturnValue [[R]]
+; CHECK-NEXT: OpFunctionEnd
+define i8 @i16toi8(i16 %a) {
+    %r = trunc i16 %a to i8
+    ret i8 %r
+}
+
+
+; CHECK:      [[SEXT8_32]] = OpFunction [[U32]]
+; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U8]]
+; CHECK:      OpLabel
+; CHECK:      [[R:%.*]] = OpSConvert [[U32]] [[A]]
+; CHECK:      OpReturnValue [[R]]
+; CHECK-NEXT: OpFunctionEnd
+define i32 @s8tos32(i8 %a) {
+  %r = sext i8 %a to i32
+  ret i32 %r
+}
+
+; CHECK:      [[SEXT8_16]] = OpFunction [[U16]]
+; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U8]]
+; CHECK:      OpLabel
+; CHECK:      [[R:%.*]] = OpSConvert [[U16]] [[A]]
+; CHECK:      OpReturnValue [[R]]
+; CHECK-NEXT: OpFunctionEnd
+define i16 @s8tos16(i8 %a) {
+  %r = sext i8 %a to i16
+  ret i16 %r
+}
+
+; CHECK:      [[SEXT16_32]] = OpFunction [[U32]]
+; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U16]]
+; CHECK:      OpLabel
+; CHECK:      [[R:%.*]] = OpSConvert [[U32]] [[A]]
+; CHECK:      OpReturnValue [[R]]
+; CHECK-NEXT: OpFunctionEnd
+define i32 @s16tos32(i16 %a) {
+  %r = sext i16 %a to i32
+  ret i32 %r
+}
+
+; CHECK:      [[ZEXT8_32]] = OpFunction [[U32]]
+; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U8]]
+; CHECK:      OpLabel
+; CHECK:      [[R:%.*]] = OpUConvert [[U32]] [[A]]
+; CHECK:      OpReturnValue [[R]]
+; CHECK-NEXT: OpFunctionEnd
+define i32 @u8tou32(i8 %a) {
+  %r = zext i8 %a to i32
+  ret i32 %r
+}
+
+; CHECK:      [[ZEXT8_16]] = OpFunction [[U16]]
+; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U8]]
+; CHECK:      OpLabel
+; CHECK:      [[R:%.*]] = OpUConvert [[U16]] [[A]]
+; CHECK:      OpReturnValue [[R]]
+; CHECK-NEXT: OpFunctionEnd
+define i16 @u8tou16(i8 %a) {
+  %r = zext i8 %a to i16
+  ret i16 %r
+}
+
+; CHECK:      [[ZEXT16_32]] = OpFunction [[U32]]
+; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U16]]
+; CHECK:      OpLabel
+; CHECK:      [[R:%.*]] = OpUConvert [[U32]] [[A]]
+; CHECK:      OpReturnValue [[R]]
+; CHECK-NEXT: OpFunctionEnd
+define i32 @u16tou32(i16 %a) {
+  %r = zext i16 %a to i32
+  ret i32 %r
+}
+
+; CHECK:      [[TRUNC32_16v4]] = OpFunction [[U16v4]]
+; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U32v4]]
+; CHECK:      OpLabel
+; CHECK:      [[R:%.*]] = OpUConvert [[U16v4]] [[A]]
+; CHECK:      OpReturnValue [[R]]
+; CHECK-NEXT: OpFunctionEnd
+define <4 x i16> @i32toi16v4(<4 x i32> %a) {
+    %r = trunc <4 x i32> %a to <4 x i16>
+    ret <4 x i16> %r
+}
+
+; CHECK:      [[TRUNC32_8v4]] = OpFunction [[U8v4]]
+; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U32v4]]
+; CHECK:      OpLabel
+; CHECK:      [[R:%.*]] = OpUConvert [[U8v4]] [[A]]
+; CHECK:      OpReturnValue [[R]]
+; CHECK-NEXT: OpFunctionEnd
+define <4 x i8> @i32toi8v4(<4 x i32> %a) {
+    %r = trunc <4 x i32> %a to <4 x i8>
+    ret <4 x i8> %r
+}
+
+; CHECK:      [[TRUNC16_8v4]] = OpFunction [[U8v4]]
+; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U16v4]]
+; CHECK:      OpLabel
+; CHECK:      [[R:%.*]] = OpUConvert [[U8v4]] [[A]]
+; CHECK:      OpReturnValue [[R]]
+; CHECK-NEXT: OpFunctionEnd
+define <4 x i8> @i16toi8v4(<4 x i16> %a) {
+    %r = trunc <4 x i16> %a to <4 x i8>
+    ret <4 x i8> %r
+}
+
+
+; CHECK:      [[SEXT8_32v4]] = OpFunction [[U32v4]]
+; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U8v4]]
+; CHECK:      OpLabel
+; CHECK:      [[R:%.*]] = OpSConvert [[U32v4]] [[A]]
+; CHECK:      OpReturnValue [[R]]
+; CHECK-NEXT: OpFunctionEnd
+define <4 x i32>  @s8tos32v4(<4 x i8> %a) {
+  %r = sext <4 x i8> %a to <4 x i32>
+  ret <4 x i32>  %r
+}
+
+; CHECK:      [[SEXT8_16v4]] = OpFunction [[U16v4]]
+; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U8v4]]
+; CHECK:      OpLabel
+; CHECK:      [[R:%.*]] = OpSConvert [[U16v4]] [[A]]
+; CHECK:      OpReturnValue [[R]]
+; CHECK-NEXT: OpFunctionEnd
+define <4 x i16> @s8tos16v4(<4 x i8> %a) {
+  %r = sext <4 x i8> %a to <4 x i16>
+  ret <4 x i16> %r
+}
+
+; CHECK:      [[SEXT16_32v4]] = OpFunction [[U32v4]]
+; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U16v4]]
+; CHECK:      OpLabel
+; CHECK:      [[R:%.*]] = OpSConvert [[U32v4]] [[A]]
+; CHECK:      OpReturnValue [[R]]
+; CHECK-NEXT: OpFunctionEnd
+define <4 x i32>  @s16tos32v4(<4 x i16> %a) {
+  %r = sext <4 x i16> %a to <4 x i32>
+  ret <4 x i32>  %r
+}
+
+; CHECK:      [[ZEXT8_32v4]] = OpFunction [[U32v4]]
+; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U8v4]]
+; CHECK:      OpLabel
+; CHECK:      [[R:%.*]] = OpUConvert [[U32v4]] [[A]]
+; CHECK:      OpReturnValue [[R]]
+; CHECK-NEXT: OpFunctionEnd
+define <4 x i32>  @u8tou32v4(<4 x i8> %a) {
+  %r = zext <4 x i8> %a to <4 x i32>
+  ret <4 x i32>  %r
+}
+
+; CHECK:      [[ZEXT8_16v4]] = OpFunction [[U16v4]]
+; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U8v4]]
+; CHECK:      OpLabel
+; CHECK:      [[R:%.*]] = OpUConvert [[U16v4]] [[A]]
+; CHECK:      OpReturnValue [[R]]
+; CHECK-NEXT: OpFunctionEnd
+define <4 x i16> @u8tou16v4(<4 x i8> %a) {
+  %r = zext <4 x i8> %a to <4 x i16>
+  ret <4 x i16> %r
+}
+
+; CHECK:      [[ZEXT16_32v4]] = OpFunction [[U32v4]]
+; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U16v4]]
+; CHECK:      OpLabel
+; CHECK:      [[R:%.*]] = OpUConvert [[U32v4]] [[A]]
+; CHECK:      OpReturnValue [[R]]
+; CHECK-NEXT: OpFunctionEnd
+define <4 x i32>  @u16tou32v4(<4 x i16> %a) {
+  %r = zext <4 x i16> %a to <4 x i32>
+  ret <4 x i32>  %r
+}
+
+; CHECK: OpFunction
+; CHECK: [[Arg1:%.*]] = OpFunctionParameter
+; CHECK: [[Arg2:%.*]] = OpFunctionParameter
+; CHECK: %[[#]] = OpConvertFToU [[U32]] %[[#]]
+; CHECK: %[[#]] = OpConvertFToS [[U32]] %[[#]]
+; CHECK: %[[#]] = OpConvertSToF [[F32]] %[[#]]
+; CHECK: %[[#]] = OpConvertUToF [[F32]] %[[#]]
+; CHECK: %[[#]] = OpUConvert [[U32]] %[[#]]
+; CHECK: %[[#]] = OpSConvert [[U32]] %[[#]]
+; CHECK: %[[#]] = OpFConvert [[F16]] %[[#]]
+; CHECK: %[[#]] = OpSatConvertSToU [[U64]] %[[#]]
+; CHECK: %[[#]] = OpSatConvertUToS [[U64]] %[[#]]
+; CHECK: %[[#]] = OpConvertPtrToU [[U64]] [[Arg1]]
+; CHECK: %[[#]] = OpConvertUToPtr %[[#]] [[Arg2]]
+; CHECK: %[[#]] = OpUConvert [[U32v4]] %[[#]]
+; CHECK: %[[#]] = OpSConvert [[U32v4]] %[[#]]
+; CHECK: %[[#R14]] = OpConvertUToF [[F32]] %[[#]]
+; CHECK: %[[#R15]] = OpConvertUToF [[F32]] %[[#]]
+; CHECK: %[[#R16]] = OpFConvert [[F32v2]] %[[#]]
+; CHECK: %[[#R17]] = OpFConvert [[F32v2]] %[[#]]
+; CHECK: %[[#R18]] = OpFConvert [[F32v2]] %[[#]]
+; CHECK: %[[#R19]] = OpFConvert [[F32v2]] %[[#]]
+; CHECK: %[[#R20]] = OpConvertFToU [[U8]] %[[#]]
+; CHECK: OpFunctionEnd
+define dso_local spir_kernel void @test_wrappers(ptr addrspace(4) %arg, i64 %arg_ptr, <4 x i8> %arg_v2, ptr addrspace(1) %out_i32, ptr addrspace(1) %out_float, ptr addrspace(1) %out_half, ptr addrspace(1) %out_i64, ptr addrspace(1) %out_ptr, ptr addrspace(1) %out_v4i32, ptr addrspace(1) %out_v2f32, ptr addrspace(1) %out_i8) {
+  %r1 = call spir_func i32 @__spirv_ConvertFToU(float 0.000000e+00)
+  store volatile i32 %r1, ptr addrspace(1) %out_i32
+  %r2 = call spir_func i32 @__spirv_ConvertFToS(float 0.000000e+00)
+  store volatile i32 %r2, ptr addrspace(1) %out_i32
+  %r3 = call spir_func float @__spirv_ConvertSToF(i32 1)
+  store volatile float %r3, ptr addrspace(1) %out_float
+  %r4 = call spir_func float @__spirv_ConvertUToF(i32 1)
+  store volatile float %r4, ptr addrspace(1) %out_float
+  %r5 = call spir_func i32 @__spirv_UConvert(i64 1)
+  store volatile i32 %r5, ptr addrspace(1) %out_i32
+  %r6 = call spir_func i32 @__spirv_SConvert(i64 1)
+  store volatile i32 %r6, ptr addrspace(1) %out_i32
+  %r7 = call spir_func half @__spirv_FConvert(float 0.000000e+00)
+  store volatile half %r7, ptr addrspace(1) %out_half
+  %r8 = call spir_func i64 @__spirv_SatConvertSToU(i64 1)
+  store volatile i64 %r8, ptr addrspace(1) %out_i64
+  %r9 = call spir_func i64 @__spirv_SatConvertUToS(i64 1)
+  store volatile i64 %r9, ptr addrspace(1) %out_i64
+  %r10 = call spir_func i64 @__spirv_ConvertPtrToU(ptr addrspace(4) %arg)
+  store volatile i64 %r10, ptr addrspace(1) %out_i64
+  %r11 = call spir_func ptr addrspace(4) @__spirv_ConvertUToPtr(i64 %arg_ptr)
+  store volatile ptr addrspace(4) %r11, ptr addrspace(1) %out_ptr
+  %r12 = call spir_func <4 x i32> @_Z22__spirv_UConvert_Rint2Dv2_a(<4 x i8> %arg_v2)
+  store volatile <4 x i32> %r12, ptr addrspace(1) %out_v4i32
+  %r13 = call spir_func <4 x i32> @_Z22__spirv_SConvert_Rint2Dv2_a(<4 x i8> %arg_v2)
+  store volatile <4 x i32> %r13, ptr addrspace(1) %out_v4i32
+  %r14 = call spir_func float @_Z30__spirv_ConvertUToF_Rfloat_rtz(i64 %arg_ptr)
+  store volatile float %r14, ptr addrspace(1) %out_float
+  %r15 = call spir_func float @__spirv_ConvertUToF_Rfloat_rtz(i64 %arg_ptr)
+  store volatile float %r15, ptr addrspace(1) %out_float
+  %r16 = call spir_func <2 x float> @_Z28__spirv_FConvert_Rfloat2_rtzDv2_DF16_(<2 x half> noundef <half 0xH409A, half 0xH439A>)
+  store volatile <2 x float> %r16, ptr addrspace(1) %out_v2f32
+  %r17 = call spir_func <2 x float> @_Z28__spirv_FConvert_Rfloat2_rteDv2_DF16_(<2 x half> noundef <half 0xH409A, half 0xH439A>)
+  store volatile <2 x float> %r17, ptr addrspace(1) %out_v2f32
+  %r18 = call spir_func <2 x float> @_Z28__spirv_FConvert_Rfloat2_rtpDv2_DF16_(<2 x half> noundef <half 0xH409A, half 0xH439A>)
+  store volatile <2 x float> %r18, ptr addrspace(1) %out_v2f32
+  %r19 = call spir_func <2 x float> @_Z28__spirv_FConvert_Rfloat2_rtnDv2_DF16_(<2 x half> noundef <half 0xH409A, half 0xH439A>)
+  store volatile <2 x float> %r19, ptr addrspace(1) %out_v2f32
+  %r20 = call spir_func i8 @_Z30__spirv_ConvertFToU_Ruchar_satf(float noundef 42.0)
+  store volatile i8 %r20, ptr addrspace(1) %out_i8
+  ret void
+}
+
+declare dso_local spir_func i32 @__spirv_ConvertFToU(float)
+declare dso_local spir_func i32 @__spirv_ConvertFToS(float)
+declare dso_local spir_func float @__spirv_ConvertSToF(i32)
+declare dso_local spir_func float @__spirv_ConvertUToF(i32)
+declare dso_local spir_func i32 @__spirv_UConvert(i64)
+declare dso_local spir_func i32 @__spirv_SConvert(i64)
+declare dso_local spir_func half @__spirv_FConvert(float)
+declare dso_local spir_func i64 @__spirv_SatConvertSToU(i64)
+declare dso_local spir_func i64 @__spirv_SatConvertUToS(i64)
+declare dso_local spir_func i64 @__spirv_ConvertPtrToU(ptr addrspace(4))
+declare dso_local spir_func ptr addrspace(4) @__spirv_ConvertUToPtr(i64)
+declare dso_local spir_func <4 x i32> @_Z22__spirv_UConvert_Rint2Dv2_a(<4 x i8>)
+declare dso_local spir_func <4 x i32> @_Z22__spirv_SConvert_Rint2Dv2_a(<4 x i8>)
+declare dso_local spir_func float @_Z30__spirv_ConvertUToF_Rfloat_rtz(i64)
+declare dso_local spir_func float @__spirv_ConvertUToF_Rfloat_rtz(i64)
+declare dso_local spir_func <2 x float> @_Z28__spirv_FConvert_Rfloat2_rtzDv2_DF16_(<2 x half> noundef)
+declare dso_local spir_func <2 x float> @_Z28__spirv_FConvert_Rfloat2_rteDv2_DF16_(<2 x half> noundef)
+declare dso_local spir_func <2 x float> @_Z28__spirv_FConvert_Rfloat2_rtpDv2_DF16_(<2 x half> noundef)
+declare dso_local spir_func <2 x float> @_Z28__spirv_FConvert_Rfloat2_rtnDv2_DF16_(<2 x half> noundef)
+declare dso_local spir_func i8 @_Z30__spirv_ConvertFToU_Ruchar_satf(float)
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/add.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/add.ll
new file mode 100644
index 0000000000000..4f0e653277319
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/add.ll
@@ -0,0 +1,64 @@
+; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
+; spirv-val does not yet handle long vectors of pointers even though the rules are the same as for OpTypeVector
+; TODO: %if spirv-tools %{ llc -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+
+; CHECK-DAG: %[[Int:.*]] = OpTypeInt 32 0
+; CHECK-DAG: %[[IntVec1:.*]] = OpTypeVectorIdEXT %[[Int]] 1
+; CHECK-DAG: %[[IntVec17:.*]] = OpTypeVectorIdEXT %[[Int]] 17
+
+; CHECK: OpFunction
+; CHECK: %[[V:.*]] = OpFunctionParameter %[[IntVec1]]
+; CHECK: %[[Vec1IntR:.*]] = OpCompositeExtract %[[Int]] %[[V]] 0
+; CHECK: OpReturnValue %[[Vec1IntR]]
+; CHECK: OpFunctionEnd
+define spir_func i32 @test_vector_reduce_add_v1i32(<1 x i32> %v) {
+entry:
+  %res = call i32 @llvm.vector.reduce.add.v1i32(<1 x i32> %v)
+  ret i32 %res
+}
+
+; CHECK: OpFunction
+; CHECK: %[[ParamVec17Int:.*]] = OpFunctionParameter %[[IntVec17]]
+; CHECK: %[[Vec17IntItem0:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 0
+; CHECK: %[[Vec17IntItem1:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 1
+; CHECK: %[[Vec17IntItem2:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 2
+; CHECK: %[[Vec17IntItem3:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 3
+; CHECK: %[[Vec17IntItem4:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 4
+; CHECK: %[[Vec17IntItem5:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 5
+; CHECK: %[[Vec17IntItem6:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 6
+; CHECK: %[[Vec17IntItem7:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 7
+; CHECK: %[[Vec17IntItem8:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 8
+; CHECK: %[[Vec17IntItem9:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 9
+; CHECK: %[[Vec17IntItem10:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 10
+; CHECK: %[[Vec17IntItem11:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 11
+; CHECK: %[[Vec17IntItem12:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 12
+; CHECK: %[[Vec17IntItem13:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 13
+; CHECK: %[[Vec17IntItem14:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 14
+; CHECK: %[[Vec17IntItem15:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 15
+; CHECK: %[[Vec17IntItem16:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 16
+; CHECK: %[[Vec17IntR1:.*]] = OpIAdd %[[Int]] %[[Vec17IntItem0]] %[[Vec17IntItem1]]
+; CHECK: %[[Vec17IntR2:.*]] = OpIAdd %[[Int]] %[[Vec17IntR1]] %[[Vec17IntItem2]]
+; CHECK: %[[Vec17IntR3:.*]] = OpIAdd %[[Int]] %[[Vec17IntR2]] %[[Vec17IntItem3]]
+; CHECK: %[[Vec17IntR4:.*]] = OpIAdd %[[Int]] %[[Vec17IntR3]] %[[Vec17IntItem4]]
+; CHECK: %[[Vec17IntR5:.*]] = OpIAdd %[[Int]] %[[Vec17IntR4]] %[[Vec17IntItem5]]
+; CHECK: %[[Vec17IntR6:.*]] = OpIAdd %[[Int]] %[[Vec17IntR5]] %[[Vec17IntItem6]]
+; CHECK: %[[Vec17IntR7:.*]] = OpIAdd %[[Int]] %[[Vec17IntR6]] %[[Vec17IntItem7]]
+; CHECK: %[[Vec17IntR8:.*]] = OpIAdd %[[Int]] %[[Vec17IntR7]] %[[Vec17IntItem8]]
+; CHECK: %[[Vec17IntR9:.*]] = OpIAdd %[[Int]] %[[Vec17IntR8]] %[[Vec17IntItem9]]
+; CHECK: %[[Vec17IntR10:.*]] = OpIAdd %[[Int]] %[[Vec17IntR9]] %[[Vec17IntItem10]]
+; CHECK: %[[Vec17IntR11:.*]] = OpIAdd %[[Int]] %[[Vec17IntR10]] %[[Vec17IntItem11]]
+; CHECK: %[[Vec17IntR12:.*]] = OpIAdd %[[Int]] %[[Vec17IntR11]] %[[Vec17IntItem12]]
+; CHECK: %[[Vec17IntR13:.*]] = OpIAdd %[[Int]] %[[Vec17IntR12]] %[[Vec17IntItem13]]
+; CHECK: %[[Vec17IntR14:.*]] = OpIAdd %[[Int]] %[[Vec17IntR13]] %[[Vec17IntItem14]]
+; CHECK: %[[Vec17IntR15:.*]] = OpIAdd %[[Int]] %[[Vec17IntR14]] %[[Vec17IntItem15]]
+; CHECK: %[[Vec17IntR16:.*]] = OpIAdd %[[Int]] %[[Vec17IntR15]] %[[Vec17IntItem16]]
+; CHECK: OpReturnValue %[[Vec17IntR16]]
+; CHECK: OpFunctionEnd
+define spir_func i32 @test_vector_reduce_add_v17i32(<17 x i32> %v) {
+entry:
+  %res = call i32 @llvm.vector.reduce.add.v17i32(<17 x i32> %v)
+  ret i32 %res
+}
+
+declare i32 @llvm.vector.reduce.add.v1i32(<1 x i32>)
+declare i32 @llvm.vector.reduce.add.v17i32(<17 x i32>)
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/and.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/and.ll
new file mode 100644
index 0000000000000..f924a1ca7dd9b
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/and.ll
@@ -0,0 +1,64 @@
+; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
+; spirv-val does not yet handle long vectors of pointers even though the rules are the same as for OpTypeVector
+; TODO: %if spirv-tools %{ llc -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+
+; CHECK-DAG: %[[Int:.*]] = OpTypeInt 32 0
+; CHECK-DAG: %[[IntVec1:.*]] = OpTypeVectorIdEXT %[[Int]] 1
+; CHECK-DAG: %[[IntVec17:.*]] = OpTypeVectorIdEXT %[[Int]] 17
+
+; CHECK: OpFunction
+; CHECK: %[[V:.*]] = OpFunctionParameter %[[IntVec1]]
+; CHECK: %[[Vec1IntR:.*]] = OpCompositeExtract %[[Int]] %[[V]] 0
+; CHECK: OpReturnValue %[[Vec1IntR]]
+; CHECK: OpFunctionEnd
+define spir_func i32 @test_vector_reduce_and_v1i32(<1 x i32> %v) {
+entry:
+  %res = call i32 @llvm.vector.reduce.and.v1i32(<1 x i32> %v)
+  ret i32 %res
+}
+
+; CHECK: OpFunction
+; CHECK: %[[ParamVec17Int:.*]] = OpFunctionParameter %[[IntVec17]]
+; CHECK: %[[Vec17IntItem0:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 0
+; CHECK: %[[Vec17IntItem1:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 1
+; CHECK: %[[Vec17IntItem2:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 2
+; CHECK: %[[Vec17IntItem3:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 3
+; CHECK: %[[Vec17IntItem4:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 4
+; CHECK: %[[Vec17IntItem5:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 5
+; CHECK: %[[Vec17IntItem6:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 6
+; CHECK: %[[Vec17IntItem7:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 7
+; CHECK: %[[Vec17IntItem8:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 8
+; CHECK: %[[Vec17IntItem9:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 9
+; CHECK: %[[Vec17IntItem10:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 10
+; CHECK: %[[Vec17IntItem11:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 11
+; CHECK: %[[Vec17IntItem12:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 12
+; CHECK: %[[Vec17IntItem13:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 13
+; CHECK: %[[Vec17IntItem14:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 14
+; CHECK: %[[Vec17IntItem15:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 15
+; CHECK: %[[Vec17IntItem16:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 16
+; CHECK: %[[Vec17IntR1:.*]] = OpBitwiseAnd %[[Int]] %[[Vec17IntItem0]] %[[Vec17IntItem1]]
+; CHECK: %[[Vec17IntR2:.*]] = OpBitwiseAnd %[[Int]] %[[Vec17IntR1]] %[[Vec17IntItem2]]
+; CHECK: %[[Vec17IntR3:.*]] = OpBitwiseAnd %[[Int]] %[[Vec17IntR2]] %[[Vec17IntItem3]]
+; CHECK: %[[Vec17IntR4:.*]] = OpBitwiseAnd %[[Int]] %[[Vec17IntR3]] %[[Vec17IntItem4]]
+; CHECK: %[[Vec17IntR5:.*]] = OpBitwiseAnd %[[Int]] %[[Vec17IntR4]] %[[Vec17IntItem5]]
+; CHECK: %[[Vec17IntR6:.*]] = OpBitwiseAnd %[[Int]] %[[Vec17IntR5]] %[[Vec17IntItem6]]
+; CHECK: %[[Vec17IntR7:.*]] = OpBitwiseAnd %[[Int]] %[[Vec17IntR6]] %[[Vec17IntItem7]]
+; CHECK: %[[Vec17IntR8:.*]] = OpBitwiseAnd %[[Int]] %[[Vec17IntR7]] %[[Vec17IntItem8]]
+; CHECK: %[[Vec17IntR9:.*]] = OpBitwiseAnd %[[Int]] %[[Vec17IntR8]] %[[Vec17IntItem9]]
+; CHECK: %[[Vec17IntR10:.*]] = OpBitwiseAnd %[[Int]] %[[Vec17IntR9]] %[[Vec17IntItem10]]
+; CHECK: %[[Vec17IntR11:.*]] = OpBitwiseAnd %[[Int]] %[[Vec17IntR10]] %[[Vec17IntItem11]]
+; CHECK: %[[Vec17IntR12:.*]] = OpBitwiseAnd %[[Int]] %[[Vec17IntR11]] %[[Vec17IntItem12]]
+; CHECK: %[[Vec17IntR13:.*]] = OpBitwiseAnd %[[Int]] %[[Vec17IntR12]] %[[Vec17IntItem13]]
+; CHECK: %[[Vec17IntR14:.*]] = OpBitwiseAnd %[[Int]] %[[Vec17IntR13]] %[[Vec17IntItem14]]
+; CHECK: %[[Vec17IntR15:.*]] = OpBitwiseAnd %[[Int]] %[[Vec17IntR14]] %[[Vec17IntItem15]]
+; CHECK: %[[Vec17IntR16:.*]] = OpBitwiseAnd %[[Int]] %[[Vec17IntR15]] %[[Vec17IntItem16]]
+; CHECK: OpReturnValue %[[Vec17IntR16]]
+; CHECK: OpFunctionEnd
+define spir_func i32 @test_vector_reduce_and_v17i32(<17 x i32> %v) {
+entry:
+  %res = call i32 @llvm.vector.reduce.and.v17i32(<17 x i32> %v)
+  ret i32 %res
+}
+
+declare i32 @llvm.vector.reduce.and.v1i32(<1 x i32>)
+declare i32 @llvm.vector.reduce.and.v17i32(<17 x i32>)
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fadd.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fadd.ll
new file mode 100644
index 0000000000000..846022af0b185
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fadd.ll
@@ -0,0 +1,68 @@
+; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
+; spirv-val does not yet handle long vectors of pointers even though the rules are the same as for OpTypeVector
+; TODO: %if spirv-tools %{ llc -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+
+; CHECK-DAG: %[[Float:.*]] = OpTypeFloat 32
+; CHECK-DAG: %[[FloatVec1:.*]] = OpTypeVectorIdEXT %[[Float]] 1
+; CHECK-DAG: %[[FloatVec17:.*]] = OpTypeVectorIdEXT %[[Float]] 17
+
+; CHECK: OpFunction
+; CHECK: %[[SP:.*]] = OpFunctionParameter %[[Float]]
+; CHECK: %[[V:.*]] = OpFunctionParameter %[[FloatVec1]]
+; CHECK: %[[Float1IntR0:.*]] = OpCompositeExtract %[[Float]] %[[V]] 0
+; CHECK: %[[Float1IntR:.*]] = OpFAdd %[[Float]] %[[SP]] %[[Float1IntR0]]
+; CHECK: OpReturnValue %[[Float1IntR]]
+; CHECK: OpFunctionEnd
+define spir_func float @test_vector_reduce_fadd_v1f32(float %sp, <1 x float> %v) {
+entry:
+  %res = call float @llvm.vector.reduce.fadd.v1f32(float %sp, <1 x float> %v)
+  ret float %res
+}
+
+; CHECK: OpFunction
+; CHECK: %[[Param2Float:.*]] = OpFunctionParameter %[[Float]]
+; CHECK: %[[ParamVec17Float:.*]] = OpFunctionParameter %[[FloatVec17]]
+; CHECK: %[[Vec17FloatItem0:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 0
+; CHECK: %[[Vec17FloatR1:.*]] = OpFAdd %[[Float]] %[[Param2Float]] %[[Vec17FloatItem0]]
+; CHECK: %[[Vec17FloatItem1:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 1
+; CHECK: %[[Vec17FloatR2:.*]] = OpFAdd %[[Float]] %[[Vec17FloatR1]] %[[Vec17FloatItem1]]
+; CHECK: %[[Vec17FloatItem2:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 2
+; CHECK: %[[Vec17FloatR3:.*]] = OpFAdd %[[Float]] %[[Vec17FloatR2]] %[[Vec17FloatItem2]]
+; CHECK: %[[Vec17FloatItem3:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 3
+; CHECK: %[[Vec17FloatR4:.*]] = OpFAdd %[[Float]] %[[Vec17FloatR3]] %[[Vec17FloatItem3]]
+; CHECK: %[[Vec17FloatItem4:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 4
+; CHECK: %[[Vec17FloatR5:.*]] = OpFAdd %[[Float]] %[[Vec17FloatR4]] %[[Vec17FloatItem4]]
+; CHECK: %[[Vec17FloatItem5:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 5
+; CHECK: %[[Vec17FloatR6:.*]] = OpFAdd %[[Float]] %[[Vec17FloatR5]] %[[Vec17FloatItem5]]
+; CHECK: %[[Vec17FloatItem6:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 6
+; CHECK: %[[Vec17FloatR7:.*]] = OpFAdd %[[Float]] %[[Vec17FloatR6]] %[[Vec17FloatItem6]]
+; CHECK: %[[Vec17FloatItem7:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 7
+; CHECK: %[[Vec17FloatR8:.*]] = OpFAdd %[[Float]] %[[Vec17FloatR7]] %[[Vec17FloatItem7]]
+; CHECK: %[[Vec17FloatItem8:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 8
+; CHECK: %[[Vec17FloatR9:.*]] = OpFAdd %[[Float]] %[[Vec17FloatR8]] %[[Vec17FloatItem8]]
+; CHECK: %[[Vec17FloatItem9:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 9
+; CHECK: %[[Vec17FloatR10:.*]] = OpFAdd %[[Float]] %[[Vec17FloatR9]] %[[Vec17FloatItem9]]
+; CHECK: %[[Vec17FloatItem10:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 10
+; CHECK: %[[Vec17FloatR11:.*]] = OpFAdd %[[Float]] %[[Vec17FloatR10]] %[[Vec17FloatItem10]]
+; CHECK: %[[Vec17FloatItem11:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 11
+; CHECK: %[[Vec17FloatR12:.*]] = OpFAdd %[[Float]] %[[Vec17FloatR11]] %[[Vec17FloatItem11]]
+; CHECK: %[[Vec17FloatItem12:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 12
+; CHECK: %[[Vec17FloatR13:.*]] = OpFAdd %[[Float]] %[[Vec17FloatR12]] %[[Vec17FloatItem12]]
+; CHECK: %[[Vec17FloatItem13:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 13
+; CHECK: %[[Vec17FloatR14:.*]] = OpFAdd %[[Float]] %[[Vec17FloatR13]] %[[Vec17FloatItem13]]
+; CHECK: %[[Vec17FloatItem14:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 14
+; CHECK: %[[Vec17FloatR15:.*]] = OpFAdd %[[Float]] %[[Vec17FloatR14]] %[[Vec17FloatItem14]]
+; CHECK: %[[Vec17FloatItem15:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 15
+; CHECK: %[[Vec17FloatR16:.*]] = OpFAdd %[[Float]] %[[Vec17FloatR15]] %[[Vec17FloatItem15]]
+; CHECK: %[[Vec17FloatItem16:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 16
+; CHECK: %[[Vec17FloatR17:.*]] = OpFAdd %[[Float]] %[[Vec17FloatR16]] %[[Vec17FloatItem16]]
+; CHECK: OpReturnValue %[[Vec17FloatR17]]
+; CHECK: OpFunctionEnd
+define spir_func float @test_vector_reduce_fadd_v17f32(float %sp, <17 x float> %v) {
+entry:
+  %res = call float @llvm.vector.reduce.fadd.v17f32(float %sp, <17 x float> %v)
+  ret float %res
+}
+
+declare float @llvm.vector.reduce.fadd.v1f32(float, <1 x float>)
+declare float @llvm.vector.reduce.fadd.v17f32(float, <17 x float>)
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fmax.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fmax.ll
new file mode 100644
index 0000000000000..d7b49add36d01
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fmax.ll
@@ -0,0 +1,64 @@
+; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
+; spirv-val does not yet handle long vectors of pointers even though the rules are the same as for OpTypeVector
+; TODO: %if spirv-tools %{ llc -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+
+; CHECK-DAG: %[[Float:.*]] = OpTypeFloat 32
+; CHECK-DAG: %[[FloatVec1:.*]] = OpTypeVectorIdEXT %[[Float]] 1
+; CHECK-DAG: %[[FloatVec17:.*]] = OpTypeVectorIdEXT %[[Float]] 17
+
+; CHECK: OpFunction
+; CHECK: %[[V:.*]] = OpFunctionParameter %[[FloatVec1]]
+; CHECK: %[[Float1IntR:.*]] = OpCompositeExtract %[[Float]] %[[V]] 0
+; CHECK: OpReturnValue %[[Float1IntR]]
+; CHECK: OpFunctionEnd
+define spir_func float @test_vector_reduce_fmax_v1f32(<1 x float> %v) {
+entry:
+  %res = call float @llvm.vector.reduce.fmax.v1f32(<1 x float> %v)
+  ret float %res
+}
+
+; CHECK: OpFunction
+; CHECK: %[[ParamVec17Float:.*]] = OpFunctionParameter %[[FloatVec17]]
+; CHECK: %[[Vec17FloatItem0:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 0
+; CHECK: %[[Vec17FloatItem1:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 1
+; CHECK: %[[Vec17FloatItem2:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 2
+; CHECK: %[[Vec17FloatItem3:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 3
+; CHECK: %[[Vec17FloatItem4:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 4
+; CHECK: %[[Vec17FloatItem5:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 5
+; CHECK: %[[Vec17FloatItem6:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 6
+; CHECK: %[[Vec17FloatItem7:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 7
+; CHECK: %[[Vec17FloatItem8:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 8
+; CHECK: %[[Vec17FloatItem9:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 9
+; CHECK: %[[Vec17FloatItem10:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 10
+; CHECK: %[[Vec17FloatItem11:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 11
+; CHECK: %[[Vec17FloatItem12:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 12
+; CHECK: %[[Vec17FloatItem13:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 13
+; CHECK: %[[Vec17FloatItem14:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 14
+; CHECK: %[[Vec17FloatItem15:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 15
+; CHECK: %[[Vec17FloatItem16:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 16
+; CHECK: %[[Vec17FloatR1:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatItem0]] %[[Vec17FloatItem1]]
+; CHECK: %[[Vec17FloatR2:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR1]] %[[Vec17FloatItem2]]
+; CHECK: %[[Vec17FloatR3:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR2]] %[[Vec17FloatItem3]]
+; CHECK: %[[Vec17FloatR4:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR3]] %[[Vec17FloatItem4]]
+; CHECK: %[[Vec17FloatR5:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR4]] %[[Vec17FloatItem5]]
+; CHECK: %[[Vec17FloatR6:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR5]] %[[Vec17FloatItem6]]
+; CHECK: %[[Vec17FloatR7:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR6]] %[[Vec17FloatItem7]]
+; CHECK: %[[Vec17FloatR8:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR7]] %[[Vec17FloatItem8]]
+; CHECK: %[[Vec17FloatR9:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR8]] %[[Vec17FloatItem9]]
+; CHECK: %[[Vec17FloatR10:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR9]] %[[Vec17FloatItem10]]
+; CHECK: %[[Vec17FloatR11:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR10]] %[[Vec17FloatItem11]]
+; CHECK: %[[Vec17FloatR12:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR11]] %[[Vec17FloatItem12]]
+; CHECK: %[[Vec17FloatR13:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR12]] %[[Vec17FloatItem13]]
+; CHECK: %[[Vec17FloatR14:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR13]] %[[Vec17FloatItem14]]
+; CHECK: %[[Vec17FloatR15:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR14]] %[[Vec17FloatItem15]]
+; CHECK: %[[Vec17FloatR16:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR15]] %[[Vec17FloatItem16]]
+; CHECK: OpReturnValue %[[Vec17FloatR16]]
+; CHECK: OpFunctionEnd
+define spir_func float @test_vector_reduce_fmax_v17f32(<17 x float> %v) {
+entry:
+  %res = call float @llvm.vector.reduce.fmax.v17i32(<17 x float> %v)
+  ret float %res
+}
+
+declare float @llvm.vector.reduce.fmax.v1f32(<1 x float>)
+declare float @llvm.vector.reduce.fmax.v17f32(<17 x float>)
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fmaximum.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fmaximum.ll
new file mode 100644
index 0000000000000..9f5a9010cb272
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fmaximum.ll
@@ -0,0 +1,64 @@
+; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
+; spirv-val does not yet handle long vectors of pointers even though the rules are the same as for OpTypeVector
+; TODO: %if spirv-tools %{ llc -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+
+; CHECK-DAG: %[[Float:.*]] = OpTypeFloat 32
+; CHECK-DAG: %[[FloatVec1:.*]] = OpTypeVectorIdEXT %[[Float]] 1
+; CHECK-DAG: %[[FloatVec17:.*]] = OpTypeVectorIdEXT %[[Float]] 17
+
+; CHECK: OpFunction
+; CHECK: %[[V:.*]] = OpFunctionParameter %[[FloatVec1]]
+; CHECK: %[[Float1IntR:.*]] = OpCompositeExtract %[[Float]] %[[V]] 0
+; CHECK: OpReturnValue %[[Float1IntR]]
+; CHECK: OpFunctionEnd
+define spir_func float @test_vector_reduce_fmaximum_v1f32(<1 x float> %v) {
+entry:
+  %res = call float @llvm.vector.reduce.fmaximum.v1f32(<1 x float> %v)
+  ret float %res
+}
+
+; CHECK: OpFunction
+; CHECK: %[[ParamVec17Float:.*]] = OpFunctionParameter %[[FloatVec17]]
+; CHECK: %[[Vec17FloatItem0:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 0
+; CHECK: %[[Vec17FloatItem1:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 1
+; CHECK: %[[Vec17FloatItem2:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 2
+; CHECK: %[[Vec17FloatItem3:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 3
+; CHECK: %[[Vec17FloatItem4:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 4
+; CHECK: %[[Vec17FloatItem5:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 5
+; CHECK: %[[Vec17FloatItem6:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 6
+; CHECK: %[[Vec17FloatItem7:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 7
+; CHECK: %[[Vec17FloatItem8:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 8
+; CHECK: %[[Vec17FloatItem9:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 9
+; CHECK: %[[Vec17FloatItem10:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 10
+; CHECK: %[[Vec17FloatItem11:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 11
+; CHECK: %[[Vec17FloatItem12:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 12
+; CHECK: %[[Vec17FloatItem13:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 13
+; CHECK: %[[Vec17FloatItem14:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 14
+; CHECK: %[[Vec17FloatItem15:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 15
+; CHECK: %[[Vec17FloatItem16:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 16
+; CHECK: %[[Vec17FloatR1:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatItem0]] %[[Vec17FloatItem1]]
+; CHECK: %[[Vec17FloatR2:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR1]] %[[Vec17FloatItem2]]
+; CHECK: %[[Vec17FloatR3:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR2]] %[[Vec17FloatItem3]]
+; CHECK: %[[Vec17FloatR4:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR3]] %[[Vec17FloatItem4]]
+; CHECK: %[[Vec17FloatR5:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR4]] %[[Vec17FloatItem5]]
+; CHECK: %[[Vec17FloatR6:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR5]] %[[Vec17FloatItem6]]
+; CHECK: %[[Vec17FloatR7:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR6]] %[[Vec17FloatItem7]]
+; CHECK: %[[Vec17FloatR8:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR7]] %[[Vec17FloatItem8]]
+; CHECK: %[[Vec17FloatR9:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR8]] %[[Vec17FloatItem9]]
+; CHECK: %[[Vec17FloatR10:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR9]] %[[Vec17FloatItem10]]
+; CHECK: %[[Vec17FloatR11:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR10]] %[[Vec17FloatItem11]]
+; CHECK: %[[Vec17FloatR12:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR11]] %[[Vec17FloatItem12]]
+; CHECK: %[[Vec17FloatR13:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR12]] %[[Vec17FloatItem13]]
+; CHECK: %[[Vec17FloatR14:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR13]] %[[Vec17FloatItem14]]
+; CHECK: %[[Vec17FloatR15:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR14]] %[[Vec17FloatItem15]]
+; CHECK: %[[Vec17FloatR16:.*]] = OpExtInst %[[Float]] %[[#]] fmax %[[Vec17FloatR15]] %[[Vec17FloatItem16]]
+; CHECK: OpReturnValue %[[Vec17FloatR16]]
+; CHECK: OpFunctionEnd
+define spir_func float @test_vector_reduce_fmaximum_v17f32(<17 x float> %v) {
+entry:
+  %res = call float @llvm.vector.reduce.fmaximum.v17i32(<17 x float> %v)
+  ret float %res
+}
+
+declare float @llvm.vector.reduce.fmaximum.v1f32(<1 x float>)
+declare float @llvm.vector.reduce.fmaximum.v17f32(<17 x float>)
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fmin.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fmin.ll
new file mode 100644
index 0000000000000..af2992aae0d63
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fmin.ll
@@ -0,0 +1,64 @@
+; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
+; spirv-val does not yet handle long vectors of pointers even though the rules are the same as for OpTypeVector
+; TODO: %if spirv-tools %{ llc -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+
+; CHECK-DAG: %[[Float:.*]] = OpTypeFloat 32
+; CHECK-DAG: %[[FloatVec1:.*]] = OpTypeVectorIdEXT %[[Float]] 1
+; CHECK-DAG: %[[FloatVec17:.*]] = OpTypeVectorIdEXT %[[Float]] 17
+
+; CHECK: OpFunction
+; CHECK: %[[V:.*]] = OpFunctionParameter %[[FloatVec1]]
+; CHECK: %[[Float1IntR:.*]] = OpCompositeExtract %[[Float]] %[[V]] 0
+; CHECK: OpReturnValue %[[Float1IntR]]
+; CHECK: OpFunctionEnd
+define spir_func float @test_vector_reduce_fmin_v1f32(<1 x float> %v) {
+entry:
+  %res = call float @llvm.vector.reduce.fmin.v1f32(<1 x float> %v)
+  ret float %res
+}
+
+; CHECK: OpFunction
+; CHECK: %[[ParamVec17Float:.*]] = OpFunctionParameter %[[FloatVec17]]
+; CHECK: %[[Vec17FloatItem0:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 0
+; CHECK: %[[Vec17FloatItem1:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 1
+; CHECK: %[[Vec17FloatItem2:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 2
+; CHECK: %[[Vec17FloatItem3:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 3
+; CHECK: %[[Vec17FloatItem4:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 4
+; CHECK: %[[Vec17FloatItem5:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 5
+; CHECK: %[[Vec17FloatItem6:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 6
+; CHECK: %[[Vec17FloatItem7:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 7
+; CHECK: %[[Vec17FloatItem8:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 8
+; CHECK: %[[Vec17FloatItem9:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 9
+; CHECK: %[[Vec17FloatItem10:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 10
+; CHECK: %[[Vec17FloatItem11:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 11
+; CHECK: %[[Vec17FloatItem12:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 12
+; CHECK: %[[Vec17FloatItem13:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 13
+; CHECK: %[[Vec17FloatItem14:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 14
+; CHECK: %[[Vec17FloatItem15:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 15
+; CHECK: %[[Vec17FloatItem16:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 16
+; CHECK: %[[Vec17FloatR1:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatItem0]] %[[Vec17FloatItem1]]
+; CHECK: %[[Vec17FloatR2:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR1]] %[[Vec17FloatItem2]]
+; CHECK: %[[Vec17FloatR3:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR2]] %[[Vec17FloatItem3]]
+; CHECK: %[[Vec17FloatR4:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR3]] %[[Vec17FloatItem4]]
+; CHECK: %[[Vec17FloatR5:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR4]] %[[Vec17FloatItem5]]
+; CHECK: %[[Vec17FloatR6:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR5]] %[[Vec17FloatItem6]]
+; CHECK: %[[Vec17FloatR7:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR6]] %[[Vec17FloatItem7]]
+; CHECK: %[[Vec17FloatR8:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR7]] %[[Vec17FloatItem8]]
+; CHECK: %[[Vec17FloatR9:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR8]] %[[Vec17FloatItem9]]
+; CHECK: %[[Vec17FloatR10:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR9]] %[[Vec17FloatItem10]]
+; CHECK: %[[Vec17FloatR11:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR10]] %[[Vec17FloatItem11]]
+; CHECK: %[[Vec17FloatR12:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR11]] %[[Vec17FloatItem12]]
+; CHECK: %[[Vec17FloatR13:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR12]] %[[Vec17FloatItem13]]
+; CHECK: %[[Vec17FloatR14:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR13]] %[[Vec17FloatItem14]]
+; CHECK: %[[Vec17FloatR15:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR14]] %[[Vec17FloatItem15]]
+; CHECK: %[[Vec17FloatR16:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR15]] %[[Vec17FloatItem16]]
+; CHECK: OpReturnValue %[[Vec17FloatR16]]
+; CHECK: OpFunctionEnd
+define spir_func float @test_vector_reduce_fmin_v17f32(<17 x float> %v) {
+entry:
+  %res = call float @llvm.vector.reduce.fmin.v17i32(<17 x float> %v)
+  ret float %res
+}
+
+declare float @llvm.vector.reduce.fmin.v1f32(<1 x float>)
+declare float @llvm.vector.reduce.fmin.v17f32(<17 x float>)
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fminimum.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fminimum.ll
new file mode 100644
index 0000000000000..5fe799d785a6e
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fminimum.ll
@@ -0,0 +1,64 @@
+; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
+; spirv-val does not yet handle long vectors of pointers even though the rules are the same as for OpTypeVector
+; TODO: %if spirv-tools %{ llc -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+
+; CHECK-DAG: %[[Float:.*]] = OpTypeFloat 32
+; CHECK-DAG: %[[FloatVec1:.*]] = OpTypeVectorIdEXT %[[Float]] 1
+; CHECK-DAG: %[[FloatVec17:.*]] = OpTypeVectorIdEXT %[[Float]] 17
+
+; CHECK: OpFunction
+; CHECK: %[[V:.*]] = OpFunctionParameter %[[FloatVec1]]
+; CHECK: %[[Float1IntR:.*]] = OpCompositeExtract %[[Float]] %[[V]] 0
+; CHECK: OpReturnValue %[[Float1IntR]]
+; CHECK: OpFunctionEnd
+define spir_func float @test_vector_reduce_fminimum_v1f32(<1 x float> %v) {
+entry:
+  %res = call float @llvm.vector.reduce.fminimum.v1f32(<1 x float> %v)
+  ret float %res
+}
+
+; CHECK: OpFunction
+; CHECK: %[[ParamVec17Float:.*]] = OpFunctionParameter %[[FloatVec17]]
+; CHECK: %[[Vec17FloatItem0:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 0
+; CHECK: %[[Vec17FloatItem1:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 1
+; CHECK: %[[Vec17FloatItem2:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 2
+; CHECK: %[[Vec17FloatItem3:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 3
+; CHECK: %[[Vec17FloatItem4:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 4
+; CHECK: %[[Vec17FloatItem5:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 5
+; CHECK: %[[Vec17FloatItem6:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 6
+; CHECK: %[[Vec17FloatItem7:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 7
+; CHECK: %[[Vec17FloatItem8:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 8
+; CHECK: %[[Vec17FloatItem9:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 9
+; CHECK: %[[Vec17FloatItem10:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 10
+; CHECK: %[[Vec17FloatItem11:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 11
+; CHECK: %[[Vec17FloatItem12:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 12
+; CHECK: %[[Vec17FloatItem13:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 13
+; CHECK: %[[Vec17FloatItem14:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 14
+; CHECK: %[[Vec17FloatItem15:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 15
+; CHECK: %[[Vec17FloatItem16:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 16
+; CHECK: %[[Vec17FloatR1:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatItem0]] %[[Vec17FloatItem1]]
+; CHECK: %[[Vec17FloatR2:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR1]] %[[Vec17FloatItem2]]
+; CHECK: %[[Vec17FloatR3:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR2]] %[[Vec17FloatItem3]]
+; CHECK: %[[Vec17FloatR4:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR3]] %[[Vec17FloatItem4]]
+; CHECK: %[[Vec17FloatR5:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR4]] %[[Vec17FloatItem5]]
+; CHECK: %[[Vec17FloatR6:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR5]] %[[Vec17FloatItem6]]
+; CHECK: %[[Vec17FloatR7:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR6]] %[[Vec17FloatItem7]]
+; CHECK: %[[Vec17FloatR8:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR7]] %[[Vec17FloatItem8]]
+; CHECK: %[[Vec17FloatR9:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR8]] %[[Vec17FloatItem9]]
+; CHECK: %[[Vec17FloatR10:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR9]] %[[Vec17FloatItem10]]
+; CHECK: %[[Vec17FloatR11:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR10]] %[[Vec17FloatItem11]]
+; CHECK: %[[Vec17FloatR12:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR11]] %[[Vec17FloatItem12]]
+; CHECK: %[[Vec17FloatR13:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR12]] %[[Vec17FloatItem13]]
+; CHECK: %[[Vec17FloatR14:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR13]] %[[Vec17FloatItem14]]
+; CHECK: %[[Vec17FloatR15:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR14]] %[[Vec17FloatItem15]]
+; CHECK: %[[Vec17FloatR16:.*]] = OpExtInst %[[Float]] %[[#]] fmin %[[Vec17FloatR15]] %[[Vec17FloatItem16]]
+; CHECK: OpReturnValue %[[Vec17FloatR16]]
+; CHECK: OpFunctionEnd
+define spir_func float @test_vector_reduce_fminimum_v17f32(<17 x float> %v) {
+entry:
+  %res = call float @llvm.vector.reduce.fminimum.v17i32(<17 x float> %v)
+  ret float %res
+}
+
+declare float @llvm.vector.reduce.fminimum.v1f32(<1 x float>)
+declare float @llvm.vector.reduce.fminimum.v17f32(<17 x float>)
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fmul.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fmul.ll
new file mode 100644
index 0000000000000..c2fb23bf06f8e
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fmul.ll
@@ -0,0 +1,68 @@
+; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
+; spirv-val does not yet handle long vectors of pointers even though the rules are the same as for OpTypeVector
+; TODO: %if spirv-tools %{ llc -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+
+; CHECK-DAG: %[[Float:.*]] = OpTypeFloat 32
+; CHECK-DAG: %[[FloatVec1:.*]] = OpTypeVectorIdEXT %[[Float]] 1
+; CHECK-DAG: %[[FloatVec17:.*]] = OpTypeVectorIdEXT %[[Float]] 17
+
+; CHECK: OpFunction
+; CHECK: %[[X:.*]] = OpFunctionParameter %[[Float]]
+; CHECK: %[[V:.*]] = OpFunctionParameter %[[FloatVec1]]
+; CHECK: %[[Float1IntR:.*]] = OpCompositeExtract %[[Float]] %[[V]] 0
+; CHECK: %[[Fmul:.*]] = OpFMul %[[Float]] %[[X]] %[[Float1IntR]]
+; CHECK: OpReturnValue %[[Fmul]]
+; CHECK: OpFunctionEnd
+define spir_func float @test_vector_reduce_fmul_v1f32(float %x, <1 x float> %v) {
+entry:
+  %res = call float @llvm.vector.reduce.fmul.v1f32(float %x, <1 x float> %v)
+  ret float %res
+}
+
+; CHECK: OpFunction
+; CHECK: %[[ParamX:.*]] = OpFunctionParameter %[[Float]]
+; CHECK: %[[ParamVec17Float:.*]] = OpFunctionParameter %[[FloatVec17]]
+; CHECK: %[[Vec17FloatItem0:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 0
+; CHECK: %[[Vec17FloatR1:.*]] = OpFMul %[[Float]] %[[ParamX]] %[[Vec17FloatItem0]]
+; CHECK: %[[Vec17FloatItem1:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 1
+; CHECK: %[[Vec17FloatR2:.*]] = OpFMul %[[Float]] %[[Vec17FloatR1]] %[[Vec17FloatItem1]]
+; CHECK: %[[Vec17FloatItem2:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 2
+; CHECK: %[[Vec17FloatR3:.*]] = OpFMul %[[Float]] %[[Vec17FloatR2]] %[[Vec17FloatItem2]]
+; CHECK: %[[Vec17FloatItem3:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 3
+; CHECK: %[[Vec17FloatR4:.*]] = OpFMul %[[Float]] %[[Vec17FloatR3]] %[[Vec17FloatItem3]]
+; CHECK: %[[Vec17FloatItem4:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 4
+; CHECK: %[[Vec17FloatR5:.*]] = OpFMul %[[Float]] %[[Vec17FloatR4]] %[[Vec17FloatItem4]]
+; CHECK: %[[Vec17FloatItem5:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 5
+; CHECK: %[[Vec17FloatR6:.*]] = OpFMul %[[Float]] %[[Vec17FloatR5]] %[[Vec17FloatItem5]]
+; CHECK: %[[Vec17FloatItem6:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 6
+; CHECK: %[[Vec17FloatR7:.*]] = OpFMul %[[Float]] %[[Vec17FloatR6]] %[[Vec17FloatItem6]]
+; CHECK: %[[Vec17FloatItem7:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 7
+; CHECK: %[[Vec17FloatR8:.*]] = OpFMul %[[Float]] %[[Vec17FloatR7]] %[[Vec17FloatItem7]]
+; CHECK: %[[Vec17FloatItem8:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 8
+; CHECK: %[[Vec17FloatR9:.*]] = OpFMul %[[Float]] %[[Vec17FloatR8]] %[[Vec17FloatItem8]]
+; CHECK: %[[Vec17FloatItem9:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 9
+; CHECK: %[[Vec17FloatR10:.*]] = OpFMul %[[Float]] %[[Vec17FloatR9]] %[[Vec17FloatItem9]]
+; CHECK: %[[Vec17FloatItem10:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 10
+; CHECK: %[[Vec17FloatR11:.*]] = OpFMul %[[Float]] %[[Vec17FloatR10]] %[[Vec17FloatItem10]]
+; CHECK: %[[Vec17FloatItem11:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 11
+; CHECK: %[[Vec17FloatR12:.*]] = OpFMul %[[Float]] %[[Vec17FloatR11]] %[[Vec17FloatItem11]]
+; CHECK: %[[Vec17FloatItem12:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 12
+; CHECK: %[[Vec17FloatR13:.*]] = OpFMul %[[Float]] %[[Vec17FloatR12]] %[[Vec17FloatItem12]]
+; CHECK: %[[Vec17FloatItem13:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 13
+; CHECK: %[[Vec17FloatR14:.*]] = OpFMul %[[Float]] %[[Vec17FloatR13]] %[[Vec17FloatItem13]]
+; CHECK: %[[Vec17FloatItem14:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 14
+; CHECK: %[[Vec17FloatR15:.*]] = OpFMul %[[Float]] %[[Vec17FloatR14]] %[[Vec17FloatItem14]]
+; CHECK: %[[Vec17FloatItem15:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 15
+; CHECK: %[[Vec17FloatR16:.*]] = OpFMul %[[Float]] %[[Vec17FloatR15]] %[[Vec17FloatItem15]]
+; CHECK: %[[Vec17FloatItem16:.*]] = OpCompositeExtract %[[Float]] %[[ParamVec17Float]] 16
+; CHECK: %[[Vec17FloatR:.*]] = OpFMul %[[Float]] %[[Vec17FloatR16]] %[[Vec17FloatItem16]]
+; CHECK: OpReturnValue %[[Vec17FloatR]]
+; CHECK: OpFunctionEnd
+define spir_func float @test_vector_reduce_fmul_v17f32(float %x, <17 x float> %v) {
+entry:
+  %res = call float @llvm.vector.reduce.fmul.v17i32(float %x, <17 x float> %v)
+  ret float %res
+}
+
+declare float @llvm.vector.reduce.fmul.v1f32(float, <1 x float>)
+declare float @llvm.vector.reduce.fmul.v17f32(float, <17 x float>)
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/mul.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/mul.ll
new file mode 100644
index 0000000000000..35bcc036bac1d
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/mul.ll
@@ -0,0 +1,64 @@
+; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
+; spirv-val does not yet handle long vectors of pointers even though the rules are the same as for OpTypeVector
+; TODO: %if spirv-tools %{ llc -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+
+; CHECK-DAG: %[[Int:.*]] = OpTypeInt 32 0
+; CHECK-DAG: %[[IntVec1:.*]] = OpTypeVectorIdEXT %[[Int]] 1
+; CHECK-DAG: %[[IntVec17:.*]] = OpTypeVectorIdEXT %[[Int]] 17
+
+; CHECK: OpFunction
+; CHECK: %[[V:.*]] = OpFunctionParameter %[[IntVec1]]
+; CHECK: %[[Vec1IntR:.*]] = OpCompositeExtract %[[Int]] %[[V]] 0
+; CHECK: OpReturnValue %[[Vec1IntR]]
+; CHECK: OpFunctionEnd
+define spir_func i32 @test_vector_reduce_mul_v1i32(<1 x i32> %v) {
+entry:
+  %res = call i32 @llvm.vector.reduce.mul.v1i32(<1 x i32> %v)
+  ret i32 %res
+}
+
+; CHECK: OpFunction
+; CHECK: %[[ParamVec17Int:.*]] = OpFunctionParameter %[[IntVec17]]
+; CHECK: %[[Vec17IntItem0:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 0
+; CHECK: %[[Vec17IntItem1:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 1
+; CHECK: %[[Vec17IntItem2:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 2
+; CHECK: %[[Vec17IntItem3:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 3
+; CHECK: %[[Vec17IntItem4:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 4
+; CHECK: %[[Vec17IntItem5:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 5
+; CHECK: %[[Vec17IntItem6:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 6
+; CHECK: %[[Vec17IntItem7:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 7
+; CHECK: %[[Vec17IntItem8:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 8
+; CHECK: %[[Vec17IntItem9:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 9
+; CHECK: %[[Vec17IntItem10:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 10
+; CHECK: %[[Vec17IntItem11:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 11
+; CHECK: %[[Vec17IntItem12:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 12
+; CHECK: %[[Vec17IntItem13:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 13
+; CHECK: %[[Vec17IntItem14:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 14
+; CHECK: %[[Vec17IntItem15:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 15
+; CHECK: %[[Vec17IntItem16:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 16
+; CHECK: %[[Vec17IntR1:.*]] = OpIMul %[[Int]] %[[Vec17IntItem0]] %[[Vec17IntItem1]]
+; CHECK: %[[Vec17IntR2:.*]] = OpIMul %[[Int]] %[[Vec17IntR1]] %[[Vec17IntItem2]]
+; CHECK: %[[Vec17IntR3:.*]] = OpIMul %[[Int]] %[[Vec17IntR2]] %[[Vec17IntItem3]]
+; CHECK: %[[Vec17IntR4:.*]] = OpIMul %[[Int]] %[[Vec17IntR3]] %[[Vec17IntItem4]]
+; CHECK: %[[Vec17IntR5:.*]] = OpIMul %[[Int]] %[[Vec17IntR4]] %[[Vec17IntItem5]]
+; CHECK: %[[Vec17IntR6:.*]] = OpIMul %[[Int]] %[[Vec17IntR5]] %[[Vec17IntItem6]]
+; CHECK: %[[Vec17IntR7:.*]] = OpIMul %[[Int]] %[[Vec17IntR6]] %[[Vec17IntItem7]]
+; CHECK: %[[Vec17IntR8:.*]] = OpIMul %[[Int]] %[[Vec17IntR7]] %[[Vec17IntItem8]]
+; CHECK: %[[Vec17IntR9:.*]] = OpIMul %[[Int]] %[[Vec17IntR8]] %[[Vec17IntItem9]]
+; CHECK: %[[Vec17IntR10:.*]] = OpIMul %[[Int]] %[[Vec17IntR9]] %[[Vec17IntItem10]]
+; CHECK: %[[Vec17IntR11:.*]] = OpIMul %[[Int]] %[[Vec17IntR10]] %[[Vec17IntItem11]]
+; CHECK: %[[Vec17IntR12:.*]] = OpIMul %[[Int]] %[[Vec17IntR11]] %[[Vec17IntItem12]]
+; CHECK: %[[Vec17IntR13:.*]] = OpIMul %[[Int]] %[[Vec17IntR12]] %[[Vec17IntItem13]]
+; CHECK: %[[Vec17IntR14:.*]] = OpIMul %[[Int]] %[[Vec17IntR13]] %[[Vec17IntItem14]]
+; CHECK: %[[Vec17IntR15:.*]] = OpIMul %[[Int]] %[[Vec17IntR14]] %[[Vec17IntItem15]]
+; CHECK: %[[Vec17IntR16:.*]] = OpIMul %[[Int]] %[[Vec17IntR15]] %[[Vec17IntItem16]]
+; CHECK: OpReturnValue %[[Vec17IntR16]]
+; CHECK: OpFunctionEnd
+define spir_func i32 @test_vector_reduce_mul_v17i32(<17 x i32> %v) {
+entry:
+  %res = call i32 @llvm.vector.reduce.mul.v17i32(<17 x i32> %v)
+  ret i32 %res
+}
+
+declare i32 @llvm.vector.reduce.mul.v1i32(<1 x i32>)
+declare i32 @llvm.vector.reduce.mul.v17i32(<17 x i32>)
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/or.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/or.ll
new file mode 100644
index 0000000000000..f945edf04443b
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/or.ll
@@ -0,0 +1,64 @@
+; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
+; spirv-val does not yet handle long vectors of pointers even though the rules are the same as for OpTypeVector
+; TODO: %if spirv-tools %{ llc -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+
+; CHECK-DAG: %[[Int:.*]] = OpTypeInt 32 0
+; CHECK-DAG: %[[IntVec1:.*]] = OpTypeVectorIdEXT %[[Int]] 1
+; CHECK-DAG: %[[IntVec17:.*]] = OpTypeVectorIdEXT %[[Int]] 17
+
+; CHECK: OpFunction
+; CHECK: %[[V:.*]] = OpFunctionParameter %[[IntVec1]]
+; CHECK: %[[Vec1IntR:.*]] = OpCompositeExtract %[[Int]] %[[V]] 0
+; CHECK: OpReturnValue %[[Vec1IntR]]
+; CHECK: OpFunctionEnd
+define spir_func i32 @test_vector_reduce_or_v1i32(<1 x i32> %v) {
+entry:
+  %res = call i32 @llvm.vector.reduce.or.v1i32(<1 x i32> %v)
+  ret i32 %res
+}
+
+; CHECK: OpFunction
+; CHECK: %[[ParamVec17Int:.*]] = OpFunctionParameter %[[IntVec17]]
+; CHECK: %[[Vec17IntItem0:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 0
+; CHECK: %[[Vec17IntItem1:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 1
+; CHECK: %[[Vec17IntItem2:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 2
+; CHECK: %[[Vec17IntItem3:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 3
+; CHECK: %[[Vec17IntItem4:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 4
+; CHECK: %[[Vec17IntItem5:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 5
+; CHECK: %[[Vec17IntItem6:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 6
+; CHECK: %[[Vec17IntItem7:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 7
+; CHECK: %[[Vec17IntItem8:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 8
+; CHECK: %[[Vec17IntItem9:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 9
+; CHECK: %[[Vec17IntItem10:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 10
+; CHECK: %[[Vec17IntItem11:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 11
+; CHECK: %[[Vec17IntItem12:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 12
+; CHECK: %[[Vec17IntItem13:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 13
+; CHECK: %[[Vec17IntItem14:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 14
+; CHECK: %[[Vec17IntItem15:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 15
+; CHECK: %[[Vec17IntItem16:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 16
+; CHECK: %[[Vec17IntR1:.*]] = OpBitwiseOr %[[Int]] %[[Vec17IntItem0]] %[[Vec17IntItem1]]
+; CHECK: %[[Vec17IntR2:.*]] = OpBitwiseOr %[[Int]] %[[Vec17IntR1]] %[[Vec17IntItem2]]
+; CHECK: %[[Vec17IntR3:.*]] = OpBitwiseOr %[[Int]] %[[Vec17IntR2]] %[[Vec17IntItem3]]
+; CHECK: %[[Vec17IntR4:.*]] = OpBitwiseOr %[[Int]] %[[Vec17IntR3]] %[[Vec17IntItem4]]
+; CHECK: %[[Vec17IntR5:.*]] = OpBitwiseOr %[[Int]] %[[Vec17IntR4]] %[[Vec17IntItem5]]
+; CHECK: %[[Vec17IntR6:.*]] = OpBitwiseOr %[[Int]] %[[Vec17IntR5]] %[[Vec17IntItem6]]
+; CHECK: %[[Vec17IntR7:.*]] = OpBitwiseOr %[[Int]] %[[Vec17IntR6]] %[[Vec17IntItem7]]
+; CHECK: %[[Vec17IntR8:.*]] = OpBitwiseOr %[[Int]] %[[Vec17IntR7]] %[[Vec17IntItem8]]
+; CHECK: %[[Vec17IntR9:.*]] = OpBitwiseOr %[[Int]] %[[Vec17IntR8]] %[[Vec17IntItem9]]
+; CHECK: %[[Vec17IntR10:.*]] = OpBitwiseOr %[[Int]] %[[Vec17IntR9]] %[[Vec17IntItem10]]
+; CHECK: %[[Vec17IntR11:.*]] = OpBitwiseOr %[[Int]] %[[Vec17IntR10]] %[[Vec17IntItem11]]
+; CHECK: %[[Vec17IntR12:.*]] = OpBitwiseOr %[[Int]] %[[Vec17IntR11]] %[[Vec17IntItem12]]
+; CHECK: %[[Vec17IntR13:.*]] = OpBitwiseOr %[[Int]] %[[Vec17IntR12]] %[[Vec17IntItem13]]
+; CHECK: %[[Vec17IntR14:.*]] = OpBitwiseOr %[[Int]] %[[Vec17IntR13]] %[[Vec17IntItem14]]
+; CHECK: %[[Vec17IntR15:.*]] = OpBitwiseOr %[[Int]] %[[Vec17IntR14]] %[[Vec17IntItem15]]
+; CHECK: %[[Vec17IntR16:.*]] = OpBitwiseOr %[[Int]] %[[Vec17IntR15]] %[[Vec17IntItem16]]
+; CHECK: OpReturnValue %[[Vec17IntR16]]
+; CHECK: OpFunctionEnd
+define spir_func i32 @test_vector_reduce_or_v17i32(<17 x i32> %v) {
+entry:
+  %res = call i32 @llvm.vector.reduce.or.v17i32(<17 x i32> %v)
+  ret i32 %res
+}
+
+declare i32 @llvm.vector.reduce.or.v1i32(<1 x i32>)
+declare i32 @llvm.vector.reduce.or.v17i32(<17 x i32>)
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/smax.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/smax.ll
new file mode 100644
index 0000000000000..82055121845be
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/smax.ll
@@ -0,0 +1,64 @@
+; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
+; spirv-val does not yet handle long vectors of pointers even though the rules are the same as for OpTypeVector
+; TODO: %if spirv-tools %{ llc -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+
+; CHECK-DAG: %[[Int:.*]] = OpTypeInt 32 0
+; CHECK-DAG: %[[IntVec1:.*]] = OpTypeVectorIdEXT %[[Int]] 1
+; CHECK-DAG: %[[IntVec17:.*]] = OpTypeVectorIdEXT %[[Int]] 17
+
+; CHECK: OpFunction
+; CHECK: %[[V:.*]] = OpFunctionParameter %[[IntVec1]]
+; CHECK: %[[Vec1IntR:.*]] = OpCompositeExtract %[[Int]] %[[V]] 0
+; CHECK: OpReturnValue %[[Vec1IntR]]
+; CHECK: OpFunctionEnd
+define spir_func i32 @test_vector_reduce_smax_v1i32(<1 x i32> %v) {
+entry:
+  %res = call i32 @llvm.vector.reduce.smax.v1i32(<1 x i32> %v)
+  ret i32 %res
+}
+
+; CHECK: OpFunction
+; CHECK: %[[ParamVec17Int:.*]] = OpFunctionParameter %[[IntVec17]]
+; CHECK: %[[Vec17IntItem0:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 0
+; CHECK: %[[Vec17IntItem1:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 1
+; CHECK: %[[Vec17IntItem2:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 2
+; CHECK: %[[Vec17IntItem3:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 3
+; CHECK: %[[Vec17IntItem4:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 4
+; CHECK: %[[Vec17IntItem5:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 5
+; CHECK: %[[Vec17IntItem6:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 6
+; CHECK: %[[Vec17IntItem7:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 7
+; CHECK: %[[Vec17IntItem8:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 8
+; CHECK: %[[Vec17IntItem9:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 9
+; CHECK: %[[Vec17IntItem10:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 10
+; CHECK: %[[Vec17IntItem11:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 11
+; CHECK: %[[Vec17IntItem12:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 12
+; CHECK: %[[Vec17IntItem13:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 13
+; CHECK: %[[Vec17IntItem14:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 14
+; CHECK: %[[Vec17IntItem15:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 15
+; CHECK: %[[Vec17IntItem16:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 16
+; CHECK: %[[Vec17IntR1:.*]] = OpExtInst %[[Int]] %[[#]] s_max %[[Vec17IntItem0]] %[[Vec17IntItem1]]
+; CHECK: %[[Vec17IntR2:.*]] = OpExtInst %[[Int]] %[[#]] s_max %[[Vec17IntR1]] %[[Vec17IntItem2]]
+; CHECK: %[[Vec17IntR3:.*]] = OpExtInst %[[Int]] %[[#]] s_max %[[Vec17IntR2]] %[[Vec17IntItem3]]
+; CHECK: %[[Vec17IntR4:.*]] = OpExtInst %[[Int]] %[[#]] s_max %[[Vec17IntR3]] %[[Vec17IntItem4]]
+; CHECK: %[[Vec17IntR5:.*]] = OpExtInst %[[Int]] %[[#]] s_max %[[Vec17IntR4]] %[[Vec17IntItem5]]
+; CHECK: %[[Vec17IntR6:.*]] = OpExtInst %[[Int]] %[[#]] s_max %[[Vec17IntR5]] %[[Vec17IntItem6]]
+; CHECK: %[[Vec17IntR7:.*]] = OpExtInst %[[Int]] %[[#]] s_max %[[Vec17IntR6]] %[[Vec17IntItem7]]
+; CHECK: %[[Vec17IntR8:.*]] = OpExtInst %[[Int]] %[[#]] s_max %[[Vec17IntR7]] %[[Vec17IntItem8]]
+; CHECK: %[[Vec17IntR9:.*]] = OpExtInst %[[Int]] %[[#]] s_max %[[Vec17IntR8]] %[[Vec17IntItem9]]
+; CHECK: %[[Vec17IntR10:.*]] = OpExtInst %[[Int]] %[[#]] s_max %[[Vec17IntR9]] %[[Vec17IntItem10]]
+; CHECK: %[[Vec17IntR11:.*]] = OpExtInst %[[Int]] %[[#]] s_max %[[Vec17IntR10]] %[[Vec17IntItem11]]
+; CHECK: %[[Vec17IntR12:.*]] = OpExtInst %[[Int]] %[[#]] s_max %[[Vec17IntR11]] %[[Vec17IntItem12]]
+; CHECK: %[[Vec17IntR13:.*]] = OpExtInst %[[Int]] %[[#]] s_max %[[Vec17IntR12]] %[[Vec17IntItem13]]
+; CHECK: %[[Vec17IntR14:.*]] = OpExtInst %[[Int]] %[[#]] s_max %[[Vec17IntR13]] %[[Vec17IntItem14]]
+; CHECK: %[[Vec17IntR15:.*]] = OpExtInst %[[Int]] %[[#]] s_max %[[Vec17IntR14]] %[[Vec17IntItem15]]
+; CHECK: %[[Vec17IntR16:.*]] = OpExtInst %[[Int]] %[[#]] s_max %[[Vec17IntR15]] %[[Vec17IntItem16]]
+; CHECK: OpReturnValue %[[Vec17IntR16]]
+; CHECK: OpFunctionEnd
+define spir_func i32 @test_vector_reduce_smax_v17i32(<17 x i32> %v) {
+entry:
+  %res = call i32 @llvm.vector.reduce.smax.v17i32(<17 x i32> %v)
+  ret i32 %res
+}
+
+declare i32 @llvm.vector.reduce.smax.v1i32(<1 x i32>)
+declare i32 @llvm.vector.reduce.smax.v17i32(<17 x i32>)
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/smin.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/smin.ll
new file mode 100644
index 0000000000000..311bc1b122303
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/smin.ll
@@ -0,0 +1,64 @@
+; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
+; spirv-val does not yet handle long vectors of pointers even though the rules are the same as for OpTypeVector
+; TODO: %if spirv-tools %{ llc -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+
+; CHECK-DAG: %[[Int:.*]] = OpTypeInt 32 0
+; CHECK-DAG: %[[IntVec1:.*]] = OpTypeVectorIdEXT %[[Int]] 1
+; CHECK-DAG: %[[IntVec17:.*]] = OpTypeVectorIdEXT %[[Int]] 17
+
+; CHECK: OpFunction
+; CHECK: %[[V:.*]] = OpFunctionParameter %[[IntVec1]]
+; CHECK: %[[Vec1IntR:.*]] = OpCompositeExtract %[[Int]] %[[V]] 0
+; CHECK: OpReturnValue %[[Vec1IntR]]
+; CHECK: OpFunctionEnd
+define spir_func i32 @test_vector_reduce_smin_v1i32(<1 x i32> %v) {
+entry:
+  %res = call i32 @llvm.vector.reduce.smin.v1i32(<1 x i32> %v)
+  ret i32 %res
+}
+
+; CHECK: OpFunction
+; CHECK: %[[ParamVec17Int:.*]] = OpFunctionParameter %[[IntVec17]]
+; CHECK: %[[Vec17IntItem0:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 0
+; CHECK: %[[Vec17IntItem1:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 1
+; CHECK: %[[Vec17IntItem2:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 2
+; CHECK: %[[Vec17IntItem3:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 3
+; CHECK: %[[Vec17IntItem4:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 4
+; CHECK: %[[Vec17IntItem5:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 5
+; CHECK: %[[Vec17IntItem6:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 6
+; CHECK: %[[Vec17IntItem7:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 7
+; CHECK: %[[Vec17IntItem8:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 8
+; CHECK: %[[Vec17IntItem9:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 9
+; CHECK: %[[Vec17IntItem10:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 10
+; CHECK: %[[Vec17IntItem11:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 11
+; CHECK: %[[Vec17IntItem12:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 12
+; CHECK: %[[Vec17IntItem13:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 13
+; CHECK: %[[Vec17IntItem14:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 14
+; CHECK: %[[Vec17IntItem15:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 15
+; CHECK: %[[Vec17IntItem16:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 16
+; CHECK: %[[Vec17IntR1:.*]] = OpExtInst %[[Int]] %[[#]] s_min %[[Vec17IntItem0]] %[[Vec17IntItem1]]
+; CHECK: %[[Vec17IntR2:.*]] = OpExtInst %[[Int]] %[[#]] s_min %[[Vec17IntR1]] %[[Vec17IntItem2]]
+; CHECK: %[[Vec17IntR3:.*]] = OpExtInst %[[Int]] %[[#]] s_min %[[Vec17IntR2]] %[[Vec17IntItem3]]
+; CHECK: %[[Vec17IntR4:.*]] = OpExtInst %[[Int]] %[[#]] s_min %[[Vec17IntR3]] %[[Vec17IntItem4]]
+; CHECK: %[[Vec17IntR5:.*]] = OpExtInst %[[Int]] %[[#]] s_min %[[Vec17IntR4]] %[[Vec17IntItem5]]
+; CHECK: %[[Vec17IntR6:.*]] = OpExtInst %[[Int]] %[[#]] s_min %[[Vec17IntR5]] %[[Vec17IntItem6]]
+; CHECK: %[[Vec17IntR7:.*]] = OpExtInst %[[Int]] %[[#]] s_min %[[Vec17IntR6]] %[[Vec17IntItem7]]
+; CHECK: %[[Vec17IntR8:.*]] = OpExtInst %[[Int]] %[[#]] s_min %[[Vec17IntR7]] %[[Vec17IntItem8]]
+; CHECK: %[[Vec17IntR9:.*]] = OpExtInst %[[Int]] %[[#]] s_min %[[Vec17IntR8]] %[[Vec17IntItem9]]
+; CHECK: %[[Vec17IntR10:.*]] = OpExtInst %[[Int]] %[[#]] s_min %[[Vec17IntR9]] %[[Vec17IntItem10]]
+; CHECK: %[[Vec17IntR11:.*]] = OpExtInst %[[Int]] %[[#]] s_min %[[Vec17IntR10]] %[[Vec17IntItem11]]
+; CHECK: %[[Vec17IntR12:.*]] = OpExtInst %[[Int]] %[[#]] s_min %[[Vec17IntR11]] %[[Vec17IntItem12]]
+; CHECK: %[[Vec17IntR13:.*]] = OpExtInst %[[Int]] %[[#]] s_min %[[Vec17IntR12]] %[[Vec17IntItem13]]
+; CHECK: %[[Vec17IntR14:.*]] = OpExtInst %[[Int]] %[[#]] s_min %[[Vec17IntR13]] %[[Vec17IntItem14]]
+; CHECK: %[[Vec17IntR15:.*]] = OpExtInst %[[Int]] %[[#]] s_min %[[Vec17IntR14]] %[[Vec17IntItem15]]
+; CHECK: %[[Vec17IntR16:.*]] = OpExtInst %[[Int]] %[[#]] s_min %[[Vec17IntR15]] %[[Vec17IntItem16]]
+; CHECK: OpReturnValue %[[Vec17IntR16]]
+; CHECK: OpFunctionEnd
+define spir_func i32 @test_vector_reduce_smin_v17i32(<17 x i32> %v) {
+entry:
+  %res = call i32 @llvm.vector.reduce.smin.v17i32(<17 x i32> %v)
+  ret i32 %res
+}
+
+declare i32 @llvm.vector.reduce.smin.v1i32(<1 x i32>)
+declare i32 @llvm.vector.reduce.smin.v17i32(<17 x i32>)
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/umax.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/umax.ll
new file mode 100644
index 0000000000000..5e8c1ca3dc58b
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/umax.ll
@@ -0,0 +1,64 @@
+; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
+; spirv-val does not yet handle long vectors of pointers even though the rules are the same as for OpTypeVector
+; TODO: %if spirv-tools %{ llc -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+
+; CHECK-DAG: %[[Int:.*]] = OpTypeInt 32 0
+; CHECK-DAG: %[[IntVec1:.*]] = OpTypeVectorIdEXT %[[Int]] 1
+; CHECK-DAG: %[[IntVec17:.*]] = OpTypeVectorIdEXT %[[Int]] 17
+
+; CHECK: OpFunction
+; CHECK: %[[V:.*]] = OpFunctionParameter %[[IntVec1]]
+; CHECK: %[[Vec1IntR:.*]] = OpCompositeExtract %[[Int]] %[[V]] 0
+; CHECK: OpReturnValue %[[Vec1IntR]]
+; CHECK: OpFunctionEnd
+define spir_func i32 @test_vector_reduce_umax_v1i32(<1 x i32> %v) {
+entry:
+  %res = call i32 @llvm.vector.reduce.umax.v1i32(<1 x i32> %v)
+  ret i32 %res
+}
+
+; CHECK: OpFunction
+; CHECK: %[[ParamVec17Int:.*]] = OpFunctionParameter %[[IntVec17]]
+; CHECK: %[[Vec17IntItem0:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 0
+; CHECK: %[[Vec17IntItem1:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 1
+; CHECK: %[[Vec17IntItem2:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 2
+; CHECK: %[[Vec17IntItem3:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 3
+; CHECK: %[[Vec17IntItem4:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 4
+; CHECK: %[[Vec17IntItem5:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 5
+; CHECK: %[[Vec17IntItem6:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 6
+; CHECK: %[[Vec17IntItem7:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 7
+; CHECK: %[[Vec17IntItem8:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 8
+; CHECK: %[[Vec17IntItem9:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 9
+; CHECK: %[[Vec17IntItem10:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 10
+; CHECK: %[[Vec17IntItem11:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 11
+; CHECK: %[[Vec17IntItem12:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 12
+; CHECK: %[[Vec17IntItem13:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 13
+; CHECK: %[[Vec17IntItem14:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 14
+; CHECK: %[[Vec17IntItem15:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 15
+; CHECK: %[[Vec17IntItem16:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 16
+; CHECK: %[[Vec17IntR1:.*]] = OpExtInst %[[Int]] %[[#]] u_max %[[Vec17IntItem0]] %[[Vec17IntItem1]]
+; CHECK: %[[Vec17IntR2:.*]] = OpExtInst %[[Int]] %[[#]] u_max %[[Vec17IntR1]] %[[Vec17IntItem2]]
+; CHECK: %[[Vec17IntR3:.*]] = OpExtInst %[[Int]] %[[#]] u_max %[[Vec17IntR2]] %[[Vec17IntItem3]]
+; CHECK: %[[Vec17IntR4:.*]] = OpExtInst %[[Int]] %[[#]] u_max %[[Vec17IntR3]] %[[Vec17IntItem4]]
+; CHECK: %[[Vec17IntR5:.*]] = OpExtInst %[[Int]] %[[#]] u_max %[[Vec17IntR4]] %[[Vec17IntItem5]]
+; CHECK: %[[Vec17IntR6:.*]] = OpExtInst %[[Int]] %[[#]] u_max %[[Vec17IntR5]] %[[Vec17IntItem6]]
+; CHECK: %[[Vec17IntR7:.*]] = OpExtInst %[[Int]] %[[#]] u_max %[[Vec17IntR6]] %[[Vec17IntItem7]]
+; CHECK: %[[Vec17IntR8:.*]] = OpExtInst %[[Int]] %[[#]] u_max %[[Vec17IntR7]] %[[Vec17IntItem8]]
+; CHECK: %[[Vec17IntR9:.*]] = OpExtInst %[[Int]] %[[#]] u_max %[[Vec17IntR8]] %[[Vec17IntItem9]]
+; CHECK: %[[Vec17IntR10:.*]] = OpExtInst %[[Int]] %[[#]] u_max %[[Vec17IntR9]] %[[Vec17IntItem10]]
+; CHECK: %[[Vec17IntR11:.*]] = OpExtInst %[[Int]] %[[#]] u_max %[[Vec17IntR10]] %[[Vec17IntItem11]]
+; CHECK: %[[Vec17IntR12:.*]] = OpExtInst %[[Int]] %[[#]] u_max %[[Vec17IntR11]] %[[Vec17IntItem12]]
+; CHECK: %[[Vec17IntR13:.*]] = OpExtInst %[[Int]] %[[#]] u_max %[[Vec17IntR12]] %[[Vec17IntItem13]]
+; CHECK: %[[Vec17IntR14:.*]] = OpExtInst %[[Int]] %[[#]] u_max %[[Vec17IntR13]] %[[Vec17IntItem14]]
+; CHECK: %[[Vec17IntR15:.*]] = OpExtInst %[[Int]] %[[#]] u_max %[[Vec17IntR14]] %[[Vec17IntItem15]]
+; CHECK: %[[Vec17IntR16:.*]] = OpExtInst %[[Int]] %[[#]] u_max %[[Vec17IntR15]] %[[Vec17IntItem16]]
+; CHECK: OpReturnValue %[[Vec17IntR16]]
+; CHECK: OpFunctionEnd
+define spir_func i32 @test_vector_reduce_umax_v17i32(<17 x i32> %v) {
+entry:
+  %res = call i32 @llvm.vector.reduce.umax.v17i32(<17 x i32> %v)
+  ret i32 %res
+}
+
+declare i32 @llvm.vector.reduce.umax.v1i32(<1 x i32>)
+declare i32 @llvm.vector.reduce.umax.v17i32(<17 x i32>)
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/umin.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/umin.ll
new file mode 100644
index 0000000000000..e3e93752a68a5
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/umin.ll
@@ -0,0 +1,64 @@
+; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
+; spirv-val does not yet handle long vectors of pointers even though the rules are the same as for OpTypeVector
+; TODO: %if spirv-tools %{ llc -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+
+; CHECK-DAG: %[[Int:.*]] = OpTypeInt 32 0
+; CHECK-DAG: %[[IntVec1:.*]] = OpTypeVectorIdEXT %[[Int]] 1
+; CHECK-DAG: %[[IntVec17:.*]] = OpTypeVectorIdEXT %[[Int]] 17
+
+; CHECK: OpFunction
+; CHECK: %[[V:.*]] = OpFunctionParameter %[[IntVec1]]
+; CHECK: %[[Vec1IntR:.*]] = OpCompositeExtract %[[Int]] %[[V]] 0
+; CHECK: OpReturnValue %[[Vec1IntR]]
+; CHECK: OpFunctionEnd
+define spir_func i32 @test_vector_reduce_umin_v1i32(<1 x i32> %v) {
+entry:
+  %res = call i32 @llvm.vector.reduce.umin.v1i32(<1 x i32> %v)
+  ret i32 %res
+}
+
+; CHECK: OpFunction
+; CHECK: %[[ParamVec17Int:.*]] = OpFunctionParameter %[[IntVec17]]
+; CHECK: %[[Vec17IntItem0:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 0
+; CHECK: %[[Vec17IntItem1:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 1
+; CHECK: %[[Vec17IntItem2:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 2
+; CHECK: %[[Vec17IntItem3:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 3
+; CHECK: %[[Vec17IntItem4:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 4
+; CHECK: %[[Vec17IntItem5:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 5
+; CHECK: %[[Vec17IntItem6:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 6
+; CHECK: %[[Vec17IntItem7:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 7
+; CHECK: %[[Vec17IntItem8:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 8
+; CHECK: %[[Vec17IntItem9:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 9
+; CHECK: %[[Vec17IntItem10:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 10
+; CHECK: %[[Vec17IntItem11:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 11
+; CHECK: %[[Vec17IntItem12:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 12
+; CHECK: %[[Vec17IntItem13:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 13
+; CHECK: %[[Vec17IntItem14:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 14
+; CHECK: %[[Vec17IntItem15:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 15
+; CHECK: %[[Vec17IntItem16:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 16
+; CHECK: %[[Vec17IntR1:.*]] = OpExtInst %[[Int]] %[[#]] u_min %[[Vec17IntItem0]] %[[Vec17IntItem1]]
+; CHECK: %[[Vec17IntR2:.*]] = OpExtInst %[[Int]] %[[#]] u_min %[[Vec17IntR1]] %[[Vec17IntItem2]]
+; CHECK: %[[Vec17IntR3:.*]] = OpExtInst %[[Int]] %[[#]] u_min %[[Vec17IntR2]] %[[Vec17IntItem3]]
+; CHECK: %[[Vec17IntR4:.*]] = OpExtInst %[[Int]] %[[#]] u_min %[[Vec17IntR3]] %[[Vec17IntItem4]]
+; CHECK: %[[Vec17IntR5:.*]] = OpExtInst %[[Int]] %[[#]] u_min %[[Vec17IntR4]] %[[Vec17IntItem5]]
+; CHECK: %[[Vec17IntR6:.*]] = OpExtInst %[[Int]] %[[#]] u_min %[[Vec17IntR5]] %[[Vec17IntItem6]]
+; CHECK: %[[Vec17IntR7:.*]] = OpExtInst %[[Int]] %[[#]] u_min %[[Vec17IntR6]] %[[Vec17IntItem7]]
+; CHECK: %[[Vec17IntR8:.*]] = OpExtInst %[[Int]] %[[#]] u_min %[[Vec17IntR7]] %[[Vec17IntItem8]]
+; CHECK: %[[Vec17IntR9:.*]] = OpExtInst %[[Int]] %[[#]] u_min %[[Vec17IntR8]] %[[Vec17IntItem9]]
+; CHECK: %[[Vec17IntR10:.*]] = OpExtInst %[[Int]] %[[#]] u_min %[[Vec17IntR9]] %[[Vec17IntItem10]]
+; CHECK: %[[Vec17IntR11:.*]] = OpExtInst %[[Int]] %[[#]] u_min %[[Vec17IntR10]] %[[Vec17IntItem11]]
+; CHECK: %[[Vec17IntR12:.*]] = OpExtInst %[[Int]] %[[#]] u_min %[[Vec17IntR11]] %[[Vec17IntItem12]]
+; CHECK: %[[Vec17IntR13:.*]] = OpExtInst %[[Int]] %[[#]] u_min %[[Vec17IntR12]] %[[Vec17IntItem13]]
+; CHECK: %[[Vec17IntR14:.*]] = OpExtInst %[[Int]] %[[#]] u_min %[[Vec17IntR13]] %[[Vec17IntItem14]]
+; CHECK: %[[Vec17IntR15:.*]] = OpExtInst %[[Int]] %[[#]] u_min %[[Vec17IntR14]] %[[Vec17IntItem15]]
+; CHECK: %[[Vec17IntR16:.*]] = OpExtInst %[[Int]] %[[#]] u_min %[[Vec17IntR15]] %[[Vec17IntItem16]]
+; CHECK: OpReturnValue %[[Vec17IntR16]]
+; CHECK: OpFunctionEnd
+define spir_func i32 @test_vector_reduce_umin_v17i32(<17 x i32> %v) {
+entry:
+  %res = call i32 @llvm.vector.reduce.umin.v17i32(<17 x i32> %v)
+  ret i32 %res
+}
+
+declare i32 @llvm.vector.reduce.umin.v1i32(<1 x i32>)
+declare i32 @llvm.vector.reduce.umin.v17i32(<17 x i32>)
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/xor.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/xor.ll
new file mode 100644
index 0000000000000..eae363af8d989
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/xor.ll
@@ -0,0 +1,64 @@
+; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
+; spirv-val does not yet handle long vectors of pointers even though the rules are the same as for OpTypeVector
+; TODO: %if spirv-tools %{ llc -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+
+; CHECK-DAG: %[[Int:.*]] = OpTypeInt 32 0
+; CHECK-DAG: %[[IntVec1:.*]] = OpTypeVectorIdEXT %[[Int]] 1
+; CHECK-DAG: %[[IntVec17:.*]] = OpTypeVectorIdEXT %[[Int]] 17
+
+; CHECK: OpFunction
+; CHECK: %[[V:.*]] = OpFunctionParameter %[[IntVec1]]
+; CHECK: %[[Vec1IntR:.*]] = OpCompositeExtract %[[Int]] %[[V]] 0
+; CHECK: OpReturnValue %[[Vec1IntR]]
+; CHECK: OpFunctionEnd
+define spir_func i32 @test_vector_reduce_xor_v1i32(<1 x i32> %v) {
+entry:
+  %res = call i32 @llvm.vector.reduce.xor.v1i32(<1 x i32> %v)
+  ret i32 %res
+}
+
+; CHECK: OpFunction
+; CHECK: %[[ParamVec17Int:.*]] = OpFunctionParameter %[[IntVec17]]
+; CHECK: %[[Vec17IntItem0:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 0
+; CHECK: %[[Vec17IntItem1:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 1
+; CHECK: %[[Vec17IntItem2:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 2
+; CHECK: %[[Vec17IntItem3:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 3
+; CHECK: %[[Vec17IntItem4:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 4
+; CHECK: %[[Vec17IntItem5:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 5
+; CHECK: %[[Vec17IntItem6:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 6
+; CHECK: %[[Vec17IntItem7:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 7
+; CHECK: %[[Vec17IntItem8:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 8
+; CHECK: %[[Vec17IntItem9:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 9
+; CHECK: %[[Vec17IntItem10:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 10
+; CHECK: %[[Vec17IntItem11:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 11
+; CHECK: %[[Vec17IntItem12:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 12
+; CHECK: %[[Vec17IntItem13:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 13
+; CHECK: %[[Vec17IntItem14:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 14
+; CHECK: %[[Vec17IntItem15:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 15
+; CHECK: %[[Vec17IntItem16:.*]] = OpCompositeExtract %[[Int]] %[[ParamVec17Int]] 16
+; CHECK: %[[Vec17IntR1:.*]] = OpBitwiseXor %[[Int]] %[[Vec17IntItem0]] %[[Vec17IntItem1]]
+; CHECK: %[[Vec17IntR2:.*]] = OpBitwiseXor %[[Int]] %[[Vec17IntR1]] %[[Vec17IntItem2]]
+; CHECK: %[[Vec17IntR3:.*]] = OpBitwiseXor %[[Int]] %[[Vec17IntR2]] %[[Vec17IntItem3]]
+; CHECK: %[[Vec17IntR4:.*]] = OpBitwiseXor %[[Int]] %[[Vec17IntR3]] %[[Vec17IntItem4]]
+; CHECK: %[[Vec17IntR5:.*]] = OpBitwiseXor %[[Int]] %[[Vec17IntR4]] %[[Vec17IntItem5]]
+; CHECK: %[[Vec17IntR6:.*]] = OpBitwiseXor %[[Int]] %[[Vec17IntR5]] %[[Vec17IntItem6]]
+; CHECK: %[[Vec17IntR7:.*]] = OpBitwiseXor %[[Int]] %[[Vec17IntR6]] %[[Vec17IntItem7]]
+; CHECK: %[[Vec17IntR8:.*]] = OpBitwiseXor %[[Int]] %[[Vec17IntR7]] %[[Vec17IntItem8]]
+; CHECK: %[[Vec17IntR9:.*]] = OpBitwiseXor %[[Int]] %[[Vec17IntR8]] %[[Vec17IntItem9]]
+; CHECK: %[[Vec17IntR10:.*]] = OpBitwiseXor %[[Int]] %[[Vec17IntR9]] %[[Vec17IntItem10]]
+; CHECK: %[[Vec17IntR11:.*]] = OpBitwiseXor %[[Int]] %[[Vec17IntR10]] %[[Vec17IntItem11]]
+; CHECK: %[[Vec17IntR12:.*]] = OpBitwiseXor %[[Int]] %[[Vec17IntR11]] %[[Vec17IntItem12]]
+; CHECK: %[[Vec17IntR13:.*]] = OpBitwiseXor %[[Int]] %[[Vec17IntR12]] %[[Vec17IntItem13]]
+; CHECK: %[[Vec17IntR14:.*]] = OpBitwiseXor %[[Int]] %[[Vec17IntR13]] %[[Vec17IntItem14]]
+; CHECK: %[[Vec17IntR15:.*]] = OpBitwiseXor %[[Int]] %[[Vec17IntR14]] %[[Vec17IntItem15]]
+; CHECK: %[[Vec17IntR16:.*]] = OpBitwiseXor %[[Int]] %[[Vec17IntR15]] %[[Vec17IntItem16]]
+; CHECK: OpReturnValue %[[Vec17IntR16]]
+; CHECK: OpFunctionEnd
+define spir_func i32 @test_vector_reduce_xor_v17i32(<17 x i32> %v) {
+entry:
+  %res = call i32 @llvm.vector.reduce.xor.v17i32(<17 x i32> %v)
+  ret i32 %res
+}
+
+declare i32 @llvm.vector.reduce.xor.v1i32(<1 x i32>)
+declare i32 @llvm.vector.reduce.xor.v17i32(<17 x i32>)
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/phi-large-vector.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/phi-large-vector.ll
new file mode 100644
index 0000000000000..e9aaf0c1a7df0
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/phi-large-vector.ll
@@ -0,0 +1,38 @@
+; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
+; spirv-val does not yet handle long vectors of pointers even though the rules are the same as for OpTypeVector
+; TODO: %if spirv-tools %{ llc -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+
+; CHECK-DAG: %[[#I32:]] = OpTypeInt 32 0
+; CHECK-DAG: %[[#V16:]] = OpTypeVector %[[#I32]] 16
+; CHECK-DAG: %[[#V32:]] = OpTypeVectorIdEXT %[[#I32]] 32
+; CHECK: %[[#PHI:]] = OpPhi %[[#V32]]
+
+define spir_kernel void @phi_v32(ptr addrspace(1) %out, i1 %cond,
+                                 <16 x i32> %a, <16 x i32> %b) {
+entry:
+  %wide_a = shufflevector <16 x i32> %a, <16 x i32> %b,
+              <32 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7,
+                          i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15,
+                          i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23,
+                          i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31>
+  %wide_b = shufflevector <16 x i32> %b, <16 x i32> %a,
+              <32 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7,
+                          i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15,
+                          i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23,
+                          i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31>
+  br i1 %cond, label %then, label %else
+
+then:
+  br label %merge
+
+else:
+  br label %merge
+
+merge:
+  %p = phi <32 x i32> [ %wide_a, %then ], [ %wide_b, %else ]
+  %sum = call i32 @llvm.vector.reduce.add.v32i32(<32 x i32> %p)
+  store i32 %sum, ptr addrspace(1) %out, align 4
+  ret void
+}
+
+declare i32 @llvm.vector.reduce.add.v32i32(<32 x i32>)
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/ptrmask-vec.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/ptrmask-vec.ll
new file mode 100644
index 0000000000000..833c79c8c935c
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/ptrmask-vec.ll
@@ -0,0 +1,34 @@
+; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_INTEL_masked_gather_scatter,+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
+; spirv-val does not yet handle long vectors of pointers even though the rules are the same as for OpTypeVector
+; TODO: %if spirv-tools %{ llc -O0 --spirv-ext=+SPV_INTEL_masked_gather_scatter,+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+
+; Test that G_PTRMASK works with vector of pointers.
+; This requires the SPV_INTEL_masked_gather_scatter extension.
+
+; CHECK-DAG: OpCapability MaskedGatherScatterINTEL
+; CHECK-DAG: OpExtension "SPV_INTEL_masked_gather_scatter"
+; CHECK-DAG: OpCapability LongVectorEXT
+; CHECK-DAG: OpExtension "SPV_EXT_long_vector"
+; CHECK-DAG: %[[#INT8_TY:]] = OpTypeInt 8 0
+; CHECK-DAG: %[[#PTR_TY:]] = OpTypePointer CrossWorkgroup %[[#INT8_TY]]
+; CHECK-DAG: %[[#VEC_PTR_TY:]] = OpTypeVectorIdEXT %[[#PTR_TY]] 17
+; CHECK-DAG: %[[#INT64_TY:]] = OpTypeInt 64 0
+; CHECK-DAG: %[[#VEC_INT64_TY:]] = OpTypeVectorIdEXT %[[#INT64_TY]] 17
+; CHECK: %[[#PTR_VEC_PARAM:]] = OpFunctionParameter %[[#VEC_PTR_TY]]
+; CHECK: %[[#MASK_VEC_PARAM:]] = OpFunctionParameter %[[#VEC_INT64_TY]]
+; CHECK: %[[#OUT_PARAM:]] = OpFunctionParameter
+; CHECK: %[[#PTR_AS_INT:]] = OpConvertPtrToU %[[#VEC_INT64_TY]] %[[#PTR_VEC_PARAM]]
+; CHECK: %[[#MASKED_INT:]] = OpBitwiseAnd %[[#VEC_INT64_TY]] %[[#PTR_AS_INT]] %[[#MASK_VEC_PARAM]]
+; CHECK: %[[#MASKED_PTR:]] = OpConvertUToPtr %[[#VEC_PTR_TY]] %[[#MASKED_INT]]
+; CHECK: %[[#ELEM0:]] = OpCompositeExtract %[[#PTR_TY]] %[[#MASKED_PTR]] 0
+; CHECK: OpStore %[[#OUT_PARAM]] %[[#ELEM0]] Aligned 8
+
+define spir_kernel void @test_ptrmask_vec(<17 x ptr addrspace(1)> %ptr_vec, <17 x i64> %mask_vec, ptr addrspace(1) %out) {
+entry:
+  %masked_ptr_vec = call <17 x ptr addrspace(1)> @llvm.ptrmask.v17p1.v17i64(<17 x ptr addrspace(1)> %ptr_vec, <17 x i64> %mask_vec)
+  %elem0 = extractelement <17 x ptr addrspace(1)> %masked_ptr_vec, i32 0
+  store ptr addrspace(1) %elem0, ptr addrspace(1) %out, align 8
+  ret void
+}
+
+declare <17 x ptr addrspace(1)> @llvm.ptrmask.v17p1.v17i64(<17 x ptr addrspace(1)>, <17 x i64>)
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/single-element-vector-nested-aggregate.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/single-element-vector-nested-aggregate.ll
new file mode 100644
index 0000000000000..5bf629c248f2f
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/single-element-vector-nested-aggregate.ll
@@ -0,0 +1,137 @@
+; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown -verify-machineinstrs --spirv-ext=+SPV_EXT_long_vector %s -o - | FileCheck %s
+; TODO: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector %s -o - -filetype=obj | spirv-val %}
+
+; CHECK-NOT: OpTypeVector
+; CHECK-DAG: %[[#FloatTy:]] = OpTypeFloat 32
+; CHECK-DAG: %[[#IntTy:]] = OpTypeInt 32 0
+; CHECK-DAG: %[[#Vec1FloatTy:]] = OpTypeVectorIdEXT %[[#FloatTy]] 1
+; CHECK-DAG: %[[#Vec1IntTy:]] = OpTypeVectorIdEXT %[[#IntTy]] 1
+; CHECK-DAG: %[[#PtrFloat:]] = OpTypePointer Function %[[#Vec1FloatTy]]
+; CHECK-DAG: %[[#Const8:]] = OpConstant %[[#IntTy]] 8
+; CHECK-DAG: %[[#Const4:]] = OpConstant %[[#IntTy]] 4
+; CHECK-DAG: %[[#Const2:]] = OpConstant %[[#IntTy]] 2
+; CHECK-DAG: %[[#Float1:]] = OpConstant %[[#FloatTy]] 1
+; CHECK-DAG: %[[#Vec1Float1:]] = OpConstantComposite %[[#Vec1FloatTy]] %[[#Float1]]
+; CHECK-DAG: %[[#Float2:]] = OpConstant %[[#FloatTy]] 2
+; CHECK-DAG: %[[#Vec1Float2:]] = OpConstantComposite %[[#Vec1FloatTy]] %[[#Float2]]
+; CHECK-DAG: %[[#Float3:]] = OpConstant %[[#FloatTy]] 3
+; CHECK-DAG: %[[#Int42:]] = OpConstant %[[#IntTy]] 42
+; CHECK-DAG: %[[#Int7:]] = OpConstant %[[#IntTy]] 7
+; CHECK-DAG: %[[#Arr8Float:]] = OpTypeArray %[[#Vec1FloatTy]] %[[#Const8]]
+; CHECK-DAG: %[[#PtrArr8Float:]] = OpTypePointer Function %[[#Arr8Float]]
+; CHECK-DAG: %[[#Arr4x8Float:]] = OpTypeArray %[[#Arr8Float]] %[[#Const4]]
+; CHECK-DAG: %[[#Arr4x4x8Float:]] = OpTypeArray %[[#Arr4x8Float]] %[[#Const4]]
+; CHECK-DAG: %[[#PtrArr4x4x8Float:]] = OpTypePointer Function %[[#Arr4x4x8Float]]
+; CHECK-DAG: %[[#StructFloatInt:]] = OpTypeStruct %[[#Vec1FloatTy]] %[[#Vec1IntTy]]
+; CHECK-DAG: %[[#PtrStructFloatInt:]] = OpTypePointer Function %[[#StructFloatInt]]
+; CHECK-DAG: %[[#Arr4Float:]] = OpTypeArray %[[#Vec1FloatTy]] %[[#Const4]]
+; CHECK-DAG: %[[#Arr2Int:]] = OpTypeArray %[[#Vec1IntTy]] %[[#Const2]]
+; CHECK-DAG: %[[#StructFloatArr2Int:]] = OpTypeStruct %[[#Vec1FloatTy]] %[[#Arr2Int]]
+
+; CHECK: OpFunction
+; CHECK: %[[#ArrVar:]] = OpVariable %[[#PtrArr8Float]] Function
+; CHECK: %[[#ArrGep:]] = OpPtrAccessChain %[[#PtrFloat]] %[[#ArrVar]]
+; CHECK: OpStore %[[#ArrGep]] %[[#Vec1Float1]] Aligned 4
+; CHECK: %[[#ArrLoad:]] = OpLoad %[[#Vec1FloatTy]] %[[#ArrGep]] Aligned 4
+; CHECK: %[[#ExtractElt:]] = OpCompositeExtract %[[#FloatTy]] %[[#ArrLoad]] 0
+; CHECK: OpStore %[[#]] %[[#ExtractElt]] Aligned 4
+; CHECK: OpFunctionEnd
+define spir_kernel void @vec1_in_array(ptr addrspace(1) %out) {
+entry:
+  %v = alloca [8 x <1 x float>], align 4, addrspace(0)
+  %p = getelementptr [8 x <1 x float>], ptr addrspace(0) %v, i32 0, i32 0
+  store <1 x float> <float 1.0>, ptr addrspace(0) %p, align 4
+  %r = load <1 x float>, ptr addrspace(0) %p, align 4
+  %s = extractelement <1 x float> %r, i32 0
+  store float %s, ptr addrspace(1) %out, align 4
+  ret void
+}
+
+; CHECK: OpFunction
+; CHECK: %[[#NestedVar:]] = OpVariable %[[#PtrArr4x4x8Float]] Function
+; CHECK: %[[#NestedGep:]] = OpPtrAccessChain %[[#PtrFloat]] %[[#NestedVar]]
+; CHECK: OpStore %[[#NestedGep]] %[[#Vec1Float2]] Aligned 4
+; CHECK: %[[#NestedLoad:]] = OpLoad %[[#Vec1FloatTy]] %[[#NestedGep]] Aligned 4
+; CHECK: %[[#ExtractElt1:]] = OpCompositeExtract %[[#FloatTy]] %[[#NestedLoad]] 0
+; CHECK: OpStore %[[#]] %[[#ExtractElt1]] Aligned 4
+; CHECK: OpFunctionEnd
+define spir_kernel void @vec1_in_nested_array(ptr addrspace(1) %out) {
+entry:
+  %v = alloca [4 x [4 x [8 x <1 x float>]]], align 4, addrspace(0)
+  %p = getelementptr [4 x [4 x [8 x <1 x float>]]], ptr addrspace(0) %v, i32 0, i32 0, i32 0, i32 0
+  store <1 x float> <float 2.0>, ptr addrspace(0) %p, align 4
+  %r = load <1 x float>, ptr addrspace(0) %p, align 4
+  %s = extractelement <1 x float> %r, i32 0
+  store float %s, ptr addrspace(1) %out, align 4
+  ret void
+}
+
+; CHECK: OpFunction
+; CHECK: %[[#StructVar:]] = OpVariable %[[#PtrStructFloatInt]] Function
+; CHECK: %[[#StructGep:]] = OpPtrAccessChain %[[#PtrFloat]] %[[#StructVar]]
+; CHECK: OpStore %[[#StructGep]] %[[#Vec1Float1]] Aligned 4
+; CHECK: %[[#StructLoad:]] = OpLoad %[[#Vec1FloatTy]] %[[#StructGep]] Aligned 4
+; CHECK: %[[#ExtractElt2:]] = OpCompositeExtract %[[#FloatTy]] %[[#StructLoad]] 0
+; CHECK: OpStore %[[#]] %[[#ExtractElt2]] Aligned 4
+; CHECK: OpFunctionEnd
+define spir_kernel void @vec1_in_struct(ptr addrspace(1) %out) {
+entry:
+  %v = alloca {<1 x float>, <1 x i32>}, align 4, addrspace(0)
+  %p = getelementptr {<1 x float>, <1 x i32>}, ptr addrspace(0) %v, i32 0, i32 0
+  store <1 x float> <float 1.0>, ptr addrspace(0) %p, align 4
+  %r = load <1 x float>, ptr addrspace(0) %p, align 4
+  %s = extractelement <1 x float> %r, i32 0
+  store float %s, ptr addrspace(1) %out, align 4
+  ret void
+}
+
+; CHECK: OpFunction
+; CHECK: %[[#ArrInsert1:]] = OpCompositeInsert %[[#Arr4Float]] %[[#Float1]] %[[#]] 0
+; CHECK: %[[#ArrInsert2:]] = OpCompositeInsert %[[#Arr4Float]] %[[#Float2]] %[[#ArrInsert1]] 1
+; CHECK: %[[#ArrExtract:]] = OpCompositeExtract %[[#Vec1FloatTy]] %[[#ArrInsert2]] 1
+; CHECK: %[[#ExtractElt3:]] = OpCompositeExtract %[[#FloatTy]] %[[#ArrExtract]] 0
+; CHECK: OpStore %[[#]] %[[#ExtractElt3]] Aligned 4
+; CHECK: OpFunctionEnd
+define spir_kernel void @vec1_insertvalue_extractvalue_array(ptr addrspace(1) %out) {
+entry:
+  %a = insertvalue [4 x <1 x float>] poison, <1 x float> <float 1.0>, 0
+  %a2 = insertvalue [4 x <1 x float>] %a, <1 x float> <float 2.0>, 1
+  %v = extractvalue [4 x <1 x float>] %a2, 1
+  %s = extractelement <1 x float> %v, i32 0
+  store float %s, ptr addrspace(1) %out, align 4
+  ret void
+}
+
+; CHECK: OpFunction
+; CHECK: %[[#StructInsert1:]] = OpCompositeInsert %[[#StructFloatInt]] %[[#Float1]] %[[#]] 0
+; CHECK: %[[#StructInsert2:]] = OpCompositeInsert %[[#StructFloatInt]] %[[#Int42]] %[[#StructInsert1]] 1
+; CHECK: %[[#StructExtract:]] = OpCompositeExtract %[[#Vec1FloatTy]] %[[#StructInsert2]] 0
+; CHECK: %[[#ExtractElt4:]] = OpCompositeExtract %[[#FloatTy]] %[[#StructExtract]] 0
+; CHECK: OpStore %[[#]] %[[#ExtractElt4]] Aligned 4
+; CHECK: OpFunctionEnd
+define spir_kernel void @vec1_insertvalue_extractvalue_struct(ptr addrspace(1) %out) {
+entry:
+  %a = insertvalue {<1 x float>, <1 x i32>} poison, <1 x float> <float 1.0>, 0
+  %a2 = insertvalue {<1 x float>, <1 x i32>} %a, <1 x i32> <i32 42>, 1
+  %v = extractvalue {<1 x float>, <1 x i32>} %a2, 0
+  %s = extractelement <1 x float> %v, i32 0
+  store float %s, ptr addrspace(1) %out, align 4
+  ret void
+}
+
+; CHECK: OpFunction
+; CHECK: %[[#MixedInsert1:]] = OpCompositeInsert %[[#StructFloatArr2Int]] %[[#Float3]] %[[#]] 0
+; CHECK: %[[#MixedInsert2:]] = OpCompositeInsert %[[#StructFloatArr2Int]] %[[#Int7]] %[[#MixedInsert1]] 1 0
+; CHECK: %[[#MixedExtract:]] = OpCompositeExtract %[[#Vec1FloatTy]] %[[#MixedInsert2]] 0
+; CHECK: %[[#ExtractElt5:]] = OpCompositeExtract %[[#FloatTy]] %[[#MixedExtract]] 0
+; CHECK: OpStore %[[#]] %[[#ExtractElt5]] Aligned 4
+; CHECK: OpFunctionEnd
+define spir_kernel void @vec1_struct_with_nested_array(ptr addrspace(1) %out) {
+entry:
+  %s = insertvalue {<1 x float>, [2 x <1 x i32>]} poison, <1 x float> <float 3.0>, 0
+  %s2 = insertvalue {<1 x float>, [2 x <1 x i32>]} %s, <1 x i32> <i32 7>, 1, 0
+  %v = extractvalue {<1 x float>, [2 x <1 x i32>]} %s2, 0
+  %sc = extractelement <1 x float> %v, i32 0
+  store float %sc, ptr addrspace(1) %out, align 4
+  ret void
+}
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/single-element-vector.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/single-element-vector.ll
new file mode 100644
index 0000000000000..6a4e623d6b428
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/single-element-vector.ll
@@ -0,0 +1,54 @@
+; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector %s -o - | FileCheck %s
+; spirv-val seems to have problems reading OpTypeVectorIdEXT correctly, enable once fixed
+; TODO: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector %s -o - -filetype=obj | spirv-val %}
+
+; CHECK-DAG: %[[#INT16:]] = OpTypeInt 16 0
+; CHECK-DAG: %[[#FLOAT64:]] = OpTypeFloat 64
+; CHECK-DAG: %[[#VEC4:]] = OpTypeVector %[[#FLOAT64]] 4
+; CHECK-DAG: %[[#VEC1:]] = OpTypeVectorIdEXT %[[#INT16]] 1
+; CHECK-DAG: %[[#FNTY:]] = OpTypeFunction %[[#VEC4]] %[[#VEC1]]
+; CHECK-DAG: %[[#ZERO:]] = OpConstantNull %[[#VEC1]]
+
+; CHECK: OpFunctionCall %[[#VEC4]] %[[#]] %[[#ZERO]]
+define spir_func <4 x double> @caller() {
+entry:
+  %C = call <4 x double> @callee(<1 x i16> zeroinitializer)
+  ret <4 x double> %C
+}
+declare <4 x double> @callee(<1 x i16>)
+
+; CHECK: %[[#V:]] = OpFunctionParameter %[[#VEC1]]
+; CHECK: %[[#EXTRACT_RES:]] = OpCompositeExtract %[[#INT16]] %[[#V]] 0
+; CHECK: OpReturnValue %[[#EXTRACT_RES]]
+define spir_func i16 @test_extractelement(<1 x i16> %v) {
+entry:
+  %e = extractelement <1 x i16> %v, i32 0
+  ret i16 %e
+}
+
+; CHECK: %[[#VAL:]] = OpFunctionParameter %[[#INT16]]
+; CHECK: %[[#INSERT_VAL:]] = OpCompositeInsert %[[#VEC1]] %[[#VAL]] %[[#]] 0
+; CHECK: OpReturnValue %[[#INSERT_VAL]]
+define spir_func <1 x i16> @test_insertelement(i16 %val) {
+entry:
+  %v = insertelement <1 x i16> poison, i16 %val, i32 0
+  ret <1 x i16> %v
+}
+
+; CHECK: %[[#SHUF_PARAM:]] = OpFunctionParameter %[[#VEC1]]
+; CHECK: OpReturnValue %[[#SHUF_PARAM]]
+define spir_func <1 x i16> @test_shufflevector(<1 x i16> %v) {
+entry:
+  %s = shufflevector <1 x i16> %v, <1 x i16> poison, <1 x i32> zeroinitializer
+  ret <1 x i16> %s
+}
+
+; CHECK: %[[#LHS_PARAM:]] = OpFunctionParameter %[[#VEC1]]
+; CHECK: %[[#RHS_PARAM:]] = OpFunctionParameter %[[#VEC1]]
+; CHECK: %[[#RET:]] = OpIAdd %[[#VEC1]] %[[#LHS_PARAM]] %[[#RHS_PARAM]]
+; CHECK: OpReturnValue %[[#RET]]
+define spir_func <1 x i16> @test_arithm(<1 x i16> %v1, <1 x i16> %v2) {
+entry:
+  %s = add <1 x i16> %v1, %v2
+  ret <1 x i16> %s
+}
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/spv-extractelt-legalization.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/spv-extractelt-legalization.ll
new file mode 100644
index 0000000000000..11417cac5b3da
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/spv-extractelt-legalization.ll
@@ -0,0 +1,49 @@
+; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector %s -o - | FileCheck %s
+; spirv-val seems to have problems reading OpTypeVectorIdEXT correctly, enable once fixed
+; TODO: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector %s -o - -filetype=obj | spirv-val %}
+
+; CHECK-DAG: %[[#Int:]] = OpTypeInt 32 0
+; CHECK-DAG: %[[#Vec17:]] = OpTypeVectorIdEXT %[[#Int]] 17
+; CHECK-DAG: %[[#PtrGlobalInt:]] = OpTypePointer CrossWorkgroup %[[#Int]]
+; CHECK-DAG: %[[#Const10:]] = OpConstant %[[#Int]] 10
+; CHECK-DAG: %[[#Const20:]] = OpConstant %[[#Int]] 20
+; CHECK-DAG: %[[#Const30:]] = OpConstant %[[#Int]] 30
+; CHECK-DAG: %[[#Const40:]] = OpConstant %[[#Int]] 40
+; CHECK-DAG: %[[#Const50:]] = OpConstant %[[#Int]] 50
+; CHECK-DAG: %[[#Const60:]] = OpConstant %[[#Int]] 60
+
+ at G = internal addrspace(1) global i32 0, align 4
+
+define void @main() {
+entry:
+; CHECK: %[[#Var:]] = OpVariable %[[#PtrGlobalInt]] CrossWorkgroup
+
+; CHECK: %[[#Idx:]] = OpLoad %[[#Int]]
+  %idx = load i32, ptr addrspace(1) @G, align 4
+
+
+; CHECK: OpCompositeInsert %[[#Vec17]] %[[#Const10]]
+  %vec = insertelement <17 x i32> poison, i32 10, i64 0
+
+; CHECK: OpCompositeInsert %[[#Vec17]] %[[#Const20]]
+  %vec2 = insertelement <17 x i32> %vec, i32 20, i64 1
+
+; CHECK: OpCompositeInsert %[[#Vec17]] %[[#Const30]]
+  %vec3 = insertelement <17 x i32> %vec2, i32 30, i64 2
+
+; CHECK: OpCompositeInsert %[[#Vec17]] %[[#Const40]]
+  %vec4 = insertelement <17 x i32> %vec3, i32 40, i64 3
+
+; CHECK: OpCompositeInsert %[[#Vec17]] %[[#Const50]]
+  %vec5 = insertelement <17 x i32> %vec4, i32 50, i64 4
+
+; CHECK: %[[#V6:]] = OpCompositeInsert %[[#Vec17]] %[[#Const60]]
+  %vec6 = insertelement <17 x i32> %vec5, i32 60, i64 5
+
+; CHECK: %[[#Res:]] = OpVectorExtractDynamic %[[#Int]] %[[#V6]] %[[#Idx]]
+  %res = extractelement <17 x i32> %vec6, i32 %idx
+
+; CHECK: OpStore {{.*}} %[[#Res]]
+  store i32 %res, ptr addrspace(1) @G, align 4
+  ret void
+}
\ No newline at end of file
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/unmerge-crash-0.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/unmerge-crash-0.ll
new file mode 100644
index 0000000000000..b32118460f158
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/unmerge-crash-0.ll
@@ -0,0 +1,3606 @@
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 6
+; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector --spv-allow-unknown-intrinsics=llvm. %s -o - | FileCheck %s
+; spirv-val seems to have problems reading OpTypeVectorIdEXT correctly, enable once fixed
+; TODO: %if spirv-tools %{ llc -O0 -mtriple=spirv64-amd-amdhsa --spirv-ext=+SPV_EXT_long_vector --spv-allow-unknown-intrinsics=llvm. %s -o - -filetype=obj | spirv-val %}
+
+; This is a repro extracted from IREE; once spirv-val works, testing its correct lowering into valid SPIR-V shall suffice.
+
+ at __shared_memory__ = private addrspace(3) global [8 x [8 x float]] undef, align 16
+ at __constant_8x8xf32_0 = private addrspace(4) constant [8 x [8 x float]] [[8 x float] [float 1.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 1.000000e+00, float -1.000000e+00, float 5.000000e-01, float -5.000000e-01, float 2.000000e+00, float -2.000000e+00, float -1.000000e+00], [8 x float] [float -5.250000e+00, float 1.000000e+00, float 1.000000e+00, float 2.500000e-01, float 2.500000e-01, float 4.000000e+00, float 4.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float -4.250000e+00, float 4.250000e+00, float -2.500000e+00, float 2.500000e+00, float -2.500000e+00, float 2.500000e+00, float 5.250000e+00], [8 x float] [float 5.250000e+00, float -4.250000e+00, float -4.250000e+00, float -1.250000e+00, float -1.250000e+00, float -5.000000e+00, float -5.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 1.000000e+00, float -1.000000e+00, float 2.000000e+00, float -2.000000e+00, float 5.000000e-01, float -5.000000e-01, float -5.250000e+00], [8 x float] [float -1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 1.000000e+00]], align 64
+ at __constant_8x8xf32 = private addrspace(4) constant [8 x [8 x float]] [[8 x float] [float 1.000000e+00, float 0.000000e+00, float -5.250000e+00, float 0.000000e+00, float 5.250000e+00, float 0.000000e+00, float -1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 1.000000e+00, float 1.000000e+00, float -4.250000e+00, float -4.250000e+00, float 1.000000e+00, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float -1.000000e+00, float 1.000000e+00, float 4.250000e+00, float -4.250000e+00, float -1.000000e+00, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 5.000000e-01, float 2.500000e-01, float -2.500000e+00, float -1.250000e+00, float 2.000000e+00, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float -5.000000e-01, float 2.500000e-01, float 2.500000e+00, float -1.250000e+00, float -2.000000e+00, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 2.000000e+00, float 4.000000e+00, float -2.500000e+00, float -5.000000e+00, float 5.000000e-01, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float -2.000000e+00, float 4.000000e+00, float 2.500000e+00, float -5.000000e+00, float -5.000000e-01, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float -1.000000e+00, float 0.000000e+00, float 5.250000e+00, float 0.000000e+00, float -5.250000e+00, float 0.000000e+00, float 1.000000e+00]], align 64
+
+; Function Attrs: alwaysinline
+define spir_kernel void @_winograd_input_dispatch_0_winograd_input_transform_8x8x1x1x1x1xf32_dispatch_tensor_store(ptr addrspace(1) noalias noundef nonnull readonly align 16 %0, ptr addrspace(1) noalias noundef nonnull align 16 %1) addrspace(4) #0 {
+; CHECK-LABEL: _winograd_input_dispatch_0_winograd_input_transform_8x8x1x1x1x1xf32_dispatch_tensor_store
+; CHECK:       %113 = OpFunction %18 Inline %19 ; -- Begin function _winograd_input_dispatch_0_winograd_input_transform_8x8x1x1x1x1xf32_dispatch_tensor_store
+; CHECK-NEXT:    %111 = OpFunctionParameter %17
+; CHECK-NEXT:    %112 = OpFunctionParameter %17
+; CHECK-NEXT:    %2360 = OpLabel
+; CHECK-NEXT:    %114 = OpBitcast %27 %99
+; CHECK-NEXT:    %115 = OpInBoundsPtrAccessChain %27 %114 %59
+; CHECK-NEXT:    %116 = OpInBoundsPtrAccessChain %27 %114 %58
+; CHECK-NEXT:    %117 = OpInBoundsPtrAccessChain %27 %114 %57
+; CHECK-NEXT:    %118 = OpInBoundsPtrAccessChain %27 %114 %56
+; CHECK-NEXT:    %119 = OpInBoundsPtrAccessChain %27 %114 %55
+; CHECK-NEXT:    %120 = OpInBoundsPtrAccessChain %27 %114 %54
+; CHECK-NEXT:    %121 = OpInBoundsPtrAccessChain %27 %114 %53
+; CHECK-NEXT:    %122 = OpBitcast %28 %88
+; CHECK-NEXT:    %123 = OpInBoundsPtrAccessChain %28 %122 %59
+; CHECK-NEXT:    %124 = OpInBoundsPtrAccessChain %28 %122 %58
+; CHECK-NEXT:    %125 = OpInBoundsPtrAccessChain %28 %122 %57
+; CHECK-NEXT:    %126 = OpInBoundsPtrAccessChain %28 %122 %56
+; CHECK-NEXT:    %127 = OpInBoundsPtrAccessChain %28 %122 %55
+; CHECK-NEXT:    %128 = OpInBoundsPtrAccessChain %28 %122 %54
+; CHECK-NEXT:    %129 = OpInBoundsPtrAccessChain %28 %122 %53
+; CHECK-NEXT:    %130 = OpBitcast %28 %98
+; CHECK-NEXT:    %131 = OpInBoundsPtrAccessChain %28 %130 %59
+; CHECK-NEXT:    %132 = OpInBoundsPtrAccessChain %28 %130 %58
+; CHECK-NEXT:    %133 = OpInBoundsPtrAccessChain %28 %130 %57
+; CHECK-NEXT:    %134 = OpInBoundsPtrAccessChain %28 %130 %56
+; CHECK-NEXT:    %135 = OpInBoundsPtrAccessChain %28 %130 %55
+; CHECK-NEXT:    %136 = OpInBoundsPtrAccessChain %28 %130 %54
+; CHECK-NEXT:    %137 = OpInBoundsPtrAccessChain %28 %130 %53
+; CHECK-NEXT:    OpBranch %2361
+; CHECK-NEXT:    %2361 = OpLabel
+; CHECK-NEXT:    %138 = OpPhi %20 %139 %2362 %47 %2360
+; CHECK-NEXT:    %140 = OpSLessThan %34 %138 %35
+; CHECK-NEXT:    OpBranchConditional %140 %2363 %2364
+; CHECK-NEXT:    %2364 = OpLabel
+; CHECK-NEXT:    OpMemoryBarrier %78 %77
+; CHECK-NEXT:    %141 = OpFunctionCall %18 %100 %52
+; CHECK-NEXT:    %142 = OpFunctionCall %18 %102 %51
+; CHECK-NEXT:    OpMemoryBarrier %78 %78
+; CHECK-NEXT:    OpBranch %2365
+; CHECK-NEXT:    %2365 = OpLabel
+; CHECK-NEXT:    %143 = OpPhi %20 %144 %2366 %47 %2364
+; CHECK-NEXT:    %145 = OpSLessThan %34 %143 %50
+; CHECK-NEXT:    OpBranchConditional %145 %2367 %2368
+; CHECK-NEXT:    %2368 = OpLabel
+; CHECK-NEXT:    OpMemoryBarrier %78 %77
+; CHECK-NEXT:    %146 = OpFunctionCall %18 %100 %52
+; CHECK-NEXT:    %147 = OpFunctionCall %18 %102 %51
+; CHECK-NEXT:    OpMemoryBarrier %78 %78
+; CHECK-NEXT:    %148 = OpBitcast %30 %99
+; CHECK-NEXT:    %149 = OpLoad %29 %148 Aligned 4
+; CHECK-NEXT:    %150 = OpBitcast %30 %115
+; CHECK-NEXT:    %151 = OpLoad %29 %150 Aligned 4
+; CHECK-NEXT:    %152 = OpBitcast %30 %116
+; CHECK-NEXT:    %153 = OpLoad %29 %152 Aligned 4
+; CHECK-NEXT:    %154 = OpBitcast %30 %117
+; CHECK-NEXT:    %155 = OpLoad %29 %154 Aligned 4
+; CHECK-NEXT:    %156 = OpBitcast %30 %118
+; CHECK-NEXT:    %157 = OpLoad %29 %156 Aligned 4
+; CHECK-NEXT:    %158 = OpBitcast %30 %119
+; CHECK-NEXT:    %159 = OpLoad %29 %158 Aligned 4
+; CHECK-NEXT:    %160 = OpBitcast %30 %120
+; CHECK-NEXT:    %161 = OpLoad %29 %160 Aligned 4
+; CHECK-NEXT:    %162 = OpBitcast %30 %121
+; CHECK-NEXT:    %163 = OpLoad %29 %162 Aligned 4
+; CHECK-NEXT:    %164 = OpCompositeExtract %16 %149 0
+; CHECK-NEXT:    %165 = OpCompositeExtract %16 %149 1
+; CHECK-NEXT:    %166 = OpCompositeExtract %16 %149 2
+; CHECK-NEXT:    %167 = OpCompositeExtract %16 %149 3
+; CHECK-NEXT:    %168 = OpCompositeExtract %16 %149 4
+; CHECK-NEXT:    %169 = OpCompositeExtract %16 %149 5
+; CHECK-NEXT:    %170 = OpCompositeExtract %16 %149 6
+; CHECK-NEXT:    %171 = OpCompositeExtract %16 %149 7
+; CHECK-NEXT:    %172 = OpCompositeExtract %16 %151 0
+; CHECK-NEXT:    %173 = OpCompositeExtract %16 %151 1
+; CHECK-NEXT:    %174 = OpCompositeExtract %16 %151 2
+; CHECK-NEXT:    %175 = OpCompositeExtract %16 %151 3
+; CHECK-NEXT:    %176 = OpCompositeExtract %16 %151 4
+; CHECK-NEXT:    %177 = OpCompositeExtract %16 %151 5
+; CHECK-NEXT:    %178 = OpCompositeExtract %16 %151 6
+; CHECK-NEXT:    %179 = OpCompositeExtract %16 %151 7
+; CHECK-NEXT:    %180 = OpCompositeExtract %16 %153 0
+; CHECK-NEXT:    %181 = OpCompositeExtract %16 %153 1
+; CHECK-NEXT:    %182 = OpCompositeExtract %16 %153 2
+; CHECK-NEXT:    %183 = OpCompositeExtract %16 %153 3
+; CHECK-NEXT:    %184 = OpCompositeExtract %16 %153 4
+; CHECK-NEXT:    %185 = OpCompositeExtract %16 %153 5
+; CHECK-NEXT:    %186 = OpCompositeExtract %16 %153 6
+; CHECK-NEXT:    %187 = OpCompositeExtract %16 %153 7
+; CHECK-NEXT:    %188 = OpCompositeExtract %16 %155 0
+; CHECK-NEXT:    %189 = OpCompositeExtract %16 %155 1
+; CHECK-NEXT:    %190 = OpCompositeExtract %16 %155 2
+; CHECK-NEXT:    %191 = OpCompositeExtract %16 %155 3
+; CHECK-NEXT:    %192 = OpCompositeExtract %16 %155 4
+; CHECK-NEXT:    %193 = OpCompositeExtract %16 %155 5
+; CHECK-NEXT:    %194 = OpCompositeExtract %16 %155 6
+; CHECK-NEXT:    %195 = OpCompositeExtract %16 %155 7
+; CHECK-NEXT:    %196 = OpCompositeExtract %16 %157 0
+; CHECK-NEXT:    %197 = OpCompositeExtract %16 %157 1
+; CHECK-NEXT:    %198 = OpCompositeExtract %16 %157 2
+; CHECK-NEXT:    %199 = OpCompositeExtract %16 %157 3
+; CHECK-NEXT:    %200 = OpCompositeExtract %16 %157 4
+; CHECK-NEXT:    %201 = OpCompositeExtract %16 %157 5
+; CHECK-NEXT:    %202 = OpCompositeExtract %16 %157 6
+; CHECK-NEXT:    %203 = OpCompositeExtract %16 %157 7
+; CHECK-NEXT:    %204 = OpCompositeExtract %16 %159 0
+; CHECK-NEXT:    %205 = OpCompositeExtract %16 %159 1
+; CHECK-NEXT:    %206 = OpCompositeExtract %16 %159 2
+; CHECK-NEXT:    %207 = OpCompositeExtract %16 %159 3
+; CHECK-NEXT:    %208 = OpCompositeExtract %16 %159 4
+; CHECK-NEXT:    %209 = OpCompositeExtract %16 %159 5
+; CHECK-NEXT:    %210 = OpCompositeExtract %16 %159 6
+; CHECK-NEXT:    %211 = OpCompositeExtract %16 %159 7
+; CHECK-NEXT:    %212 = OpCompositeExtract %16 %161 0
+; CHECK-NEXT:    %213 = OpCompositeExtract %16 %161 1
+; CHECK-NEXT:    %214 = OpCompositeExtract %16 %161 2
+; CHECK-NEXT:    %215 = OpCompositeExtract %16 %161 3
+; CHECK-NEXT:    %216 = OpCompositeExtract %16 %161 4
+; CHECK-NEXT:    %217 = OpCompositeExtract %16 %161 5
+; CHECK-NEXT:    %218 = OpCompositeExtract %16 %161 6
+; CHECK-NEXT:    %219 = OpCompositeExtract %16 %161 7
+; CHECK-NEXT:    %220 = OpCompositeExtract %16 %163 0
+; CHECK-NEXT:    %221 = OpCompositeExtract %16 %163 1
+; CHECK-NEXT:    %222 = OpCompositeExtract %16 %163 2
+; CHECK-NEXT:    %223 = OpCompositeExtract %16 %163 3
+; CHECK-NEXT:    %224 = OpCompositeExtract %16 %163 4
+; CHECK-NEXT:    %225 = OpCompositeExtract %16 %163 5
+; CHECK-NEXT:    %226 = OpCompositeExtract %16 %163 6
+; CHECK-NEXT:    %227 = OpCompositeExtract %16 %163 7
+; CHECK-NEXT:    %228 = OpBitcast %31 %88
+; CHECK-NEXT:    %229 = OpLoad %29 %228 Aligned 4
+; CHECK-NEXT:    %230 = OpBitcast %31 %123
+; CHECK-NEXT:    %231 = OpLoad %29 %230 Aligned 4
+; CHECK-NEXT:    %232 = OpBitcast %31 %124
+; CHECK-NEXT:    %233 = OpLoad %29 %232 Aligned 4
+; CHECK-NEXT:    %234 = OpBitcast %31 %125
+; CHECK-NEXT:    %235 = OpLoad %29 %234 Aligned 4
+; CHECK-NEXT:    %236 = OpBitcast %31 %126
+; CHECK-NEXT:    %237 = OpLoad %29 %236 Aligned 4
+; CHECK-NEXT:    %238 = OpBitcast %31 %127
+; CHECK-NEXT:    %239 = OpLoad %29 %238 Aligned 4
+; CHECK-NEXT:    %240 = OpBitcast %31 %128
+; CHECK-NEXT:    %241 = OpLoad %29 %240 Aligned 4
+; CHECK-NEXT:    %242 = OpBitcast %31 %129
+; CHECK-NEXT:    %243 = OpLoad %29 %242 Aligned 4
+; CHECK-NEXT:    %244 = OpCompositeInsert %29 %164 %104 0
+; CHECK-NEXT:    %245 = OpVectorShuffle %29 %244 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %246 = OpVectorShuffle %24 %245 %245 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %247 = OpVectorShuffle %24 %246 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %248 = OpCompositeInsert %29 %172 %104 0
+; CHECK-NEXT:    %249 = OpVectorShuffle %29 %248 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %250 = OpVectorShuffle %24 %249 %249 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %251 = OpVectorShuffle %24 %250 %247 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %252 = OpCompositeInsert %29 %180 %104 0
+; CHECK-NEXT:    %253 = OpVectorShuffle %29 %252 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %254 = OpVectorShuffle %24 %253 %253 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %255 = OpVectorShuffle %24 %254 %251 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %256 = OpCompositeInsert %29 %188 %104 0
+; CHECK-NEXT:    %257 = OpVectorShuffle %29 %256 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %258 = OpVectorShuffle %24 %257 %257 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %259 = OpVectorShuffle %24 %258 %255 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %260 = OpCompositeInsert %29 %196 %104 0
+; CHECK-NEXT:    %261 = OpVectorShuffle %29 %260 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %262 = OpVectorShuffle %24 %261 %261 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %263 = OpVectorShuffle %24 %262 %259 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %264 = OpCompositeInsert %29 %204 %104 0
+; CHECK-NEXT:    %265 = OpVectorShuffle %29 %264 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %266 = OpVectorShuffle %24 %265 %265 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %267 = OpVectorShuffle %24 %266 %263 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %268 = OpCompositeInsert %29 %212 %104 0
+; CHECK-NEXT:    %269 = OpVectorShuffle %29 %268 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %270 = OpVectorShuffle %24 %269 %269 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %271 = OpVectorShuffle %24 %270 %267 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %272 = OpCompositeInsert %29 %220 %104 0
+; CHECK-NEXT:    %273 = OpVectorShuffle %29 %272 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %274 = OpVectorShuffle %24 %273 %273 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %275 = OpVectorShuffle %24 %274 %271 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %276 = OpCompositeInsert %29 %165 %104 0
+; CHECK-NEXT:    %277 = OpVectorShuffle %29 %276 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %278 = OpVectorShuffle %24 %277 %277 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %279 = OpVectorShuffle %24 %278 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %280 = OpCompositeInsert %29 %173 %104 0
+; CHECK-NEXT:    %281 = OpVectorShuffle %29 %280 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %282 = OpVectorShuffle %24 %281 %281 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %283 = OpVectorShuffle %24 %282 %279 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %284 = OpCompositeInsert %29 %181 %104 0
+; CHECK-NEXT:    %285 = OpVectorShuffle %29 %284 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %286 = OpVectorShuffle %24 %285 %285 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %287 = OpVectorShuffle %24 %286 %283 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %288 = OpCompositeInsert %29 %189 %104 0
+; CHECK-NEXT:    %289 = OpVectorShuffle %29 %288 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %290 = OpVectorShuffle %24 %289 %289 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %291 = OpVectorShuffle %24 %290 %287 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %292 = OpCompositeInsert %29 %197 %104 0
+; CHECK-NEXT:    %293 = OpVectorShuffle %29 %292 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %294 = OpVectorShuffle %24 %293 %293 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %295 = OpVectorShuffle %24 %294 %291 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %296 = OpCompositeInsert %29 %205 %104 0
+; CHECK-NEXT:    %297 = OpVectorShuffle %29 %296 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %298 = OpVectorShuffle %24 %297 %297 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %299 = OpVectorShuffle %24 %298 %295 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %300 = OpCompositeInsert %29 %213 %104 0
+; CHECK-NEXT:    %301 = OpVectorShuffle %29 %300 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %302 = OpVectorShuffle %24 %301 %301 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %303 = OpVectorShuffle %24 %302 %299 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %304 = OpCompositeInsert %29 %221 %104 0
+; CHECK-NEXT:    %305 = OpVectorShuffle %29 %304 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %306 = OpVectorShuffle %24 %305 %305 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %307 = OpVectorShuffle %24 %306 %303 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %308 = OpCompositeInsert %29 %166 %104 0
+; CHECK-NEXT:    %309 = OpVectorShuffle %29 %308 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %310 = OpVectorShuffle %24 %309 %309 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %311 = OpVectorShuffle %24 %310 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %312 = OpCompositeInsert %29 %174 %104 0
+; CHECK-NEXT:    %313 = OpVectorShuffle %29 %312 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %314 = OpVectorShuffle %24 %313 %313 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %315 = OpVectorShuffle %24 %314 %311 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %316 = OpCompositeInsert %29 %182 %104 0
+; CHECK-NEXT:    %317 = OpVectorShuffle %29 %316 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %318 = OpVectorShuffle %24 %317 %317 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %319 = OpVectorShuffle %24 %318 %315 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %320 = OpCompositeInsert %29 %190 %104 0
+; CHECK-NEXT:    %321 = OpVectorShuffle %29 %320 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %322 = OpVectorShuffle %24 %321 %321 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %323 = OpVectorShuffle %24 %322 %319 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %324 = OpCompositeInsert %29 %198 %104 0
+; CHECK-NEXT:    %325 = OpVectorShuffle %29 %324 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %326 = OpVectorShuffle %24 %325 %325 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %327 = OpVectorShuffle %24 %326 %323 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %328 = OpCompositeInsert %29 %206 %104 0
+; CHECK-NEXT:    %329 = OpVectorShuffle %29 %328 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %330 = OpVectorShuffle %24 %329 %329 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %331 = OpVectorShuffle %24 %330 %327 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %332 = OpCompositeInsert %29 %214 %104 0
+; CHECK-NEXT:    %333 = OpVectorShuffle %29 %332 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %334 = OpVectorShuffle %24 %333 %333 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %335 = OpVectorShuffle %24 %334 %331 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %336 = OpCompositeInsert %29 %222 %104 0
+; CHECK-NEXT:    %337 = OpVectorShuffle %29 %336 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %338 = OpVectorShuffle %24 %337 %337 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %339 = OpVectorShuffle %24 %338 %335 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %340 = OpCompositeInsert %29 %167 %104 0
+; CHECK-NEXT:    %341 = OpVectorShuffle %29 %340 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %342 = OpVectorShuffle %24 %341 %341 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %343 = OpVectorShuffle %24 %342 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %344 = OpCompositeInsert %29 %175 %104 0
+; CHECK-NEXT:    %345 = OpVectorShuffle %29 %344 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %346 = OpVectorShuffle %24 %345 %345 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %347 = OpVectorShuffle %24 %346 %343 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %348 = OpCompositeInsert %29 %183 %104 0
+; CHECK-NEXT:    %349 = OpVectorShuffle %29 %348 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %350 = OpVectorShuffle %24 %349 %349 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %351 = OpVectorShuffle %24 %350 %347 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %352 = OpCompositeInsert %29 %191 %104 0
+; CHECK-NEXT:    %353 = OpVectorShuffle %29 %352 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %354 = OpVectorShuffle %24 %353 %353 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %355 = OpVectorShuffle %24 %354 %351 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %356 = OpCompositeInsert %29 %199 %104 0
+; CHECK-NEXT:    %357 = OpVectorShuffle %29 %356 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %358 = OpVectorShuffle %24 %357 %357 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %359 = OpVectorShuffle %24 %358 %355 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %360 = OpCompositeInsert %29 %207 %104 0
+; CHECK-NEXT:    %361 = OpVectorShuffle %29 %360 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %362 = OpVectorShuffle %24 %361 %361 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %363 = OpVectorShuffle %24 %362 %359 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %364 = OpCompositeInsert %29 %215 %104 0
+; CHECK-NEXT:    %365 = OpVectorShuffle %29 %364 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %366 = OpVectorShuffle %24 %365 %365 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %367 = OpVectorShuffle %24 %366 %363 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %368 = OpCompositeInsert %29 %223 %104 0
+; CHECK-NEXT:    %369 = OpVectorShuffle %29 %368 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %370 = OpVectorShuffle %24 %369 %369 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %371 = OpVectorShuffle %24 %370 %367 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %372 = OpCompositeInsert %29 %168 %104 0
+; CHECK-NEXT:    %373 = OpVectorShuffle %29 %372 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %374 = OpVectorShuffle %24 %373 %373 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %375 = OpVectorShuffle %24 %374 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %376 = OpCompositeInsert %29 %176 %104 0
+; CHECK-NEXT:    %377 = OpVectorShuffle %29 %376 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %378 = OpVectorShuffle %24 %377 %377 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %379 = OpVectorShuffle %24 %378 %375 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %380 = OpCompositeInsert %29 %184 %104 0
+; CHECK-NEXT:    %381 = OpVectorShuffle %29 %380 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %382 = OpVectorShuffle %24 %381 %381 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %383 = OpVectorShuffle %24 %382 %379 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %384 = OpCompositeInsert %29 %192 %104 0
+; CHECK-NEXT:    %385 = OpVectorShuffle %29 %384 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %386 = OpVectorShuffle %24 %385 %385 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %387 = OpVectorShuffle %24 %386 %383 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %388 = OpCompositeInsert %29 %200 %104 0
+; CHECK-NEXT:    %389 = OpVectorShuffle %29 %388 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %390 = OpVectorShuffle %24 %389 %389 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %391 = OpVectorShuffle %24 %390 %387 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %392 = OpCompositeInsert %29 %208 %104 0
+; CHECK-NEXT:    %393 = OpVectorShuffle %29 %392 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %394 = OpVectorShuffle %24 %393 %393 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %395 = OpVectorShuffle %24 %394 %391 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %396 = OpCompositeInsert %29 %216 %104 0
+; CHECK-NEXT:    %397 = OpVectorShuffle %29 %396 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %398 = OpVectorShuffle %24 %397 %397 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %399 = OpVectorShuffle %24 %398 %395 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %400 = OpCompositeInsert %29 %224 %104 0
+; CHECK-NEXT:    %401 = OpVectorShuffle %29 %400 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %402 = OpVectorShuffle %24 %401 %401 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %403 = OpVectorShuffle %24 %402 %399 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %404 = OpCompositeInsert %29 %169 %104 0
+; CHECK-NEXT:    %405 = OpVectorShuffle %29 %404 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %406 = OpVectorShuffle %24 %405 %405 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %407 = OpVectorShuffle %24 %406 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %408 = OpCompositeInsert %29 %177 %104 0
+; CHECK-NEXT:    %409 = OpVectorShuffle %29 %408 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %410 = OpVectorShuffle %24 %409 %409 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %411 = OpVectorShuffle %24 %410 %407 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %412 = OpCompositeInsert %29 %185 %104 0
+; CHECK-NEXT:    %413 = OpVectorShuffle %29 %412 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %414 = OpVectorShuffle %24 %413 %413 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %415 = OpVectorShuffle %24 %414 %411 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %416 = OpCompositeInsert %29 %193 %104 0
+; CHECK-NEXT:    %417 = OpVectorShuffle %29 %416 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %418 = OpVectorShuffle %24 %417 %417 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %419 = OpVectorShuffle %24 %418 %415 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %420 = OpCompositeInsert %29 %201 %104 0
+; CHECK-NEXT:    %421 = OpVectorShuffle %29 %420 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %422 = OpVectorShuffle %24 %421 %421 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %423 = OpVectorShuffle %24 %422 %419 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %424 = OpCompositeInsert %29 %209 %104 0
+; CHECK-NEXT:    %425 = OpVectorShuffle %29 %424 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %426 = OpVectorShuffle %24 %425 %425 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %427 = OpVectorShuffle %24 %426 %423 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %428 = OpCompositeInsert %29 %217 %104 0
+; CHECK-NEXT:    %429 = OpVectorShuffle %29 %428 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %430 = OpVectorShuffle %24 %429 %429 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %431 = OpVectorShuffle %24 %430 %427 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %432 = OpCompositeInsert %29 %225 %104 0
+; CHECK-NEXT:    %433 = OpVectorShuffle %29 %432 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %434 = OpVectorShuffle %24 %433 %433 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %435 = OpVectorShuffle %24 %434 %431 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %436 = OpCompositeInsert %29 %170 %104 0
+; CHECK-NEXT:    %437 = OpVectorShuffle %29 %436 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %438 = OpVectorShuffle %24 %437 %437 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %439 = OpVectorShuffle %24 %438 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %440 = OpCompositeInsert %29 %178 %104 0
+; CHECK-NEXT:    %441 = OpVectorShuffle %29 %440 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %442 = OpVectorShuffle %24 %441 %441 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %443 = OpVectorShuffle %24 %442 %439 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %444 = OpCompositeInsert %29 %186 %104 0
+; CHECK-NEXT:    %445 = OpVectorShuffle %29 %444 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %446 = OpVectorShuffle %24 %445 %445 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %447 = OpVectorShuffle %24 %446 %443 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %448 = OpCompositeInsert %29 %194 %104 0
+; CHECK-NEXT:    %449 = OpVectorShuffle %29 %448 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %450 = OpVectorShuffle %24 %449 %449 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %451 = OpVectorShuffle %24 %450 %447 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %452 = OpCompositeInsert %29 %202 %104 0
+; CHECK-NEXT:    %453 = OpVectorShuffle %29 %452 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %454 = OpVectorShuffle %24 %453 %453 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %455 = OpVectorShuffle %24 %454 %451 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %456 = OpCompositeInsert %29 %210 %104 0
+; CHECK-NEXT:    %457 = OpVectorShuffle %29 %456 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %458 = OpVectorShuffle %24 %457 %457 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %459 = OpVectorShuffle %24 %458 %455 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %460 = OpCompositeInsert %29 %218 %104 0
+; CHECK-NEXT:    %461 = OpVectorShuffle %29 %460 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %462 = OpVectorShuffle %24 %461 %461 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %463 = OpVectorShuffle %24 %462 %459 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %464 = OpCompositeInsert %29 %226 %104 0
+; CHECK-NEXT:    %465 = OpVectorShuffle %29 %464 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %466 = OpVectorShuffle %24 %465 %465 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %467 = OpVectorShuffle %24 %466 %463 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %468 = OpCompositeInsert %29 %171 %104 0
+; CHECK-NEXT:    %469 = OpVectorShuffle %29 %468 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %470 = OpVectorShuffle %24 %469 %469 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %471 = OpVectorShuffle %24 %470 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %472 = OpCompositeInsert %29 %179 %104 0
+; CHECK-NEXT:    %473 = OpVectorShuffle %29 %472 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %474 = OpVectorShuffle %24 %473 %473 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %475 = OpVectorShuffle %24 %474 %471 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %476 = OpCompositeInsert %29 %187 %104 0
+; CHECK-NEXT:    %477 = OpVectorShuffle %29 %476 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %478 = OpVectorShuffle %24 %477 %477 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %479 = OpVectorShuffle %24 %478 %475 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %480 = OpCompositeInsert %29 %195 %104 0
+; CHECK-NEXT:    %481 = OpVectorShuffle %29 %480 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %482 = OpVectorShuffle %24 %481 %481 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %483 = OpVectorShuffle %24 %482 %479 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %484 = OpCompositeInsert %29 %203 %104 0
+; CHECK-NEXT:    %485 = OpVectorShuffle %29 %484 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %486 = OpVectorShuffle %24 %485 %485 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %487 = OpVectorShuffle %24 %486 %483 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %488 = OpCompositeInsert %29 %211 %104 0
+; CHECK-NEXT:    %489 = OpVectorShuffle %29 %488 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %490 = OpVectorShuffle %24 %489 %489 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %491 = OpVectorShuffle %24 %490 %487 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %492 = OpCompositeInsert %29 %219 %104 0
+; CHECK-NEXT:    %493 = OpVectorShuffle %29 %492 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %494 = OpVectorShuffle %24 %493 %493 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %495 = OpVectorShuffle %24 %494 %491 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %496 = OpCompositeInsert %29 %227 %104 0
+; CHECK-NEXT:    %497 = OpVectorShuffle %29 %496 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %498 = OpVectorShuffle %24 %497 %497 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %499 = OpVectorShuffle %24 %498 %495 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %500 = OpVectorShuffle %24 %229 %229 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %501 = OpVectorShuffle %24 %500 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %502 = OpVectorShuffle %24 %229 %229 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %503 = OpVectorShuffle %24 %502 %501 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %504 = OpVectorShuffle %24 %229 %229 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %505 = OpVectorShuffle %24 %504 %503 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %506 = OpVectorShuffle %24 %229 %229 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %507 = OpVectorShuffle %24 %506 %505 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %508 = OpVectorShuffle %24 %229 %229 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %509 = OpVectorShuffle %24 %508 %507 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %510 = OpVectorShuffle %24 %229 %229 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %511 = OpVectorShuffle %24 %510 %509 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %512 = OpVectorShuffle %24 %229 %229 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %513 = OpVectorShuffle %24 %512 %511 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %514 = OpVectorShuffle %24 %229 %229 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %515 = OpVectorShuffle %24 %514 %513 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %516 = OpVectorShuffle %24 %231 %231 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %517 = OpVectorShuffle %24 %516 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %518 = OpVectorShuffle %24 %231 %231 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %519 = OpVectorShuffle %24 %518 %517 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %520 = OpVectorShuffle %24 %231 %231 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %521 = OpVectorShuffle %24 %520 %519 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %522 = OpVectorShuffle %24 %231 %231 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %523 = OpVectorShuffle %24 %522 %521 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %524 = OpVectorShuffle %24 %231 %231 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %525 = OpVectorShuffle %24 %524 %523 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %526 = OpVectorShuffle %24 %231 %231 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %527 = OpVectorShuffle %24 %526 %525 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %528 = OpVectorShuffle %24 %231 %231 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %529 = OpVectorShuffle %24 %528 %527 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %530 = OpVectorShuffle %24 %231 %231 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %531 = OpVectorShuffle %24 %530 %529 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %532 = OpVectorShuffle %24 %233 %233 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %533 = OpVectorShuffle %24 %532 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %534 = OpVectorShuffle %24 %233 %233 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %535 = OpVectorShuffle %24 %534 %533 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %536 = OpVectorShuffle %24 %233 %233 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %537 = OpVectorShuffle %24 %536 %535 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %538 = OpVectorShuffle %24 %233 %233 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %539 = OpVectorShuffle %24 %538 %537 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %540 = OpVectorShuffle %24 %233 %233 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %541 = OpVectorShuffle %24 %540 %539 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %542 = OpVectorShuffle %24 %233 %233 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %543 = OpVectorShuffle %24 %542 %541 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %544 = OpVectorShuffle %24 %233 %233 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %545 = OpVectorShuffle %24 %544 %543 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %546 = OpVectorShuffle %24 %233 %233 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %547 = OpVectorShuffle %24 %546 %545 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %548 = OpVectorShuffle %24 %235 %235 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %549 = OpVectorShuffle %24 %548 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %550 = OpVectorShuffle %24 %235 %235 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %551 = OpVectorShuffle %24 %550 %549 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %552 = OpVectorShuffle %24 %235 %235 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %553 = OpVectorShuffle %24 %552 %551 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %554 = OpVectorShuffle %24 %235 %235 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %555 = OpVectorShuffle %24 %554 %553 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %556 = OpVectorShuffle %24 %235 %235 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %557 = OpVectorShuffle %24 %556 %555 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %558 = OpVectorShuffle %24 %235 %235 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %559 = OpVectorShuffle %24 %558 %557 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %560 = OpVectorShuffle %24 %235 %235 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %561 = OpVectorShuffle %24 %560 %559 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %562 = OpVectorShuffle %24 %235 %235 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %563 = OpVectorShuffle %24 %562 %561 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %564 = OpVectorShuffle %24 %237 %237 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %565 = OpVectorShuffle %24 %564 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %566 = OpVectorShuffle %24 %237 %237 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %567 = OpVectorShuffle %24 %566 %565 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %568 = OpVectorShuffle %24 %237 %237 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %569 = OpVectorShuffle %24 %568 %567 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %570 = OpVectorShuffle %24 %237 %237 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %571 = OpVectorShuffle %24 %570 %569 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %572 = OpVectorShuffle %24 %237 %237 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %573 = OpVectorShuffle %24 %572 %571 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %574 = OpVectorShuffle %24 %237 %237 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %575 = OpVectorShuffle %24 %574 %573 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %576 = OpVectorShuffle %24 %237 %237 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %577 = OpVectorShuffle %24 %576 %575 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %578 = OpVectorShuffle %24 %237 %237 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %579 = OpVectorShuffle %24 %578 %577 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %580 = OpVectorShuffle %24 %239 %239 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %581 = OpVectorShuffle %24 %580 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %582 = OpVectorShuffle %24 %239 %239 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %583 = OpVectorShuffle %24 %582 %581 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %584 = OpVectorShuffle %24 %239 %239 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %585 = OpVectorShuffle %24 %584 %583 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %586 = OpVectorShuffle %24 %239 %239 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %587 = OpVectorShuffle %24 %586 %585 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %588 = OpVectorShuffle %24 %239 %239 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %589 = OpVectorShuffle %24 %588 %587 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %590 = OpVectorShuffle %24 %239 %239 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %591 = OpVectorShuffle %24 %590 %589 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %592 = OpVectorShuffle %24 %239 %239 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %593 = OpVectorShuffle %24 %592 %591 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %594 = OpVectorShuffle %24 %239 %239 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %595 = OpVectorShuffle %24 %594 %593 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %596 = OpVectorShuffle %24 %241 %241 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %597 = OpVectorShuffle %24 %596 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %598 = OpVectorShuffle %24 %241 %241 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %599 = OpVectorShuffle %24 %598 %597 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %600 = OpVectorShuffle %24 %241 %241 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %601 = OpVectorShuffle %24 %600 %599 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %602 = OpVectorShuffle %24 %241 %241 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %603 = OpVectorShuffle %24 %602 %601 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %604 = OpVectorShuffle %24 %241 %241 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %605 = OpVectorShuffle %24 %604 %603 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %606 = OpVectorShuffle %24 %241 %241 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %607 = OpVectorShuffle %24 %606 %605 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %608 = OpVectorShuffle %24 %241 %241 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %609 = OpVectorShuffle %24 %608 %607 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %610 = OpVectorShuffle %24 %241 %241 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %611 = OpVectorShuffle %24 %610 %609 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %612 = OpVectorShuffle %24 %243 %243 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %613 = OpVectorShuffle %24 %612 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %614 = OpVectorShuffle %24 %243 %243 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %615 = OpVectorShuffle %24 %614 %613 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %616 = OpVectorShuffle %24 %243 %243 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %617 = OpVectorShuffle %24 %616 %615 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %618 = OpVectorShuffle %24 %243 %243 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %619 = OpVectorShuffle %24 %618 %617 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %620 = OpVectorShuffle %24 %243 %243 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %621 = OpVectorShuffle %24 %620 %619 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %622 = OpVectorShuffle %24 %243 %243 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %623 = OpVectorShuffle %24 %622 %621 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %624 = OpVectorShuffle %24 %243 %243 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %625 = OpVectorShuffle %24 %624 %623 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %626 = OpVectorShuffle %24 %243 %243 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %627 = OpVectorShuffle %24 %626 %625 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %628 = OpFunctionCall %24 %107 %499 %627 %106
+; CHECK-NEXT:    %629 = OpFunctionCall %24 %107 %467 %611 %628
+; CHECK-NEXT:    %630 = OpFunctionCall %24 %107 %435 %595 %629
+; CHECK-NEXT:    %631 = OpFunctionCall %24 %107 %403 %579 %630
+; CHECK-NEXT:    %632 = OpFunctionCall %24 %107 %371 %563 %631
+; CHECK-NEXT:    %633 = OpFunctionCall %24 %107 %339 %547 %632
+; CHECK-NEXT:    %634 = OpFunctionCall %24 %107 %307 %531 %633
+; CHECK-NEXT:    %635 = OpFunctionCall %24 %107 %275 %515 %634
+; CHECK-NEXT:    %636 = OpVectorShuffle %29 %635 %635 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %637 = OpVectorShuffle %29 %635 %635 8 9 10 11 12 13 14 15
+; CHECK-NEXT:    %638 = OpVectorShuffle %29 %635 %635 16 17 18 19 20 21 22 23
+; CHECK-NEXT:    %639 = OpVectorShuffle %29 %635 %635 24 25 26 27 28 29 30 31
+; CHECK-NEXT:    %640 = OpVectorShuffle %29 %635 %635 32 33 34 35 36 37 38 39
+; CHECK-NEXT:    %641 = OpVectorShuffle %29 %635 %635 40 41 42 43 44 45 46 47
+; CHECK-NEXT:    %642 = OpVectorShuffle %29 %635 %635 48 49 50 51 52 53 54 55
+; CHECK-NEXT:    %643 = OpVectorShuffle %29 %635 %635 56 57 58 59 60 61 62 63
+; CHECK-NEXT:    %644 = OpBitcast %31 %98
+; CHECK-NEXT:    %645 = OpLoad %29 %644 Aligned 4
+; CHECK-NEXT:    %646 = OpBitcast %31 %131
+; CHECK-NEXT:    %647 = OpLoad %29 %646 Aligned 4
+; CHECK-NEXT:    %648 = OpBitcast %31 %132
+; CHECK-NEXT:    %649 = OpLoad %29 %648 Aligned 4
+; CHECK-NEXT:    %650 = OpBitcast %31 %133
+; CHECK-NEXT:    %651 = OpLoad %29 %650 Aligned 4
+; CHECK-NEXT:    %652 = OpBitcast %31 %134
+; CHECK-NEXT:    %653 = OpLoad %29 %652 Aligned 4
+; CHECK-NEXT:    %654 = OpBitcast %31 %135
+; CHECK-NEXT:    %655 = OpLoad %29 %654 Aligned 4
+; CHECK-NEXT:    %656 = OpBitcast %31 %136
+; CHECK-NEXT:    %657 = OpLoad %29 %656 Aligned 4
+; CHECK-NEXT:    %658 = OpBitcast %31 %137
+; CHECK-NEXT:    %659 = OpLoad %29 %658 Aligned 4
+; CHECK-NEXT:    %660 = OpCompositeExtract %16 %645 0
+; CHECK-NEXT:    %661 = OpCompositeExtract %16 %645 1
+; CHECK-NEXT:    %662 = OpCompositeExtract %16 %645 2
+; CHECK-NEXT:    %663 = OpCompositeExtract %16 %645 3
+; CHECK-NEXT:    %664 = OpCompositeExtract %16 %645 4
+; CHECK-NEXT:    %665 = OpCompositeExtract %16 %645 5
+; CHECK-NEXT:    %666 = OpCompositeExtract %16 %645 6
+; CHECK-NEXT:    %667 = OpCompositeExtract %16 %645 7
+; CHECK-NEXT:    %668 = OpCompositeExtract %16 %647 0
+; CHECK-NEXT:    %669 = OpCompositeExtract %16 %647 1
+; CHECK-NEXT:    %670 = OpCompositeExtract %16 %647 2
+; CHECK-NEXT:    %671 = OpCompositeExtract %16 %647 3
+; CHECK-NEXT:    %672 = OpCompositeExtract %16 %647 4
+; CHECK-NEXT:    %673 = OpCompositeExtract %16 %647 5
+; CHECK-NEXT:    %674 = OpCompositeExtract %16 %647 6
+; CHECK-NEXT:    %675 = OpCompositeExtract %16 %647 7
+; CHECK-NEXT:    %676 = OpCompositeExtract %16 %649 0
+; CHECK-NEXT:    %677 = OpCompositeExtract %16 %649 1
+; CHECK-NEXT:    %678 = OpCompositeExtract %16 %649 2
+; CHECK-NEXT:    %679 = OpCompositeExtract %16 %649 3
+; CHECK-NEXT:    %680 = OpCompositeExtract %16 %649 4
+; CHECK-NEXT:    %681 = OpCompositeExtract %16 %649 5
+; CHECK-NEXT:    %682 = OpCompositeExtract %16 %649 6
+; CHECK-NEXT:    %683 = OpCompositeExtract %16 %649 7
+; CHECK-NEXT:    %684 = OpCompositeExtract %16 %651 0
+; CHECK-NEXT:    %685 = OpCompositeExtract %16 %651 1
+; CHECK-NEXT:    %686 = OpCompositeExtract %16 %651 2
+; CHECK-NEXT:    %687 = OpCompositeExtract %16 %651 3
+; CHECK-NEXT:    %688 = OpCompositeExtract %16 %651 4
+; CHECK-NEXT:    %689 = OpCompositeExtract %16 %651 5
+; CHECK-NEXT:    %690 = OpCompositeExtract %16 %651 6
+; CHECK-NEXT:    %691 = OpCompositeExtract %16 %651 7
+; CHECK-NEXT:    %692 = OpCompositeExtract %16 %653 0
+; CHECK-NEXT:    %693 = OpCompositeExtract %16 %653 1
+; CHECK-NEXT:    %694 = OpCompositeExtract %16 %653 2
+; CHECK-NEXT:    %695 = OpCompositeExtract %16 %653 3
+; CHECK-NEXT:    %696 = OpCompositeExtract %16 %653 4
+; CHECK-NEXT:    %697 = OpCompositeExtract %16 %653 5
+; CHECK-NEXT:    %698 = OpCompositeExtract %16 %653 6
+; CHECK-NEXT:    %699 = OpCompositeExtract %16 %653 7
+; CHECK-NEXT:    %700 = OpCompositeExtract %16 %655 0
+; CHECK-NEXT:    %701 = OpCompositeExtract %16 %655 1
+; CHECK-NEXT:    %702 = OpCompositeExtract %16 %655 2
+; CHECK-NEXT:    %703 = OpCompositeExtract %16 %655 3
+; CHECK-NEXT:    %704 = OpCompositeExtract %16 %655 4
+; CHECK-NEXT:    %705 = OpCompositeExtract %16 %655 5
+; CHECK-NEXT:    %706 = OpCompositeExtract %16 %655 6
+; CHECK-NEXT:    %707 = OpCompositeExtract %16 %655 7
+; CHECK-NEXT:    %708 = OpCompositeExtract %16 %657 0
+; CHECK-NEXT:    %709 = OpCompositeExtract %16 %657 1
+; CHECK-NEXT:    %710 = OpCompositeExtract %16 %657 2
+; CHECK-NEXT:    %711 = OpCompositeExtract %16 %657 3
+; CHECK-NEXT:    %712 = OpCompositeExtract %16 %657 4
+; CHECK-NEXT:    %713 = OpCompositeExtract %16 %657 5
+; CHECK-NEXT:    %714 = OpCompositeExtract %16 %657 6
+; CHECK-NEXT:    %715 = OpCompositeExtract %16 %657 7
+; CHECK-NEXT:    %716 = OpCompositeExtract %16 %659 0
+; CHECK-NEXT:    %717 = OpCompositeExtract %16 %659 1
+; CHECK-NEXT:    %718 = OpCompositeExtract %16 %659 2
+; CHECK-NEXT:    %719 = OpCompositeExtract %16 %659 3
+; CHECK-NEXT:    %720 = OpCompositeExtract %16 %659 4
+; CHECK-NEXT:    %721 = OpCompositeExtract %16 %659 5
+; CHECK-NEXT:    %722 = OpCompositeExtract %16 %659 6
+; CHECK-NEXT:    %723 = OpCompositeExtract %16 %659 7
+; CHECK-NEXT:    %724 = OpCompositeInsert %29 %660 %104 0
+; CHECK-NEXT:    %725 = OpVectorShuffle %29 %724 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %726 = OpVectorShuffle %24 %725 %725 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %727 = OpVectorShuffle %24 %726 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %728 = OpCompositeInsert %29 %668 %104 0
+; CHECK-NEXT:    %729 = OpVectorShuffle %29 %728 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %730 = OpVectorShuffle %24 %729 %729 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %731 = OpVectorShuffle %24 %730 %727 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %732 = OpCompositeInsert %29 %676 %104 0
+; CHECK-NEXT:    %733 = OpVectorShuffle %29 %732 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %734 = OpVectorShuffle %24 %733 %733 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %735 = OpVectorShuffle %24 %734 %731 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %736 = OpCompositeInsert %29 %684 %104 0
+; CHECK-NEXT:    %737 = OpVectorShuffle %29 %736 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %738 = OpVectorShuffle %24 %737 %737 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %739 = OpVectorShuffle %24 %738 %735 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %740 = OpCompositeInsert %29 %692 %104 0
+; CHECK-NEXT:    %741 = OpVectorShuffle %29 %740 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %742 = OpVectorShuffle %24 %741 %741 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %743 = OpVectorShuffle %24 %742 %739 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %744 = OpCompositeInsert %29 %700 %104 0
+; CHECK-NEXT:    %745 = OpVectorShuffle %29 %744 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %746 = OpVectorShuffle %24 %745 %745 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %747 = OpVectorShuffle %24 %746 %743 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %748 = OpCompositeInsert %29 %708 %104 0
+; CHECK-NEXT:    %749 = OpVectorShuffle %29 %748 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %750 = OpVectorShuffle %24 %749 %749 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %751 = OpVectorShuffle %24 %750 %747 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %752 = OpCompositeInsert %29 %716 %104 0
+; CHECK-NEXT:    %753 = OpVectorShuffle %29 %752 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %754 = OpVectorShuffle %24 %753 %753 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %755 = OpVectorShuffle %24 %754 %751 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %756 = OpCompositeInsert %29 %661 %104 0
+; CHECK-NEXT:    %757 = OpVectorShuffle %29 %756 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %758 = OpVectorShuffle %24 %757 %757 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %759 = OpVectorShuffle %24 %758 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %760 = OpCompositeInsert %29 %669 %104 0
+; CHECK-NEXT:    %761 = OpVectorShuffle %29 %760 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %762 = OpVectorShuffle %24 %761 %761 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %763 = OpVectorShuffle %24 %762 %759 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %764 = OpCompositeInsert %29 %677 %104 0
+; CHECK-NEXT:    %765 = OpVectorShuffle %29 %764 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %766 = OpVectorShuffle %24 %765 %765 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %767 = OpVectorShuffle %24 %766 %763 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %768 = OpCompositeInsert %29 %685 %104 0
+; CHECK-NEXT:    %769 = OpVectorShuffle %29 %768 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %770 = OpVectorShuffle %24 %769 %769 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %771 = OpVectorShuffle %24 %770 %767 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %772 = OpCompositeInsert %29 %693 %104 0
+; CHECK-NEXT:    %773 = OpVectorShuffle %29 %772 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %774 = OpVectorShuffle %24 %773 %773 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %775 = OpVectorShuffle %24 %774 %771 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %776 = OpCompositeInsert %29 %701 %104 0
+; CHECK-NEXT:    %777 = OpVectorShuffle %29 %776 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %778 = OpVectorShuffle %24 %777 %777 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %779 = OpVectorShuffle %24 %778 %775 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %780 = OpCompositeInsert %29 %709 %104 0
+; CHECK-NEXT:    %781 = OpVectorShuffle %29 %780 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %782 = OpVectorShuffle %24 %781 %781 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %783 = OpVectorShuffle %24 %782 %779 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %784 = OpCompositeInsert %29 %717 %104 0
+; CHECK-NEXT:    %785 = OpVectorShuffle %29 %784 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %786 = OpVectorShuffle %24 %785 %785 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %787 = OpVectorShuffle %24 %786 %783 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %788 = OpCompositeInsert %29 %662 %104 0
+; CHECK-NEXT:    %789 = OpVectorShuffle %29 %788 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %790 = OpVectorShuffle %24 %789 %789 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %791 = OpVectorShuffle %24 %790 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %792 = OpCompositeInsert %29 %670 %104 0
+; CHECK-NEXT:    %793 = OpVectorShuffle %29 %792 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %794 = OpVectorShuffle %24 %793 %793 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %795 = OpVectorShuffle %24 %794 %791 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %796 = OpCompositeInsert %29 %678 %104 0
+; CHECK-NEXT:    %797 = OpVectorShuffle %29 %796 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %798 = OpVectorShuffle %24 %797 %797 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %799 = OpVectorShuffle %24 %798 %795 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %800 = OpCompositeInsert %29 %686 %104 0
+; CHECK-NEXT:    %801 = OpVectorShuffle %29 %800 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %802 = OpVectorShuffle %24 %801 %801 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %803 = OpVectorShuffle %24 %802 %799 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %804 = OpCompositeInsert %29 %694 %104 0
+; CHECK-NEXT:    %805 = OpVectorShuffle %29 %804 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %806 = OpVectorShuffle %24 %805 %805 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %807 = OpVectorShuffle %24 %806 %803 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %808 = OpCompositeInsert %29 %702 %104 0
+; CHECK-NEXT:    %809 = OpVectorShuffle %29 %808 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %810 = OpVectorShuffle %24 %809 %809 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %811 = OpVectorShuffle %24 %810 %807 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %812 = OpCompositeInsert %29 %710 %104 0
+; CHECK-NEXT:    %813 = OpVectorShuffle %29 %812 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %814 = OpVectorShuffle %24 %813 %813 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %815 = OpVectorShuffle %24 %814 %811 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %816 = OpCompositeInsert %29 %718 %104 0
+; CHECK-NEXT:    %817 = OpVectorShuffle %29 %816 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %818 = OpVectorShuffle %24 %817 %817 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %819 = OpVectorShuffle %24 %818 %815 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %820 = OpCompositeInsert %29 %663 %104 0
+; CHECK-NEXT:    %821 = OpVectorShuffle %29 %820 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %822 = OpVectorShuffle %24 %821 %821 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %823 = OpVectorShuffle %24 %822 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %824 = OpCompositeInsert %29 %671 %104 0
+; CHECK-NEXT:    %825 = OpVectorShuffle %29 %824 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %826 = OpVectorShuffle %24 %825 %825 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %827 = OpVectorShuffle %24 %826 %823 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %828 = OpCompositeInsert %29 %679 %104 0
+; CHECK-NEXT:    %829 = OpVectorShuffle %29 %828 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %830 = OpVectorShuffle %24 %829 %829 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %831 = OpVectorShuffle %24 %830 %827 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %832 = OpCompositeInsert %29 %687 %104 0
+; CHECK-NEXT:    %833 = OpVectorShuffle %29 %832 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %834 = OpVectorShuffle %24 %833 %833 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %835 = OpVectorShuffle %24 %834 %831 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %836 = OpCompositeInsert %29 %695 %104 0
+; CHECK-NEXT:    %837 = OpVectorShuffle %29 %836 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %838 = OpVectorShuffle %24 %837 %837 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %839 = OpVectorShuffle %24 %838 %835 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %840 = OpCompositeInsert %29 %703 %104 0
+; CHECK-NEXT:    %841 = OpVectorShuffle %29 %840 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %842 = OpVectorShuffle %24 %841 %841 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %843 = OpVectorShuffle %24 %842 %839 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %844 = OpCompositeInsert %29 %711 %104 0
+; CHECK-NEXT:    %845 = OpVectorShuffle %29 %844 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %846 = OpVectorShuffle %24 %845 %845 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %847 = OpVectorShuffle %24 %846 %843 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %848 = OpCompositeInsert %29 %719 %104 0
+; CHECK-NEXT:    %849 = OpVectorShuffle %29 %848 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %850 = OpVectorShuffle %24 %849 %849 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %851 = OpVectorShuffle %24 %850 %847 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %852 = OpCompositeInsert %29 %664 %104 0
+; CHECK-NEXT:    %853 = OpVectorShuffle %29 %852 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %854 = OpVectorShuffle %24 %853 %853 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %855 = OpVectorShuffle %24 %854 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %856 = OpCompositeInsert %29 %672 %104 0
+; CHECK-NEXT:    %857 = OpVectorShuffle %29 %856 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %858 = OpVectorShuffle %24 %857 %857 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %859 = OpVectorShuffle %24 %858 %855 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %860 = OpCompositeInsert %29 %680 %104 0
+; CHECK-NEXT:    %861 = OpVectorShuffle %29 %860 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %862 = OpVectorShuffle %24 %861 %861 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %863 = OpVectorShuffle %24 %862 %859 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %864 = OpCompositeInsert %29 %688 %104 0
+; CHECK-NEXT:    %865 = OpVectorShuffle %29 %864 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %866 = OpVectorShuffle %24 %865 %865 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %867 = OpVectorShuffle %24 %866 %863 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %868 = OpCompositeInsert %29 %696 %104 0
+; CHECK-NEXT:    %869 = OpVectorShuffle %29 %868 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %870 = OpVectorShuffle %24 %869 %869 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %871 = OpVectorShuffle %24 %870 %867 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %872 = OpCompositeInsert %29 %704 %104 0
+; CHECK-NEXT:    %873 = OpVectorShuffle %29 %872 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %874 = OpVectorShuffle %24 %873 %873 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %875 = OpVectorShuffle %24 %874 %871 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %876 = OpCompositeInsert %29 %712 %104 0
+; CHECK-NEXT:    %877 = OpVectorShuffle %29 %876 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %878 = OpVectorShuffle %24 %877 %877 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %879 = OpVectorShuffle %24 %878 %875 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %880 = OpCompositeInsert %29 %720 %104 0
+; CHECK-NEXT:    %881 = OpVectorShuffle %29 %880 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %882 = OpVectorShuffle %24 %881 %881 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %883 = OpVectorShuffle %24 %882 %879 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %884 = OpCompositeInsert %29 %665 %104 0
+; CHECK-NEXT:    %885 = OpVectorShuffle %29 %884 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %886 = OpVectorShuffle %24 %885 %885 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %887 = OpVectorShuffle %24 %886 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %888 = OpCompositeInsert %29 %673 %104 0
+; CHECK-NEXT:    %889 = OpVectorShuffle %29 %888 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %890 = OpVectorShuffle %24 %889 %889 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %891 = OpVectorShuffle %24 %890 %887 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %892 = OpCompositeInsert %29 %681 %104 0
+; CHECK-NEXT:    %893 = OpVectorShuffle %29 %892 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %894 = OpVectorShuffle %24 %893 %893 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %895 = OpVectorShuffle %24 %894 %891 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %896 = OpCompositeInsert %29 %689 %104 0
+; CHECK-NEXT:    %897 = OpVectorShuffle %29 %896 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %898 = OpVectorShuffle %24 %897 %897 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %899 = OpVectorShuffle %24 %898 %895 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %900 = OpCompositeInsert %29 %697 %104 0
+; CHECK-NEXT:    %901 = OpVectorShuffle %29 %900 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %902 = OpVectorShuffle %24 %901 %901 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %903 = OpVectorShuffle %24 %902 %899 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %904 = OpCompositeInsert %29 %705 %104 0
+; CHECK-NEXT:    %905 = OpVectorShuffle %29 %904 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %906 = OpVectorShuffle %24 %905 %905 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %907 = OpVectorShuffle %24 %906 %903 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %908 = OpCompositeInsert %29 %713 %104 0
+; CHECK-NEXT:    %909 = OpVectorShuffle %29 %908 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %910 = OpVectorShuffle %24 %909 %909 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %911 = OpVectorShuffle %24 %910 %907 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %912 = OpCompositeInsert %29 %721 %104 0
+; CHECK-NEXT:    %913 = OpVectorShuffle %29 %912 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %914 = OpVectorShuffle %24 %913 %913 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %915 = OpVectorShuffle %24 %914 %911 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %916 = OpCompositeInsert %29 %666 %104 0
+; CHECK-NEXT:    %917 = OpVectorShuffle %29 %916 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %918 = OpVectorShuffle %24 %917 %917 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %919 = OpVectorShuffle %24 %918 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %920 = OpCompositeInsert %29 %674 %104 0
+; CHECK-NEXT:    %921 = OpVectorShuffle %29 %920 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %922 = OpVectorShuffle %24 %921 %921 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %923 = OpVectorShuffle %24 %922 %919 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %924 = OpCompositeInsert %29 %682 %104 0
+; CHECK-NEXT:    %925 = OpVectorShuffle %29 %924 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %926 = OpVectorShuffle %24 %925 %925 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %927 = OpVectorShuffle %24 %926 %923 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %928 = OpCompositeInsert %29 %690 %104 0
+; CHECK-NEXT:    %929 = OpVectorShuffle %29 %928 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %930 = OpVectorShuffle %24 %929 %929 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %931 = OpVectorShuffle %24 %930 %927 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %932 = OpCompositeInsert %29 %698 %104 0
+; CHECK-NEXT:    %933 = OpVectorShuffle %29 %932 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %934 = OpVectorShuffle %24 %933 %933 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %935 = OpVectorShuffle %24 %934 %931 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %936 = OpCompositeInsert %29 %706 %104 0
+; CHECK-NEXT:    %937 = OpVectorShuffle %29 %936 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %938 = OpVectorShuffle %24 %937 %937 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %939 = OpVectorShuffle %24 %938 %935 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %940 = OpCompositeInsert %29 %714 %104 0
+; CHECK-NEXT:    %941 = OpVectorShuffle %29 %940 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %942 = OpVectorShuffle %24 %941 %941 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %943 = OpVectorShuffle %24 %942 %939 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %944 = OpCompositeInsert %29 %722 %104 0
+; CHECK-NEXT:    %945 = OpVectorShuffle %29 %944 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %946 = OpVectorShuffle %24 %945 %945 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %947 = OpVectorShuffle %24 %946 %943 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %948 = OpCompositeInsert %29 %667 %104 0
+; CHECK-NEXT:    %949 = OpVectorShuffle %29 %948 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %950 = OpVectorShuffle %24 %949 %949 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %951 = OpVectorShuffle %24 %950 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %952 = OpCompositeInsert %29 %675 %104 0
+; CHECK-NEXT:    %953 = OpVectorShuffle %29 %952 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %954 = OpVectorShuffle %24 %953 %953 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %955 = OpVectorShuffle %24 %954 %951 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %956 = OpCompositeInsert %29 %683 %104 0
+; CHECK-NEXT:    %957 = OpVectorShuffle %29 %956 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %958 = OpVectorShuffle %24 %957 %957 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %959 = OpVectorShuffle %24 %958 %955 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %960 = OpCompositeInsert %29 %691 %104 0
+; CHECK-NEXT:    %961 = OpVectorShuffle %29 %960 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %962 = OpVectorShuffle %24 %961 %961 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %963 = OpVectorShuffle %24 %962 %959 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %964 = OpCompositeInsert %29 %699 %104 0
+; CHECK-NEXT:    %965 = OpVectorShuffle %29 %964 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %966 = OpVectorShuffle %24 %965 %965 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %967 = OpVectorShuffle %24 %966 %963 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %968 = OpCompositeInsert %29 %707 %104 0
+; CHECK-NEXT:    %969 = OpVectorShuffle %29 %968 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %970 = OpVectorShuffle %24 %969 %969 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %971 = OpVectorShuffle %24 %970 %967 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %972 = OpCompositeInsert %29 %715 %104 0
+; CHECK-NEXT:    %973 = OpVectorShuffle %29 %972 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %974 = OpVectorShuffle %24 %973 %973 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %975 = OpVectorShuffle %24 %974 %971 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %976 = OpCompositeInsert %29 %723 %104 0
+; CHECK-NEXT:    %977 = OpVectorShuffle %29 %976 %104 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %978 = OpVectorShuffle %24 %977 %977 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %979 = OpVectorShuffle %24 %978 %975 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %980 = OpVectorShuffle %24 %636 %636 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %981 = OpVectorShuffle %24 %980 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %982 = OpVectorShuffle %24 %636 %636 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %983 = OpVectorShuffle %24 %982 %981 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %984 = OpVectorShuffle %24 %636 %636 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %985 = OpVectorShuffle %24 %984 %983 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %986 = OpVectorShuffle %24 %636 %636 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %987 = OpVectorShuffle %24 %986 %985 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %988 = OpVectorShuffle %24 %636 %636 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %989 = OpVectorShuffle %24 %988 %987 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %990 = OpVectorShuffle %24 %636 %636 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %991 = OpVectorShuffle %24 %990 %989 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %992 = OpVectorShuffle %24 %636 %636 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %993 = OpVectorShuffle %24 %992 %991 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %994 = OpVectorShuffle %24 %636 %636 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %995 = OpVectorShuffle %24 %994 %993 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %996 = OpVectorShuffle %24 %637 %637 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %997 = OpVectorShuffle %24 %996 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %998 = OpVectorShuffle %24 %637 %637 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %999 = OpVectorShuffle %24 %998 %997 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1000 = OpVectorShuffle %24 %637 %637 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1001 = OpVectorShuffle %24 %1000 %999 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1002 = OpVectorShuffle %24 %637 %637 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1003 = OpVectorShuffle %24 %1002 %1001 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1004 = OpVectorShuffle %24 %637 %637 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1005 = OpVectorShuffle %24 %1004 %1003 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1006 = OpVectorShuffle %24 %637 %637 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1007 = OpVectorShuffle %24 %1006 %1005 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1008 = OpVectorShuffle %24 %637 %637 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1009 = OpVectorShuffle %24 %1008 %1007 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1010 = OpVectorShuffle %24 %637 %637 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1011 = OpVectorShuffle %24 %1010 %1009 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %1012 = OpVectorShuffle %24 %638 %638 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1013 = OpVectorShuffle %24 %1012 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1014 = OpVectorShuffle %24 %638 %638 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1015 = OpVectorShuffle %24 %1014 %1013 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1016 = OpVectorShuffle %24 %638 %638 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1017 = OpVectorShuffle %24 %1016 %1015 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1018 = OpVectorShuffle %24 %638 %638 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1019 = OpVectorShuffle %24 %1018 %1017 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1020 = OpVectorShuffle %24 %638 %638 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1021 = OpVectorShuffle %24 %1020 %1019 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1022 = OpVectorShuffle %24 %638 %638 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1023 = OpVectorShuffle %24 %1022 %1021 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1024 = OpVectorShuffle %24 %638 %638 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1025 = OpVectorShuffle %24 %1024 %1023 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1026 = OpVectorShuffle %24 %638 %638 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1027 = OpVectorShuffle %24 %1026 %1025 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %1028 = OpVectorShuffle %24 %639 %639 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1029 = OpVectorShuffle %24 %1028 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1030 = OpVectorShuffle %24 %639 %639 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1031 = OpVectorShuffle %24 %1030 %1029 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1032 = OpVectorShuffle %24 %639 %639 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1033 = OpVectorShuffle %24 %1032 %1031 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1034 = OpVectorShuffle %24 %639 %639 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1035 = OpVectorShuffle %24 %1034 %1033 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1036 = OpVectorShuffle %24 %639 %639 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1037 = OpVectorShuffle %24 %1036 %1035 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1038 = OpVectorShuffle %24 %639 %639 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1039 = OpVectorShuffle %24 %1038 %1037 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1040 = OpVectorShuffle %24 %639 %639 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1041 = OpVectorShuffle %24 %1040 %1039 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1042 = OpVectorShuffle %24 %639 %639 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1043 = OpVectorShuffle %24 %1042 %1041 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %1044 = OpVectorShuffle %24 %640 %640 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1045 = OpVectorShuffle %24 %1044 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1046 = OpVectorShuffle %24 %640 %640 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1047 = OpVectorShuffle %24 %1046 %1045 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1048 = OpVectorShuffle %24 %640 %640 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1049 = OpVectorShuffle %24 %1048 %1047 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1050 = OpVectorShuffle %24 %640 %640 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1051 = OpVectorShuffle %24 %1050 %1049 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1052 = OpVectorShuffle %24 %640 %640 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1053 = OpVectorShuffle %24 %1052 %1051 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1054 = OpVectorShuffle %24 %640 %640 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1055 = OpVectorShuffle %24 %1054 %1053 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1056 = OpVectorShuffle %24 %640 %640 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1057 = OpVectorShuffle %24 %1056 %1055 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1058 = OpVectorShuffle %24 %640 %640 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1059 = OpVectorShuffle %24 %1058 %1057 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %1060 = OpVectorShuffle %24 %641 %641 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1061 = OpVectorShuffle %24 %1060 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1062 = OpVectorShuffle %24 %641 %641 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1063 = OpVectorShuffle %24 %1062 %1061 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1064 = OpVectorShuffle %24 %641 %641 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1065 = OpVectorShuffle %24 %1064 %1063 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1066 = OpVectorShuffle %24 %641 %641 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1067 = OpVectorShuffle %24 %1066 %1065 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1068 = OpVectorShuffle %24 %641 %641 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1069 = OpVectorShuffle %24 %1068 %1067 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1070 = OpVectorShuffle %24 %641 %641 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1071 = OpVectorShuffle %24 %1070 %1069 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1072 = OpVectorShuffle %24 %641 %641 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1073 = OpVectorShuffle %24 %1072 %1071 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1074 = OpVectorShuffle %24 %641 %641 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1075 = OpVectorShuffle %24 %1074 %1073 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %1076 = OpVectorShuffle %24 %642 %642 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1077 = OpVectorShuffle %24 %1076 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1078 = OpVectorShuffle %24 %642 %642 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1079 = OpVectorShuffle %24 %1078 %1077 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1080 = OpVectorShuffle %24 %642 %642 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1081 = OpVectorShuffle %24 %1080 %1079 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1082 = OpVectorShuffle %24 %642 %642 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1083 = OpVectorShuffle %24 %1082 %1081 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1084 = OpVectorShuffle %24 %642 %642 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1085 = OpVectorShuffle %24 %1084 %1083 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1086 = OpVectorShuffle %24 %642 %642 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1087 = OpVectorShuffle %24 %1086 %1085 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1088 = OpVectorShuffle %24 %642 %642 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1089 = OpVectorShuffle %24 %1088 %1087 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1090 = OpVectorShuffle %24 %642 %642 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1091 = OpVectorShuffle %24 %1090 %1089 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %1092 = OpVectorShuffle %24 %643 %643 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1093 = OpVectorShuffle %24 %1092 %105 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1094 = OpVectorShuffle %24 %643 %643 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1095 = OpVectorShuffle %24 %1094 %1093 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1096 = OpVectorShuffle %24 %643 %643 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1097 = OpVectorShuffle %24 %1096 %1095 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1098 = OpVectorShuffle %24 %643 %643 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1099 = OpVectorShuffle %24 %1098 %1097 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1100 = OpVectorShuffle %24 %643 %643 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1101 = OpVectorShuffle %24 %1100 %1099 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1102 = OpVectorShuffle %24 %643 %643 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1103 = OpVectorShuffle %24 %1102 %1101 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1104 = OpVectorShuffle %24 %643 %643 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1105 = OpVectorShuffle %24 %1104 %1103 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1106 = OpVectorShuffle %24 %643 %643 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1107 = OpVectorShuffle %24 %1106 %1105 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %1108 = OpFunctionCall %24 %107 %979 %1107 %106
+; CHECK-NEXT:    %1109 = OpFunctionCall %24 %107 %947 %1091 %1108
+; CHECK-NEXT:    %1110 = OpFunctionCall %24 %107 %915 %1075 %1109
+; CHECK-NEXT:    %1111 = OpFunctionCall %24 %107 %883 %1059 %1110
+; CHECK-NEXT:    %1112 = OpFunctionCall %24 %107 %851 %1043 %1111
+; CHECK-NEXT:    %1113 = OpFunctionCall %24 %107 %819 %1027 %1112
+; CHECK-NEXT:    %1114 = OpFunctionCall %24 %107 %787 %1011 %1113
+; CHECK-NEXT:    %1115 = OpFunctionCall %24 %107 %755 %995 %1114
+; CHECK-NEXT:    %1116 = OpVectorShuffle %29 %1115 %1115 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %1117 = OpVectorShuffle %29 %1115 %1115 8 9 10 11 12 13 14 15
+; CHECK-NEXT:    %1118 = OpVectorShuffle %29 %1115 %1115 16 17 18 19 20 21 22 23
+; CHECK-NEXT:    %1119 = OpVectorShuffle %29 %1115 %1115 24 25 26 27 28 29 30 31
+; CHECK-NEXT:    %1120 = OpVectorShuffle %29 %1115 %1115 32 33 34 35 36 37 38 39
+; CHECK-NEXT:    %1121 = OpVectorShuffle %29 %1115 %1115 40 41 42 43 44 45 46 47
+; CHECK-NEXT:    %1122 = OpVectorShuffle %29 %1115 %1115 48 49 50 51 52 53 54 55
+; CHECK-NEXT:    %1123 = OpVectorShuffle %29 %1115 %1115 56 57 58 59 60 61 62 63
+; CHECK-NEXT:    OpBranch %2369
+; CHECK-NEXT:    %2369 = OpLabel
+; CHECK-NEXT:    %1124 = OpPhi %20 %1125 %2370 %47 %2368
+; CHECK-NEXT:    %1126 = OpSLessThan %34 %1124 %35
+; CHECK-NEXT:    OpBranchConditional %1126 %2370 %2
+; CHECK-NEXT:    %2 = OpLabel
+; CHECK-NEXT:    OpBranch %2371
+; CHECK-NEXT:    %2371 = OpLabel
+; CHECK-NEXT:    %1127 = OpPhi %20 %1128 %2372 %47 %2
+; CHECK-NEXT:    %1129 = OpSLessThan %34 %1127 %35
+; CHECK-NEXT:    OpBranchConditional %1129 %2372 %3
+; CHECK-NEXT:    %3 = OpLabel
+; CHECK-NEXT:    OpBranch %2373
+; CHECK-NEXT:    %2373 = OpLabel
+; CHECK-NEXT:    %1130 = OpPhi %20 %1131 %2374 %47 %3
+; CHECK-NEXT:    %1132 = OpSLessThan %34 %1130 %35
+; CHECK-NEXT:    OpBranchConditional %1132 %2374 %4
+; CHECK-NEXT:    %4 = OpLabel
+; CHECK-NEXT:    OpBranch %2375
+; CHECK-NEXT:    %2375 = OpLabel
+; CHECK-NEXT:    %1133 = OpPhi %20 %1134 %2376 %47 %4
+; CHECK-NEXT:    %1135 = OpSLessThan %34 %1133 %35
+; CHECK-NEXT:    OpBranchConditional %1135 %2376 %5
+; CHECK-NEXT:    %5 = OpLabel
+; CHECK-NEXT:    OpBranch %2377
+; CHECK-NEXT:    %2377 = OpLabel
+; CHECK-NEXT:    %1136 = OpPhi %20 %1137 %2378 %47 %5
+; CHECK-NEXT:    %1138 = OpSLessThan %34 %1136 %35
+; CHECK-NEXT:    OpBranchConditional %1138 %2378 %6
+; CHECK-NEXT:    %6 = OpLabel
+; CHECK-NEXT:    OpBranch %2379
+; CHECK-NEXT:    %2379 = OpLabel
+; CHECK-NEXT:    %1139 = OpPhi %20 %1140 %2380 %47 %6
+; CHECK-NEXT:    %1141 = OpSLessThan %34 %1139 %35
+; CHECK-NEXT:    OpBranchConditional %1141 %2380 %7
+; CHECK-NEXT:    %7 = OpLabel
+; CHECK-NEXT:    OpBranch %2381
+; CHECK-NEXT:    %2381 = OpLabel
+; CHECK-NEXT:    %1142 = OpPhi %20 %1143 %2382 %47 %7
+; CHECK-NEXT:    %1144 = OpSLessThan %34 %1142 %35
+; CHECK-NEXT:    OpBranchConditional %1144 %2382 %8
+; CHECK-NEXT:    %8 = OpLabel
+; CHECK-NEXT:    OpBranch %2383
+; CHECK-NEXT:    %2383 = OpLabel
+; CHECK-NEXT:    %1145 = OpPhi %20 %1146 %2384 %47 %8
+; CHECK-NEXT:    %1147 = OpSLessThan %34 %1145 %35
+; CHECK-NEXT:    OpBranchConditional %1147 %2384 %2385
+; CHECK-NEXT:    %2385 = OpLabel
+; CHECK-NEXT:    OpReturn
+; CHECK-NEXT:    %2384 = OpLabel
+; CHECK-NEXT:    %1148 = OpUConvert %33 %1145
+; CHECK-NEXT:    %1149 = OpVectorExtractDynamic %16 %1123 %1148
+; CHECK-NEXT:    %1150 = OpIAdd %33 %46 %1148
+; CHECK-NEXT:    %1151 = OpIAdd %33 %1150 %49
+; CHECK-NEXT:    %1152 = OpIAdd %33 %1151 %49
+; CHECK-NEXT:    %1153 = OpIAdd %33 %1152 %49
+; CHECK-NEXT:    %1154 = OpIAdd %33 %1153 %49
+; CHECK-NEXT:    %1155 = OpInBoundsPtrAccessChain %17 %112 %1154
+; CHECK-NEXT:    OpStore %1155 %1149 Aligned 4
+; CHECK-NEXT:    %1146 = OpIAdd %20 %1145 %45
+; CHECK-NEXT:    OpBranch %2383
+; CHECK-NEXT:    %2382 = OpLabel
+; CHECK-NEXT:    %1156 = OpUConvert %33 %1142
+; CHECK-NEXT:    %1157 = OpVectorExtractDynamic %16 %1122 %1156
+; CHECK-NEXT:    %1158 = OpIAdd %33 %44 %1156
+; CHECK-NEXT:    %1159 = OpIAdd %33 %1158 %49
+; CHECK-NEXT:    %1160 = OpIAdd %33 %1159 %49
+; CHECK-NEXT:    %1161 = OpIAdd %33 %1160 %49
+; CHECK-NEXT:    %1162 = OpIAdd %33 %1161 %49
+; CHECK-NEXT:    %1163 = OpInBoundsPtrAccessChain %17 %112 %1162
+; CHECK-NEXT:    OpStore %1163 %1157 Aligned 4
+; CHECK-NEXT:    %1143 = OpIAdd %20 %1142 %45
+; CHECK-NEXT:    OpBranch %2381
+; CHECK-NEXT:    %2380 = OpLabel
+; CHECK-NEXT:    %1164 = OpUConvert %33 %1139
+; CHECK-NEXT:    %1165 = OpVectorExtractDynamic %16 %1121 %1164
+; CHECK-NEXT:    %1166 = OpIAdd %33 %43 %1164
+; CHECK-NEXT:    %1167 = OpIAdd %33 %1166 %49
+; CHECK-NEXT:    %1168 = OpIAdd %33 %1167 %49
+; CHECK-NEXT:    %1169 = OpIAdd %33 %1168 %49
+; CHECK-NEXT:    %1170 = OpIAdd %33 %1169 %49
+; CHECK-NEXT:    %1171 = OpInBoundsPtrAccessChain %17 %112 %1170
+; CHECK-NEXT:    OpStore %1171 %1165 Aligned 4
+; CHECK-NEXT:    %1140 = OpIAdd %20 %1139 %45
+; CHECK-NEXT:    OpBranch %2379
+; CHECK-NEXT:    %2378 = OpLabel
+; CHECK-NEXT:    %1172 = OpUConvert %33 %1136
+; CHECK-NEXT:    %1173 = OpVectorExtractDynamic %16 %1120 %1172
+; CHECK-NEXT:    %1174 = OpIAdd %33 %59 %1172
+; CHECK-NEXT:    %1175 = OpIAdd %33 %1174 %49
+; CHECK-NEXT:    %1176 = OpIAdd %33 %1175 %49
+; CHECK-NEXT:    %1177 = OpIAdd %33 %1176 %49
+; CHECK-NEXT:    %1178 = OpIAdd %33 %1177 %49
+; CHECK-NEXT:    %1179 = OpInBoundsPtrAccessChain %17 %112 %1178
+; CHECK-NEXT:    OpStore %1179 %1173 Aligned 4
+; CHECK-NEXT:    %1137 = OpIAdd %20 %1136 %45
+; CHECK-NEXT:    OpBranch %2377
+; CHECK-NEXT:    %2376 = OpLabel
+; CHECK-NEXT:    %1180 = OpUConvert %33 %1133
+; CHECK-NEXT:    %1181 = OpVectorExtractDynamic %16 %1119 %1180
+; CHECK-NEXT:    %1182 = OpIAdd %33 %42 %1180
+; CHECK-NEXT:    %1183 = OpIAdd %33 %1182 %49
+; CHECK-NEXT:    %1184 = OpIAdd %33 %1183 %49
+; CHECK-NEXT:    %1185 = OpIAdd %33 %1184 %49
+; CHECK-NEXT:    %1186 = OpIAdd %33 %1185 %49
+; CHECK-NEXT:    %1187 = OpInBoundsPtrAccessChain %17 %112 %1186
+; CHECK-NEXT:    OpStore %1187 %1181 Aligned 4
+; CHECK-NEXT:    %1134 = OpIAdd %20 %1133 %45
+; CHECK-NEXT:    OpBranch %2375
+; CHECK-NEXT:    %2374 = OpLabel
+; CHECK-NEXT:    %1188 = OpUConvert %33 %1130
+; CHECK-NEXT:    %1189 = OpVectorExtractDynamic %16 %1118 %1188
+; CHECK-NEXT:    %1190 = OpIAdd %33 %41 %1188
+; CHECK-NEXT:    %1191 = OpIAdd %33 %1190 %49
+; CHECK-NEXT:    %1192 = OpIAdd %33 %1191 %49
+; CHECK-NEXT:    %1193 = OpIAdd %33 %1192 %49
+; CHECK-NEXT:    %1194 = OpIAdd %33 %1193 %49
+; CHECK-NEXT:    %1195 = OpInBoundsPtrAccessChain %17 %112 %1194
+; CHECK-NEXT:    OpStore %1195 %1189 Aligned 4
+; CHECK-NEXT:    %1131 = OpIAdd %20 %1130 %45
+; CHECK-NEXT:    OpBranch %2373
+; CHECK-NEXT:    %2372 = OpLabel
+; CHECK-NEXT:    %1196 = OpUConvert %33 %1127
+; CHECK-NEXT:    %1197 = OpVectorExtractDynamic %16 %1117 %1196
+; CHECK-NEXT:    %1198 = OpIAdd %33 %40 %1196
+; CHECK-NEXT:    %1199 = OpIAdd %33 %1198 %49
+; CHECK-NEXT:    %1200 = OpIAdd %33 %1199 %49
+; CHECK-NEXT:    %1201 = OpIAdd %33 %1200 %49
+; CHECK-NEXT:    %1202 = OpIAdd %33 %1201 %49
+; CHECK-NEXT:    %1203 = OpInBoundsPtrAccessChain %17 %112 %1202
+; CHECK-NEXT:    OpStore %1203 %1197 Aligned 4
+; CHECK-NEXT:    %1128 = OpIAdd %20 %1127 %45
+; CHECK-NEXT:    OpBranch %2371
+; CHECK-NEXT:    %2370 = OpLabel
+; CHECK-NEXT:    %1204 = OpUConvert %33 %1124
+; CHECK-NEXT:    %1205 = OpVectorExtractDynamic %16 %1116 %1204
+; CHECK-NEXT:    %1206 = OpIAdd %33 %49 %1204
+; CHECK-NEXT:    %1207 = OpIAdd %33 %1206 %49
+; CHECK-NEXT:    %1208 = OpIAdd %33 %1207 %49
+; CHECK-NEXT:    %1209 = OpIAdd %33 %1208 %49
+; CHECK-NEXT:    %1210 = OpIAdd %33 %1209 %49
+; CHECK-NEXT:    %1211 = OpInBoundsPtrAccessChain %17 %112 %1210
+; CHECK-NEXT:    OpStore %1211 %1205 Aligned 4
+; CHECK-NEXT:    %1125 = OpIAdd %20 %1124 %45
+; CHECK-NEXT:    OpBranch %2369
+; CHECK-NEXT:    %2367 = OpLabel
+; CHECK-NEXT:    %1212 = OpUConvert %33 %143
+; CHECK-NEXT:    OpBranch %2386
+; CHECK-NEXT:    %2386 = OpLabel
+; CHECK-NEXT:    %1213 = OpPhi %20 %1214 %2387 %47 %2367
+; CHECK-NEXT:    %1215 = OpSLessThan %34 %1213 %50
+; CHECK-NEXT:    OpBranchConditional %1215 %2387 %2366
+; CHECK-NEXT:    %2366 = OpLabel
+; CHECK-NEXT:    %144 = OpIAdd %20 %143 %45
+; CHECK-NEXT:    OpBranch %2365
+; CHECK-NEXT:    %2387 = OpLabel
+; CHECK-NEXT:    %1216 = OpUConvert %33 %1213
+; CHECK-NEXT:    %1217 = OpIMul %33 %1212 %48
+; CHECK-NEXT:    %1218 = OpIAdd %33 %49 %1217
+; CHECK-NEXT:    %1219 = OpIAdd %33 %1218 %1216
+; CHECK-NEXT:    %1220 = OpIAdd %33 %1219 %49
+; CHECK-NEXT:    %1221 = OpInBoundsPtrAccessChain %17 %111 %1220
+; CHECK-NEXT:    %1222 = OpLoad %16 %1221 Aligned 4
+; CHECK-NEXT:    %1223 = OpIMul %33 %1212 %40
+; CHECK-NEXT:    %1224 = OpIAdd %33 %1223 %1216
+; CHECK-NEXT:    %1225 = OpBitcast %32 %99
+; CHECK-NEXT:    %1226 = OpInBoundsPtrAccessChain %32 %1225 %1224
+; CHECK-NEXT:    OpStore %1226 %1222 Aligned 4
+; CHECK-NEXT:    %1214 = OpIAdd %20 %1213 %45
+; CHECK-NEXT:    OpBranch %2386
+; CHECK-NEXT:    %2363 = OpLabel
+; CHECK-NEXT:    %1227 = OpUConvert %33 %138
+; CHECK-NEXT:    OpBranch %2388
+; CHECK-NEXT:    %2388 = OpLabel
+; CHECK-NEXT:    %1228 = OpPhi %20 %1229 %2389 %47 %2363
+; CHECK-NEXT:    %1230 = OpSLessThan %34 %1228 %35
+; CHECK-NEXT:    OpBranchConditional %1230 %2389 %2362
+; CHECK-NEXT:    %2362 = OpLabel
+; CHECK-NEXT:    %139 = OpIAdd %20 %138 %45
+; CHECK-NEXT:    OpBranch %2361
+; CHECK-NEXT:    %2389 = OpLabel
+; CHECK-NEXT:    %1231 = OpUConvert %33 %1228
+; CHECK-NEXT:    %1232 = OpIMul %33 %1227 %40
+; CHECK-NEXT:    %1233 = OpIAdd %33 %1232 %1231
+; CHECK-NEXT:    %1234 = OpBitcast %32 %99
+; CHECK-NEXT:    %1235 = OpInBoundsPtrAccessChain %32 %1234 %1233
+; CHECK-NEXT:    OpStore %1235 %75 Aligned 4
+; CHECK-NEXT:    %1229 = OpIAdd %20 %1228 %45
+; CHECK-NEXT:    OpBranch %2388
+; CHECK-NEXT:    OpFunctionEnd
+  br label %3
+
+3:                                                ; preds = %17, %2
+  %4 = phi i32 [ %18, %17 ], [ 0, %2 ]
+  %5 = icmp slt i32 %4, 8
+  br i1 %5, label %6, label %19
+
+6:                                                ; preds = %3
+  %7 = zext i32 %4 to i64
+  br label %8
+
+8:                                                ; preds = %11, %6
+  %9 = phi i32 [ %16, %11 ], [ 0, %6 ]
+  %10 = icmp slt i32 %9, 8
+  br i1 %10, label %11, label %17
+
+11:                                               ; preds = %8
+  %12 = zext i32 %9 to i64
+  %13 = mul nuw nsw i64 %7, 8
+  %14 = add nuw nsw i64 %13, %12
+  %15 = getelementptr inbounds nuw float, ptr addrspace(3) @__shared_memory__, i64 %14
+  store float 0.000000e+00, ptr addrspace(3) %15, align 4
+  %16 = add i32 %9, 1
+  br label %8
+
+17:                                               ; preds = %8
+  %18 = add i32 %4, 1
+  br label %3
+
+19:                                               ; preds = %3
+  fence syncscope("workgroup") release, !mmra !2
+  call void @llvm.amdgcn.s.barrier.signal(i32 -1)
+  call void @llvm.amdgcn.s.barrier.wait(i16 -1)
+  fence syncscope("workgroup") acquire, !mmra !2
+  br label %20
+
+20:                                               ; preds = %40, %19
+  %21 = phi i32 [ %41, %40 ], [ 0, %19 ]
+  %22 = icmp slt i32 %21, 6
+  br i1 %22, label %23, label %42
+
+23:                                               ; preds = %20
+  %24 = zext i32 %21 to i64
+  br label %25
+
+25:                                               ; preds = %28, %23
+  %26 = phi i32 [ %39, %28 ], [ 0, %23 ]
+  %27 = icmp slt i32 %26, 6
+  br i1 %27, label %28, label %40
+
+28:                                               ; preds = %25
+  %29 = zext i32 %26 to i64
+  %30 = mul nuw nsw i64 %24, 6
+  %31 = add nuw nsw i64 0, %30
+  %32 = add nuw nsw i64 %31, %29
+  %33 = add nuw nsw i64 %32, 0
+  %34 = getelementptr inbounds nuw float, ptr addrspace(1) %0, i64 %33
+  %35 = load float, ptr addrspace(1) %34, align 4
+  %36 = mul nuw nsw i64 %24, 8
+  %37 = add nuw nsw i64 %36, %29
+  %38 = getelementptr inbounds nuw float, ptr addrspace(3) @__shared_memory__, i64 %37
+  store float %35, ptr addrspace(3) %38, align 4
+  %39 = add i32 %26, 1
+  br label %25
+
+40:                                               ; preds = %25
+  %41 = add i32 %21, 1
+  br label %20
+
+42:                                               ; preds = %20
+  fence syncscope("workgroup") release, !mmra !2
+  call void @llvm.amdgcn.s.barrier.signal(i32 -1)
+  call void @llvm.amdgcn.s.barrier.wait(i16 -1)
+  fence syncscope("workgroup") acquire, !mmra !2
+  %43 = load <8 x float>, ptr addrspace(3) @__shared_memory__, align 4
+  %44 = load <8 x float>, ptr addrspace(3) getelementptr inbounds nuw (i8, ptr addrspace(3) @__shared_memory__, i64 32), align 4
+  %45 = load <8 x float>, ptr addrspace(3) getelementptr inbounds nuw (i8, ptr addrspace(3) @__shared_memory__, i64 64), align 4
+  %46 = load <8 x float>, ptr addrspace(3) getelementptr inbounds nuw (i8, ptr addrspace(3) @__shared_memory__, i64 96), align 4
+  %47 = load <8 x float>, ptr addrspace(3) getelementptr inbounds nuw (i8, ptr addrspace(3) @__shared_memory__, i64 128), align 4
+  %48 = load <8 x float>, ptr addrspace(3) getelementptr inbounds nuw (i8, ptr addrspace(3) @__shared_memory__, i64 160), align 4
+  %49 = load <8 x float>, ptr addrspace(3) getelementptr inbounds nuw (i8, ptr addrspace(3) @__shared_memory__, i64 192), align 4
+  %50 = load <8 x float>, ptr addrspace(3) getelementptr inbounds nuw (i8, ptr addrspace(3) @__shared_memory__, i64 224), align 4
+  %51 = extractelement <8 x float> %43, i64 0
+  %52 = extractelement <8 x float> %43, i64 1
+  %53 = extractelement <8 x float> %43, i64 2
+  %54 = extractelement <8 x float> %43, i64 3
+  %55 = extractelement <8 x float> %43, i64 4
+  %56 = extractelement <8 x float> %43, i64 5
+  %57 = extractelement <8 x float> %43, i64 6
+  %58 = extractelement <8 x float> %43, i64 7
+  %59 = extractelement <8 x float> %44, i64 0
+  %60 = extractelement <8 x float> %44, i64 1
+  %61 = extractelement <8 x float> %44, i64 2
+  %62 = extractelement <8 x float> %44, i64 3
+  %63 = extractelement <8 x float> %44, i64 4
+  %64 = extractelement <8 x float> %44, i64 5
+  %65 = extractelement <8 x float> %44, i64 6
+  %66 = extractelement <8 x float> %44, i64 7
+  %67 = extractelement <8 x float> %45, i64 0
+  %68 = extractelement <8 x float> %45, i64 1
+  %69 = extractelement <8 x float> %45, i64 2
+  %70 = extractelement <8 x float> %45, i64 3
+  %71 = extractelement <8 x float> %45, i64 4
+  %72 = extractelement <8 x float> %45, i64 5
+  %73 = extractelement <8 x float> %45, i64 6
+  %74 = extractelement <8 x float> %45, i64 7
+  %75 = extractelement <8 x float> %46, i64 0
+  %76 = extractelement <8 x float> %46, i64 1
+  %77 = extractelement <8 x float> %46, i64 2
+  %78 = extractelement <8 x float> %46, i64 3
+  %79 = extractelement <8 x float> %46, i64 4
+  %80 = extractelement <8 x float> %46, i64 5
+  %81 = extractelement <8 x float> %46, i64 6
+  %82 = extractelement <8 x float> %46, i64 7
+  %83 = extractelement <8 x float> %47, i64 0
+  %84 = extractelement <8 x float> %47, i64 1
+  %85 = extractelement <8 x float> %47, i64 2
+  %86 = extractelement <8 x float> %47, i64 3
+  %87 = extractelement <8 x float> %47, i64 4
+  %88 = extractelement <8 x float> %47, i64 5
+  %89 = extractelement <8 x float> %47, i64 6
+  %90 = extractelement <8 x float> %47, i64 7
+  %91 = extractelement <8 x float> %48, i64 0
+  %92 = extractelement <8 x float> %48, i64 1
+  %93 = extractelement <8 x float> %48, i64 2
+  %94 = extractelement <8 x float> %48, i64 3
+  %95 = extractelement <8 x float> %48, i64 4
+  %96 = extractelement <8 x float> %48, i64 5
+  %97 = extractelement <8 x float> %48, i64 6
+  %98 = extractelement <8 x float> %48, i64 7
+  %99 = extractelement <8 x float> %49, i64 0
+  %100 = extractelement <8 x float> %49, i64 1
+  %101 = extractelement <8 x float> %49, i64 2
+  %102 = extractelement <8 x float> %49, i64 3
+  %103 = extractelement <8 x float> %49, i64 4
+  %104 = extractelement <8 x float> %49, i64 5
+  %105 = extractelement <8 x float> %49, i64 6
+  %106 = extractelement <8 x float> %49, i64 7
+  %107 = extractelement <8 x float> %50, i64 0
+  %108 = extractelement <8 x float> %50, i64 1
+  %109 = extractelement <8 x float> %50, i64 2
+  %110 = extractelement <8 x float> %50, i64 3
+  %111 = extractelement <8 x float> %50, i64 4
+  %112 = extractelement <8 x float> %50, i64 5
+  %113 = extractelement <8 x float> %50, i64 6
+  %114 = extractelement <8 x float> %50, i64 7
+  %115 = load <8 x float>, ptr addrspace(4) @__constant_8x8xf32_0, align 4
+  %116 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 32), align 4
+  %117 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 64), align 4
+  %118 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 96), align 4
+  %119 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 128), align 4
+  %120 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 160), align 4
+  %121 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 192), align 4
+  %122 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 224), align 4
+  %123 = insertelement <8 x float> poison, float %51, i32 0
+  %124 = shufflevector <8 x float> %123, <8 x float> poison, <8 x i32> zeroinitializer
+  %125 = shufflevector <8 x float> %124, <8 x float> %124, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %126 = shufflevector <64 x float> %125, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %127 = insertelement <8 x float> poison, float %59, i32 0
+  %128 = shufflevector <8 x float> %127, <8 x float> poison, <8 x i32> zeroinitializer
+  %129 = shufflevector <8 x float> %128, <8 x float> %128, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %130 = shufflevector <64 x float> %129, <64 x float> %126, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %131 = insertelement <8 x float> poison, float %67, i32 0
+  %132 = shufflevector <8 x float> %131, <8 x float> poison, <8 x i32> zeroinitializer
+  %133 = shufflevector <8 x float> %132, <8 x float> %132, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %134 = shufflevector <64 x float> %133, <64 x float> %130, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %135 = insertelement <8 x float> poison, float %75, i32 0
+  %136 = shufflevector <8 x float> %135, <8 x float> poison, <8 x i32> zeroinitializer
+  %137 = shufflevector <8 x float> %136, <8 x float> %136, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %138 = shufflevector <64 x float> %137, <64 x float> %134, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %139 = insertelement <8 x float> poison, float %83, i32 0
+  %140 = shufflevector <8 x float> %139, <8 x float> poison, <8 x i32> zeroinitializer
+  %141 = shufflevector <8 x float> %140, <8 x float> %140, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %142 = shufflevector <64 x float> %141, <64 x float> %138, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %143 = insertelement <8 x float> poison, float %91, i32 0
+  %144 = shufflevector <8 x float> %143, <8 x float> poison, <8 x i32> zeroinitializer
+  %145 = shufflevector <8 x float> %144, <8 x float> %144, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %146 = shufflevector <64 x float> %145, <64 x float> %142, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %147 = insertelement <8 x float> poison, float %99, i32 0
+  %148 = shufflevector <8 x float> %147, <8 x float> poison, <8 x i32> zeroinitializer
+  %149 = shufflevector <8 x float> %148, <8 x float> %148, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %150 = shufflevector <64 x float> %149, <64 x float> %146, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %151 = insertelement <8 x float> poison, float %107, i32 0
+  %152 = shufflevector <8 x float> %151, <8 x float> poison, <8 x i32> zeroinitializer
+  %153 = shufflevector <8 x float> %152, <8 x float> %152, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %154 = shufflevector <64 x float> %153, <64 x float> %150, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %155 = insertelement <8 x float> poison, float %52, i32 0
+  %156 = shufflevector <8 x float> %155, <8 x float> poison, <8 x i32> zeroinitializer
+  %157 = shufflevector <8 x float> %156, <8 x float> %156, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %158 = shufflevector <64 x float> %157, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %159 = insertelement <8 x float> poison, float %60, i32 0
+  %160 = shufflevector <8 x float> %159, <8 x float> poison, <8 x i32> zeroinitializer
+  %161 = shufflevector <8 x float> %160, <8 x float> %160, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %162 = shufflevector <64 x float> %161, <64 x float> %158, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %163 = insertelement <8 x float> poison, float %68, i32 0
+  %164 = shufflevector <8 x float> %163, <8 x float> poison, <8 x i32> zeroinitializer
+  %165 = shufflevector <8 x float> %164, <8 x float> %164, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %166 = shufflevector <64 x float> %165, <64 x float> %162, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %167 = insertelement <8 x float> poison, float %76, i32 0
+  %168 = shufflevector <8 x float> %167, <8 x float> poison, <8 x i32> zeroinitializer
+  %169 = shufflevector <8 x float> %168, <8 x float> %168, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %170 = shufflevector <64 x float> %169, <64 x float> %166, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %171 = insertelement <8 x float> poison, float %84, i32 0
+  %172 = shufflevector <8 x float> %171, <8 x float> poison, <8 x i32> zeroinitializer
+  %173 = shufflevector <8 x float> %172, <8 x float> %172, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %174 = shufflevector <64 x float> %173, <64 x float> %170, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %175 = insertelement <8 x float> poison, float %92, i32 0
+  %176 = shufflevector <8 x float> %175, <8 x float> poison, <8 x i32> zeroinitializer
+  %177 = shufflevector <8 x float> %176, <8 x float> %176, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %178 = shufflevector <64 x float> %177, <64 x float> %174, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %179 = insertelement <8 x float> poison, float %100, i32 0
+  %180 = shufflevector <8 x float> %179, <8 x float> poison, <8 x i32> zeroinitializer
+  %181 = shufflevector <8 x float> %180, <8 x float> %180, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %182 = shufflevector <64 x float> %181, <64 x float> %178, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %183 = insertelement <8 x float> poison, float %108, i32 0
+  %184 = shufflevector <8 x float> %183, <8 x float> poison, <8 x i32> zeroinitializer
+  %185 = shufflevector <8 x float> %184, <8 x float> %184, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %186 = shufflevector <64 x float> %185, <64 x float> %182, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %187 = insertelement <8 x float> poison, float %53, i32 0
+  %188 = shufflevector <8 x float> %187, <8 x float> poison, <8 x i32> zeroinitializer
+  %189 = shufflevector <8 x float> %188, <8 x float> %188, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %190 = shufflevector <64 x float> %189, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %191 = insertelement <8 x float> poison, float %61, i32 0
+  %192 = shufflevector <8 x float> %191, <8 x float> poison, <8 x i32> zeroinitializer
+  %193 = shufflevector <8 x float> %192, <8 x float> %192, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %194 = shufflevector <64 x float> %193, <64 x float> %190, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %195 = insertelement <8 x float> poison, float %69, i32 0
+  %196 = shufflevector <8 x float> %195, <8 x float> poison, <8 x i32> zeroinitializer
+  %197 = shufflevector <8 x float> %196, <8 x float> %196, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %198 = shufflevector <64 x float> %197, <64 x float> %194, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %199 = insertelement <8 x float> poison, float %77, i32 0
+  %200 = shufflevector <8 x float> %199, <8 x float> poison, <8 x i32> zeroinitializer
+  %201 = shufflevector <8 x float> %200, <8 x float> %200, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %202 = shufflevector <64 x float> %201, <64 x float> %198, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %203 = insertelement <8 x float> poison, float %85, i32 0
+  %204 = shufflevector <8 x float> %203, <8 x float> poison, <8 x i32> zeroinitializer
+  %205 = shufflevector <8 x float> %204, <8 x float> %204, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %206 = shufflevector <64 x float> %205, <64 x float> %202, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %207 = insertelement <8 x float> poison, float %93, i32 0
+  %208 = shufflevector <8 x float> %207, <8 x float> poison, <8 x i32> zeroinitializer
+  %209 = shufflevector <8 x float> %208, <8 x float> %208, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %210 = shufflevector <64 x float> %209, <64 x float> %206, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %211 = insertelement <8 x float> poison, float %101, i32 0
+  %212 = shufflevector <8 x float> %211, <8 x float> poison, <8 x i32> zeroinitializer
+  %213 = shufflevector <8 x float> %212, <8 x float> %212, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %214 = shufflevector <64 x float> %213, <64 x float> %210, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %215 = insertelement <8 x float> poison, float %109, i32 0
+  %216 = shufflevector <8 x float> %215, <8 x float> poison, <8 x i32> zeroinitializer
+  %217 = shufflevector <8 x float> %216, <8 x float> %216, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %218 = shufflevector <64 x float> %217, <64 x float> %214, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %219 = insertelement <8 x float> poison, float %54, i32 0
+  %220 = shufflevector <8 x float> %219, <8 x float> poison, <8 x i32> zeroinitializer
+  %221 = shufflevector <8 x float> %220, <8 x float> %220, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %222 = shufflevector <64 x float> %221, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %223 = insertelement <8 x float> poison, float %62, i32 0
+  %224 = shufflevector <8 x float> %223, <8 x float> poison, <8 x i32> zeroinitializer
+  %225 = shufflevector <8 x float> %224, <8 x float> %224, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %226 = shufflevector <64 x float> %225, <64 x float> %222, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %227 = insertelement <8 x float> poison, float %70, i32 0
+  %228 = shufflevector <8 x float> %227, <8 x float> poison, <8 x i32> zeroinitializer
+  %229 = shufflevector <8 x float> %228, <8 x float> %228, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %230 = shufflevector <64 x float> %229, <64 x float> %226, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %231 = insertelement <8 x float> poison, float %78, i32 0
+  %232 = shufflevector <8 x float> %231, <8 x float> poison, <8 x i32> zeroinitializer
+  %233 = shufflevector <8 x float> %232, <8 x float> %232, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %234 = shufflevector <64 x float> %233, <64 x float> %230, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %235 = insertelement <8 x float> poison, float %86, i32 0
+  %236 = shufflevector <8 x float> %235, <8 x float> poison, <8 x i32> zeroinitializer
+  %237 = shufflevector <8 x float> %236, <8 x float> %236, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %238 = shufflevector <64 x float> %237, <64 x float> %234, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %239 = insertelement <8 x float> poison, float %94, i32 0
+  %240 = shufflevector <8 x float> %239, <8 x float> poison, <8 x i32> zeroinitializer
+  %241 = shufflevector <8 x float> %240, <8 x float> %240, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %242 = shufflevector <64 x float> %241, <64 x float> %238, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %243 = insertelement <8 x float> poison, float %102, i32 0
+  %244 = shufflevector <8 x float> %243, <8 x float> poison, <8 x i32> zeroinitializer
+  %245 = shufflevector <8 x float> %244, <8 x float> %244, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %246 = shufflevector <64 x float> %245, <64 x float> %242, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %247 = insertelement <8 x float> poison, float %110, i32 0
+  %248 = shufflevector <8 x float> %247, <8 x float> poison, <8 x i32> zeroinitializer
+  %249 = shufflevector <8 x float> %248, <8 x float> %248, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %250 = shufflevector <64 x float> %249, <64 x float> %246, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %251 = insertelement <8 x float> poison, float %55, i32 0
+  %252 = shufflevector <8 x float> %251, <8 x float> poison, <8 x i32> zeroinitializer
+  %253 = shufflevector <8 x float> %252, <8 x float> %252, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %254 = shufflevector <64 x float> %253, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %255 = insertelement <8 x float> poison, float %63, i32 0
+  %256 = shufflevector <8 x float> %255, <8 x float> poison, <8 x i32> zeroinitializer
+  %257 = shufflevector <8 x float> %256, <8 x float> %256, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %258 = shufflevector <64 x float> %257, <64 x float> %254, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %259 = insertelement <8 x float> poison, float %71, i32 0
+  %260 = shufflevector <8 x float> %259, <8 x float> poison, <8 x i32> zeroinitializer
+  %261 = shufflevector <8 x float> %260, <8 x float> %260, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %262 = shufflevector <64 x float> %261, <64 x float> %258, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %263 = insertelement <8 x float> poison, float %79, i32 0
+  %264 = shufflevector <8 x float> %263, <8 x float> poison, <8 x i32> zeroinitializer
+  %265 = shufflevector <8 x float> %264, <8 x float> %264, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %266 = shufflevector <64 x float> %265, <64 x float> %262, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %267 = insertelement <8 x float> poison, float %87, i32 0
+  %268 = shufflevector <8 x float> %267, <8 x float> poison, <8 x i32> zeroinitializer
+  %269 = shufflevector <8 x float> %268, <8 x float> %268, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %270 = shufflevector <64 x float> %269, <64 x float> %266, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %271 = insertelement <8 x float> poison, float %95, i32 0
+  %272 = shufflevector <8 x float> %271, <8 x float> poison, <8 x i32> zeroinitializer
+  %273 = shufflevector <8 x float> %272, <8 x float> %272, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %274 = shufflevector <64 x float> %273, <64 x float> %270, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %275 = insertelement <8 x float> poison, float %103, i32 0
+  %276 = shufflevector <8 x float> %275, <8 x float> poison, <8 x i32> zeroinitializer
+  %277 = shufflevector <8 x float> %276, <8 x float> %276, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %278 = shufflevector <64 x float> %277, <64 x float> %274, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %279 = insertelement <8 x float> poison, float %111, i32 0
+  %280 = shufflevector <8 x float> %279, <8 x float> poison, <8 x i32> zeroinitializer
+  %281 = shufflevector <8 x float> %280, <8 x float> %280, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %282 = shufflevector <64 x float> %281, <64 x float> %278, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %283 = insertelement <8 x float> poison, float %56, i32 0
+  %284 = shufflevector <8 x float> %283, <8 x float> poison, <8 x i32> zeroinitializer
+  %285 = shufflevector <8 x float> %284, <8 x float> %284, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %286 = shufflevector <64 x float> %285, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %287 = insertelement <8 x float> poison, float %64, i32 0
+  %288 = shufflevector <8 x float> %287, <8 x float> poison, <8 x i32> zeroinitializer
+  %289 = shufflevector <8 x float> %288, <8 x float> %288, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %290 = shufflevector <64 x float> %289, <64 x float> %286, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %291 = insertelement <8 x float> poison, float %72, i32 0
+  %292 = shufflevector <8 x float> %291, <8 x float> poison, <8 x i32> zeroinitializer
+  %293 = shufflevector <8 x float> %292, <8 x float> %292, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %294 = shufflevector <64 x float> %293, <64 x float> %290, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %295 = insertelement <8 x float> poison, float %80, i32 0
+  %296 = shufflevector <8 x float> %295, <8 x float> poison, <8 x i32> zeroinitializer
+  %297 = shufflevector <8 x float> %296, <8 x float> %296, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %298 = shufflevector <64 x float> %297, <64 x float> %294, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %299 = insertelement <8 x float> poison, float %88, i32 0
+  %300 = shufflevector <8 x float> %299, <8 x float> poison, <8 x i32> zeroinitializer
+  %301 = shufflevector <8 x float> %300, <8 x float> %300, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %302 = shufflevector <64 x float> %301, <64 x float> %298, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %303 = insertelement <8 x float> poison, float %96, i32 0
+  %304 = shufflevector <8 x float> %303, <8 x float> poison, <8 x i32> zeroinitializer
+  %305 = shufflevector <8 x float> %304, <8 x float> %304, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %306 = shufflevector <64 x float> %305, <64 x float> %302, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %307 = insertelement <8 x float> poison, float %104, i32 0
+  %308 = shufflevector <8 x float> %307, <8 x float> poison, <8 x i32> zeroinitializer
+  %309 = shufflevector <8 x float> %308, <8 x float> %308, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %310 = shufflevector <64 x float> %309, <64 x float> %306, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %311 = insertelement <8 x float> poison, float %112, i32 0
+  %312 = shufflevector <8 x float> %311, <8 x float> poison, <8 x i32> zeroinitializer
+  %313 = shufflevector <8 x float> %312, <8 x float> %312, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %314 = shufflevector <64 x float> %313, <64 x float> %310, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %315 = insertelement <8 x float> poison, float %57, i32 0
+  %316 = shufflevector <8 x float> %315, <8 x float> poison, <8 x i32> zeroinitializer
+  %317 = shufflevector <8 x float> %316, <8 x float> %316, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %318 = shufflevector <64 x float> %317, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %319 = insertelement <8 x float> poison, float %65, i32 0
+  %320 = shufflevector <8 x float> %319, <8 x float> poison, <8 x i32> zeroinitializer
+  %321 = shufflevector <8 x float> %320, <8 x float> %320, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %322 = shufflevector <64 x float> %321, <64 x float> %318, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %323 = insertelement <8 x float> poison, float %73, i32 0
+  %324 = shufflevector <8 x float> %323, <8 x float> poison, <8 x i32> zeroinitializer
+  %325 = shufflevector <8 x float> %324, <8 x float> %324, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %326 = shufflevector <64 x float> %325, <64 x float> %322, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %327 = insertelement <8 x float> poison, float %81, i32 0
+  %328 = shufflevector <8 x float> %327, <8 x float> poison, <8 x i32> zeroinitializer
+  %329 = shufflevector <8 x float> %328, <8 x float> %328, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %330 = shufflevector <64 x float> %329, <64 x float> %326, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %331 = insertelement <8 x float> poison, float %89, i32 0
+  %332 = shufflevector <8 x float> %331, <8 x float> poison, <8 x i32> zeroinitializer
+  %333 = shufflevector <8 x float> %332, <8 x float> %332, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %334 = shufflevector <64 x float> %333, <64 x float> %330, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %335 = insertelement <8 x float> poison, float %97, i32 0
+  %336 = shufflevector <8 x float> %335, <8 x float> poison, <8 x i32> zeroinitializer
+  %337 = shufflevector <8 x float> %336, <8 x float> %336, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %338 = shufflevector <64 x float> %337, <64 x float> %334, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %339 = insertelement <8 x float> poison, float %105, i32 0
+  %340 = shufflevector <8 x float> %339, <8 x float> poison, <8 x i32> zeroinitializer
+  %341 = shufflevector <8 x float> %340, <8 x float> %340, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %342 = shufflevector <64 x float> %341, <64 x float> %338, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %343 = insertelement <8 x float> poison, float %113, i32 0
+  %344 = shufflevector <8 x float> %343, <8 x float> poison, <8 x i32> zeroinitializer
+  %345 = shufflevector <8 x float> %344, <8 x float> %344, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %346 = shufflevector <64 x float> %345, <64 x float> %342, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %347 = insertelement <8 x float> poison, float %58, i32 0
+  %348 = shufflevector <8 x float> %347, <8 x float> poison, <8 x i32> zeroinitializer
+  %349 = shufflevector <8 x float> %348, <8 x float> %348, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %350 = shufflevector <64 x float> %349, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %351 = insertelement <8 x float> poison, float %66, i32 0
+  %352 = shufflevector <8 x float> %351, <8 x float> poison, <8 x i32> zeroinitializer
+  %353 = shufflevector <8 x float> %352, <8 x float> %352, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %354 = shufflevector <64 x float> %353, <64 x float> %350, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %355 = insertelement <8 x float> poison, float %74, i32 0
+  %356 = shufflevector <8 x float> %355, <8 x float> poison, <8 x i32> zeroinitializer
+  %357 = shufflevector <8 x float> %356, <8 x float> %356, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %358 = shufflevector <64 x float> %357, <64 x float> %354, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %359 = insertelement <8 x float> poison, float %82, i32 0
+  %360 = shufflevector <8 x float> %359, <8 x float> poison, <8 x i32> zeroinitializer
+  %361 = shufflevector <8 x float> %360, <8 x float> %360, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %362 = shufflevector <64 x float> %361, <64 x float> %358, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %363 = insertelement <8 x float> poison, float %90, i32 0
+  %364 = shufflevector <8 x float> %363, <8 x float> poison, <8 x i32> zeroinitializer
+  %365 = shufflevector <8 x float> %364, <8 x float> %364, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %366 = shufflevector <64 x float> %365, <64 x float> %362, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %367 = insertelement <8 x float> poison, float %98, i32 0
+  %368 = shufflevector <8 x float> %367, <8 x float> poison, <8 x i32> zeroinitializer
+  %369 = shufflevector <8 x float> %368, <8 x float> %368, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %370 = shufflevector <64 x float> %369, <64 x float> %366, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %371 = insertelement <8 x float> poison, float %106, i32 0
+  %372 = shufflevector <8 x float> %371, <8 x float> poison, <8 x i32> zeroinitializer
+  %373 = shufflevector <8 x float> %372, <8 x float> %372, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %374 = shufflevector <64 x float> %373, <64 x float> %370, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %375 = insertelement <8 x float> poison, float %114, i32 0
+  %376 = shufflevector <8 x float> %375, <8 x float> poison, <8 x i32> zeroinitializer
+  %377 = shufflevector <8 x float> %376, <8 x float> %376, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %378 = shufflevector <64 x float> %377, <64 x float> %374, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %379 = shufflevector <8 x float> %115, <8 x float> %115, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %380 = shufflevector <64 x float> %379, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %381 = shufflevector <8 x float> %115, <8 x float> %115, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %382 = shufflevector <64 x float> %381, <64 x float> %380, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %383 = shufflevector <8 x float> %115, <8 x float> %115, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %384 = shufflevector <64 x float> %383, <64 x float> %382, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %385 = shufflevector <8 x float> %115, <8 x float> %115, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %386 = shufflevector <64 x float> %385, <64 x float> %384, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %387 = shufflevector <8 x float> %115, <8 x float> %115, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %388 = shufflevector <64 x float> %387, <64 x float> %386, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %389 = shufflevector <8 x float> %115, <8 x float> %115, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %390 = shufflevector <64 x float> %389, <64 x float> %388, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %391 = shufflevector <8 x float> %115, <8 x float> %115, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %392 = shufflevector <64 x float> %391, <64 x float> %390, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %393 = shufflevector <8 x float> %115, <8 x float> %115, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %394 = shufflevector <64 x float> %393, <64 x float> %392, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %395 = shufflevector <8 x float> %116, <8 x float> %116, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %396 = shufflevector <64 x float> %395, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %397 = shufflevector <8 x float> %116, <8 x float> %116, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %398 = shufflevector <64 x float> %397, <64 x float> %396, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %399 = shufflevector <8 x float> %116, <8 x float> %116, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %400 = shufflevector <64 x float> %399, <64 x float> %398, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %401 = shufflevector <8 x float> %116, <8 x float> %116, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %402 = shufflevector <64 x float> %401, <64 x float> %400, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %403 = shufflevector <8 x float> %116, <8 x float> %116, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %404 = shufflevector <64 x float> %403, <64 x float> %402, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %405 = shufflevector <8 x float> %116, <8 x float> %116, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %406 = shufflevector <64 x float> %405, <64 x float> %404, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %407 = shufflevector <8 x float> %116, <8 x float> %116, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %408 = shufflevector <64 x float> %407, <64 x float> %406, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %409 = shufflevector <8 x float> %116, <8 x float> %116, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %410 = shufflevector <64 x float> %409, <64 x float> %408, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %411 = shufflevector <8 x float> %117, <8 x float> %117, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %412 = shufflevector <64 x float> %411, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %413 = shufflevector <8 x float> %117, <8 x float> %117, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %414 = shufflevector <64 x float> %413, <64 x float> %412, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %415 = shufflevector <8 x float> %117, <8 x float> %117, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %416 = shufflevector <64 x float> %415, <64 x float> %414, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %417 = shufflevector <8 x float> %117, <8 x float> %117, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %418 = shufflevector <64 x float> %417, <64 x float> %416, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %419 = shufflevector <8 x float> %117, <8 x float> %117, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %420 = shufflevector <64 x float> %419, <64 x float> %418, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %421 = shufflevector <8 x float> %117, <8 x float> %117, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %422 = shufflevector <64 x float> %421, <64 x float> %420, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %423 = shufflevector <8 x float> %117, <8 x float> %117, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %424 = shufflevector <64 x float> %423, <64 x float> %422, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %425 = shufflevector <8 x float> %117, <8 x float> %117, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %426 = shufflevector <64 x float> %425, <64 x float> %424, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %427 = shufflevector <8 x float> %118, <8 x float> %118, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %428 = shufflevector <64 x float> %427, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %429 = shufflevector <8 x float> %118, <8 x float> %118, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %430 = shufflevector <64 x float> %429, <64 x float> %428, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %431 = shufflevector <8 x float> %118, <8 x float> %118, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %432 = shufflevector <64 x float> %431, <64 x float> %430, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %433 = shufflevector <8 x float> %118, <8 x float> %118, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %434 = shufflevector <64 x float> %433, <64 x float> %432, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %435 = shufflevector <8 x float> %118, <8 x float> %118, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %436 = shufflevector <64 x float> %435, <64 x float> %434, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %437 = shufflevector <8 x float> %118, <8 x float> %118, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %438 = shufflevector <64 x float> %437, <64 x float> %436, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %439 = shufflevector <8 x float> %118, <8 x float> %118, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %440 = shufflevector <64 x float> %439, <64 x float> %438, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %441 = shufflevector <8 x float> %118, <8 x float> %118, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %442 = shufflevector <64 x float> %441, <64 x float> %440, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %443 = shufflevector <8 x float> %119, <8 x float> %119, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %444 = shufflevector <64 x float> %443, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %445 = shufflevector <8 x float> %119, <8 x float> %119, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %446 = shufflevector <64 x float> %445, <64 x float> %444, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %447 = shufflevector <8 x float> %119, <8 x float> %119, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %448 = shufflevector <64 x float> %447, <64 x float> %446, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %449 = shufflevector <8 x float> %119, <8 x float> %119, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %450 = shufflevector <64 x float> %449, <64 x float> %448, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %451 = shufflevector <8 x float> %119, <8 x float> %119, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %452 = shufflevector <64 x float> %451, <64 x float> %450, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %453 = shufflevector <8 x float> %119, <8 x float> %119, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %454 = shufflevector <64 x float> %453, <64 x float> %452, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %455 = shufflevector <8 x float> %119, <8 x float> %119, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %456 = shufflevector <64 x float> %455, <64 x float> %454, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %457 = shufflevector <8 x float> %119, <8 x float> %119, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %458 = shufflevector <64 x float> %457, <64 x float> %456, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %459 = shufflevector <8 x float> %120, <8 x float> %120, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %460 = shufflevector <64 x float> %459, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %461 = shufflevector <8 x float> %120, <8 x float> %120, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %462 = shufflevector <64 x float> %461, <64 x float> %460, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %463 = shufflevector <8 x float> %120, <8 x float> %120, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %464 = shufflevector <64 x float> %463, <64 x float> %462, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %465 = shufflevector <8 x float> %120, <8 x float> %120, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %466 = shufflevector <64 x float> %465, <64 x float> %464, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %467 = shufflevector <8 x float> %120, <8 x float> %120, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %468 = shufflevector <64 x float> %467, <64 x float> %466, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %469 = shufflevector <8 x float> %120, <8 x float> %120, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %470 = shufflevector <64 x float> %469, <64 x float> %468, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %471 = shufflevector <8 x float> %120, <8 x float> %120, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %472 = shufflevector <64 x float> %471, <64 x float> %470, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %473 = shufflevector <8 x float> %120, <8 x float> %120, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %474 = shufflevector <64 x float> %473, <64 x float> %472, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %475 = shufflevector <8 x float> %121, <8 x float> %121, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %476 = shufflevector <64 x float> %475, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %477 = shufflevector <8 x float> %121, <8 x float> %121, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %478 = shufflevector <64 x float> %477, <64 x float> %476, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %479 = shufflevector <8 x float> %121, <8 x float> %121, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %480 = shufflevector <64 x float> %479, <64 x float> %478, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %481 = shufflevector <8 x float> %121, <8 x float> %121, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %482 = shufflevector <64 x float> %481, <64 x float> %480, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %483 = shufflevector <8 x float> %121, <8 x float> %121, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %484 = shufflevector <64 x float> %483, <64 x float> %482, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %485 = shufflevector <8 x float> %121, <8 x float> %121, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %486 = shufflevector <64 x float> %485, <64 x float> %484, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %487 = shufflevector <8 x float> %121, <8 x float> %121, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %488 = shufflevector <64 x float> %487, <64 x float> %486, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %489 = shufflevector <8 x float> %121, <8 x float> %121, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %490 = shufflevector <64 x float> %489, <64 x float> %488, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %491 = shufflevector <8 x float> %122, <8 x float> %122, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %492 = shufflevector <64 x float> %491, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %493 = shufflevector <8 x float> %122, <8 x float> %122, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %494 = shufflevector <64 x float> %493, <64 x float> %492, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %495 = shufflevector <8 x float> %122, <8 x float> %122, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %496 = shufflevector <64 x float> %495, <64 x float> %494, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %497 = shufflevector <8 x float> %122, <8 x float> %122, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %498 = shufflevector <64 x float> %497, <64 x float> %496, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %499 = shufflevector <8 x float> %122, <8 x float> %122, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %500 = shufflevector <64 x float> %499, <64 x float> %498, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %501 = shufflevector <8 x float> %122, <8 x float> %122, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %502 = shufflevector <64 x float> %501, <64 x float> %500, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %503 = shufflevector <8 x float> %122, <8 x float> %122, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %504 = shufflevector <64 x float> %503, <64 x float> %502, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %505 = shufflevector <8 x float> %122, <8 x float> %122, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %506 = shufflevector <64 x float> %505, <64 x float> %504, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %507 = call <64 x float> @llvm.fma.v64f32(<64 x float> %378, <64 x float> %506, <64 x float> zeroinitializer)
+  %508 = call <64 x float> @llvm.fma.v64f32(<64 x float> %346, <64 x float> %490, <64 x float> %507)
+  %509 = call <64 x float> @llvm.fma.v64f32(<64 x float> %314, <64 x float> %474, <64 x float> %508)
+  %510 = call <64 x float> @llvm.fma.v64f32(<64 x float> %282, <64 x float> %458, <64 x float> %509)
+  %511 = call <64 x float> @llvm.fma.v64f32(<64 x float> %250, <64 x float> %442, <64 x float> %510)
+  %512 = call <64 x float> @llvm.fma.v64f32(<64 x float> %218, <64 x float> %426, <64 x float> %511)
+  %513 = call <64 x float> @llvm.fma.v64f32(<64 x float> %186, <64 x float> %410, <64 x float> %512)
+  %514 = call <64 x float> @llvm.fma.v64f32(<64 x float> %154, <64 x float> %394, <64 x float> %513)
+  %515 = shufflevector <64 x float> %514, <64 x float> %514, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %516 = shufflevector <64 x float> %514, <64 x float> %514, <8 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15>
+  %517 = shufflevector <64 x float> %514, <64 x float> %514, <8 x i32> <i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
+  %518 = shufflevector <64 x float> %514, <64 x float> %514, <8 x i32> <i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31>
+  %519 = shufflevector <64 x float> %514, <64 x float> %514, <8 x i32> <i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39>
+  %520 = shufflevector <64 x float> %514, <64 x float> %514, <8 x i32> <i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47>
+  %521 = shufflevector <64 x float> %514, <64 x float> %514, <8 x i32> <i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55>
+  %522 = shufflevector <64 x float> %514, <64 x float> %514, <8 x i32> <i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63>
+  %523 = load <8 x float>, ptr addrspace(4) @__constant_8x8xf32, align 4
+  %524 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 32), align 4
+  %525 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 64), align 4
+  %526 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 96), align 4
+  %527 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 128), align 4
+  %528 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 160), align 4
+  %529 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 192), align 4
+  %530 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 224), align 4
+  %531 = extractelement <8 x float> %523, i64 0
+  %532 = extractelement <8 x float> %523, i64 1
+  %533 = extractelement <8 x float> %523, i64 2
+  %534 = extractelement <8 x float> %523, i64 3
+  %535 = extractelement <8 x float> %523, i64 4
+  %536 = extractelement <8 x float> %523, i64 5
+  %537 = extractelement <8 x float> %523, i64 6
+  %538 = extractelement <8 x float> %523, i64 7
+  %539 = extractelement <8 x float> %524, i64 0
+  %540 = extractelement <8 x float> %524, i64 1
+  %541 = extractelement <8 x float> %524, i64 2
+  %542 = extractelement <8 x float> %524, i64 3
+  %543 = extractelement <8 x float> %524, i64 4
+  %544 = extractelement <8 x float> %524, i64 5
+  %545 = extractelement <8 x float> %524, i64 6
+  %546 = extractelement <8 x float> %524, i64 7
+  %547 = extractelement <8 x float> %525, i64 0
+  %548 = extractelement <8 x float> %525, i64 1
+  %549 = extractelement <8 x float> %525, i64 2
+  %550 = extractelement <8 x float> %525, i64 3
+  %551 = extractelement <8 x float> %525, i64 4
+  %552 = extractelement <8 x float> %525, i64 5
+  %553 = extractelement <8 x float> %525, i64 6
+  %554 = extractelement <8 x float> %525, i64 7
+  %555 = extractelement <8 x float> %526, i64 0
+  %556 = extractelement <8 x float> %526, i64 1
+  %557 = extractelement <8 x float> %526, i64 2
+  %558 = extractelement <8 x float> %526, i64 3
+  %559 = extractelement <8 x float> %526, i64 4
+  %560 = extractelement <8 x float> %526, i64 5
+  %561 = extractelement <8 x float> %526, i64 6
+  %562 = extractelement <8 x float> %526, i64 7
+  %563 = extractelement <8 x float> %527, i64 0
+  %564 = extractelement <8 x float> %527, i64 1
+  %565 = extractelement <8 x float> %527, i64 2
+  %566 = extractelement <8 x float> %527, i64 3
+  %567 = extractelement <8 x float> %527, i64 4
+  %568 = extractelement <8 x float> %527, i64 5
+  %569 = extractelement <8 x float> %527, i64 6
+  %570 = extractelement <8 x float> %527, i64 7
+  %571 = extractelement <8 x float> %528, i64 0
+  %572 = extractelement <8 x float> %528, i64 1
+  %573 = extractelement <8 x float> %528, i64 2
+  %574 = extractelement <8 x float> %528, i64 3
+  %575 = extractelement <8 x float> %528, i64 4
+  %576 = extractelement <8 x float> %528, i64 5
+  %577 = extractelement <8 x float> %528, i64 6
+  %578 = extractelement <8 x float> %528, i64 7
+  %579 = extractelement <8 x float> %529, i64 0
+  %580 = extractelement <8 x float> %529, i64 1
+  %581 = extractelement <8 x float> %529, i64 2
+  %582 = extractelement <8 x float> %529, i64 3
+  %583 = extractelement <8 x float> %529, i64 4
+  %584 = extractelement <8 x float> %529, i64 5
+  %585 = extractelement <8 x float> %529, i64 6
+  %586 = extractelement <8 x float> %529, i64 7
+  %587 = extractelement <8 x float> %530, i64 0
+  %588 = extractelement <8 x float> %530, i64 1
+  %589 = extractelement <8 x float> %530, i64 2
+  %590 = extractelement <8 x float> %530, i64 3
+  %591 = extractelement <8 x float> %530, i64 4
+  %592 = extractelement <8 x float> %530, i64 5
+  %593 = extractelement <8 x float> %530, i64 6
+  %594 = extractelement <8 x float> %530, i64 7
+  %595 = insertelement <8 x float> poison, float %531, i32 0
+  %596 = shufflevector <8 x float> %595, <8 x float> poison, <8 x i32> zeroinitializer
+  %597 = shufflevector <8 x float> %596, <8 x float> %596, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %598 = shufflevector <64 x float> %597, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %599 = insertelement <8 x float> poison, float %539, i32 0
+  %600 = shufflevector <8 x float> %599, <8 x float> poison, <8 x i32> zeroinitializer
+  %601 = shufflevector <8 x float> %600, <8 x float> %600, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %602 = shufflevector <64 x float> %601, <64 x float> %598, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %603 = insertelement <8 x float> poison, float %547, i32 0
+  %604 = shufflevector <8 x float> %603, <8 x float> poison, <8 x i32> zeroinitializer
+  %605 = shufflevector <8 x float> %604, <8 x float> %604, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %606 = shufflevector <64 x float> %605, <64 x float> %602, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %607 = insertelement <8 x float> poison, float %555, i32 0
+  %608 = shufflevector <8 x float> %607, <8 x float> poison, <8 x i32> zeroinitializer
+  %609 = shufflevector <8 x float> %608, <8 x float> %608, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %610 = shufflevector <64 x float> %609, <64 x float> %606, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %611 = insertelement <8 x float> poison, float %563, i32 0
+  %612 = shufflevector <8 x float> %611, <8 x float> poison, <8 x i32> zeroinitializer
+  %613 = shufflevector <8 x float> %612, <8 x float> %612, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %614 = shufflevector <64 x float> %613, <64 x float> %610, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %615 = insertelement <8 x float> poison, float %571, i32 0
+  %616 = shufflevector <8 x float> %615, <8 x float> poison, <8 x i32> zeroinitializer
+  %617 = shufflevector <8 x float> %616, <8 x float> %616, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %618 = shufflevector <64 x float> %617, <64 x float> %614, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %619 = insertelement <8 x float> poison, float %579, i32 0
+  %620 = shufflevector <8 x float> %619, <8 x float> poison, <8 x i32> zeroinitializer
+  %621 = shufflevector <8 x float> %620, <8 x float> %620, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %622 = shufflevector <64 x float> %621, <64 x float> %618, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %623 = insertelement <8 x float> poison, float %587, i32 0
+  %624 = shufflevector <8 x float> %623, <8 x float> poison, <8 x i32> zeroinitializer
+  %625 = shufflevector <8 x float> %624, <8 x float> %624, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %626 = shufflevector <64 x float> %625, <64 x float> %622, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %627 = insertelement <8 x float> poison, float %532, i32 0
+  %628 = shufflevector <8 x float> %627, <8 x float> poison, <8 x i32> zeroinitializer
+  %629 = shufflevector <8 x float> %628, <8 x float> %628, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %630 = shufflevector <64 x float> %629, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %631 = insertelement <8 x float> poison, float %540, i32 0
+  %632 = shufflevector <8 x float> %631, <8 x float> poison, <8 x i32> zeroinitializer
+  %633 = shufflevector <8 x float> %632, <8 x float> %632, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %634 = shufflevector <64 x float> %633, <64 x float> %630, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %635 = insertelement <8 x float> poison, float %548, i32 0
+  %636 = shufflevector <8 x float> %635, <8 x float> poison, <8 x i32> zeroinitializer
+  %637 = shufflevector <8 x float> %636, <8 x float> %636, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %638 = shufflevector <64 x float> %637, <64 x float> %634, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %639 = insertelement <8 x float> poison, float %556, i32 0
+  %640 = shufflevector <8 x float> %639, <8 x float> poison, <8 x i32> zeroinitializer
+  %641 = shufflevector <8 x float> %640, <8 x float> %640, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %642 = shufflevector <64 x float> %641, <64 x float> %638, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %643 = insertelement <8 x float> poison, float %564, i32 0
+  %644 = shufflevector <8 x float> %643, <8 x float> poison, <8 x i32> zeroinitializer
+  %645 = shufflevector <8 x float> %644, <8 x float> %644, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %646 = shufflevector <64 x float> %645, <64 x float> %642, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %647 = insertelement <8 x float> poison, float %572, i32 0
+  %648 = shufflevector <8 x float> %647, <8 x float> poison, <8 x i32> zeroinitializer
+  %649 = shufflevector <8 x float> %648, <8 x float> %648, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %650 = shufflevector <64 x float> %649, <64 x float> %646, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %651 = insertelement <8 x float> poison, float %580, i32 0
+  %652 = shufflevector <8 x float> %651, <8 x float> poison, <8 x i32> zeroinitializer
+  %653 = shufflevector <8 x float> %652, <8 x float> %652, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %654 = shufflevector <64 x float> %653, <64 x float> %650, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %655 = insertelement <8 x float> poison, float %588, i32 0
+  %656 = shufflevector <8 x float> %655, <8 x float> poison, <8 x i32> zeroinitializer
+  %657 = shufflevector <8 x float> %656, <8 x float> %656, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %658 = shufflevector <64 x float> %657, <64 x float> %654, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %659 = insertelement <8 x float> poison, float %533, i32 0
+  %660 = shufflevector <8 x float> %659, <8 x float> poison, <8 x i32> zeroinitializer
+  %661 = shufflevector <8 x float> %660, <8 x float> %660, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %662 = shufflevector <64 x float> %661, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %663 = insertelement <8 x float> poison, float %541, i32 0
+  %664 = shufflevector <8 x float> %663, <8 x float> poison, <8 x i32> zeroinitializer
+  %665 = shufflevector <8 x float> %664, <8 x float> %664, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %666 = shufflevector <64 x float> %665, <64 x float> %662, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %667 = insertelement <8 x float> poison, float %549, i32 0
+  %668 = shufflevector <8 x float> %667, <8 x float> poison, <8 x i32> zeroinitializer
+  %669 = shufflevector <8 x float> %668, <8 x float> %668, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %670 = shufflevector <64 x float> %669, <64 x float> %666, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %671 = insertelement <8 x float> poison, float %557, i32 0
+  %672 = shufflevector <8 x float> %671, <8 x float> poison, <8 x i32> zeroinitializer
+  %673 = shufflevector <8 x float> %672, <8 x float> %672, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %674 = shufflevector <64 x float> %673, <64 x float> %670, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %675 = insertelement <8 x float> poison, float %565, i32 0
+  %676 = shufflevector <8 x float> %675, <8 x float> poison, <8 x i32> zeroinitializer
+  %677 = shufflevector <8 x float> %676, <8 x float> %676, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %678 = shufflevector <64 x float> %677, <64 x float> %674, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %679 = insertelement <8 x float> poison, float %573, i32 0
+  %680 = shufflevector <8 x float> %679, <8 x float> poison, <8 x i32> zeroinitializer
+  %681 = shufflevector <8 x float> %680, <8 x float> %680, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %682 = shufflevector <64 x float> %681, <64 x float> %678, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %683 = insertelement <8 x float> poison, float %581, i32 0
+  %684 = shufflevector <8 x float> %683, <8 x float> poison, <8 x i32> zeroinitializer
+  %685 = shufflevector <8 x float> %684, <8 x float> %684, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %686 = shufflevector <64 x float> %685, <64 x float> %682, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %687 = insertelement <8 x float> poison, float %589, i32 0
+  %688 = shufflevector <8 x float> %687, <8 x float> poison, <8 x i32> zeroinitializer
+  %689 = shufflevector <8 x float> %688, <8 x float> %688, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %690 = shufflevector <64 x float> %689, <64 x float> %686, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %691 = insertelement <8 x float> poison, float %534, i32 0
+  %692 = shufflevector <8 x float> %691, <8 x float> poison, <8 x i32> zeroinitializer
+  %693 = shufflevector <8 x float> %692, <8 x float> %692, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %694 = shufflevector <64 x float> %693, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %695 = insertelement <8 x float> poison, float %542, i32 0
+  %696 = shufflevector <8 x float> %695, <8 x float> poison, <8 x i32> zeroinitializer
+  %697 = shufflevector <8 x float> %696, <8 x float> %696, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %698 = shufflevector <64 x float> %697, <64 x float> %694, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %699 = insertelement <8 x float> poison, float %550, i32 0
+  %700 = shufflevector <8 x float> %699, <8 x float> poison, <8 x i32> zeroinitializer
+  %701 = shufflevector <8 x float> %700, <8 x float> %700, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %702 = shufflevector <64 x float> %701, <64 x float> %698, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %703 = insertelement <8 x float> poison, float %558, i32 0
+  %704 = shufflevector <8 x float> %703, <8 x float> poison, <8 x i32> zeroinitializer
+  %705 = shufflevector <8 x float> %704, <8 x float> %704, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %706 = shufflevector <64 x float> %705, <64 x float> %702, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %707 = insertelement <8 x float> poison, float %566, i32 0
+  %708 = shufflevector <8 x float> %707, <8 x float> poison, <8 x i32> zeroinitializer
+  %709 = shufflevector <8 x float> %708, <8 x float> %708, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %710 = shufflevector <64 x float> %709, <64 x float> %706, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %711 = insertelement <8 x float> poison, float %574, i32 0
+  %712 = shufflevector <8 x float> %711, <8 x float> poison, <8 x i32> zeroinitializer
+  %713 = shufflevector <8 x float> %712, <8 x float> %712, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %714 = shufflevector <64 x float> %713, <64 x float> %710, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %715 = insertelement <8 x float> poison, float %582, i32 0
+  %716 = shufflevector <8 x float> %715, <8 x float> poison, <8 x i32> zeroinitializer
+  %717 = shufflevector <8 x float> %716, <8 x float> %716, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %718 = shufflevector <64 x float> %717, <64 x float> %714, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %719 = insertelement <8 x float> poison, float %590, i32 0
+  %720 = shufflevector <8 x float> %719, <8 x float> poison, <8 x i32> zeroinitializer
+  %721 = shufflevector <8 x float> %720, <8 x float> %720, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %722 = shufflevector <64 x float> %721, <64 x float> %718, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %723 = insertelement <8 x float> poison, float %535, i32 0
+  %724 = shufflevector <8 x float> %723, <8 x float> poison, <8 x i32> zeroinitializer
+  %725 = shufflevector <8 x float> %724, <8 x float> %724, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %726 = shufflevector <64 x float> %725, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %727 = insertelement <8 x float> poison, float %543, i32 0
+  %728 = shufflevector <8 x float> %727, <8 x float> poison, <8 x i32> zeroinitializer
+  %729 = shufflevector <8 x float> %728, <8 x float> %728, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %730 = shufflevector <64 x float> %729, <64 x float> %726, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %731 = insertelement <8 x float> poison, float %551, i32 0
+  %732 = shufflevector <8 x float> %731, <8 x float> poison, <8 x i32> zeroinitializer
+  %733 = shufflevector <8 x float> %732, <8 x float> %732, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %734 = shufflevector <64 x float> %733, <64 x float> %730, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %735 = insertelement <8 x float> poison, float %559, i32 0
+  %736 = shufflevector <8 x float> %735, <8 x float> poison, <8 x i32> zeroinitializer
+  %737 = shufflevector <8 x float> %736, <8 x float> %736, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %738 = shufflevector <64 x float> %737, <64 x float> %734, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %739 = insertelement <8 x float> poison, float %567, i32 0
+  %740 = shufflevector <8 x float> %739, <8 x float> poison, <8 x i32> zeroinitializer
+  %741 = shufflevector <8 x float> %740, <8 x float> %740, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %742 = shufflevector <64 x float> %741, <64 x float> %738, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %743 = insertelement <8 x float> poison, float %575, i32 0
+  %744 = shufflevector <8 x float> %743, <8 x float> poison, <8 x i32> zeroinitializer
+  %745 = shufflevector <8 x float> %744, <8 x float> %744, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %746 = shufflevector <64 x float> %745, <64 x float> %742, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %747 = insertelement <8 x float> poison, float %583, i32 0
+  %748 = shufflevector <8 x float> %747, <8 x float> poison, <8 x i32> zeroinitializer
+  %749 = shufflevector <8 x float> %748, <8 x float> %748, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %750 = shufflevector <64 x float> %749, <64 x float> %746, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %751 = insertelement <8 x float> poison, float %591, i32 0
+  %752 = shufflevector <8 x float> %751, <8 x float> poison, <8 x i32> zeroinitializer
+  %753 = shufflevector <8 x float> %752, <8 x float> %752, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %754 = shufflevector <64 x float> %753, <64 x float> %750, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %755 = insertelement <8 x float> poison, float %536, i32 0
+  %756 = shufflevector <8 x float> %755, <8 x float> poison, <8 x i32> zeroinitializer
+  %757 = shufflevector <8 x float> %756, <8 x float> %756, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %758 = shufflevector <64 x float> %757, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %759 = insertelement <8 x float> poison, float %544, i32 0
+  %760 = shufflevector <8 x float> %759, <8 x float> poison, <8 x i32> zeroinitializer
+  %761 = shufflevector <8 x float> %760, <8 x float> %760, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %762 = shufflevector <64 x float> %761, <64 x float> %758, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %763 = insertelement <8 x float> poison, float %552, i32 0
+  %764 = shufflevector <8 x float> %763, <8 x float> poison, <8 x i32> zeroinitializer
+  %765 = shufflevector <8 x float> %764, <8 x float> %764, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %766 = shufflevector <64 x float> %765, <64 x float> %762, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %767 = insertelement <8 x float> poison, float %560, i32 0
+  %768 = shufflevector <8 x float> %767, <8 x float> poison, <8 x i32> zeroinitializer
+  %769 = shufflevector <8 x float> %768, <8 x float> %768, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %770 = shufflevector <64 x float> %769, <64 x float> %766, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %771 = insertelement <8 x float> poison, float %568, i32 0
+  %772 = shufflevector <8 x float> %771, <8 x float> poison, <8 x i32> zeroinitializer
+  %773 = shufflevector <8 x float> %772, <8 x float> %772, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %774 = shufflevector <64 x float> %773, <64 x float> %770, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %775 = insertelement <8 x float> poison, float %576, i32 0
+  %776 = shufflevector <8 x float> %775, <8 x float> poison, <8 x i32> zeroinitializer
+  %777 = shufflevector <8 x float> %776, <8 x float> %776, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %778 = shufflevector <64 x float> %777, <64 x float> %774, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %779 = insertelement <8 x float> poison, float %584, i32 0
+  %780 = shufflevector <8 x float> %779, <8 x float> poison, <8 x i32> zeroinitializer
+  %781 = shufflevector <8 x float> %780, <8 x float> %780, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %782 = shufflevector <64 x float> %781, <64 x float> %778, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %783 = insertelement <8 x float> poison, float %592, i32 0
+  %784 = shufflevector <8 x float> %783, <8 x float> poison, <8 x i32> zeroinitializer
+  %785 = shufflevector <8 x float> %784, <8 x float> %784, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %786 = shufflevector <64 x float> %785, <64 x float> %782, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %787 = insertelement <8 x float> poison, float %537, i32 0
+  %788 = shufflevector <8 x float> %787, <8 x float> poison, <8 x i32> zeroinitializer
+  %789 = shufflevector <8 x float> %788, <8 x float> %788, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %790 = shufflevector <64 x float> %789, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %791 = insertelement <8 x float> poison, float %545, i32 0
+  %792 = shufflevector <8 x float> %791, <8 x float> poison, <8 x i32> zeroinitializer
+  %793 = shufflevector <8 x float> %792, <8 x float> %792, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %794 = shufflevector <64 x float> %793, <64 x float> %790, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %795 = insertelement <8 x float> poison, float %553, i32 0
+  %796 = shufflevector <8 x float> %795, <8 x float> poison, <8 x i32> zeroinitializer
+  %797 = shufflevector <8 x float> %796, <8 x float> %796, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %798 = shufflevector <64 x float> %797, <64 x float> %794, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %799 = insertelement <8 x float> poison, float %561, i32 0
+  %800 = shufflevector <8 x float> %799, <8 x float> poison, <8 x i32> zeroinitializer
+  %801 = shufflevector <8 x float> %800, <8 x float> %800, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %802 = shufflevector <64 x float> %801, <64 x float> %798, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %803 = insertelement <8 x float> poison, float %569, i32 0
+  %804 = shufflevector <8 x float> %803, <8 x float> poison, <8 x i32> zeroinitializer
+  %805 = shufflevector <8 x float> %804, <8 x float> %804, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %806 = shufflevector <64 x float> %805, <64 x float> %802, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %807 = insertelement <8 x float> poison, float %577, i32 0
+  %808 = shufflevector <8 x float> %807, <8 x float> poison, <8 x i32> zeroinitializer
+  %809 = shufflevector <8 x float> %808, <8 x float> %808, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %810 = shufflevector <64 x float> %809, <64 x float> %806, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %811 = insertelement <8 x float> poison, float %585, i32 0
+  %812 = shufflevector <8 x float> %811, <8 x float> poison, <8 x i32> zeroinitializer
+  %813 = shufflevector <8 x float> %812, <8 x float> %812, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %814 = shufflevector <64 x float> %813, <64 x float> %810, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %815 = insertelement <8 x float> poison, float %593, i32 0
+  %816 = shufflevector <8 x float> %815, <8 x float> poison, <8 x i32> zeroinitializer
+  %817 = shufflevector <8 x float> %816, <8 x float> %816, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %818 = shufflevector <64 x float> %817, <64 x float> %814, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %819 = insertelement <8 x float> poison, float %538, i32 0
+  %820 = shufflevector <8 x float> %819, <8 x float> poison, <8 x i32> zeroinitializer
+  %821 = shufflevector <8 x float> %820, <8 x float> %820, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %822 = shufflevector <64 x float> %821, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %823 = insertelement <8 x float> poison, float %546, i32 0
+  %824 = shufflevector <8 x float> %823, <8 x float> poison, <8 x i32> zeroinitializer
+  %825 = shufflevector <8 x float> %824, <8 x float> %824, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %826 = shufflevector <64 x float> %825, <64 x float> %822, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %827 = insertelement <8 x float> poison, float %554, i32 0
+  %828 = shufflevector <8 x float> %827, <8 x float> poison, <8 x i32> zeroinitializer
+  %829 = shufflevector <8 x float> %828, <8 x float> %828, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %830 = shufflevector <64 x float> %829, <64 x float> %826, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %831 = insertelement <8 x float> poison, float %562, i32 0
+  %832 = shufflevector <8 x float> %831, <8 x float> poison, <8 x i32> zeroinitializer
+  %833 = shufflevector <8 x float> %832, <8 x float> %832, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %834 = shufflevector <64 x float> %833, <64 x float> %830, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %835 = insertelement <8 x float> poison, float %570, i32 0
+  %836 = shufflevector <8 x float> %835, <8 x float> poison, <8 x i32> zeroinitializer
+  %837 = shufflevector <8 x float> %836, <8 x float> %836, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %838 = shufflevector <64 x float> %837, <64 x float> %834, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %839 = insertelement <8 x float> poison, float %578, i32 0
+  %840 = shufflevector <8 x float> %839, <8 x float> poison, <8 x i32> zeroinitializer
+  %841 = shufflevector <8 x float> %840, <8 x float> %840, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %842 = shufflevector <64 x float> %841, <64 x float> %838, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %843 = insertelement <8 x float> poison, float %586, i32 0
+  %844 = shufflevector <8 x float> %843, <8 x float> poison, <8 x i32> zeroinitializer
+  %845 = shufflevector <8 x float> %844, <8 x float> %844, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %846 = shufflevector <64 x float> %845, <64 x float> %842, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %847 = insertelement <8 x float> poison, float %594, i32 0
+  %848 = shufflevector <8 x float> %847, <8 x float> poison, <8 x i32> zeroinitializer
+  %849 = shufflevector <8 x float> %848, <8 x float> %848, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %850 = shufflevector <64 x float> %849, <64 x float> %846, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %851 = shufflevector <8 x float> %515, <8 x float> %515, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %852 = shufflevector <64 x float> %851, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %853 = shufflevector <8 x float> %515, <8 x float> %515, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %854 = shufflevector <64 x float> %853, <64 x float> %852, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %855 = shufflevector <8 x float> %515, <8 x float> %515, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %856 = shufflevector <64 x float> %855, <64 x float> %854, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %857 = shufflevector <8 x float> %515, <8 x float> %515, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %858 = shufflevector <64 x float> %857, <64 x float> %856, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %859 = shufflevector <8 x float> %515, <8 x float> %515, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %860 = shufflevector <64 x float> %859, <64 x float> %858, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %861 = shufflevector <8 x float> %515, <8 x float> %515, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %862 = shufflevector <64 x float> %861, <64 x float> %860, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %863 = shufflevector <8 x float> %515, <8 x float> %515, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %864 = shufflevector <64 x float> %863, <64 x float> %862, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %865 = shufflevector <8 x float> %515, <8 x float> %515, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %866 = shufflevector <64 x float> %865, <64 x float> %864, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %867 = shufflevector <8 x float> %516, <8 x float> %516, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %868 = shufflevector <64 x float> %867, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %869 = shufflevector <8 x float> %516, <8 x float> %516, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %870 = shufflevector <64 x float> %869, <64 x float> %868, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %871 = shufflevector <8 x float> %516, <8 x float> %516, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %872 = shufflevector <64 x float> %871, <64 x float> %870, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %873 = shufflevector <8 x float> %516, <8 x float> %516, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %874 = shufflevector <64 x float> %873, <64 x float> %872, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %875 = shufflevector <8 x float> %516, <8 x float> %516, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %876 = shufflevector <64 x float> %875, <64 x float> %874, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %877 = shufflevector <8 x float> %516, <8 x float> %516, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %878 = shufflevector <64 x float> %877, <64 x float> %876, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %879 = shufflevector <8 x float> %516, <8 x float> %516, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %880 = shufflevector <64 x float> %879, <64 x float> %878, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %881 = shufflevector <8 x float> %516, <8 x float> %516, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %882 = shufflevector <64 x float> %881, <64 x float> %880, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %883 = shufflevector <8 x float> %517, <8 x float> %517, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %884 = shufflevector <64 x float> %883, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %885 = shufflevector <8 x float> %517, <8 x float> %517, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %886 = shufflevector <64 x float> %885, <64 x float> %884, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %887 = shufflevector <8 x float> %517, <8 x float> %517, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %888 = shufflevector <64 x float> %887, <64 x float> %886, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %889 = shufflevector <8 x float> %517, <8 x float> %517, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %890 = shufflevector <64 x float> %889, <64 x float> %888, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %891 = shufflevector <8 x float> %517, <8 x float> %517, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %892 = shufflevector <64 x float> %891, <64 x float> %890, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %893 = shufflevector <8 x float> %517, <8 x float> %517, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %894 = shufflevector <64 x float> %893, <64 x float> %892, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %895 = shufflevector <8 x float> %517, <8 x float> %517, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %896 = shufflevector <64 x float> %895, <64 x float> %894, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %897 = shufflevector <8 x float> %517, <8 x float> %517, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %898 = shufflevector <64 x float> %897, <64 x float> %896, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %899 = shufflevector <8 x float> %518, <8 x float> %518, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %900 = shufflevector <64 x float> %899, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %901 = shufflevector <8 x float> %518, <8 x float> %518, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %902 = shufflevector <64 x float> %901, <64 x float> %900, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %903 = shufflevector <8 x float> %518, <8 x float> %518, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %904 = shufflevector <64 x float> %903, <64 x float> %902, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %905 = shufflevector <8 x float> %518, <8 x float> %518, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %906 = shufflevector <64 x float> %905, <64 x float> %904, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %907 = shufflevector <8 x float> %518, <8 x float> %518, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %908 = shufflevector <64 x float> %907, <64 x float> %906, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %909 = shufflevector <8 x float> %518, <8 x float> %518, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %910 = shufflevector <64 x float> %909, <64 x float> %908, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %911 = shufflevector <8 x float> %518, <8 x float> %518, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %912 = shufflevector <64 x float> %911, <64 x float> %910, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %913 = shufflevector <8 x float> %518, <8 x float> %518, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %914 = shufflevector <64 x float> %913, <64 x float> %912, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %915 = shufflevector <8 x float> %519, <8 x float> %519, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %916 = shufflevector <64 x float> %915, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %917 = shufflevector <8 x float> %519, <8 x float> %519, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %918 = shufflevector <64 x float> %917, <64 x float> %916, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %919 = shufflevector <8 x float> %519, <8 x float> %519, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %920 = shufflevector <64 x float> %919, <64 x float> %918, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %921 = shufflevector <8 x float> %519, <8 x float> %519, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %922 = shufflevector <64 x float> %921, <64 x float> %920, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %923 = shufflevector <8 x float> %519, <8 x float> %519, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %924 = shufflevector <64 x float> %923, <64 x float> %922, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %925 = shufflevector <8 x float> %519, <8 x float> %519, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %926 = shufflevector <64 x float> %925, <64 x float> %924, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %927 = shufflevector <8 x float> %519, <8 x float> %519, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %928 = shufflevector <64 x float> %927, <64 x float> %926, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %929 = shufflevector <8 x float> %519, <8 x float> %519, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %930 = shufflevector <64 x float> %929, <64 x float> %928, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %931 = shufflevector <8 x float> %520, <8 x float> %520, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %932 = shufflevector <64 x float> %931, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %933 = shufflevector <8 x float> %520, <8 x float> %520, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %934 = shufflevector <64 x float> %933, <64 x float> %932, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %935 = shufflevector <8 x float> %520, <8 x float> %520, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %936 = shufflevector <64 x float> %935, <64 x float> %934, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %937 = shufflevector <8 x float> %520, <8 x float> %520, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %938 = shufflevector <64 x float> %937, <64 x float> %936, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %939 = shufflevector <8 x float> %520, <8 x float> %520, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %940 = shufflevector <64 x float> %939, <64 x float> %938, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %941 = shufflevector <8 x float> %520, <8 x float> %520, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %942 = shufflevector <64 x float> %941, <64 x float> %940, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %943 = shufflevector <8 x float> %520, <8 x float> %520, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %944 = shufflevector <64 x float> %943, <64 x float> %942, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %945 = shufflevector <8 x float> %520, <8 x float> %520, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %946 = shufflevector <64 x float> %945, <64 x float> %944, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %947 = shufflevector <8 x float> %521, <8 x float> %521, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %948 = shufflevector <64 x float> %947, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %949 = shufflevector <8 x float> %521, <8 x float> %521, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %950 = shufflevector <64 x float> %949, <64 x float> %948, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %951 = shufflevector <8 x float> %521, <8 x float> %521, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %952 = shufflevector <64 x float> %951, <64 x float> %950, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %953 = shufflevector <8 x float> %521, <8 x float> %521, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %954 = shufflevector <64 x float> %953, <64 x float> %952, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %955 = shufflevector <8 x float> %521, <8 x float> %521, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %956 = shufflevector <64 x float> %955, <64 x float> %954, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %957 = shufflevector <8 x float> %521, <8 x float> %521, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %958 = shufflevector <64 x float> %957, <64 x float> %956, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %959 = shufflevector <8 x float> %521, <8 x float> %521, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %960 = shufflevector <64 x float> %959, <64 x float> %958, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %961 = shufflevector <8 x float> %521, <8 x float> %521, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %962 = shufflevector <64 x float> %961, <64 x float> %960, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %963 = shufflevector <8 x float> %522, <8 x float> %522, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %964 = shufflevector <64 x float> %963, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %965 = shufflevector <8 x float> %522, <8 x float> %522, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %966 = shufflevector <64 x float> %965, <64 x float> %964, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %967 = shufflevector <8 x float> %522, <8 x float> %522, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %968 = shufflevector <64 x float> %967, <64 x float> %966, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %969 = shufflevector <8 x float> %522, <8 x float> %522, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %970 = shufflevector <64 x float> %969, <64 x float> %968, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %971 = shufflevector <8 x float> %522, <8 x float> %522, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %972 = shufflevector <64 x float> %971, <64 x float> %970, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %973 = shufflevector <8 x float> %522, <8 x float> %522, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %974 = shufflevector <64 x float> %973, <64 x float> %972, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %975 = shufflevector <8 x float> %522, <8 x float> %522, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %976 = shufflevector <64 x float> %975, <64 x float> %974, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %977 = shufflevector <8 x float> %522, <8 x float> %522, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %978 = shufflevector <64 x float> %977, <64 x float> %976, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %979 = call <64 x float> @llvm.fma.v64f32(<64 x float> %850, <64 x float> %978, <64 x float> zeroinitializer)
+  %980 = call <64 x float> @llvm.fma.v64f32(<64 x float> %818, <64 x float> %962, <64 x float> %979)
+  %981 = call <64 x float> @llvm.fma.v64f32(<64 x float> %786, <64 x float> %946, <64 x float> %980)
+  %982 = call <64 x float> @llvm.fma.v64f32(<64 x float> %754, <64 x float> %930, <64 x float> %981)
+  %983 = call <64 x float> @llvm.fma.v64f32(<64 x float> %722, <64 x float> %914, <64 x float> %982)
+  %984 = call <64 x float> @llvm.fma.v64f32(<64 x float> %690, <64 x float> %898, <64 x float> %983)
+  %985 = call <64 x float> @llvm.fma.v64f32(<64 x float> %658, <64 x float> %882, <64 x float> %984)
+  %986 = call <64 x float> @llvm.fma.v64f32(<64 x float> %626, <64 x float> %866, <64 x float> %985)
+  %987 = shufflevector <64 x float> %986, <64 x float> %986, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %988 = shufflevector <64 x float> %986, <64 x float> %986, <8 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15>
+  %989 = shufflevector <64 x float> %986, <64 x float> %986, <8 x i32> <i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
+  %990 = shufflevector <64 x float> %986, <64 x float> %986, <8 x i32> <i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31>
+  %991 = shufflevector <64 x float> %986, <64 x float> %986, <8 x i32> <i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39>
+  %992 = shufflevector <64 x float> %986, <64 x float> %986, <8 x i32> <i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47>
+  %993 = shufflevector <64 x float> %986, <64 x float> %986, <8 x i32> <i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55>
+  %994 = shufflevector <64 x float> %986, <64 x float> %986, <8 x i32> <i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63>
+  br label %995
+
+995:                                              ; preds = %998, %42
+  %996 = phi i32 [ %1007, %998 ], [ 0, %42 ]
+  %997 = icmp slt i32 %996, 8
+  br i1 %997, label %998, label %1008
+
+998:                                              ; preds = %995
+  %999 = zext i32 %996 to i64
+  %1000 = extractelement <8 x float> %987, i64 %999
+  %1001 = add nuw nsw i64 0, %999
+  %1002 = add nuw nsw i64 %1001, 0
+  %1003 = add nuw nsw i64 %1002, 0
+  %1004 = add nuw nsw i64 %1003, 0
+  %1005 = add nuw nsw i64 %1004, 0
+  %1006 = getelementptr inbounds nuw float, ptr addrspace(1) %1, i64 %1005
+  store float %1000, ptr addrspace(1) %1006, align 4
+  %1007 = add i32 %996, 1
+  br label %995
+
+1008:                                             ; preds = %1011, %995
+  %1009 = phi i32 [ %1020, %1011 ], [ 0, %995 ]
+  %1010 = icmp slt i32 %1009, 8
+  br i1 %1010, label %1011, label %1021
+
+1011:                                             ; preds = %1008
+  %1012 = zext i32 %1009 to i64
+  %1013 = extractelement <8 x float> %988, i64 %1012
+  %1014 = add nuw nsw i64 8, %1012
+  %1015 = add nuw nsw i64 %1014, 0
+  %1016 = add nuw nsw i64 %1015, 0
+  %1017 = add nuw nsw i64 %1016, 0
+  %1018 = add nuw nsw i64 %1017, 0
+  %1019 = getelementptr inbounds nuw float, ptr addrspace(1) %1, i64 %1018
+  store float %1013, ptr addrspace(1) %1019, align 4
+  %1020 = add i32 %1009, 1
+  br label %1008
+
+1021:                                             ; preds = %1024, %1008
+  %1022 = phi i32 [ %1033, %1024 ], [ 0, %1008 ]
+  %1023 = icmp slt i32 %1022, 8
+  br i1 %1023, label %1024, label %1034
+
+1024:                                             ; preds = %1021
+  %1025 = zext i32 %1022 to i64
+  %1026 = extractelement <8 x float> %989, i64 %1025
+  %1027 = add nuw nsw i64 16, %1025
+  %1028 = add nuw nsw i64 %1027, 0
+  %1029 = add nuw nsw i64 %1028, 0
+  %1030 = add nuw nsw i64 %1029, 0
+  %1031 = add nuw nsw i64 %1030, 0
+  %1032 = getelementptr inbounds nuw float, ptr addrspace(1) %1, i64 %1031
+  store float %1026, ptr addrspace(1) %1032, align 4
+  %1033 = add i32 %1022, 1
+  br label %1021
+
+1034:                                             ; preds = %1037, %1021
+  %1035 = phi i32 [ %1046, %1037 ], [ 0, %1021 ]
+  %1036 = icmp slt i32 %1035, 8
+  br i1 %1036, label %1037, label %1047
+
+1037:                                             ; preds = %1034
+  %1038 = zext i32 %1035 to i64
+  %1039 = extractelement <8 x float> %990, i64 %1038
+  %1040 = add nuw nsw i64 24, %1038
+  %1041 = add nuw nsw i64 %1040, 0
+  %1042 = add nuw nsw i64 %1041, 0
+  %1043 = add nuw nsw i64 %1042, 0
+  %1044 = add nuw nsw i64 %1043, 0
+  %1045 = getelementptr inbounds nuw float, ptr addrspace(1) %1, i64 %1044
+  store float %1039, ptr addrspace(1) %1045, align 4
+  %1046 = add i32 %1035, 1
+  br label %1034
+
+1047:                                             ; preds = %1050, %1034
+  %1048 = phi i32 [ %1059, %1050 ], [ 0, %1034 ]
+  %1049 = icmp slt i32 %1048, 8
+  br i1 %1049, label %1050, label %1060
+
+1050:                                             ; preds = %1047
+  %1051 = zext i32 %1048 to i64
+  %1052 = extractelement <8 x float> %991, i64 %1051
+  %1053 = add nuw nsw i64 32, %1051
+  %1054 = add nuw nsw i64 %1053, 0
+  %1055 = add nuw nsw i64 %1054, 0
+  %1056 = add nuw nsw i64 %1055, 0
+  %1057 = add nuw nsw i64 %1056, 0
+  %1058 = getelementptr inbounds nuw float, ptr addrspace(1) %1, i64 %1057
+  store float %1052, ptr addrspace(1) %1058, align 4
+  %1059 = add i32 %1048, 1
+  br label %1047
+
+1060:                                             ; preds = %1063, %1047
+  %1061 = phi i32 [ %1072, %1063 ], [ 0, %1047 ]
+  %1062 = icmp slt i32 %1061, 8
+  br i1 %1062, label %1063, label %1073
+
+1063:                                             ; preds = %1060
+  %1064 = zext i32 %1061 to i64
+  %1065 = extractelement <8 x float> %992, i64 %1064
+  %1066 = add nuw nsw i64 40, %1064
+  %1067 = add nuw nsw i64 %1066, 0
+  %1068 = add nuw nsw i64 %1067, 0
+  %1069 = add nuw nsw i64 %1068, 0
+  %1070 = add nuw nsw i64 %1069, 0
+  %1071 = getelementptr inbounds nuw float, ptr addrspace(1) %1, i64 %1070
+  store float %1065, ptr addrspace(1) %1071, align 4
+  %1072 = add i32 %1061, 1
+  br label %1060
+
+1073:                                             ; preds = %1076, %1060
+  %1074 = phi i32 [ %1085, %1076 ], [ 0, %1060 ]
+  %1075 = icmp slt i32 %1074, 8
+  br i1 %1075, label %1076, label %1086
+
+1076:                                             ; preds = %1073
+  %1077 = zext i32 %1074 to i64
+  %1078 = extractelement <8 x float> %993, i64 %1077
+  %1079 = add nuw nsw i64 48, %1077
+  %1080 = add nuw nsw i64 %1079, 0
+  %1081 = add nuw nsw i64 %1080, 0
+  %1082 = add nuw nsw i64 %1081, 0
+  %1083 = add nuw nsw i64 %1082, 0
+  %1084 = getelementptr inbounds nuw float, ptr addrspace(1) %1, i64 %1083
+  store float %1078, ptr addrspace(1) %1084, align 4
+  %1085 = add i32 %1074, 1
+  br label %1073
+
+1086:                                             ; preds = %1089, %1073
+  %1087 = phi i32 [ %1098, %1089 ], [ 0, %1073 ]
+  %1088 = icmp slt i32 %1087, 8
+  br i1 %1088, label %1089, label %1099
+
+1089:                                             ; preds = %1086
+  %1090 = zext i32 %1087 to i64
+  %1091 = extractelement <8 x float> %994, i64 %1090
+  %1092 = add nuw nsw i64 56, %1090
+  %1093 = add nuw nsw i64 %1092, 0
+  %1094 = add nuw nsw i64 %1093, 0
+  %1095 = add nuw nsw i64 %1094, 0
+  %1096 = add nuw nsw i64 %1095, 0
+  %1097 = getelementptr inbounds nuw float, ptr addrspace(1) %1, i64 %1096
+  store float %1091, ptr addrspace(1) %1097, align 4
+  %1098 = add i32 %1087, 1
+  br label %1086
+
+1099:                                             ; preds = %1086
+  ret void
+}
+
+; Function Attrs: alwaysinline
+define spir_kernel void @_winograd_input_nchw_dispatch_0_winograd_input_transform_8x8x1x1x1x1xf32_dispatch_tensor_store(ptr addrspace(1) noalias noundef nonnull readonly align 16 %0, ptr addrspace(1) noalias noundef nonnull align 16 %1) addrspace(4) #0 {
+  br label %3
+
+3:                                                ; preds = %17, %2
+  %4 = phi i32 [ %18, %17 ], [ 0, %2 ]
+  %5 = icmp slt i32 %4, 8
+  br i1 %5, label %6, label %19
+
+6:                                                ; preds = %3
+  %7 = zext i32 %4 to i64
+  br label %8
+
+8:                                                ; preds = %11, %6
+  %9 = phi i32 [ %16, %11 ], [ 0, %6 ]
+  %10 = icmp slt i32 %9, 8
+  br i1 %10, label %11, label %17
+
+11:                                               ; preds = %8
+  %12 = zext i32 %9 to i64
+  %13 = mul nuw nsw i64 %7, 8
+  %14 = add nuw nsw i64 %13, %12
+  %15 = getelementptr inbounds nuw float, ptr addrspace(3) @__shared_memory__, i64 %14
+  store float 0.000000e+00, ptr addrspace(3) %15, align 4
+  %16 = add i32 %9, 1
+  br label %8
+
+17:                                               ; preds = %8
+  %18 = add i32 %4, 1
+  br label %3
+
+19:                                               ; preds = %3
+  fence syncscope("workgroup") release, !mmra !2
+  call void @llvm.amdgcn.s.barrier.signal(i32 -1)
+  call void @llvm.amdgcn.s.barrier.wait(i16 -1)
+  fence syncscope("workgroup") acquire, !mmra !2
+  br label %20
+
+20:                                               ; preds = %39, %19
+  %21 = phi i32 [ %40, %39 ], [ 0, %19 ]
+  %22 = icmp slt i32 %21, 6
+  br i1 %22, label %23, label %41
+
+23:                                               ; preds = %20
+  %24 = zext i32 %21 to i64
+  br label %25
+
+25:                                               ; preds = %28, %23
+  %26 = phi i32 [ %38, %28 ], [ 0, %23 ]
+  %27 = icmp slt i32 %26, 6
+  br i1 %27, label %28, label %39
+
+28:                                               ; preds = %25
+  %29 = zext i32 %26 to i64
+  %30 = mul nuw nsw i64 %24, 6
+  %31 = add nuw nsw i64 0, %30
+  %32 = add nuw nsw i64 %31, %29
+  %33 = getelementptr inbounds nuw float, ptr addrspace(1) %0, i64 %32
+  %34 = load float, ptr addrspace(1) %33, align 4
+  %35 = mul nuw nsw i64 %24, 8
+  %36 = add nuw nsw i64 %35, %29
+  %37 = getelementptr inbounds nuw float, ptr addrspace(3) @__shared_memory__, i64 %36
+  store float %34, ptr addrspace(3) %37, align 4
+  %38 = add i32 %26, 1
+  br label %25
+
+39:                                               ; preds = %25
+  %40 = add i32 %21, 1
+  br label %20
+
+41:                                               ; preds = %20
+  fence syncscope("workgroup") release, !mmra !2
+  call void @llvm.amdgcn.s.barrier.signal(i32 -1)
+  call void @llvm.amdgcn.s.barrier.wait(i16 -1)
+  fence syncscope("workgroup") acquire, !mmra !2
+  %42 = load <8 x float>, ptr addrspace(3) @__shared_memory__, align 4
+  %43 = load <8 x float>, ptr addrspace(3) getelementptr inbounds nuw (i8, ptr addrspace(3) @__shared_memory__, i64 32), align 4
+  %44 = load <8 x float>, ptr addrspace(3) getelementptr inbounds nuw (i8, ptr addrspace(3) @__shared_memory__, i64 64), align 4
+  %45 = load <8 x float>, ptr addrspace(3) getelementptr inbounds nuw (i8, ptr addrspace(3) @__shared_memory__, i64 96), align 4
+  %46 = load <8 x float>, ptr addrspace(3) getelementptr inbounds nuw (i8, ptr addrspace(3) @__shared_memory__, i64 128), align 4
+  %47 = load <8 x float>, ptr addrspace(3) getelementptr inbounds nuw (i8, ptr addrspace(3) @__shared_memory__, i64 160), align 4
+  %48 = load <8 x float>, ptr addrspace(3) getelementptr inbounds nuw (i8, ptr addrspace(3) @__shared_memory__, i64 192), align 4
+  %49 = load <8 x float>, ptr addrspace(3) getelementptr inbounds nuw (i8, ptr addrspace(3) @__shared_memory__, i64 224), align 4
+  %50 = extractelement <8 x float> %42, i64 0
+  %51 = extractelement <8 x float> %42, i64 1
+  %52 = extractelement <8 x float> %42, i64 2
+  %53 = extractelement <8 x float> %42, i64 3
+  %54 = extractelement <8 x float> %42, i64 4
+  %55 = extractelement <8 x float> %42, i64 5
+  %56 = extractelement <8 x float> %42, i64 6
+  %57 = extractelement <8 x float> %42, i64 7
+  %58 = extractelement <8 x float> %43, i64 0
+  %59 = extractelement <8 x float> %43, i64 1
+  %60 = extractelement <8 x float> %43, i64 2
+  %61 = extractelement <8 x float> %43, i64 3
+  %62 = extractelement <8 x float> %43, i64 4
+  %63 = extractelement <8 x float> %43, i64 5
+  %64 = extractelement <8 x float> %43, i64 6
+  %65 = extractelement <8 x float> %43, i64 7
+  %66 = extractelement <8 x float> %44, i64 0
+  %67 = extractelement <8 x float> %44, i64 1
+  %68 = extractelement <8 x float> %44, i64 2
+  %69 = extractelement <8 x float> %44, i64 3
+  %70 = extractelement <8 x float> %44, i64 4
+  %71 = extractelement <8 x float> %44, i64 5
+  %72 = extractelement <8 x float> %44, i64 6
+  %73 = extractelement <8 x float> %44, i64 7
+  %74 = extractelement <8 x float> %45, i64 0
+  %75 = extractelement <8 x float> %45, i64 1
+  %76 = extractelement <8 x float> %45, i64 2
+  %77 = extractelement <8 x float> %45, i64 3
+  %78 = extractelement <8 x float> %45, i64 4
+  %79 = extractelement <8 x float> %45, i64 5
+  %80 = extractelement <8 x float> %45, i64 6
+  %81 = extractelement <8 x float> %45, i64 7
+  %82 = extractelement <8 x float> %46, i64 0
+  %83 = extractelement <8 x float> %46, i64 1
+  %84 = extractelement <8 x float> %46, i64 2
+  %85 = extractelement <8 x float> %46, i64 3
+  %86 = extractelement <8 x float> %46, i64 4
+  %87 = extractelement <8 x float> %46, i64 5
+  %88 = extractelement <8 x float> %46, i64 6
+  %89 = extractelement <8 x float> %46, i64 7
+  %90 = extractelement <8 x float> %47, i64 0
+  %91 = extractelement <8 x float> %47, i64 1
+  %92 = extractelement <8 x float> %47, i64 2
+  %93 = extractelement <8 x float> %47, i64 3
+  %94 = extractelement <8 x float> %47, i64 4
+  %95 = extractelement <8 x float> %47, i64 5
+  %96 = extractelement <8 x float> %47, i64 6
+  %97 = extractelement <8 x float> %47, i64 7
+  %98 = extractelement <8 x float> %48, i64 0
+  %99 = extractelement <8 x float> %48, i64 1
+  %100 = extractelement <8 x float> %48, i64 2
+  %101 = extractelement <8 x float> %48, i64 3
+  %102 = extractelement <8 x float> %48, i64 4
+  %103 = extractelement <8 x float> %48, i64 5
+  %104 = extractelement <8 x float> %48, i64 6
+  %105 = extractelement <8 x float> %48, i64 7
+  %106 = extractelement <8 x float> %49, i64 0
+  %107 = extractelement <8 x float> %49, i64 1
+  %108 = extractelement <8 x float> %49, i64 2
+  %109 = extractelement <8 x float> %49, i64 3
+  %110 = extractelement <8 x float> %49, i64 4
+  %111 = extractelement <8 x float> %49, i64 5
+  %112 = extractelement <8 x float> %49, i64 6
+  %113 = extractelement <8 x float> %49, i64 7
+  %114 = load <8 x float>, ptr addrspace(4) @__constant_8x8xf32_0, align 4
+  %115 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 32), align 4
+  %116 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 64), align 4
+  %117 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 96), align 4
+  %118 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 128), align 4
+  %119 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 160), align 4
+  %120 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 192), align 4
+  %121 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 224), align 4
+  %122 = insertelement <8 x float> poison, float %50, i32 0
+  %123 = shufflevector <8 x float> %122, <8 x float> poison, <8 x i32> zeroinitializer
+  %124 = shufflevector <8 x float> %123, <8 x float> %123, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %125 = shufflevector <64 x float> %124, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %126 = insertelement <8 x float> poison, float %58, i32 0
+  %127 = shufflevector <8 x float> %126, <8 x float> poison, <8 x i32> zeroinitializer
+  %128 = shufflevector <8 x float> %127, <8 x float> %127, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %129 = shufflevector <64 x float> %128, <64 x float> %125, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %130 = insertelement <8 x float> poison, float %66, i32 0
+  %131 = shufflevector <8 x float> %130, <8 x float> poison, <8 x i32> zeroinitializer
+  %132 = shufflevector <8 x float> %131, <8 x float> %131, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %133 = shufflevector <64 x float> %132, <64 x float> %129, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %134 = insertelement <8 x float> poison, float %74, i32 0
+  %135 = shufflevector <8 x float> %134, <8 x float> poison, <8 x i32> zeroinitializer
+  %136 = shufflevector <8 x float> %135, <8 x float> %135, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %137 = shufflevector <64 x float> %136, <64 x float> %133, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %138 = insertelement <8 x float> poison, float %82, i32 0
+  %139 = shufflevector <8 x float> %138, <8 x float> poison, <8 x i32> zeroinitializer
+  %140 = shufflevector <8 x float> %139, <8 x float> %139, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %141 = shufflevector <64 x float> %140, <64 x float> %137, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %142 = insertelement <8 x float> poison, float %90, i32 0
+  %143 = shufflevector <8 x float> %142, <8 x float> poison, <8 x i32> zeroinitializer
+  %144 = shufflevector <8 x float> %143, <8 x float> %143, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %145 = shufflevector <64 x float> %144, <64 x float> %141, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %146 = insertelement <8 x float> poison, float %98, i32 0
+  %147 = shufflevector <8 x float> %146, <8 x float> poison, <8 x i32> zeroinitializer
+  %148 = shufflevector <8 x float> %147, <8 x float> %147, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %149 = shufflevector <64 x float> %148, <64 x float> %145, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %150 = insertelement <8 x float> poison, float %106, i32 0
+  %151 = shufflevector <8 x float> %150, <8 x float> poison, <8 x i32> zeroinitializer
+  %152 = shufflevector <8 x float> %151, <8 x float> %151, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %153 = shufflevector <64 x float> %152, <64 x float> %149, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %154 = insertelement <8 x float> poison, float %51, i32 0
+  %155 = shufflevector <8 x float> %154, <8 x float> poison, <8 x i32> zeroinitializer
+  %156 = shufflevector <8 x float> %155, <8 x float> %155, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %157 = shufflevector <64 x float> %156, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %158 = insertelement <8 x float> poison, float %59, i32 0
+  %159 = shufflevector <8 x float> %158, <8 x float> poison, <8 x i32> zeroinitializer
+  %160 = shufflevector <8 x float> %159, <8 x float> %159, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %161 = shufflevector <64 x float> %160, <64 x float> %157, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %162 = insertelement <8 x float> poison, float %67, i32 0
+  %163 = shufflevector <8 x float> %162, <8 x float> poison, <8 x i32> zeroinitializer
+  %164 = shufflevector <8 x float> %163, <8 x float> %163, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %165 = shufflevector <64 x float> %164, <64 x float> %161, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %166 = insertelement <8 x float> poison, float %75, i32 0
+  %167 = shufflevector <8 x float> %166, <8 x float> poison, <8 x i32> zeroinitializer
+  %168 = shufflevector <8 x float> %167, <8 x float> %167, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %169 = shufflevector <64 x float> %168, <64 x float> %165, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %170 = insertelement <8 x float> poison, float %83, i32 0
+  %171 = shufflevector <8 x float> %170, <8 x float> poison, <8 x i32> zeroinitializer
+  %172 = shufflevector <8 x float> %171, <8 x float> %171, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %173 = shufflevector <64 x float> %172, <64 x float> %169, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %174 = insertelement <8 x float> poison, float %91, i32 0
+  %175 = shufflevector <8 x float> %174, <8 x float> poison, <8 x i32> zeroinitializer
+  %176 = shufflevector <8 x float> %175, <8 x float> %175, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %177 = shufflevector <64 x float> %176, <64 x float> %173, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %178 = insertelement <8 x float> poison, float %99, i32 0
+  %179 = shufflevector <8 x float> %178, <8 x float> poison, <8 x i32> zeroinitializer
+  %180 = shufflevector <8 x float> %179, <8 x float> %179, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %181 = shufflevector <64 x float> %180, <64 x float> %177, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %182 = insertelement <8 x float> poison, float %107, i32 0
+  %183 = shufflevector <8 x float> %182, <8 x float> poison, <8 x i32> zeroinitializer
+  %184 = shufflevector <8 x float> %183, <8 x float> %183, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %185 = shufflevector <64 x float> %184, <64 x float> %181, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %186 = insertelement <8 x float> poison, float %52, i32 0
+  %187 = shufflevector <8 x float> %186, <8 x float> poison, <8 x i32> zeroinitializer
+  %188 = shufflevector <8 x float> %187, <8 x float> %187, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %189 = shufflevector <64 x float> %188, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %190 = insertelement <8 x float> poison, float %60, i32 0
+  %191 = shufflevector <8 x float> %190, <8 x float> poison, <8 x i32> zeroinitializer
+  %192 = shufflevector <8 x float> %191, <8 x float> %191, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %193 = shufflevector <64 x float> %192, <64 x float> %189, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %194 = insertelement <8 x float> poison, float %68, i32 0
+  %195 = shufflevector <8 x float> %194, <8 x float> poison, <8 x i32> zeroinitializer
+  %196 = shufflevector <8 x float> %195, <8 x float> %195, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %197 = shufflevector <64 x float> %196, <64 x float> %193, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %198 = insertelement <8 x float> poison, float %76, i32 0
+  %199 = shufflevector <8 x float> %198, <8 x float> poison, <8 x i32> zeroinitializer
+  %200 = shufflevector <8 x float> %199, <8 x float> %199, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %201 = shufflevector <64 x float> %200, <64 x float> %197, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %202 = insertelement <8 x float> poison, float %84, i32 0
+  %203 = shufflevector <8 x float> %202, <8 x float> poison, <8 x i32> zeroinitializer
+  %204 = shufflevector <8 x float> %203, <8 x float> %203, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %205 = shufflevector <64 x float> %204, <64 x float> %201, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %206 = insertelement <8 x float> poison, float %92, i32 0
+  %207 = shufflevector <8 x float> %206, <8 x float> poison, <8 x i32> zeroinitializer
+  %208 = shufflevector <8 x float> %207, <8 x float> %207, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %209 = shufflevector <64 x float> %208, <64 x float> %205, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %210 = insertelement <8 x float> poison, float %100, i32 0
+  %211 = shufflevector <8 x float> %210, <8 x float> poison, <8 x i32> zeroinitializer
+  %212 = shufflevector <8 x float> %211, <8 x float> %211, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %213 = shufflevector <64 x float> %212, <64 x float> %209, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %214 = insertelement <8 x float> poison, float %108, i32 0
+  %215 = shufflevector <8 x float> %214, <8 x float> poison, <8 x i32> zeroinitializer
+  %216 = shufflevector <8 x float> %215, <8 x float> %215, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %217 = shufflevector <64 x float> %216, <64 x float> %213, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %218 = insertelement <8 x float> poison, float %53, i32 0
+  %219 = shufflevector <8 x float> %218, <8 x float> poison, <8 x i32> zeroinitializer
+  %220 = shufflevector <8 x float> %219, <8 x float> %219, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %221 = shufflevector <64 x float> %220, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %222 = insertelement <8 x float> poison, float %61, i32 0
+  %223 = shufflevector <8 x float> %222, <8 x float> poison, <8 x i32> zeroinitializer
+  %224 = shufflevector <8 x float> %223, <8 x float> %223, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %225 = shufflevector <64 x float> %224, <64 x float> %221, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %226 = insertelement <8 x float> poison, float %69, i32 0
+  %227 = shufflevector <8 x float> %226, <8 x float> poison, <8 x i32> zeroinitializer
+  %228 = shufflevector <8 x float> %227, <8 x float> %227, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %229 = shufflevector <64 x float> %228, <64 x float> %225, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %230 = insertelement <8 x float> poison, float %77, i32 0
+  %231 = shufflevector <8 x float> %230, <8 x float> poison, <8 x i32> zeroinitializer
+  %232 = shufflevector <8 x float> %231, <8 x float> %231, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %233 = shufflevector <64 x float> %232, <64 x float> %229, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %234 = insertelement <8 x float> poison, float %85, i32 0
+  %235 = shufflevector <8 x float> %234, <8 x float> poison, <8 x i32> zeroinitializer
+  %236 = shufflevector <8 x float> %235, <8 x float> %235, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %237 = shufflevector <64 x float> %236, <64 x float> %233, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %238 = insertelement <8 x float> poison, float %93, i32 0
+  %239 = shufflevector <8 x float> %238, <8 x float> poison, <8 x i32> zeroinitializer
+  %240 = shufflevector <8 x float> %239, <8 x float> %239, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %241 = shufflevector <64 x float> %240, <64 x float> %237, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %242 = insertelement <8 x float> poison, float %101, i32 0
+  %243 = shufflevector <8 x float> %242, <8 x float> poison, <8 x i32> zeroinitializer
+  %244 = shufflevector <8 x float> %243, <8 x float> %243, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %245 = shufflevector <64 x float> %244, <64 x float> %241, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %246 = insertelement <8 x float> poison, float %109, i32 0
+  %247 = shufflevector <8 x float> %246, <8 x float> poison, <8 x i32> zeroinitializer
+  %248 = shufflevector <8 x float> %247, <8 x float> %247, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %249 = shufflevector <64 x float> %248, <64 x float> %245, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %250 = insertelement <8 x float> poison, float %54, i32 0
+  %251 = shufflevector <8 x float> %250, <8 x float> poison, <8 x i32> zeroinitializer
+  %252 = shufflevector <8 x float> %251, <8 x float> %251, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %253 = shufflevector <64 x float> %252, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %254 = insertelement <8 x float> poison, float %62, i32 0
+  %255 = shufflevector <8 x float> %254, <8 x float> poison, <8 x i32> zeroinitializer
+  %256 = shufflevector <8 x float> %255, <8 x float> %255, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %257 = shufflevector <64 x float> %256, <64 x float> %253, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %258 = insertelement <8 x float> poison, float %70, i32 0
+  %259 = shufflevector <8 x float> %258, <8 x float> poison, <8 x i32> zeroinitializer
+  %260 = shufflevector <8 x float> %259, <8 x float> %259, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %261 = shufflevector <64 x float> %260, <64 x float> %257, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %262 = insertelement <8 x float> poison, float %78, i32 0
+  %263 = shufflevector <8 x float> %262, <8 x float> poison, <8 x i32> zeroinitializer
+  %264 = shufflevector <8 x float> %263, <8 x float> %263, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %265 = shufflevector <64 x float> %264, <64 x float> %261, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %266 = insertelement <8 x float> poison, float %86, i32 0
+  %267 = shufflevector <8 x float> %266, <8 x float> poison, <8 x i32> zeroinitializer
+  %268 = shufflevector <8 x float> %267, <8 x float> %267, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %269 = shufflevector <64 x float> %268, <64 x float> %265, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %270 = insertelement <8 x float> poison, float %94, i32 0
+  %271 = shufflevector <8 x float> %270, <8 x float> poison, <8 x i32> zeroinitializer
+  %272 = shufflevector <8 x float> %271, <8 x float> %271, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %273 = shufflevector <64 x float> %272, <64 x float> %269, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %274 = insertelement <8 x float> poison, float %102, i32 0
+  %275 = shufflevector <8 x float> %274, <8 x float> poison, <8 x i32> zeroinitializer
+  %276 = shufflevector <8 x float> %275, <8 x float> %275, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %277 = shufflevector <64 x float> %276, <64 x float> %273, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %278 = insertelement <8 x float> poison, float %110, i32 0
+  %279 = shufflevector <8 x float> %278, <8 x float> poison, <8 x i32> zeroinitializer
+  %280 = shufflevector <8 x float> %279, <8 x float> %279, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %281 = shufflevector <64 x float> %280, <64 x float> %277, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %282 = insertelement <8 x float> poison, float %55, i32 0
+  %283 = shufflevector <8 x float> %282, <8 x float> poison, <8 x i32> zeroinitializer
+  %284 = shufflevector <8 x float> %283, <8 x float> %283, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %285 = shufflevector <64 x float> %284, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %286 = insertelement <8 x float> poison, float %63, i32 0
+  %287 = shufflevector <8 x float> %286, <8 x float> poison, <8 x i32> zeroinitializer
+  %288 = shufflevector <8 x float> %287, <8 x float> %287, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %289 = shufflevector <64 x float> %288, <64 x float> %285, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %290 = insertelement <8 x float> poison, float %71, i32 0
+  %291 = shufflevector <8 x float> %290, <8 x float> poison, <8 x i32> zeroinitializer
+  %292 = shufflevector <8 x float> %291, <8 x float> %291, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %293 = shufflevector <64 x float> %292, <64 x float> %289, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %294 = insertelement <8 x float> poison, float %79, i32 0
+  %295 = shufflevector <8 x float> %294, <8 x float> poison, <8 x i32> zeroinitializer
+  %296 = shufflevector <8 x float> %295, <8 x float> %295, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %297 = shufflevector <64 x float> %296, <64 x float> %293, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %298 = insertelement <8 x float> poison, float %87, i32 0
+  %299 = shufflevector <8 x float> %298, <8 x float> poison, <8 x i32> zeroinitializer
+  %300 = shufflevector <8 x float> %299, <8 x float> %299, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %301 = shufflevector <64 x float> %300, <64 x float> %297, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %302 = insertelement <8 x float> poison, float %95, i32 0
+  %303 = shufflevector <8 x float> %302, <8 x float> poison, <8 x i32> zeroinitializer
+  %304 = shufflevector <8 x float> %303, <8 x float> %303, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %305 = shufflevector <64 x float> %304, <64 x float> %301, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %306 = insertelement <8 x float> poison, float %103, i32 0
+  %307 = shufflevector <8 x float> %306, <8 x float> poison, <8 x i32> zeroinitializer
+  %308 = shufflevector <8 x float> %307, <8 x float> %307, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %309 = shufflevector <64 x float> %308, <64 x float> %305, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %310 = insertelement <8 x float> poison, float %111, i32 0
+  %311 = shufflevector <8 x float> %310, <8 x float> poison, <8 x i32> zeroinitializer
+  %312 = shufflevector <8 x float> %311, <8 x float> %311, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %313 = shufflevector <64 x float> %312, <64 x float> %309, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %314 = insertelement <8 x float> poison, float %56, i32 0
+  %315 = shufflevector <8 x float> %314, <8 x float> poison, <8 x i32> zeroinitializer
+  %316 = shufflevector <8 x float> %315, <8 x float> %315, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %317 = shufflevector <64 x float> %316, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %318 = insertelement <8 x float> poison, float %64, i32 0
+  %319 = shufflevector <8 x float> %318, <8 x float> poison, <8 x i32> zeroinitializer
+  %320 = shufflevector <8 x float> %319, <8 x float> %319, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %321 = shufflevector <64 x float> %320, <64 x float> %317, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %322 = insertelement <8 x float> poison, float %72, i32 0
+  %323 = shufflevector <8 x float> %322, <8 x float> poison, <8 x i32> zeroinitializer
+  %324 = shufflevector <8 x float> %323, <8 x float> %323, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %325 = shufflevector <64 x float> %324, <64 x float> %321, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %326 = insertelement <8 x float> poison, float %80, i32 0
+  %327 = shufflevector <8 x float> %326, <8 x float> poison, <8 x i32> zeroinitializer
+  %328 = shufflevector <8 x float> %327, <8 x float> %327, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %329 = shufflevector <64 x float> %328, <64 x float> %325, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %330 = insertelement <8 x float> poison, float %88, i32 0
+  %331 = shufflevector <8 x float> %330, <8 x float> poison, <8 x i32> zeroinitializer
+  %332 = shufflevector <8 x float> %331, <8 x float> %331, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %333 = shufflevector <64 x float> %332, <64 x float> %329, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %334 = insertelement <8 x float> poison, float %96, i32 0
+  %335 = shufflevector <8 x float> %334, <8 x float> poison, <8 x i32> zeroinitializer
+  %336 = shufflevector <8 x float> %335, <8 x float> %335, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %337 = shufflevector <64 x float> %336, <64 x float> %333, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %338 = insertelement <8 x float> poison, float %104, i32 0
+  %339 = shufflevector <8 x float> %338, <8 x float> poison, <8 x i32> zeroinitializer
+  %340 = shufflevector <8 x float> %339, <8 x float> %339, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %341 = shufflevector <64 x float> %340, <64 x float> %337, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %342 = insertelement <8 x float> poison, float %112, i32 0
+  %343 = shufflevector <8 x float> %342, <8 x float> poison, <8 x i32> zeroinitializer
+  %344 = shufflevector <8 x float> %343, <8 x float> %343, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %345 = shufflevector <64 x float> %344, <64 x float> %341, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %346 = insertelement <8 x float> poison, float %57, i32 0
+  %347 = shufflevector <8 x float> %346, <8 x float> poison, <8 x i32> zeroinitializer
+  %348 = shufflevector <8 x float> %347, <8 x float> %347, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %349 = shufflevector <64 x float> %348, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %350 = insertelement <8 x float> poison, float %65, i32 0
+  %351 = shufflevector <8 x float> %350, <8 x float> poison, <8 x i32> zeroinitializer
+  %352 = shufflevector <8 x float> %351, <8 x float> %351, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %353 = shufflevector <64 x float> %352, <64 x float> %349, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %354 = insertelement <8 x float> poison, float %73, i32 0
+  %355 = shufflevector <8 x float> %354, <8 x float> poison, <8 x i32> zeroinitializer
+  %356 = shufflevector <8 x float> %355, <8 x float> %355, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %357 = shufflevector <64 x float> %356, <64 x float> %353, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %358 = insertelement <8 x float> poison, float %81, i32 0
+  %359 = shufflevector <8 x float> %358, <8 x float> poison, <8 x i32> zeroinitializer
+  %360 = shufflevector <8 x float> %359, <8 x float> %359, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %361 = shufflevector <64 x float> %360, <64 x float> %357, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %362 = insertelement <8 x float> poison, float %89, i32 0
+  %363 = shufflevector <8 x float> %362, <8 x float> poison, <8 x i32> zeroinitializer
+  %364 = shufflevector <8 x float> %363, <8 x float> %363, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %365 = shufflevector <64 x float> %364, <64 x float> %361, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %366 = insertelement <8 x float> poison, float %97, i32 0
+  %367 = shufflevector <8 x float> %366, <8 x float> poison, <8 x i32> zeroinitializer
+  %368 = shufflevector <8 x float> %367, <8 x float> %367, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %369 = shufflevector <64 x float> %368, <64 x float> %365, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %370 = insertelement <8 x float> poison, float %105, i32 0
+  %371 = shufflevector <8 x float> %370, <8 x float> poison, <8 x i32> zeroinitializer
+  %372 = shufflevector <8 x float> %371, <8 x float> %371, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %373 = shufflevector <64 x float> %372, <64 x float> %369, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %374 = insertelement <8 x float> poison, float %113, i32 0
+  %375 = shufflevector <8 x float> %374, <8 x float> poison, <8 x i32> zeroinitializer
+  %376 = shufflevector <8 x float> %375, <8 x float> %375, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %377 = shufflevector <64 x float> %376, <64 x float> %373, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %378 = shufflevector <8 x float> %114, <8 x float> %114, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %379 = shufflevector <64 x float> %378, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %380 = shufflevector <8 x float> %114, <8 x float> %114, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %381 = shufflevector <64 x float> %380, <64 x float> %379, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %382 = shufflevector <8 x float> %114, <8 x float> %114, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %383 = shufflevector <64 x float> %382, <64 x float> %381, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %384 = shufflevector <8 x float> %114, <8 x float> %114, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %385 = shufflevector <64 x float> %384, <64 x float> %383, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %386 = shufflevector <8 x float> %114, <8 x float> %114, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %387 = shufflevector <64 x float> %386, <64 x float> %385, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %388 = shufflevector <8 x float> %114, <8 x float> %114, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %389 = shufflevector <64 x float> %388, <64 x float> %387, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %390 = shufflevector <8 x float> %114, <8 x float> %114, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %391 = shufflevector <64 x float> %390, <64 x float> %389, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %392 = shufflevector <8 x float> %114, <8 x float> %114, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %393 = shufflevector <64 x float> %392, <64 x float> %391, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %394 = shufflevector <8 x float> %115, <8 x float> %115, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %395 = shufflevector <64 x float> %394, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %396 = shufflevector <8 x float> %115, <8 x float> %115, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %397 = shufflevector <64 x float> %396, <64 x float> %395, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %398 = shufflevector <8 x float> %115, <8 x float> %115, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %399 = shufflevector <64 x float> %398, <64 x float> %397, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %400 = shufflevector <8 x float> %115, <8 x float> %115, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %401 = shufflevector <64 x float> %400, <64 x float> %399, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %402 = shufflevector <8 x float> %115, <8 x float> %115, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %403 = shufflevector <64 x float> %402, <64 x float> %401, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %404 = shufflevector <8 x float> %115, <8 x float> %115, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %405 = shufflevector <64 x float> %404, <64 x float> %403, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %406 = shufflevector <8 x float> %115, <8 x float> %115, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %407 = shufflevector <64 x float> %406, <64 x float> %405, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %408 = shufflevector <8 x float> %115, <8 x float> %115, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %409 = shufflevector <64 x float> %408, <64 x float> %407, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %410 = shufflevector <8 x float> %116, <8 x float> %116, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %411 = shufflevector <64 x float> %410, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %412 = shufflevector <8 x float> %116, <8 x float> %116, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %413 = shufflevector <64 x float> %412, <64 x float> %411, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %414 = shufflevector <8 x float> %116, <8 x float> %116, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %415 = shufflevector <64 x float> %414, <64 x float> %413, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %416 = shufflevector <8 x float> %116, <8 x float> %116, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %417 = shufflevector <64 x float> %416, <64 x float> %415, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %418 = shufflevector <8 x float> %116, <8 x float> %116, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %419 = shufflevector <64 x float> %418, <64 x float> %417, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %420 = shufflevector <8 x float> %116, <8 x float> %116, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %421 = shufflevector <64 x float> %420, <64 x float> %419, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %422 = shufflevector <8 x float> %116, <8 x float> %116, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %423 = shufflevector <64 x float> %422, <64 x float> %421, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %424 = shufflevector <8 x float> %116, <8 x float> %116, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %425 = shufflevector <64 x float> %424, <64 x float> %423, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %426 = shufflevector <8 x float> %117, <8 x float> %117, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %427 = shufflevector <64 x float> %426, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %428 = shufflevector <8 x float> %117, <8 x float> %117, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %429 = shufflevector <64 x float> %428, <64 x float> %427, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %430 = shufflevector <8 x float> %117, <8 x float> %117, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %431 = shufflevector <64 x float> %430, <64 x float> %429, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %432 = shufflevector <8 x float> %117, <8 x float> %117, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %433 = shufflevector <64 x float> %432, <64 x float> %431, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %434 = shufflevector <8 x float> %117, <8 x float> %117, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %435 = shufflevector <64 x float> %434, <64 x float> %433, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %436 = shufflevector <8 x float> %117, <8 x float> %117, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %437 = shufflevector <64 x float> %436, <64 x float> %435, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %438 = shufflevector <8 x float> %117, <8 x float> %117, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %439 = shufflevector <64 x float> %438, <64 x float> %437, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %440 = shufflevector <8 x float> %117, <8 x float> %117, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %441 = shufflevector <64 x float> %440, <64 x float> %439, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %442 = shufflevector <8 x float> %118, <8 x float> %118, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %443 = shufflevector <64 x float> %442, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %444 = shufflevector <8 x float> %118, <8 x float> %118, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %445 = shufflevector <64 x float> %444, <64 x float> %443, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %446 = shufflevector <8 x float> %118, <8 x float> %118, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %447 = shufflevector <64 x float> %446, <64 x float> %445, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %448 = shufflevector <8 x float> %118, <8 x float> %118, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %449 = shufflevector <64 x float> %448, <64 x float> %447, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %450 = shufflevector <8 x float> %118, <8 x float> %118, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %451 = shufflevector <64 x float> %450, <64 x float> %449, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %452 = shufflevector <8 x float> %118, <8 x float> %118, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %453 = shufflevector <64 x float> %452, <64 x float> %451, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %454 = shufflevector <8 x float> %118, <8 x float> %118, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %455 = shufflevector <64 x float> %454, <64 x float> %453, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %456 = shufflevector <8 x float> %118, <8 x float> %118, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %457 = shufflevector <64 x float> %456, <64 x float> %455, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %458 = shufflevector <8 x float> %119, <8 x float> %119, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %459 = shufflevector <64 x float> %458, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %460 = shufflevector <8 x float> %119, <8 x float> %119, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %461 = shufflevector <64 x float> %460, <64 x float> %459, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %462 = shufflevector <8 x float> %119, <8 x float> %119, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %463 = shufflevector <64 x float> %462, <64 x float> %461, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %464 = shufflevector <8 x float> %119, <8 x float> %119, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %465 = shufflevector <64 x float> %464, <64 x float> %463, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %466 = shufflevector <8 x float> %119, <8 x float> %119, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %467 = shufflevector <64 x float> %466, <64 x float> %465, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %468 = shufflevector <8 x float> %119, <8 x float> %119, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %469 = shufflevector <64 x float> %468, <64 x float> %467, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %470 = shufflevector <8 x float> %119, <8 x float> %119, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %471 = shufflevector <64 x float> %470, <64 x float> %469, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %472 = shufflevector <8 x float> %119, <8 x float> %119, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %473 = shufflevector <64 x float> %472, <64 x float> %471, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %474 = shufflevector <8 x float> %120, <8 x float> %120, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %475 = shufflevector <64 x float> %474, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %476 = shufflevector <8 x float> %120, <8 x float> %120, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %477 = shufflevector <64 x float> %476, <64 x float> %475, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %478 = shufflevector <8 x float> %120, <8 x float> %120, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %479 = shufflevector <64 x float> %478, <64 x float> %477, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %480 = shufflevector <8 x float> %120, <8 x float> %120, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %481 = shufflevector <64 x float> %480, <64 x float> %479, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %482 = shufflevector <8 x float> %120, <8 x float> %120, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %483 = shufflevector <64 x float> %482, <64 x float> %481, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %484 = shufflevector <8 x float> %120, <8 x float> %120, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %485 = shufflevector <64 x float> %484, <64 x float> %483, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %486 = shufflevector <8 x float> %120, <8 x float> %120, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %487 = shufflevector <64 x float> %486, <64 x float> %485, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %488 = shufflevector <8 x float> %120, <8 x float> %120, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %489 = shufflevector <64 x float> %488, <64 x float> %487, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %490 = shufflevector <8 x float> %121, <8 x float> %121, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %491 = shufflevector <64 x float> %490, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %492 = shufflevector <8 x float> %121, <8 x float> %121, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %493 = shufflevector <64 x float> %492, <64 x float> %491, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %494 = shufflevector <8 x float> %121, <8 x float> %121, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %495 = shufflevector <64 x float> %494, <64 x float> %493, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %496 = shufflevector <8 x float> %121, <8 x float> %121, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %497 = shufflevector <64 x float> %496, <64 x float> %495, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %498 = shufflevector <8 x float> %121, <8 x float> %121, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %499 = shufflevector <64 x float> %498, <64 x float> %497, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %500 = shufflevector <8 x float> %121, <8 x float> %121, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %501 = shufflevector <64 x float> %500, <64 x float> %499, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %502 = shufflevector <8 x float> %121, <8 x float> %121, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %503 = shufflevector <64 x float> %502, <64 x float> %501, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %504 = shufflevector <8 x float> %121, <8 x float> %121, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %505 = shufflevector <64 x float> %504, <64 x float> %503, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %506 = call <64 x float> @llvm.fma.v64f32(<64 x float> %377, <64 x float> %505, <64 x float> zeroinitializer)
+  %507 = call <64 x float> @llvm.fma.v64f32(<64 x float> %345, <64 x float> %489, <64 x float> %506)
+  %508 = call <64 x float> @llvm.fma.v64f32(<64 x float> %313, <64 x float> %473, <64 x float> %507)
+  %509 = call <64 x float> @llvm.fma.v64f32(<64 x float> %281, <64 x float> %457, <64 x float> %508)
+  %510 = call <64 x float> @llvm.fma.v64f32(<64 x float> %249, <64 x float> %441, <64 x float> %509)
+  %511 = call <64 x float> @llvm.fma.v64f32(<64 x float> %217, <64 x float> %425, <64 x float> %510)
+  %512 = call <64 x float> @llvm.fma.v64f32(<64 x float> %185, <64 x float> %409, <64 x float> %511)
+  %513 = call <64 x float> @llvm.fma.v64f32(<64 x float> %153, <64 x float> %393, <64 x float> %512)
+  %514 = shufflevector <64 x float> %513, <64 x float> %513, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %515 = shufflevector <64 x float> %513, <64 x float> %513, <8 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15>
+  %516 = shufflevector <64 x float> %513, <64 x float> %513, <8 x i32> <i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
+  %517 = shufflevector <64 x float> %513, <64 x float> %513, <8 x i32> <i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31>
+  %518 = shufflevector <64 x float> %513, <64 x float> %513, <8 x i32> <i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39>
+  %519 = shufflevector <64 x float> %513, <64 x float> %513, <8 x i32> <i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47>
+  %520 = shufflevector <64 x float> %513, <64 x float> %513, <8 x i32> <i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55>
+  %521 = shufflevector <64 x float> %513, <64 x float> %513, <8 x i32> <i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63>
+  %522 = load <8 x float>, ptr addrspace(4) @__constant_8x8xf32, align 4
+  %523 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 32), align 4
+  %524 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 64), align 4
+  %525 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 96), align 4
+  %526 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 128), align 4
+  %527 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 160), align 4
+  %528 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 192), align 4
+  %529 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 224), align 4
+  %530 = extractelement <8 x float> %522, i64 0
+  %531 = extractelement <8 x float> %522, i64 1
+  %532 = extractelement <8 x float> %522, i64 2
+  %533 = extractelement <8 x float> %522, i64 3
+  %534 = extractelement <8 x float> %522, i64 4
+  %535 = extractelement <8 x float> %522, i64 5
+  %536 = extractelement <8 x float> %522, i64 6
+  %537 = extractelement <8 x float> %522, i64 7
+  %538 = extractelement <8 x float> %523, i64 0
+  %539 = extractelement <8 x float> %523, i64 1
+  %540 = extractelement <8 x float> %523, i64 2
+  %541 = extractelement <8 x float> %523, i64 3
+  %542 = extractelement <8 x float> %523, i64 4
+  %543 = extractelement <8 x float> %523, i64 5
+  %544 = extractelement <8 x float> %523, i64 6
+  %545 = extractelement <8 x float> %523, i64 7
+  %546 = extractelement <8 x float> %524, i64 0
+  %547 = extractelement <8 x float> %524, i64 1
+  %548 = extractelement <8 x float> %524, i64 2
+  %549 = extractelement <8 x float> %524, i64 3
+  %550 = extractelement <8 x float> %524, i64 4
+  %551 = extractelement <8 x float> %524, i64 5
+  %552 = extractelement <8 x float> %524, i64 6
+  %553 = extractelement <8 x float> %524, i64 7
+  %554 = extractelement <8 x float> %525, i64 0
+  %555 = extractelement <8 x float> %525, i64 1
+  %556 = extractelement <8 x float> %525, i64 2
+  %557 = extractelement <8 x float> %525, i64 3
+  %558 = extractelement <8 x float> %525, i64 4
+  %559 = extractelement <8 x float> %525, i64 5
+  %560 = extractelement <8 x float> %525, i64 6
+  %561 = extractelement <8 x float> %525, i64 7
+  %562 = extractelement <8 x float> %526, i64 0
+  %563 = extractelement <8 x float> %526, i64 1
+  %564 = extractelement <8 x float> %526, i64 2
+  %565 = extractelement <8 x float> %526, i64 3
+  %566 = extractelement <8 x float> %526, i64 4
+  %567 = extractelement <8 x float> %526, i64 5
+  %568 = extractelement <8 x float> %526, i64 6
+  %569 = extractelement <8 x float> %526, i64 7
+  %570 = extractelement <8 x float> %527, i64 0
+  %571 = extractelement <8 x float> %527, i64 1
+  %572 = extractelement <8 x float> %527, i64 2
+  %573 = extractelement <8 x float> %527, i64 3
+  %574 = extractelement <8 x float> %527, i64 4
+  %575 = extractelement <8 x float> %527, i64 5
+  %576 = extractelement <8 x float> %527, i64 6
+  %577 = extractelement <8 x float> %527, i64 7
+  %578 = extractelement <8 x float> %528, i64 0
+  %579 = extractelement <8 x float> %528, i64 1
+  %580 = extractelement <8 x float> %528, i64 2
+  %581 = extractelement <8 x float> %528, i64 3
+  %582 = extractelement <8 x float> %528, i64 4
+  %583 = extractelement <8 x float> %528, i64 5
+  %584 = extractelement <8 x float> %528, i64 6
+  %585 = extractelement <8 x float> %528, i64 7
+  %586 = extractelement <8 x float> %529, i64 0
+  %587 = extractelement <8 x float> %529, i64 1
+  %588 = extractelement <8 x float> %529, i64 2
+  %589 = extractelement <8 x float> %529, i64 3
+  %590 = extractelement <8 x float> %529, i64 4
+  %591 = extractelement <8 x float> %529, i64 5
+  %592 = extractelement <8 x float> %529, i64 6
+  %593 = extractelement <8 x float> %529, i64 7
+  %594 = insertelement <8 x float> poison, float %530, i32 0
+  %595 = shufflevector <8 x float> %594, <8 x float> poison, <8 x i32> zeroinitializer
+  %596 = shufflevector <8 x float> %595, <8 x float> %595, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %597 = shufflevector <64 x float> %596, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %598 = insertelement <8 x float> poison, float %538, i32 0
+  %599 = shufflevector <8 x float> %598, <8 x float> poison, <8 x i32> zeroinitializer
+  %600 = shufflevector <8 x float> %599, <8 x float> %599, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %601 = shufflevector <64 x float> %600, <64 x float> %597, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %602 = insertelement <8 x float> poison, float %546, i32 0
+  %603 = shufflevector <8 x float> %602, <8 x float> poison, <8 x i32> zeroinitializer
+  %604 = shufflevector <8 x float> %603, <8 x float> %603, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %605 = shufflevector <64 x float> %604, <64 x float> %601, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %606 = insertelement <8 x float> poison, float %554, i32 0
+  %607 = shufflevector <8 x float> %606, <8 x float> poison, <8 x i32> zeroinitializer
+  %608 = shufflevector <8 x float> %607, <8 x float> %607, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %609 = shufflevector <64 x float> %608, <64 x float> %605, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %610 = insertelement <8 x float> poison, float %562, i32 0
+  %611 = shufflevector <8 x float> %610, <8 x float> poison, <8 x i32> zeroinitializer
+  %612 = shufflevector <8 x float> %611, <8 x float> %611, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %613 = shufflevector <64 x float> %612, <64 x float> %609, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %614 = insertelement <8 x float> poison, float %570, i32 0
+  %615 = shufflevector <8 x float> %614, <8 x float> poison, <8 x i32> zeroinitializer
+  %616 = shufflevector <8 x float> %615, <8 x float> %615, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %617 = shufflevector <64 x float> %616, <64 x float> %613, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %618 = insertelement <8 x float> poison, float %578, i32 0
+  %619 = shufflevector <8 x float> %618, <8 x float> poison, <8 x i32> zeroinitializer
+  %620 = shufflevector <8 x float> %619, <8 x float> %619, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %621 = shufflevector <64 x float> %620, <64 x float> %617, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %622 = insertelement <8 x float> poison, float %586, i32 0
+  %623 = shufflevector <8 x float> %622, <8 x float> poison, <8 x i32> zeroinitializer
+  %624 = shufflevector <8 x float> %623, <8 x float> %623, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %625 = shufflevector <64 x float> %624, <64 x float> %621, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %626 = insertelement <8 x float> poison, float %531, i32 0
+  %627 = shufflevector <8 x float> %626, <8 x float> poison, <8 x i32> zeroinitializer
+  %628 = shufflevector <8 x float> %627, <8 x float> %627, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %629 = shufflevector <64 x float> %628, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %630 = insertelement <8 x float> poison, float %539, i32 0
+  %631 = shufflevector <8 x float> %630, <8 x float> poison, <8 x i32> zeroinitializer
+  %632 = shufflevector <8 x float> %631, <8 x float> %631, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %633 = shufflevector <64 x float> %632, <64 x float> %629, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %634 = insertelement <8 x float> poison, float %547, i32 0
+  %635 = shufflevector <8 x float> %634, <8 x float> poison, <8 x i32> zeroinitializer
+  %636 = shufflevector <8 x float> %635, <8 x float> %635, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %637 = shufflevector <64 x float> %636, <64 x float> %633, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %638 = insertelement <8 x float> poison, float %555, i32 0
+  %639 = shufflevector <8 x float> %638, <8 x float> poison, <8 x i32> zeroinitializer
+  %640 = shufflevector <8 x float> %639, <8 x float> %639, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %641 = shufflevector <64 x float> %640, <64 x float> %637, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %642 = insertelement <8 x float> poison, float %563, i32 0
+  %643 = shufflevector <8 x float> %642, <8 x float> poison, <8 x i32> zeroinitializer
+  %644 = shufflevector <8 x float> %643, <8 x float> %643, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %645 = shufflevector <64 x float> %644, <64 x float> %641, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %646 = insertelement <8 x float> poison, float %571, i32 0
+  %647 = shufflevector <8 x float> %646, <8 x float> poison, <8 x i32> zeroinitializer
+  %648 = shufflevector <8 x float> %647, <8 x float> %647, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %649 = shufflevector <64 x float> %648, <64 x float> %645, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %650 = insertelement <8 x float> poison, float %579, i32 0
+  %651 = shufflevector <8 x float> %650, <8 x float> poison, <8 x i32> zeroinitializer
+  %652 = shufflevector <8 x float> %651, <8 x float> %651, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %653 = shufflevector <64 x float> %652, <64 x float> %649, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %654 = insertelement <8 x float> poison, float %587, i32 0
+  %655 = shufflevector <8 x float> %654, <8 x float> poison, <8 x i32> zeroinitializer
+  %656 = shufflevector <8 x float> %655, <8 x float> %655, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %657 = shufflevector <64 x float> %656, <64 x float> %653, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %658 = insertelement <8 x float> poison, float %532, i32 0
+  %659 = shufflevector <8 x float> %658, <8 x float> poison, <8 x i32> zeroinitializer
+  %660 = shufflevector <8 x float> %659, <8 x float> %659, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %661 = shufflevector <64 x float> %660, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %662 = insertelement <8 x float> poison, float %540, i32 0
+  %663 = shufflevector <8 x float> %662, <8 x float> poison, <8 x i32> zeroinitializer
+  %664 = shufflevector <8 x float> %663, <8 x float> %663, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %665 = shufflevector <64 x float> %664, <64 x float> %661, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %666 = insertelement <8 x float> poison, float %548, i32 0
+  %667 = shufflevector <8 x float> %666, <8 x float> poison, <8 x i32> zeroinitializer
+  %668 = shufflevector <8 x float> %667, <8 x float> %667, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %669 = shufflevector <64 x float> %668, <64 x float> %665, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %670 = insertelement <8 x float> poison, float %556, i32 0
+  %671 = shufflevector <8 x float> %670, <8 x float> poison, <8 x i32> zeroinitializer
+  %672 = shufflevector <8 x float> %671, <8 x float> %671, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %673 = shufflevector <64 x float> %672, <64 x float> %669, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %674 = insertelement <8 x float> poison, float %564, i32 0
+  %675 = shufflevector <8 x float> %674, <8 x float> poison, <8 x i32> zeroinitializer
+  %676 = shufflevector <8 x float> %675, <8 x float> %675, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %677 = shufflevector <64 x float> %676, <64 x float> %673, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %678 = insertelement <8 x float> poison, float %572, i32 0
+  %679 = shufflevector <8 x float> %678, <8 x float> poison, <8 x i32> zeroinitializer
+  %680 = shufflevector <8 x float> %679, <8 x float> %679, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %681 = shufflevector <64 x float> %680, <64 x float> %677, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %682 = insertelement <8 x float> poison, float %580, i32 0
+  %683 = shufflevector <8 x float> %682, <8 x float> poison, <8 x i32> zeroinitializer
+  %684 = shufflevector <8 x float> %683, <8 x float> %683, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %685 = shufflevector <64 x float> %684, <64 x float> %681, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %686 = insertelement <8 x float> poison, float %588, i32 0
+  %687 = shufflevector <8 x float> %686, <8 x float> poison, <8 x i32> zeroinitializer
+  %688 = shufflevector <8 x float> %687, <8 x float> %687, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %689 = shufflevector <64 x float> %688, <64 x float> %685, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %690 = insertelement <8 x float> poison, float %533, i32 0
+  %691 = shufflevector <8 x float> %690, <8 x float> poison, <8 x i32> zeroinitializer
+  %692 = shufflevector <8 x float> %691, <8 x float> %691, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %693 = shufflevector <64 x float> %692, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %694 = insertelement <8 x float> poison, float %541, i32 0
+  %695 = shufflevector <8 x float> %694, <8 x float> poison, <8 x i32> zeroinitializer
+  %696 = shufflevector <8 x float> %695, <8 x float> %695, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %697 = shufflevector <64 x float> %696, <64 x float> %693, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %698 = insertelement <8 x float> poison, float %549, i32 0
+  %699 = shufflevector <8 x float> %698, <8 x float> poison, <8 x i32> zeroinitializer
+  %700 = shufflevector <8 x float> %699, <8 x float> %699, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %701 = shufflevector <64 x float> %700, <64 x float> %697, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %702 = insertelement <8 x float> poison, float %557, i32 0
+  %703 = shufflevector <8 x float> %702, <8 x float> poison, <8 x i32> zeroinitializer
+  %704 = shufflevector <8 x float> %703, <8 x float> %703, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %705 = shufflevector <64 x float> %704, <64 x float> %701, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %706 = insertelement <8 x float> poison, float %565, i32 0
+  %707 = shufflevector <8 x float> %706, <8 x float> poison, <8 x i32> zeroinitializer
+  %708 = shufflevector <8 x float> %707, <8 x float> %707, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %709 = shufflevector <64 x float> %708, <64 x float> %705, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %710 = insertelement <8 x float> poison, float %573, i32 0
+  %711 = shufflevector <8 x float> %710, <8 x float> poison, <8 x i32> zeroinitializer
+  %712 = shufflevector <8 x float> %711, <8 x float> %711, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %713 = shufflevector <64 x float> %712, <64 x float> %709, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %714 = insertelement <8 x float> poison, float %581, i32 0
+  %715 = shufflevector <8 x float> %714, <8 x float> poison, <8 x i32> zeroinitializer
+  %716 = shufflevector <8 x float> %715, <8 x float> %715, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %717 = shufflevector <64 x float> %716, <64 x float> %713, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %718 = insertelement <8 x float> poison, float %589, i32 0
+  %719 = shufflevector <8 x float> %718, <8 x float> poison, <8 x i32> zeroinitializer
+  %720 = shufflevector <8 x float> %719, <8 x float> %719, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %721 = shufflevector <64 x float> %720, <64 x float> %717, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %722 = insertelement <8 x float> poison, float %534, i32 0
+  %723 = shufflevector <8 x float> %722, <8 x float> poison, <8 x i32> zeroinitializer
+  %724 = shufflevector <8 x float> %723, <8 x float> %723, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %725 = shufflevector <64 x float> %724, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %726 = insertelement <8 x float> poison, float %542, i32 0
+  %727 = shufflevector <8 x float> %726, <8 x float> poison, <8 x i32> zeroinitializer
+  %728 = shufflevector <8 x float> %727, <8 x float> %727, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %729 = shufflevector <64 x float> %728, <64 x float> %725, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %730 = insertelement <8 x float> poison, float %550, i32 0
+  %731 = shufflevector <8 x float> %730, <8 x float> poison, <8 x i32> zeroinitializer
+  %732 = shufflevector <8 x float> %731, <8 x float> %731, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %733 = shufflevector <64 x float> %732, <64 x float> %729, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %734 = insertelement <8 x float> poison, float %558, i32 0
+  %735 = shufflevector <8 x float> %734, <8 x float> poison, <8 x i32> zeroinitializer
+  %736 = shufflevector <8 x float> %735, <8 x float> %735, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %737 = shufflevector <64 x float> %736, <64 x float> %733, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %738 = insertelement <8 x float> poison, float %566, i32 0
+  %739 = shufflevector <8 x float> %738, <8 x float> poison, <8 x i32> zeroinitializer
+  %740 = shufflevector <8 x float> %739, <8 x float> %739, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %741 = shufflevector <64 x float> %740, <64 x float> %737, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %742 = insertelement <8 x float> poison, float %574, i32 0
+  %743 = shufflevector <8 x float> %742, <8 x float> poison, <8 x i32> zeroinitializer
+  %744 = shufflevector <8 x float> %743, <8 x float> %743, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %745 = shufflevector <64 x float> %744, <64 x float> %741, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %746 = insertelement <8 x float> poison, float %582, i32 0
+  %747 = shufflevector <8 x float> %746, <8 x float> poison, <8 x i32> zeroinitializer
+  %748 = shufflevector <8 x float> %747, <8 x float> %747, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %749 = shufflevector <64 x float> %748, <64 x float> %745, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %750 = insertelement <8 x float> poison, float %590, i32 0
+  %751 = shufflevector <8 x float> %750, <8 x float> poison, <8 x i32> zeroinitializer
+  %752 = shufflevector <8 x float> %751, <8 x float> %751, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %753 = shufflevector <64 x float> %752, <64 x float> %749, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %754 = insertelement <8 x float> poison, float %535, i32 0
+  %755 = shufflevector <8 x float> %754, <8 x float> poison, <8 x i32> zeroinitializer
+  %756 = shufflevector <8 x float> %755, <8 x float> %755, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %757 = shufflevector <64 x float> %756, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %758 = insertelement <8 x float> poison, float %543, i32 0
+  %759 = shufflevector <8 x float> %758, <8 x float> poison, <8 x i32> zeroinitializer
+  %760 = shufflevector <8 x float> %759, <8 x float> %759, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %761 = shufflevector <64 x float> %760, <64 x float> %757, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %762 = insertelement <8 x float> poison, float %551, i32 0
+  %763 = shufflevector <8 x float> %762, <8 x float> poison, <8 x i32> zeroinitializer
+  %764 = shufflevector <8 x float> %763, <8 x float> %763, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %765 = shufflevector <64 x float> %764, <64 x float> %761, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %766 = insertelement <8 x float> poison, float %559, i32 0
+  %767 = shufflevector <8 x float> %766, <8 x float> poison, <8 x i32> zeroinitializer
+  %768 = shufflevector <8 x float> %767, <8 x float> %767, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %769 = shufflevector <64 x float> %768, <64 x float> %765, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %770 = insertelement <8 x float> poison, float %567, i32 0
+  %771 = shufflevector <8 x float> %770, <8 x float> poison, <8 x i32> zeroinitializer
+  %772 = shufflevector <8 x float> %771, <8 x float> %771, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %773 = shufflevector <64 x float> %772, <64 x float> %769, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %774 = insertelement <8 x float> poison, float %575, i32 0
+  %775 = shufflevector <8 x float> %774, <8 x float> poison, <8 x i32> zeroinitializer
+  %776 = shufflevector <8 x float> %775, <8 x float> %775, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %777 = shufflevector <64 x float> %776, <64 x float> %773, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %778 = insertelement <8 x float> poison, float %583, i32 0
+  %779 = shufflevector <8 x float> %778, <8 x float> poison, <8 x i32> zeroinitializer
+  %780 = shufflevector <8 x float> %779, <8 x float> %779, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %781 = shufflevector <64 x float> %780, <64 x float> %777, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %782 = insertelement <8 x float> poison, float %591, i32 0
+  %783 = shufflevector <8 x float> %782, <8 x float> poison, <8 x i32> zeroinitializer
+  %784 = shufflevector <8 x float> %783, <8 x float> %783, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %785 = shufflevector <64 x float> %784, <64 x float> %781, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %786 = insertelement <8 x float> poison, float %536, i32 0
+  %787 = shufflevector <8 x float> %786, <8 x float> poison, <8 x i32> zeroinitializer
+  %788 = shufflevector <8 x float> %787, <8 x float> %787, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %789 = shufflevector <64 x float> %788, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %790 = insertelement <8 x float> poison, float %544, i32 0
+  %791 = shufflevector <8 x float> %790, <8 x float> poison, <8 x i32> zeroinitializer
+  %792 = shufflevector <8 x float> %791, <8 x float> %791, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %793 = shufflevector <64 x float> %792, <64 x float> %789, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %794 = insertelement <8 x float> poison, float %552, i32 0
+  %795 = shufflevector <8 x float> %794, <8 x float> poison, <8 x i32> zeroinitializer
+  %796 = shufflevector <8 x float> %795, <8 x float> %795, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %797 = shufflevector <64 x float> %796, <64 x float> %793, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %798 = insertelement <8 x float> poison, float %560, i32 0
+  %799 = shufflevector <8 x float> %798, <8 x float> poison, <8 x i32> zeroinitializer
+  %800 = shufflevector <8 x float> %799, <8 x float> %799, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %801 = shufflevector <64 x float> %800, <64 x float> %797, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %802 = insertelement <8 x float> poison, float %568, i32 0
+  %803 = shufflevector <8 x float> %802, <8 x float> poison, <8 x i32> zeroinitializer
+  %804 = shufflevector <8 x float> %803, <8 x float> %803, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %805 = shufflevector <64 x float> %804, <64 x float> %801, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %806 = insertelement <8 x float> poison, float %576, i32 0
+  %807 = shufflevector <8 x float> %806, <8 x float> poison, <8 x i32> zeroinitializer
+  %808 = shufflevector <8 x float> %807, <8 x float> %807, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %809 = shufflevector <64 x float> %808, <64 x float> %805, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %810 = insertelement <8 x float> poison, float %584, i32 0
+  %811 = shufflevector <8 x float> %810, <8 x float> poison, <8 x i32> zeroinitializer
+  %812 = shufflevector <8 x float> %811, <8 x float> %811, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %813 = shufflevector <64 x float> %812, <64 x float> %809, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %814 = insertelement <8 x float> poison, float %592, i32 0
+  %815 = shufflevector <8 x float> %814, <8 x float> poison, <8 x i32> zeroinitializer
+  %816 = shufflevector <8 x float> %815, <8 x float> %815, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %817 = shufflevector <64 x float> %816, <64 x float> %813, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %818 = insertelement <8 x float> poison, float %537, i32 0
+  %819 = shufflevector <8 x float> %818, <8 x float> poison, <8 x i32> zeroinitializer
+  %820 = shufflevector <8 x float> %819, <8 x float> %819, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %821 = shufflevector <64 x float> %820, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %822 = insertelement <8 x float> poison, float %545, i32 0
+  %823 = shufflevector <8 x float> %822, <8 x float> poison, <8 x i32> zeroinitializer
+  %824 = shufflevector <8 x float> %823, <8 x float> %823, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %825 = shufflevector <64 x float> %824, <64 x float> %821, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %826 = insertelement <8 x float> poison, float %553, i32 0
+  %827 = shufflevector <8 x float> %826, <8 x float> poison, <8 x i32> zeroinitializer
+  %828 = shufflevector <8 x float> %827, <8 x float> %827, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %829 = shufflevector <64 x float> %828, <64 x float> %825, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %830 = insertelement <8 x float> poison, float %561, i32 0
+  %831 = shufflevector <8 x float> %830, <8 x float> poison, <8 x i32> zeroinitializer
+  %832 = shufflevector <8 x float> %831, <8 x float> %831, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %833 = shufflevector <64 x float> %832, <64 x float> %829, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %834 = insertelement <8 x float> poison, float %569, i32 0
+  %835 = shufflevector <8 x float> %834, <8 x float> poison, <8 x i32> zeroinitializer
+  %836 = shufflevector <8 x float> %835, <8 x float> %835, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %837 = shufflevector <64 x float> %836, <64 x float> %833, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %838 = insertelement <8 x float> poison, float %577, i32 0
+  %839 = shufflevector <8 x float> %838, <8 x float> poison, <8 x i32> zeroinitializer
+  %840 = shufflevector <8 x float> %839, <8 x float> %839, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %841 = shufflevector <64 x float> %840, <64 x float> %837, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %842 = insertelement <8 x float> poison, float %585, i32 0
+  %843 = shufflevector <8 x float> %842, <8 x float> poison, <8 x i32> zeroinitializer
+  %844 = shufflevector <8 x float> %843, <8 x float> %843, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %845 = shufflevector <64 x float> %844, <64 x float> %841, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %846 = insertelement <8 x float> poison, float %593, i32 0
+  %847 = shufflevector <8 x float> %846, <8 x float> poison, <8 x i32> zeroinitializer
+  %848 = shufflevector <8 x float> %847, <8 x float> %847, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %849 = shufflevector <64 x float> %848, <64 x float> %845, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %850 = shufflevector <8 x float> %514, <8 x float> %514, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %851 = shufflevector <64 x float> %850, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %852 = shufflevector <8 x float> %514, <8 x float> %514, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %853 = shufflevector <64 x float> %852, <64 x float> %851, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %854 = shufflevector <8 x float> %514, <8 x float> %514, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %855 = shufflevector <64 x float> %854, <64 x float> %853, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %856 = shufflevector <8 x float> %514, <8 x float> %514, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %857 = shufflevector <64 x float> %856, <64 x float> %855, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %858 = shufflevector <8 x float> %514, <8 x float> %514, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %859 = shufflevector <64 x float> %858, <64 x float> %857, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %860 = shufflevector <8 x float> %514, <8 x float> %514, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %861 = shufflevector <64 x float> %860, <64 x float> %859, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %862 = shufflevector <8 x float> %514, <8 x float> %514, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %863 = shufflevector <64 x float> %862, <64 x float> %861, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %864 = shufflevector <8 x float> %514, <8 x float> %514, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %865 = shufflevector <64 x float> %864, <64 x float> %863, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %866 = shufflevector <8 x float> %515, <8 x float> %515, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %867 = shufflevector <64 x float> %866, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %868 = shufflevector <8 x float> %515, <8 x float> %515, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %869 = shufflevector <64 x float> %868, <64 x float> %867, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %870 = shufflevector <8 x float> %515, <8 x float> %515, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %871 = shufflevector <64 x float> %870, <64 x float> %869, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %872 = shufflevector <8 x float> %515, <8 x float> %515, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %873 = shufflevector <64 x float> %872, <64 x float> %871, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %874 = shufflevector <8 x float> %515, <8 x float> %515, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %875 = shufflevector <64 x float> %874, <64 x float> %873, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %876 = shufflevector <8 x float> %515, <8 x float> %515, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %877 = shufflevector <64 x float> %876, <64 x float> %875, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %878 = shufflevector <8 x float> %515, <8 x float> %515, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %879 = shufflevector <64 x float> %878, <64 x float> %877, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %880 = shufflevector <8 x float> %515, <8 x float> %515, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %881 = shufflevector <64 x float> %880, <64 x float> %879, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %882 = shufflevector <8 x float> %516, <8 x float> %516, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %883 = shufflevector <64 x float> %882, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %884 = shufflevector <8 x float> %516, <8 x float> %516, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %885 = shufflevector <64 x float> %884, <64 x float> %883, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %886 = shufflevector <8 x float> %516, <8 x float> %516, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %887 = shufflevector <64 x float> %886, <64 x float> %885, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %888 = shufflevector <8 x float> %516, <8 x float> %516, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %889 = shufflevector <64 x float> %888, <64 x float> %887, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %890 = shufflevector <8 x float> %516, <8 x float> %516, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %891 = shufflevector <64 x float> %890, <64 x float> %889, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %892 = shufflevector <8 x float> %516, <8 x float> %516, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %893 = shufflevector <64 x float> %892, <64 x float> %891, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %894 = shufflevector <8 x float> %516, <8 x float> %516, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %895 = shufflevector <64 x float> %894, <64 x float> %893, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %896 = shufflevector <8 x float> %516, <8 x float> %516, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %897 = shufflevector <64 x float> %896, <64 x float> %895, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %898 = shufflevector <8 x float> %517, <8 x float> %517, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %899 = shufflevector <64 x float> %898, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %900 = shufflevector <8 x float> %517, <8 x float> %517, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %901 = shufflevector <64 x float> %900, <64 x float> %899, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %902 = shufflevector <8 x float> %517, <8 x float> %517, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %903 = shufflevector <64 x float> %902, <64 x float> %901, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %904 = shufflevector <8 x float> %517, <8 x float> %517, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %905 = shufflevector <64 x float> %904, <64 x float> %903, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %906 = shufflevector <8 x float> %517, <8 x float> %517, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %907 = shufflevector <64 x float> %906, <64 x float> %905, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %908 = shufflevector <8 x float> %517, <8 x float> %517, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %909 = shufflevector <64 x float> %908, <64 x float> %907, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %910 = shufflevector <8 x float> %517, <8 x float> %517, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %911 = shufflevector <64 x float> %910, <64 x float> %909, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %912 = shufflevector <8 x float> %517, <8 x float> %517, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %913 = shufflevector <64 x float> %912, <64 x float> %911, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %914 = shufflevector <8 x float> %518, <8 x float> %518, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %915 = shufflevector <64 x float> %914, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %916 = shufflevector <8 x float> %518, <8 x float> %518, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %917 = shufflevector <64 x float> %916, <64 x float> %915, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %918 = shufflevector <8 x float> %518, <8 x float> %518, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %919 = shufflevector <64 x float> %918, <64 x float> %917, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %920 = shufflevector <8 x float> %518, <8 x float> %518, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %921 = shufflevector <64 x float> %920, <64 x float> %919, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %922 = shufflevector <8 x float> %518, <8 x float> %518, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %923 = shufflevector <64 x float> %922, <64 x float> %921, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %924 = shufflevector <8 x float> %518, <8 x float> %518, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %925 = shufflevector <64 x float> %924, <64 x float> %923, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %926 = shufflevector <8 x float> %518, <8 x float> %518, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %927 = shufflevector <64 x float> %926, <64 x float> %925, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %928 = shufflevector <8 x float> %518, <8 x float> %518, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %929 = shufflevector <64 x float> %928, <64 x float> %927, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %930 = shufflevector <8 x float> %519, <8 x float> %519, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %931 = shufflevector <64 x float> %930, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %932 = shufflevector <8 x float> %519, <8 x float> %519, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %933 = shufflevector <64 x float> %932, <64 x float> %931, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %934 = shufflevector <8 x float> %519, <8 x float> %519, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %935 = shufflevector <64 x float> %934, <64 x float> %933, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %936 = shufflevector <8 x float> %519, <8 x float> %519, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %937 = shufflevector <64 x float> %936, <64 x float> %935, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %938 = shufflevector <8 x float> %519, <8 x float> %519, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %939 = shufflevector <64 x float> %938, <64 x float> %937, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %940 = shufflevector <8 x float> %519, <8 x float> %519, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %941 = shufflevector <64 x float> %940, <64 x float> %939, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %942 = shufflevector <8 x float> %519, <8 x float> %519, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %943 = shufflevector <64 x float> %942, <64 x float> %941, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %944 = shufflevector <8 x float> %519, <8 x float> %519, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %945 = shufflevector <64 x float> %944, <64 x float> %943, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %946 = shufflevector <8 x float> %520, <8 x float> %520, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %947 = shufflevector <64 x float> %946, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %948 = shufflevector <8 x float> %520, <8 x float> %520, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %949 = shufflevector <64 x float> %948, <64 x float> %947, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %950 = shufflevector <8 x float> %520, <8 x float> %520, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %951 = shufflevector <64 x float> %950, <64 x float> %949, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %952 = shufflevector <8 x float> %520, <8 x float> %520, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %953 = shufflevector <64 x float> %952, <64 x float> %951, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %954 = shufflevector <8 x float> %520, <8 x float> %520, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %955 = shufflevector <64 x float> %954, <64 x float> %953, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %956 = shufflevector <8 x float> %520, <8 x float> %520, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %957 = shufflevector <64 x float> %956, <64 x float> %955, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %958 = shufflevector <8 x float> %520, <8 x float> %520, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %959 = shufflevector <64 x float> %958, <64 x float> %957, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %960 = shufflevector <8 x float> %520, <8 x float> %520, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %961 = shufflevector <64 x float> %960, <64 x float> %959, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %962 = shufflevector <8 x float> %521, <8 x float> %521, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %963 = shufflevector <64 x float> %962, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %964 = shufflevector <8 x float> %521, <8 x float> %521, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %965 = shufflevector <64 x float> %964, <64 x float> %963, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %966 = shufflevector <8 x float> %521, <8 x float> %521, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %967 = shufflevector <64 x float> %966, <64 x float> %965, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %968 = shufflevector <8 x float> %521, <8 x float> %521, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %969 = shufflevector <64 x float> %968, <64 x float> %967, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %970 = shufflevector <8 x float> %521, <8 x float> %521, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %971 = shufflevector <64 x float> %970, <64 x float> %969, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %972 = shufflevector <8 x float> %521, <8 x float> %521, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %973 = shufflevector <64 x float> %972, <64 x float> %971, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %974 = shufflevector <8 x float> %521, <8 x float> %521, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %975 = shufflevector <64 x float> %974, <64 x float> %973, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %976 = shufflevector <8 x float> %521, <8 x float> %521, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %977 = shufflevector <64 x float> %976, <64 x float> %975, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %978 = call <64 x float> @llvm.fma.v64f32(<64 x float> %849, <64 x float> %977, <64 x float> zeroinitializer)
+  %979 = call <64 x float> @llvm.fma.v64f32(<64 x float> %817, <64 x float> %961, <64 x float> %978)
+  %980 = call <64 x float> @llvm.fma.v64f32(<64 x float> %785, <64 x float> %945, <64 x float> %979)
+  %981 = call <64 x float> @llvm.fma.v64f32(<64 x float> %753, <64 x float> %929, <64 x float> %980)
+  %982 = call <64 x float> @llvm.fma.v64f32(<64 x float> %721, <64 x float> %913, <64 x float> %981)
+  %983 = call <64 x float> @llvm.fma.v64f32(<64 x float> %689, <64 x float> %897, <64 x float> %982)
+  %984 = call <64 x float> @llvm.fma.v64f32(<64 x float> %657, <64 x float> %881, <64 x float> %983)
+  %985 = call <64 x float> @llvm.fma.v64f32(<64 x float> %625, <64 x float> %865, <64 x float> %984)
+  %986 = shufflevector <64 x float> %985, <64 x float> %985, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %987 = shufflevector <64 x float> %985, <64 x float> %985, <8 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15>
+  %988 = shufflevector <64 x float> %985, <64 x float> %985, <8 x i32> <i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
+  %989 = shufflevector <64 x float> %985, <64 x float> %985, <8 x i32> <i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31>
+  %990 = shufflevector <64 x float> %985, <64 x float> %985, <8 x i32> <i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39>
+  %991 = shufflevector <64 x float> %985, <64 x float> %985, <8 x i32> <i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47>
+  %992 = shufflevector <64 x float> %985, <64 x float> %985, <8 x i32> <i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55>
+  %993 = shufflevector <64 x float> %985, <64 x float> %985, <8 x i32> <i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63>
+  br label %994
+
+994:                                              ; preds = %997, %41
+  %995 = phi i32 [ %1006, %997 ], [ 0, %41 ]
+  %996 = icmp slt i32 %995, 8
+  br i1 %996, label %997, label %1007
+
+997:                                              ; preds = %994
+  %998 = zext i32 %995 to i64
+  %999 = extractelement <8 x float> %986, i64 %998
+  %1000 = add nuw nsw i64 0, %998
+  %1001 = add nuw nsw i64 %1000, 0
+  %1002 = add nuw nsw i64 %1001, 0
+  %1003 = add nuw nsw i64 %1002, 0
+  %1004 = add nuw nsw i64 %1003, 0
+  %1005 = getelementptr inbounds nuw float, ptr addrspace(1) %1, i64 %1004
+  store float %999, ptr addrspace(1) %1005, align 4
+  %1006 = add i32 %995, 1
+  br label %994
+
+1007:                                             ; preds = %1010, %994
+  %1008 = phi i32 [ %1019, %1010 ], [ 0, %994 ]
+  %1009 = icmp slt i32 %1008, 8
+  br i1 %1009, label %1010, label %1020
+
+1010:                                             ; preds = %1007
+  %1011 = zext i32 %1008 to i64
+  %1012 = extractelement <8 x float> %987, i64 %1011
+  %1013 = add nuw nsw i64 8, %1011
+  %1014 = add nuw nsw i64 %1013, 0
+  %1015 = add nuw nsw i64 %1014, 0
+  %1016 = add nuw nsw i64 %1015, 0
+  %1017 = add nuw nsw i64 %1016, 0
+  %1018 = getelementptr inbounds nuw float, ptr addrspace(1) %1, i64 %1017
+  store float %1012, ptr addrspace(1) %1018, align 4
+  %1019 = add i32 %1008, 1
+  br label %1007
+
+1020:                                             ; preds = %1023, %1007
+  %1021 = phi i32 [ %1032, %1023 ], [ 0, %1007 ]
+  %1022 = icmp slt i32 %1021, 8
+  br i1 %1022, label %1023, label %1033
+
+1023:                                             ; preds = %1020
+  %1024 = zext i32 %1021 to i64
+  %1025 = extractelement <8 x float> %988, i64 %1024
+  %1026 = add nuw nsw i64 16, %1024
+  %1027 = add nuw nsw i64 %1026, 0
+  %1028 = add nuw nsw i64 %1027, 0
+  %1029 = add nuw nsw i64 %1028, 0
+  %1030 = add nuw nsw i64 %1029, 0
+  %1031 = getelementptr inbounds nuw float, ptr addrspace(1) %1, i64 %1030
+  store float %1025, ptr addrspace(1) %1031, align 4
+  %1032 = add i32 %1021, 1
+  br label %1020
+
+1033:                                             ; preds = %1036, %1020
+  %1034 = phi i32 [ %1045, %1036 ], [ 0, %1020 ]
+  %1035 = icmp slt i32 %1034, 8
+  br i1 %1035, label %1036, label %1046
+
+1036:                                             ; preds = %1033
+  %1037 = zext i32 %1034 to i64
+  %1038 = extractelement <8 x float> %989, i64 %1037
+  %1039 = add nuw nsw i64 24, %1037
+  %1040 = add nuw nsw i64 %1039, 0
+  %1041 = add nuw nsw i64 %1040, 0
+  %1042 = add nuw nsw i64 %1041, 0
+  %1043 = add nuw nsw i64 %1042, 0
+  %1044 = getelementptr inbounds nuw float, ptr addrspace(1) %1, i64 %1043
+  store float %1038, ptr addrspace(1) %1044, align 4
+  %1045 = add i32 %1034, 1
+  br label %1033
+
+1046:                                             ; preds = %1049, %1033
+  %1047 = phi i32 [ %1058, %1049 ], [ 0, %1033 ]
+  %1048 = icmp slt i32 %1047, 8
+  br i1 %1048, label %1049, label %1059
+
+1049:                                             ; preds = %1046
+  %1050 = zext i32 %1047 to i64
+  %1051 = extractelement <8 x float> %990, i64 %1050
+  %1052 = add nuw nsw i64 32, %1050
+  %1053 = add nuw nsw i64 %1052, 0
+  %1054 = add nuw nsw i64 %1053, 0
+  %1055 = add nuw nsw i64 %1054, 0
+  %1056 = add nuw nsw i64 %1055, 0
+  %1057 = getelementptr inbounds nuw float, ptr addrspace(1) %1, i64 %1056
+  store float %1051, ptr addrspace(1) %1057, align 4
+  %1058 = add i32 %1047, 1
+  br label %1046
+
+1059:                                             ; preds = %1062, %1046
+  %1060 = phi i32 [ %1071, %1062 ], [ 0, %1046 ]
+  %1061 = icmp slt i32 %1060, 8
+  br i1 %1061, label %1062, label %1072
+
+1062:                                             ; preds = %1059
+  %1063 = zext i32 %1060 to i64
+  %1064 = extractelement <8 x float> %991, i64 %1063
+  %1065 = add nuw nsw i64 40, %1063
+  %1066 = add nuw nsw i64 %1065, 0
+  %1067 = add nuw nsw i64 %1066, 0
+  %1068 = add nuw nsw i64 %1067, 0
+  %1069 = add nuw nsw i64 %1068, 0
+  %1070 = getelementptr inbounds nuw float, ptr addrspace(1) %1, i64 %1069
+  store float %1064, ptr addrspace(1) %1070, align 4
+  %1071 = add i32 %1060, 1
+  br label %1059
+
+1072:                                             ; preds = %1075, %1059
+  %1073 = phi i32 [ %1084, %1075 ], [ 0, %1059 ]
+  %1074 = icmp slt i32 %1073, 8
+  br i1 %1074, label %1075, label %1085
+
+1075:                                             ; preds = %1072
+  %1076 = zext i32 %1073 to i64
+  %1077 = extractelement <8 x float> %992, i64 %1076
+  %1078 = add nuw nsw i64 48, %1076
+  %1079 = add nuw nsw i64 %1078, 0
+  %1080 = add nuw nsw i64 %1079, 0
+  %1081 = add nuw nsw i64 %1080, 0
+  %1082 = add nuw nsw i64 %1081, 0
+  %1083 = getelementptr inbounds nuw float, ptr addrspace(1) %1, i64 %1082
+  store float %1077, ptr addrspace(1) %1083, align 4
+  %1084 = add i32 %1073, 1
+  br label %1072
+
+1085:                                             ; preds = %1088, %1072
+  %1086 = phi i32 [ %1097, %1088 ], [ 0, %1072 ]
+  %1087 = icmp slt i32 %1086, 8
+  br i1 %1087, label %1088, label %1098
+
+1088:                                             ; preds = %1085
+  %1089 = zext i32 %1086 to i64
+  %1090 = extractelement <8 x float> %993, i64 %1089
+  %1091 = add nuw nsw i64 56, %1089
+  %1092 = add nuw nsw i64 %1091, 0
+  %1093 = add nuw nsw i64 %1092, 0
+  %1094 = add nuw nsw i64 %1093, 0
+  %1095 = add nuw nsw i64 %1094, 0
+  %1096 = getelementptr inbounds nuw float, ptr addrspace(1) %1, i64 %1095
+  store float %1090, ptr addrspace(1) %1096, align 4
+  %1097 = add i32 %1086, 1
+  br label %1085
+
+1098:                                             ; preds = %1085
+  ret void
+}
+
+; Function Attrs: alwaysinline nocallback nofree nosync nounwind willreturn memory(inaccessiblemem: write)
+declare void @llvm.assume(i1 noundef) #1
+
+; Function Attrs: alwaysinline convergent nocallback nofree nounwind willreturn
+declare void @llvm.amdgcn.s.barrier.signal(i32 immarg) #2
+
+; Function Attrs: alwaysinline convergent nocallback nofree nounwind willreturn
+declare void @llvm.amdgcn.s.barrier.wait(i16 immarg) #2
+
+; Function Attrs: alwaysinline nocallback nocreateundeforpoison nofree nosync nounwind speculatable willreturn memory(none)
+declare <64 x float> @llvm.fma.v64f32(<64 x float>, <64 x float>, <64 x float>) #3
+
+attributes #0 = { alwaysinline }
+attributes #1 = { alwaysinline nocallback nofree nosync nounwind willreturn memory(inaccessiblemem: write) }
+attributes #2 = { alwaysinline convergent nocallback nofree nounwind willreturn }
+attributes #3 = { alwaysinline nocallback nocreateundeforpoison nofree nosync nounwind speculatable willreturn memory(none) }
+
+!llvm.module.flags = !{!0, !1}
+!spirv.ExecutionMode = !{!3, !4}
+
+!0 = !{i32 2, !"Debug Info Version", i32 3}
+!1 = !{i32 1, !"amdhsa_code_object_version", i32 500}
+!2 = !{!"amdgpu-synchronize-as", !"local"}
+!3 = !{ptr addrspace(4) @_winograd_input_dispatch_0_winograd_input_transform_8x8x1x1x1x1xf32_dispatch_tensor_store, i32 5157}
+!4 = !{ptr addrspace(4) @_winograd_input_nchw_dispatch_0_winograd_input_transform_8x8x1x1x1x1xf32_dispatch_tensor_store, i32 5157}
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/unmerge-crash-1.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/unmerge-crash-1.ll
new file mode 100644
index 0000000000000..ad5da582cde96
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/unmerge-crash-1.ll
@@ -0,0 +1,2426 @@
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 6
+; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector --spv-allow-unknown-intrinsics=llvm. %s -o - | FileCheck %s
+; spirv-val seems to have problems reading OpTypeVectorIdEXT correctly, enable once fixed
+; TODO: %if spirv-tools %{ llc -O0 -mtriple=spirv64-amd-amdhsa --spirv-ext=+SPV_EXT_long_vector --spv-allow-unknown-intrinsics=llvm. %s -o - -filetype=obj | spirv-val %}
+
+; This is a repro extracted from IREE.
+
+ at __shared_memory__ = private addrspace(3) global [8 x [8 x float]] undef, align 16
+ at __constant_8x8xf32_0 = private addrspace(4) constant [8 x [8 x float]] [[8 x float] [float 1.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 1.000000e+00, float -1.000000e+00, float 5.000000e-01, float -5.000000e-01, float 2.000000e+00, float -2.000000e+00, float -1.000000e+00], [8 x float] [float -5.250000e+00, float 1.000000e+00, float 1.000000e+00, float 2.500000e-01, float 2.500000e-01, float 4.000000e+00, float 4.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float -4.250000e+00, float 4.250000e+00, float -2.500000e+00, float 2.500000e+00, float -2.500000e+00, float 2.500000e+00, float 5.250000e+00], [8 x float] [float 5.250000e+00, float -4.250000e+00, float -4.250000e+00, float -1.250000e+00, float -1.250000e+00, float -5.000000e+00, float -5.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 1.000000e+00, float -1.000000e+00, float 2.000000e+00, float -2.000000e+00, float 5.000000e-01, float -5.000000e-01, float -5.250000e+00], [8 x float] [float -1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 1.000000e+00]], align 64
+ at __constant_8x8xf32 = private addrspace(4) constant [8 x [8 x float]] [[8 x float] [float 1.000000e+00, float 0.000000e+00, float -5.250000e+00, float 0.000000e+00, float 5.250000e+00, float 0.000000e+00, float -1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 1.000000e+00, float 1.000000e+00, float -4.250000e+00, float -4.250000e+00, float 1.000000e+00, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float -1.000000e+00, float 1.000000e+00, float 4.250000e+00, float -4.250000e+00, float -1.000000e+00, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 5.000000e-01, float 2.500000e-01, float -2.500000e+00, float -1.250000e+00, float 2.000000e+00, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float -5.000000e-01, float 2.500000e-01, float 2.500000e+00, float -1.250000e+00, float -2.000000e+00, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 2.000000e+00, float 4.000000e+00, float -2.500000e+00, float -5.000000e+00, float 5.000000e-01, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float -2.000000e+00, float 4.000000e+00, float 2.500000e+00, float -5.000000e+00, float -5.000000e-01, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float -1.000000e+00, float 0.000000e+00, float 5.250000e+00, float 0.000000e+00, float -5.250000e+00, float 0.000000e+00, float 1.000000e+00]], align 64
+
+; Function Attrs: alwaysinline
+define spir_kernel void @_winograd_input_nchw_dispatch_0_winograd_input_transform_8x8x1x1x1x1xf32_dispatch_tensor_store(ptr addrspace(1) noalias noundef nonnull readonly align 16 %0, ptr addrspace(1) noalias noundef nonnull align 16 %1) addrspace(4) #0 {
+; CHECK-LABEL: _winograd_input_nchw_dispatch_0_winograd_input_transform_8x8x1x1x1x1xf32_dispatch_tensor_store
+; CHECK:       %106 = OpFunction %11 Inline %12 ; -- Begin function _winograd_input_nchw_dispatch_0_winograd_input_transform_8x8x1x1x1x1xf32_dispatch_tensor_store
+; CHECK-NEXT:    %104 = OpFunctionParameter %10
+; CHECK-NEXT:    %105 = OpFunctionParameter %10
+; CHECK-NEXT:    %1228 = OpLabel
+; CHECK-NEXT:    %107 = OpBitcast %20 %92
+; CHECK-NEXT:    %108 = OpInBoundsPtrAccessChain %20 %107 %52
+; CHECK-NEXT:    %109 = OpInBoundsPtrAccessChain %20 %107 %51
+; CHECK-NEXT:    %110 = OpInBoundsPtrAccessChain %20 %107 %50
+; CHECK-NEXT:    %111 = OpInBoundsPtrAccessChain %20 %107 %49
+; CHECK-NEXT:    %112 = OpInBoundsPtrAccessChain %20 %107 %48
+; CHECK-NEXT:    %113 = OpInBoundsPtrAccessChain %20 %107 %47
+; CHECK-NEXT:    %114 = OpInBoundsPtrAccessChain %20 %107 %46
+; CHECK-NEXT:    %115 = OpBitcast %21 %81
+; CHECK-NEXT:    %116 = OpInBoundsPtrAccessChain %21 %115 %52
+; CHECK-NEXT:    %117 = OpInBoundsPtrAccessChain %21 %115 %51
+; CHECK-NEXT:    %118 = OpInBoundsPtrAccessChain %21 %115 %50
+; CHECK-NEXT:    %119 = OpInBoundsPtrAccessChain %21 %115 %49
+; CHECK-NEXT:    %120 = OpInBoundsPtrAccessChain %21 %115 %48
+; CHECK-NEXT:    %121 = OpInBoundsPtrAccessChain %21 %115 %47
+; CHECK-NEXT:    %122 = OpInBoundsPtrAccessChain %21 %115 %46
+; CHECK-NEXT:    %123 = OpBitcast %21 %91
+; CHECK-NEXT:    %124 = OpInBoundsPtrAccessChain %21 %123 %52
+; CHECK-NEXT:    %125 = OpInBoundsPtrAccessChain %21 %123 %51
+; CHECK-NEXT:    %126 = OpInBoundsPtrAccessChain %21 %123 %50
+; CHECK-NEXT:    %127 = OpInBoundsPtrAccessChain %21 %123 %49
+; CHECK-NEXT:    %128 = OpInBoundsPtrAccessChain %21 %123 %48
+; CHECK-NEXT:    %129 = OpInBoundsPtrAccessChain %21 %123 %47
+; CHECK-NEXT:    %130 = OpInBoundsPtrAccessChain %21 %123 %46
+; CHECK-NEXT:    OpBranch %1229
+; CHECK-NEXT:    %1229 = OpLabel
+; CHECK-NEXT:    %131 = OpPhi %13 %132 %1230 %40 %1228
+; CHECK-NEXT:    %133 = OpSLessThan %27 %131 %28
+; CHECK-NEXT:    OpBranchConditional %133 %1231 %1232
+; CHECK-NEXT:    %1232 = OpLabel
+; CHECK-NEXT:    OpMemoryBarrier %71 %70
+; CHECK-NEXT:    %134 = OpFunctionCall %11 %93 %45
+; CHECK-NEXT:    %135 = OpFunctionCall %11 %95 %44
+; CHECK-NEXT:    OpMemoryBarrier %71 %71
+; CHECK-NEXT:    OpBranch %1233
+; CHECK-NEXT:    %1233 = OpLabel
+; CHECK-NEXT:    %136 = OpPhi %13 %137 %1234 %40 %1232
+; CHECK-NEXT:    %138 = OpSLessThan %27 %136 %43
+; CHECK-NEXT:    OpBranchConditional %138 %1235 %1236
+; CHECK-NEXT:    %1236 = OpLabel
+; CHECK-NEXT:    OpMemoryBarrier %71 %70
+; CHECK-NEXT:    %139 = OpFunctionCall %11 %93 %45
+; CHECK-NEXT:    %140 = OpFunctionCall %11 %95 %44
+; CHECK-NEXT:    OpMemoryBarrier %71 %71
+; CHECK-NEXT:    %141 = OpBitcast %23 %92
+; CHECK-NEXT:    %142 = OpLoad %22 %141 Aligned 4
+; CHECK-NEXT:    %143 = OpBitcast %23 %108
+; CHECK-NEXT:    %144 = OpLoad %22 %143 Aligned 4
+; CHECK-NEXT:    %145 = OpBitcast %23 %109
+; CHECK-NEXT:    %146 = OpLoad %22 %145 Aligned 4
+; CHECK-NEXT:    %147 = OpBitcast %23 %110
+; CHECK-NEXT:    %148 = OpLoad %22 %147 Aligned 4
+; CHECK-NEXT:    %149 = OpBitcast %23 %111
+; CHECK-NEXT:    %150 = OpLoad %22 %149 Aligned 4
+; CHECK-NEXT:    %151 = OpBitcast %23 %112
+; CHECK-NEXT:    %152 = OpLoad %22 %151 Aligned 4
+; CHECK-NEXT:    %153 = OpBitcast %23 %113
+; CHECK-NEXT:    %154 = OpLoad %22 %153 Aligned 4
+; CHECK-NEXT:    %155 = OpBitcast %23 %114
+; CHECK-NEXT:    %156 = OpLoad %22 %155 Aligned 4
+; CHECK-NEXT:    %157 = OpCompositeExtract %9 %142 0
+; CHECK-NEXT:    %158 = OpCompositeExtract %9 %142 1
+; CHECK-NEXT:    %159 = OpCompositeExtract %9 %142 2
+; CHECK-NEXT:    %160 = OpCompositeExtract %9 %142 3
+; CHECK-NEXT:    %161 = OpCompositeExtract %9 %142 4
+; CHECK-NEXT:    %162 = OpCompositeExtract %9 %142 5
+; CHECK-NEXT:    %163 = OpCompositeExtract %9 %142 6
+; CHECK-NEXT:    %164 = OpCompositeExtract %9 %142 7
+; CHECK-NEXT:    %165 = OpCompositeExtract %9 %144 0
+; CHECK-NEXT:    %166 = OpCompositeExtract %9 %144 1
+; CHECK-NEXT:    %167 = OpCompositeExtract %9 %144 2
+; CHECK-NEXT:    %168 = OpCompositeExtract %9 %144 3
+; CHECK-NEXT:    %169 = OpCompositeExtract %9 %144 4
+; CHECK-NEXT:    %170 = OpCompositeExtract %9 %144 5
+; CHECK-NEXT:    %171 = OpCompositeExtract %9 %144 6
+; CHECK-NEXT:    %172 = OpCompositeExtract %9 %144 7
+; CHECK-NEXT:    %173 = OpCompositeExtract %9 %146 0
+; CHECK-NEXT:    %174 = OpCompositeExtract %9 %146 1
+; CHECK-NEXT:    %175 = OpCompositeExtract %9 %146 2
+; CHECK-NEXT:    %176 = OpCompositeExtract %9 %146 3
+; CHECK-NEXT:    %177 = OpCompositeExtract %9 %146 4
+; CHECK-NEXT:    %178 = OpCompositeExtract %9 %146 5
+; CHECK-NEXT:    %179 = OpCompositeExtract %9 %146 6
+; CHECK-NEXT:    %180 = OpCompositeExtract %9 %146 7
+; CHECK-NEXT:    %181 = OpCompositeExtract %9 %148 0
+; CHECK-NEXT:    %182 = OpCompositeExtract %9 %148 1
+; CHECK-NEXT:    %183 = OpCompositeExtract %9 %148 2
+; CHECK-NEXT:    %184 = OpCompositeExtract %9 %148 3
+; CHECK-NEXT:    %185 = OpCompositeExtract %9 %148 4
+; CHECK-NEXT:    %186 = OpCompositeExtract %9 %148 5
+; CHECK-NEXT:    %187 = OpCompositeExtract %9 %148 6
+; CHECK-NEXT:    %188 = OpCompositeExtract %9 %148 7
+; CHECK-NEXT:    %189 = OpCompositeExtract %9 %150 0
+; CHECK-NEXT:    %190 = OpCompositeExtract %9 %150 1
+; CHECK-NEXT:    %191 = OpCompositeExtract %9 %150 2
+; CHECK-NEXT:    %192 = OpCompositeExtract %9 %150 3
+; CHECK-NEXT:    %193 = OpCompositeExtract %9 %150 4
+; CHECK-NEXT:    %194 = OpCompositeExtract %9 %150 5
+; CHECK-NEXT:    %195 = OpCompositeExtract %9 %150 6
+; CHECK-NEXT:    %196 = OpCompositeExtract %9 %150 7
+; CHECK-NEXT:    %197 = OpCompositeExtract %9 %152 0
+; CHECK-NEXT:    %198 = OpCompositeExtract %9 %152 1
+; CHECK-NEXT:    %199 = OpCompositeExtract %9 %152 2
+; CHECK-NEXT:    %200 = OpCompositeExtract %9 %152 3
+; CHECK-NEXT:    %201 = OpCompositeExtract %9 %152 4
+; CHECK-NEXT:    %202 = OpCompositeExtract %9 %152 5
+; CHECK-NEXT:    %203 = OpCompositeExtract %9 %152 6
+; CHECK-NEXT:    %204 = OpCompositeExtract %9 %152 7
+; CHECK-NEXT:    %205 = OpCompositeExtract %9 %154 0
+; CHECK-NEXT:    %206 = OpCompositeExtract %9 %154 1
+; CHECK-NEXT:    %207 = OpCompositeExtract %9 %154 2
+; CHECK-NEXT:    %208 = OpCompositeExtract %9 %154 3
+; CHECK-NEXT:    %209 = OpCompositeExtract %9 %154 4
+; CHECK-NEXT:    %210 = OpCompositeExtract %9 %154 5
+; CHECK-NEXT:    %211 = OpCompositeExtract %9 %154 6
+; CHECK-NEXT:    %212 = OpCompositeExtract %9 %154 7
+; CHECK-NEXT:    %213 = OpCompositeExtract %9 %156 0
+; CHECK-NEXT:    %214 = OpCompositeExtract %9 %156 1
+; CHECK-NEXT:    %215 = OpCompositeExtract %9 %156 2
+; CHECK-NEXT:    %216 = OpCompositeExtract %9 %156 3
+; CHECK-NEXT:    %217 = OpCompositeExtract %9 %156 4
+; CHECK-NEXT:    %218 = OpCompositeExtract %9 %156 5
+; CHECK-NEXT:    %219 = OpCompositeExtract %9 %156 6
+; CHECK-NEXT:    %220 = OpCompositeExtract %9 %156 7
+; CHECK-NEXT:    %221 = OpBitcast %24 %81
+; CHECK-NEXT:    %222 = OpLoad %22 %221 Aligned 4
+; CHECK-NEXT:    %223 = OpBitcast %24 %116
+; CHECK-NEXT:    %224 = OpLoad %22 %223 Aligned 4
+; CHECK-NEXT:    %225 = OpBitcast %24 %117
+; CHECK-NEXT:    %226 = OpLoad %22 %225 Aligned 4
+; CHECK-NEXT:    %227 = OpBitcast %24 %118
+; CHECK-NEXT:    %228 = OpLoad %22 %227 Aligned 4
+; CHECK-NEXT:    %229 = OpBitcast %24 %119
+; CHECK-NEXT:    %230 = OpLoad %22 %229 Aligned 4
+; CHECK-NEXT:    %231 = OpBitcast %24 %120
+; CHECK-NEXT:    %232 = OpLoad %22 %231 Aligned 4
+; CHECK-NEXT:    %233 = OpBitcast %24 %121
+; CHECK-NEXT:    %234 = OpLoad %22 %233 Aligned 4
+; CHECK-NEXT:    %235 = OpBitcast %24 %122
+; CHECK-NEXT:    %236 = OpLoad %22 %235 Aligned 4
+; CHECK-NEXT:    %237 = OpCompositeInsert %22 %157 %97 0
+; CHECK-NEXT:    %238 = OpVectorShuffle %22 %237 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %239 = OpVectorShuffle %17 %238 %238 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %240 = OpVectorShuffle %17 %239 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %241 = OpCompositeInsert %22 %165 %97 0
+; CHECK-NEXT:    %242 = OpVectorShuffle %22 %241 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %243 = OpVectorShuffle %17 %242 %242 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %244 = OpVectorShuffle %17 %243 %240 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %245 = OpCompositeInsert %22 %173 %97 0
+; CHECK-NEXT:    %246 = OpVectorShuffle %22 %245 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %247 = OpVectorShuffle %17 %246 %246 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %248 = OpVectorShuffle %17 %247 %244 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %249 = OpCompositeInsert %22 %181 %97 0
+; CHECK-NEXT:    %250 = OpVectorShuffle %22 %249 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %251 = OpVectorShuffle %17 %250 %250 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %252 = OpVectorShuffle %17 %251 %248 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %253 = OpCompositeInsert %22 %189 %97 0
+; CHECK-NEXT:    %254 = OpVectorShuffle %22 %253 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %255 = OpVectorShuffle %17 %254 %254 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %256 = OpVectorShuffle %17 %255 %252 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %257 = OpCompositeInsert %22 %197 %97 0
+; CHECK-NEXT:    %258 = OpVectorShuffle %22 %257 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %259 = OpVectorShuffle %17 %258 %258 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %260 = OpVectorShuffle %17 %259 %256 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %261 = OpCompositeInsert %22 %205 %97 0
+; CHECK-NEXT:    %262 = OpVectorShuffle %22 %261 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %263 = OpVectorShuffle %17 %262 %262 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %264 = OpVectorShuffle %17 %263 %260 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %265 = OpCompositeInsert %22 %213 %97 0
+; CHECK-NEXT:    %266 = OpVectorShuffle %22 %265 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %267 = OpVectorShuffle %17 %266 %266 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %268 = OpVectorShuffle %17 %267 %264 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %269 = OpCompositeInsert %22 %158 %97 0
+; CHECK-NEXT:    %270 = OpVectorShuffle %22 %269 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %271 = OpVectorShuffle %17 %270 %270 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %272 = OpVectorShuffle %17 %271 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %273 = OpCompositeInsert %22 %166 %97 0
+; CHECK-NEXT:    %274 = OpVectorShuffle %22 %273 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %275 = OpVectorShuffle %17 %274 %274 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %276 = OpVectorShuffle %17 %275 %272 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %277 = OpCompositeInsert %22 %174 %97 0
+; CHECK-NEXT:    %278 = OpVectorShuffle %22 %277 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %279 = OpVectorShuffle %17 %278 %278 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %280 = OpVectorShuffle %17 %279 %276 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %281 = OpCompositeInsert %22 %182 %97 0
+; CHECK-NEXT:    %282 = OpVectorShuffle %22 %281 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %283 = OpVectorShuffle %17 %282 %282 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %284 = OpVectorShuffle %17 %283 %280 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %285 = OpCompositeInsert %22 %190 %97 0
+; CHECK-NEXT:    %286 = OpVectorShuffle %22 %285 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %287 = OpVectorShuffle %17 %286 %286 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %288 = OpVectorShuffle %17 %287 %284 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %289 = OpCompositeInsert %22 %198 %97 0
+; CHECK-NEXT:    %290 = OpVectorShuffle %22 %289 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %291 = OpVectorShuffle %17 %290 %290 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %292 = OpVectorShuffle %17 %291 %288 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %293 = OpCompositeInsert %22 %206 %97 0
+; CHECK-NEXT:    %294 = OpVectorShuffle %22 %293 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %295 = OpVectorShuffle %17 %294 %294 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %296 = OpVectorShuffle %17 %295 %292 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %297 = OpCompositeInsert %22 %214 %97 0
+; CHECK-NEXT:    %298 = OpVectorShuffle %22 %297 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %299 = OpVectorShuffle %17 %298 %298 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %300 = OpVectorShuffle %17 %299 %296 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %301 = OpCompositeInsert %22 %159 %97 0
+; CHECK-NEXT:    %302 = OpVectorShuffle %22 %301 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %303 = OpVectorShuffle %17 %302 %302 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %304 = OpVectorShuffle %17 %303 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %305 = OpCompositeInsert %22 %167 %97 0
+; CHECK-NEXT:    %306 = OpVectorShuffle %22 %305 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %307 = OpVectorShuffle %17 %306 %306 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %308 = OpVectorShuffle %17 %307 %304 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %309 = OpCompositeInsert %22 %175 %97 0
+; CHECK-NEXT:    %310 = OpVectorShuffle %22 %309 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %311 = OpVectorShuffle %17 %310 %310 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %312 = OpVectorShuffle %17 %311 %308 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %313 = OpCompositeInsert %22 %183 %97 0
+; CHECK-NEXT:    %314 = OpVectorShuffle %22 %313 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %315 = OpVectorShuffle %17 %314 %314 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %316 = OpVectorShuffle %17 %315 %312 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %317 = OpCompositeInsert %22 %191 %97 0
+; CHECK-NEXT:    %318 = OpVectorShuffle %22 %317 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %319 = OpVectorShuffle %17 %318 %318 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %320 = OpVectorShuffle %17 %319 %316 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %321 = OpCompositeInsert %22 %199 %97 0
+; CHECK-NEXT:    %322 = OpVectorShuffle %22 %321 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %323 = OpVectorShuffle %17 %322 %322 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %324 = OpVectorShuffle %17 %323 %320 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %325 = OpCompositeInsert %22 %207 %97 0
+; CHECK-NEXT:    %326 = OpVectorShuffle %22 %325 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %327 = OpVectorShuffle %17 %326 %326 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %328 = OpVectorShuffle %17 %327 %324 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %329 = OpCompositeInsert %22 %215 %97 0
+; CHECK-NEXT:    %330 = OpVectorShuffle %22 %329 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %331 = OpVectorShuffle %17 %330 %330 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %332 = OpVectorShuffle %17 %331 %328 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %333 = OpCompositeInsert %22 %160 %97 0
+; CHECK-NEXT:    %334 = OpVectorShuffle %22 %333 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %335 = OpVectorShuffle %17 %334 %334 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %336 = OpVectorShuffle %17 %335 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %337 = OpCompositeInsert %22 %168 %97 0
+; CHECK-NEXT:    %338 = OpVectorShuffle %22 %337 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %339 = OpVectorShuffle %17 %338 %338 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %340 = OpVectorShuffle %17 %339 %336 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %341 = OpCompositeInsert %22 %176 %97 0
+; CHECK-NEXT:    %342 = OpVectorShuffle %22 %341 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %343 = OpVectorShuffle %17 %342 %342 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %344 = OpVectorShuffle %17 %343 %340 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %345 = OpCompositeInsert %22 %184 %97 0
+; CHECK-NEXT:    %346 = OpVectorShuffle %22 %345 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %347 = OpVectorShuffle %17 %346 %346 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %348 = OpVectorShuffle %17 %347 %344 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %349 = OpCompositeInsert %22 %192 %97 0
+; CHECK-NEXT:    %350 = OpVectorShuffle %22 %349 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %351 = OpVectorShuffle %17 %350 %350 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %352 = OpVectorShuffle %17 %351 %348 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %353 = OpCompositeInsert %22 %200 %97 0
+; CHECK-NEXT:    %354 = OpVectorShuffle %22 %353 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %355 = OpVectorShuffle %17 %354 %354 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %356 = OpVectorShuffle %17 %355 %352 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %357 = OpCompositeInsert %22 %208 %97 0
+; CHECK-NEXT:    %358 = OpVectorShuffle %22 %357 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %359 = OpVectorShuffle %17 %358 %358 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %360 = OpVectorShuffle %17 %359 %356 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %361 = OpCompositeInsert %22 %216 %97 0
+; CHECK-NEXT:    %362 = OpVectorShuffle %22 %361 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %363 = OpVectorShuffle %17 %362 %362 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %364 = OpVectorShuffle %17 %363 %360 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %365 = OpCompositeInsert %22 %161 %97 0
+; CHECK-NEXT:    %366 = OpVectorShuffle %22 %365 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %367 = OpVectorShuffle %17 %366 %366 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %368 = OpVectorShuffle %17 %367 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %369 = OpCompositeInsert %22 %169 %97 0
+; CHECK-NEXT:    %370 = OpVectorShuffle %22 %369 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %371 = OpVectorShuffle %17 %370 %370 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %372 = OpVectorShuffle %17 %371 %368 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %373 = OpCompositeInsert %22 %177 %97 0
+; CHECK-NEXT:    %374 = OpVectorShuffle %22 %373 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %375 = OpVectorShuffle %17 %374 %374 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %376 = OpVectorShuffle %17 %375 %372 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %377 = OpCompositeInsert %22 %185 %97 0
+; CHECK-NEXT:    %378 = OpVectorShuffle %22 %377 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %379 = OpVectorShuffle %17 %378 %378 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %380 = OpVectorShuffle %17 %379 %376 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %381 = OpCompositeInsert %22 %193 %97 0
+; CHECK-NEXT:    %382 = OpVectorShuffle %22 %381 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %383 = OpVectorShuffle %17 %382 %382 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %384 = OpVectorShuffle %17 %383 %380 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %385 = OpCompositeInsert %22 %201 %97 0
+; CHECK-NEXT:    %386 = OpVectorShuffle %22 %385 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %387 = OpVectorShuffle %17 %386 %386 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %388 = OpVectorShuffle %17 %387 %384 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %389 = OpCompositeInsert %22 %209 %97 0
+; CHECK-NEXT:    %390 = OpVectorShuffle %22 %389 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %391 = OpVectorShuffle %17 %390 %390 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %392 = OpVectorShuffle %17 %391 %388 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %393 = OpCompositeInsert %22 %217 %97 0
+; CHECK-NEXT:    %394 = OpVectorShuffle %22 %393 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %395 = OpVectorShuffle %17 %394 %394 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %396 = OpVectorShuffle %17 %395 %392 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %397 = OpCompositeInsert %22 %162 %97 0
+; CHECK-NEXT:    %398 = OpVectorShuffle %22 %397 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %399 = OpVectorShuffle %17 %398 %398 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %400 = OpVectorShuffle %17 %399 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %401 = OpCompositeInsert %22 %170 %97 0
+; CHECK-NEXT:    %402 = OpVectorShuffle %22 %401 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %403 = OpVectorShuffle %17 %402 %402 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %404 = OpVectorShuffle %17 %403 %400 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %405 = OpCompositeInsert %22 %178 %97 0
+; CHECK-NEXT:    %406 = OpVectorShuffle %22 %405 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %407 = OpVectorShuffle %17 %406 %406 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %408 = OpVectorShuffle %17 %407 %404 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %409 = OpCompositeInsert %22 %186 %97 0
+; CHECK-NEXT:    %410 = OpVectorShuffle %22 %409 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %411 = OpVectorShuffle %17 %410 %410 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %412 = OpVectorShuffle %17 %411 %408 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %413 = OpCompositeInsert %22 %194 %97 0
+; CHECK-NEXT:    %414 = OpVectorShuffle %22 %413 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %415 = OpVectorShuffle %17 %414 %414 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %416 = OpVectorShuffle %17 %415 %412 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %417 = OpCompositeInsert %22 %202 %97 0
+; CHECK-NEXT:    %418 = OpVectorShuffle %22 %417 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %419 = OpVectorShuffle %17 %418 %418 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %420 = OpVectorShuffle %17 %419 %416 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %421 = OpCompositeInsert %22 %210 %97 0
+; CHECK-NEXT:    %422 = OpVectorShuffle %22 %421 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %423 = OpVectorShuffle %17 %422 %422 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %424 = OpVectorShuffle %17 %423 %420 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %425 = OpCompositeInsert %22 %218 %97 0
+; CHECK-NEXT:    %426 = OpVectorShuffle %22 %425 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %427 = OpVectorShuffle %17 %426 %426 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %428 = OpVectorShuffle %17 %427 %424 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %429 = OpCompositeInsert %22 %163 %97 0
+; CHECK-NEXT:    %430 = OpVectorShuffle %22 %429 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %431 = OpVectorShuffle %17 %430 %430 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %432 = OpVectorShuffle %17 %431 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %433 = OpCompositeInsert %22 %171 %97 0
+; CHECK-NEXT:    %434 = OpVectorShuffle %22 %433 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %435 = OpVectorShuffle %17 %434 %434 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %436 = OpVectorShuffle %17 %435 %432 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %437 = OpCompositeInsert %22 %179 %97 0
+; CHECK-NEXT:    %438 = OpVectorShuffle %22 %437 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %439 = OpVectorShuffle %17 %438 %438 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %440 = OpVectorShuffle %17 %439 %436 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %441 = OpCompositeInsert %22 %187 %97 0
+; CHECK-NEXT:    %442 = OpVectorShuffle %22 %441 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %443 = OpVectorShuffle %17 %442 %442 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %444 = OpVectorShuffle %17 %443 %440 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %445 = OpCompositeInsert %22 %195 %97 0
+; CHECK-NEXT:    %446 = OpVectorShuffle %22 %445 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %447 = OpVectorShuffle %17 %446 %446 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %448 = OpVectorShuffle %17 %447 %444 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %449 = OpCompositeInsert %22 %203 %97 0
+; CHECK-NEXT:    %450 = OpVectorShuffle %22 %449 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %451 = OpVectorShuffle %17 %450 %450 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %452 = OpVectorShuffle %17 %451 %448 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %453 = OpCompositeInsert %22 %211 %97 0
+; CHECK-NEXT:    %454 = OpVectorShuffle %22 %453 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %455 = OpVectorShuffle %17 %454 %454 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %456 = OpVectorShuffle %17 %455 %452 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %457 = OpCompositeInsert %22 %219 %97 0
+; CHECK-NEXT:    %458 = OpVectorShuffle %22 %457 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %459 = OpVectorShuffle %17 %458 %458 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %460 = OpVectorShuffle %17 %459 %456 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %461 = OpCompositeInsert %22 %164 %97 0
+; CHECK-NEXT:    %462 = OpVectorShuffle %22 %461 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %463 = OpVectorShuffle %17 %462 %462 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %464 = OpVectorShuffle %17 %463 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %465 = OpCompositeInsert %22 %172 %97 0
+; CHECK-NEXT:    %466 = OpVectorShuffle %22 %465 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %467 = OpVectorShuffle %17 %466 %466 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %468 = OpVectorShuffle %17 %467 %464 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %469 = OpCompositeInsert %22 %180 %97 0
+; CHECK-NEXT:    %470 = OpVectorShuffle %22 %469 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %471 = OpVectorShuffle %17 %470 %470 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %472 = OpVectorShuffle %17 %471 %468 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %473 = OpCompositeInsert %22 %188 %97 0
+; CHECK-NEXT:    %474 = OpVectorShuffle %22 %473 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %475 = OpVectorShuffle %17 %474 %474 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %476 = OpVectorShuffle %17 %475 %472 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %477 = OpCompositeInsert %22 %196 %97 0
+; CHECK-NEXT:    %478 = OpVectorShuffle %22 %477 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %479 = OpVectorShuffle %17 %478 %478 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %480 = OpVectorShuffle %17 %479 %476 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %481 = OpCompositeInsert %22 %204 %97 0
+; CHECK-NEXT:    %482 = OpVectorShuffle %22 %481 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %483 = OpVectorShuffle %17 %482 %482 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %484 = OpVectorShuffle %17 %483 %480 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %485 = OpCompositeInsert %22 %212 %97 0
+; CHECK-NEXT:    %486 = OpVectorShuffle %22 %485 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %487 = OpVectorShuffle %17 %486 %486 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %488 = OpVectorShuffle %17 %487 %484 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %489 = OpCompositeInsert %22 %220 %97 0
+; CHECK-NEXT:    %490 = OpVectorShuffle %22 %489 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %491 = OpVectorShuffle %17 %490 %490 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %492 = OpVectorShuffle %17 %491 %488 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %493 = OpVectorShuffle %17 %222 %222 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %494 = OpVectorShuffle %17 %493 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %495 = OpVectorShuffle %17 %222 %222 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %496 = OpVectorShuffle %17 %495 %494 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %497 = OpVectorShuffle %17 %222 %222 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %498 = OpVectorShuffle %17 %497 %496 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %499 = OpVectorShuffle %17 %222 %222 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %500 = OpVectorShuffle %17 %499 %498 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %501 = OpVectorShuffle %17 %222 %222 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %502 = OpVectorShuffle %17 %501 %500 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %503 = OpVectorShuffle %17 %222 %222 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %504 = OpVectorShuffle %17 %503 %502 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %505 = OpVectorShuffle %17 %222 %222 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %506 = OpVectorShuffle %17 %505 %504 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %507 = OpVectorShuffle %17 %222 %222 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %508 = OpVectorShuffle %17 %507 %506 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %509 = OpVectorShuffle %17 %224 %224 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %510 = OpVectorShuffle %17 %509 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %511 = OpVectorShuffle %17 %224 %224 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %512 = OpVectorShuffle %17 %511 %510 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %513 = OpVectorShuffle %17 %224 %224 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %514 = OpVectorShuffle %17 %513 %512 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %515 = OpVectorShuffle %17 %224 %224 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %516 = OpVectorShuffle %17 %515 %514 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %517 = OpVectorShuffle %17 %224 %224 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %518 = OpVectorShuffle %17 %517 %516 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %519 = OpVectorShuffle %17 %224 %224 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %520 = OpVectorShuffle %17 %519 %518 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %521 = OpVectorShuffle %17 %224 %224 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %522 = OpVectorShuffle %17 %521 %520 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %523 = OpVectorShuffle %17 %224 %224 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %524 = OpVectorShuffle %17 %523 %522 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %525 = OpVectorShuffle %17 %226 %226 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %526 = OpVectorShuffle %17 %525 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %527 = OpVectorShuffle %17 %226 %226 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %528 = OpVectorShuffle %17 %527 %526 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %529 = OpVectorShuffle %17 %226 %226 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %530 = OpVectorShuffle %17 %529 %528 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %531 = OpVectorShuffle %17 %226 %226 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %532 = OpVectorShuffle %17 %531 %530 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %533 = OpVectorShuffle %17 %226 %226 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %534 = OpVectorShuffle %17 %533 %532 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %535 = OpVectorShuffle %17 %226 %226 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %536 = OpVectorShuffle %17 %535 %534 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %537 = OpVectorShuffle %17 %226 %226 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %538 = OpVectorShuffle %17 %537 %536 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %539 = OpVectorShuffle %17 %226 %226 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %540 = OpVectorShuffle %17 %539 %538 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %541 = OpVectorShuffle %17 %228 %228 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %542 = OpVectorShuffle %17 %541 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %543 = OpVectorShuffle %17 %228 %228 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %544 = OpVectorShuffle %17 %543 %542 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %545 = OpVectorShuffle %17 %228 %228 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %546 = OpVectorShuffle %17 %545 %544 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %547 = OpVectorShuffle %17 %228 %228 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %548 = OpVectorShuffle %17 %547 %546 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %549 = OpVectorShuffle %17 %228 %228 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %550 = OpVectorShuffle %17 %549 %548 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %551 = OpVectorShuffle %17 %228 %228 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %552 = OpVectorShuffle %17 %551 %550 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %553 = OpVectorShuffle %17 %228 %228 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %554 = OpVectorShuffle %17 %553 %552 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %555 = OpVectorShuffle %17 %228 %228 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %556 = OpVectorShuffle %17 %555 %554 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %557 = OpVectorShuffle %17 %230 %230 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %558 = OpVectorShuffle %17 %557 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %559 = OpVectorShuffle %17 %230 %230 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %560 = OpVectorShuffle %17 %559 %558 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %561 = OpVectorShuffle %17 %230 %230 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %562 = OpVectorShuffle %17 %561 %560 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %563 = OpVectorShuffle %17 %230 %230 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %564 = OpVectorShuffle %17 %563 %562 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %565 = OpVectorShuffle %17 %230 %230 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %566 = OpVectorShuffle %17 %565 %564 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %567 = OpVectorShuffle %17 %230 %230 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %568 = OpVectorShuffle %17 %567 %566 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %569 = OpVectorShuffle %17 %230 %230 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %570 = OpVectorShuffle %17 %569 %568 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %571 = OpVectorShuffle %17 %230 %230 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %572 = OpVectorShuffle %17 %571 %570 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %573 = OpVectorShuffle %17 %232 %232 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %574 = OpVectorShuffle %17 %573 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %575 = OpVectorShuffle %17 %232 %232 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %576 = OpVectorShuffle %17 %575 %574 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %577 = OpVectorShuffle %17 %232 %232 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %578 = OpVectorShuffle %17 %577 %576 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %579 = OpVectorShuffle %17 %232 %232 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %580 = OpVectorShuffle %17 %579 %578 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %581 = OpVectorShuffle %17 %232 %232 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %582 = OpVectorShuffle %17 %581 %580 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %583 = OpVectorShuffle %17 %232 %232 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %584 = OpVectorShuffle %17 %583 %582 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %585 = OpVectorShuffle %17 %232 %232 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %586 = OpVectorShuffle %17 %585 %584 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %587 = OpVectorShuffle %17 %232 %232 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %588 = OpVectorShuffle %17 %587 %586 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %589 = OpVectorShuffle %17 %234 %234 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %590 = OpVectorShuffle %17 %589 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %591 = OpVectorShuffle %17 %234 %234 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %592 = OpVectorShuffle %17 %591 %590 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %593 = OpVectorShuffle %17 %234 %234 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %594 = OpVectorShuffle %17 %593 %592 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %595 = OpVectorShuffle %17 %234 %234 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %596 = OpVectorShuffle %17 %595 %594 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %597 = OpVectorShuffle %17 %234 %234 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %598 = OpVectorShuffle %17 %597 %596 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %599 = OpVectorShuffle %17 %234 %234 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %600 = OpVectorShuffle %17 %599 %598 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %601 = OpVectorShuffle %17 %234 %234 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %602 = OpVectorShuffle %17 %601 %600 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %603 = OpVectorShuffle %17 %234 %234 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %604 = OpVectorShuffle %17 %603 %602 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %605 = OpVectorShuffle %17 %236 %236 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %606 = OpVectorShuffle %17 %605 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %607 = OpVectorShuffle %17 %236 %236 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %608 = OpVectorShuffle %17 %607 %606 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %609 = OpVectorShuffle %17 %236 %236 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %610 = OpVectorShuffle %17 %609 %608 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %611 = OpVectorShuffle %17 %236 %236 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %612 = OpVectorShuffle %17 %611 %610 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %613 = OpVectorShuffle %17 %236 %236 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %614 = OpVectorShuffle %17 %613 %612 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %615 = OpVectorShuffle %17 %236 %236 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %616 = OpVectorShuffle %17 %615 %614 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %617 = OpVectorShuffle %17 %236 %236 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %618 = OpVectorShuffle %17 %617 %616 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %619 = OpVectorShuffle %17 %236 %236 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %620 = OpVectorShuffle %17 %619 %618 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %621 = OpFunctionCall %17 %100 %492 %620 %99
+; CHECK-NEXT:    %622 = OpFunctionCall %17 %100 %460 %604 %621
+; CHECK-NEXT:    %623 = OpFunctionCall %17 %100 %428 %588 %622
+; CHECK-NEXT:    %624 = OpFunctionCall %17 %100 %396 %572 %623
+; CHECK-NEXT:    %625 = OpFunctionCall %17 %100 %364 %556 %624
+; CHECK-NEXT:    %626 = OpFunctionCall %17 %100 %332 %540 %625
+; CHECK-NEXT:    %627 = OpFunctionCall %17 %100 %300 %524 %626
+; CHECK-NEXT:    %628 = OpFunctionCall %17 %100 %268 %508 %627
+; CHECK-NEXT:    %629 = OpVectorShuffle %22 %628 %628 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %630 = OpVectorShuffle %22 %628 %628 8 9 10 11 12 13 14 15
+; CHECK-NEXT:    %631 = OpVectorShuffle %22 %628 %628 16 17 18 19 20 21 22 23
+; CHECK-NEXT:    %632 = OpVectorShuffle %22 %628 %628 24 25 26 27 28 29 30 31
+; CHECK-NEXT:    %633 = OpVectorShuffle %22 %628 %628 32 33 34 35 36 37 38 39
+; CHECK-NEXT:    %634 = OpVectorShuffle %22 %628 %628 40 41 42 43 44 45 46 47
+; CHECK-NEXT:    %635 = OpVectorShuffle %22 %628 %628 48 49 50 51 52 53 54 55
+; CHECK-NEXT:    %636 = OpVectorShuffle %22 %628 %628 56 57 58 59 60 61 62 63
+; CHECK-NEXT:    %637 = OpBitcast %24 %91
+; CHECK-NEXT:    %638 = OpLoad %22 %637 Aligned 4
+; CHECK-NEXT:    %639 = OpBitcast %24 %124
+; CHECK-NEXT:    %640 = OpLoad %22 %639 Aligned 4
+; CHECK-NEXT:    %641 = OpBitcast %24 %125
+; CHECK-NEXT:    %642 = OpLoad %22 %641 Aligned 4
+; CHECK-NEXT:    %643 = OpBitcast %24 %126
+; CHECK-NEXT:    %644 = OpLoad %22 %643 Aligned 4
+; CHECK-NEXT:    %645 = OpBitcast %24 %127
+; CHECK-NEXT:    %646 = OpLoad %22 %645 Aligned 4
+; CHECK-NEXT:    %647 = OpBitcast %24 %128
+; CHECK-NEXT:    %648 = OpLoad %22 %647 Aligned 4
+; CHECK-NEXT:    %649 = OpBitcast %24 %129
+; CHECK-NEXT:    %650 = OpLoad %22 %649 Aligned 4
+; CHECK-NEXT:    %651 = OpBitcast %24 %130
+; CHECK-NEXT:    %652 = OpLoad %22 %651 Aligned 4
+; CHECK-NEXT:    %653 = OpCompositeExtract %9 %638 0
+; CHECK-NEXT:    %654 = OpCompositeExtract %9 %638 1
+; CHECK-NEXT:    %655 = OpCompositeExtract %9 %638 2
+; CHECK-NEXT:    %656 = OpCompositeExtract %9 %638 3
+; CHECK-NEXT:    %657 = OpCompositeExtract %9 %638 4
+; CHECK-NEXT:    %658 = OpCompositeExtract %9 %638 5
+; CHECK-NEXT:    %659 = OpCompositeExtract %9 %638 6
+; CHECK-NEXT:    %660 = OpCompositeExtract %9 %638 7
+; CHECK-NEXT:    %661 = OpCompositeExtract %9 %640 0
+; CHECK-NEXT:    %662 = OpCompositeExtract %9 %640 1
+; CHECK-NEXT:    %663 = OpCompositeExtract %9 %640 2
+; CHECK-NEXT:    %664 = OpCompositeExtract %9 %640 3
+; CHECK-NEXT:    %665 = OpCompositeExtract %9 %640 4
+; CHECK-NEXT:    %666 = OpCompositeExtract %9 %640 5
+; CHECK-NEXT:    %667 = OpCompositeExtract %9 %640 6
+; CHECK-NEXT:    %668 = OpCompositeExtract %9 %640 7
+; CHECK-NEXT:    %669 = OpCompositeExtract %9 %642 0
+; CHECK-NEXT:    %670 = OpCompositeExtract %9 %642 1
+; CHECK-NEXT:    %671 = OpCompositeExtract %9 %642 2
+; CHECK-NEXT:    %672 = OpCompositeExtract %9 %642 3
+; CHECK-NEXT:    %673 = OpCompositeExtract %9 %642 4
+; CHECK-NEXT:    %674 = OpCompositeExtract %9 %642 5
+; CHECK-NEXT:    %675 = OpCompositeExtract %9 %642 6
+; CHECK-NEXT:    %676 = OpCompositeExtract %9 %642 7
+; CHECK-NEXT:    %677 = OpCompositeExtract %9 %644 0
+; CHECK-NEXT:    %678 = OpCompositeExtract %9 %644 1
+; CHECK-NEXT:    %679 = OpCompositeExtract %9 %644 2
+; CHECK-NEXT:    %680 = OpCompositeExtract %9 %644 3
+; CHECK-NEXT:    %681 = OpCompositeExtract %9 %644 4
+; CHECK-NEXT:    %682 = OpCompositeExtract %9 %644 5
+; CHECK-NEXT:    %683 = OpCompositeExtract %9 %644 6
+; CHECK-NEXT:    %684 = OpCompositeExtract %9 %644 7
+; CHECK-NEXT:    %685 = OpCompositeExtract %9 %646 0
+; CHECK-NEXT:    %686 = OpCompositeExtract %9 %646 1
+; CHECK-NEXT:    %687 = OpCompositeExtract %9 %646 2
+; CHECK-NEXT:    %688 = OpCompositeExtract %9 %646 3
+; CHECK-NEXT:    %689 = OpCompositeExtract %9 %646 4
+; CHECK-NEXT:    %690 = OpCompositeExtract %9 %646 5
+; CHECK-NEXT:    %691 = OpCompositeExtract %9 %646 6
+; CHECK-NEXT:    %692 = OpCompositeExtract %9 %646 7
+; CHECK-NEXT:    %693 = OpCompositeExtract %9 %648 0
+; CHECK-NEXT:    %694 = OpCompositeExtract %9 %648 1
+; CHECK-NEXT:    %695 = OpCompositeExtract %9 %648 2
+; CHECK-NEXT:    %696 = OpCompositeExtract %9 %648 3
+; CHECK-NEXT:    %697 = OpCompositeExtract %9 %648 4
+; CHECK-NEXT:    %698 = OpCompositeExtract %9 %648 5
+; CHECK-NEXT:    %699 = OpCompositeExtract %9 %648 6
+; CHECK-NEXT:    %700 = OpCompositeExtract %9 %648 7
+; CHECK-NEXT:    %701 = OpCompositeExtract %9 %650 0
+; CHECK-NEXT:    %702 = OpCompositeExtract %9 %650 1
+; CHECK-NEXT:    %703 = OpCompositeExtract %9 %650 2
+; CHECK-NEXT:    %704 = OpCompositeExtract %9 %650 3
+; CHECK-NEXT:    %705 = OpCompositeExtract %9 %650 4
+; CHECK-NEXT:    %706 = OpCompositeExtract %9 %650 5
+; CHECK-NEXT:    %707 = OpCompositeExtract %9 %650 6
+; CHECK-NEXT:    %708 = OpCompositeExtract %9 %650 7
+; CHECK-NEXT:    %709 = OpCompositeExtract %9 %652 0
+; CHECK-NEXT:    %710 = OpCompositeExtract %9 %652 1
+; CHECK-NEXT:    %711 = OpCompositeExtract %9 %652 2
+; CHECK-NEXT:    %712 = OpCompositeExtract %9 %652 3
+; CHECK-NEXT:    %713 = OpCompositeExtract %9 %652 4
+; CHECK-NEXT:    %714 = OpCompositeExtract %9 %652 5
+; CHECK-NEXT:    %715 = OpCompositeExtract %9 %652 6
+; CHECK-NEXT:    %716 = OpCompositeExtract %9 %652 7
+; CHECK-NEXT:    %717 = OpCompositeInsert %22 %653 %97 0
+; CHECK-NEXT:    %718 = OpVectorShuffle %22 %717 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %719 = OpVectorShuffle %17 %718 %718 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %720 = OpVectorShuffle %17 %719 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %721 = OpCompositeInsert %22 %661 %97 0
+; CHECK-NEXT:    %722 = OpVectorShuffle %22 %721 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %723 = OpVectorShuffle %17 %722 %722 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %724 = OpVectorShuffle %17 %723 %720 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %725 = OpCompositeInsert %22 %669 %97 0
+; CHECK-NEXT:    %726 = OpVectorShuffle %22 %725 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %727 = OpVectorShuffle %17 %726 %726 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %728 = OpVectorShuffle %17 %727 %724 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %729 = OpCompositeInsert %22 %677 %97 0
+; CHECK-NEXT:    %730 = OpVectorShuffle %22 %729 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %731 = OpVectorShuffle %17 %730 %730 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %732 = OpVectorShuffle %17 %731 %728 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %733 = OpCompositeInsert %22 %685 %97 0
+; CHECK-NEXT:    %734 = OpVectorShuffle %22 %733 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %735 = OpVectorShuffle %17 %734 %734 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %736 = OpVectorShuffle %17 %735 %732 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %737 = OpCompositeInsert %22 %693 %97 0
+; CHECK-NEXT:    %738 = OpVectorShuffle %22 %737 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %739 = OpVectorShuffle %17 %738 %738 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %740 = OpVectorShuffle %17 %739 %736 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %741 = OpCompositeInsert %22 %701 %97 0
+; CHECK-NEXT:    %742 = OpVectorShuffle %22 %741 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %743 = OpVectorShuffle %17 %742 %742 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %744 = OpVectorShuffle %17 %743 %740 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %745 = OpCompositeInsert %22 %709 %97 0
+; CHECK-NEXT:    %746 = OpVectorShuffle %22 %745 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %747 = OpVectorShuffle %17 %746 %746 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %748 = OpVectorShuffle %17 %747 %744 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %749 = OpCompositeInsert %22 %654 %97 0
+; CHECK-NEXT:    %750 = OpVectorShuffle %22 %749 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %751 = OpVectorShuffle %17 %750 %750 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %752 = OpVectorShuffle %17 %751 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %753 = OpCompositeInsert %22 %662 %97 0
+; CHECK-NEXT:    %754 = OpVectorShuffle %22 %753 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %755 = OpVectorShuffle %17 %754 %754 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %756 = OpVectorShuffle %17 %755 %752 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %757 = OpCompositeInsert %22 %670 %97 0
+; CHECK-NEXT:    %758 = OpVectorShuffle %22 %757 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %759 = OpVectorShuffle %17 %758 %758 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %760 = OpVectorShuffle %17 %759 %756 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %761 = OpCompositeInsert %22 %678 %97 0
+; CHECK-NEXT:    %762 = OpVectorShuffle %22 %761 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %763 = OpVectorShuffle %17 %762 %762 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %764 = OpVectorShuffle %17 %763 %760 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %765 = OpCompositeInsert %22 %686 %97 0
+; CHECK-NEXT:    %766 = OpVectorShuffle %22 %765 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %767 = OpVectorShuffle %17 %766 %766 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %768 = OpVectorShuffle %17 %767 %764 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %769 = OpCompositeInsert %22 %694 %97 0
+; CHECK-NEXT:    %770 = OpVectorShuffle %22 %769 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %771 = OpVectorShuffle %17 %770 %770 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %772 = OpVectorShuffle %17 %771 %768 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %773 = OpCompositeInsert %22 %702 %97 0
+; CHECK-NEXT:    %774 = OpVectorShuffle %22 %773 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %775 = OpVectorShuffle %17 %774 %774 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %776 = OpVectorShuffle %17 %775 %772 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %777 = OpCompositeInsert %22 %710 %97 0
+; CHECK-NEXT:    %778 = OpVectorShuffle %22 %777 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %779 = OpVectorShuffle %17 %778 %778 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %780 = OpVectorShuffle %17 %779 %776 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %781 = OpCompositeInsert %22 %655 %97 0
+; CHECK-NEXT:    %782 = OpVectorShuffle %22 %781 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %783 = OpVectorShuffle %17 %782 %782 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %784 = OpVectorShuffle %17 %783 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %785 = OpCompositeInsert %22 %663 %97 0
+; CHECK-NEXT:    %786 = OpVectorShuffle %22 %785 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %787 = OpVectorShuffle %17 %786 %786 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %788 = OpVectorShuffle %17 %787 %784 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %789 = OpCompositeInsert %22 %671 %97 0
+; CHECK-NEXT:    %790 = OpVectorShuffle %22 %789 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %791 = OpVectorShuffle %17 %790 %790 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %792 = OpVectorShuffle %17 %791 %788 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %793 = OpCompositeInsert %22 %679 %97 0
+; CHECK-NEXT:    %794 = OpVectorShuffle %22 %793 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %795 = OpVectorShuffle %17 %794 %794 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %796 = OpVectorShuffle %17 %795 %792 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %797 = OpCompositeInsert %22 %687 %97 0
+; CHECK-NEXT:    %798 = OpVectorShuffle %22 %797 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %799 = OpVectorShuffle %17 %798 %798 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %800 = OpVectorShuffle %17 %799 %796 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %801 = OpCompositeInsert %22 %695 %97 0
+; CHECK-NEXT:    %802 = OpVectorShuffle %22 %801 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %803 = OpVectorShuffle %17 %802 %802 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %804 = OpVectorShuffle %17 %803 %800 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %805 = OpCompositeInsert %22 %703 %97 0
+; CHECK-NEXT:    %806 = OpVectorShuffle %22 %805 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %807 = OpVectorShuffle %17 %806 %806 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %808 = OpVectorShuffle %17 %807 %804 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %809 = OpCompositeInsert %22 %711 %97 0
+; CHECK-NEXT:    %810 = OpVectorShuffle %22 %809 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %811 = OpVectorShuffle %17 %810 %810 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %812 = OpVectorShuffle %17 %811 %808 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %813 = OpCompositeInsert %22 %656 %97 0
+; CHECK-NEXT:    %814 = OpVectorShuffle %22 %813 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %815 = OpVectorShuffle %17 %814 %814 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %816 = OpVectorShuffle %17 %815 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %817 = OpCompositeInsert %22 %664 %97 0
+; CHECK-NEXT:    %818 = OpVectorShuffle %22 %817 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %819 = OpVectorShuffle %17 %818 %818 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %820 = OpVectorShuffle %17 %819 %816 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %821 = OpCompositeInsert %22 %672 %97 0
+; CHECK-NEXT:    %822 = OpVectorShuffle %22 %821 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %823 = OpVectorShuffle %17 %822 %822 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %824 = OpVectorShuffle %17 %823 %820 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %825 = OpCompositeInsert %22 %680 %97 0
+; CHECK-NEXT:    %826 = OpVectorShuffle %22 %825 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %827 = OpVectorShuffle %17 %826 %826 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %828 = OpVectorShuffle %17 %827 %824 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %829 = OpCompositeInsert %22 %688 %97 0
+; CHECK-NEXT:    %830 = OpVectorShuffle %22 %829 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %831 = OpVectorShuffle %17 %830 %830 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %832 = OpVectorShuffle %17 %831 %828 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %833 = OpCompositeInsert %22 %696 %97 0
+; CHECK-NEXT:    %834 = OpVectorShuffle %22 %833 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %835 = OpVectorShuffle %17 %834 %834 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %836 = OpVectorShuffle %17 %835 %832 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %837 = OpCompositeInsert %22 %704 %97 0
+; CHECK-NEXT:    %838 = OpVectorShuffle %22 %837 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %839 = OpVectorShuffle %17 %838 %838 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %840 = OpVectorShuffle %17 %839 %836 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %841 = OpCompositeInsert %22 %712 %97 0
+; CHECK-NEXT:    %842 = OpVectorShuffle %22 %841 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %843 = OpVectorShuffle %17 %842 %842 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %844 = OpVectorShuffle %17 %843 %840 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %845 = OpCompositeInsert %22 %657 %97 0
+; CHECK-NEXT:    %846 = OpVectorShuffle %22 %845 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %847 = OpVectorShuffle %17 %846 %846 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %848 = OpVectorShuffle %17 %847 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %849 = OpCompositeInsert %22 %665 %97 0
+; CHECK-NEXT:    %850 = OpVectorShuffle %22 %849 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %851 = OpVectorShuffle %17 %850 %850 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %852 = OpVectorShuffle %17 %851 %848 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %853 = OpCompositeInsert %22 %673 %97 0
+; CHECK-NEXT:    %854 = OpVectorShuffle %22 %853 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %855 = OpVectorShuffle %17 %854 %854 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %856 = OpVectorShuffle %17 %855 %852 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %857 = OpCompositeInsert %22 %681 %97 0
+; CHECK-NEXT:    %858 = OpVectorShuffle %22 %857 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %859 = OpVectorShuffle %17 %858 %858 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %860 = OpVectorShuffle %17 %859 %856 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %861 = OpCompositeInsert %22 %689 %97 0
+; CHECK-NEXT:    %862 = OpVectorShuffle %22 %861 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %863 = OpVectorShuffle %17 %862 %862 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %864 = OpVectorShuffle %17 %863 %860 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %865 = OpCompositeInsert %22 %697 %97 0
+; CHECK-NEXT:    %866 = OpVectorShuffle %22 %865 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %867 = OpVectorShuffle %17 %866 %866 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %868 = OpVectorShuffle %17 %867 %864 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %869 = OpCompositeInsert %22 %705 %97 0
+; CHECK-NEXT:    %870 = OpVectorShuffle %22 %869 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %871 = OpVectorShuffle %17 %870 %870 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %872 = OpVectorShuffle %17 %871 %868 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %873 = OpCompositeInsert %22 %713 %97 0
+; CHECK-NEXT:    %874 = OpVectorShuffle %22 %873 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %875 = OpVectorShuffle %17 %874 %874 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %876 = OpVectorShuffle %17 %875 %872 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %877 = OpCompositeInsert %22 %658 %97 0
+; CHECK-NEXT:    %878 = OpVectorShuffle %22 %877 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %879 = OpVectorShuffle %17 %878 %878 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %880 = OpVectorShuffle %17 %879 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %881 = OpCompositeInsert %22 %666 %97 0
+; CHECK-NEXT:    %882 = OpVectorShuffle %22 %881 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %883 = OpVectorShuffle %17 %882 %882 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %884 = OpVectorShuffle %17 %883 %880 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %885 = OpCompositeInsert %22 %674 %97 0
+; CHECK-NEXT:    %886 = OpVectorShuffle %22 %885 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %887 = OpVectorShuffle %17 %886 %886 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %888 = OpVectorShuffle %17 %887 %884 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %889 = OpCompositeInsert %22 %682 %97 0
+; CHECK-NEXT:    %890 = OpVectorShuffle %22 %889 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %891 = OpVectorShuffle %17 %890 %890 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %892 = OpVectorShuffle %17 %891 %888 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %893 = OpCompositeInsert %22 %690 %97 0
+; CHECK-NEXT:    %894 = OpVectorShuffle %22 %893 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %895 = OpVectorShuffle %17 %894 %894 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %896 = OpVectorShuffle %17 %895 %892 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %897 = OpCompositeInsert %22 %698 %97 0
+; CHECK-NEXT:    %898 = OpVectorShuffle %22 %897 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %899 = OpVectorShuffle %17 %898 %898 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %900 = OpVectorShuffle %17 %899 %896 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %901 = OpCompositeInsert %22 %706 %97 0
+; CHECK-NEXT:    %902 = OpVectorShuffle %22 %901 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %903 = OpVectorShuffle %17 %902 %902 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %904 = OpVectorShuffle %17 %903 %900 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %905 = OpCompositeInsert %22 %714 %97 0
+; CHECK-NEXT:    %906 = OpVectorShuffle %22 %905 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %907 = OpVectorShuffle %17 %906 %906 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %908 = OpVectorShuffle %17 %907 %904 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %909 = OpCompositeInsert %22 %659 %97 0
+; CHECK-NEXT:    %910 = OpVectorShuffle %22 %909 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %911 = OpVectorShuffle %17 %910 %910 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %912 = OpVectorShuffle %17 %911 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %913 = OpCompositeInsert %22 %667 %97 0
+; CHECK-NEXT:    %914 = OpVectorShuffle %22 %913 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %915 = OpVectorShuffle %17 %914 %914 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %916 = OpVectorShuffle %17 %915 %912 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %917 = OpCompositeInsert %22 %675 %97 0
+; CHECK-NEXT:    %918 = OpVectorShuffle %22 %917 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %919 = OpVectorShuffle %17 %918 %918 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %920 = OpVectorShuffle %17 %919 %916 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %921 = OpCompositeInsert %22 %683 %97 0
+; CHECK-NEXT:    %922 = OpVectorShuffle %22 %921 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %923 = OpVectorShuffle %17 %922 %922 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %924 = OpVectorShuffle %17 %923 %920 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %925 = OpCompositeInsert %22 %691 %97 0
+; CHECK-NEXT:    %926 = OpVectorShuffle %22 %925 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %927 = OpVectorShuffle %17 %926 %926 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %928 = OpVectorShuffle %17 %927 %924 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %929 = OpCompositeInsert %22 %699 %97 0
+; CHECK-NEXT:    %930 = OpVectorShuffle %22 %929 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %931 = OpVectorShuffle %17 %930 %930 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %932 = OpVectorShuffle %17 %931 %928 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %933 = OpCompositeInsert %22 %707 %97 0
+; CHECK-NEXT:    %934 = OpVectorShuffle %22 %933 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %935 = OpVectorShuffle %17 %934 %934 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %936 = OpVectorShuffle %17 %935 %932 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %937 = OpCompositeInsert %22 %715 %97 0
+; CHECK-NEXT:    %938 = OpVectorShuffle %22 %937 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %939 = OpVectorShuffle %17 %938 %938 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %940 = OpVectorShuffle %17 %939 %936 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %941 = OpCompositeInsert %22 %660 %97 0
+; CHECK-NEXT:    %942 = OpVectorShuffle %22 %941 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %943 = OpVectorShuffle %17 %942 %942 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %944 = OpVectorShuffle %17 %943 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %945 = OpCompositeInsert %22 %668 %97 0
+; CHECK-NEXT:    %946 = OpVectorShuffle %22 %945 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %947 = OpVectorShuffle %17 %946 %946 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %948 = OpVectorShuffle %17 %947 %944 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %949 = OpCompositeInsert %22 %676 %97 0
+; CHECK-NEXT:    %950 = OpVectorShuffle %22 %949 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %951 = OpVectorShuffle %17 %950 %950 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %952 = OpVectorShuffle %17 %951 %948 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %953 = OpCompositeInsert %22 %684 %97 0
+; CHECK-NEXT:    %954 = OpVectorShuffle %22 %953 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %955 = OpVectorShuffle %17 %954 %954 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %956 = OpVectorShuffle %17 %955 %952 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %957 = OpCompositeInsert %22 %692 %97 0
+; CHECK-NEXT:    %958 = OpVectorShuffle %22 %957 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %959 = OpVectorShuffle %17 %958 %958 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %960 = OpVectorShuffle %17 %959 %956 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %961 = OpCompositeInsert %22 %700 %97 0
+; CHECK-NEXT:    %962 = OpVectorShuffle %22 %961 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %963 = OpVectorShuffle %17 %962 %962 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %964 = OpVectorShuffle %17 %963 %960 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %965 = OpCompositeInsert %22 %708 %97 0
+; CHECK-NEXT:    %966 = OpVectorShuffle %22 %965 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %967 = OpVectorShuffle %17 %966 %966 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %968 = OpVectorShuffle %17 %967 %964 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %969 = OpCompositeInsert %22 %716 %97 0
+; CHECK-NEXT:    %970 = OpVectorShuffle %22 %969 %97 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %971 = OpVectorShuffle %17 %970 %970 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %972 = OpVectorShuffle %17 %971 %968 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %973 = OpVectorShuffle %17 %629 %629 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %974 = OpVectorShuffle %17 %973 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %975 = OpVectorShuffle %17 %629 %629 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %976 = OpVectorShuffle %17 %975 %974 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %977 = OpVectorShuffle %17 %629 %629 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %978 = OpVectorShuffle %17 %977 %976 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %979 = OpVectorShuffle %17 %629 %629 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %980 = OpVectorShuffle %17 %979 %978 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %981 = OpVectorShuffle %17 %629 %629 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %982 = OpVectorShuffle %17 %981 %980 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %983 = OpVectorShuffle %17 %629 %629 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %984 = OpVectorShuffle %17 %983 %982 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %985 = OpVectorShuffle %17 %629 %629 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %986 = OpVectorShuffle %17 %985 %984 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %987 = OpVectorShuffle %17 %629 %629 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %988 = OpVectorShuffle %17 %987 %986 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %989 = OpVectorShuffle %17 %630 %630 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %990 = OpVectorShuffle %17 %989 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %991 = OpVectorShuffle %17 %630 %630 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %992 = OpVectorShuffle %17 %991 %990 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %993 = OpVectorShuffle %17 %630 %630 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %994 = OpVectorShuffle %17 %993 %992 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %995 = OpVectorShuffle %17 %630 %630 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %996 = OpVectorShuffle %17 %995 %994 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %997 = OpVectorShuffle %17 %630 %630 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %998 = OpVectorShuffle %17 %997 %996 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %999 = OpVectorShuffle %17 %630 %630 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1000 = OpVectorShuffle %17 %999 %998 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1001 = OpVectorShuffle %17 %630 %630 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1002 = OpVectorShuffle %17 %1001 %1000 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1003 = OpVectorShuffle %17 %630 %630 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1004 = OpVectorShuffle %17 %1003 %1002 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %1005 = OpVectorShuffle %17 %631 %631 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1006 = OpVectorShuffle %17 %1005 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1007 = OpVectorShuffle %17 %631 %631 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1008 = OpVectorShuffle %17 %1007 %1006 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1009 = OpVectorShuffle %17 %631 %631 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1010 = OpVectorShuffle %17 %1009 %1008 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1011 = OpVectorShuffle %17 %631 %631 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1012 = OpVectorShuffle %17 %1011 %1010 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1013 = OpVectorShuffle %17 %631 %631 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1014 = OpVectorShuffle %17 %1013 %1012 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1015 = OpVectorShuffle %17 %631 %631 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1016 = OpVectorShuffle %17 %1015 %1014 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1017 = OpVectorShuffle %17 %631 %631 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1018 = OpVectorShuffle %17 %1017 %1016 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1019 = OpVectorShuffle %17 %631 %631 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1020 = OpVectorShuffle %17 %1019 %1018 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %1021 = OpVectorShuffle %17 %632 %632 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1022 = OpVectorShuffle %17 %1021 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1023 = OpVectorShuffle %17 %632 %632 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1024 = OpVectorShuffle %17 %1023 %1022 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1025 = OpVectorShuffle %17 %632 %632 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1026 = OpVectorShuffle %17 %1025 %1024 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1027 = OpVectorShuffle %17 %632 %632 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1028 = OpVectorShuffle %17 %1027 %1026 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1029 = OpVectorShuffle %17 %632 %632 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1030 = OpVectorShuffle %17 %1029 %1028 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1031 = OpVectorShuffle %17 %632 %632 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1032 = OpVectorShuffle %17 %1031 %1030 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1033 = OpVectorShuffle %17 %632 %632 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1034 = OpVectorShuffle %17 %1033 %1032 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1035 = OpVectorShuffle %17 %632 %632 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1036 = OpVectorShuffle %17 %1035 %1034 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %1037 = OpVectorShuffle %17 %633 %633 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1038 = OpVectorShuffle %17 %1037 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1039 = OpVectorShuffle %17 %633 %633 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1040 = OpVectorShuffle %17 %1039 %1038 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1041 = OpVectorShuffle %17 %633 %633 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1042 = OpVectorShuffle %17 %1041 %1040 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1043 = OpVectorShuffle %17 %633 %633 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1044 = OpVectorShuffle %17 %1043 %1042 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1045 = OpVectorShuffle %17 %633 %633 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1046 = OpVectorShuffle %17 %1045 %1044 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1047 = OpVectorShuffle %17 %633 %633 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1048 = OpVectorShuffle %17 %1047 %1046 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1049 = OpVectorShuffle %17 %633 %633 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1050 = OpVectorShuffle %17 %1049 %1048 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1051 = OpVectorShuffle %17 %633 %633 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1052 = OpVectorShuffle %17 %1051 %1050 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %1053 = OpVectorShuffle %17 %634 %634 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1054 = OpVectorShuffle %17 %1053 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1055 = OpVectorShuffle %17 %634 %634 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1056 = OpVectorShuffle %17 %1055 %1054 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1057 = OpVectorShuffle %17 %634 %634 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1058 = OpVectorShuffle %17 %1057 %1056 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1059 = OpVectorShuffle %17 %634 %634 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1060 = OpVectorShuffle %17 %1059 %1058 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1061 = OpVectorShuffle %17 %634 %634 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1062 = OpVectorShuffle %17 %1061 %1060 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1063 = OpVectorShuffle %17 %634 %634 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1064 = OpVectorShuffle %17 %1063 %1062 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1065 = OpVectorShuffle %17 %634 %634 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1066 = OpVectorShuffle %17 %1065 %1064 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1067 = OpVectorShuffle %17 %634 %634 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1068 = OpVectorShuffle %17 %1067 %1066 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %1069 = OpVectorShuffle %17 %635 %635 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1070 = OpVectorShuffle %17 %1069 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1071 = OpVectorShuffle %17 %635 %635 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1072 = OpVectorShuffle %17 %1071 %1070 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1073 = OpVectorShuffle %17 %635 %635 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1074 = OpVectorShuffle %17 %1073 %1072 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1075 = OpVectorShuffle %17 %635 %635 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1076 = OpVectorShuffle %17 %1075 %1074 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1077 = OpVectorShuffle %17 %635 %635 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1078 = OpVectorShuffle %17 %1077 %1076 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1079 = OpVectorShuffle %17 %635 %635 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1080 = OpVectorShuffle %17 %1079 %1078 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1081 = OpVectorShuffle %17 %635 %635 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1082 = OpVectorShuffle %17 %1081 %1080 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1083 = OpVectorShuffle %17 %635 %635 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1084 = OpVectorShuffle %17 %1083 %1082 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %1085 = OpVectorShuffle %17 %636 %636 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1086 = OpVectorShuffle %17 %1085 %98 0 1 2 3 4 5 6 7 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1087 = OpVectorShuffle %17 %636 %636 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1088 = OpVectorShuffle %17 %1087 %1086 64 65 66 67 68 69 70 71 0 1 2 3 4 5 6 7 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1089 = OpVectorShuffle %17 %636 %636 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1090 = OpVectorShuffle %17 %1089 %1088 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 0 1 2 3 4 5 6 7 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1091 = OpVectorShuffle %17 %636 %636 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1092 = OpVectorShuffle %17 %1091 %1090 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 0 1 2 3 4 5 6 7 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1093 = OpVectorShuffle %17 %636 %636 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1094 = OpVectorShuffle %17 %1093 %1092 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 0 1 2 3 4 5 6 7 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1095 = OpVectorShuffle %17 %636 %636 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1096 = OpVectorShuffle %17 %1095 %1094 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 0 1 2 3 4 5 6 7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1097 = OpVectorShuffle %17 %636 %636 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1098 = OpVectorShuffle %17 %1097 %1096 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 0 1 2 3 4 5 6 7 120 121 122 123 124 125 126 127
+; CHECK-NEXT:    %1099 = OpVectorShuffle %17 %636 %636 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %1100 = OpVectorShuffle %17 %1099 %1098 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %1101 = OpFunctionCall %17 %100 %972 %1100 %99
+; CHECK-NEXT:    %1102 = OpFunctionCall %17 %100 %940 %1084 %1101
+; CHECK-NEXT:    %1103 = OpFunctionCall %17 %100 %908 %1068 %1102
+; CHECK-NEXT:    %1104 = OpFunctionCall %17 %100 %876 %1052 %1103
+; CHECK-NEXT:    %1105 = OpFunctionCall %17 %100 %844 %1036 %1104
+; CHECK-NEXT:    %1106 = OpFunctionCall %17 %100 %812 %1020 %1105
+; CHECK-NEXT:    %1107 = OpFunctionCall %17 %100 %780 %1004 %1106
+; CHECK-NEXT:    %1108 = OpFunctionCall %17 %100 %748 %988 %1107
+; CHECK-NEXT:    %1109 = OpVectorShuffle %22 %1108 %1108 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %1110 = OpVectorShuffle %22 %1108 %1108 8 9 10 11 12 13 14 15
+; CHECK-NEXT:    %1111 = OpVectorShuffle %22 %1108 %1108 16 17 18 19 20 21 22 23
+; CHECK-NEXT:    %1112 = OpVectorShuffle %22 %1108 %1108 24 25 26 27 28 29 30 31
+; CHECK-NEXT:    %1113 = OpVectorShuffle %22 %1108 %1108 32 33 34 35 36 37 38 39
+; CHECK-NEXT:    %1114 = OpVectorShuffle %22 %1108 %1108 40 41 42 43 44 45 46 47
+; CHECK-NEXT:    %1115 = OpVectorShuffle %22 %1108 %1108 48 49 50 51 52 53 54 55
+; CHECK-NEXT:    %1116 = OpVectorShuffle %22 %1108 %1108 56 57 58 59 60 61 62 63
+; CHECK-NEXT:    OpBranch %1237
+; CHECK-NEXT:    %1237 = OpLabel
+; CHECK-NEXT:    %1117 = OpPhi %13 %1118 %1238 %40 %1236
+; CHECK-NEXT:    %1119 = OpSLessThan %27 %1117 %28
+; CHECK-NEXT:    OpBranchConditional %1119 %1238 %2
+; CHECK-NEXT:    %2 = OpLabel
+; CHECK-NEXT:    OpBranch %1239
+; CHECK-NEXT:    %1239 = OpLabel
+; CHECK-NEXT:    %1120 = OpPhi %13 %1121 %1240 %40 %2
+; CHECK-NEXT:    %1122 = OpSLessThan %27 %1120 %28
+; CHECK-NEXT:    OpBranchConditional %1122 %1240 %3
+; CHECK-NEXT:    %3 = OpLabel
+; CHECK-NEXT:    OpBranch %1241
+; CHECK-NEXT:    %1241 = OpLabel
+; CHECK-NEXT:    %1123 = OpPhi %13 %1124 %1242 %40 %3
+; CHECK-NEXT:    %1125 = OpSLessThan %27 %1123 %28
+; CHECK-NEXT:    OpBranchConditional %1125 %1242 %4
+; CHECK-NEXT:    %4 = OpLabel
+; CHECK-NEXT:    OpBranch %1243
+; CHECK-NEXT:    %1243 = OpLabel
+; CHECK-NEXT:    %1126 = OpPhi %13 %1127 %1244 %40 %4
+; CHECK-NEXT:    %1128 = OpSLessThan %27 %1126 %28
+; CHECK-NEXT:    OpBranchConditional %1128 %1244 %5
+; CHECK-NEXT:    %5 = OpLabel
+; CHECK-NEXT:    OpBranch %1245
+; CHECK-NEXT:    %1245 = OpLabel
+; CHECK-NEXT:    %1129 = OpPhi %13 %1130 %1246 %40 %5
+; CHECK-NEXT:    %1131 = OpSLessThan %27 %1129 %28
+; CHECK-NEXT:    OpBranchConditional %1131 %1246 %6
+; CHECK-NEXT:    %6 = OpLabel
+; CHECK-NEXT:    OpBranch %1247
+; CHECK-NEXT:    %1247 = OpLabel
+; CHECK-NEXT:    %1132 = OpPhi %13 %1133 %1248 %40 %6
+; CHECK-NEXT:    %1134 = OpSLessThan %27 %1132 %28
+; CHECK-NEXT:    OpBranchConditional %1134 %1248 %7
+; CHECK-NEXT:    %7 = OpLabel
+; CHECK-NEXT:    OpBranch %1249
+; CHECK-NEXT:    %1249 = OpLabel
+; CHECK-NEXT:    %1135 = OpPhi %13 %1136 %1250 %40 %7
+; CHECK-NEXT:    %1137 = OpSLessThan %27 %1135 %28
+; CHECK-NEXT:    OpBranchConditional %1137 %1250 %8
+; CHECK-NEXT:    %8 = OpLabel
+; CHECK-NEXT:    OpBranch %1251
+; CHECK-NEXT:    %1251 = OpLabel
+; CHECK-NEXT:    %1138 = OpPhi %13 %1139 %1252 %40 %8
+; CHECK-NEXT:    %1140 = OpSLessThan %27 %1138 %28
+; CHECK-NEXT:    OpBranchConditional %1140 %1252 %1253
+; CHECK-NEXT:    %1253 = OpLabel
+; CHECK-NEXT:    OpReturn
+; CHECK-NEXT:    %1252 = OpLabel
+; CHECK-NEXT:    %1141 = OpUConvert %26 %1138
+; CHECK-NEXT:    %1142 = OpVectorExtractDynamic %9 %1116 %1141
+; CHECK-NEXT:    %1143 = OpIAdd %26 %39 %1141
+; CHECK-NEXT:    %1144 = OpIAdd %26 %1143 %42
+; CHECK-NEXT:    %1145 = OpIAdd %26 %1144 %42
+; CHECK-NEXT:    %1146 = OpIAdd %26 %1145 %42
+; CHECK-NEXT:    %1147 = OpIAdd %26 %1146 %42
+; CHECK-NEXT:    %1148 = OpInBoundsPtrAccessChain %10 %105 %1147
+; CHECK-NEXT:    OpStore %1148 %1142 Aligned 4
+; CHECK-NEXT:    %1139 = OpIAdd %13 %1138 %38
+; CHECK-NEXT:    OpBranch %1251
+; CHECK-NEXT:    %1250 = OpLabel
+; CHECK-NEXT:    %1149 = OpUConvert %26 %1135
+; CHECK-NEXT:    %1150 = OpVectorExtractDynamic %9 %1115 %1149
+; CHECK-NEXT:    %1151 = OpIAdd %26 %37 %1149
+; CHECK-NEXT:    %1152 = OpIAdd %26 %1151 %42
+; CHECK-NEXT:    %1153 = OpIAdd %26 %1152 %42
+; CHECK-NEXT:    %1154 = OpIAdd %26 %1153 %42
+; CHECK-NEXT:    %1155 = OpIAdd %26 %1154 %42
+; CHECK-NEXT:    %1156 = OpInBoundsPtrAccessChain %10 %105 %1155
+; CHECK-NEXT:    OpStore %1156 %1150 Aligned 4
+; CHECK-NEXT:    %1136 = OpIAdd %13 %1135 %38
+; CHECK-NEXT:    OpBranch %1249
+; CHECK-NEXT:    %1248 = OpLabel
+; CHECK-NEXT:    %1157 = OpUConvert %26 %1132
+; CHECK-NEXT:    %1158 = OpVectorExtractDynamic %9 %1114 %1157
+; CHECK-NEXT:    %1159 = OpIAdd %26 %36 %1157
+; CHECK-NEXT:    %1160 = OpIAdd %26 %1159 %42
+; CHECK-NEXT:    %1161 = OpIAdd %26 %1160 %42
+; CHECK-NEXT:    %1162 = OpIAdd %26 %1161 %42
+; CHECK-NEXT:    %1163 = OpIAdd %26 %1162 %42
+; CHECK-NEXT:    %1164 = OpInBoundsPtrAccessChain %10 %105 %1163
+; CHECK-NEXT:    OpStore %1164 %1158 Aligned 4
+; CHECK-NEXT:    %1133 = OpIAdd %13 %1132 %38
+; CHECK-NEXT:    OpBranch %1247
+; CHECK-NEXT:    %1246 = OpLabel
+; CHECK-NEXT:    %1165 = OpUConvert %26 %1129
+; CHECK-NEXT:    %1166 = OpVectorExtractDynamic %9 %1113 %1165
+; CHECK-NEXT:    %1167 = OpIAdd %26 %52 %1165
+; CHECK-NEXT:    %1168 = OpIAdd %26 %1167 %42
+; CHECK-NEXT:    %1169 = OpIAdd %26 %1168 %42
+; CHECK-NEXT:    %1170 = OpIAdd %26 %1169 %42
+; CHECK-NEXT:    %1171 = OpIAdd %26 %1170 %42
+; CHECK-NEXT:    %1172 = OpInBoundsPtrAccessChain %10 %105 %1171
+; CHECK-NEXT:    OpStore %1172 %1166 Aligned 4
+; CHECK-NEXT:    %1130 = OpIAdd %13 %1129 %38
+; CHECK-NEXT:    OpBranch %1245
+; CHECK-NEXT:    %1244 = OpLabel
+; CHECK-NEXT:    %1173 = OpUConvert %26 %1126
+; CHECK-NEXT:    %1174 = OpVectorExtractDynamic %9 %1112 %1173
+; CHECK-NEXT:    %1175 = OpIAdd %26 %35 %1173
+; CHECK-NEXT:    %1176 = OpIAdd %26 %1175 %42
+; CHECK-NEXT:    %1177 = OpIAdd %26 %1176 %42
+; CHECK-NEXT:    %1178 = OpIAdd %26 %1177 %42
+; CHECK-NEXT:    %1179 = OpIAdd %26 %1178 %42
+; CHECK-NEXT:    %1180 = OpInBoundsPtrAccessChain %10 %105 %1179
+; CHECK-NEXT:    OpStore %1180 %1174 Aligned 4
+; CHECK-NEXT:    %1127 = OpIAdd %13 %1126 %38
+; CHECK-NEXT:    OpBranch %1243
+; CHECK-NEXT:    %1242 = OpLabel
+; CHECK-NEXT:    %1181 = OpUConvert %26 %1123
+; CHECK-NEXT:    %1182 = OpVectorExtractDynamic %9 %1111 %1181
+; CHECK-NEXT:    %1183 = OpIAdd %26 %34 %1181
+; CHECK-NEXT:    %1184 = OpIAdd %26 %1183 %42
+; CHECK-NEXT:    %1185 = OpIAdd %26 %1184 %42
+; CHECK-NEXT:    %1186 = OpIAdd %26 %1185 %42
+; CHECK-NEXT:    %1187 = OpIAdd %26 %1186 %42
+; CHECK-NEXT:    %1188 = OpInBoundsPtrAccessChain %10 %105 %1187
+; CHECK-NEXT:    OpStore %1188 %1182 Aligned 4
+; CHECK-NEXT:    %1124 = OpIAdd %13 %1123 %38
+; CHECK-NEXT:    OpBranch %1241
+; CHECK-NEXT:    %1240 = OpLabel
+; CHECK-NEXT:    %1189 = OpUConvert %26 %1120
+; CHECK-NEXT:    %1190 = OpVectorExtractDynamic %9 %1110 %1189
+; CHECK-NEXT:    %1191 = OpIAdd %26 %33 %1189
+; CHECK-NEXT:    %1192 = OpIAdd %26 %1191 %42
+; CHECK-NEXT:    %1193 = OpIAdd %26 %1192 %42
+; CHECK-NEXT:    %1194 = OpIAdd %26 %1193 %42
+; CHECK-NEXT:    %1195 = OpIAdd %26 %1194 %42
+; CHECK-NEXT:    %1196 = OpInBoundsPtrAccessChain %10 %105 %1195
+; CHECK-NEXT:    OpStore %1196 %1190 Aligned 4
+; CHECK-NEXT:    %1121 = OpIAdd %13 %1120 %38
+; CHECK-NEXT:    OpBranch %1239
+; CHECK-NEXT:    %1238 = OpLabel
+; CHECK-NEXT:    %1197 = OpUConvert %26 %1117
+; CHECK-NEXT:    %1198 = OpVectorExtractDynamic %9 %1109 %1197
+; CHECK-NEXT:    %1199 = OpIAdd %26 %42 %1197
+; CHECK-NEXT:    %1200 = OpIAdd %26 %1199 %42
+; CHECK-NEXT:    %1201 = OpIAdd %26 %1200 %42
+; CHECK-NEXT:    %1202 = OpIAdd %26 %1201 %42
+; CHECK-NEXT:    %1203 = OpIAdd %26 %1202 %42
+; CHECK-NEXT:    %1204 = OpInBoundsPtrAccessChain %10 %105 %1203
+; CHECK-NEXT:    OpStore %1204 %1198 Aligned 4
+; CHECK-NEXT:    %1118 = OpIAdd %13 %1117 %38
+; CHECK-NEXT:    OpBranch %1237
+; CHECK-NEXT:    %1235 = OpLabel
+; CHECK-NEXT:    %1205 = OpUConvert %26 %136
+; CHECK-NEXT:    OpBranch %1254
+; CHECK-NEXT:    %1254 = OpLabel
+; CHECK-NEXT:    %1206 = OpPhi %13 %1207 %1255 %40 %1235
+; CHECK-NEXT:    %1208 = OpSLessThan %27 %1206 %43
+; CHECK-NEXT:    OpBranchConditional %1208 %1255 %1234
+; CHECK-NEXT:    %1234 = OpLabel
+; CHECK-NEXT:    %137 = OpIAdd %13 %136 %38
+; CHECK-NEXT:    OpBranch %1233
+; CHECK-NEXT:    %1255 = OpLabel
+; CHECK-NEXT:    %1209 = OpUConvert %26 %1206
+; CHECK-NEXT:    %1210 = OpIMul %26 %1205 %41
+; CHECK-NEXT:    %1211 = OpIAdd %26 %42 %1210
+; CHECK-NEXT:    %1212 = OpIAdd %26 %1211 %1209
+; CHECK-NEXT:    %1213 = OpInBoundsPtrAccessChain %10 %104 %1212
+; CHECK-NEXT:    %1214 = OpLoad %9 %1213 Aligned 4
+; CHECK-NEXT:    %1215 = OpIMul %26 %1205 %33
+; CHECK-NEXT:    %1216 = OpIAdd %26 %1215 %1209
+; CHECK-NEXT:    %1217 = OpBitcast %25 %92
+; CHECK-NEXT:    %1218 = OpInBoundsPtrAccessChain %25 %1217 %1216
+; CHECK-NEXT:    OpStore %1218 %1214 Aligned 4
+; CHECK-NEXT:    %1207 = OpIAdd %13 %1206 %38
+; CHECK-NEXT:    OpBranch %1254
+; CHECK-NEXT:    %1231 = OpLabel
+; CHECK-NEXT:    %1219 = OpUConvert %26 %131
+; CHECK-NEXT:    OpBranch %1256
+; CHECK-NEXT:    %1256 = OpLabel
+; CHECK-NEXT:    %1220 = OpPhi %13 %1221 %1257 %40 %1231
+; CHECK-NEXT:    %1222 = OpSLessThan %27 %1220 %28
+; CHECK-NEXT:    OpBranchConditional %1222 %1257 %1230
+; CHECK-NEXT:    %1230 = OpLabel
+; CHECK-NEXT:    %132 = OpIAdd %13 %131 %38
+; CHECK-NEXT:    OpBranch %1229
+; CHECK-NEXT:    %1257 = OpLabel
+; CHECK-NEXT:    %1223 = OpUConvert %26 %1220
+; CHECK-NEXT:    %1224 = OpIMul %26 %1219 %33
+; CHECK-NEXT:    %1225 = OpIAdd %26 %1224 %1223
+; CHECK-NEXT:    %1226 = OpBitcast %25 %92
+; CHECK-NEXT:    %1227 = OpInBoundsPtrAccessChain %25 %1226 %1225
+; CHECK-NEXT:    OpStore %1227 %68 Aligned 4
+; CHECK-NEXT:    %1221 = OpIAdd %13 %1220 %38
+; CHECK-NEXT:    OpBranch %1256
+; CHECK-NEXT:    OpFunctionEnd
+  br label %3
+
+3:                                                ; preds = %17, %2
+  %4 = phi i32 [ %18, %17 ], [ 0, %2 ]
+  %5 = icmp slt i32 %4, 8
+  br i1 %5, label %6, label %19
+
+6:                                                ; preds = %3
+  %7 = zext i32 %4 to i64
+  br label %8
+
+8:                                                ; preds = %11, %6
+  %9 = phi i32 [ %16, %11 ], [ 0, %6 ]
+  %10 = icmp slt i32 %9, 8
+  br i1 %10, label %11, label %17
+
+11:                                               ; preds = %8
+  %12 = zext i32 %9 to i64
+  %13 = mul nuw nsw i64 %7, 8
+  %14 = add nuw nsw i64 %13, %12
+  %15 = getelementptr inbounds nuw float, ptr addrspace(3) @__shared_memory__, i64 %14
+  store float 0.000000e+00, ptr addrspace(3) %15, align 4
+  %16 = add i32 %9, 1
+  br label %8
+
+17:                                               ; preds = %8
+  %18 = add i32 %4, 1
+  br label %3
+
+19:                                               ; preds = %3
+  fence syncscope("workgroup") release, !mmra !2
+  call void @llvm.amdgcn.s.barrier.signal(i32 -1)
+  call void @llvm.amdgcn.s.barrier.wait(i16 -1)
+  fence syncscope("workgroup") acquire, !mmra !2
+  br label %20
+
+20:                                               ; preds = %39, %19
+  %21 = phi i32 [ %40, %39 ], [ 0, %19 ]
+  %22 = icmp slt i32 %21, 6
+  br i1 %22, label %23, label %41
+
+23:                                               ; preds = %20
+  %24 = zext i32 %21 to i64
+  br label %25
+
+25:                                               ; preds = %28, %23
+  %26 = phi i32 [ %38, %28 ], [ 0, %23 ]
+  %27 = icmp slt i32 %26, 6
+  br i1 %27, label %28, label %39
+
+28:                                               ; preds = %25
+  %29 = zext i32 %26 to i64
+  %30 = mul nuw nsw i64 %24, 6
+  %31 = add nuw nsw i64 0, %30
+  %32 = add nuw nsw i64 %31, %29
+  %33 = getelementptr inbounds nuw float, ptr addrspace(1) %0, i64 %32
+  %34 = load float, ptr addrspace(1) %33, align 4
+  %35 = mul nuw nsw i64 %24, 8
+  %36 = add nuw nsw i64 %35, %29
+  %37 = getelementptr inbounds nuw float, ptr addrspace(3) @__shared_memory__, i64 %36
+  store float %34, ptr addrspace(3) %37, align 4
+  %38 = add i32 %26, 1
+  br label %25
+
+39:                                               ; preds = %25
+  %40 = add i32 %21, 1
+  br label %20
+
+41:                                               ; preds = %20
+  fence syncscope("workgroup") release, !mmra !2
+  call void @llvm.amdgcn.s.barrier.signal(i32 -1)
+  call void @llvm.amdgcn.s.barrier.wait(i16 -1)
+  fence syncscope("workgroup") acquire, !mmra !2
+  %42 = load <8 x float>, ptr addrspace(3) @__shared_memory__, align 4
+  %43 = load <8 x float>, ptr addrspace(3) getelementptr inbounds nuw (i8, ptr addrspace(3) @__shared_memory__, i64 32), align 4
+  %44 = load <8 x float>, ptr addrspace(3) getelementptr inbounds nuw (i8, ptr addrspace(3) @__shared_memory__, i64 64), align 4
+  %45 = load <8 x float>, ptr addrspace(3) getelementptr inbounds nuw (i8, ptr addrspace(3) @__shared_memory__, i64 96), align 4
+  %46 = load <8 x float>, ptr addrspace(3) getelementptr inbounds nuw (i8, ptr addrspace(3) @__shared_memory__, i64 128), align 4
+  %47 = load <8 x float>, ptr addrspace(3) getelementptr inbounds nuw (i8, ptr addrspace(3) @__shared_memory__, i64 160), align 4
+  %48 = load <8 x float>, ptr addrspace(3) getelementptr inbounds nuw (i8, ptr addrspace(3) @__shared_memory__, i64 192), align 4
+  %49 = load <8 x float>, ptr addrspace(3) getelementptr inbounds nuw (i8, ptr addrspace(3) @__shared_memory__, i64 224), align 4
+  %50 = extractelement <8 x float> %42, i64 0
+  %51 = extractelement <8 x float> %42, i64 1
+  %52 = extractelement <8 x float> %42, i64 2
+  %53 = extractelement <8 x float> %42, i64 3
+  %54 = extractelement <8 x float> %42, i64 4
+  %55 = extractelement <8 x float> %42, i64 5
+  %56 = extractelement <8 x float> %42, i64 6
+  %57 = extractelement <8 x float> %42, i64 7
+  %58 = extractelement <8 x float> %43, i64 0
+  %59 = extractelement <8 x float> %43, i64 1
+  %60 = extractelement <8 x float> %43, i64 2
+  %61 = extractelement <8 x float> %43, i64 3
+  %62 = extractelement <8 x float> %43, i64 4
+  %63 = extractelement <8 x float> %43, i64 5
+  %64 = extractelement <8 x float> %43, i64 6
+  %65 = extractelement <8 x float> %43, i64 7
+  %66 = extractelement <8 x float> %44, i64 0
+  %67 = extractelement <8 x float> %44, i64 1
+  %68 = extractelement <8 x float> %44, i64 2
+  %69 = extractelement <8 x float> %44, i64 3
+  %70 = extractelement <8 x float> %44, i64 4
+  %71 = extractelement <8 x float> %44, i64 5
+  %72 = extractelement <8 x float> %44, i64 6
+  %73 = extractelement <8 x float> %44, i64 7
+  %74 = extractelement <8 x float> %45, i64 0
+  %75 = extractelement <8 x float> %45, i64 1
+  %76 = extractelement <8 x float> %45, i64 2
+  %77 = extractelement <8 x float> %45, i64 3
+  %78 = extractelement <8 x float> %45, i64 4
+  %79 = extractelement <8 x float> %45, i64 5
+  %80 = extractelement <8 x float> %45, i64 6
+  %81 = extractelement <8 x float> %45, i64 7
+  %82 = extractelement <8 x float> %46, i64 0
+  %83 = extractelement <8 x float> %46, i64 1
+  %84 = extractelement <8 x float> %46, i64 2
+  %85 = extractelement <8 x float> %46, i64 3
+  %86 = extractelement <8 x float> %46, i64 4
+  %87 = extractelement <8 x float> %46, i64 5
+  %88 = extractelement <8 x float> %46, i64 6
+  %89 = extractelement <8 x float> %46, i64 7
+  %90 = extractelement <8 x float> %47, i64 0
+  %91 = extractelement <8 x float> %47, i64 1
+  %92 = extractelement <8 x float> %47, i64 2
+  %93 = extractelement <8 x float> %47, i64 3
+  %94 = extractelement <8 x float> %47, i64 4
+  %95 = extractelement <8 x float> %47, i64 5
+  %96 = extractelement <8 x float> %47, i64 6
+  %97 = extractelement <8 x float> %47, i64 7
+  %98 = extractelement <8 x float> %48, i64 0
+  %99 = extractelement <8 x float> %48, i64 1
+  %100 = extractelement <8 x float> %48, i64 2
+  %101 = extractelement <8 x float> %48, i64 3
+  %102 = extractelement <8 x float> %48, i64 4
+  %103 = extractelement <8 x float> %48, i64 5
+  %104 = extractelement <8 x float> %48, i64 6
+  %105 = extractelement <8 x float> %48, i64 7
+  %106 = extractelement <8 x float> %49, i64 0
+  %107 = extractelement <8 x float> %49, i64 1
+  %108 = extractelement <8 x float> %49, i64 2
+  %109 = extractelement <8 x float> %49, i64 3
+  %110 = extractelement <8 x float> %49, i64 4
+  %111 = extractelement <8 x float> %49, i64 5
+  %112 = extractelement <8 x float> %49, i64 6
+  %113 = extractelement <8 x float> %49, i64 7
+  %114 = load <8 x float>, ptr addrspace(4) @__constant_8x8xf32_0, align 4
+  %115 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 32), align 4
+  %116 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 64), align 4
+  %117 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 96), align 4
+  %118 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 128), align 4
+  %119 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 160), align 4
+  %120 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 192), align 4
+  %121 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32_0, i64 224), align 4
+  %122 = insertelement <8 x float> poison, float %50, i32 0
+  %123 = shufflevector <8 x float> %122, <8 x float> poison, <8 x i32> zeroinitializer
+  %124 = shufflevector <8 x float> %123, <8 x float> %123, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %125 = shufflevector <64 x float> %124, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %126 = insertelement <8 x float> poison, float %58, i32 0
+  %127 = shufflevector <8 x float> %126, <8 x float> poison, <8 x i32> zeroinitializer
+  %128 = shufflevector <8 x float> %127, <8 x float> %127, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %129 = shufflevector <64 x float> %128, <64 x float> %125, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %130 = insertelement <8 x float> poison, float %66, i32 0
+  %131 = shufflevector <8 x float> %130, <8 x float> poison, <8 x i32> zeroinitializer
+  %132 = shufflevector <8 x float> %131, <8 x float> %131, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %133 = shufflevector <64 x float> %132, <64 x float> %129, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %134 = insertelement <8 x float> poison, float %74, i32 0
+  %135 = shufflevector <8 x float> %134, <8 x float> poison, <8 x i32> zeroinitializer
+  %136 = shufflevector <8 x float> %135, <8 x float> %135, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %137 = shufflevector <64 x float> %136, <64 x float> %133, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %138 = insertelement <8 x float> poison, float %82, i32 0
+  %139 = shufflevector <8 x float> %138, <8 x float> poison, <8 x i32> zeroinitializer
+  %140 = shufflevector <8 x float> %139, <8 x float> %139, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %141 = shufflevector <64 x float> %140, <64 x float> %137, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %142 = insertelement <8 x float> poison, float %90, i32 0
+  %143 = shufflevector <8 x float> %142, <8 x float> poison, <8 x i32> zeroinitializer
+  %144 = shufflevector <8 x float> %143, <8 x float> %143, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %145 = shufflevector <64 x float> %144, <64 x float> %141, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %146 = insertelement <8 x float> poison, float %98, i32 0
+  %147 = shufflevector <8 x float> %146, <8 x float> poison, <8 x i32> zeroinitializer
+  %148 = shufflevector <8 x float> %147, <8 x float> %147, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %149 = shufflevector <64 x float> %148, <64 x float> %145, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %150 = insertelement <8 x float> poison, float %106, i32 0
+  %151 = shufflevector <8 x float> %150, <8 x float> poison, <8 x i32> zeroinitializer
+  %152 = shufflevector <8 x float> %151, <8 x float> %151, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %153 = shufflevector <64 x float> %152, <64 x float> %149, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %154 = insertelement <8 x float> poison, float %51, i32 0
+  %155 = shufflevector <8 x float> %154, <8 x float> poison, <8 x i32> zeroinitializer
+  %156 = shufflevector <8 x float> %155, <8 x float> %155, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %157 = shufflevector <64 x float> %156, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %158 = insertelement <8 x float> poison, float %59, i32 0
+  %159 = shufflevector <8 x float> %158, <8 x float> poison, <8 x i32> zeroinitializer
+  %160 = shufflevector <8 x float> %159, <8 x float> %159, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %161 = shufflevector <64 x float> %160, <64 x float> %157, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %162 = insertelement <8 x float> poison, float %67, i32 0
+  %163 = shufflevector <8 x float> %162, <8 x float> poison, <8 x i32> zeroinitializer
+  %164 = shufflevector <8 x float> %163, <8 x float> %163, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %165 = shufflevector <64 x float> %164, <64 x float> %161, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %166 = insertelement <8 x float> poison, float %75, i32 0
+  %167 = shufflevector <8 x float> %166, <8 x float> poison, <8 x i32> zeroinitializer
+  %168 = shufflevector <8 x float> %167, <8 x float> %167, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %169 = shufflevector <64 x float> %168, <64 x float> %165, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %170 = insertelement <8 x float> poison, float %83, i32 0
+  %171 = shufflevector <8 x float> %170, <8 x float> poison, <8 x i32> zeroinitializer
+  %172 = shufflevector <8 x float> %171, <8 x float> %171, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %173 = shufflevector <64 x float> %172, <64 x float> %169, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %174 = insertelement <8 x float> poison, float %91, i32 0
+  %175 = shufflevector <8 x float> %174, <8 x float> poison, <8 x i32> zeroinitializer
+  %176 = shufflevector <8 x float> %175, <8 x float> %175, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %177 = shufflevector <64 x float> %176, <64 x float> %173, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %178 = insertelement <8 x float> poison, float %99, i32 0
+  %179 = shufflevector <8 x float> %178, <8 x float> poison, <8 x i32> zeroinitializer
+  %180 = shufflevector <8 x float> %179, <8 x float> %179, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %181 = shufflevector <64 x float> %180, <64 x float> %177, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %182 = insertelement <8 x float> poison, float %107, i32 0
+  %183 = shufflevector <8 x float> %182, <8 x float> poison, <8 x i32> zeroinitializer
+  %184 = shufflevector <8 x float> %183, <8 x float> %183, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %185 = shufflevector <64 x float> %184, <64 x float> %181, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %186 = insertelement <8 x float> poison, float %52, i32 0
+  %187 = shufflevector <8 x float> %186, <8 x float> poison, <8 x i32> zeroinitializer
+  %188 = shufflevector <8 x float> %187, <8 x float> %187, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %189 = shufflevector <64 x float> %188, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %190 = insertelement <8 x float> poison, float %60, i32 0
+  %191 = shufflevector <8 x float> %190, <8 x float> poison, <8 x i32> zeroinitializer
+  %192 = shufflevector <8 x float> %191, <8 x float> %191, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %193 = shufflevector <64 x float> %192, <64 x float> %189, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %194 = insertelement <8 x float> poison, float %68, i32 0
+  %195 = shufflevector <8 x float> %194, <8 x float> poison, <8 x i32> zeroinitializer
+  %196 = shufflevector <8 x float> %195, <8 x float> %195, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %197 = shufflevector <64 x float> %196, <64 x float> %193, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %198 = insertelement <8 x float> poison, float %76, i32 0
+  %199 = shufflevector <8 x float> %198, <8 x float> poison, <8 x i32> zeroinitializer
+  %200 = shufflevector <8 x float> %199, <8 x float> %199, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %201 = shufflevector <64 x float> %200, <64 x float> %197, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %202 = insertelement <8 x float> poison, float %84, i32 0
+  %203 = shufflevector <8 x float> %202, <8 x float> poison, <8 x i32> zeroinitializer
+  %204 = shufflevector <8 x float> %203, <8 x float> %203, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %205 = shufflevector <64 x float> %204, <64 x float> %201, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %206 = insertelement <8 x float> poison, float %92, i32 0
+  %207 = shufflevector <8 x float> %206, <8 x float> poison, <8 x i32> zeroinitializer
+  %208 = shufflevector <8 x float> %207, <8 x float> %207, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %209 = shufflevector <64 x float> %208, <64 x float> %205, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %210 = insertelement <8 x float> poison, float %100, i32 0
+  %211 = shufflevector <8 x float> %210, <8 x float> poison, <8 x i32> zeroinitializer
+  %212 = shufflevector <8 x float> %211, <8 x float> %211, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %213 = shufflevector <64 x float> %212, <64 x float> %209, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %214 = insertelement <8 x float> poison, float %108, i32 0
+  %215 = shufflevector <8 x float> %214, <8 x float> poison, <8 x i32> zeroinitializer
+  %216 = shufflevector <8 x float> %215, <8 x float> %215, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %217 = shufflevector <64 x float> %216, <64 x float> %213, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %218 = insertelement <8 x float> poison, float %53, i32 0
+  %219 = shufflevector <8 x float> %218, <8 x float> poison, <8 x i32> zeroinitializer
+  %220 = shufflevector <8 x float> %219, <8 x float> %219, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %221 = shufflevector <64 x float> %220, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %222 = insertelement <8 x float> poison, float %61, i32 0
+  %223 = shufflevector <8 x float> %222, <8 x float> poison, <8 x i32> zeroinitializer
+  %224 = shufflevector <8 x float> %223, <8 x float> %223, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %225 = shufflevector <64 x float> %224, <64 x float> %221, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %226 = insertelement <8 x float> poison, float %69, i32 0
+  %227 = shufflevector <8 x float> %226, <8 x float> poison, <8 x i32> zeroinitializer
+  %228 = shufflevector <8 x float> %227, <8 x float> %227, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %229 = shufflevector <64 x float> %228, <64 x float> %225, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %230 = insertelement <8 x float> poison, float %77, i32 0
+  %231 = shufflevector <8 x float> %230, <8 x float> poison, <8 x i32> zeroinitializer
+  %232 = shufflevector <8 x float> %231, <8 x float> %231, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %233 = shufflevector <64 x float> %232, <64 x float> %229, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %234 = insertelement <8 x float> poison, float %85, i32 0
+  %235 = shufflevector <8 x float> %234, <8 x float> poison, <8 x i32> zeroinitializer
+  %236 = shufflevector <8 x float> %235, <8 x float> %235, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %237 = shufflevector <64 x float> %236, <64 x float> %233, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %238 = insertelement <8 x float> poison, float %93, i32 0
+  %239 = shufflevector <8 x float> %238, <8 x float> poison, <8 x i32> zeroinitializer
+  %240 = shufflevector <8 x float> %239, <8 x float> %239, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %241 = shufflevector <64 x float> %240, <64 x float> %237, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %242 = insertelement <8 x float> poison, float %101, i32 0
+  %243 = shufflevector <8 x float> %242, <8 x float> poison, <8 x i32> zeroinitializer
+  %244 = shufflevector <8 x float> %243, <8 x float> %243, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %245 = shufflevector <64 x float> %244, <64 x float> %241, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %246 = insertelement <8 x float> poison, float %109, i32 0
+  %247 = shufflevector <8 x float> %246, <8 x float> poison, <8 x i32> zeroinitializer
+  %248 = shufflevector <8 x float> %247, <8 x float> %247, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %249 = shufflevector <64 x float> %248, <64 x float> %245, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %250 = insertelement <8 x float> poison, float %54, i32 0
+  %251 = shufflevector <8 x float> %250, <8 x float> poison, <8 x i32> zeroinitializer
+  %252 = shufflevector <8 x float> %251, <8 x float> %251, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %253 = shufflevector <64 x float> %252, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %254 = insertelement <8 x float> poison, float %62, i32 0
+  %255 = shufflevector <8 x float> %254, <8 x float> poison, <8 x i32> zeroinitializer
+  %256 = shufflevector <8 x float> %255, <8 x float> %255, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %257 = shufflevector <64 x float> %256, <64 x float> %253, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %258 = insertelement <8 x float> poison, float %70, i32 0
+  %259 = shufflevector <8 x float> %258, <8 x float> poison, <8 x i32> zeroinitializer
+  %260 = shufflevector <8 x float> %259, <8 x float> %259, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %261 = shufflevector <64 x float> %260, <64 x float> %257, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %262 = insertelement <8 x float> poison, float %78, i32 0
+  %263 = shufflevector <8 x float> %262, <8 x float> poison, <8 x i32> zeroinitializer
+  %264 = shufflevector <8 x float> %263, <8 x float> %263, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %265 = shufflevector <64 x float> %264, <64 x float> %261, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %266 = insertelement <8 x float> poison, float %86, i32 0
+  %267 = shufflevector <8 x float> %266, <8 x float> poison, <8 x i32> zeroinitializer
+  %268 = shufflevector <8 x float> %267, <8 x float> %267, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %269 = shufflevector <64 x float> %268, <64 x float> %265, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %270 = insertelement <8 x float> poison, float %94, i32 0
+  %271 = shufflevector <8 x float> %270, <8 x float> poison, <8 x i32> zeroinitializer
+  %272 = shufflevector <8 x float> %271, <8 x float> %271, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %273 = shufflevector <64 x float> %272, <64 x float> %269, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %274 = insertelement <8 x float> poison, float %102, i32 0
+  %275 = shufflevector <8 x float> %274, <8 x float> poison, <8 x i32> zeroinitializer
+  %276 = shufflevector <8 x float> %275, <8 x float> %275, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %277 = shufflevector <64 x float> %276, <64 x float> %273, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %278 = insertelement <8 x float> poison, float %110, i32 0
+  %279 = shufflevector <8 x float> %278, <8 x float> poison, <8 x i32> zeroinitializer
+  %280 = shufflevector <8 x float> %279, <8 x float> %279, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %281 = shufflevector <64 x float> %280, <64 x float> %277, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %282 = insertelement <8 x float> poison, float %55, i32 0
+  %283 = shufflevector <8 x float> %282, <8 x float> poison, <8 x i32> zeroinitializer
+  %284 = shufflevector <8 x float> %283, <8 x float> %283, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %285 = shufflevector <64 x float> %284, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %286 = insertelement <8 x float> poison, float %63, i32 0
+  %287 = shufflevector <8 x float> %286, <8 x float> poison, <8 x i32> zeroinitializer
+  %288 = shufflevector <8 x float> %287, <8 x float> %287, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %289 = shufflevector <64 x float> %288, <64 x float> %285, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %290 = insertelement <8 x float> poison, float %71, i32 0
+  %291 = shufflevector <8 x float> %290, <8 x float> poison, <8 x i32> zeroinitializer
+  %292 = shufflevector <8 x float> %291, <8 x float> %291, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %293 = shufflevector <64 x float> %292, <64 x float> %289, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %294 = insertelement <8 x float> poison, float %79, i32 0
+  %295 = shufflevector <8 x float> %294, <8 x float> poison, <8 x i32> zeroinitializer
+  %296 = shufflevector <8 x float> %295, <8 x float> %295, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %297 = shufflevector <64 x float> %296, <64 x float> %293, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %298 = insertelement <8 x float> poison, float %87, i32 0
+  %299 = shufflevector <8 x float> %298, <8 x float> poison, <8 x i32> zeroinitializer
+  %300 = shufflevector <8 x float> %299, <8 x float> %299, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %301 = shufflevector <64 x float> %300, <64 x float> %297, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %302 = insertelement <8 x float> poison, float %95, i32 0
+  %303 = shufflevector <8 x float> %302, <8 x float> poison, <8 x i32> zeroinitializer
+  %304 = shufflevector <8 x float> %303, <8 x float> %303, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %305 = shufflevector <64 x float> %304, <64 x float> %301, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %306 = insertelement <8 x float> poison, float %103, i32 0
+  %307 = shufflevector <8 x float> %306, <8 x float> poison, <8 x i32> zeroinitializer
+  %308 = shufflevector <8 x float> %307, <8 x float> %307, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %309 = shufflevector <64 x float> %308, <64 x float> %305, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %310 = insertelement <8 x float> poison, float %111, i32 0
+  %311 = shufflevector <8 x float> %310, <8 x float> poison, <8 x i32> zeroinitializer
+  %312 = shufflevector <8 x float> %311, <8 x float> %311, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %313 = shufflevector <64 x float> %312, <64 x float> %309, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %314 = insertelement <8 x float> poison, float %56, i32 0
+  %315 = shufflevector <8 x float> %314, <8 x float> poison, <8 x i32> zeroinitializer
+  %316 = shufflevector <8 x float> %315, <8 x float> %315, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %317 = shufflevector <64 x float> %316, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %318 = insertelement <8 x float> poison, float %64, i32 0
+  %319 = shufflevector <8 x float> %318, <8 x float> poison, <8 x i32> zeroinitializer
+  %320 = shufflevector <8 x float> %319, <8 x float> %319, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %321 = shufflevector <64 x float> %320, <64 x float> %317, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %322 = insertelement <8 x float> poison, float %72, i32 0
+  %323 = shufflevector <8 x float> %322, <8 x float> poison, <8 x i32> zeroinitializer
+  %324 = shufflevector <8 x float> %323, <8 x float> %323, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %325 = shufflevector <64 x float> %324, <64 x float> %321, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %326 = insertelement <8 x float> poison, float %80, i32 0
+  %327 = shufflevector <8 x float> %326, <8 x float> poison, <8 x i32> zeroinitializer
+  %328 = shufflevector <8 x float> %327, <8 x float> %327, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %329 = shufflevector <64 x float> %328, <64 x float> %325, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %330 = insertelement <8 x float> poison, float %88, i32 0
+  %331 = shufflevector <8 x float> %330, <8 x float> poison, <8 x i32> zeroinitializer
+  %332 = shufflevector <8 x float> %331, <8 x float> %331, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %333 = shufflevector <64 x float> %332, <64 x float> %329, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %334 = insertelement <8 x float> poison, float %96, i32 0
+  %335 = shufflevector <8 x float> %334, <8 x float> poison, <8 x i32> zeroinitializer
+  %336 = shufflevector <8 x float> %335, <8 x float> %335, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %337 = shufflevector <64 x float> %336, <64 x float> %333, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %338 = insertelement <8 x float> poison, float %104, i32 0
+  %339 = shufflevector <8 x float> %338, <8 x float> poison, <8 x i32> zeroinitializer
+  %340 = shufflevector <8 x float> %339, <8 x float> %339, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %341 = shufflevector <64 x float> %340, <64 x float> %337, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %342 = insertelement <8 x float> poison, float %112, i32 0
+  %343 = shufflevector <8 x float> %342, <8 x float> poison, <8 x i32> zeroinitializer
+  %344 = shufflevector <8 x float> %343, <8 x float> %343, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %345 = shufflevector <64 x float> %344, <64 x float> %341, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %346 = insertelement <8 x float> poison, float %57, i32 0
+  %347 = shufflevector <8 x float> %346, <8 x float> poison, <8 x i32> zeroinitializer
+  %348 = shufflevector <8 x float> %347, <8 x float> %347, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %349 = shufflevector <64 x float> %348, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %350 = insertelement <8 x float> poison, float %65, i32 0
+  %351 = shufflevector <8 x float> %350, <8 x float> poison, <8 x i32> zeroinitializer
+  %352 = shufflevector <8 x float> %351, <8 x float> %351, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %353 = shufflevector <64 x float> %352, <64 x float> %349, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %354 = insertelement <8 x float> poison, float %73, i32 0
+  %355 = shufflevector <8 x float> %354, <8 x float> poison, <8 x i32> zeroinitializer
+  %356 = shufflevector <8 x float> %355, <8 x float> %355, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %357 = shufflevector <64 x float> %356, <64 x float> %353, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %358 = insertelement <8 x float> poison, float %81, i32 0
+  %359 = shufflevector <8 x float> %358, <8 x float> poison, <8 x i32> zeroinitializer
+  %360 = shufflevector <8 x float> %359, <8 x float> %359, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %361 = shufflevector <64 x float> %360, <64 x float> %357, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %362 = insertelement <8 x float> poison, float %89, i32 0
+  %363 = shufflevector <8 x float> %362, <8 x float> poison, <8 x i32> zeroinitializer
+  %364 = shufflevector <8 x float> %363, <8 x float> %363, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %365 = shufflevector <64 x float> %364, <64 x float> %361, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %366 = insertelement <8 x float> poison, float %97, i32 0
+  %367 = shufflevector <8 x float> %366, <8 x float> poison, <8 x i32> zeroinitializer
+  %368 = shufflevector <8 x float> %367, <8 x float> %367, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %369 = shufflevector <64 x float> %368, <64 x float> %365, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %370 = insertelement <8 x float> poison, float %105, i32 0
+  %371 = shufflevector <8 x float> %370, <8 x float> poison, <8 x i32> zeroinitializer
+  %372 = shufflevector <8 x float> %371, <8 x float> %371, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %373 = shufflevector <64 x float> %372, <64 x float> %369, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %374 = insertelement <8 x float> poison, float %113, i32 0
+  %375 = shufflevector <8 x float> %374, <8 x float> poison, <8 x i32> zeroinitializer
+  %376 = shufflevector <8 x float> %375, <8 x float> %375, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %377 = shufflevector <64 x float> %376, <64 x float> %373, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %378 = shufflevector <8 x float> %114, <8 x float> %114, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %379 = shufflevector <64 x float> %378, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %380 = shufflevector <8 x float> %114, <8 x float> %114, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %381 = shufflevector <64 x float> %380, <64 x float> %379, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %382 = shufflevector <8 x float> %114, <8 x float> %114, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %383 = shufflevector <64 x float> %382, <64 x float> %381, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %384 = shufflevector <8 x float> %114, <8 x float> %114, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %385 = shufflevector <64 x float> %384, <64 x float> %383, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %386 = shufflevector <8 x float> %114, <8 x float> %114, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %387 = shufflevector <64 x float> %386, <64 x float> %385, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %388 = shufflevector <8 x float> %114, <8 x float> %114, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %389 = shufflevector <64 x float> %388, <64 x float> %387, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %390 = shufflevector <8 x float> %114, <8 x float> %114, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %391 = shufflevector <64 x float> %390, <64 x float> %389, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %392 = shufflevector <8 x float> %114, <8 x float> %114, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %393 = shufflevector <64 x float> %392, <64 x float> %391, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %394 = shufflevector <8 x float> %115, <8 x float> %115, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %395 = shufflevector <64 x float> %394, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %396 = shufflevector <8 x float> %115, <8 x float> %115, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %397 = shufflevector <64 x float> %396, <64 x float> %395, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %398 = shufflevector <8 x float> %115, <8 x float> %115, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %399 = shufflevector <64 x float> %398, <64 x float> %397, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %400 = shufflevector <8 x float> %115, <8 x float> %115, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %401 = shufflevector <64 x float> %400, <64 x float> %399, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %402 = shufflevector <8 x float> %115, <8 x float> %115, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %403 = shufflevector <64 x float> %402, <64 x float> %401, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %404 = shufflevector <8 x float> %115, <8 x float> %115, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %405 = shufflevector <64 x float> %404, <64 x float> %403, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %406 = shufflevector <8 x float> %115, <8 x float> %115, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %407 = shufflevector <64 x float> %406, <64 x float> %405, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %408 = shufflevector <8 x float> %115, <8 x float> %115, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %409 = shufflevector <64 x float> %408, <64 x float> %407, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %410 = shufflevector <8 x float> %116, <8 x float> %116, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %411 = shufflevector <64 x float> %410, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %412 = shufflevector <8 x float> %116, <8 x float> %116, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %413 = shufflevector <64 x float> %412, <64 x float> %411, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %414 = shufflevector <8 x float> %116, <8 x float> %116, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %415 = shufflevector <64 x float> %414, <64 x float> %413, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %416 = shufflevector <8 x float> %116, <8 x float> %116, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %417 = shufflevector <64 x float> %416, <64 x float> %415, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %418 = shufflevector <8 x float> %116, <8 x float> %116, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %419 = shufflevector <64 x float> %418, <64 x float> %417, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %420 = shufflevector <8 x float> %116, <8 x float> %116, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %421 = shufflevector <64 x float> %420, <64 x float> %419, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %422 = shufflevector <8 x float> %116, <8 x float> %116, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %423 = shufflevector <64 x float> %422, <64 x float> %421, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %424 = shufflevector <8 x float> %116, <8 x float> %116, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %425 = shufflevector <64 x float> %424, <64 x float> %423, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %426 = shufflevector <8 x float> %117, <8 x float> %117, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %427 = shufflevector <64 x float> %426, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %428 = shufflevector <8 x float> %117, <8 x float> %117, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %429 = shufflevector <64 x float> %428, <64 x float> %427, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %430 = shufflevector <8 x float> %117, <8 x float> %117, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %431 = shufflevector <64 x float> %430, <64 x float> %429, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %432 = shufflevector <8 x float> %117, <8 x float> %117, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %433 = shufflevector <64 x float> %432, <64 x float> %431, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %434 = shufflevector <8 x float> %117, <8 x float> %117, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %435 = shufflevector <64 x float> %434, <64 x float> %433, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %436 = shufflevector <8 x float> %117, <8 x float> %117, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %437 = shufflevector <64 x float> %436, <64 x float> %435, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %438 = shufflevector <8 x float> %117, <8 x float> %117, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %439 = shufflevector <64 x float> %438, <64 x float> %437, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %440 = shufflevector <8 x float> %117, <8 x float> %117, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %441 = shufflevector <64 x float> %440, <64 x float> %439, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %442 = shufflevector <8 x float> %118, <8 x float> %118, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %443 = shufflevector <64 x float> %442, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %444 = shufflevector <8 x float> %118, <8 x float> %118, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %445 = shufflevector <64 x float> %444, <64 x float> %443, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %446 = shufflevector <8 x float> %118, <8 x float> %118, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %447 = shufflevector <64 x float> %446, <64 x float> %445, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %448 = shufflevector <8 x float> %118, <8 x float> %118, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %449 = shufflevector <64 x float> %448, <64 x float> %447, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %450 = shufflevector <8 x float> %118, <8 x float> %118, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %451 = shufflevector <64 x float> %450, <64 x float> %449, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %452 = shufflevector <8 x float> %118, <8 x float> %118, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %453 = shufflevector <64 x float> %452, <64 x float> %451, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %454 = shufflevector <8 x float> %118, <8 x float> %118, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %455 = shufflevector <64 x float> %454, <64 x float> %453, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %456 = shufflevector <8 x float> %118, <8 x float> %118, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %457 = shufflevector <64 x float> %456, <64 x float> %455, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %458 = shufflevector <8 x float> %119, <8 x float> %119, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %459 = shufflevector <64 x float> %458, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %460 = shufflevector <8 x float> %119, <8 x float> %119, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %461 = shufflevector <64 x float> %460, <64 x float> %459, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %462 = shufflevector <8 x float> %119, <8 x float> %119, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %463 = shufflevector <64 x float> %462, <64 x float> %461, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %464 = shufflevector <8 x float> %119, <8 x float> %119, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %465 = shufflevector <64 x float> %464, <64 x float> %463, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %466 = shufflevector <8 x float> %119, <8 x float> %119, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %467 = shufflevector <64 x float> %466, <64 x float> %465, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %468 = shufflevector <8 x float> %119, <8 x float> %119, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %469 = shufflevector <64 x float> %468, <64 x float> %467, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %470 = shufflevector <8 x float> %119, <8 x float> %119, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %471 = shufflevector <64 x float> %470, <64 x float> %469, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %472 = shufflevector <8 x float> %119, <8 x float> %119, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %473 = shufflevector <64 x float> %472, <64 x float> %471, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %474 = shufflevector <8 x float> %120, <8 x float> %120, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %475 = shufflevector <64 x float> %474, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %476 = shufflevector <8 x float> %120, <8 x float> %120, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %477 = shufflevector <64 x float> %476, <64 x float> %475, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %478 = shufflevector <8 x float> %120, <8 x float> %120, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %479 = shufflevector <64 x float> %478, <64 x float> %477, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %480 = shufflevector <8 x float> %120, <8 x float> %120, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %481 = shufflevector <64 x float> %480, <64 x float> %479, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %482 = shufflevector <8 x float> %120, <8 x float> %120, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %483 = shufflevector <64 x float> %482, <64 x float> %481, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %484 = shufflevector <8 x float> %120, <8 x float> %120, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %485 = shufflevector <64 x float> %484, <64 x float> %483, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %486 = shufflevector <8 x float> %120, <8 x float> %120, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %487 = shufflevector <64 x float> %486, <64 x float> %485, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %488 = shufflevector <8 x float> %120, <8 x float> %120, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %489 = shufflevector <64 x float> %488, <64 x float> %487, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %490 = shufflevector <8 x float> %121, <8 x float> %121, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %491 = shufflevector <64 x float> %490, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %492 = shufflevector <8 x float> %121, <8 x float> %121, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %493 = shufflevector <64 x float> %492, <64 x float> %491, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %494 = shufflevector <8 x float> %121, <8 x float> %121, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %495 = shufflevector <64 x float> %494, <64 x float> %493, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %496 = shufflevector <8 x float> %121, <8 x float> %121, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %497 = shufflevector <64 x float> %496, <64 x float> %495, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %498 = shufflevector <8 x float> %121, <8 x float> %121, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %499 = shufflevector <64 x float> %498, <64 x float> %497, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %500 = shufflevector <8 x float> %121, <8 x float> %121, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %501 = shufflevector <64 x float> %500, <64 x float> %499, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %502 = shufflevector <8 x float> %121, <8 x float> %121, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %503 = shufflevector <64 x float> %502, <64 x float> %501, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %504 = shufflevector <8 x float> %121, <8 x float> %121, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %505 = shufflevector <64 x float> %504, <64 x float> %503, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %506 = call <64 x float> @llvm.fma.v64f32(<64 x float> %377, <64 x float> %505, <64 x float> zeroinitializer)
+  %507 = call <64 x float> @llvm.fma.v64f32(<64 x float> %345, <64 x float> %489, <64 x float> %506)
+  %508 = call <64 x float> @llvm.fma.v64f32(<64 x float> %313, <64 x float> %473, <64 x float> %507)
+  %509 = call <64 x float> @llvm.fma.v64f32(<64 x float> %281, <64 x float> %457, <64 x float> %508)
+  %510 = call <64 x float> @llvm.fma.v64f32(<64 x float> %249, <64 x float> %441, <64 x float> %509)
+  %511 = call <64 x float> @llvm.fma.v64f32(<64 x float> %217, <64 x float> %425, <64 x float> %510)
+  %512 = call <64 x float> @llvm.fma.v64f32(<64 x float> %185, <64 x float> %409, <64 x float> %511)
+  %513 = call <64 x float> @llvm.fma.v64f32(<64 x float> %153, <64 x float> %393, <64 x float> %512)
+  %514 = shufflevector <64 x float> %513, <64 x float> %513, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %515 = shufflevector <64 x float> %513, <64 x float> %513, <8 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15>
+  %516 = shufflevector <64 x float> %513, <64 x float> %513, <8 x i32> <i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
+  %517 = shufflevector <64 x float> %513, <64 x float> %513, <8 x i32> <i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31>
+  %518 = shufflevector <64 x float> %513, <64 x float> %513, <8 x i32> <i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39>
+  %519 = shufflevector <64 x float> %513, <64 x float> %513, <8 x i32> <i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47>
+  %520 = shufflevector <64 x float> %513, <64 x float> %513, <8 x i32> <i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55>
+  %521 = shufflevector <64 x float> %513, <64 x float> %513, <8 x i32> <i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63>
+  %522 = load <8 x float>, ptr addrspace(4) @__constant_8x8xf32, align 4
+  %523 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 32), align 4
+  %524 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 64), align 4
+  %525 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 96), align 4
+  %526 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 128), align 4
+  %527 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 160), align 4
+  %528 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 192), align 4
+  %529 = load <8 x float>, ptr addrspace(4) getelementptr inbounds nuw (i8, ptr addrspace(4) @__constant_8x8xf32, i64 224), align 4
+  %530 = extractelement <8 x float> %522, i64 0
+  %531 = extractelement <8 x float> %522, i64 1
+  %532 = extractelement <8 x float> %522, i64 2
+  %533 = extractelement <8 x float> %522, i64 3
+  %534 = extractelement <8 x float> %522, i64 4
+  %535 = extractelement <8 x float> %522, i64 5
+  %536 = extractelement <8 x float> %522, i64 6
+  %537 = extractelement <8 x float> %522, i64 7
+  %538 = extractelement <8 x float> %523, i64 0
+  %539 = extractelement <8 x float> %523, i64 1
+  %540 = extractelement <8 x float> %523, i64 2
+  %541 = extractelement <8 x float> %523, i64 3
+  %542 = extractelement <8 x float> %523, i64 4
+  %543 = extractelement <8 x float> %523, i64 5
+  %544 = extractelement <8 x float> %523, i64 6
+  %545 = extractelement <8 x float> %523, i64 7
+  %546 = extractelement <8 x float> %524, i64 0
+  %547 = extractelement <8 x float> %524, i64 1
+  %548 = extractelement <8 x float> %524, i64 2
+  %549 = extractelement <8 x float> %524, i64 3
+  %550 = extractelement <8 x float> %524, i64 4
+  %551 = extractelement <8 x float> %524, i64 5
+  %552 = extractelement <8 x float> %524, i64 6
+  %553 = extractelement <8 x float> %524, i64 7
+  %554 = extractelement <8 x float> %525, i64 0
+  %555 = extractelement <8 x float> %525, i64 1
+  %556 = extractelement <8 x float> %525, i64 2
+  %557 = extractelement <8 x float> %525, i64 3
+  %558 = extractelement <8 x float> %525, i64 4
+  %559 = extractelement <8 x float> %525, i64 5
+  %560 = extractelement <8 x float> %525, i64 6
+  %561 = extractelement <8 x float> %525, i64 7
+  %562 = extractelement <8 x float> %526, i64 0
+  %563 = extractelement <8 x float> %526, i64 1
+  %564 = extractelement <8 x float> %526, i64 2
+  %565 = extractelement <8 x float> %526, i64 3
+  %566 = extractelement <8 x float> %526, i64 4
+  %567 = extractelement <8 x float> %526, i64 5
+  %568 = extractelement <8 x float> %526, i64 6
+  %569 = extractelement <8 x float> %526, i64 7
+  %570 = extractelement <8 x float> %527, i64 0
+  %571 = extractelement <8 x float> %527, i64 1
+  %572 = extractelement <8 x float> %527, i64 2
+  %573 = extractelement <8 x float> %527, i64 3
+  %574 = extractelement <8 x float> %527, i64 4
+  %575 = extractelement <8 x float> %527, i64 5
+  %576 = extractelement <8 x float> %527, i64 6
+  %577 = extractelement <8 x float> %527, i64 7
+  %578 = extractelement <8 x float> %528, i64 0
+  %579 = extractelement <8 x float> %528, i64 1
+  %580 = extractelement <8 x float> %528, i64 2
+  %581 = extractelement <8 x float> %528, i64 3
+  %582 = extractelement <8 x float> %528, i64 4
+  %583 = extractelement <8 x float> %528, i64 5
+  %584 = extractelement <8 x float> %528, i64 6
+  %585 = extractelement <8 x float> %528, i64 7
+  %586 = extractelement <8 x float> %529, i64 0
+  %587 = extractelement <8 x float> %529, i64 1
+  %588 = extractelement <8 x float> %529, i64 2
+  %589 = extractelement <8 x float> %529, i64 3
+  %590 = extractelement <8 x float> %529, i64 4
+  %591 = extractelement <8 x float> %529, i64 5
+  %592 = extractelement <8 x float> %529, i64 6
+  %593 = extractelement <8 x float> %529, i64 7
+  %594 = insertelement <8 x float> poison, float %530, i32 0
+  %595 = shufflevector <8 x float> %594, <8 x float> poison, <8 x i32> zeroinitializer
+  %596 = shufflevector <8 x float> %595, <8 x float> %595, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %597 = shufflevector <64 x float> %596, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %598 = insertelement <8 x float> poison, float %538, i32 0
+  %599 = shufflevector <8 x float> %598, <8 x float> poison, <8 x i32> zeroinitializer
+  %600 = shufflevector <8 x float> %599, <8 x float> %599, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %601 = shufflevector <64 x float> %600, <64 x float> %597, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %602 = insertelement <8 x float> poison, float %546, i32 0
+  %603 = shufflevector <8 x float> %602, <8 x float> poison, <8 x i32> zeroinitializer
+  %604 = shufflevector <8 x float> %603, <8 x float> %603, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %605 = shufflevector <64 x float> %604, <64 x float> %601, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %606 = insertelement <8 x float> poison, float %554, i32 0
+  %607 = shufflevector <8 x float> %606, <8 x float> poison, <8 x i32> zeroinitializer
+  %608 = shufflevector <8 x float> %607, <8 x float> %607, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %609 = shufflevector <64 x float> %608, <64 x float> %605, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %610 = insertelement <8 x float> poison, float %562, i32 0
+  %611 = shufflevector <8 x float> %610, <8 x float> poison, <8 x i32> zeroinitializer
+  %612 = shufflevector <8 x float> %611, <8 x float> %611, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %613 = shufflevector <64 x float> %612, <64 x float> %609, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %614 = insertelement <8 x float> poison, float %570, i32 0
+  %615 = shufflevector <8 x float> %614, <8 x float> poison, <8 x i32> zeroinitializer
+  %616 = shufflevector <8 x float> %615, <8 x float> %615, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %617 = shufflevector <64 x float> %616, <64 x float> %613, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %618 = insertelement <8 x float> poison, float %578, i32 0
+  %619 = shufflevector <8 x float> %618, <8 x float> poison, <8 x i32> zeroinitializer
+  %620 = shufflevector <8 x float> %619, <8 x float> %619, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %621 = shufflevector <64 x float> %620, <64 x float> %617, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %622 = insertelement <8 x float> poison, float %586, i32 0
+  %623 = shufflevector <8 x float> %622, <8 x float> poison, <8 x i32> zeroinitializer
+  %624 = shufflevector <8 x float> %623, <8 x float> %623, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %625 = shufflevector <64 x float> %624, <64 x float> %621, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %626 = insertelement <8 x float> poison, float %531, i32 0
+  %627 = shufflevector <8 x float> %626, <8 x float> poison, <8 x i32> zeroinitializer
+  %628 = shufflevector <8 x float> %627, <8 x float> %627, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %629 = shufflevector <64 x float> %628, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %630 = insertelement <8 x float> poison, float %539, i32 0
+  %631 = shufflevector <8 x float> %630, <8 x float> poison, <8 x i32> zeroinitializer
+  %632 = shufflevector <8 x float> %631, <8 x float> %631, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %633 = shufflevector <64 x float> %632, <64 x float> %629, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %634 = insertelement <8 x float> poison, float %547, i32 0
+  %635 = shufflevector <8 x float> %634, <8 x float> poison, <8 x i32> zeroinitializer
+  %636 = shufflevector <8 x float> %635, <8 x float> %635, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %637 = shufflevector <64 x float> %636, <64 x float> %633, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %638 = insertelement <8 x float> poison, float %555, i32 0
+  %639 = shufflevector <8 x float> %638, <8 x float> poison, <8 x i32> zeroinitializer
+  %640 = shufflevector <8 x float> %639, <8 x float> %639, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %641 = shufflevector <64 x float> %640, <64 x float> %637, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %642 = insertelement <8 x float> poison, float %563, i32 0
+  %643 = shufflevector <8 x float> %642, <8 x float> poison, <8 x i32> zeroinitializer
+  %644 = shufflevector <8 x float> %643, <8 x float> %643, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %645 = shufflevector <64 x float> %644, <64 x float> %641, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %646 = insertelement <8 x float> poison, float %571, i32 0
+  %647 = shufflevector <8 x float> %646, <8 x float> poison, <8 x i32> zeroinitializer
+  %648 = shufflevector <8 x float> %647, <8 x float> %647, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %649 = shufflevector <64 x float> %648, <64 x float> %645, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %650 = insertelement <8 x float> poison, float %579, i32 0
+  %651 = shufflevector <8 x float> %650, <8 x float> poison, <8 x i32> zeroinitializer
+  %652 = shufflevector <8 x float> %651, <8 x float> %651, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %653 = shufflevector <64 x float> %652, <64 x float> %649, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %654 = insertelement <8 x float> poison, float %587, i32 0
+  %655 = shufflevector <8 x float> %654, <8 x float> poison, <8 x i32> zeroinitializer
+  %656 = shufflevector <8 x float> %655, <8 x float> %655, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %657 = shufflevector <64 x float> %656, <64 x float> %653, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %658 = insertelement <8 x float> poison, float %532, i32 0
+  %659 = shufflevector <8 x float> %658, <8 x float> poison, <8 x i32> zeroinitializer
+  %660 = shufflevector <8 x float> %659, <8 x float> %659, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %661 = shufflevector <64 x float> %660, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %662 = insertelement <8 x float> poison, float %540, i32 0
+  %663 = shufflevector <8 x float> %662, <8 x float> poison, <8 x i32> zeroinitializer
+  %664 = shufflevector <8 x float> %663, <8 x float> %663, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %665 = shufflevector <64 x float> %664, <64 x float> %661, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %666 = insertelement <8 x float> poison, float %548, i32 0
+  %667 = shufflevector <8 x float> %666, <8 x float> poison, <8 x i32> zeroinitializer
+  %668 = shufflevector <8 x float> %667, <8 x float> %667, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %669 = shufflevector <64 x float> %668, <64 x float> %665, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %670 = insertelement <8 x float> poison, float %556, i32 0
+  %671 = shufflevector <8 x float> %670, <8 x float> poison, <8 x i32> zeroinitializer
+  %672 = shufflevector <8 x float> %671, <8 x float> %671, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %673 = shufflevector <64 x float> %672, <64 x float> %669, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %674 = insertelement <8 x float> poison, float %564, i32 0
+  %675 = shufflevector <8 x float> %674, <8 x float> poison, <8 x i32> zeroinitializer
+  %676 = shufflevector <8 x float> %675, <8 x float> %675, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %677 = shufflevector <64 x float> %676, <64 x float> %673, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %678 = insertelement <8 x float> poison, float %572, i32 0
+  %679 = shufflevector <8 x float> %678, <8 x float> poison, <8 x i32> zeroinitializer
+  %680 = shufflevector <8 x float> %679, <8 x float> %679, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %681 = shufflevector <64 x float> %680, <64 x float> %677, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %682 = insertelement <8 x float> poison, float %580, i32 0
+  %683 = shufflevector <8 x float> %682, <8 x float> poison, <8 x i32> zeroinitializer
+  %684 = shufflevector <8 x float> %683, <8 x float> %683, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %685 = shufflevector <64 x float> %684, <64 x float> %681, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %686 = insertelement <8 x float> poison, float %588, i32 0
+  %687 = shufflevector <8 x float> %686, <8 x float> poison, <8 x i32> zeroinitializer
+  %688 = shufflevector <8 x float> %687, <8 x float> %687, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %689 = shufflevector <64 x float> %688, <64 x float> %685, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %690 = insertelement <8 x float> poison, float %533, i32 0
+  %691 = shufflevector <8 x float> %690, <8 x float> poison, <8 x i32> zeroinitializer
+  %692 = shufflevector <8 x float> %691, <8 x float> %691, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %693 = shufflevector <64 x float> %692, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %694 = insertelement <8 x float> poison, float %541, i32 0
+  %695 = shufflevector <8 x float> %694, <8 x float> poison, <8 x i32> zeroinitializer
+  %696 = shufflevector <8 x float> %695, <8 x float> %695, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %697 = shufflevector <64 x float> %696, <64 x float> %693, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %698 = insertelement <8 x float> poison, float %549, i32 0
+  %699 = shufflevector <8 x float> %698, <8 x float> poison, <8 x i32> zeroinitializer
+  %700 = shufflevector <8 x float> %699, <8 x float> %699, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %701 = shufflevector <64 x float> %700, <64 x float> %697, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %702 = insertelement <8 x float> poison, float %557, i32 0
+  %703 = shufflevector <8 x float> %702, <8 x float> poison, <8 x i32> zeroinitializer
+  %704 = shufflevector <8 x float> %703, <8 x float> %703, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %705 = shufflevector <64 x float> %704, <64 x float> %701, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %706 = insertelement <8 x float> poison, float %565, i32 0
+  %707 = shufflevector <8 x float> %706, <8 x float> poison, <8 x i32> zeroinitializer
+  %708 = shufflevector <8 x float> %707, <8 x float> %707, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %709 = shufflevector <64 x float> %708, <64 x float> %705, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %710 = insertelement <8 x float> poison, float %573, i32 0
+  %711 = shufflevector <8 x float> %710, <8 x float> poison, <8 x i32> zeroinitializer
+  %712 = shufflevector <8 x float> %711, <8 x float> %711, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %713 = shufflevector <64 x float> %712, <64 x float> %709, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %714 = insertelement <8 x float> poison, float %581, i32 0
+  %715 = shufflevector <8 x float> %714, <8 x float> poison, <8 x i32> zeroinitializer
+  %716 = shufflevector <8 x float> %715, <8 x float> %715, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %717 = shufflevector <64 x float> %716, <64 x float> %713, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %718 = insertelement <8 x float> poison, float %589, i32 0
+  %719 = shufflevector <8 x float> %718, <8 x float> poison, <8 x i32> zeroinitializer
+  %720 = shufflevector <8 x float> %719, <8 x float> %719, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %721 = shufflevector <64 x float> %720, <64 x float> %717, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %722 = insertelement <8 x float> poison, float %534, i32 0
+  %723 = shufflevector <8 x float> %722, <8 x float> poison, <8 x i32> zeroinitializer
+  %724 = shufflevector <8 x float> %723, <8 x float> %723, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %725 = shufflevector <64 x float> %724, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %726 = insertelement <8 x float> poison, float %542, i32 0
+  %727 = shufflevector <8 x float> %726, <8 x float> poison, <8 x i32> zeroinitializer
+  %728 = shufflevector <8 x float> %727, <8 x float> %727, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %729 = shufflevector <64 x float> %728, <64 x float> %725, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %730 = insertelement <8 x float> poison, float %550, i32 0
+  %731 = shufflevector <8 x float> %730, <8 x float> poison, <8 x i32> zeroinitializer
+  %732 = shufflevector <8 x float> %731, <8 x float> %731, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %733 = shufflevector <64 x float> %732, <64 x float> %729, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %734 = insertelement <8 x float> poison, float %558, i32 0
+  %735 = shufflevector <8 x float> %734, <8 x float> poison, <8 x i32> zeroinitializer
+  %736 = shufflevector <8 x float> %735, <8 x float> %735, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %737 = shufflevector <64 x float> %736, <64 x float> %733, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %738 = insertelement <8 x float> poison, float %566, i32 0
+  %739 = shufflevector <8 x float> %738, <8 x float> poison, <8 x i32> zeroinitializer
+  %740 = shufflevector <8 x float> %739, <8 x float> %739, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %741 = shufflevector <64 x float> %740, <64 x float> %737, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %742 = insertelement <8 x float> poison, float %574, i32 0
+  %743 = shufflevector <8 x float> %742, <8 x float> poison, <8 x i32> zeroinitializer
+  %744 = shufflevector <8 x float> %743, <8 x float> %743, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %745 = shufflevector <64 x float> %744, <64 x float> %741, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %746 = insertelement <8 x float> poison, float %582, i32 0
+  %747 = shufflevector <8 x float> %746, <8 x float> poison, <8 x i32> zeroinitializer
+  %748 = shufflevector <8 x float> %747, <8 x float> %747, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %749 = shufflevector <64 x float> %748, <64 x float> %745, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %750 = insertelement <8 x float> poison, float %590, i32 0
+  %751 = shufflevector <8 x float> %750, <8 x float> poison, <8 x i32> zeroinitializer
+  %752 = shufflevector <8 x float> %751, <8 x float> %751, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %753 = shufflevector <64 x float> %752, <64 x float> %749, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %754 = insertelement <8 x float> poison, float %535, i32 0
+  %755 = shufflevector <8 x float> %754, <8 x float> poison, <8 x i32> zeroinitializer
+  %756 = shufflevector <8 x float> %755, <8 x float> %755, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %757 = shufflevector <64 x float> %756, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %758 = insertelement <8 x float> poison, float %543, i32 0
+  %759 = shufflevector <8 x float> %758, <8 x float> poison, <8 x i32> zeroinitializer
+  %760 = shufflevector <8 x float> %759, <8 x float> %759, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %761 = shufflevector <64 x float> %760, <64 x float> %757, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %762 = insertelement <8 x float> poison, float %551, i32 0
+  %763 = shufflevector <8 x float> %762, <8 x float> poison, <8 x i32> zeroinitializer
+  %764 = shufflevector <8 x float> %763, <8 x float> %763, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %765 = shufflevector <64 x float> %764, <64 x float> %761, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %766 = insertelement <8 x float> poison, float %559, i32 0
+  %767 = shufflevector <8 x float> %766, <8 x float> poison, <8 x i32> zeroinitializer
+  %768 = shufflevector <8 x float> %767, <8 x float> %767, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %769 = shufflevector <64 x float> %768, <64 x float> %765, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %770 = insertelement <8 x float> poison, float %567, i32 0
+  %771 = shufflevector <8 x float> %770, <8 x float> poison, <8 x i32> zeroinitializer
+  %772 = shufflevector <8 x float> %771, <8 x float> %771, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %773 = shufflevector <64 x float> %772, <64 x float> %769, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %774 = insertelement <8 x float> poison, float %575, i32 0
+  %775 = shufflevector <8 x float> %774, <8 x float> poison, <8 x i32> zeroinitializer
+  %776 = shufflevector <8 x float> %775, <8 x float> %775, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %777 = shufflevector <64 x float> %776, <64 x float> %773, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %778 = insertelement <8 x float> poison, float %583, i32 0
+  %779 = shufflevector <8 x float> %778, <8 x float> poison, <8 x i32> zeroinitializer
+  %780 = shufflevector <8 x float> %779, <8 x float> %779, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %781 = shufflevector <64 x float> %780, <64 x float> %777, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %782 = insertelement <8 x float> poison, float %591, i32 0
+  %783 = shufflevector <8 x float> %782, <8 x float> poison, <8 x i32> zeroinitializer
+  %784 = shufflevector <8 x float> %783, <8 x float> %783, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %785 = shufflevector <64 x float> %784, <64 x float> %781, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %786 = insertelement <8 x float> poison, float %536, i32 0
+  %787 = shufflevector <8 x float> %786, <8 x float> poison, <8 x i32> zeroinitializer
+  %788 = shufflevector <8 x float> %787, <8 x float> %787, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %789 = shufflevector <64 x float> %788, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %790 = insertelement <8 x float> poison, float %544, i32 0
+  %791 = shufflevector <8 x float> %790, <8 x float> poison, <8 x i32> zeroinitializer
+  %792 = shufflevector <8 x float> %791, <8 x float> %791, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %793 = shufflevector <64 x float> %792, <64 x float> %789, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %794 = insertelement <8 x float> poison, float %552, i32 0
+  %795 = shufflevector <8 x float> %794, <8 x float> poison, <8 x i32> zeroinitializer
+  %796 = shufflevector <8 x float> %795, <8 x float> %795, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %797 = shufflevector <64 x float> %796, <64 x float> %793, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %798 = insertelement <8 x float> poison, float %560, i32 0
+  %799 = shufflevector <8 x float> %798, <8 x float> poison, <8 x i32> zeroinitializer
+  %800 = shufflevector <8 x float> %799, <8 x float> %799, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %801 = shufflevector <64 x float> %800, <64 x float> %797, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %802 = insertelement <8 x float> poison, float %568, i32 0
+  %803 = shufflevector <8 x float> %802, <8 x float> poison, <8 x i32> zeroinitializer
+  %804 = shufflevector <8 x float> %803, <8 x float> %803, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %805 = shufflevector <64 x float> %804, <64 x float> %801, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %806 = insertelement <8 x float> poison, float %576, i32 0
+  %807 = shufflevector <8 x float> %806, <8 x float> poison, <8 x i32> zeroinitializer
+  %808 = shufflevector <8 x float> %807, <8 x float> %807, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %809 = shufflevector <64 x float> %808, <64 x float> %805, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %810 = insertelement <8 x float> poison, float %584, i32 0
+  %811 = shufflevector <8 x float> %810, <8 x float> poison, <8 x i32> zeroinitializer
+  %812 = shufflevector <8 x float> %811, <8 x float> %811, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %813 = shufflevector <64 x float> %812, <64 x float> %809, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %814 = insertelement <8 x float> poison, float %592, i32 0
+  %815 = shufflevector <8 x float> %814, <8 x float> poison, <8 x i32> zeroinitializer
+  %816 = shufflevector <8 x float> %815, <8 x float> %815, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %817 = shufflevector <64 x float> %816, <64 x float> %813, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %818 = insertelement <8 x float> poison, float %537, i32 0
+  %819 = shufflevector <8 x float> %818, <8 x float> poison, <8 x i32> zeroinitializer
+  %820 = shufflevector <8 x float> %819, <8 x float> %819, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %821 = shufflevector <64 x float> %820, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %822 = insertelement <8 x float> poison, float %545, i32 0
+  %823 = shufflevector <8 x float> %822, <8 x float> poison, <8 x i32> zeroinitializer
+  %824 = shufflevector <8 x float> %823, <8 x float> %823, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %825 = shufflevector <64 x float> %824, <64 x float> %821, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %826 = insertelement <8 x float> poison, float %553, i32 0
+  %827 = shufflevector <8 x float> %826, <8 x float> poison, <8 x i32> zeroinitializer
+  %828 = shufflevector <8 x float> %827, <8 x float> %827, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %829 = shufflevector <64 x float> %828, <64 x float> %825, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %830 = insertelement <8 x float> poison, float %561, i32 0
+  %831 = shufflevector <8 x float> %830, <8 x float> poison, <8 x i32> zeroinitializer
+  %832 = shufflevector <8 x float> %831, <8 x float> %831, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %833 = shufflevector <64 x float> %832, <64 x float> %829, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %834 = insertelement <8 x float> poison, float %569, i32 0
+  %835 = shufflevector <8 x float> %834, <8 x float> poison, <8 x i32> zeroinitializer
+  %836 = shufflevector <8 x float> %835, <8 x float> %835, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %837 = shufflevector <64 x float> %836, <64 x float> %833, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %838 = insertelement <8 x float> poison, float %577, i32 0
+  %839 = shufflevector <8 x float> %838, <8 x float> poison, <8 x i32> zeroinitializer
+  %840 = shufflevector <8 x float> %839, <8 x float> %839, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %841 = shufflevector <64 x float> %840, <64 x float> %837, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %842 = insertelement <8 x float> poison, float %585, i32 0
+  %843 = shufflevector <8 x float> %842, <8 x float> poison, <8 x i32> zeroinitializer
+  %844 = shufflevector <8 x float> %843, <8 x float> %843, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %845 = shufflevector <64 x float> %844, <64 x float> %841, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %846 = insertelement <8 x float> poison, float %593, i32 0
+  %847 = shufflevector <8 x float> %846, <8 x float> poison, <8 x i32> zeroinitializer
+  %848 = shufflevector <8 x float> %847, <8 x float> %847, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %849 = shufflevector <64 x float> %848, <64 x float> %845, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %850 = shufflevector <8 x float> %514, <8 x float> %514, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %851 = shufflevector <64 x float> %850, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %852 = shufflevector <8 x float> %514, <8 x float> %514, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %853 = shufflevector <64 x float> %852, <64 x float> %851, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %854 = shufflevector <8 x float> %514, <8 x float> %514, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %855 = shufflevector <64 x float> %854, <64 x float> %853, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %856 = shufflevector <8 x float> %514, <8 x float> %514, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %857 = shufflevector <64 x float> %856, <64 x float> %855, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %858 = shufflevector <8 x float> %514, <8 x float> %514, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %859 = shufflevector <64 x float> %858, <64 x float> %857, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %860 = shufflevector <8 x float> %514, <8 x float> %514, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %861 = shufflevector <64 x float> %860, <64 x float> %859, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %862 = shufflevector <8 x float> %514, <8 x float> %514, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %863 = shufflevector <64 x float> %862, <64 x float> %861, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %864 = shufflevector <8 x float> %514, <8 x float> %514, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %865 = shufflevector <64 x float> %864, <64 x float> %863, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %866 = shufflevector <8 x float> %515, <8 x float> %515, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %867 = shufflevector <64 x float> %866, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %868 = shufflevector <8 x float> %515, <8 x float> %515, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %869 = shufflevector <64 x float> %868, <64 x float> %867, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %870 = shufflevector <8 x float> %515, <8 x float> %515, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %871 = shufflevector <64 x float> %870, <64 x float> %869, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %872 = shufflevector <8 x float> %515, <8 x float> %515, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %873 = shufflevector <64 x float> %872, <64 x float> %871, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %874 = shufflevector <8 x float> %515, <8 x float> %515, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %875 = shufflevector <64 x float> %874, <64 x float> %873, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %876 = shufflevector <8 x float> %515, <8 x float> %515, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %877 = shufflevector <64 x float> %876, <64 x float> %875, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %878 = shufflevector <8 x float> %515, <8 x float> %515, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %879 = shufflevector <64 x float> %878, <64 x float> %877, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %880 = shufflevector <8 x float> %515, <8 x float> %515, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %881 = shufflevector <64 x float> %880, <64 x float> %879, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %882 = shufflevector <8 x float> %516, <8 x float> %516, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %883 = shufflevector <64 x float> %882, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %884 = shufflevector <8 x float> %516, <8 x float> %516, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %885 = shufflevector <64 x float> %884, <64 x float> %883, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %886 = shufflevector <8 x float> %516, <8 x float> %516, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %887 = shufflevector <64 x float> %886, <64 x float> %885, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %888 = shufflevector <8 x float> %516, <8 x float> %516, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %889 = shufflevector <64 x float> %888, <64 x float> %887, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %890 = shufflevector <8 x float> %516, <8 x float> %516, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %891 = shufflevector <64 x float> %890, <64 x float> %889, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %892 = shufflevector <8 x float> %516, <8 x float> %516, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %893 = shufflevector <64 x float> %892, <64 x float> %891, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %894 = shufflevector <8 x float> %516, <8 x float> %516, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %895 = shufflevector <64 x float> %894, <64 x float> %893, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %896 = shufflevector <8 x float> %516, <8 x float> %516, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %897 = shufflevector <64 x float> %896, <64 x float> %895, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %898 = shufflevector <8 x float> %517, <8 x float> %517, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %899 = shufflevector <64 x float> %898, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %900 = shufflevector <8 x float> %517, <8 x float> %517, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %901 = shufflevector <64 x float> %900, <64 x float> %899, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %902 = shufflevector <8 x float> %517, <8 x float> %517, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %903 = shufflevector <64 x float> %902, <64 x float> %901, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %904 = shufflevector <8 x float> %517, <8 x float> %517, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %905 = shufflevector <64 x float> %904, <64 x float> %903, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %906 = shufflevector <8 x float> %517, <8 x float> %517, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %907 = shufflevector <64 x float> %906, <64 x float> %905, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %908 = shufflevector <8 x float> %517, <8 x float> %517, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %909 = shufflevector <64 x float> %908, <64 x float> %907, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %910 = shufflevector <8 x float> %517, <8 x float> %517, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %911 = shufflevector <64 x float> %910, <64 x float> %909, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %912 = shufflevector <8 x float> %517, <8 x float> %517, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %913 = shufflevector <64 x float> %912, <64 x float> %911, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %914 = shufflevector <8 x float> %518, <8 x float> %518, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %915 = shufflevector <64 x float> %914, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %916 = shufflevector <8 x float> %518, <8 x float> %518, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %917 = shufflevector <64 x float> %916, <64 x float> %915, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %918 = shufflevector <8 x float> %518, <8 x float> %518, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %919 = shufflevector <64 x float> %918, <64 x float> %917, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %920 = shufflevector <8 x float> %518, <8 x float> %518, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %921 = shufflevector <64 x float> %920, <64 x float> %919, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %922 = shufflevector <8 x float> %518, <8 x float> %518, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %923 = shufflevector <64 x float> %922, <64 x float> %921, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %924 = shufflevector <8 x float> %518, <8 x float> %518, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %925 = shufflevector <64 x float> %924, <64 x float> %923, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %926 = shufflevector <8 x float> %518, <8 x float> %518, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %927 = shufflevector <64 x float> %926, <64 x float> %925, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %928 = shufflevector <8 x float> %518, <8 x float> %518, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %929 = shufflevector <64 x float> %928, <64 x float> %927, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %930 = shufflevector <8 x float> %519, <8 x float> %519, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %931 = shufflevector <64 x float> %930, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %932 = shufflevector <8 x float> %519, <8 x float> %519, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %933 = shufflevector <64 x float> %932, <64 x float> %931, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %934 = shufflevector <8 x float> %519, <8 x float> %519, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %935 = shufflevector <64 x float> %934, <64 x float> %933, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %936 = shufflevector <8 x float> %519, <8 x float> %519, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %937 = shufflevector <64 x float> %936, <64 x float> %935, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %938 = shufflevector <8 x float> %519, <8 x float> %519, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %939 = shufflevector <64 x float> %938, <64 x float> %937, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %940 = shufflevector <8 x float> %519, <8 x float> %519, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %941 = shufflevector <64 x float> %940, <64 x float> %939, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %942 = shufflevector <8 x float> %519, <8 x float> %519, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %943 = shufflevector <64 x float> %942, <64 x float> %941, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %944 = shufflevector <8 x float> %519, <8 x float> %519, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %945 = shufflevector <64 x float> %944, <64 x float> %943, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %946 = shufflevector <8 x float> %520, <8 x float> %520, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %947 = shufflevector <64 x float> %946, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %948 = shufflevector <8 x float> %520, <8 x float> %520, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %949 = shufflevector <64 x float> %948, <64 x float> %947, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %950 = shufflevector <8 x float> %520, <8 x float> %520, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %951 = shufflevector <64 x float> %950, <64 x float> %949, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %952 = shufflevector <8 x float> %520, <8 x float> %520, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %953 = shufflevector <64 x float> %952, <64 x float> %951, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %954 = shufflevector <8 x float> %520, <8 x float> %520, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %955 = shufflevector <64 x float> %954, <64 x float> %953, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %956 = shufflevector <8 x float> %520, <8 x float> %520, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %957 = shufflevector <64 x float> %956, <64 x float> %955, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %958 = shufflevector <8 x float> %520, <8 x float> %520, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %959 = shufflevector <64 x float> %958, <64 x float> %957, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %960 = shufflevector <8 x float> %520, <8 x float> %520, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %961 = shufflevector <64 x float> %960, <64 x float> %959, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %962 = shufflevector <8 x float> %521, <8 x float> %521, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %963 = shufflevector <64 x float> %962, <64 x float> poison, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %964 = shufflevector <8 x float> %521, <8 x float> %521, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %965 = shufflevector <64 x float> %964, <64 x float> %963, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %966 = shufflevector <8 x float> %521, <8 x float> %521, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %967 = shufflevector <64 x float> %966, <64 x float> %965, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %968 = shufflevector <8 x float> %521, <8 x float> %521, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %969 = shufflevector <64 x float> %968, <64 x float> %967, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %970 = shufflevector <8 x float> %521, <8 x float> %521, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %971 = shufflevector <64 x float> %970, <64 x float> %969, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %972 = shufflevector <8 x float> %521, <8 x float> %521, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %973 = shufflevector <64 x float> %972, <64 x float> %971, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %974 = shufflevector <8 x float> %521, <8 x float> %521, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %975 = shufflevector <64 x float> %974, <64 x float> %973, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 127>
+  %976 = shufflevector <8 x float> %521, <8 x float> %521, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0>
+  %977 = shufflevector <64 x float> %976, <64 x float> %975, <64 x i32> <i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %978 = call <64 x float> @llvm.fma.v64f32(<64 x float> %849, <64 x float> %977, <64 x float> zeroinitializer)
+  %979 = call <64 x float> @llvm.fma.v64f32(<64 x float> %817, <64 x float> %961, <64 x float> %978)
+  %980 = call <64 x float> @llvm.fma.v64f32(<64 x float> %785, <64 x float> %945, <64 x float> %979)
+  %981 = call <64 x float> @llvm.fma.v64f32(<64 x float> %753, <64 x float> %929, <64 x float> %980)
+  %982 = call <64 x float> @llvm.fma.v64f32(<64 x float> %721, <64 x float> %913, <64 x float> %981)
+  %983 = call <64 x float> @llvm.fma.v64f32(<64 x float> %689, <64 x float> %897, <64 x float> %982)
+  %984 = call <64 x float> @llvm.fma.v64f32(<64 x float> %657, <64 x float> %881, <64 x float> %983)
+  %985 = call <64 x float> @llvm.fma.v64f32(<64 x float> %625, <64 x float> %865, <64 x float> %984)
+  %986 = shufflevector <64 x float> %985, <64 x float> %985, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+  %987 = shufflevector <64 x float> %985, <64 x float> %985, <8 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15>
+  %988 = shufflevector <64 x float> %985, <64 x float> %985, <8 x i32> <i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
+  %989 = shufflevector <64 x float> %985, <64 x float> %985, <8 x i32> <i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31>
+  %990 = shufflevector <64 x float> %985, <64 x float> %985, <8 x i32> <i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39>
+  %991 = shufflevector <64 x float> %985, <64 x float> %985, <8 x i32> <i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47>
+  %992 = shufflevector <64 x float> %985, <64 x float> %985, <8 x i32> <i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55>
+  %993 = shufflevector <64 x float> %985, <64 x float> %985, <8 x i32> <i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63>
+  br label %994
+
+994:                                              ; preds = %997, %41
+  %995 = phi i32 [ %1006, %997 ], [ 0, %41 ]
+  %996 = icmp slt i32 %995, 8
+  br i1 %996, label %997, label %1007
+
+997:                                              ; preds = %994
+  %998 = zext i32 %995 to i64
+  %999 = extractelement <8 x float> %986, i64 %998
+  %1000 = add nuw nsw i64 0, %998
+  %1001 = add nuw nsw i64 %1000, 0
+  %1002 = add nuw nsw i64 %1001, 0
+  %1003 = add nuw nsw i64 %1002, 0
+  %1004 = add nuw nsw i64 %1003, 0
+  %1005 = getelementptr inbounds nuw float, ptr addrspace(1) %1, i64 %1004
+  store float %999, ptr addrspace(1) %1005, align 4
+  %1006 = add i32 %995, 1
+  br label %994
+
+1007:                                             ; preds = %1010, %994
+  %1008 = phi i32 [ %1019, %1010 ], [ 0, %994 ]
+  %1009 = icmp slt i32 %1008, 8
+  br i1 %1009, label %1010, label %1020
+
+1010:                                             ; preds = %1007
+  %1011 = zext i32 %1008 to i64
+  %1012 = extractelement <8 x float> %987, i64 %1011
+  %1013 = add nuw nsw i64 8, %1011
+  %1014 = add nuw nsw i64 %1013, 0
+  %1015 = add nuw nsw i64 %1014, 0
+  %1016 = add nuw nsw i64 %1015, 0
+  %1017 = add nuw nsw i64 %1016, 0
+  %1018 = getelementptr inbounds nuw float, ptr addrspace(1) %1, i64 %1017
+  store float %1012, ptr addrspace(1) %1018, align 4
+  %1019 = add i32 %1008, 1
+  br label %1007
+
+1020:                                             ; preds = %1023, %1007
+  %1021 = phi i32 [ %1032, %1023 ], [ 0, %1007 ]
+  %1022 = icmp slt i32 %1021, 8
+  br i1 %1022, label %1023, label %1033
+
+1023:                                             ; preds = %1020
+  %1024 = zext i32 %1021 to i64
+  %1025 = extractelement <8 x float> %988, i64 %1024
+  %1026 = add nuw nsw i64 16, %1024
+  %1027 = add nuw nsw i64 %1026, 0
+  %1028 = add nuw nsw i64 %1027, 0
+  %1029 = add nuw nsw i64 %1028, 0
+  %1030 = add nuw nsw i64 %1029, 0
+  %1031 = getelementptr inbounds nuw float, ptr addrspace(1) %1, i64 %1030
+  store float %1025, ptr addrspace(1) %1031, align 4
+  %1032 = add i32 %1021, 1
+  br label %1020
+
+1033:                                             ; preds = %1036, %1020
+  %1034 = phi i32 [ %1045, %1036 ], [ 0, %1020 ]
+  %1035 = icmp slt i32 %1034, 8
+  br i1 %1035, label %1036, label %1046
+
+1036:                                             ; preds = %1033
+  %1037 = zext i32 %1034 to i64
+  %1038 = extractelement <8 x float> %989, i64 %1037
+  %1039 = add nuw nsw i64 24, %1037
+  %1040 = add nuw nsw i64 %1039, 0
+  %1041 = add nuw nsw i64 %1040, 0
+  %1042 = add nuw nsw i64 %1041, 0
+  %1043 = add nuw nsw i64 %1042, 0
+  %1044 = getelementptr inbounds nuw float, ptr addrspace(1) %1, i64 %1043
+  store float %1038, ptr addrspace(1) %1044, align 4
+  %1045 = add i32 %1034, 1
+  br label %1033
+
+1046:                                             ; preds = %1049, %1033
+  %1047 = phi i32 [ %1058, %1049 ], [ 0, %1033 ]
+  %1048 = icmp slt i32 %1047, 8
+  br i1 %1048, label %1049, label %1059
+
+1049:                                             ; preds = %1046
+  %1050 = zext i32 %1047 to i64
+  %1051 = extractelement <8 x float> %990, i64 %1050
+  %1052 = add nuw nsw i64 32, %1050
+  %1053 = add nuw nsw i64 %1052, 0
+  %1054 = add nuw nsw i64 %1053, 0
+  %1055 = add nuw nsw i64 %1054, 0
+  %1056 = add nuw nsw i64 %1055, 0
+  %1057 = getelementptr inbounds nuw float, ptr addrspace(1) %1, i64 %1056
+  store float %1051, ptr addrspace(1) %1057, align 4
+  %1058 = add i32 %1047, 1
+  br label %1046
+
+1059:                                             ; preds = %1062, %1046
+  %1060 = phi i32 [ %1071, %1062 ], [ 0, %1046 ]
+  %1061 = icmp slt i32 %1060, 8
+  br i1 %1061, label %1062, label %1072
+
+1062:                                             ; preds = %1059
+  %1063 = zext i32 %1060 to i64
+  %1064 = extractelement <8 x float> %991, i64 %1063
+  %1065 = add nuw nsw i64 40, %1063
+  %1066 = add nuw nsw i64 %1065, 0
+  %1067 = add nuw nsw i64 %1066, 0
+  %1068 = add nuw nsw i64 %1067, 0
+  %1069 = add nuw nsw i64 %1068, 0
+  %1070 = getelementptr inbounds nuw float, ptr addrspace(1) %1, i64 %1069
+  store float %1064, ptr addrspace(1) %1070, align 4
+  %1071 = add i32 %1060, 1
+  br label %1059
+
+1072:                                             ; preds = %1075, %1059
+  %1073 = phi i32 [ %1084, %1075 ], [ 0, %1059 ]
+  %1074 = icmp slt i32 %1073, 8
+  br i1 %1074, label %1075, label %1085
+
+1075:                                             ; preds = %1072
+  %1076 = zext i32 %1073 to i64
+  %1077 = extractelement <8 x float> %992, i64 %1076
+  %1078 = add nuw nsw i64 48, %1076
+  %1079 = add nuw nsw i64 %1078, 0
+  %1080 = add nuw nsw i64 %1079, 0
+  %1081 = add nuw nsw i64 %1080, 0
+  %1082 = add nuw nsw i64 %1081, 0
+  %1083 = getelementptr inbounds nuw float, ptr addrspace(1) %1, i64 %1082
+  store float %1077, ptr addrspace(1) %1083, align 4
+  %1084 = add i32 %1073, 1
+  br label %1072
+
+1085:                                             ; preds = %1088, %1072
+  %1086 = phi i32 [ %1097, %1088 ], [ 0, %1072 ]
+  %1087 = icmp slt i32 %1086, 8
+  br i1 %1087, label %1088, label %1098
+
+1088:                                             ; preds = %1085
+  %1089 = zext i32 %1086 to i64
+  %1090 = extractelement <8 x float> %993, i64 %1089
+  %1091 = add nuw nsw i64 56, %1089
+  %1092 = add nuw nsw i64 %1091, 0
+  %1093 = add nuw nsw i64 %1092, 0
+  %1094 = add nuw nsw i64 %1093, 0
+  %1095 = add nuw nsw i64 %1094, 0
+  %1096 = getelementptr inbounds nuw float, ptr addrspace(1) %1, i64 %1095
+  store float %1090, ptr addrspace(1) %1096, align 4
+  %1097 = add i32 %1086, 1
+  br label %1085
+
+1098:                                             ; preds = %1085
+  ret void
+}
+
+; Function Attrs: alwaysinline nocallback nofree nosync nounwind willreturn memory(inaccessiblemem: write)
+declare void @llvm.assume(i1 noundef) #1
+
+; Function Attrs: alwaysinline convergent nocallback nofree nounwind willreturn
+declare void @llvm.amdgcn.s.barrier.signal(i32 immarg) #2
+
+; Function Attrs: alwaysinline convergent nocallback nofree nounwind willreturn
+declare void @llvm.amdgcn.s.barrier.wait(i16 immarg) #2
+
+; Function Attrs: alwaysinline nocallback nocreateundeforpoison nofree nosync nounwind speculatable willreturn memory(none)
+declare <64 x float> @llvm.fma.v64f32(<64 x float>, <64 x float>, <64 x float>) #3
+
+attributes #0 = { alwaysinline }
+attributes #1 = { alwaysinline nocallback nofree nosync nounwind willreturn memory(inaccessiblemem: write) }
+attributes #2 = { alwaysinline convergent nocallback nofree nounwind willreturn }
+attributes #3 = { alwaysinline nocallback nocreateundeforpoison nofree nosync nounwind speculatable willreturn memory(none) }
+
+!llvm.module.flags = !{!0, !1}
+!spirv.ExecutionMode = !{!4}
+
+!0 = !{i32 2, !"Debug Info Version", i32 3}
+!1 = !{i32 1, !"amdhsa_code_object_version", i32 500}
+!2 = !{!"amdgpu-synchronize-as", !"local"}
+!4 = !{ptr addrspace(4) @_winograd_input_nchw_dispatch_0_winograd_input_transform_8x8x1x1x1x1xf32_dispatch_tensor_store, i32 5157}
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/vector-arithmetic.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/vector-arithmetic.ll
new file mode 100644
index 0000000000000..7343f996f3cad
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/vector-arithmetic.ll
@@ -0,0 +1,129 @@
+; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector %s -o - | FileCheck %s
+; spirv-val seems to have problems reading OpTypeVectorIdEXT correctly, enable once fixed
+; TODO: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector %s -o - -filetype=obj | spirv-val %}
+
+; CHECK-DAG: OpName %[[#main:]] "main"
+; CHECK-DAG: %[[#float:]] = OpTypeFloat 32
+; CHECK-DAG: %[[#v17f32:]] = OpTypeVectorIdEXT %[[#float]] 17
+; CHECK-DAG: %[[#int:]] = OpTypeInt 32 0
+; CHECK-DAG: %[[#c17:]] = OpConstant %[[#int]] 17
+; CHECK-DAG: %[[#v17i32:]] = OpTypeVectorIdEXT %[[#int]] 17
+; CHECK-DAG: %[[#ptr_v17i32:]] = OpTypePointer CrossWorkgroup %[[#v17i32]]
+
+ at f1 = internal addrspace(1) global [4 x [17 x float] ] zeroinitializer
+ at f2 = internal addrspace(1) global [4 x [17 x float] ] zeroinitializer
+ at i1 = internal addrspace(1) global [4 x [17 x i32] ] zeroinitializer
+ at i2 = internal addrspace(1) global [4 x [17 x i32] ] zeroinitializer
+
+define void @main() local_unnamed_addr {
+; CHECK: %[[#main]] = OpFunction
+entry:
+  %2 = getelementptr [4 x [17 x float] ], ptr addrspace(1) @f1, i32 0, i32 0
+  %3 = load <17 x float>, ptr addrspace(1) %2, align 4
+  %4 = getelementptr [4 x [17 x float] ], ptr addrspace(1) @f1, i32 0, i32 1
+  %5 = load <17 x float>, ptr addrspace(1) %4, align 4
+  %6 = getelementptr [4 x [17 x float] ], ptr addrspace(1) @f1, i32 0, i32 2
+  %7 = load <17 x float>, ptr addrspace(1) %6, align 4
+  %8 = getelementptr [4 x [17 x float] ], ptr addrspace(1) @f1, i32 0, i32 3
+  %9 = load <17 x float>, ptr addrspace(1) %8, align 4
+
+  ; CHECK: %[[#Mul:]] = OpFMul %[[#v17f32]]
+  %10 = fmul reassoc nnan ninf nsz arcp afn <17 x float> %3, splat (float 3.000000e+00)
+
+  ; CHECK: %[[#Add:]] = OpFAdd %[[#v17f32]] %[[#Mul]]
+  %11 = fadd reassoc nnan ninf nsz arcp afn <17 x float> %10, %5
+
+  ; CHECK: %[[#Sub:]] = OpFSub %[[#v17f32]] %[[#Add]]
+  %13 = fsub reassoc nnan ninf nsz arcp afn <17 x float> %11, %9
+
+  ; CHECK: OpStore %[[#]] %[[#Sub]]
+
+  %14 = getelementptr [4 x [17 x float] ], ptr addrspace(1) @f2, i32 0, i32 0
+  store <17 x float> %13, ptr addrspace(1) %14, align 4
+  ret void
+}
+
+; Test integer vector arithmetic operations
+define void @test_int_vector_arithmetic() local_unnamed_addr #0 {
+; CHECK: OpFunction
+entry:
+  %2 = getelementptr [4 x [17 x i32] ], ptr addrspace(1) @i1, i32 0, i32 0
+  %3 = load <17 x i32>, ptr addrspace(1) %2, align 4
+  %4 = getelementptr [4 x [17 x i32] ], ptr addrspace(1) @i1, i32 0, i32 1
+  %5 = load <17 x i32>, ptr addrspace(1) %4, align 4
+
+  ; CHECK: %[[#Add1:]] = OpIAdd %[[#v17i32]]
+  %6 = add <17 x i32> %3, %5
+
+  ; CHECK: %[[#Sub1:]] = OpISub %[[#v17i32]] %[[#Add1]]
+  %7 = sub <17 x i32> %6, %5
+
+  ; CHECK: %[[#Mul1:]] = OpIMul %[[#v17i32]] %[[#Sub1]]
+  %8 = mul <17 x i32> %7, splat (i32 2)
+
+  ; CHECK: %[[#SDiv1:]] = OpSDiv %[[#v17i32]] %[[#Mul1]]
+  %9 = sdiv <17 x i32> %8, splat (i32 2)
+
+  ; CHECK: %[[#UDiv1:]] = OpUDiv %[[#v17i32]] %[[#SDiv1]]
+  %10 = udiv <17 x i32> %9, splat (i32 1)
+
+  ; CHECK: %[[#SRem1:]] = OpSRem %[[#v17i32]] %[[#UDiv1]]
+  %11 = srem <17 x i32> %10, splat (i32 3)
+
+  ; CHECK: %[[#UMod1:]] = OpUMod %[[#v17i32]] %[[#SRem1]]
+  %12 = urem <17 x i32> %11, splat (i32 3)
+
+  ; CHECK: OpStore {{.*}} %[[#UMod1]]
+
+  %13 = getelementptr [4 x [17 x i32] ], ptr addrspace(1) @i2, i32 0, i32 0
+  store <17 x i32> %12, ptr addrspace(1) %13, align 4
+  ret void
+}
+
+; Test remaining float vector arithmetic operations
+define void @test_float_vector_arithmetic_continued() local_unnamed_addr #0 {
+; CHECK: OpFunction
+entry:
+  %2 = getelementptr [4 x [17 x float] ], ptr addrspace(1) @f1, i32 0, i32 0
+  %3 = load <17 x float>, ptr addrspace(1) %2, align 4
+  %4 = getelementptr [4 x [17 x float] ], ptr addrspace(1) @f1, i32 0, i32 1
+  %5 = load <17 x float>, ptr addrspace(1) %4, align 4
+
+  ; CHECK: %[[#FDiv1:]] = OpFDiv %[[#v17f32]]
+  %6 = fdiv reassoc nnan ninf nsz arcp afn <17 x float> %3, splat (float 2.000000e+00)
+
+  ; CHECK: %[[#FRem1:]] = OpFRem %[[#v17f32]] %[[#FDiv1]]
+    %7 = frem reassoc nnan ninf nsz arcp afn <17 x float> %6, splat (float 3.000000e+00)
+
+  ; CHECK: %[[#Fma1:]] = OpExtInst %[[#v17f32]] {{.*}} fma {{.*}} %[[#FDiv1]] %[[#FRem1]]
+  %8 = call reassoc nnan ninf nsz arcp afn <17 x float> @llvm.fma.v16f32(<17 x float> %5, <17 x float> %6, <17 x float> %7)
+
+  ; CHECK: OpStore {{.*}} %[[#Fma1]]
+
+  %9 = getelementptr [4 x [17 x float] ], ptr addrspace(1) @f2, i32 0, i32 0
+  store <17 x float> %8, ptr addrspace(1) %9, align 4
+  ret void
+}
+
+; Test constrained fma vector arithmetic operations
+define void @test_constrained_fma_vector() local_unnamed_addr #0 {
+; CHECK: OpFunction
+entry:
+  %2 = getelementptr [4 x [17 x float] ], ptr addrspace(1) @f1, i32 0, i32 0
+  %3 = load <17 x float>, ptr addrspace(1) %2, align 4
+  %4 = getelementptr [4 x [17 x float] ], ptr addrspace(1) @f1, i32 0, i32 1
+  %5 = load <17 x float>, ptr addrspace(1) %4, align 4
+  %6 = getelementptr [4 x [17 x float] ], ptr addrspace(1) @f1, i32 0, i32 2
+  %7 = load <17 x float>, ptr addrspace(1) %6, align 4
+
+  ; CHECK: %[[#Fma2:]] = OpExtInst %[[#v17f32]] {{.*}} fma
+  %8 = call <17 x float> @llvm.experimental.constrained.fma.v16f32(<17 x float> %3, <17 x float> %5, <17 x float> %7, metadata !"round.dynamic", metadata !"fpexcept.strict")
+
+  ; CHECK: OpStore {{.*}} %[[#Fma2]]
+
+  %9 = getelementptr [4 x [17 x float] ], ptr addrspace(1) @f2, i32 0, i32 0
+  store <17 x float> %8, ptr addrspace(1) %9, align 4
+  ret void
+}
+
+declare <17 x float> @llvm.experimental.constrained.fma.v16f32(<17 x float>, <17 x float>, <17 x float>, metadata, metadata)
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/vector-index-scalarization.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/vector-index-scalarization.ll
new file mode 100644
index 0000000000000..2c12bd21e7bda
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/vector-index-scalarization.ll
@@ -0,0 +1,89 @@
+; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector %s -o - | FileCheck %s
+; spirv-val seems to have problems reading OpTypeVectorIdEXT correctly, enable once fixed
+; TODO: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector %s -o - -filetype=obj | spirv-val %}
+
+; CHECK-DAG: OpName %[[#idx:]] "idx"
+; CHECK-DAG: OpName %[[#idx2:]] "idx2"
+; CHECK-DAG: OpName %[[#val:]] "val"
+
+; CHECK-DAG: %[[#int:]] = OpTypeInt 32 0
+; CHECK-DAG: %[[#long:]] = OpTypeInt 64 0
+; CHECK-DAG: %[[#vec17:]] = OpTypeVectorIdEXT %[[#int]] 17
+; CHECK-DAG: %[[#ptr_vec17:]] = OpTypePointer Function %[[#vec17]]
+; CHECK-DAG: %[[#undef:]] = OpUndef %[[#vec17]]
+; CHECK-DAG: %[[#null:]] = OpConstantNull %[[#vec17]]
+
+; CHECK-DAG: %[[#out:]] = OpVariable %[[#ptr_p_int:]] CrossWorkgroup
+
+ at out = internal addrspace(1) global i32 0
+ at idx = internal addrspace(1) global i32 0
+ at idx2 = internal addrspace(1) global i32 0
+ at val = internal addrspace(1) global i32 0
+
+; CHECK: %[[#test_full:]] = OpFunction %[[#]] None %[[#]]
+define void @test_full() {
+  ; CHECK-DAG:  %[[#i0:]] = OpLoad %[[#int]] %[[#idx]]
+  ; CHECK-DAG:  %[[#i1:]] = OpLoad %[[#int]] %[[#idx2]]
+  ; CHECK-DAG:  %[[#val_val:]] = OpLoad %[[#int]] %[[#val]]
+  ; CHECK-DAG:  %[[#idx64:]] = OpUConvert %[[#long]] %[[#i0]]
+  ; CHECK-DAG:  %[[#idx2_64:]] = OpUConvert %[[#long]] %[[#i1]]
+
+  %idx = load i32, ptr addrspace(1) @idx
+  %idx2 = load i32, ptr addrspace(1) @idx2
+  %val = load i32, ptr addrspace(1) @val
+
+  ; CHECK-DAG:  %[[#ptr:]] = OpVariable %[[#ptr_vec17]] Function
+  ; CHECK-DAG:  %[[#loaded:]] = OpLoad %[[#vec17]] %[[#ptr]]
+  %ptr = alloca <17 x i32>
+  %loaded = load <17 x i32>, ptr %ptr
+  %idx64 = zext i32 %idx to i64
+  %idx2_64 = zext i32 %idx2 to i64
+
+  ; Insertelement with dynamic index spills to stack
+  ; CHECK: %[[#inserted:]] = OpVectorInsertDynamic %[[#vec17]] %[[#loaded]] %[[#val_val]] %[[#idx64]]
+  %inserted = insertelement <17 x i32> %loaded, i32 %val, i64 %idx64
+
+  ; Extractelement with dynamic index spills to stack
+  ; CHECK: %[[#extracted:]] = OpVectorExtractDynamic %[[#int]] %[[#inserted]] %[[#idx2_64]]
+  %extracted = extractelement <17 x i32> %inserted, i64 %idx2_64
+
+  ; CHECK: OpStore %[[#out]] %[[#extracted]]
+  store i32 %extracted, ptr addrspace(1) @out
+  ret void
+}
+
+; CHECK: %[[#test_undef:]] = OpFunction %[[#]] None %[[#]]
+define void @test_undef() {
+  ; CHECK:      %[[#label:]] = OpLabel
+  ; CHECK-DAG:  %[[#idx_val:]] = OpLoad %[[#int]] %[[#idx]]
+  ; CHECK-DAG:  %[[#val_val:]] = OpLoad %[[#int]] %[[#val]]
+  ; CHECK:      %[[#idx64:]] = OpUConvert %[[#long]] %[[#idx_val]]
+  ; CHECK:      %[[#inserted1:]] = OpVectorInsertDynamic %[[#vec17]] %[[#undef]] %[[#val_val]] %[[#idx64]]
+  ; CHECK:      %[[#extracted1:]] = OpCompositeExtract %[[#int]] %[[#inserted1]]
+  ; CHECK:      OpStore %[[#out]] %[[#extracted1]]
+  %idx = load i32, ptr addrspace(1) @idx
+  %val = load i32, ptr addrspace(1) @val
+  %idx64 = zext i32 %idx to i64
+  %inserted = insertelement <17 x i32> poison, i32 %val, i64 %idx64
+  %extracted = extractelement <17 x i32> %inserted, i64 0
+  store i32 %extracted, ptr addrspace(1) @out
+  ret void
+}
+
+; CHECK: %[[#test_zero:]] = OpFunction %[[#]] None %[[#]]
+define void @test_zero() {
+  ; CHECK:      %[[#label:]] = OpLabel
+  ; CHECK-DAG:  %[[#idx_val:]] = OpLoad %[[#int]] %[[#idx]]
+  ; CHECK-DAG:  %[[#val_val:]] = OpLoad %[[#int]] %[[#val]]
+  ; CHECK:      %[[#idx64:]] = OpUConvert %[[#long]] %[[#idx_val]]
+  ; CHECK:      %[[#inserted2:]] = OpVectorInsertDynamic %[[#vec17]] %[[#null]] %[[#val_val]] %[[#idx64]]
+  ; CHECK:      %[[#extracted2:]] = OpCompositeExtract %[[#int]] %[[#inserted2]]
+  ; CHECK:      OpStore %[[#out]] %[[#extracted2]]
+  %idx = load i32, ptr addrspace(1) @idx
+  %val = load i32, ptr addrspace(1) @val
+  %idx64 = zext i32 %idx to i64
+  %inserted = insertelement <17 x i32> zeroinitializer, i32 %val, i64 %idx64
+  %extracted = extractelement <17 x i32> %inserted, i64 0
+  store i32 %extracted, ptr addrspace(1) @out
+  ret void
+}
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/vector-legalization-kernel.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/vector-legalization-kernel.ll
new file mode 100644
index 0000000000000..fc31e8c9e77c8
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/vector-legalization-kernel.ll
@@ -0,0 +1,27 @@
+; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector %s -o - | FileCheck %s
+; spirv-val seems to have problems reading OpTypeVectorIdEXT correctly, enable once fixed
+; TODO: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector %s -o - -filetype=obj | spirv-val %}
+
+; CHECK-DAG: OpName %[[#test_int32_double_conversion:]] "test_int32_double_conversion"
+; CHECK-DAG: %[[#int:]] = OpTypeInt 32 0
+; CHECK-DAG: %[[#v18i32:]] = OpTypeVectorIdEXT %[[#int]] 18
+; CHECK-DAG: %[[#v9i32:]] = OpTypeVector %[[#int]] 9
+; CHECK-DAG: %[[#ptr_func_v18i32:]] = OpTypePointer Function %[[#v18i32]]
+
+define spir_kernel void @test_int32_double_conversion(ptr %G_vec) {
+; CHECK: %[[#test_int32_double_conversion]] = OpFunction
+; CHECK: %[[#param:]] = OpFunctionParameter %[[#ptr_func_v18i32]]
+entry:
+  ; CHECK: %[[#LOAD:]] = OpLoad %[[#v18i32]] %[[#param]]
+  ; CHECK: %[[#SHUF1:]] = OpVectorShuffle %[[#v9i32]] %[[#LOAD]] %{{[a-zA-Z0-9_]+}} 0 2 4 6 8 10 12 14 16
+  ; CHECK: %[[#SHUF2:]] = OpVectorShuffle %[[#v9i32]] %[[#LOAD]] %{{[a-zA-Z0-9_]+}} 1 3 5 7 9 11 13 15 17
+  ; CHECK: %[[#SHUF3:]] = OpVectorShuffle %[[#v18i32]] %[[#SHUF1]] %[[#SHUF2]] 0 9 1 10 2 11 3 12 4 13 5 14 6 15 7 16 8 17
+  ; CHECK: OpStore %[[#param]] %[[#SHUF3]]
+
+  %0 = load <18 x i32>, ptr %G_vec
+  %1 = shufflevector <18 x i32> %0, <18 x i32> poison, <9 x i32> <i32 0, i32 2, i32 4, i32 6, i32 8, i32 10, i32 12, i32 14, i32 16>
+  %2 = shufflevector <18 x i32> %0, <18 x i32> poison, <9 x i32> <i32 1, i32 3, i32 5, i32 7, i32 9, i32 11, i32 13, i32 15, i32 17>
+  %3 = shufflevector <9 x i32> %1, <9 x i32> %2, <18 x i32> <i32 0, i32 9, i32 1, i32 10, i32 2, i32 11, i32 3, i32 12, i32 4, i32 13, i32 5, i32 14, i32 6, i32 15, i32 7, i32 16, i32 8, i32 17>
+  store <18 x i32> %3, ptr %G_vec
+  ret void
+}
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/vector-of-pointers-gep.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/vector-of-pointers-gep.ll
new file mode 100644
index 0000000000000..e9dd67c0b40cc
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/vector-of-pointers-gep.ll
@@ -0,0 +1,259 @@
+; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector,+SPV_INTEL_masked_gather_scatter %s -o - | FileCheck %s
+; spirv-val seems to have problems reading OpTypeVectorIdEXT correctly, enable once fixed
+; TODO: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector,+SPV_INTEL_masked_gather_scatter %s -o - -filetype=obj | spirv-val %}
+
+; CHECK-DAG: %[[#I32:]] = OpTypeInt 32 0
+; CHECK-DAG: %[[#PTR:]] = OpTypePointer CrossWorkgroup %[[#I32]]
+; CHECK-DAG: %[[#I64:]] = OpTypeInt 64 0
+; CHECK-DAG: %[[#ZERO:]] = OpConstantNull %[[#I64]]
+; CHECK-DAG: %[[#ONE:]] = OpConstant %[[#I64]] 1
+; CHECK-DAG: %[[#TWO:]] = OpConstant %[[#I64]] 2
+; CHECK-DAG: %[[#THREE:]] = OpConstant %[[#I64]] 3
+; CHECK-DAG: %[[#FOUR:]] = OpConstant %[[#I64]] 4
+; CHECK-DAG: %[[#FIVE:]] = OpConstant %[[#I64]] 5
+; CHECK-DAG: %[[#SIX:]] = OpConstant %[[#I64]] 6
+; CHECK-DAG: %[[#SEVEN:]] = OpConstant %[[#I64]] 7
+; CHECK-DAG: %[[#EIGHT:]] = OpConstant %[[#I64]] 8
+; CHECK-DAG: %[[#NINE:]] = OpConstant %[[#I64]] 9
+; CHECK-DAG: %[[#TEN:]] = OpConstant %[[#I64]] 10
+; CHECK-DAG: %[[#ELEVEN:]] = OpConstant %[[#I64]] 11
+; CHECK-DAG: %[[#TWELVE:]] = OpConstant %[[#I64]] 12
+; CHECK-DAG: %[[#THIRTEEN:]] = OpConstant %[[#I64]] 13
+; CHECK-DAG: %[[#FOURTEEN:]] = OpConstant %[[#I64]] 14
+; CHECK-DAG: %[[#FIFTEEN:]] = OpConstant %[[#I64]] 15
+; CHECK-DAG: %[[#SIXTEEN:]] = OpConstant %[[#I64]] 16
+; CHECK-DAG: %[[#VPTR17:]] = OpTypeVectorIdEXT %[[#PTR]] 17
+; CHECK-DAG: %[[#VPTR1:]] = OpTypeVectorIdEXT %[[#PTR]] 1
+; CHECK-DAG: %[[#VI64_17:]] = OpTypeVectorIdEXT %[[#I64]] 17
+; CHECK-DAG: %[[#UNDEF1:]] = OpUndef %[[#VPTR1]]
+; CHECK-DAG: %[[#UNDEF17:]] = OpUndef %[[#VPTR17]]
+; CHECK-DAG: %[[#NULL17:]] = OpConstantNull %[[#VI64_17]]
+
+; CHECK:      OpFunction
+; CHECK-NEXT: %[[#P1:]] = OpFunctionParameter %[[#PTR]]
+; CHECK-NEXT: %[[#OUT1:]] = OpFunctionParameter %[[#PTR]]
+; CHECK-NEXT: OpLabel
+; CHECK-NEXT: %[[#GEP1:]] = OpPtrAccessChain %[[#PTR]] %[[#P1]] %[[#FIVE]]
+; CHECK-NEXT: %[[#INSERT:]] = OpCompositeInsert %[[#VPTR1]] %[[#GEP1]] %[[#UNDEF1]] 0
+; CHECK-NEXT: %[[#EXTRACT:]] = OpCompositeExtract %[[#PTR]] %[[#INSERT]] 0
+; CHECK-NEXT: %[[#VAL1:]] = OpLoad %[[#I32]] %[[#EXTRACT]]
+; CHECK-NEXT: OpStore %[[#OUT1]] %[[#VAL1]]
+; CHECK-NEXT: OpReturn
+; CHECK-NEXT: OpFunctionEnd
+define spir_kernel void @test_vector_gep_v1(ptr addrspace(1) %p, ptr addrspace(1) %out) {
+  %gep = getelementptr i32, ptr addrspace(1) %p, <1 x i64> <i64 5>
+  %elem = extractelement <1 x ptr addrspace(1)> %gep, i32 0
+  %val = load i32, ptr addrspace(1) %elem
+  store i32 %val, ptr addrspace(1) %out
+  ret void
+}
+
+; CHECK:      OpFunction
+; CHECK-NEXT: %[[#P2:]] = OpFunctionParameter %[[#PTR]]
+; CHECK-NEXT: %[[#OUT2:]] = OpFunctionParameter %[[#PTR]]
+; CHECK-NEXT: OpLabel
+; CHECK-NEXT: %[[#IDX0:]] = OpCompositeExtract %[[#I64]] %[[#NULL17]] 0
+; CHECK-NEXT: %[[#GEP0:]] = OpPtrAccessChain %[[#PTR]] %[[#P2]] %[[#IDX0]]
+; CHECK-NEXT: %[[#TMP0:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP0]] %[[#UNDEF17]] 0
+; CHECK-NEXT: %[[#IDX1:]] = OpCompositeExtract %[[#I64]] %[[#NULL17]] 1
+; CHECK-NEXT: %[[#GEP1:]] = OpPtrAccessChain %[[#PTR]] %[[#P2]] %[[#IDX1]]
+; CHECK-NEXT: %[[#TMP1:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP1]] %[[#TMP0]] 1
+; CHECK-NEXT: %[[#IDX2:]] = OpCompositeExtract %[[#I64]] %[[#NULL17]] 2
+; CHECK-NEXT: %[[#GEP2:]] = OpPtrAccessChain %[[#PTR]] %[[#P2]] %[[#IDX2]]
+; CHECK-NEXT: %[[#TMP2:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP2]] %[[#TMP1]] 2
+; CHECK-NEXT: %[[#IDX3:]] = OpCompositeExtract %[[#I64]] %[[#NULL17]] 3
+; CHECK-NEXT: %[[#GEP3:]] = OpPtrAccessChain %[[#PTR]] %[[#P2]] %[[#IDX3]]
+; CHECK-NEXT: %[[#TMP3:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP3]] %[[#TMP2]] 3
+; CHECK-NEXT: %[[#IDX4:]] = OpCompositeExtract %[[#I64]] %[[#NULL17]] 4
+; CHECK-NEXT: %[[#GEP4:]] = OpPtrAccessChain %[[#PTR]] %[[#P2]] %[[#IDX4]]
+; CHECK-NEXT: %[[#TMP4:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP4]] %[[#TMP3]] 4
+; CHECK-NEXT: %[[#IDX5:]] = OpCompositeExtract %[[#I64]] %[[#NULL17]] 5
+; CHECK-NEXT: %[[#GEP5:]] = OpPtrAccessChain %[[#PTR]] %[[#P2]] %[[#IDX5]]
+; CHECK-NEXT: %[[#TMP5:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP5]] %[[#TMP4]] 5
+; CHECK-NEXT: %[[#IDX6:]] = OpCompositeExtract %[[#I64]] %[[#NULL17]] 6
+; CHECK-NEXT: %[[#GEP6:]] = OpPtrAccessChain %[[#PTR]] %[[#P2]] %[[#IDX6]]
+; CHECK-NEXT: %[[#TMP6:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP6]] %[[#TMP5]] 6
+; CHECK-NEXT: %[[#IDX7:]] = OpCompositeExtract %[[#I64]] %[[#NULL17]] 7
+; CHECK-NEXT: %[[#GEP7:]] = OpPtrAccessChain %[[#PTR]] %[[#P2]] %[[#IDX7]]
+; CHECK-NEXT: %[[#TMP7:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP7]] %[[#TMP6]] 7
+; CHECK-NEXT: %[[#IDX8:]] = OpCompositeExtract %[[#I64]] %[[#NULL17]] 8
+; CHECK-NEXT: %[[#GEP8:]] = OpPtrAccessChain %[[#PTR]] %[[#P2]] %[[#IDX8]]
+; CHECK-NEXT: %[[#TMP8:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP8]] %[[#TMP7]] 8
+; CHECK-NEXT: %[[#IDX9:]] = OpCompositeExtract %[[#I64]] %[[#NULL17]] 9
+; CHECK-NEXT: %[[#GEP9:]] = OpPtrAccessChain %[[#PTR]] %[[#P2]] %[[#IDX9]]
+; CHECK-NEXT: %[[#TMP9:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP9]] %[[#TMP8]] 9
+; CHECK-NEXT: %[[#IDX10:]] = OpCompositeExtract %[[#I64]] %[[#NULL17]] 10
+; CHECK-NEXT: %[[#GEP10:]] = OpPtrAccessChain %[[#PTR]] %[[#P2]] %[[#IDX10]]
+; CHECK-NEXT: %[[#TMP10:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP10]] %[[#TMP9]] 10
+; CHECK-NEXT: %[[#IDX11:]] = OpCompositeExtract %[[#I64]] %[[#NULL17]] 11
+; CHECK-NEXT: %[[#GEP11:]] = OpPtrAccessChain %[[#PTR]] %[[#P2]] %[[#IDX11]]
+; CHECK-NEXT: %[[#TMP11:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP11]] %[[#TMP10]] 11
+; CHECK-NEXT: %[[#IDX12:]] = OpCompositeExtract %[[#I64]] %[[#NULL17]] 12
+; CHECK-NEXT: %[[#GEP12:]] = OpPtrAccessChain %[[#PTR]] %[[#P2]] %[[#IDX12]]
+; CHECK-NEXT: %[[#TMP12:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP12]] %[[#TMP11]] 12
+; CHECK-NEXT: %[[#IDX13:]] = OpCompositeExtract %[[#I64]] %[[#NULL17]] 13
+; CHECK-NEXT: %[[#GEP13:]] = OpPtrAccessChain %[[#PTR]] %[[#P2]] %[[#IDX13]]
+; CHECK-NEXT: %[[#TMP13:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP13]] %[[#TMP12]] 13
+; CHECK-NEXT: %[[#IDX14:]] = OpCompositeExtract %[[#I64]] %[[#NULL17]] 14
+; CHECK-NEXT: %[[#GEP14:]] = OpPtrAccessChain %[[#PTR]] %[[#P2]] %[[#IDX14]]
+; CHECK-NEXT: %[[#TMP14:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP14]] %[[#TMP13]] 14
+; CHECK-NEXT: %[[#IDX15:]] = OpCompositeExtract %[[#I64]] %[[#NULL17]] 15
+; CHECK-NEXT: %[[#GEP15:]] = OpPtrAccessChain %[[#PTR]] %[[#P2]] %[[#IDX15]]
+; CHECK-NEXT: %[[#TMP15:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP15]] %[[#TMP14]] 15
+; CHECK-NEXT: %[[#IDX16:]] = OpCompositeExtract %[[#I64]] %[[#NULL17]] 16
+; CHECK-NEXT: %[[#GEP16:]] = OpPtrAccessChain %[[#PTR]] %[[#P2]] %[[#IDX16]]
+; CHECK-NEXT: %[[#TMP16:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP16]] %[[#TMP15]] 16
+; CHECK-NEXT: %[[#EXTRACT:]] = OpCompositeExtract %[[#PTR]] %[[#TMP16]] 0
+; CHECK-NEXT: %[[#LD:]] = OpLoad %[[#I32]] %[[#EXTRACT]] Aligned 4
+; CHECK-NEXT: OpStore %[[#OUT2]] %[[#LD]] Aligned 4
+; CHECK-NEXT: OpReturn
+; CHECK: OpFunctionEnd
+define spir_kernel void @test_vector_gep_v17(ptr addrspace(1) %p, ptr addrspace(1) %out) {
+  %gep = getelementptr i32, ptr addrspace(1) %p, <17 x i64> zeroinitializer
+  %elem = extractelement <17 x ptr addrspace(1)> %gep, i32 0
+  %val = load i32, ptr addrspace(1) %elem
+  store i32 %val, ptr addrspace(1) %out
+  ret void
+}
+
+; CHECK:      OpFunction
+; CHECK-NEXT: %[[#PV:]] = OpFunctionParameter %[[#VPTR1]]
+; CHECK-NEXT: %[[#OUTV:]] = OpFunctionParameter %[[#PTR]]
+; CHECK-NEXT: OpLabel
+; CHECK-NEXT: %[[#EXPV_0:]] = OpCompositeExtract %[[#PTR]] %[[#PV]] 0
+; CHECK-NEXT: %[[#GEPV_0:]] = OpPtrAccessChain %[[#PTR]] %[[#EXPV_0]] %[[#ONE]]
+; CHECK-NEXT: %[[#INSV_0:]] = OpCompositeInsert %[[#VPTR1]] %[[#GEPV_0]] %[[#UNDEF1]] 0
+; CHECK-NEXT: %[[#EXPV_1:]] = OpCompositeExtract %[[#PTR]] %[[#INSV_0]] 0
+; CHECK-NEXT: %[[#VALV:]] = OpLoad %[[#I32]] %[[#EXPV_1]]
+; CHECK-NEXT: OpStore %[[#OUTV]] %[[#VALV]]
+; CHECK-NEXT: OpReturn
+; CHECK-NEXT: OpFunctionEnd
+define spir_kernel void @test_vector_gep_vec1_ptr(<1 x ptr addrspace(1)> %ptrs, ptr addrspace(1) %out) {
+  %gep = getelementptr i32, <1 x ptr addrspace(1)> %ptrs, <1 x i64> <i64 1>
+  %elem = extractelement <1 x ptr addrspace(1)> %gep, i32 0
+  %val = load i32, ptr addrspace(1) %elem
+  store i32 %val, ptr addrspace(1) %out
+  ret void
+}
+
+; CHECK:      OpFunction
+; CHECK-NEXT: %[[#PV:]] = OpFunctionParameter %[[#VPTR17]]
+; CHECK-NEXT: %[[#OUTV:]] = OpFunctionParameter %[[#PTR]]
+; CHECK-NEXT: OpLabel
+; CHECK-NEXT: %[[#P0:]] = OpCompositeExtract %[[#PTR]] %[[#PV]] 0
+; CHECK-NEXT: %[[#GEP0:]] = OpPtrAccessChain %[[#PTR]] %[[#P0]] %[[#ZERO]]
+; CHECK-NEXT: %[[#TMP0:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP0]] %[[#UNDEF17]] 0
+; CHECK-NEXT: %[[#P1:]] = OpCompositeExtract %[[#PTR]] %[[#PV]] 1
+; CHECK-NEXT: %[[#GEP1:]] = OpPtrAccessChain %[[#PTR]] %[[#P1]] %[[#ONE]]
+; CHECK-NEXT: %[[#TMP1:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP1]] %[[#TMP0]] 1
+; CHECK-NEXT: %[[#P2:]] = OpCompositeExtract %[[#PTR]] %[[#PV]] 2
+; CHECK-NEXT: %[[#GEP2:]] = OpPtrAccessChain %[[#PTR]] %[[#P2]] %[[#TWO]]
+; CHECK-NEXT: %[[#TMP2:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP2]] %[[#TMP1]] 2
+; CHECK-NEXT: %[[#P3:]] = OpCompositeExtract %[[#PTR]] %[[#PV]] 3
+; CHECK-NEXT: %[[#GEP3:]] = OpPtrAccessChain %[[#PTR]] %[[#P3]] %[[#THREE]]
+; CHECK-NEXT: %[[#TMP3:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP3]] %[[#TMP2]] 3
+; CHECK-NEXT: %[[#P4:]] = OpCompositeExtract %[[#PTR]] %[[#PV]] 4
+; CHECK-NEXT: %[[#GEP4:]] = OpPtrAccessChain %[[#PTR]] %[[#P4]] %[[#FOUR]]
+; CHECK-NEXT: %[[#TMP4:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP4]] %[[#TMP3]] 4
+; CHECK-NEXT: %[[#P5:]] = OpCompositeExtract %[[#PTR]] %[[#PV]] 5
+; CHECK-NEXT: %[[#GEP5:]] = OpPtrAccessChain %[[#PTR]] %[[#P5]] %[[#FIVE]]
+; CHECK-NEXT: %[[#TMP5:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP5]] %[[#TMP4]] 5
+; CHECK-NEXT: %[[#P6:]] = OpCompositeExtract %[[#PTR]] %[[#PV]] 6
+; CHECK-NEXT: %[[#GEP6:]] = OpPtrAccessChain %[[#PTR]] %[[#P6]] %[[#SIX]]
+; CHECK-NEXT: %[[#TMP6:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP6]] %[[#TMP5]] 6
+; CHECK-NEXT: %[[#P7:]] = OpCompositeExtract %[[#PTR]] %[[#PV]] 7
+; CHECK-NEXT: %[[#GEP7:]] = OpPtrAccessChain %[[#PTR]] %[[#P7]] %[[#SEVEN]]
+; CHECK-NEXT: %[[#TMP7:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP7]] %[[#TMP6]] 7
+; CHECK-NEXT: %[[#P8:]] = OpCompositeExtract %[[#PTR]] %[[#PV]] 8
+; CHECK-NEXT: %[[#GEP8:]] = OpPtrAccessChain %[[#PTR]] %[[#P8]] %[[#EIGHT]]
+; CHECK-NEXT: %[[#TMP8:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP8]] %[[#TMP7]] 8
+; CHECK-NEXT: %[[#P9:]] = OpCompositeExtract %[[#PTR]] %[[#PV]] 9
+; CHECK-NEXT: %[[#GEP9:]] = OpPtrAccessChain %[[#PTR]] %[[#P9]] %[[#NINE]]
+; CHECK-NEXT: %[[#TMP9:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP9]] %[[#TMP8]] 9
+; CHECK-NEXT: %[[#P10:]] = OpCompositeExtract %[[#PTR]] %[[#PV]] 10
+; CHECK-NEXT: %[[#GEP10:]] = OpPtrAccessChain %[[#PTR]] %[[#P10]] %[[#TEN]]
+; CHECK-NEXT: %[[#TMP10:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP10]] %[[#TMP9]] 10
+; CHECK-NEXT: %[[#P11:]] = OpCompositeExtract %[[#PTR]] %[[#PV]] 11
+; CHECK-NEXT: %[[#GEP11:]] = OpPtrAccessChain %[[#PTR]] %[[#P11]] %[[#ELEVEN]]
+; CHECK-NEXT: %[[#TMP11:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP11]] %[[#TMP10]] 11
+; CHECK-NEXT: %[[#P12:]] = OpCompositeExtract %[[#PTR]] %[[#PV]] 12
+; CHECK-NEXT: %[[#GEP12:]] = OpPtrAccessChain %[[#PTR]] %[[#P12]] %[[#TWELVE]]
+; CHECK-NEXT: %[[#TMP12:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP12]] %[[#TMP11]] 12
+; CHECK-NEXT: %[[#P13:]] = OpCompositeExtract %[[#PTR]] %[[#PV]] 13
+; CHECK-NEXT: %[[#GEP13:]] = OpPtrAccessChain %[[#PTR]] %[[#P13]] %[[#THIRTEEN]]
+; CHECK-NEXT: %[[#TMP13:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP13]] %[[#TMP12]] 13
+; CHECK-NEXT: %[[#P14:]] = OpCompositeExtract %[[#PTR]] %[[#PV]] 14
+; CHECK-NEXT: %[[#GEP14:]] = OpPtrAccessChain %[[#PTR]] %[[#P14]] %[[#FOURTEEN]]
+; CHECK-NEXT: %[[#TMP14:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP14]] %[[#TMP13]] 14
+; CHECK-NEXT: %[[#P15:]] = OpCompositeExtract %[[#PTR]] %[[#PV]] 15
+; CHECK-NEXT: %[[#GEP15:]] = OpPtrAccessChain %[[#PTR]] %[[#P15]] %[[#FIFTEEN]]
+; CHECK-NEXT: %[[#TMP15:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP15]] %[[#TMP14]] 15
+; CHECK-NEXT: %[[#P16:]] = OpCompositeExtract %[[#PTR]] %[[#PV]] 16
+; CHECK-NEXT: %[[#GEP16:]] = OpPtrAccessChain %[[#PTR]] %[[#P16]] %[[#SIXTEEN]]
+; CHECK-NEXT: %[[#TMP16:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP16]] %[[#TMP15]] 16
+; CHECK-NEXT: %[[#EXTRACT:]] = OpCompositeExtract %[[#PTR]] %[[#TMP16]] 0
+; CHECK-NEXT: %[[#LD:]] = OpLoad %[[#I32]] %[[#EXTRACT]] Aligned 4
+; CHECK-NEXT: OpStore %[[#OUTV]] %[[#LD]] Aligned 4
+; CHECK-NEXT: OpReturn
+; CHECK-NEXT: OpFunctionEnd
+	; %105 = OpCompositeExtract %3 %102 0
+	; %106 = OpPtrAccessChain %3 %105 %14
+	; %107 = OpCompositeInsert %9 %106 %11 0
+	; %108 = OpCompositeExtract %3 %102 1
+	; %109 = OpPtrAccessChain %3 %108 %30
+	; %110 = OpCompositeInsert %9 %109 %107 1
+	; %111 = OpCompositeExtract %3 %102 2
+	; %112 = OpPtrAccessChain %3 %111 %29
+	; %113 = OpCompositeInsert %9 %112 %110 2
+	; %114 = OpCompositeExtract %3 %102 3
+	; %115 = OpPtrAccessChain %3 %114 %28
+	; %116 = OpCompositeInsert %9 %115 %113 3
+	; %117 = OpCompositeExtract %3 %102 4
+	; %118 = OpPtrAccessChain %3 %117 %8
+	; %119 = OpCompositeInsert %9 %118 %116 4
+	; %120 = OpCompositeExtract %3 %102 5
+	; %121 = OpPtrAccessChain %3 %120 %27
+	; %122 = OpCompositeInsert %9 %121 %119 5
+	; %123 = OpCompositeExtract %3 %102 6
+	; %124 = OpPtrAccessChain %3 %123 %26
+	; %125 = OpCompositeInsert %9 %124 %122 6
+	; %126 = OpCompositeExtract %3 %102 7
+	; %127 = OpPtrAccessChain %3 %126 %25
+	; %128 = OpCompositeInsert %9 %127 %125 7
+	; %129 = OpCompositeExtract %3 %102 8
+	; %130 = OpPtrAccessChain %3 %129 %24
+	; %131 = OpCompositeInsert %9 %130 %128 8
+	; %132 = OpCompositeExtract %3 %102 9
+	; %133 = OpPtrAccessChain %3 %132 %23
+	; %134 = OpCompositeInsert %9 %133 %131 9
+	; %135 = OpCompositeExtract %3 %102 10
+	; %136 = OpPtrAccessChain %3 %135 %22
+	; %137 = OpCompositeInsert %9 %136 %134 10
+	; %138 = OpCompositeExtract %3 %102 11
+	; %139 = OpPtrAccessChain %3 %138 %21
+	; %140 = OpCompositeInsert %9 %139 %137 11
+	; %141 = OpCompositeExtract %3 %102 12
+	; %142 = OpPtrAccessChain %3 %141 %20
+	; %143 = OpCompositeInsert %9 %142 %140 12
+	; %144 = OpCompositeExtract %3 %102 13
+	; %145 = OpPtrAccessChain %3 %144 %19
+	; %146 = OpCompositeInsert %9 %145 %143 13
+	; %147 = OpCompositeExtract %3 %102 14
+	; %148 = OpPtrAccessChain %3 %147 %18
+	; %149 = OpCompositeInsert %9 %148 %146 14
+	; %150 = OpCompositeExtract %3 %102 15
+	; %151 = OpPtrAccessChain %3 %150 %17
+	; %152 = OpCompositeInsert %9 %151 %149 15
+	; %153 = OpCompositeExtract %3 %102 16
+	; %154 = OpPtrAccessChain %3 %153 %16
+	; %155 = OpCompositeInsert %9 %154 %152 16
+	; %156 = OpCompositeExtract %3 %155 0
+	; %157 = OpLoad %2 %156 Aligned 4
+	; OpStore %103 %157 Aligned 4
+define spir_kernel void @test_vector_gep_vec_ptr(<17 x ptr addrspace(1)> %ptrs, ptr addrspace(1) %out) {
+  %gep = getelementptr i32, <17 x ptr addrspace(1)> %ptrs, <17 x i64> <i64 0, i64 1, i64 2, i64 3, i64 4, i64 5, i64 6, i64 7, i64 8, i64 9, i64 10, i64 11, i64 12, i64 13, i64 14, i64 15, i64 16>
+  %elem = extractelement <17 x ptr addrspace(1)> %gep, i32 0
+  %val = load i32, ptr addrspace(1) %elem
+  store i32 %val, ptr addrspace(1) %out
+  ret void
+}

>From d607d15fed019a5c1563cd3b49e8a7d58cf604a4 Mon Sep 17 00:00:00 2001
From: Alex Voicu <alexandru.voicu at amd.com>
Date: Fri, 17 Jul 2026 10:21:22 +0100
Subject: [PATCH 14/16] Fix typo.

---
 .../SPV_EXT_long_vector/vector-legalization-kernel.ll           | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/vector-legalization-kernel.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/vector-legalization-kernel.ll
index fc31e8c9e77c8..20695d7469df0 100644
--- a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/vector-legalization-kernel.ll
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/vector-legalization-kernel.ll
@@ -5,7 +5,7 @@
 ; CHECK-DAG: OpName %[[#test_int32_double_conversion:]] "test_int32_double_conversion"
 ; CHECK-DAG: %[[#int:]] = OpTypeInt 32 0
 ; CHECK-DAG: %[[#v18i32:]] = OpTypeVectorIdEXT %[[#int]] 18
-; CHECK-DAG: %[[#v9i32:]] = OpTypeVector %[[#int]] 9
+; CHECK-DAG: %[[#v9i32:]] = OpTypeVectorIdEXT %[[#int]] 9
 ; CHECK-DAG: %[[#ptr_func_v18i32:]] = OpTypePointer Function %[[#v18i32]]
 
 define spir_kernel void @test_int32_double_conversion(ptr %G_vec) {

>From 2547d4e2d293fb14a57ed880375f021c18ada4fc Mon Sep 17 00:00:00 2001
From: Alex Voicu <alexandru.voicu at amd.com>
Date: Fri, 17 Jul 2026 12:27:16 +0100
Subject: [PATCH 15/16] Fix formatting.

---
 llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp | 35 ++++++-----
 llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp | 15 +++--
 .../Target/SPIRV/SPIRVInstructionSelector.cpp | 60 +++++++++----------
 .../Target/SPIRV/SPIRVLegalizePointerCast.cpp |  4 +-
 llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp |  2 +-
 llvm/lib/Target/SPIRV/SPIRVUtils.cpp          |  2 +-
 6 files changed, 56 insertions(+), 62 deletions(-)

diff --git a/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp b/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
index 792214b547339..8f8d22574be62 100644
--- a/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
@@ -1351,9 +1351,9 @@ bool SPIRVEmitIntrinsics::deduceOperandElementTypeFunctionRet(
         continue;
       if (CallInst *AssignCI = GR->findAssignPtrTypeInstr(CI)) {
         if (Type *PrevElemTy = GR->findDeducedElementType(CI)) {
-          GR->updateAssignType(AssignCI, CI,
-                               getNormalizedPoisonValue(OpElemTy,
-                                                        CanUseAnyVectorRank));
+          GR->updateAssignType(
+              AssignCI, CI,
+              getNormalizedPoisonValue(OpElemTy, CanUseAnyVectorRank));
           propagateElemType(CI, PrevElemTy, VisitedSubst);
         }
       }
@@ -1547,8 +1547,8 @@ void SPIRVEmitIntrinsics::deduceOperandElementType(
     if (Op->hasUseList() && !WouldClobberPtrWithNonPtr &&
         (!Ty || AskTy || isUntypedPointerTy(Ty) || isTodoType(Op))) {
       Type *PrevElemTy = GR->findDeducedElementType(Op);
-      GR->addDeducedElementType(Op, normalizeType(KnownElemTy,
-                                                  CanUseAnyVectorRank));
+      GR->addDeducedElementType(
+          Op, normalizeType(KnownElemTy, CanUseAnyVectorRank));
       // check if KnownElemTy is complete
       if (!Incomplete)
         eraseTodoType(Op);
@@ -2165,8 +2165,8 @@ void SPIRVEmitIntrinsics::replacePointerOperandWithPtrCast(
     return;
 
   setInsertPointSkippingPhis(B, I);
-  Value *ExpectedElementVal = getNormalizedPoisonValue(ExpectedElementType,
-                                                       CanUseAnyVectorRank);
+  Value *ExpectedElementVal =
+      getNormalizedPoisonValue(ExpectedElementType, CanUseAnyVectorRank);
   MetadataAsValue *VMD = buildMD(ExpectedElementVal);
   unsigned AddressSpace = getPointerAddressSpace(Pointer->getType());
   bool FirstPtrCastOrAssignPtrType = true;
@@ -2931,11 +2931,10 @@ void SPIRVEmitIntrinsics::insertAssignTypeIntrs(Instruction *I,
             // types are handled in `processInstrAfterVisit`
             OpTyVal = getNormalizedPoisonValue(OpTy, CanUseAnyVectorRank);
           }
-          CallInst *AssignCI =
-              buildIntrWithMD(Intrinsic::spv_assign_type, {OpTy},
-                              getNormalizedPoisonValue(OpTy,
-                                                       CanUseAnyVectorRank),
-                              OpTyVal, {}, B);
+          CallInst *AssignCI = buildIntrWithMD(
+              Intrinsic::spv_assign_type, {OpTy},
+              getNormalizedPoisonValue(OpTy, CanUseAnyVectorRank), OpTyVal, {},
+              B);
           GR->addAssignPtrTypeInstr(OpTyVal, AssignCI);
         }
       }
@@ -3479,8 +3478,8 @@ bool SPIRVEmitIntrinsics::processFunctionPointers(Module &M) {
   for (Function *F : Worklist) {
     SmallVector<Value *> Args;
     for (const auto &Arg : F->args())
-      Args.push_back(getNormalizedPoisonValue(Arg.getType(),
-                                              CanUseAnyVectorRank));
+      Args.push_back(
+          getNormalizedPoisonValue(Arg.getType(), CanUseAnyVectorRank));
     IRB.CreateCall(F, Args);
   }
   IRB.CreateRetVoid();
@@ -3514,8 +3513,8 @@ void SPIRVEmitIntrinsics::applyDemangledPtrArgTypes(IRBuilder<> &B) {
           replaceUsesOfWithSpvPtrcast(
               Param, normalizeType(ElemTy, CanUseAnyVectorRank), CI, Ptrcasts);
         } else if (isa<Instruction>(Param)) {
-          GR->addDeducedElementType(Param, normalizeType(ElemTy,
-                                                         CanUseAnyVectorRank));
+          GR->addDeducedElementType(Param,
+                                    normalizeType(ElemTy, CanUseAnyVectorRank));
           // insertAssignTypeIntrs() will complete buildAssignPtr()
         } else {
           B.SetInsertPoint(CI->getParent()
@@ -3658,8 +3657,8 @@ bool SPIRVEmitIntrinsics::runOnFunction(Function &Func) {
 
     if (SGEP) {
       GR->addDeducedElementType(
-          SGEP, normalizeType(SGEP->getResultElementType(),
-                              CanUseAnyVectorRank));
+          SGEP,
+          normalizeType(SGEP->getResultElementType(), CanUseAnyVectorRank));
       continue;
     }
 
diff --git a/llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp b/llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
index 11166a3d6eb3f..ec961ed4d7973 100644
--- a/llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
@@ -324,10 +324,9 @@ const MachineInstr *SPIRVGlobalRegistry::createConstOrTypeAtFunctionEntry(
   return ConstOrType;
 }
 
-SPIRVTypeInst
-SPIRVGlobalRegistry::getOpTypeVectorImpl(
-    uint32_t NumElems, SPIRVTypeInst ElemType,
-    MachineIRBuilder &MIRBuilder, bool IsLongVector) {
+SPIRVTypeInst SPIRVGlobalRegistry::getOpTypeVectorImpl(
+    uint32_t NumElems, SPIRVTypeInst ElemType, MachineIRBuilder &MIRBuilder,
+    bool IsLongVector) {
   auto EleOpc = ElemType->getOpcode();
   if (EleOpc == SPIRV::OpTypePointer) {
     if (!cast<SPIRVSubtarget>(MIRBuilder.getMF().getSubtarget())
@@ -348,8 +347,9 @@ SPIRVGlobalRegistry::getOpTypeVectorImpl(
 
   return createConstOrTypeAtFunctionEntry(
       MIRBuilder, [&](MachineIRBuilder &MIRBuilder) {
-        return MIRBuilder.buildInstr(IsLongVector ? SPIRV::OpTypeVectorIdEXT
-                                                  : SPIRV::OpTypeVector)
+        return MIRBuilder
+            .buildInstr(IsLongVector ? SPIRV::OpTypeVectorIdEXT
+                                     : SPIRV::OpTypeVector)
             .addDef(createTypeVReg(MIRBuilder))
             .addUse(getSPIRVTypeID(ElemType))
             .addImm(NumElems);
@@ -363,8 +363,7 @@ SPIRVGlobalRegistry::getOpTypeVector(uint32_t NumElems, SPIRVTypeInst ElemType,
   return getOpTypeVectorImpl(NumElems, ElemType, MIRBuilder);
 }
 
-SPIRVTypeInst
-SPIRVGlobalRegistry::getOpTypeVectorIdEXT(
+SPIRVTypeInst SPIRVGlobalRegistry::getOpTypeVectorIdEXT(
     uint32_t NumElems, SPIRVTypeInst ElemType, MachineIRBuilder &MIRBuilder) {
   assert((NumElems < 2 || NumElems > 16 ||
           (NumElems != 3 && NumElems != 4 && NumElems != 8)) &&
diff --git a/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp b/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
index 93e56ebab93f1..1e05229738650 100644
--- a/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
@@ -1239,13 +1239,13 @@ bool SPIRVInstructionSelector::spvSelect(Register ResVReg,
     return selectFrexp(ResVReg, ResType, I);
 
   case TargetOpcode::G_UADDO:
-    return selectOverflowArith(ResVReg, ResType, I, isVectorType(ResType)
-                                                        ? SPIRV::OpIAddCarryV
-                                                        : SPIRV::OpIAddCarryS);
+    return selectOverflowArith(ResVReg, ResType, I,
+                               isVectorType(ResType) ? SPIRV::OpIAddCarryV
+                                                     : SPIRV::OpIAddCarryS);
   case TargetOpcode::G_USUBO:
-    return selectOverflowArith(ResVReg, ResType, I, isVectorType(ResType)
-                                                        ? SPIRV::OpISubBorrowV
-                                                        : SPIRV::OpISubBorrowS);
+    return selectOverflowArith(ResVReg, ResType, I,
+                               isVectorType(ResType) ? SPIRV::OpISubBorrowV
+                                                     : SPIRV::OpISubBorrowS);
   case TargetOpcode::G_UMULO:
     return selectOverflowArith(ResVReg, ResType, I, SPIRV::OpUMulExtended);
   case TargetOpcode::G_SMULO:
@@ -2681,9 +2681,8 @@ bool SPIRVInstructionSelector::selectOverflowArith(Register ResVReg,
   assert(I.getNumDefs() > 1 && "Not enought operands");
   SPIRVTypeInst BoolType = GR.getOrCreateSPIRVBoolType(I, TII);
   unsigned N = GR.getScalarOrVectorComponentCount(ResType);
-  if (N > 1 ||
-      (isVectorType(ResType) &&
-       STI.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector)))
+  if (N > 1 || (isVectorType(ResType) &&
+                STI.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector)))
     BoolType = GR.getOrCreateSPIRVVectorType(BoolType, N, I, TII);
   Register BoolTypeReg = GR.getSPIRVTypeID(BoolType);
   Register ZeroReg = buildZerosVal(ResType, I);
@@ -3191,7 +3190,7 @@ bool SPIRVInstructionSelector::selectFloatDot(Register ResVReg,
   assert((VecType->getOpcode() == SPIRV::OpTypeVector &&
           GR.getScalarOrVectorComponentCount(VecType) > 1) ||
          VecType->getOpcode() == SPIRV::OpTypeVectorIdEXT &&
-         "dot product requires a vector of at least 2 components");
+             "dot product requires a vector of at least 2 components");
 
   [[maybe_unused]] SPIRVTypeInst EltType =
       GR.getScalarOrVectorComponentType(VecType);
@@ -3252,7 +3251,7 @@ bool SPIRVInstructionSelector::selectIntegerDotExpansion(
   assert((VecType->getOpcode() == SPIRV::OpTypeVector &&
           GR.getScalarOrVectorComponentCount(VecType) > 1) ||
          VecType->getOpcode() == SPIRV::OpTypeVectorIdEXT &&
-         "dot product requires a vector of at least 2 components");
+             "dot product requires a vector of at least 2 components");
 
   Register Res = MRI->createVirtualRegister(GR.getRegClass(ResType));
   BuildMI(BB, I, I.getDebugLoc(), TII.get(SPIRV::OpCompositeExtract))
@@ -3609,8 +3608,8 @@ bool SPIRVInstructionSelector::selectWaveActiveAllEqual(Register ResVReg,
   // Determine if input is vector
   unsigned NumElems = GR.getScalarOrVectorComponentCount(InputType);
   bool IsVector = NumElems > 1 ||
-      (InputType->getOpcode() == SPIRV::OpTypeVectorIdEXT &&
-       STI.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector));
+                  (InputType->getOpcode() == SPIRV::OpTypeVectorIdEXT &&
+                   STI.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector));
 
   // Determine element types
   SPIRVTypeInst ElemInputType = GR.getScalarOrVectorComponentType(InputType);
@@ -3901,9 +3900,8 @@ bool SPIRVInstructionSelector::selectBitreverseViaI32(Register ResVReg,
                                     ? SPIRV::OpSConvert
                                     : SPIRV::OpUConvert;
 
-  if (N > 1 ||
-      (ResType->getOpcode() == SPIRV::OpTypeVectorIdEXT &&
-       STI.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector))) {
+  if (N > 1 || (ResType->getOpcode() == SPIRV::OpTypeVectorIdEXT &&
+                STI.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector))) {
     Int32Type = GR.getOrCreateSPIRVVectorType(Int32Type, N, I, TII);
     ShiftOp = SPIRV::OpShiftRightLogicalV;
 
@@ -4110,9 +4108,8 @@ bool SPIRVInstructionSelector::selectBitreverse(Register ResVReg,
   unsigned OrOp = SPIRV::OpBitwiseOrS;
   unsigned ShlOp = SPIRV::OpShiftLeftLogicalS;
   unsigned ShrOp = SPIRV::OpShiftRightLogicalS;
-  if (N > 1 ||
-      (ResType->getOpcode() == SPIRV::OpTypeVectorIdEXT &&
-       STI.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector))) {
+  if (N > 1 || (ResType->getOpcode() == SPIRV::OpTypeVectorIdEXT &&
+                STI.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector))) {
     AndOp = SPIRV::OpBitwiseAndV;
     OrOp = SPIRV::OpBitwiseOrV;
     ShlOp = SPIRV::OpShiftLeftLogicalV;
@@ -4497,8 +4494,8 @@ bool SPIRVInstructionSelector::selectExp10(Register ResVReg,
     Register ConstReg =
         GR.buildConstantFP(ConstVal, MIRBuilder, SpirvScalarType);
     Register ArgReg = MRI->createVirtualRegister(GR.getRegClass(ResType));
-    auto Opcode = isVectorType(ResType) ? SPIRV::OpVectorTimesScalar
-                                        : SPIRV::OpFMulS;
+    auto Opcode =
+        isVectorType(ResType) ? SPIRV::OpVectorTimesScalar : SPIRV::OpFMulS;
 
     if (!selectOpWithSrcs(ArgReg, ResType, I,
                           {I.getOperand(1).getReg(), ConstReg}, Opcode))
@@ -4715,9 +4712,8 @@ bool SPIRVInstructionSelector::selectSUCmp(Register ResVReg,
   // Ensure we have bool.
   SPIRVTypeInst BoolType = GR.getOrCreateSPIRVBoolType(I, TII);
   unsigned N = GR.getScalarOrVectorComponentCount(ResType);
-  if (N > 1 ||
-      (ResType->getOpcode() == SPIRV::OpTypeVectorIdEXT &&
-       STI.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector)))
+  if (N > 1 || (ResType->getOpcode() == SPIRV::OpTypeVectorIdEXT &&
+                STI.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector)))
     BoolType = GR.getOrCreateSPIRVVectorType(BoolType, N, I, TII);
   Register BoolTypeReg = GR.getSPIRVTypeID(BoolType);
   // Build less-than-equal and less-than.
@@ -4746,10 +4742,10 @@ bool SPIRVInstructionSelector::selectSUCmp(Register ResVReg,
   MRI->setType(NegOneOrZeroReg, LLT::scalar(64));
   GR.assignSPIRVTypeToVReg(ResType, NegOneOrZeroReg, MIRBuilder.getMF());
   unsigned SelectOpcode =
-      (N > 1 ||
-       (ResType->getOpcode() == SPIRV::OpTypeVectorIdEXT &&
-        STI.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector)))
-          ? SPIRV::OpSelectVIVCond : SPIRV::OpSelectSISCond;
+      (N > 1 || (ResType->getOpcode() == SPIRV::OpTypeVectorIdEXT &&
+                 STI.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector)))
+          ? SPIRV::OpSelectVIVCond
+          : SPIRV::OpSelectSISCond;
   BuildMI(BB, I, I.getDebugLoc(), TII.get(SelectOpcode))
       .addDef(NegOneOrZeroReg)
       .addUse(ResTypeReg)
@@ -4774,8 +4770,8 @@ bool SPIRVInstructionSelector::selectIntToBool(Register IntReg,
                                                SPIRVTypeInst BoolTy) const {
   // To truncate to a bool, we use OpBitwiseAnd 1 and OpINotEqual to zero.
   Register BitIntReg = createVirtualRegister(IntTy, &GR, MRI, MRI->getMF());
-  unsigned Opcode = isVectorType(IntTy) ? SPIRV::OpBitwiseAndV
-                                        : SPIRV::OpBitwiseAndS;
+  unsigned Opcode =
+      isVectorType(IntTy) ? SPIRV::OpBitwiseAndV : SPIRV::OpBitwiseAndS;
   Register Zero = buildZerosVal(IntTy, I);
   Register One = buildOnesVal(false, IntTy, I);
   MachineBasicBlock &BB = *I.getParent();
@@ -7193,8 +7189,8 @@ bool SPIRVInstructionSelector::selectLog10(Register ResVReg,
   Register ScaleReg = GR.buildConstantFP(ScaleVal, MIRBuilder, SpirvScalarType);
 
   // Multiply log2(x) by 0.30103 to get log10(x) result.
-  auto Opcode = isVectorType(ResType) ? SPIRV::OpVectorTimesScalar
-                                      : SPIRV::OpFMulS;
+  auto Opcode =
+      isVectorType(ResType) ? SPIRV::OpVectorTimesScalar : SPIRV::OpFMulS;
   BuildMI(BB, I, I.getDebugLoc(), TII.get(Opcode))
       .addDef(ResVReg)
       .addUse(GR.getSPIRVTypeID(ResType))
diff --git a/llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.cpp b/llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.cpp
index 8ef15cb72205d..fed6886e56c43 100644
--- a/llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.cpp
@@ -389,8 +389,8 @@ class SPIRVLegalizePointerCastImpl {
       bool CanUseAnyVectorRank = TM.getSubtargetImpl()->canUseExtension(
           SPIRV::Extension::SPV_EXT_long_vector);
       Value *Element = (E == 1 && !CanUseAnyVectorRank)
-          ? SrcVector
-          : makeExtractElement(B, ElemTy, SrcVector, I);
+                           ? SrcVector
+                           : makeExtractElement(B, ElemTy, SrcVector, I);
       StoreInst *SI = B.CreateStore(Element, ElementPtr);
       SI->setAlignment(commonAlignment(Alignment, I * ElemSize));
     }
diff --git a/llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp b/llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
index fcbbe3877c574..0f2bfbeec8742 100644
--- a/llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
@@ -1629,7 +1629,7 @@ void addInstrRequirements(const MachineInstr &MI,
     }
     break;
   }
-  case SPIRV::OpTypeVectorIdEXT : {
+  case SPIRV::OpTypeVectorIdEXT: {
     if (!ST.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector))
       reportFatalUsageError("OpTypeVectorIdEXT requires the following SPIR-V "
                             "extension: SPV_EXT_long_vector extension");
diff --git a/llvm/lib/Target/SPIRV/SPIRVUtils.cpp b/llvm/lib/Target/SPIRV/SPIRVUtils.cpp
index e8f2b676eff53..ae521657be25c 100644
--- a/llvm/lib/Target/SPIRV/SPIRVUtils.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVUtils.cpp
@@ -973,7 +973,7 @@ Register createVirtualRegister(
 
 bool isVectorType(SPIRVTypeInst SPVTy) {
   return SPVTy->getOpcode() == SPIRV::OpTypeVector ||
-      SPVTy->getOpcode() == SPIRV::OpTypeVectorIdEXT;
+         SPVTy->getOpcode() == SPIRV::OpTypeVectorIdEXT;
 }
 
 CallInst *buildIntrWithMD(Intrinsic::ID IntrID, ArrayRef<Type *> Types,

>From 385f59758dae29d75994a1a06b9a55da5eb123dd Mon Sep 17 00:00:00 2001
From: Alex Voicu <alexandru.voicu at amd.com>
Date: Fri, 17 Jul 2026 12:29:53 +0100
Subject: [PATCH 16/16] `poison` instead of `undef`.

---
 llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/ctpop.ll | 2 +-
 .../SPIRV/extensions/SPV_EXT_long_vector/unmerge-crash-0.ll     | 2 +-
 .../SPIRV/extensions/SPV_EXT_long_vector/unmerge-crash-1.ll     | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/ctpop.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/ctpop.ll
index d645f3b582ee5..b6bae97a31453 100644
--- a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/ctpop.ll
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/ctpop.ll
@@ -8,7 +8,7 @@
 ; CHECK: %[[#X17I32:]] = OpFunctionParameter %[[#V17I32]]
 ; CHECK: %[[#]] = OpBitCount %[[#V17I32]] %[[#X17I32]]
 
- at g5 = addrspace(1) global <17 x i32> undef, align 4
+ at g5 = addrspace(1) global <17 x i32> poison, align 4
 
 define dso_local spir_kernel void @test(<17 x i32> %x17i32) {
 entry:
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/unmerge-crash-0.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/unmerge-crash-0.ll
index b32118460f158..f40ae294120ff 100644
--- a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/unmerge-crash-0.ll
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/unmerge-crash-0.ll
@@ -5,7 +5,7 @@
 
 ; This is a repro extracted from IREE; once spirv-val works, testing its correct lowering into valid SPIR-V shall suffice.
 
- at __shared_memory__ = private addrspace(3) global [8 x [8 x float]] undef, align 16
+ at __shared_memory__ = private addrspace(3) global [8 x [8 x float]] poison, align 16
 @__constant_8x8xf32_0 = private addrspace(4) constant [8 x [8 x float]] [[8 x float] [float 1.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 1.000000e+00, float -1.000000e+00, float 5.000000e-01, float -5.000000e-01, float 2.000000e+00, float -2.000000e+00, float -1.000000e+00], [8 x float] [float -5.250000e+00, float 1.000000e+00, float 1.000000e+00, float 2.500000e-01, float 2.500000e-01, float 4.000000e+00, float 4.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float -4.250000e+00, float 4.250000e+00, float -2.500000e+00, float 2.500000e+00, float -2.500000e+00, float 2.500000e+00, float 5.250000e+00], [8 x float] [float 5.250000e+00, float -4.250000e+00, float -4.250000e+00, float -1.250000e+00, float -1.250000e+00, float -5.000000e+00, float -5.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 1.000000e+00, float -1.000000e+00, float 2.000000e+00, float -2.000000e+00, float 5.000000e-01, float -5.000000e-01, float -5.250000e+00], [8 x float] [float -1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 1.000000e+00]], align 64
 @__constant_8x8xf32 = private addrspace(4) constant [8 x [8 x float]] [[8 x float] [float 1.000000e+00, float 0.000000e+00, float -5.250000e+00, float 0.000000e+00, float 5.250000e+00, float 0.000000e+00, float -1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 1.000000e+00, float 1.000000e+00, float -4.250000e+00, float -4.250000e+00, float 1.000000e+00, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float -1.000000e+00, float 1.000000e+00, float 4.250000e+00, float -4.250000e+00, float -1.000000e+00, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 5.000000e-01, float 2.500000e-01, float -2.500000e+00, float -1.250000e+00, float 2.000000e+00, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float -5.000000e-01, float 2.500000e-01, float 2.500000e+00, float -1.250000e+00, float -2.000000e+00, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 2.000000e+00, float 4.000000e+00, float -2.500000e+00, float -5.000000e+00, float 5.000000e-01, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float -2.000000e+00, float 4.000000e+00, float 2.500000e+00, float -5.000000e+00, float -5.000000e-01, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float -1.000000e+00, float 0.000000e+00, float 5.250000e+00, float 0.000000e+00, float -5.250000e+00, float 0.000000e+00, float 1.000000e+00]], align 64
 
diff --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/unmerge-crash-1.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/unmerge-crash-1.ll
index ad5da582cde96..1e3004cc45445 100644
--- a/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/unmerge-crash-1.ll
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/unmerge-crash-1.ll
@@ -5,7 +5,7 @@
 
 ; This is a repro extracted from IREE.
 
- at __shared_memory__ = private addrspace(3) global [8 x [8 x float]] undef, align 16
+ at __shared_memory__ = private addrspace(3) global [8 x [8 x float]] poison, align 16
 @__constant_8x8xf32_0 = private addrspace(4) constant [8 x [8 x float]] [[8 x float] [float 1.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 1.000000e+00, float -1.000000e+00, float 5.000000e-01, float -5.000000e-01, float 2.000000e+00, float -2.000000e+00, float -1.000000e+00], [8 x float] [float -5.250000e+00, float 1.000000e+00, float 1.000000e+00, float 2.500000e-01, float 2.500000e-01, float 4.000000e+00, float 4.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float -4.250000e+00, float 4.250000e+00, float -2.500000e+00, float 2.500000e+00, float -2.500000e+00, float 2.500000e+00, float 5.250000e+00], [8 x float] [float 5.250000e+00, float -4.250000e+00, float -4.250000e+00, float -1.250000e+00, float -1.250000e+00, float -5.000000e+00, float -5.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 1.000000e+00, float -1.000000e+00, float 2.000000e+00, float -2.000000e+00, float 5.000000e-01, float -5.000000e-01, float -5.250000e+00], [8 x float] [float -1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 1.000000e+00]], align 64
 @__constant_8x8xf32 = private addrspace(4) constant [8 x [8 x float]] [[8 x float] [float 1.000000e+00, float 0.000000e+00, float -5.250000e+00, float 0.000000e+00, float 5.250000e+00, float 0.000000e+00, float -1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 1.000000e+00, float 1.000000e+00, float -4.250000e+00, float -4.250000e+00, float 1.000000e+00, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float -1.000000e+00, float 1.000000e+00, float 4.250000e+00, float -4.250000e+00, float -1.000000e+00, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 5.000000e-01, float 2.500000e-01, float -2.500000e+00, float -1.250000e+00, float 2.000000e+00, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float -5.000000e-01, float 2.500000e-01, float 2.500000e+00, float -1.250000e+00, float -2.000000e+00, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float 2.000000e+00, float 4.000000e+00, float -2.500000e+00, float -5.000000e+00, float 5.000000e-01, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float -2.000000e+00, float 4.000000e+00, float 2.500000e+00, float -5.000000e+00, float -5.000000e-01, float 1.000000e+00, float 0.000000e+00], [8 x float] [float 0.000000e+00, float -1.000000e+00, float 0.000000e+00, float 5.250000e+00, float 0.000000e+00, float -5.250000e+00, float 0.000000e+00, float 1.000000e+00]], align 64
 



More information about the cfe-commits mailing list