[llvm] e21fc4d - [SPIRV] Add support for the `SPV_EXT_long_vector` extension (#210279)

via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 27 02:46:41 PDT 2026


Author: Alex Voicu
Date: 2026-08-27T10:46:18+01:00
New Revision: e21fc4d872d8e8c791bae8631e2e60eda5414fb0

URL: https://github.com/llvm/llvm-project/commit/e21fc4d872d8e8c791bae8631e2e60eda5414fb0
DIFF: https://github.com/llvm/llvm-project/commit/e21fc4d872d8e8c791bae8631e2e60eda5414fb0.diff

LOG: [SPIRV] Add support for the `SPV_EXT_long_vector` extension (#210279)

This adds support for
<https://github.khronos.org/SPIRV-Registry/extensions/EXT/SPV_EXT_long_vector.html>,
which (in brief) allows any and all vector ranks to be used in SPIR-V,
via a new `OpTypeVectorIdEXT` type. The latter can be used anywhere an
`OpTypeVector` can be used.

The change itself is a bit of a chonk because:

- it was necessary to deal with oddities around single element vectors
(`IRTranslator` really does not like them);
- handling and interacting with vectors is pretty spread out.

---------

Co-authored-by: Marcos Maronas <mmaronas at amd.com>

Added: 
    llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/bool-vector-bitcast.ll
    llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/ctpop.ll
    llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/getelementptr-vector-index.ll
    llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/huge-vector.ll
    llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/integer-casts.ll
    llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/add.ll
    llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/and.ll
    llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fadd.ll
    llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fmax.ll
    llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fmaximum.ll
    llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fmin.ll
    llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fminimum.ll
    llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fmul.ll
    llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/mul.ll
    llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/or.ll
    llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/smax.ll
    llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/smin.ll
    llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/umax.ll
    llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/umin.ll
    llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/xor.ll
    llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/phi-large-vector.ll
    llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/ptrmask-vec.ll
    llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/single-element-vector-nested-aggregate.ll
    llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/single-element-vector.ll
    llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/spv-extractelt-legalization.ll
    llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/unmerge-crash-0.ll
    llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/unmerge-crash-1.ll
    llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/vector-arithmetic.ll
    llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/vector-index-scalarization.ll
    llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/vector-legalization-kernel.ll
    llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/vector-of-pointers-gep.ll

Modified: 
    llvm/docs/SPIRVUsage.md
    llvm/lib/IR/Type.cpp
    llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    llvm/lib/Target/SPIRV/SPIRVCombinerHelper.cpp
    llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
    llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
    llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
    llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
    llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
    llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.cpp
    llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
    llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
    llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
    llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
    llvm/lib/Target/SPIRV/SPIRVUtils.cpp
    llvm/lib/Target/SPIRV/SPIRVUtils.h
    llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_masked_gather_scatter/vector-of-pointers-gep.ll

Removed: 
    


################################################################################
diff  --git a/llvm/docs/SPIRVUsage.md b/llvm/docs/SPIRVUsage.md
index 2a932ce264c3d..6f958b3ddffe7 100644
--- a/llvm/docs/SPIRVUsage.md
+++ b/llvm/docs/SPIRVUsage.md
@@ -139,6 +139,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/IR/Type.cpp b/llvm/lib/IR/Type.cpp
index 890f523b69f55..869409e6979f3 100644
--- a/llvm/lib/IR/Type.cpp
+++ b/llvm/lib/IR/Type.cpp
@@ -1070,10 +1070,16 @@ static TargetTypeInfo getTargetTypeInfo(const TargetExtType *Ty) {
     return TargetTypeInfo(
         ArrayType::get(Type::getInt8Ty(C), Ty->getIntParameter(0)),
         TargetExtType::CanBeGlobal);
-  if (Name.starts_with("spirv."))
+  if (Name.starts_with("spirv.")) {
+    if (Name.ends_with("TypedPointerType"))
+      return TargetTypeInfo(PointerType::get(C, 0), TargetExtType::HasZeroInit,
+                            TargetExtType::CanBeGlobal,
+                            TargetExtType::CanBeLocal,
+                            TargetExtType::CanBeVectorElement);
     return TargetTypeInfo(PointerType::get(C, 0), TargetExtType::HasZeroInit,
                           TargetExtType::CanBeGlobal,
                           TargetExtType::CanBeLocal);
+  }
 
   // Opaque types in the AArch64 name space.
   if (Name == "aarch64.svcount")

diff  --git a/llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp b/llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
index 0978a6c6e5c95..ed2f82937848f 100644
--- a/llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
@@ -417,7 +417,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);
@@ -442,7 +442,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 =
@@ -1804,7 +1804,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
@@ -1920,9 +1920,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;
 
@@ -2078,7 +2077,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;
@@ -2248,7 +2247,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)
@@ -2382,7 +2381,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 d6166e5c4e46a..8334fe9a2d0a1 100644
--- a/llvm/lib/Target/SPIRV/SPIRVCombinerHelper.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVCombinerHelper.cpp
@@ -240,7 +240,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);
@@ -271,13 +271,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 cee8e5ddfa4f0..624ac940ad12d 100644
--- a/llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
@@ -181,7 +181,8 @@ static const StringMap<SPIRV::Extension::Extension> SPIRVExtensionMap = {
     {"SPV_KHR_poison_freeze",
      SPIRV::Extension::Extension::SPV_KHR_poison_freeze},
     {"SPV_KHR_untyped_pointers",
-     SPIRV::Extension::Extension::SPV_KHR_untyped_pointers}};
+     SPIRV::Extension::Extension::SPV_KHR_untyped_pointers},
+    {"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 50719572e0b0d..07902ea948e93 100644
--- a/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
@@ -185,6 +185,7 @@ class SPIRVEmitIntrinsicsImpl
   Function *CurrF = nullptr;
   bool TrackConstants = true;
   bool HaveFunPtrs = false;
+  bool CanUseAnyVectorRank = false;
   DenseMap<Instruction *, Constant *> AggrConsts;
   DenseMap<Instruction *, Type *> AggrConstTypes;
   SmallPtrSet<Instruction *, 0> AggrStores;
@@ -623,8 +624,9 @@ CallInst *SPIRVEmitIntrinsicsImpl::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);
@@ -1102,7 +1104,7 @@ Type *SPIRVEmitIntrinsicsImpl::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;
@@ -1187,7 +1189,8 @@ Type *SPIRVEmitIntrinsicsImpl::deduceNestedTypeHelper(
       }
       if (Ty != OpTy) {
         Type *NewTy = VectorType::get(Ty, VecTy->getElementCount());
-        GR->addDeducedCompositeType(U, normalizeType(NewTy));
+        GR->addDeducedCompositeType(U,
+                                    normalizeType(NewTy, CanUseAnyVectorRank));
         return NewTy;
       }
     }
@@ -1345,7 +1348,7 @@ bool SPIRVEmitIntrinsicsImpl::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,
@@ -1358,8 +1361,9 @@ bool SPIRVEmitIntrinsicsImpl::deduceOperandElementTypeFunctionRet(
         continue;
       if (CallInst *AssignCI = GR->findAssignPtrTypeInstr(CI)) {
         if (Type *PrevElemTy = GR->findDeducedElementType(CI)) {
-          GR->updateAssignType(AssignCI, CI,
-                               getNormalizedPoisonValue(OpElemTy));
+          GR->updateAssignType(
+              AssignCI, CI,
+              getNormalizedPoisonValue(OpElemTy, CanUseAnyVectorRank));
           propagateElemType(CI, PrevElemTy, VisitedSubst);
         }
       }
@@ -1543,7 +1547,7 @@ void SPIRVEmitIntrinsicsImpl::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
     // element type for the same operand.
@@ -1553,7 +1557,8 @@ void SPIRVEmitIntrinsicsImpl::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);
@@ -2029,10 +2034,19 @@ SPIRVEmitIntrinsicsImpl::visitGetElementPtrInst(GetElementPtrInst &I) {
       Args.push_back(InBounds);
       Args.push_back(ScalarPtr);
       for (Value *Idx : I.indices()) {
-        if (isa<VectorType>(Idx->getType()))
-          Args.push_back(B.CreateExtractElement(Idx, LaneIdx));
-        else
+        if (isa<VectorType>(Idx->getType())) {
+          // We cannot use the builder here as for splat-ed / constant vectors
+          // it will fold to the scalar, and then it becomes impossible to
+          // retrieve / retain the vectorness.
+          auto *EI =
+              ExtractElementInst::Create(Idx, LaneIdx, "", B.GetInsertPoint());
+          if (isVector1(Idx->getType())) // IRTranslator clobbers <1 x T>.
+            Args.push_back(visitExtractElementInst(*EI));
+          else
+            Args.push_back(EI);
+        } else {
           Args.push_back(Idx);
+        }
       }
       Value *ScalarGep = B.CreateIntrinsic(Intrinsic::spv_gep, GepTypes, Args);
       GR->buildAssignPtr(B, LanePointeeTy, ScalarGep);
@@ -2135,7 +2149,7 @@ void SPIRVEmitIntrinsicsImpl::insertAssignPtrTypeTargetExt(
 
   CallInst *AssignCI = GR->findAssignPtrTypeInstr(V);
   if (!AssignCI) {
-    GR->buildAssignType(B, AssignedType, V);
+    GR->buildAssignType(B, AssignedType, V, CanUseAnyVectorRank);
     return;
   }
 
@@ -2155,7 +2169,8 @@ void SPIRVEmitIntrinsicsImpl::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 SPIRVEmitIntrinsicsImpl::replacePointerOperandWithPtrCast(
@@ -2170,7 +2185,8 @@ void SPIRVEmitIntrinsicsImpl::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;
@@ -2344,7 +2360,8 @@ void SPIRVEmitIntrinsicsImpl::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)) {
@@ -2398,7 +2415,7 @@ Instruction *
 SPIRVEmitIntrinsicsImpl::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(),
@@ -2417,7 +2434,7 @@ Instruction *
 SPIRVEmitIntrinsicsImpl::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());
@@ -2879,7 +2896,8 @@ void SPIRVEmitIntrinsicsImpl::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;
         }
       }
@@ -2927,10 +2945,11 @@ void SPIRVEmitIntrinsicsImpl::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) ||
+        isVector1(Op->getType()) || // <1 x T> gets clobbered ty IRTranslator.
         // Check GetElementPtrConstantExpr case.
         (isa<ConstantExpr>(Op) &&
          (isa<GEPOperator>(Op) ||
@@ -2956,11 +2975,12 @@ void SPIRVEmitIntrinsicsImpl::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);
+          CallInst *AssignCI = buildIntrWithMD(
+              Intrinsic::spv_assign_type, {OpTy},
+              getNormalizedPoisonValue(OpTy, CanUseAnyVectorRank), OpTyVal, {},
+              B);
           GR->addAssignPtrTypeInstr(OpTyVal, AssignCI);
         }
       }
@@ -3274,7 +3294,7 @@ void SPIRVEmitIntrinsicsImpl::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);
     }
@@ -3282,7 +3302,8 @@ void SPIRVEmitIntrinsicsImpl::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);
@@ -3429,7 +3450,9 @@ void SPIRVEmitIntrinsicsImpl::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 {
@@ -3483,7 +3506,8 @@ bool SPIRVEmitIntrinsicsImpl::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;
         }
       }
@@ -3500,7 +3524,8 @@ bool SPIRVEmitIntrinsicsImpl::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();
@@ -3531,10 +3556,11 @@ void SPIRVEmitIntrinsicsImpl::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()
@@ -3550,7 +3576,7 @@ void SPIRVEmitIntrinsicsImpl::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(
@@ -3655,6 +3681,8 @@ bool SPIRVEmitIntrinsicsImpl::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();
@@ -3681,8 +3709,9 @@ bool SPIRVEmitIntrinsicsImpl::runOnFunction(Function &Func) {
       continue;
 
     if (SGEP) {
-      GR->addDeducedElementType(SGEP,
-                                normalizeType(SGEP->getResultElementType()));
+      GR->addDeducedElementType(
+          SGEP,
+          normalizeType(SGEP->getResultElementType(), CanUseAnyVectorRank));
       continue;
     }
 
@@ -3693,7 +3722,7 @@ bool SPIRVEmitIntrinsicsImpl::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 a2a06748e75f4..433edbfb12a9f 100644
--- a/llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
@@ -313,11 +313,9 @@ const MachineInstr *SPIRVGlobalRegistry::createConstOrTypeAtFunctionEntry(
   return ConstOrType;
 }
 
-SPIRVTypeInst
-SPIRVGlobalRegistry::getOpTypeVector(uint32_t NumElems, SPIRVTypeInst ElemType,
-                                     MachineIRBuilder &MIRBuilder) {
-  assert(NumElems >= 2 && "SPIR-V OpTypeVector requires at least 2 components");
-
+SPIRVTypeInst SPIRVGlobalRegistry::getOpTypeVectorImpl(
+    uint32_t NumElems, SPIRVTypeInst ElemType, MachineIRBuilder &MIRBuilder,
+    bool IsLongVectorEXT) {
   if (ElemType.isPointer()) {
     if (!cast<SPIRVSubtarget>(MIRBuilder.getMF().getSubtarget())
              .canUseExtension(
@@ -338,13 +336,36 @@ SPIRVGlobalRegistry::getOpTypeVector(uint32_t NumElems, SPIRVTypeInst ElemType,
 
   return createConstOrTypeAtFunctionEntry(
       MIRBuilder, [&](MachineIRBuilder &MIRBuilder) {
-        return MIRBuilder.buildInstr(SPIRV::OpTypeVector)
-            .addDef(createTypeVReg(MIRBuilder))
-            .addUse(getSPIRVTypeID(ElemType))
-            .addImm(NumElems);
+        unsigned Op =
+            IsLongVectorEXT ? SPIRV::OpTypeVectorIdEXT : SPIRV::OpTypeVector;
+        Register VTy = createTypeVReg(MIRBuilder);
+        Register Ty = getSPIRVTypeID(ElemType);
+        auto &MIB = MIRBuilder.buildInstr(Op).addDef(VTy).addUse(Ty);
+        if (!IsLongVectorEXT)
+          return MIB.addImm(NumElems);
+
+        const auto &ST = MIRBuilder.getMF().getSubtarget<SPIRVSubtarget>();
+        SPIRVTypeInst Int32Ty = getOrCreateSPIRVIntegerType(32, MIRBuilder);
+        return MIB.addUse(getOrCreateConstInt(NumElems, *MIB.getInstr(),
+                                              Int32Ty, *ST.getInstrInfo()));
       });
 }
 
+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,
@@ -538,8 +559,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);
   }
@@ -615,9 +635,23 @@ Register SPIRVGlobalRegistry::getOrCreateConstVector(const APInt &Val,
          "Expected vector type for constant vector creation");
   const FixedVectorType *LLVMVecTy = cast<FixedVectorType>(LLVMTy);
   Type *LLVMBaseTy = LLVMVecTy->getElementType();
-  assert(LLVMBaseTy->isIntegerTy() &&
-         "Expected integer element type for APInt constant vector");
-  auto *ConstVal = cast<ConstantInt>(ConstantInt::get(LLVMBaseTy, Val));
+  const auto &ST = I.getMF()->getSubtarget<SPIRVSubtarget>();
+  assert((LLVMBaseTy->isIntegerTy() ||
+          (LLVMBaseTy->isPointerTy() &&
+           ST.canUseExtension(
+               SPIRV::Extension::SPV_INTEL_masked_gather_scatter))) &&
+         "Expected either integer element type for APInt constant vector or "
+         "pointer type if the SPV_INTEL_masked_gather_scatter extension is "
+         "enabled!");
+  Constant *ConstVal = nullptr;
+  if (LLVMBaseTy->isIntegerTy()) {
+    ConstVal = ConstantInt::get(LLVMBaseTy, Val);
+  } else {
+    if (Val.isZero())
+      ConstVal = ConstantPointerNull::get(LLVMBaseTy);
+    else
+      llvm_unreachable("Vectors of non-null constant pointers unimplemented!");
+  }
   auto *ConstVec =
       ConstantVector::getSplat(LLVMVecTy->getElementCount(), ConstVal);
   unsigned BW = getScalarOrVectorBitWidth(SpvType);
@@ -1144,9 +1178,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);
@@ -1221,8 +1257,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 (isLongVectorEXT(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,
@@ -1347,9 +1387,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();
@@ -1403,12 +1446,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 {
@@ -1433,18 +1475,19 @@ unsigned
 SPIRVGlobalRegistry::getScalarOrVectorComponentCount(SPIRVTypeInst Type) const {
   if (!Type)
     return 0;
-  return Type->getOpcode() == SPIRV::OpTypeVector
-             ? static_cast<unsigned>(Type->getOperand(2).getImm())
-             : 1;
+  if (isVectorType(Type))
+    return (Type->getOpcode() == SPIRV::OpTypeVector)
+               ? static_cast<unsigned>(Type->getOperand(2).getImm())
+               : foldImm(Type->getOperand(2), &CurMF->getRegInfo());
+  return 1;
 }
 
 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()));
@@ -1460,7 +1503,10 @@ SPIRVGlobalRegistry::getScalarOrVectorBitWidth(SPIRVTypeInst Type) const {
     return ScalarType->getOperand(1).getImm();
   if (ScalarType->getOpcode() == SPIRV::OpTypeBool)
     return 1;
-  llvm_unreachable("Attempting to get bit width of non-integer/float type.");
+  if (ScalarType->getOpcode() == SPIRV::OpTypePointer)
+    return getPointerSize(); // TODO: does not work for 
diff erent per AS sizes.
+  llvm_unreachable(
+      "Attempting to get bit width of non-integer/float/pointer type.");
 }
 
 unsigned SPIRVGlobalRegistry::getNumScalarOrVectorTotalBitWidth(
@@ -1983,9 +2029,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))
@@ -1995,11 +2044,11 @@ SPIRVTypeInst SPIRVGlobalRegistry::getOrCreateSPIRVVectorType(
   MachineIRBuilder MIRBuilder(*DepMI->getParent(), DepMI->getIterator());
   const MachineInstr *NewMI = createConstOrTypeAtFunctionEntry(
       MIRBuilder, [&](MachineIRBuilder &MIRBuilder) {
-        return BuildMI(MIRBuilder.getMBB(), *MIRBuilder.getInsertPt(),
-                       MIRBuilder.getDL(), TII.get(SPIRV::OpTypeVector))
-            .addDef(createTypeVReg(CurMF->getRegInfo()))
-            .addUse(getSPIRVTypeID(BaseType))
-            .addImm(NumElements);
+        // TODO: consider adding non-const accessors to SPIRVTypeInst, which
+        //       would remove the need for the gash casting here.
+        return const_cast<MachineInstr *>(
+            static_cast<const MachineInstr *>(getOpTypeVectorImpl(
+                NumElements, BaseType, MIRBuilder, isLongVectorEXT(Ty))));
       });
   add(Ty, false, NewMI);
   return finishCreatingSPIRVType(Ty, NewMI);
@@ -2152,7 +2201,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)
@@ -2181,7 +2231,8 @@ LLT SPIRVGlobalRegistry::getRegType(SPIRVTypeInst SpvType) const {
   case SPIRV::OpTypePointer:
   case SPIRV::OpTypeUntypedPointerKHR:
     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) {
@@ -2197,7 +2248,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);
@@ -2279,9 +2331,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 c16a955a548cb..37911c1bffd88 100644
--- a/llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
+++ b/llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
@@ -477,9 +477,16 @@ class SPIRVGlobalRegistry : public SPIRVIRMapping {
   SPIRVTypeInst getOpTypeFloat(uint32_t Width, MachineIRBuilder &MIRBuilder,
                                SPIRV::FPEncoding::FPEncoding FPEncode);
 
+  SPIRVTypeInst getOpTypeVectorImpl(uint32_t NumElems, SPIRVTypeInst ElemType,
+                                    MachineIRBuilder &MIRBuilder,
+                                    bool IsLongVectorEXT = 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);
@@ -732,7 +739,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 79be9dee82546..805acfdec37b9 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,
   }
 }
 
+static 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 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 12aab2b15d012..04dea3ead579f 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, ID:$compCount),
+                  "$type = OpTypeVectorIdEXT $compType $compCount">;
 
 // 3.42.7 Constant-Creation Instructions
 

diff  --git a/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp b/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
index f3f9984190de5..e64c5ad38ba2a 100644
--- a/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
@@ -778,6 +778,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:
@@ -1259,14 +1260,12 @@ bool SPIRVInstructionSelector::spvSelect(Register ResVReg,
 
   case TargetOpcode::G_UADDO:
     return selectOverflowArith(ResVReg, ResType, I,
-                               ResType->getOpcode() == SPIRV::OpTypeVector
-                                   ? SPIRV::OpIAddCarryV
-                                   : SPIRV::OpIAddCarryS);
+                               isVectorType(ResType) ? SPIRV::OpIAddCarryV
+                                                     : SPIRV::OpIAddCarryS);
   case TargetOpcode::G_USUBO:
     return selectOverflowArith(ResVReg, ResType, I,
-                               ResType->getOpcode() == SPIRV::OpTypeVector
-                                   ? SPIRV::OpISubBorrowV
-                                   : SPIRV::OpISubBorrowS);
+                               isVectorType(ResType) ? SPIRV::OpISubBorrowV
+                                                     : SPIRV::OpISubBorrowS);
   case TargetOpcode::G_UMULO:
     return selectOverflowArith(ResVReg, ResType, I, SPIRV::OpUMulExtended);
   case TargetOpcode::G_SMULO:
@@ -1425,9 +1424,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:
@@ -2323,6 +2321,23 @@ bool SPIRVInstructionSelector::selectStore(MachineInstr &I) const {
     }
   }
 
+  SPIRVTypeInst PointeeTy = GR.getPointeeType(GR.getSPIRVTypeForVReg(Ptr));
+  SPIRVTypeInst StoreTy = GR.getSPIRVTypeForVReg(StoreVal);
+  if (PointeeTy && 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())
@@ -2735,7 +2750,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");
 
@@ -2758,7 +2773,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))
@@ -2789,11 +2804,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(
       STI.getTargetTriple(), 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)
@@ -2827,7 +2842,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)
+  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);
@@ -3274,8 +3290,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);
   }
@@ -3287,7 +3302,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());
@@ -3307,7 +3322,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))
@@ -3339,9 +3354,11 @@ bool SPIRVInstructionSelector::selectFloatDot(Register ResVReg,
   [[maybe_unused]] SPIRVTypeInst VecType =
       GR.getSPIRVTypeForVReg(I.getOperand(2).getReg());
 
-  assert(VecType->getOpcode() == SPIRV::OpTypeVector &&
-         GR.getScalarOrVectorComponentCount(VecType) > 1 &&
-         "dot product requires a vector of at least 2 components");
+  assert(((VecType->getOpcode() == SPIRV::OpTypeVector &&
+           GR.getScalarOrVectorComponentCount(VecType) > 1) ||
+          VecType->getOpcode() == SPIRV::OpTypeVectorIdEXT) &&
+         "dot product requires either a vector of at least 2 components or"
+         " the SPV_EXT_long vector extension.");
 
   [[maybe_unused]] SPIRVTypeInst EltType =
       GR.getScalarOrVectorComponentType(VecType);
@@ -3399,9 +3416,11 @@ bool SPIRVInstructionSelector::selectIntegerDotExpansion(
       .addUse(Vec1)
       .constrainAllUses(TII, TRI, RBI);
 
-  assert(VecType->getOpcode() == SPIRV::OpTypeVector &&
-         GR.getScalarOrVectorComponentCount(VecType) > 1 &&
-         "dot product requires a vector of at least 2 components");
+  assert(((VecType->getOpcode() == SPIRV::OpTypeVector &&
+           GR.getScalarOrVectorComponentCount(VecType) > 1) ||
+          VecType->getOpcode() == SPIRV::OpTypeVectorIdEXT) &&
+         "dot product requires either a vector of at least 2 components "
+         "or the SPV_EXT_long_vector extension.");
 
   Register Res = MRI->createVirtualRegister(GR.getRegClass(ResType));
   BuildMI(BB, I, I.getDebugLoc(), TII.get(SPIRV::OpCompositeExtract))
@@ -3757,7 +3776,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);
@@ -4048,7 +4069,8 @@ 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;
 
@@ -4255,7 +4277,8 @@ 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;
@@ -4267,7 +4290,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);
@@ -4366,7 +4391,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);
@@ -4382,7 +4407,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");
 
@@ -4418,7 +4443,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);
@@ -4433,7 +4458,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");
 
@@ -4455,7 +4480,7 @@ bool SPIRVInstructionSelector::selectConcatVectors(Register ResVReg,
   // Implement G_CONCAT_VECTORS using OpCompositeConstruct, which allows vector
   // constituents that share the result's component type to be
   // concatenated in operand order.
-  if (ResType->getOpcode() != SPIRV::OpTypeVector)
+  if (!isVectorType(ResType))
     report_fatal_error(
         "Cannot select G_CONCAT_VECTORS with a non-vector result");
 
@@ -4622,8 +4647,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);
@@ -4641,9 +4665,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))
@@ -4663,7 +4686,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);
 }
@@ -4719,7 +4742,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);
 }
@@ -4729,7 +4752,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);
 }
@@ -4740,7 +4763,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);
 }
@@ -4757,13 +4780,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) {
@@ -4826,7 +4847,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);
     }
@@ -4862,7 +4883,8 @@ 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.
@@ -4891,7 +4913,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)
@@ -4916,8 +4941,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();
@@ -4962,9 +4987,22 @@ bool SPIRVInstructionSelector::selectConst(Register ResVReg,
     MachineBasicBlock &DepMBB = I.getMF()->front();
     MachineIRBuilder MIRBuilder(DepMBB, DepMBB.getFirstNonPHI());
     Reg = GR.getOrCreateConstNullPtr(MIRBuilder, ResType);
+  } else if (TpOpcode == SPIRV::OpTypeVectorIdEXT) {
+    // We ended up here coming from a splat on a <1 x T> type, which
+    // IRTranslator translated into a scalar, so we have to restore the
+    // vectorness.
+    assert(GR.getScalarOrVectorComponentCount(ResType) == 1 &&
+           "Expected <1 x T> Vector!");
+    if (Opcode == TargetOpcode::G_FCONSTANT)
+      Reg = GR.getOrCreateConstVector(I.getOperand(1).getFPImm()->getValue(), I,
+                                      ResType, TII);
+    else // We handle vector of pointer here as well.
+      Reg = GR.getOrCreateConstVector(I.getOperand(1).getCImm()->getValue(), I,
+                                      ResType, TII);
   } else if (Opcode == TargetOpcode::G_FCONSTANT) {
     Reg = GR.getOrCreateConstFP(I.getOperand(1).getFPImm()->getValue(), I,
                                 ResType, TII, !STI.isShader());
+
   } else {
     Reg = GR.getOrCreateConstInt(I.getOperand(1).getCImm()->getValue(), I,
                                  ResType, TII, !STI.isShader());
@@ -5143,6 +5181,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;
 }
 
@@ -6677,8 +6745,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 IsLongVectorEXT =
+      STI.canUseExtension(SPIRV::Extension::SPV_EXT_long_vector);
+  assert((InputSize > 1 || IsLongVectorEXT) && "The input must be a vector.");
+  assert((ResultSize > 1 || IsLongVectorEXT) && "The result must be a vector.");
   assert(ResultSize < InputSize &&
          "Cannot extract more element than there are in the input.");
   SmallVector<Register> ComponentRegisters;
@@ -6726,7 +6796,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)
@@ -6808,6 +6878,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,
@@ -6839,7 +6910,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},
@@ -7057,6 +7128,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();
@@ -7368,8 +7440,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
@@ -7383,9 +7454,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))
@@ -7593,7 +7663,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 16e2379f5657a..228e975a3711c 100644
--- a/llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.cpp
@@ -458,8 +458,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});
@@ -602,8 +605,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 e32d720aed8f7..b6750d9c152e6 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;
 
@@ -166,6 +173,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 ExtendedIntScalarsAndVectors =
       [IsExtendedInts](const LegalityQuery &Query) {
         const LLT Ty = Query.Types[0];
@@ -206,6 +214,7 @@ SPIRVLegalizerInfo::SPIRVLegalizerInfo(const SPIRVSubtarget &ST) {
       getActionDefinitionsBuilder(Opc)
           .customFor(allScalars)
           .customFor(allowedVectorTypes)
+          .customIf(typeOfLongVectors(0, IsLongVecs))
           .moreElementsToNextPow2(0)
           .fewerElementsIf(vectorElementCountIsGreaterThan(0, MaxVectorSize),
                            LegalizeMutations::changeElementCountTo(
@@ -218,6 +227,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(
@@ -227,6 +237,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(
@@ -237,12 +248,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(
@@ -250,6 +264,7 @@ SPIRVLegalizerInfo::SPIRVLegalizerInfo(const SPIRVSubtarget &ST) {
       .custom();
 
   getActionDefinitionsBuilder(G_INSERT_VECTOR_ELT)
+      .customIf(typeOfLongVectors(0, IsLongVecs))
       .moreElementsToNextPow2(0)
       .fewerElementsIf(vectorElementCountIsGreaterThan(0, MaxVectorSize),
                        LegalizeMutations::changeElementCountTo(
@@ -259,6 +274,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))
       .fewerElementsIf(vectorElementCountIsGreaterThan(0, MaxVectorSize),
                        LegalizeMutations::changeElementCountTo(
@@ -271,6 +287,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),
@@ -281,10 +298,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))
@@ -297,6 +317,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();
 
@@ -307,6 +328,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})
@@ -327,6 +350,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,
@@ -357,17 +381,20 @@ SPIRVLegalizerInfo::SPIRVLegalizerInfo(const SPIRVSubtarget &ST) {
 
   getActionDefinitionsBuilder(G_CTPOP)
       .legalForCartesianProduct(allIntScalarsAndVectors)
-      .legalIf(ExtendedScalarsAndVectorsProduct);
+      .legalIf(ExtendedScalarsAndVectorsProduct)
+      .legalIf(typeOfLongVectors(0, IsLongVecs));
 
   getActionDefinitionsBuilder({G_TRUNC, G_ZEXT, G_SEXT, G_ANYEXT})
       .legalForCartesianProduct(allScalarsAndVectors)
       .legalIf(ExtendedScalarsAndVectorsProduct)
+      .legalIf(typeOfLongVectors(0, IsLongVecs))
       .moreElementsToNextPow2(0)
       .fewerElementsIf(vectorElementCountIsGreaterThan(0, MaxVectorSize),
                        LegalizeMutations::changeElementCountTo(
                            0, ElementCount::getFixed(MaxVectorSize)));
 
   getActionDefinitionsBuilder(G_SEXT_INREG)
+      .lowerIf(typeOfLongVectors(0, IsLongVecs))
       .moreElementsToNextPow2(0)
       .fewerElementsIf(vectorElementCountIsGreaterThan(0, MaxVectorSize),
                        LegalizeMutations::changeElementCountTo(
@@ -375,6 +402,7 @@ SPIRVLegalizerInfo::SPIRVLegalizerInfo(const SPIRVSubtarget &ST) {
       .lower();
 
   getActionDefinitionsBuilder(G_PHI)
+      .legalIf(typeOfLongVectors(0, IsLongVecs))
       .fewerElementsIf(vectorElementCountIsGreaterThan(0, MaxVectorSize),
                        LegalizeMutations::changeElementCountTo(
                            0, ElementCount::getFixed(MaxVectorSize)))
@@ -393,6 +421,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(
@@ -632,7 +661,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 2818ea3ea81ba..b11562b00dbe1 100644
--- a/llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
@@ -1239,7 +1239,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)
@@ -1483,7 +1483,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);
@@ -1535,6 +1535,19 @@ static void addImageOperandReqs(const MachineInstr &MI,
                                  1U << I, ST);
 }
 
+static inline void maybeAddScatterGatherReq(const MachineInstr &MI,
+                                            SPIRV::RequirementHandler &Reqs,
+                                            const SPIRVSubtarget &ST) {
+  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);
+  }
+}
+
 void addInstrRequirements(const MachineInstr &MI,
                           SPIRV::ModuleAnalysisInfo &MAI,
                           const SPIRVSubtarget &ST) {
@@ -1621,14 +1634,16 @@ void addInstrRequirements(const MachineInstr &MI,
     if (NumComponents == 8 || NumComponents == 16)
       Reqs.addCapability(SPIRV::Capability::Vector16);
 
-    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);
-    }
+    maybeAddScatterGatherReq(MI, Reqs, ST);
+    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);
+    maybeAddScatterGatherReq(MI, Reqs, ST);
     break;
   }
   case SPIRV::OpTypePointer: {
@@ -2566,7 +2581,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))
@@ -2596,7 +2611,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 33abbe2eedaae..bce2824eca0d2 100644
--- a/llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
@@ -230,7 +230,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;
@@ -325,7 +326,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/SPIRVPreLegalizer.cpp b/llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
index ab223bf36fe95..80c27e0c3f8dd 100644
--- a/llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
@@ -798,6 +798,9 @@ generateAssignInstrs(MachineFunction &MF, SPIRVGlobalRegistry *GR,
         // G_GLOBAL_VALUE already has type info.
         if (Def->getOpcode() != TargetOpcode::G_GLOBAL_VALUE)
           updateRegType(Reg, Ty, nullptr, GR, MIB, MF.getRegInfo());
+        if (Def->getOpcode() == TargetOpcode::COPY && isVector1(Ty))
+          updateRegType(passCopy(Def, &MF.getRegInfo())->getOperand(0).getReg(),
+                        Ty, nullptr, GR, MIB, MF.getRegInfo());
         ToErase.push_back(&MI);
       } else if (MIOp == TargetOpcode::FAKE_USE && MI.getNumOperands() > 0) {
         MachineInstr *MdMI = MI.getPrevNode();

diff  --git a/llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td b/llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
index 52c174a95cd51..561d0fdef4026 100644
--- a/llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
+++ b/llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
@@ -405,6 +405,7 @@ defm SPV_AMD_weak_linkage : ExtensionOperand<137, [EnvOpenCL]>;
 defm SPV_KHR_abort : ExtensionOperand<138, [EnvOpenCL]>;
 defm SPV_KHR_poison_freeze : ExtensionOperand<139, [EnvVulkan, EnvOpenCL]>;
 defm SPV_KHR_untyped_pointers : ExtensionOperand<140, [EnvOpenCL]>;
+defm SPV_EXT_long_vector : ExtensionOperand<141, [EnvOpenCL, EnvVulkan]>;
 
 //===----------------------------------------------------------------------===//
 // Multiclass used to define Capabilities enum values and at the same time
@@ -644,6 +645,7 @@ defm ArbitraryPrecisionFloatingPointALTERA : CapabilityOperand<5845, 0, 0,[SPV_A
 defm UnstructuredLoopControlsINTEL : CapabilityOperand<5886, 0, 0, [SPV_INTEL_unstructured_loop_controls], []>;
 defm PoisonFreezeKHR : CapabilityOperand<5156, 0, 0, [SPV_KHR_poison_freeze], []>;
 defm UntypedPointersKHR : CapabilityOperand<4473, 0, 0, [SPV_KHR_untyped_pointers], []>;
+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 b10c06ca9b484..dacb20f022818 100644
--- a/llvm/lib/Target/SPIRV/SPIRVUtils.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVUtils.cpp
@@ -1000,6 +1000,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 abae9cc3da23a..238d45437353d 100644
--- a/llvm/lib/Target/SPIRV/SPIRVUtils.h
+++ b/llvm/lib/Target/SPIRV/SPIRVUtils.h
@@ -514,21 +514,39 @@ 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 isLongVectorEXT(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..0d69957d66b41
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/bool-vector-bitcast.ll
@@ -0,0 +1,375 @@
+; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector,+SPV_ALTERA_arbitrary_precision_integers %s -o - | FileCheck %s
+; RUN: %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: %[[#I32:]] = OpTypeInt 32 0
+; CHECK-DAG: %[[#ONE:]] = OpConstant %[[#I32]] 1
+; CHECK-DAG: %[[#SEVENTEEN:]] = OpConstant %[[#I32]] 17
+; CHECK-DAG: %[[#BOOL:]] = OpTypeBool
+; CHECK-DAG: %[[#BVEC8:]] = OpTypeVector %[[#BOOL]] 8
+; CHECK-DAG: %[[#BVEC17:]] = OpTypeVectorIdEXT %[[#BOOL]] %[[#SEVENTEEN]]
+; CHECK-DAG: %[[#I8:]] = OpTypeInt 8 0
+; CHECK-DAG: %[[#I17:]] = OpTypeInt 17 0
+; CHECK-DAG: %[[#VEC1_I8:]] = OpTypeVectorIdEXT %[[#I8]] %[[#ONE]]
+
+; 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..2ee2225e75a11
--- /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
+; RUN: %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: %[[#SEVENTEEN:]] = OpConstant %[[#I32]] 17
+; CHECK: %[[#V17I32:]] = OpTypeVectorIdEXT %[[#I32]] %[[#SEVENTEEN]]
+; CHECK: OpTypeFunction
+; CHECK: %[[#X17I32:]] = OpFunctionParameter %[[#V17I32]]
+; CHECK: %[[#]] = OpBitCount %[[#V17I32]] %[[#X17I32]]
+
+ at g5 = addrspace(1) global <17 x i32> poison, 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..7a3953af4382c
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/getelementptr-vector-index.ll
@@ -0,0 +1,28 @@
+; 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 has a bug around validating OpTypeVectorIdEXTs with Pointer type elements, as it seems to only allow scalar numerical types for the latter.
+; 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: OpCapability LongVectorEXT
+; CHECK: OpExtension "SPV_EXT_long_vector"
+; CHECK-DAG: %[[#INT32:]] = OpTypeInt 32 0
+; CHECK-DAG: %[[#ONE:]] = OpConstant %[[#INT32]] 1
+; CHECK-DAG: %[[#PTR_INT32:]] = OpTypePointer CrossWorkgroup %[[#INT32]]
+; CHECK-DAG: %[[#INT64:]] = OpTypeInt 64 0
+; CHECK-DAG: %[[#VEC1_INT64:]] = OpTypeVectorIdEXT %[[#INT64]] %[[#ONE]]
+; CHECK-DAG: %[[#VEC1_PTR:]] = OpTypeVectorIdEXT %[[#PTR_INT32]] %[[#ONE]]
+; CHECK-DAG: %[[#NULL_VEC:]] = OpConstantNull %[[#VEC1_INT64]]
+; CHECK-LABEL: Begin function test_vector_gep_with_load
+; CHECK: %[[#IDX:]] = OpCompositeExtract %[[#INT64]] %[[#NULL_VEC]]
+; CHECK: %[[#GEP:]] = OpPtrAccessChain %[[#PTR_INT32]] %[[#]] %[[#IDX]]
+; 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/huge-vector.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/huge-vector.ll
new file mode 100644
index 0000000000000..9d23142448d90
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/huge-vector.ll
@@ -0,0 +1,40 @@
+; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector %s -o - | FileCheck %s
+; spirv-val has a bug around validating OpVectorShuffle with large OpTypeVectorIdEXT operands, as it seems to incorrectly compute the combined size.
+; TODO: %if spirv-tools %{ llc -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+
+; Due to implementation details in LLT the maximum vector rank is UINT16_MAX
+
+; CHECK: %[[#INT32_TY:]] = OpTypeInt 32
+
+; CHECK-DAG: %[[#CONST_1023:]] = OpConstant %[[#INT32_TY]] 1023
+; CHECK-DAG: %[[#CONST_2046:]] = OpConstant %[[#INT32_TY]] 2046
+; CHECK-DAG: %[[#CONST_65535:]] = OpConstant %[[#INT32_TY]] 65535
+
+; CHECK-DAG: %[[#V1023:]] = OpTypeVectorIdEXT %[[#INT32_TY]] %[[#CONST_1023]]
+; CHECK-DAG: %[[#V2046:]] = OpTypeVectorIdEXT %[[#INT32_TY]] %[[#CONST_2046]]
+; CHECK-DAG: %[[#V65535:]] = OpTypeVectorIdEXT %[[#INT32_TY]] %[[#CONST_65535]]
+
+; CHECK-DAG: %[[#PTR_G:]] = OpTypePointer CrossWorkgroup %[[#V65535]]
+; CHECK-DAG: %[[#G:]] = OpVariable %[[#PTR_G]] CrossWorkgroup
+ at G = external addrspace(1) global <65535 x i32>
+
+; CHECK: OpFunction %[[#V2046]]
+; CHECK-NEXT: %[[#X:]] = OpFunctionParameter %[[#V1023]]
+; CHECK-NEXT: %[[#Y:]] = OpFunctionParameter %[[#V1023]]
+define <2046 x i32> @foo(<1023 x i32> %x, <1023 x i32> %y) {
+; CHECK: %[[#A:]] = OpVectorShuffle %[[#V2046]] %[[#X]] %[[#Y]]
+  %a = shufflevector <1023 x i32> %x, <1023 x i32> %y, <2046 x i32> <i32 0, i32 256, i32 512, i32 768, i32 1024, i32 1280, i32 1536, i32 1792, i32 1, i32 257, i32 513, i32 769, i32 1025, i32 1281, i32 1537, i32 1793, i32 2, i32 258, i32 514, i32 770, i32 1026, i32 1282, i32 1538, i32 1794, i32 3, i32 259, i32 515, i32 771, i32 1027, i32 1283, i32 1539, i32 1795, i32 4, i32 260, i32 516, i32 772, i32 1028, i32 1284, i32 1540, i32 1796, i32 5, i32 261, i32 517, i32 773, i32 1029, i32 1285, i32 1541, i32 1797, i32 6, i32 262, i32 518, i32 774, i32 1030, i32 1286, i32 1542, i32 1798, i32 7, i32 263, i32 519, i32 775, i32 1031, i32 1287, i32 1543, i32 1799, i32 8, i32 264, i32 520, i32 776, i32 1032, i32 1288, i32 1544, i32 1800, i32 9, i32 265, i32 521, i32 777, i32 1033, i32 1289, i32 1545, i32 1801, i32 10, i32 266, i32 522, i32 778, i32 1034, i32 1290, i32 1546, i32 1802, i32 11, i32 267, i32 523, i32 779, i32 1035, i32 1291, i32 1547, i32 1803, i32 12, i32 268, i32 524, i32 780, i32 1036, i32 1292, i32 1548, i32 1804, i32 13, i32 269, i32 525, i32 781, i32 1037, i32 1293, i32 1549, i32 1805, i32 14, i32 270, i32 526, i32 782, i32 1038, i32 1294, i32 1550, i32 1806, i32 15, i32 271, i32 527, i32 783, i32 1039, i32 1295, i32 1551, i32 1807, i32 16, i32 272, i32 528, i32 784, i32 1040, i32 1296, i32 1552, i32 1808, i32 17, i32 273, i32 529, i32 785, i32 1041, i32 1297, i32 1553, i32 1809, i32 18, i32 274, i32 530, i32 786, i32 1042, i32 1298, i32 1554, i32 1810, i32 19, i32 275, i32 531, i32 787, i32 1043, i32 1299, i32 1555, i32 1811, i32 20, i32 276, i32 532, i32 788, i32 1044, i32 1300, i32 1556, i32 1812, i32 21, i32 277, i32 533, i32 789, i32 1045, i32 1301, i32 1557, i32 1813, i32 22, i32 278, i32 534, i32 790, i32 1046, i32 1302, i32 1558, i32 1814, i32 23, i32 279, i32 535, i32 791, i32 1047, i32 1303, i32 1559, i32 1815, i32 24, i32 280, i32 536, i32 792, i32 1048, i32 1304, i32 1560, i32 1816, i32 25, i32 281, i32 537, i32 793, i32 1049, i32 1305, i32 1561, i32 1817, i32 26, i32 282, i32 538, i32 794, i32 1050, i32 1306, i32 1562, i32 1818, i32 27, i32 283, i32 539, i32 795, i32 1051, i32 1307, i32 1563, i32 1819, i32 28, i32 284, i32 540, i32 796, i32 1052, i32 1308, i32 1564, i32 1820, i32 29, i32 285, i32 541, i32 797, i32 1053, i32 1309, i32 1565, i32 1821, i32 30, i32 286, i32 542, i32 798, i32 1054, i32 1310, i32 1566, i32 1822, i32 31, i32 287, i32 543, i32 799, i32 1055, i32 1311, i32 1567, i32 1823, i32 32, i32 288, i32 544, i32 800, i32 1056, i32 1312, i32 1568, i32 1824, i32 33, i32 289, i32 545, i32 801, i32 1057, i32 1313, i32 1569, i32 1825, i32 34, i32 290, i32 546, i32 802, i32 1058, i32 1314, i32 1570, i32 1826, i32 35, i32 291, i32 547, i32 803, i32 1059, i32 1315, i32 1571, i32 1827, i32 36, i32 292, i32 548, i32 804, i32 1060, i32 1316, i32 1572, i32 1828, i32 37, i32 293, i32 549, i32 805, i32 1061, i32 1317, i32 1573, i32 1829, i32 38, i32 294, i32 550, i32 806, i32 1062, i32 1318, i32 1574, i32 1830, i32 39, i32 295, i32 551, i32 807, i32 1063, i32 1319, i32 1575, i32 1831, i32 40, i32 296, i32 552, i32 808, i32 1064, i32 1320, i32 1576, i32 1832, i32 41, i32 297, i32 553, i32 809, i32 1065, i32 1321, i32 1577, i32 1833, i32 42, i32 298, i32 554, i32 810, i32 1066, i32 1322, i32 1578, i32 1834, i32 43, i32 299, i32 555, i32 811, i32 1067, i32 1323, i32 1579, i32 1835, i32 44, i32 300, i32 556, i32 812, i32 1068, i32 1324, i32 1580, i32 1836, i32 45, i32 301, i32 557, i32 813, i32 1069, i32 1325, i32 1581, i32 1837, i32 46, i32 302, i32 558, i32 814, i32 1070, i32 1326, i32 1582, i32 1838, i32 47, i32 303, i32 559, i32 815, i32 1071, i32 1327, i32 1583, i32 1839, i32 48, i32 304, i32 560, i32 816, i32 1072, i32 1328, i32 1584, i32 1840, i32 49, i32 305, i32 561, i32 817, i32 1073, i32 1329, i32 1585, i32 1841, i32 50, i32 306, i32 562, i32 818, i32 1074, i32 1330, i32 1586, i32 1842, i32 51, i32 307, i32 563, i32 819, i32 1075, i32 1331, i32 1587, i32 1843, i32 52, i32 308, i32 564, i32 820, i32 1076, i32 1332, i32 1588, i32 1844, i32 53, i32 309, i32 565, i32 821, i32 1077, i32 1333, i32 1589, i32 1845, i32 54, i32 310, i32 566, i32 822, i32 1078, i32 1334, i32 1590, i32 1846, i32 55, i32 311, i32 567, i32 823, i32 1079, i32 1335, i32 1591, i32 1847, i32 56, i32 312, i32 568, i32 824, i32 1080, i32 1336, i32 1592, i32 1848, i32 57, i32 313, i32 569, i32 825, i32 1081, i32 1337, i32 1593, i32 1849, i32 58, i32 314, i32 570, i32 826, i32 1082, i32 1338, i32 1594, i32 1850, i32 59, i32 315, i32 571, i32 827, i32 1083, i32 1339, i32 1595, i32 1851, i32 60, i32 316, i32 572, i32 828, i32 1084, i32 1340, i32 1596, i32 1852, i32 61, i32 317, i32 573, i32 829, i32 1085, i32 1341, i32 1597, i32 1853, i32 62, i32 318, i32 574, i32 830, i32 1086, i32 1342, i32 1598, i32 1854, i32 63, i32 319, i32 575, i32 831, i32 1087, i32 1343, i32 1599, i32 1855, i32 64, i32 320, i32 576, i32 832, i32 1088, i32 1344, i32 1600, i32 1856, i32 65, i32 321, i32 577, i32 833, i32 1089, i32 1345, i32 1601, i32 1857, i32 66, i32 322, i32 578, i32 834, i32 1090, i32 1346, i32 1602, i32 1858, i32 67, i32 323, i32 579, i32 835, i32 1091, i32 1347, i32 1603, i32 1859, i32 68, i32 324, i32 580, i32 836, i32 1092, i32 1348, i32 1604, i32 1860, i32 69, i32 325, i32 581, i32 837, i32 1093, i32 1349, i32 1605, i32 1861, i32 70, i32 326, i32 582, i32 838, i32 1094, i32 1350, i32 1606, i32 1862, i32 71, i32 327, i32 583, i32 839, i32 1095, i32 1351, i32 1607, i32 1863, i32 72, i32 328, i32 584, i32 840, i32 1096, i32 1352, i32 1608, i32 1864, i32 73, i32 329, i32 585, i32 841, i32 1097, i32 1353, i32 1609, i32 1865, i32 74, i32 330, i32 586, i32 842, i32 1098, i32 1354, i32 1610, i32 1866, i32 75, i32 331, i32 587, i32 843, i32 1099, i32 1355, i32 1611, i32 1867, i32 76, i32 332, i32 588, i32 844, i32 1100, i32 1356, i32 1612, i32 1868, i32 77, i32 333, i32 589, i32 845, i32 1101, i32 1357, i32 1613, i32 1869, i32 78, i32 334, i32 590, i32 846, i32 1102, i32 1358, i32 1614, i32 1870, i32 79, i32 335, i32 591, i32 847, i32 1103, i32 1359, i32 1615, i32 1871, i32 80, i32 336, i32 592, i32 848, i32 1104, i32 1360, i32 1616, i32 1872, i32 81, i32 337, i32 593, i32 849, i32 1105, i32 1361, i32 1617, i32 1873, i32 82, i32 338, i32 594, i32 850, i32 1106, i32 1362, i32 1618, i32 1874, i32 83, i32 339, i32 595, i32 851, i32 1107, i32 1363, i32 1619, i32 1875, i32 84, i32 340, i32 596, i32 852, i32 1108, i32 1364, i32 1620, i32 1876, i32 85, i32 341, i32 597, i32 853, i32 1109, i32 1365, i32 1621, i32 1877, i32 86, i32 342, i32 598, i32 854, i32 1110, i32 1366, i32 1622, i32 1878, i32 87, i32 343, i32 599, i32 855, i32 1111, i32 1367, i32 1623, i32 1879, i32 88, i32 344, i32 600, i32 856, i32 1112, i32 1368, i32 1624, i32 1880, i32 89, i32 345, i32 601, i32 857, i32 1113, i32 1369, i32 1625, i32 1881, i32 90, i32 346, i32 602, i32 858, i32 1114, i32 1370, i32 1626, i32 1882, i32 91, i32 347, i32 603, i32 859, i32 1115, i32 1371, i32 1627, i32 1883, i32 92, i32 348, i32 604, i32 860, i32 1116, i32 1372, i32 1628, i32 1884, i32 93, i32 349, i32 605, i32 861, i32 1117, i32 1373, i32 1629, i32 1885, i32 94, i32 350, i32 606, i32 862, i32 1118, i32 1374, i32 1630, i32 1886, i32 95, i32 351, i32 607, i32 863, i32 1119, i32 1375, i32 1631, i32 1887, i32 96, i32 352, i32 608, i32 864, i32 1120, i32 1376, i32 1632, i32 1888, i32 97, i32 353, i32 609, i32 865, i32 1121, i32 1377, i32 1633, i32 1889, i32 98, i32 354, i32 610, i32 866, i32 1122, i32 1378, i32 1634, i32 1890, i32 99, i32 355, i32 611, i32 867, i32 1123, i32 1379, i32 1635, i32 1891, i32 100, i32 356, i32 612, i32 868, i32 1124, i32 1380, i32 1636, i32 1892, i32 101, i32 357, i32 613, i32 869, i32 1125, i32 1381, i32 1637, i32 1893, i32 102, i32 358, i32 614, i32 870, i32 1126, i32 1382, i32 1638, i32 1894, i32 103, i32 359, i32 615, i32 871, i32 1127, i32 1383, i32 1639, i32 1895, i32 104, i32 360, i32 616, i32 872, i32 1128, i32 1384, i32 1640, i32 1896, i32 105, i32 361, i32 617, i32 873, i32 1129, i32 1385, i32 1641, i32 1897, i32 106, i32 362, i32 618, i32 874, i32 1130, i32 1386, i32 1642, i32 1898, i32 107, i32 363, i32 619, i32 875, i32 1131, i32 1387, i32 1643, i32 1899, i32 108, i32 364, i32 620, i32 876, i32 1132, i32 1388, i32 1644, i32 1900, i32 109, i32 365, i32 621, i32 877, i32 1133, i32 1389, i32 1645, i32 1901, i32 110, i32 366, i32 622, i32 878, i32 1134, i32 1390, i32 1646, i32 1902, i32 111, i32 367, i32 623, i32 879, i32 1135, i32 1391, i32 1647, i32 1903, i32 112, i32 368, i32 624, i32 880, i32 1136, i32 1392, i32 1648, i32 1904, i32 113, i32 369, i32 625, i32 881, i32 1137, i32 1393, i32 1649, i32 1905, i32 114, i32 370, i32 626, i32 882, i32 1138, i32 1394, i32 1650, i32 1906, i32 115, i32 371, i32 627, i32 883, i32 1139, i32 1395, i32 1651, i32 1907, i32 116, i32 372, i32 628, i32 884, i32 1140, i32 1396, i32 1652, i32 1908, i32 117, i32 373, i32 629, i32 885, i32 1141, i32 1397, i32 1653, i32 1909, i32 118, i32 374, i32 630, i32 886, i32 1142, i32 1398, i32 1654, i32 1910, i32 119, i32 375, i32 631, i32 887, i32 1143, i32 1399, i32 1655, i32 1911, i32 120, i32 376, i32 632, i32 888, i32 1144, i32 1400, i32 1656, i32 1912, i32 121, i32 377, i32 633, i32 889, i32 1145, i32 1401, i32 1657, i32 1913, i32 122, i32 378, i32 634, i32 890, i32 1146, i32 1402, i32 1658, i32 1914, i32 123, i32 379, i32 635, i32 891, i32 1147, i32 1403, i32 1659, i32 1915, i32 124, i32 380, i32 636, i32 892, i32 1148, i32 1404, i32 1660, i32 1916, i32 125, i32 381, i32 637, i32 893, i32 1149, i32 1405, i32 1661, i32 1917, i32 126, i32 382, i32 638, i32 894, i32 1150, i32 1406, i32 1662, i32 1918, i32 127, i32 383, i32 639, i32 895, i32 1151, i32 1407, i32 1663, i32 1919, i32 128, i32 384, i32 640, i32 896, i32 1152, i32 1408, i32 1664, i32 1920, i32 129, i32 385, i32 641, i32 897, i32 1153, i32 1409, i32 1665, i32 1921, i32 130, i32 386, i32 642, i32 898, i32 1154, i32 1410, i32 1666, i32 1922, i32 131, i32 387, i32 643, i32 899, i32 1155, i32 1411, i32 1667, i32 1923, i32 132, i32 388, i32 644, i32 900, i32 1156, i32 1412, i32 1668, i32 1924, i32 133, i32 389, i32 645, i32 901, i32 1157, i32 1413, i32 1669, i32 1925, i32 134, i32 390, i32 646, i32 902, i32 1158, i32 1414, i32 1670, i32 1926, i32 135, i32 391, i32 647, i32 903, i32 1159, i32 1415, i32 1671, i32 1927, i32 136, i32 392, i32 648, i32 904, i32 1160, i32 1416, i32 1672, i32 1928, i32 137, i32 393, i32 649, i32 905, i32 1161, i32 1417, i32 1673, i32 1929, i32 138, i32 394, i32 650, i32 906, i32 1162, i32 1418, i32 1674, i32 1930, i32 139, i32 395, i32 651, i32 907, i32 1163, i32 1419, i32 1675, i32 1931, i32 140, i32 396, i32 652, i32 908, i32 1164, i32 1420, i32 1676, i32 1932, i32 141, i32 397, i32 653, i32 909, i32 1165, i32 1421, i32 1677, i32 1933, i32 142, i32 398, i32 654, i32 910, i32 1166, i32 1422, i32 1678, i32 1934, i32 143, i32 399, i32 655, i32 911, i32 1167, i32 1423, i32 1679, i32 1935, i32 144, i32 400, i32 656, i32 912, i32 1168, i32 1424, i32 1680, i32 1936, i32 145, i32 401, i32 657, i32 913, i32 1169, i32 1425, i32 1681, i32 1937, i32 146, i32 402, i32 658, i32 914, i32 1170, i32 1426, i32 1682, i32 1938, i32 147, i32 403, i32 659, i32 915, i32 1171, i32 1427, i32 1683, i32 1939, i32 148, i32 404, i32 660, i32 916, i32 1172, i32 1428, i32 1684, i32 1940, i32 149, i32 405, i32 661, i32 917, i32 1173, i32 1429, i32 1685, i32 1941, i32 150, i32 406, i32 662, i32 918, i32 1174, i32 1430, i32 1686, i32 1942, i32 151, i32 407, i32 663, i32 919, i32 1175, i32 1431, i32 1687, i32 1943, i32 152, i32 408, i32 664, i32 920, i32 1176, i32 1432, i32 1688, i32 1944, i32 153, i32 409, i32 665, i32 921, i32 1177, i32 1433, i32 1689, i32 1945, i32 154, i32 410, i32 666, i32 922, i32 1178, i32 1434, i32 1690, i32 1946, i32 155, i32 411, i32 667, i32 923, i32 1179, i32 1435, i32 1691, i32 1947, i32 156, i32 412, i32 668, i32 924, i32 1180, i32 1436, i32 1692, i32 1948, i32 157, i32 413, i32 669, i32 925, i32 1181, i32 1437, i32 1693, i32 1949, i32 158, i32 414, i32 670, i32 926, i32 1182, i32 1438, i32 1694, i32 1950, i32 159, i32 415, i32 671, i32 927, i32 1183, i32 1439, i32 1695, i32 1951, i32 160, i32 416, i32 672, i32 928, i32 1184, i32 1440, i32 1696, i32 1952, i32 161, i32 417, i32 673, i32 929, i32 1185, i32 1441, i32 1697, i32 1953, i32 162, i32 418, i32 674, i32 930, i32 1186, i32 1442, i32 1698, i32 1954, i32 163, i32 419, i32 675, i32 931, i32 1187, i32 1443, i32 1699, i32 1955, i32 164, i32 420, i32 676, i32 932, i32 1188, i32 1444, i32 1700, i32 1956, i32 165, i32 421, i32 677, i32 933, i32 1189, i32 1445, i32 1701, i32 1957, i32 166, i32 422, i32 678, i32 934, i32 1190, i32 1446, i32 1702, i32 1958, i32 167, i32 423, i32 679, i32 935, i32 1191, i32 1447, i32 1703, i32 1959, i32 168, i32 424, i32 680, i32 936, i32 1192, i32 1448, i32 1704, i32 1960, i32 169, i32 425, i32 681, i32 937, i32 1193, i32 1449, i32 1705, i32 1961, i32 170, i32 426, i32 682, i32 938, i32 1194, i32 1450, i32 1706, i32 1962, i32 171, i32 427, i32 683, i32 939, i32 1195, i32 1451, i32 1707, i32 1963, i32 172, i32 428, i32 684, i32 940, i32 1196, i32 1452, i32 1708, i32 1964, i32 173, i32 429, i32 685, i32 941, i32 1197, i32 1453, i32 1709, i32 1965, i32 174, i32 430, i32 686, i32 942, i32 1198, i32 1454, i32 1710, i32 1966, i32 175, i32 431, i32 687, i32 943, i32 1199, i32 1455, i32 1711, i32 1967, i32 176, i32 432, i32 688, i32 944, i32 1200, i32 1456, i32 1712, i32 1968, i32 177, i32 433, i32 689, i32 945, i32 1201, i32 1457, i32 1713, i32 1969, i32 178, i32 434, i32 690, i32 946, i32 1202, i32 1458, i32 1714, i32 1970, i32 179, i32 435, i32 691, i32 947, i32 1203, i32 1459, i32 1715, i32 1971, i32 180, i32 436, i32 692, i32 948, i32 1204, i32 1460, i32 1716, i32 1972, i32 181, i32 437, i32 693, i32 949, i32 1205, i32 1461, i32 1717, i32 1973, i32 182, i32 438, i32 694, i32 950, i32 1206, i32 1462, i32 1718, i32 1974, i32 183, i32 439, i32 695, i32 951, i32 1207, i32 1463, i32 1719, i32 1975, i32 184, i32 440, i32 696, i32 952, i32 1208, i32 1464, i32 1720, i32 1976, i32 185, i32 441, i32 697, i32 953, i32 1209, i32 1465, i32 1721, i32 1977, i32 186, i32 442, i32 698, i32 954, i32 1210, i32 1466, i32 1722, i32 1978, i32 187, i32 443, i32 699, i32 955, i32 1211, i32 1467, i32 1723, i32 1979, i32 188, i32 444, i32 700, i32 956, i32 1212, i32 1468, i32 1724, i32 1980, i32 189, i32 445, i32 701, i32 957, i32 1213, i32 1469, i32 1725, i32 1981, i32 190, i32 446, i32 702, i32 958, i32 1214, i32 1470, i32 1726, i32 1982, i32 191, i32 447, i32 703, i32 959, i32 1215, i32 1471, i32 1727, i32 1983, i32 192, i32 448, i32 704, i32 960, i32 1216, i32 1472, i32 1728, i32 1984, i32 193, i32 449, i32 705, i32 961, i32 1217, i32 1473, i32 1729, i32 1985, i32 194, i32 450, i32 706, i32 962, i32 1218, i32 1474, i32 1730, i32 1986, i32 195, i32 451, i32 707, i32 963, i32 1219, i32 1475, i32 1731, i32 1987, i32 196, i32 452, i32 708, i32 964, i32 1220, i32 1476, i32 1732, i32 1988, i32 197, i32 453, i32 709, i32 965, i32 1221, i32 1477, i32 1733, i32 1989, i32 198, i32 454, i32 710, i32 966, i32 1222, i32 1478, i32 1734, i32 1990, i32 199, i32 455, i32 711, i32 967, i32 1223, i32 1479, i32 1735, i32 1991, i32 200, i32 456, i32 712, i32 968, i32 1224, i32 1480, i32 1736, i32 1992, i32 201, i32 457, i32 713, i32 969, i32 1225, i32 1481, i32 1737, i32 1993, i32 202, i32 458, i32 714, i32 970, i32 1226, i32 1482, i32 1738, i32 1994, i32 203, i32 459, i32 715, i32 971, i32 1227, i32 1483, i32 1739, i32 1995, i32 204, i32 460, i32 716, i32 972, i32 1228, i32 1484, i32 1740, i32 1996, i32 205, i32 461, i32 717, i32 973, i32 1229, i32 1485, i32 1741, i32 1997, i32 206, i32 462, i32 718, i32 974, i32 1230, i32 1486, i32 1742, i32 1998, i32 207, i32 463, i32 719, i32 975, i32 1231, i32 1487, i32 1743, i32 1999, i32 208, i32 464, i32 720, i32 976, i32 1232, i32 1488, i32 1744, i32 2000, i32 209, i32 465, i32 721, i32 977, i32 1233, i32 1489, i32 1745, i32 2001, i32 210, i32 466, i32 722, i32 978, i32 1234, i32 1490, i32 1746, i32 2002, i32 211, i32 467, i32 723, i32 979, i32 1235, i32 1491, i32 1747, i32 2003, i32 212, i32 468, i32 724, i32 980, i32 1236, i32 1492, i32 1748, i32 2004, i32 213, i32 469, i32 725, i32 981, i32 1237, i32 1493, i32 1749, i32 2005, i32 214, i32 470, i32 726, i32 982, i32 1238, i32 1494, i32 1750, i32 2006, i32 215, i32 471, i32 727, i32 983, i32 1239, i32 1495, i32 1751, i32 2007, i32 216, i32 472, i32 728, i32 984, i32 1240, i32 1496, i32 1752, i32 2008, i32 217, i32 473, i32 729, i32 985, i32 1241, i32 1497, i32 1753, i32 2009, i32 218, i32 474, i32 730, i32 986, i32 1242, i32 1498, i32 1754, i32 2010, i32 219, i32 475, i32 731, i32 987, i32 1243, i32 1499, i32 1755, i32 2011, i32 220, i32 476, i32 732, i32 988, i32 1244, i32 1500, i32 1756, i32 2012, i32 221, i32 477, i32 733, i32 989, i32 1245, i32 1501, i32 1757, i32 2013, i32 222, i32 478, i32 734, i32 990, i32 1246, i32 1502, i32 1758, i32 2014, i32 223, i32 479, i32 735, i32 991, i32 1247, i32 1503, i32 1759, i32 2015, i32 224, i32 480, i32 736, i32 992, i32 1248, i32 1504, i32 1760, i32 2016, i32 225, i32 481, i32 737, i32 993, i32 1249, i32 1505, i32 1761, i32 2017, i32 226, i32 482, i32 738, i32 994, i32 1250, i32 1506, i32 1762, i32 2018, i32 227, i32 483, i32 739, i32 995, i32 1251, i32 1507, i32 1763, i32 2019, i32 228, i32 484, i32 740, i32 996, i32 1252, i32 1508, i32 1764, i32 2020, i32 229, i32 485, i32 741, i32 997, i32 1253, i32 1509, i32 1765, i32 2021, i32 230, i32 486, i32 742, i32 998, i32 1254, i32 1510, i32 1766, i32 2022, i32 231, i32 487, i32 743, i32 999, i32 1255, i32 1511, i32 1767, i32 2023, i32 232, i32 488, i32 744, i32 1000, i32 1256, i32 1512, i32 1768, i32 2024, i32 233, i32 489, i32 745, i32 1001, i32 1257, i32 1513, i32 1769, i32 2025, i32 234, i32 490, i32 746, i32 1002, i32 1258, i32 1514, i32 1770, i32 2026, i32 235, i32 491, i32 747, i32 1003, i32 1259, i32 1515, i32 1771, i32 2027, i32 236, i32 492, i32 748, i32 1004, i32 1260, i32 1516, i32 1772, i32 2028, i32 237, i32 493, i32 749, i32 1005, i32 1261, i32 1517, i32 1773, i32 2029, i32 238, i32 494, i32 750, i32 1006, i32 1262, i32 1518, i32 1774, i32 2030, i32 239, i32 495, i32 751, i32 1007, i32 1263, i32 1519, i32 1775, i32 2031, i32 240, i32 496, i32 752, i32 1008, i32 1264, i32 1520, i32 1776, i32 2032, i32 241, i32 497, i32 753, i32 1009, i32 1265, i32 1521, i32 1777, i32 2033, i32 242, i32 498, i32 754, i32 1010, i32 1266, i32 1522, i32 1778, i32 2034, i32 243, i32 499, i32 755, i32 1011, i32 1267, i32 1523, i32 1779, i32 2035, i32 244, i32 500, i32 756, i32 1012, i32 1268, i32 1524, i32 1780, i32 2036, i32 245, i32 501, i32 757, i32 1013, i32 1269, i32 1525, i32 1781, i32 2037, i32 246, i32 502, i32 758, i32 1014, i32 1270, i32 1526, i32 1782, i32 2038, i32 247, i32 503, i32 759, i32 1015, i32 1271, i32 1527, i32 1783, i32 2039, i32 248, i32 504, i32 760, i32 1016, i32 1272, i32 1528, i32 1784, i32 2040, i32 249, i32 505, i32 761, i32 1017, i32 1273, i32 1529, i32 1785, i32 2041, i32 250, i32 506, i32 762, i32 1018, i32 1274, i32 1530, i32 1786, i32 2042, i32 251, i32 507, i32 763, i32 1019, i32 1275, i32 1531, i32 1787, i32 2043, i32 252, i32 508, i32 764, i32 1020, i32 1276, i32 1532, i32 1788, i32 2044, i32 253, i32 509, i32 765, i32 1021, i32 1277, i32 1533, i32 1789, i32 2045, i32 254, i32 510, i32 766, i32 1022, i32 1278, i32 1534, i32 1790, i32 2045, i32 255, i32 511, i32 767, i32 1023, i32 1279, i32 1535>
+; CHECK-NEXT: OpReturnValue %[[#A]]
+  ret <2046 x i32> %a
+}
+
+; CHECK: OpFunction %[[#V65535]]
+; CHECK-NEXT: %[[#X:]] = OpFunctionParameter %[[#V65535]]
+define <65535 x i32> @bar(<65535 x i32> %x) {
+; CHECK: %[[#LOC_G:]] = OpLoad %[[#V65535]] %[[#G]]
+  %g = load <65535 x i32>, ptr addrspace(1) @G
+; CHECK-NEXT: %[[#R:]] = OpBitwiseAnd %[[#V65535]] %[[#X]] %[[#LOC_G]]
+  %r = and <65535 x i32> %x, %g
+; CHECK-NEXT: OpReturnValue %[[#R]]
+  ret <65535 x i32> %r
+}
\ No newline at end of file

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..e8e08d84892ba
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/integer-casts.ll
@@ -0,0 +1,87 @@
+; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector %s -o - | FileCheck %s
+; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector %s -o - -filetype=obj | spirv-val %}
+
+; CHECK-DAG: OpName [[TRUNC32_16v1:%.*]] "i32toi16v1"
+; CHECK-DAG: OpName [[TRUNC32_16v17:%.*]] "i32toi16v17"
+; CHECK-DAG: OpName [[SEXT8_32v1:%.*]] "s8tos32v1"
+; CHECK-DAG: OpName [[SEXT8_32v17:%.*]] "s8tos32v17"
+; CHECK-DAG: OpName [[ZEXT8_32v1:%.*]] "u8tou32v1"
+; CHECK-DAG: OpName [[ZEXT8_32v17:%.*]] "u8tou32v17"
+
+; CHECK-DAG: [[U32:%.*]] = OpTypeInt 32 0
+; CHECK-DAG: [[U16:%.*]] = OpTypeInt 16 0
+; CHECK-DAG: [[U8:%.*]] = OpTypeInt 8 0
+; CHECK-DAG: [[ONE:%.*]] = OpConstant [[U32]] 1
+; CHECK-DAG: [[SEVENTEEN:%.*]] = OpConstant [[U32]] 17
+; CHECK-DAG: [[U32v1:%.*]] = OpTypeVectorIdEXT [[U32]] [[ONE]]
+; CHECK-DAG: [[U32v17:%.*]] = OpTypeVectorIdEXT [[U32]] [[SEVENTEEN]]
+; CHECK-DAG: [[U16v1:%.*]] = OpTypeVectorIdEXT [[U16]] [[ONE]]
+; CHECK-DAG: [[U16v17:%.*]] = OpTypeVectorIdEXT [[U16]] [[SEVENTEEN]]
+; CHECK-DAG: [[U8v1:%.*]] = OpTypeVectorIdEXT [[U8]] [[ONE]]
+; CHECK-DAG: [[U8v17:%.*]] = OpTypeVectorIdEXT [[U8]] [[SEVENTEEN]]
+
+; CHECK:      [[TRUNC32_16v1]] = OpFunction [[U16v1]]
+; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U32v1]]
+; CHECK:      OpLabel
+; CHECK:      [[R:%.*]] = OpUConvert [[U16v1]] [[A]]
+; CHECK:      OpReturnValue [[R]]
+; CHECK-NEXT: OpFunctionEnd
+define <1 x i16> @i32toi16v1(<1 x i32> %a) {
+    %r = trunc <1 x i32> %a to <1 x i16>
+    ret <1 x i16> %r
+}
+
+; CHECK:      [[TRUNC32_16v17]] = OpFunction [[U16v17]]
+; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U32v17]]
+; CHECK:      OpLabel
+; CHECK:      [[R:%.*]] = OpUConvert [[U16v17]] [[A]]
+; CHECK:      OpReturnValue [[R]]
+; CHECK-NEXT: OpFunctionEnd
+define <17 x i16> @i32toi16v17(<17 x i32> %a) {
+    %r = trunc <17 x i32> %a to <17 x i16>
+    ret <17 x i16> %r
+}
+
+; CHECK:      [[SEXT8_32v1]] = OpFunction [[U32v1]]
+; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U8v1]]
+; CHECK:      OpLabel
+; CHECK:      [[R:%.*]] = OpSConvert [[U32v1]] [[A]]
+; CHECK:      OpReturnValue [[R]]
+; CHECK-NEXT: OpFunctionEnd
+define <1 x i32>  @s8tos32v1(<1 x i8> %a) {
+  %r = sext <1 x i8> %a to <1 x i32>
+  ret <1 x i32>  %r
+}
+
+; CHECK:      [[SEXT8_32v17]] = OpFunction [[U32v17]]
+; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U8v17]]
+; CHECK:      OpLabel
+; CHECK:      [[R:%.*]] = OpSConvert [[U32v17]] [[A]]
+; CHECK:      OpReturnValue [[R]]
+; CHECK-NEXT: OpFunctionEnd
+define <17 x i32>  @s8tos32v17(<17 x i8> %a) {
+  %r = sext <17 x i8> %a to <17 x i32>
+  ret <17 x i32>  %r
+}
+
+; CHECK:      [[ZEXT8_32v1]] = OpFunction [[U32v1]]
+; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U8v1]]
+; CHECK:      OpLabel
+; CHECK:      [[R:%.*]] = OpUConvert [[U32v1]] [[A]]
+; CHECK:      OpReturnValue [[R]]
+; CHECK-NEXT: OpFunctionEnd
+define <1 x i32>  @u8tou32v1(<1 x i8> %a) {
+  %r = zext <1 x i8> %a to <1 x i32>
+  ret <1 x i32>  %r
+}
+
+; CHECK:      [[ZEXT8_32v17]] = OpFunction [[U32v17]]
+; CHECK-NEXT: [[A:%.*]] = OpFunctionParameter [[U8v17]]
+; CHECK:      OpLabel
+; CHECK:      [[R:%.*]] = OpUConvert [[U32v17]] [[A]]
+; CHECK:      OpReturnValue [[R]]
+; CHECK-NEXT: OpFunctionEnd
+define <17 x i32>  @u8tou32v17(<17 x i8> %a) {
+  %r = zext <17 x i8> %a to <17 x i32>
+  ret <17 x i32>  %r
+}

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..8cdd23ccd3992
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/add.ll
@@ -0,0 +1,65 @@
+; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
+; RUN: %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: %[[One:.*]] = OpConstant %[[Int]] 1
+; CHECK-DAG: %[[Seventeen:.*]] = OpConstant %[[Int]] 17
+; CHECK-DAG: %[[IntVec1:.*]] = OpTypeVectorIdEXT %[[Int]] %[[One]]
+; CHECK-DAG: %[[IntVec17:.*]] = OpTypeVectorIdEXT %[[Int]] %[[Seventeen]]
+
+; 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..80c08b744364d
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/and.ll
@@ -0,0 +1,65 @@
+; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
+; RUN: %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: %[[One:.*]] = OpConstant %[[Int]] 1
+; CHECK-DAG: %[[Seventeen:.*]] = OpConstant %[[Int]] 17
+; CHECK-DAG: %[[IntVec1:.*]] = OpTypeVectorIdEXT %[[Int]] %[[One]]
+; CHECK-DAG: %[[IntVec17:.*]] = OpTypeVectorIdEXT %[[Int]] %[[Seventeen]]
+
+; 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..a2ed9dd4bc682
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fadd.ll
@@ -0,0 +1,70 @@
+; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
+; RUN: %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: %[[Float:.*]] = OpTypeFloat 32
+; CHECK-DAG: %[[One:.*]] = OpConstant %[[Int]] 1
+; CHECK-DAG: %[[Seventeen:.*]] = OpConstant %[[Int]] 17
+; CHECK-DAG: %[[FloatVec1:.*]] = OpTypeVectorIdEXT %[[Float]] %[[One]]
+; CHECK-DAG: %[[FloatVec17:.*]] = OpTypeVectorIdEXT %[[Float]] %[[Seventeen]]
+
+; 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..b0bade56a06d2
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fmax.ll
@@ -0,0 +1,66 @@
+; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
+; RUN: %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: %[[Float:.*]] = OpTypeFloat 32
+; CHECK-DAG: %[[One:.*]] = OpConstant %[[Int]] 1
+; CHECK-DAG: %[[Seventeen:.*]] = OpConstant %[[Int]] 17
+; CHECK-DAG: %[[FloatVec1:.*]] = OpTypeVectorIdEXT %[[Float]] %[[One]]
+; CHECK-DAG: %[[FloatVec17:.*]] = OpTypeVectorIdEXT %[[Float]] %[[Seventeen]]
+
+; 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..4de10f5e02fe0
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fmaximum.ll
@@ -0,0 +1,66 @@
+; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
+; RUN: %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: %[[Float:.*]] = OpTypeFloat 32
+; CHECK-DAG: %[[One:.*]] = OpConstant %[[Int]] 1
+; CHECK-DAG: %[[Seventeen:.*]] = OpConstant %[[Int]] 17
+; CHECK-DAG: %[[FloatVec1:.*]] = OpTypeVectorIdEXT %[[Float]] %[[One]]
+; CHECK-DAG: %[[FloatVec17:.*]] = OpTypeVectorIdEXT %[[Float]] %[[Seventeen]]
+
+; 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..e1c0beb961b7a
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fmin.ll
@@ -0,0 +1,66 @@
+; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
+; RUN: %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: %[[Float:.*]] = OpTypeFloat 32
+; CHECK-DAG: %[[One:.*]] = OpConstant %[[Int]] 1
+; CHECK-DAG: %[[Seventeen:.*]] = OpConstant %[[Int]] 17
+; CHECK-DAG: %[[FloatVec1:.*]] = OpTypeVectorIdEXT %[[Float]] %[[One]]
+; CHECK-DAG: %[[FloatVec17:.*]] = OpTypeVectorIdEXT %[[Float]] %[[Seventeen]]
+
+; 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..ccf43bdca3e9c
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fminimum.ll
@@ -0,0 +1,66 @@
+; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
+; RUN: %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: %[[Float:.*]] = OpTypeFloat 32
+; CHECK-DAG: %[[One:.*]] = OpConstant %[[Int]] 1
+; CHECK-DAG: %[[Seventeen:.*]] = OpConstant %[[Int]] 17
+; CHECK-DAG: %[[FloatVec1:.*]] = OpTypeVectorIdEXT %[[Float]] %[[One]]
+; CHECK-DAG: %[[FloatVec17:.*]] = OpTypeVectorIdEXT %[[Float]] %[[Seventeen]]
+
+; 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..926f596fc0d68
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/fmul.ll
@@ -0,0 +1,70 @@
+; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
+; RUN: %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: %[[Float:.*]] = OpTypeFloat 32
+; CHECK-DAG: %[[One:.*]] = OpConstant %[[Int]] 1
+; CHECK-DAG: %[[Seventeen:.*]] = OpConstant %[[Int]] 17
+; CHECK-DAG: %[[FloatVec1:.*]] = OpTypeVectorIdEXT %[[Float]] %[[One]]
+; CHECK-DAG: %[[FloatVec17:.*]] = OpTypeVectorIdEXT %[[Float]] %[[Seventeen]]
+
+; 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..f14ad786bff88
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/mul.ll
@@ -0,0 +1,65 @@
+; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
+; RUN: %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: %[[One:.*]] = OpConstant %[[Int]] 1
+; CHECK-DAG: %[[Seventeen:.*]] = OpConstant %[[Int]] 17
+; CHECK-DAG: %[[IntVec1:.*]] = OpTypeVectorIdEXT %[[Int]] %[[One]]
+; CHECK-DAG: %[[IntVec17:.*]] = OpTypeVectorIdEXT %[[Int]] %[[Seventeen]]
+
+; 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..274d78dec9dfd
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/or.ll
@@ -0,0 +1,65 @@
+; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
+; RUN: %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: %[[One:.*]] = OpConstant %[[Int]] 1
+; CHECK-DAG: %[[Seventeen:.*]] = OpConstant %[[Int]] 17
+; CHECK-DAG: %[[IntVec1:.*]] = OpTypeVectorIdEXT %[[Int]] %[[One]]
+; CHECK-DAG: %[[IntVec17:.*]] = OpTypeVectorIdEXT %[[Int]] %[[Seventeen]]
+
+; 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..b1ec8f8a45c34
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/smax.ll
@@ -0,0 +1,65 @@
+; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
+; RUN: %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: %[[One:.*]] = OpConstant %[[Int]] 1
+; CHECK-DAG: %[[Seventeen:.*]] = OpConstant %[[Int]] 17
+; CHECK-DAG: %[[IntVec1:.*]] = OpTypeVectorIdEXT %[[Int]] %[[One]]
+; CHECK-DAG: %[[IntVec17:.*]] = OpTypeVectorIdEXT %[[Int]] %[[Seventeen]]
+
+; 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..1b10db475fc9e
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/smin.ll
@@ -0,0 +1,65 @@
+; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
+; RUN: %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: %[[One:.*]] = OpConstant %[[Int]] 1
+; CHECK-DAG: %[[Seventeen:.*]] = OpConstant %[[Int]] 17
+; CHECK-DAG: %[[IntVec1:.*]] = OpTypeVectorIdEXT %[[Int]] %[[One]]
+; CHECK-DAG: %[[IntVec17:.*]] = OpTypeVectorIdEXT %[[Int]] %[[Seventeen]]
+
+; 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..de0f85437fd28
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/umax.ll
@@ -0,0 +1,65 @@
+; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
+; RUN: %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: %[[One:.*]] = OpConstant %[[Int]] 1
+; CHECK-DAG: %[[Seventeen:.*]] = OpConstant %[[Int]] 17
+; CHECK-DAG: %[[IntVec1:.*]] = OpTypeVectorIdEXT %[[Int]] %[[One]]
+; CHECK-DAG: %[[IntVec17:.*]] = OpTypeVectorIdEXT %[[Int]] %[[Seventeen]]
+
+; 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..a20594103470a
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/umin.ll
@@ -0,0 +1,65 @@
+; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
+; RUN: %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: %[[One:.*]] = OpConstant %[[Int]] 1
+; CHECK-DAG: %[[Seventeen:.*]] = OpConstant %[[Int]] 17
+; CHECK-DAG: %[[IntVec1:.*]] = OpTypeVectorIdEXT %[[Int]] %[[One]]
+; CHECK-DAG: %[[IntVec17:.*]] = OpTypeVectorIdEXT %[[Int]] %[[Seventeen]]
+
+; 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..3898cb11d38f7
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/llvm-vector-reduce/xor.ll
@@ -0,0 +1,65 @@
+; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
+; RUN: %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: %[[One:.*]] = OpConstant %[[Int]] 1
+; CHECK-DAG: %[[Seventeen:.*]] = OpConstant %[[Int]] 17
+; CHECK-DAG: %[[IntVec1:.*]] = OpTypeVectorIdEXT %[[Int]] %[[One]]
+; CHECK-DAG: %[[IntVec17:.*]] = OpTypeVectorIdEXT %[[Int]] %[[Seventeen]]
+
+; 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..474c79876d2ae
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/phi-large-vector.ll
@@ -0,0 +1,39 @@
+; RUN: llc -verify-machineinstrs -O0 --spirv-ext=+SPV_EXT_long_vector -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
+; spirv-val has a bug around validating OpVectorShuffle with large OpTypeVectorIdEXT operands, as it seems to incorrectly compute the combined size.
+; 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: %[[#THIRTYTWO:]] = OpConstant %[[#I32]] 32
+; CHECK-DAG: %[[#V16:]] = OpTypeVector %[[#I32]] 16
+; CHECK-DAG: %[[#V32:]] = OpTypeVectorIdEXT %[[#I32]] %[[#THIRTYTWO]]
+; 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..cb466197e9bb4
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/ptrmask-vec.ll
@@ -0,0 +1,36 @@
+; 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 has a bug around validating OpTypeVectorIdEXTs with Pointer type elements, as it seems to only allow scalar numerical types for the latter.
+; 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: %[[#INT64_TY:]] = OpTypeInt 64 0
+; CHECK-DAG: %[[#INT32_TY:]] = OpTypeInt 32 0
+; CHECK-DAG: %[[#INT8_TY:]] = OpTypeInt 8 0
+; CHECK-DAG: %[[#PTR_TY:]] = OpTypePointer CrossWorkgroup %[[#INT8_TY]]
+; CHECK-DAG: %[[#SEVENTEEN:]] = OpConstant %[[#INT32_TY]] 17
+; CHECK-DAG: %[[#VEC_PTR_TY:]] = OpTypeVectorIdEXT %[[#PTR_TY]] %[[#SEVENTEEN]]
+; CHECK-DAG: %[[#VEC_INT64_TY:]] = OpTypeVectorIdEXT %[[#INT64_TY]] %[[#SEVENTEEN]]
+; 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..90892bcabdaec
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/single-element-vector-nested-aggregate.ll
@@ -0,0 +1,141 @@
+; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown -verify-machineinstrs --spirv-ext=+SPV_EXT_long_vector %s -o - | FileCheck %s
+; RUN: %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: %[[#One:]] = OpConstant %[[#IntTy]] 1
+; CHECK-DAG: %[[#Vec1FloatTy:]] = OpTypeVectorIdEXT %[[#FloatTy]] %[[#One]]
+; CHECK-DAG: %[[#Vec1IntTy:]] = OpTypeVectorIdEXT %[[#IntTy]] %[[#One]]
+; 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: %[[#Vec1Float3:]] = OpConstantComposite %[[#Vec1FloatTy]] %[[#Float3]]
+; CHECK-DAG: %[[#Int42:]] = OpConstant %[[#IntTy]] 42
+; CHECK-DAG: %[[#Vec1Int42:]] = OpConstantComposite %[[#Vec1IntTy]] %[[#Int42]]
+; CHECK-DAG: %[[#Int7:]] = OpConstant %[[#IntTy]] 7
+; CHECK-DAG: %[[#Vec1Int7:]] = OpConstantComposite %[[#Vec1IntTy]] %[[#Int7]]
+; 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]] %[[#Vec1Float1]] %[[#]] 0
+; CHECK: %[[#ArrInsert2:]] = OpCompositeInsert %[[#Arr4Float]] %[[#Vec1Float2]] %[[#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]] %[[#Vec1Float1]] %[[#]] 0
+; CHECK: %[[#StructInsert2:]] = OpCompositeInsert %[[#StructFloatInt]] %[[#Vec1Int42]] %[[#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]] %[[#Vec1Float3]] %[[#]] 0
+; CHECK: %[[#MixedInsert2:]] = OpCompositeInsert %[[#StructFloatArr2Int]] %[[#Vec1Int7]] %[[#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..28cb622efff7d
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/single-element-vector.ll
@@ -0,0 +1,86 @@
+; 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 has a bug around validating OpTypeVectorIdEXTs with Pointer type elements, as it seems to only allow scalar numerical types for the latter.
+; 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: %[[#INT8:]] = OpTypeInt 8 0
+; CHECK-DAG: %[[#INT16:]] = OpTypeInt 16 0
+; CHECK-DAG: %[[#INT32:]] = OpTypeInt 32 0
+; CHECK-DAG: %[[#FLOAT64:]] = OpTypeFloat 64
+; CHECK-DAG: %[[#PTR:]] = OpTypePointer CrossWorkgroup %[[#INT8]]
+; CHECK-DAG: %[[#VEC4:]] = OpTypeVector %[[#FLOAT64]] 4
+; CHECK-DAG: %[[#ONE:]] = OpConstant %[[#INT32]] 1
+; CHECK-DAG: %[[#VEC1:]] = OpTypeVectorIdEXT %[[#INT16]] %[[#ONE]]
+; CHECK-DAG: %[[#PVEC1:]] = OpTypeVectorIdEXT %[[#PTR]] %[[#ONE]]
+; CHECK-DAG: %[[#PVEC1P:]] = OpTypePointer CrossWorkgroup %[[#PVEC1]]
+; CHECK-DAG: %[[#FVEC1:]] = OpTypeVectorIdEXT %[[#FLOAT64]] %[[#ONE]]
+; CHECK-DAG: %[[#FNTY:]] = OpTypeFunction %[[#VEC4]] %[[#VEC1]]
+; CHECK-DAG: %[[#ZERO:]] = OpConstantNull %[[#VEC1]]
+; CHECK-DAG: %[[#NULLPTR:]] = OpConstantNull %[[#PVEC1]]
+; CHECK-DAG: %[[#ISPLAT42:]] = OpConstantComposite %[[#VEC1]]
+; CHECK-DAG: %[[#FSPLAT42:]] = OpConstantComposite %[[#FVEC1]]
+
+; 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
+}
+
+; CHECK: OpReturnValue %[[#ISPLAT42]]
+define <1 x i16> @explicit_int_splat() {
+  ret <1 x i16> splat (i16 42)
+}
+
+; CHECK: OpReturnValue %[[#FSPLAT42]]
+define <1 x double> @explicit_float_splat() {
+  ret <1 x double> splat (double 42.0)
+}
+
+; CHECK: OpReturnValue %[[#NULLPTR]]
+define <1 x ptr addrspace(1)> @explicit_fixed_ptr_null_splat() {
+  ret <1 x ptr addrspace(1)> splat (ptr addrspace(1) null)
+}
+
+; CHECK: %[[#OUT:]] = OpFunctionParameter %[[#PVEC1P]]
+; CHECK: OpStore %[[#OUT]] %[[#NULLPTR]]
+define void @store_fixed_ptr_null_splat(ptr addrspace(1) %out) {
+  store <1 x ptr addrspace(1)> splat (ptr addrspace(1) null), ptr addrspace(1) %out
+  ret void
+}

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..24491035db58e
--- /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
+; RUN: %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: %[[#Seventeen:]] = OpConstant %[[#Int]] 17
+; CHECK-DAG: %[[#Vec17:]] = OpTypeVectorIdEXT %[[#Int]] %[[#Seventeen]]
+; 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..4364ff3e935e9
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/unmerge-crash-0.ll
@@ -0,0 +1,2428 @@
+; 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 has a bug around validating OpVectorShuffle with large OpTypeVectorIdEXT operands, as it seems to incorrectly compute the combined size.
+; TODO: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown --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]] poison, align 16
+ at __constant_8x8xf32_0 = private addrspace(2) 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(2) 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(2) #0 {
+; CHECK-LABEL: _winograd_input_dispatch_0_winograd_input_transform_8x8x1x1x1x1xf32_dispatch_tensor_store
+; CHECK:       %107 = OpFunction %11 Inline %12 ; -- Begin function _winograd_input_dispatch_0_winograd_input_transform_8x8x1x1x1x1xf32_dispatch_tensor_store
+; CHECK-NEXT:    %105 = OpFunctionParameter %10
+; CHECK-NEXT:    %106 = OpFunctionParameter %10
+; CHECK-NEXT:    %1230 = OpLabel
+; CHECK-NEXT:    %108 = OpBitcast %21 %93
+; CHECK-NEXT:    %109 = OpInBoundsPtrAccessChain %21 %108 %53
+; CHECK-NEXT:    %110 = OpInBoundsPtrAccessChain %21 %108 %52
+; CHECK-NEXT:    %111 = OpInBoundsPtrAccessChain %21 %108 %51
+; CHECK-NEXT:    %112 = OpInBoundsPtrAccessChain %21 %108 %50
+; CHECK-NEXT:    %113 = OpInBoundsPtrAccessChain %21 %108 %49
+; CHECK-NEXT:    %114 = OpInBoundsPtrAccessChain %21 %108 %48
+; CHECK-NEXT:    %115 = OpInBoundsPtrAccessChain %21 %108 %47
+; CHECK-NEXT:    %116 = OpBitcast %22 %82
+; CHECK-NEXT:    %117 = OpInBoundsPtrAccessChain %22 %116 %53
+; CHECK-NEXT:    %118 = OpInBoundsPtrAccessChain %22 %116 %52
+; CHECK-NEXT:    %119 = OpInBoundsPtrAccessChain %22 %116 %51
+; CHECK-NEXT:    %120 = OpInBoundsPtrAccessChain %22 %116 %50
+; CHECK-NEXT:    %121 = OpInBoundsPtrAccessChain %22 %116 %49
+; CHECK-NEXT:    %122 = OpInBoundsPtrAccessChain %22 %116 %48
+; CHECK-NEXT:    %123 = OpInBoundsPtrAccessChain %22 %116 %47
+; CHECK-NEXT:    %124 = OpBitcast %22 %92
+; CHECK-NEXT:    %125 = OpInBoundsPtrAccessChain %22 %124 %53
+; CHECK-NEXT:    %126 = OpInBoundsPtrAccessChain %22 %124 %52
+; CHECK-NEXT:    %127 = OpInBoundsPtrAccessChain %22 %124 %51
+; CHECK-NEXT:    %128 = OpInBoundsPtrAccessChain %22 %124 %50
+; CHECK-NEXT:    %129 = OpInBoundsPtrAccessChain %22 %124 %49
+; CHECK-NEXT:    %130 = OpInBoundsPtrAccessChain %22 %124 %48
+; CHECK-NEXT:    %131 = OpInBoundsPtrAccessChain %22 %124 %47
+; CHECK-NEXT:    OpBranch %1231
+; CHECK-NEXT:    %1231 = OpLabel
+; CHECK-NEXT:    %132 = OpPhi %13 %133 %1232 %41 %1230
+; CHECK-NEXT:    %134 = OpSLessThan %28 %132 %29
+; CHECK-NEXT:    OpBranchConditional %134 %1233 %1234
+; CHECK-NEXT:    %1234 = OpLabel
+; CHECK-NEXT:    OpMemoryBarrier %72 %71
+; CHECK-NEXT:    %135 = OpFunctionCall %11 %94 %46
+; CHECK-NEXT:    %136 = OpFunctionCall %11 %96 %45
+; CHECK-NEXT:    OpMemoryBarrier %72 %72
+; CHECK-NEXT:    OpBranch %1235
+; CHECK-NEXT:    %1235 = OpLabel
+; CHECK-NEXT:    %137 = OpPhi %13 %138 %1236 %41 %1234
+; CHECK-NEXT:    %139 = OpSLessThan %28 %137 %44
+; CHECK-NEXT:    OpBranchConditional %139 %1237 %1238
+; CHECK-NEXT:    %1238 = OpLabel
+; CHECK-NEXT:    OpMemoryBarrier %72 %71
+; CHECK-NEXT:    %140 = OpFunctionCall %11 %94 %46
+; CHECK-NEXT:    %141 = OpFunctionCall %11 %96 %45
+; CHECK-NEXT:    OpMemoryBarrier %72 %72
+; CHECK-NEXT:    %142 = OpBitcast %24 %93
+; CHECK-NEXT:    %143 = OpLoad %23 %142 Aligned 4
+; CHECK-NEXT:    %144 = OpBitcast %24 %109
+; CHECK-NEXT:    %145 = OpLoad %23 %144 Aligned 4
+; CHECK-NEXT:    %146 = OpBitcast %24 %110
+; CHECK-NEXT:    %147 = OpLoad %23 %146 Aligned 4
+; CHECK-NEXT:    %148 = OpBitcast %24 %111
+; CHECK-NEXT:    %149 = OpLoad %23 %148 Aligned 4
+; CHECK-NEXT:    %150 = OpBitcast %24 %112
+; CHECK-NEXT:    %151 = OpLoad %23 %150 Aligned 4
+; CHECK-NEXT:    %152 = OpBitcast %24 %113
+; CHECK-NEXT:    %153 = OpLoad %23 %152 Aligned 4
+; CHECK-NEXT:    %154 = OpBitcast %24 %114
+; CHECK-NEXT:    %155 = OpLoad %23 %154 Aligned 4
+; CHECK-NEXT:    %156 = OpBitcast %24 %115
+; CHECK-NEXT:    %157 = OpLoad %23 %156 Aligned 4
+; CHECK-NEXT:    %158 = OpCompositeExtract %9 %143 0
+; CHECK-NEXT:    %159 = OpCompositeExtract %9 %143 1
+; CHECK-NEXT:    %160 = OpCompositeExtract %9 %143 2
+; CHECK-NEXT:    %161 = OpCompositeExtract %9 %143 3
+; CHECK-NEXT:    %162 = OpCompositeExtract %9 %143 4
+; CHECK-NEXT:    %163 = OpCompositeExtract %9 %143 5
+; CHECK-NEXT:    %164 = OpCompositeExtract %9 %143 6
+; CHECK-NEXT:    %165 = OpCompositeExtract %9 %143 7
+; CHECK-NEXT:    %166 = OpCompositeExtract %9 %145 0
+; CHECK-NEXT:    %167 = OpCompositeExtract %9 %145 1
+; CHECK-NEXT:    %168 = OpCompositeExtract %9 %145 2
+; CHECK-NEXT:    %169 = OpCompositeExtract %9 %145 3
+; CHECK-NEXT:    %170 = OpCompositeExtract %9 %145 4
+; CHECK-NEXT:    %171 = OpCompositeExtract %9 %145 5
+; CHECK-NEXT:    %172 = OpCompositeExtract %9 %145 6
+; CHECK-NEXT:    %173 = OpCompositeExtract %9 %145 7
+; CHECK-NEXT:    %174 = OpCompositeExtract %9 %147 0
+; CHECK-NEXT:    %175 = OpCompositeExtract %9 %147 1
+; CHECK-NEXT:    %176 = OpCompositeExtract %9 %147 2
+; CHECK-NEXT:    %177 = OpCompositeExtract %9 %147 3
+; CHECK-NEXT:    %178 = OpCompositeExtract %9 %147 4
+; CHECK-NEXT:    %179 = OpCompositeExtract %9 %147 5
+; CHECK-NEXT:    %180 = OpCompositeExtract %9 %147 6
+; CHECK-NEXT:    %181 = OpCompositeExtract %9 %147 7
+; CHECK-NEXT:    %182 = OpCompositeExtract %9 %149 0
+; CHECK-NEXT:    %183 = OpCompositeExtract %9 %149 1
+; CHECK-NEXT:    %184 = OpCompositeExtract %9 %149 2
+; CHECK-NEXT:    %185 = OpCompositeExtract %9 %149 3
+; CHECK-NEXT:    %186 = OpCompositeExtract %9 %149 4
+; CHECK-NEXT:    %187 = OpCompositeExtract %9 %149 5
+; CHECK-NEXT:    %188 = OpCompositeExtract %9 %149 6
+; CHECK-NEXT:    %189 = OpCompositeExtract %9 %149 7
+; CHECK-NEXT:    %190 = OpCompositeExtract %9 %151 0
+; CHECK-NEXT:    %191 = OpCompositeExtract %9 %151 1
+; CHECK-NEXT:    %192 = OpCompositeExtract %9 %151 2
+; CHECK-NEXT:    %193 = OpCompositeExtract %9 %151 3
+; CHECK-NEXT:    %194 = OpCompositeExtract %9 %151 4
+; CHECK-NEXT:    %195 = OpCompositeExtract %9 %151 5
+; CHECK-NEXT:    %196 = OpCompositeExtract %9 %151 6
+; CHECK-NEXT:    %197 = OpCompositeExtract %9 %151 7
+; CHECK-NEXT:    %198 = OpCompositeExtract %9 %153 0
+; CHECK-NEXT:    %199 = OpCompositeExtract %9 %153 1
+; CHECK-NEXT:    %200 = OpCompositeExtract %9 %153 2
+; CHECK-NEXT:    %201 = OpCompositeExtract %9 %153 3
+; CHECK-NEXT:    %202 = OpCompositeExtract %9 %153 4
+; CHECK-NEXT:    %203 = OpCompositeExtract %9 %153 5
+; CHECK-NEXT:    %204 = OpCompositeExtract %9 %153 6
+; CHECK-NEXT:    %205 = OpCompositeExtract %9 %153 7
+; CHECK-NEXT:    %206 = OpCompositeExtract %9 %155 0
+; CHECK-NEXT:    %207 = OpCompositeExtract %9 %155 1
+; CHECK-NEXT:    %208 = OpCompositeExtract %9 %155 2
+; CHECK-NEXT:    %209 = OpCompositeExtract %9 %155 3
+; CHECK-NEXT:    %210 = OpCompositeExtract %9 %155 4
+; CHECK-NEXT:    %211 = OpCompositeExtract %9 %155 5
+; CHECK-NEXT:    %212 = OpCompositeExtract %9 %155 6
+; CHECK-NEXT:    %213 = OpCompositeExtract %9 %155 7
+; CHECK-NEXT:    %214 = OpCompositeExtract %9 %157 0
+; CHECK-NEXT:    %215 = OpCompositeExtract %9 %157 1
+; CHECK-NEXT:    %216 = OpCompositeExtract %9 %157 2
+; CHECK-NEXT:    %217 = OpCompositeExtract %9 %157 3
+; CHECK-NEXT:    %218 = OpCompositeExtract %9 %157 4
+; CHECK-NEXT:    %219 = OpCompositeExtract %9 %157 5
+; CHECK-NEXT:    %220 = OpCompositeExtract %9 %157 6
+; CHECK-NEXT:    %221 = OpCompositeExtract %9 %157 7
+; CHECK-NEXT:    %222 = OpBitcast %25 %82
+; CHECK-NEXT:    %223 = OpLoad %23 %222 Aligned 4
+; CHECK-NEXT:    %224 = OpBitcast %25 %117
+; CHECK-NEXT:    %225 = OpLoad %23 %224 Aligned 4
+; CHECK-NEXT:    %226 = OpBitcast %25 %118
+; CHECK-NEXT:    %227 = OpLoad %23 %226 Aligned 4
+; CHECK-NEXT:    %228 = OpBitcast %25 %119
+; CHECK-NEXT:    %229 = OpLoad %23 %228 Aligned 4
+; CHECK-NEXT:    %230 = OpBitcast %25 %120
+; CHECK-NEXT:    %231 = OpLoad %23 %230 Aligned 4
+; CHECK-NEXT:    %232 = OpBitcast %25 %121
+; CHECK-NEXT:    %233 = OpLoad %23 %232 Aligned 4
+; CHECK-NEXT:    %234 = OpBitcast %25 %122
+; CHECK-NEXT:    %235 = OpLoad %23 %234 Aligned 4
+; CHECK-NEXT:    %236 = OpBitcast %25 %123
+; CHECK-NEXT:    %237 = OpLoad %23 %236 Aligned 4
+; CHECK-NEXT:    %238 = OpCompositeInsert %23 %158 %98 0
+; CHECK-NEXT:    %239 = OpVectorShuffle %23 %238 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %240 = OpVectorShuffle %18 %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:    %241 = OpVectorShuffle %18 %240 %99 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:    %242 = OpCompositeInsert %23 %166 %98 0
+; CHECK-NEXT:    %243 = OpVectorShuffle %23 %242 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %244 = OpVectorShuffle %18 %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:    %245 = OpVectorShuffle %18 %244 %241 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:    %246 = OpCompositeInsert %23 %174 %98 0
+; CHECK-NEXT:    %247 = OpVectorShuffle %23 %246 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %248 = OpVectorShuffle %18 %247 %247 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %249 = OpVectorShuffle %18 %248 %245 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:    %250 = OpCompositeInsert %23 %182 %98 0
+; CHECK-NEXT:    %251 = OpVectorShuffle %23 %250 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %252 = OpVectorShuffle %18 %251 %251 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %253 = OpVectorShuffle %18 %252 %249 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:    %254 = OpCompositeInsert %23 %190 %98 0
+; CHECK-NEXT:    %255 = OpVectorShuffle %23 %254 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %256 = OpVectorShuffle %18 %255 %255 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %257 = OpVectorShuffle %18 %256 %253 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:    %258 = OpCompositeInsert %23 %198 %98 0
+; CHECK-NEXT:    %259 = OpVectorShuffle %23 %258 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %260 = OpVectorShuffle %18 %259 %259 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %261 = OpVectorShuffle %18 %260 %257 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:    %262 = OpCompositeInsert %23 %206 %98 0
+; CHECK-NEXT:    %263 = OpVectorShuffle %23 %262 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %264 = OpVectorShuffle %18 %263 %263 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %265 = OpVectorShuffle %18 %264 %261 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:    %266 = OpCompositeInsert %23 %214 %98 0
+; CHECK-NEXT:    %267 = OpVectorShuffle %23 %266 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %268 = OpVectorShuffle %18 %267 %267 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %269 = OpVectorShuffle %18 %268 %265 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:    %270 = OpCompositeInsert %23 %159 %98 0
+; CHECK-NEXT:    %271 = OpVectorShuffle %23 %270 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %272 = OpVectorShuffle %18 %271 %271 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %273 = OpVectorShuffle %18 %272 %99 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:    %274 = OpCompositeInsert %23 %167 %98 0
+; CHECK-NEXT:    %275 = OpVectorShuffle %23 %274 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %276 = OpVectorShuffle %18 %275 %275 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %277 = OpVectorShuffle %18 %276 %273 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:    %278 = OpCompositeInsert %23 %175 %98 0
+; CHECK-NEXT:    %279 = OpVectorShuffle %23 %278 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %280 = OpVectorShuffle %18 %279 %279 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %281 = OpVectorShuffle %18 %280 %277 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:    %282 = OpCompositeInsert %23 %183 %98 0
+; CHECK-NEXT:    %283 = OpVectorShuffle %23 %282 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %284 = OpVectorShuffle %18 %283 %283 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %285 = OpVectorShuffle %18 %284 %281 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:    %286 = OpCompositeInsert %23 %191 %98 0
+; CHECK-NEXT:    %287 = OpVectorShuffle %23 %286 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %288 = OpVectorShuffle %18 %287 %287 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %289 = OpVectorShuffle %18 %288 %285 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:    %290 = OpCompositeInsert %23 %199 %98 0
+; CHECK-NEXT:    %291 = OpVectorShuffle %23 %290 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %292 = OpVectorShuffle %18 %291 %291 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %293 = OpVectorShuffle %18 %292 %289 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:    %294 = OpCompositeInsert %23 %207 %98 0
+; CHECK-NEXT:    %295 = OpVectorShuffle %23 %294 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %296 = OpVectorShuffle %18 %295 %295 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %297 = OpVectorShuffle %18 %296 %293 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:    %298 = OpCompositeInsert %23 %215 %98 0
+; CHECK-NEXT:    %299 = OpVectorShuffle %23 %298 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %300 = OpVectorShuffle %18 %299 %299 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %301 = OpVectorShuffle %18 %300 %297 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:    %302 = OpCompositeInsert %23 %160 %98 0
+; CHECK-NEXT:    %303 = OpVectorShuffle %23 %302 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %304 = OpVectorShuffle %18 %303 %303 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %305 = OpVectorShuffle %18 %304 %99 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:    %306 = OpCompositeInsert %23 %168 %98 0
+; CHECK-NEXT:    %307 = OpVectorShuffle %23 %306 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %308 = OpVectorShuffle %18 %307 %307 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %309 = OpVectorShuffle %18 %308 %305 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:    %310 = OpCompositeInsert %23 %176 %98 0
+; CHECK-NEXT:    %311 = OpVectorShuffle %23 %310 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %312 = OpVectorShuffle %18 %311 %311 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %313 = OpVectorShuffle %18 %312 %309 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:    %314 = OpCompositeInsert %23 %184 %98 0
+; CHECK-NEXT:    %315 = OpVectorShuffle %23 %314 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %316 = OpVectorShuffle %18 %315 %315 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %317 = OpVectorShuffle %18 %316 %313 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:    %318 = OpCompositeInsert %23 %192 %98 0
+; CHECK-NEXT:    %319 = OpVectorShuffle %23 %318 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %320 = OpVectorShuffle %18 %319 %319 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %321 = OpVectorShuffle %18 %320 %317 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:    %322 = OpCompositeInsert %23 %200 %98 0
+; CHECK-NEXT:    %323 = OpVectorShuffle %23 %322 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %324 = OpVectorShuffle %18 %323 %323 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %325 = OpVectorShuffle %18 %324 %321 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:    %326 = OpCompositeInsert %23 %208 %98 0
+; CHECK-NEXT:    %327 = OpVectorShuffle %23 %326 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %328 = OpVectorShuffle %18 %327 %327 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %329 = OpVectorShuffle %18 %328 %325 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:    %330 = OpCompositeInsert %23 %216 %98 0
+; CHECK-NEXT:    %331 = OpVectorShuffle %23 %330 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %332 = OpVectorShuffle %18 %331 %331 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %333 = OpVectorShuffle %18 %332 %329 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:    %334 = OpCompositeInsert %23 %161 %98 0
+; CHECK-NEXT:    %335 = OpVectorShuffle %23 %334 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %336 = OpVectorShuffle %18 %335 %335 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %337 = OpVectorShuffle %18 %336 %99 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:    %338 = OpCompositeInsert %23 %169 %98 0
+; CHECK-NEXT:    %339 = OpVectorShuffle %23 %338 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %340 = OpVectorShuffle %18 %339 %339 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %341 = OpVectorShuffle %18 %340 %337 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:    %342 = OpCompositeInsert %23 %177 %98 0
+; CHECK-NEXT:    %343 = OpVectorShuffle %23 %342 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %344 = OpVectorShuffle %18 %343 %343 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %345 = OpVectorShuffle %18 %344 %341 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:    %346 = OpCompositeInsert %23 %185 %98 0
+; CHECK-NEXT:    %347 = OpVectorShuffle %23 %346 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %348 = OpVectorShuffle %18 %347 %347 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %349 = OpVectorShuffle %18 %348 %345 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:    %350 = OpCompositeInsert %23 %193 %98 0
+; CHECK-NEXT:    %351 = OpVectorShuffle %23 %350 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %352 = OpVectorShuffle %18 %351 %351 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %353 = OpVectorShuffle %18 %352 %349 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:    %354 = OpCompositeInsert %23 %201 %98 0
+; CHECK-NEXT:    %355 = OpVectorShuffle %23 %354 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %356 = OpVectorShuffle %18 %355 %355 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %357 = OpVectorShuffle %18 %356 %353 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:    %358 = OpCompositeInsert %23 %209 %98 0
+; CHECK-NEXT:    %359 = OpVectorShuffle %23 %358 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %360 = OpVectorShuffle %18 %359 %359 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %361 = OpVectorShuffle %18 %360 %357 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:    %362 = OpCompositeInsert %23 %217 %98 0
+; CHECK-NEXT:    %363 = OpVectorShuffle %23 %362 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %364 = OpVectorShuffle %18 %363 %363 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %365 = OpVectorShuffle %18 %364 %361 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:    %366 = OpCompositeInsert %23 %162 %98 0
+; CHECK-NEXT:    %367 = OpVectorShuffle %23 %366 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %368 = OpVectorShuffle %18 %367 %367 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %369 = OpVectorShuffle %18 %368 %99 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:    %370 = OpCompositeInsert %23 %170 %98 0
+; CHECK-NEXT:    %371 = OpVectorShuffle %23 %370 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %372 = OpVectorShuffle %18 %371 %371 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %373 = OpVectorShuffle %18 %372 %369 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:    %374 = OpCompositeInsert %23 %178 %98 0
+; CHECK-NEXT:    %375 = OpVectorShuffle %23 %374 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %376 = OpVectorShuffle %18 %375 %375 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %377 = OpVectorShuffle %18 %376 %373 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:    %378 = OpCompositeInsert %23 %186 %98 0
+; CHECK-NEXT:    %379 = OpVectorShuffle %23 %378 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %380 = OpVectorShuffle %18 %379 %379 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %381 = OpVectorShuffle %18 %380 %377 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:    %382 = OpCompositeInsert %23 %194 %98 0
+; CHECK-NEXT:    %383 = OpVectorShuffle %23 %382 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %384 = OpVectorShuffle %18 %383 %383 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %385 = OpVectorShuffle %18 %384 %381 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:    %386 = OpCompositeInsert %23 %202 %98 0
+; CHECK-NEXT:    %387 = OpVectorShuffle %23 %386 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %388 = OpVectorShuffle %18 %387 %387 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %389 = OpVectorShuffle %18 %388 %385 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:    %390 = OpCompositeInsert %23 %210 %98 0
+; CHECK-NEXT:    %391 = OpVectorShuffle %23 %390 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %392 = OpVectorShuffle %18 %391 %391 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %393 = OpVectorShuffle %18 %392 %389 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:    %394 = OpCompositeInsert %23 %218 %98 0
+; CHECK-NEXT:    %395 = OpVectorShuffle %23 %394 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %396 = OpVectorShuffle %18 %395 %395 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %397 = OpVectorShuffle %18 %396 %393 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:    %398 = OpCompositeInsert %23 %163 %98 0
+; CHECK-NEXT:    %399 = OpVectorShuffle %23 %398 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %400 = OpVectorShuffle %18 %399 %399 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %401 = OpVectorShuffle %18 %400 %99 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:    %402 = OpCompositeInsert %23 %171 %98 0
+; CHECK-NEXT:    %403 = OpVectorShuffle %23 %402 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %404 = OpVectorShuffle %18 %403 %403 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %405 = OpVectorShuffle %18 %404 %401 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:    %406 = OpCompositeInsert %23 %179 %98 0
+; CHECK-NEXT:    %407 = OpVectorShuffle %23 %406 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %408 = OpVectorShuffle %18 %407 %407 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %409 = OpVectorShuffle %18 %408 %405 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:    %410 = OpCompositeInsert %23 %187 %98 0
+; CHECK-NEXT:    %411 = OpVectorShuffle %23 %410 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %412 = OpVectorShuffle %18 %411 %411 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %413 = OpVectorShuffle %18 %412 %409 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:    %414 = OpCompositeInsert %23 %195 %98 0
+; CHECK-NEXT:    %415 = OpVectorShuffle %23 %414 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %416 = OpVectorShuffle %18 %415 %415 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %417 = OpVectorShuffle %18 %416 %413 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:    %418 = OpCompositeInsert %23 %203 %98 0
+; CHECK-NEXT:    %419 = OpVectorShuffle %23 %418 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %420 = OpVectorShuffle %18 %419 %419 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %421 = OpVectorShuffle %18 %420 %417 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:    %422 = OpCompositeInsert %23 %211 %98 0
+; CHECK-NEXT:    %423 = OpVectorShuffle %23 %422 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %424 = OpVectorShuffle %18 %423 %423 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %425 = OpVectorShuffle %18 %424 %421 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:    %426 = OpCompositeInsert %23 %219 %98 0
+; CHECK-NEXT:    %427 = OpVectorShuffle %23 %426 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %428 = OpVectorShuffle %18 %427 %427 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %429 = OpVectorShuffle %18 %428 %425 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:    %430 = OpCompositeInsert %23 %164 %98 0
+; CHECK-NEXT:    %431 = OpVectorShuffle %23 %430 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %432 = OpVectorShuffle %18 %431 %431 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %433 = OpVectorShuffle %18 %432 %99 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:    %434 = OpCompositeInsert %23 %172 %98 0
+; CHECK-NEXT:    %435 = OpVectorShuffle %23 %434 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %436 = OpVectorShuffle %18 %435 %435 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %437 = OpVectorShuffle %18 %436 %433 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:    %438 = OpCompositeInsert %23 %180 %98 0
+; CHECK-NEXT:    %439 = OpVectorShuffle %23 %438 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %440 = OpVectorShuffle %18 %439 %439 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %441 = OpVectorShuffle %18 %440 %437 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:    %442 = OpCompositeInsert %23 %188 %98 0
+; CHECK-NEXT:    %443 = OpVectorShuffle %23 %442 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %444 = OpVectorShuffle %18 %443 %443 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %445 = OpVectorShuffle %18 %444 %441 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:    %446 = OpCompositeInsert %23 %196 %98 0
+; CHECK-NEXT:    %447 = OpVectorShuffle %23 %446 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %448 = OpVectorShuffle %18 %447 %447 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %449 = OpVectorShuffle %18 %448 %445 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:    %450 = OpCompositeInsert %23 %204 %98 0
+; CHECK-NEXT:    %451 = OpVectorShuffle %23 %450 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %452 = OpVectorShuffle %18 %451 %451 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %453 = OpVectorShuffle %18 %452 %449 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:    %454 = OpCompositeInsert %23 %212 %98 0
+; CHECK-NEXT:    %455 = OpVectorShuffle %23 %454 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %456 = OpVectorShuffle %18 %455 %455 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %457 = OpVectorShuffle %18 %456 %453 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:    %458 = OpCompositeInsert %23 %220 %98 0
+; CHECK-NEXT:    %459 = OpVectorShuffle %23 %458 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %460 = OpVectorShuffle %18 %459 %459 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %461 = OpVectorShuffle %18 %460 %457 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:    %462 = OpCompositeInsert %23 %165 %98 0
+; CHECK-NEXT:    %463 = OpVectorShuffle %23 %462 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %464 = OpVectorShuffle %18 %463 %463 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %465 = OpVectorShuffle %18 %464 %99 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:    %466 = OpCompositeInsert %23 %173 %98 0
+; CHECK-NEXT:    %467 = OpVectorShuffle %23 %466 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %468 = OpVectorShuffle %18 %467 %467 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %469 = OpVectorShuffle %18 %468 %465 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:    %470 = OpCompositeInsert %23 %181 %98 0
+; CHECK-NEXT:    %471 = OpVectorShuffle %23 %470 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %472 = OpVectorShuffle %18 %471 %471 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %473 = OpVectorShuffle %18 %472 %469 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:    %474 = OpCompositeInsert %23 %189 %98 0
+; CHECK-NEXT:    %475 = OpVectorShuffle %23 %474 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %476 = OpVectorShuffle %18 %475 %475 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %477 = OpVectorShuffle %18 %476 %473 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:    %478 = OpCompositeInsert %23 %197 %98 0
+; CHECK-NEXT:    %479 = OpVectorShuffle %23 %478 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %480 = OpVectorShuffle %18 %479 %479 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %481 = OpVectorShuffle %18 %480 %477 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:    %482 = OpCompositeInsert %23 %205 %98 0
+; CHECK-NEXT:    %483 = OpVectorShuffle %23 %482 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %484 = OpVectorShuffle %18 %483 %483 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %485 = OpVectorShuffle %18 %484 %481 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:    %486 = OpCompositeInsert %23 %213 %98 0
+; CHECK-NEXT:    %487 = OpVectorShuffle %23 %486 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %488 = OpVectorShuffle %18 %487 %487 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %489 = OpVectorShuffle %18 %488 %485 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:    %490 = OpCompositeInsert %23 %221 %98 0
+; CHECK-NEXT:    %491 = OpVectorShuffle %23 %490 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %492 = OpVectorShuffle %18 %491 %491 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %493 = OpVectorShuffle %18 %492 %489 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:    %494 = OpVectorShuffle %18 %223 %223 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 %18 %494 %99 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:    %496 = OpVectorShuffle %18 %223 %223 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %497 = OpVectorShuffle %18 %496 %495 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:    %498 = OpVectorShuffle %18 %223 %223 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 %18 %498 %497 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:    %500 = OpVectorShuffle %18 %223 %223 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 %18 %500 %499 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:    %502 = OpVectorShuffle %18 %223 %223 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 %18 %502 %501 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:    %504 = OpVectorShuffle %18 %223 %223 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 %18 %504 %503 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:    %506 = OpVectorShuffle %18 %223 %223 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 %18 %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 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:    %508 = OpVectorShuffle %18 %223 %223 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 %18 %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 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:    %510 = OpVectorShuffle %18 %225 %225 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 %18 %510 %99 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:    %512 = OpVectorShuffle %18 %225 %225 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 %18 %512 %511 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:    %514 = OpVectorShuffle %18 %225 %225 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 %18 %514 %513 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:    %516 = OpVectorShuffle %18 %225 %225 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 %18 %516 %515 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:    %518 = OpVectorShuffle %18 %225 %225 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 %18 %518 %517 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:    %520 = OpVectorShuffle %18 %225 %225 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 %18 %520 %519 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:    %522 = OpVectorShuffle %18 %225 %225 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 %18 %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 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:    %524 = OpVectorShuffle %18 %225 %225 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 %18 %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 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:    %526 = OpVectorShuffle %18 %227 %227 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 %18 %526 %99 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:    %528 = OpVectorShuffle %18 %227 %227 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 %18 %528 %527 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:    %530 = OpVectorShuffle %18 %227 %227 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 %18 %530 %529 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:    %532 = OpVectorShuffle %18 %227 %227 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 %18 %532 %531 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:    %534 = OpVectorShuffle %18 %227 %227 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 %18 %534 %533 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:    %536 = OpVectorShuffle %18 %227 %227 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 %18 %536 %535 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:    %538 = OpVectorShuffle %18 %227 %227 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 %18 %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 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:    %540 = OpVectorShuffle %18 %227 %227 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 %18 %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 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:    %542 = OpVectorShuffle %18 %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:    %543 = OpVectorShuffle %18 %542 %99 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:    %544 = OpVectorShuffle %18 %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:    %545 = OpVectorShuffle %18 %544 %543 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:    %546 = OpVectorShuffle %18 %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:    %547 = OpVectorShuffle %18 %546 %545 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:    %548 = OpVectorShuffle %18 %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:    %549 = OpVectorShuffle %18 %548 %547 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:    %550 = OpVectorShuffle %18 %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:    %551 = OpVectorShuffle %18 %550 %549 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:    %552 = OpVectorShuffle %18 %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:    %553 = OpVectorShuffle %18 %552 %551 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:    %554 = OpVectorShuffle %18 %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:    %555 = OpVectorShuffle %18 %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 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:    %556 = OpVectorShuffle %18 %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:    %557 = OpVectorShuffle %18 %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 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:    %558 = OpVectorShuffle %18 %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:    %559 = OpVectorShuffle %18 %558 %99 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:    %560 = OpVectorShuffle %18 %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:    %561 = OpVectorShuffle %18 %560 %559 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:    %562 = OpVectorShuffle %18 %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:    %563 = OpVectorShuffle %18 %562 %561 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:    %564 = OpVectorShuffle %18 %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:    %565 = OpVectorShuffle %18 %564 %563 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:    %566 = OpVectorShuffle %18 %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:    %567 = OpVectorShuffle %18 %566 %565 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:    %568 = OpVectorShuffle %18 %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:    %569 = OpVectorShuffle %18 %568 %567 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:    %570 = OpVectorShuffle %18 %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:    %571 = OpVectorShuffle %18 %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 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:    %572 = OpVectorShuffle %18 %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:    %573 = OpVectorShuffle %18 %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 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:    %574 = OpVectorShuffle %18 %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:    %575 = OpVectorShuffle %18 %574 %99 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:    %576 = OpVectorShuffle %18 %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:    %577 = OpVectorShuffle %18 %576 %575 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:    %578 = OpVectorShuffle %18 %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:    %579 = OpVectorShuffle %18 %578 %577 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:    %580 = OpVectorShuffle %18 %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:    %581 = OpVectorShuffle %18 %580 %579 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:    %582 = OpVectorShuffle %18 %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:    %583 = OpVectorShuffle %18 %582 %581 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:    %584 = OpVectorShuffle %18 %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:    %585 = OpVectorShuffle %18 %584 %583 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:    %586 = OpVectorShuffle %18 %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:    %587 = OpVectorShuffle %18 %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 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:    %588 = OpVectorShuffle %18 %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:    %589 = OpVectorShuffle %18 %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 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:    %590 = OpVectorShuffle %18 %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:    %591 = OpVectorShuffle %18 %590 %99 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:    %592 = OpVectorShuffle %18 %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:    %593 = OpVectorShuffle %18 %592 %591 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:    %594 = OpVectorShuffle %18 %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:    %595 = OpVectorShuffle %18 %594 %593 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:    %596 = OpVectorShuffle %18 %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:    %597 = OpVectorShuffle %18 %596 %595 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:    %598 = OpVectorShuffle %18 %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:    %599 = OpVectorShuffle %18 %598 %597 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:    %600 = OpVectorShuffle %18 %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:    %601 = OpVectorShuffle %18 %600 %599 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:    %602 = OpVectorShuffle %18 %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:    %603 = OpVectorShuffle %18 %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 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:    %604 = OpVectorShuffle %18 %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:    %605 = OpVectorShuffle %18 %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 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:    %606 = OpVectorShuffle %18 %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:    %607 = OpVectorShuffle %18 %606 %99 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:    %608 = OpVectorShuffle %18 %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:    %609 = OpVectorShuffle %18 %608 %607 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:    %610 = OpVectorShuffle %18 %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:    %611 = OpVectorShuffle %18 %610 %609 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:    %612 = OpVectorShuffle %18 %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:    %613 = OpVectorShuffle %18 %612 %611 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:    %614 = OpVectorShuffle %18 %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:    %615 = OpVectorShuffle %18 %614 %613 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:    %616 = OpVectorShuffle %18 %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:    %617 = OpVectorShuffle %18 %616 %615 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:    %618 = OpVectorShuffle %18 %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:    %619 = OpVectorShuffle %18 %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 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:    %620 = OpVectorShuffle %18 %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:    %621 = OpVectorShuffle %18 %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 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:    %622 = OpFunctionCall %18 %101 %493 %621 %100
+; CHECK-NEXT:    %623 = OpFunctionCall %18 %101 %461 %605 %622
+; CHECK-NEXT:    %624 = OpFunctionCall %18 %101 %429 %589 %623
+; CHECK-NEXT:    %625 = OpFunctionCall %18 %101 %397 %573 %624
+; CHECK-NEXT:    %626 = OpFunctionCall %18 %101 %365 %557 %625
+; CHECK-NEXT:    %627 = OpFunctionCall %18 %101 %333 %541 %626
+; CHECK-NEXT:    %628 = OpFunctionCall %18 %101 %301 %525 %627
+; CHECK-NEXT:    %629 = OpFunctionCall %18 %101 %269 %509 %628
+; CHECK-NEXT:    %630 = OpVectorShuffle %23 %629 %629 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %631 = OpVectorShuffle %23 %629 %629 8 9 10 11 12 13 14 15
+; CHECK-NEXT:    %632 = OpVectorShuffle %23 %629 %629 16 17 18 19 20 21 22 23
+; CHECK-NEXT:    %633 = OpVectorShuffle %23 %629 %629 24 25 26 27 28 29 30 31
+; CHECK-NEXT:    %634 = OpVectorShuffle %23 %629 %629 32 33 34 35 36 37 38 39
+; CHECK-NEXT:    %635 = OpVectorShuffle %23 %629 %629 40 41 42 43 44 45 46 47
+; CHECK-NEXT:    %636 = OpVectorShuffle %23 %629 %629 48 49 50 51 52 53 54 55
+; CHECK-NEXT:    %637 = OpVectorShuffle %23 %629 %629 56 57 58 59 60 61 62 63
+; CHECK-NEXT:    %638 = OpBitcast %25 %92
+; CHECK-NEXT:    %639 = OpLoad %23 %638 Aligned 4
+; CHECK-NEXT:    %640 = OpBitcast %25 %125
+; CHECK-NEXT:    %641 = OpLoad %23 %640 Aligned 4
+; CHECK-NEXT:    %642 = OpBitcast %25 %126
+; CHECK-NEXT:    %643 = OpLoad %23 %642 Aligned 4
+; CHECK-NEXT:    %644 = OpBitcast %25 %127
+; CHECK-NEXT:    %645 = OpLoad %23 %644 Aligned 4
+; CHECK-NEXT:    %646 = OpBitcast %25 %128
+; CHECK-NEXT:    %647 = OpLoad %23 %646 Aligned 4
+; CHECK-NEXT:    %648 = OpBitcast %25 %129
+; CHECK-NEXT:    %649 = OpLoad %23 %648 Aligned 4
+; CHECK-NEXT:    %650 = OpBitcast %25 %130
+; CHECK-NEXT:    %651 = OpLoad %23 %650 Aligned 4
+; CHECK-NEXT:    %652 = OpBitcast %25 %131
+; CHECK-NEXT:    %653 = OpLoad %23 %652 Aligned 4
+; CHECK-NEXT:    %654 = OpCompositeExtract %9 %639 0
+; CHECK-NEXT:    %655 = OpCompositeExtract %9 %639 1
+; CHECK-NEXT:    %656 = OpCompositeExtract %9 %639 2
+; CHECK-NEXT:    %657 = OpCompositeExtract %9 %639 3
+; CHECK-NEXT:    %658 = OpCompositeExtract %9 %639 4
+; CHECK-NEXT:    %659 = OpCompositeExtract %9 %639 5
+; CHECK-NEXT:    %660 = OpCompositeExtract %9 %639 6
+; CHECK-NEXT:    %661 = OpCompositeExtract %9 %639 7
+; CHECK-NEXT:    %662 = OpCompositeExtract %9 %641 0
+; CHECK-NEXT:    %663 = OpCompositeExtract %9 %641 1
+; CHECK-NEXT:    %664 = OpCompositeExtract %9 %641 2
+; CHECK-NEXT:    %665 = OpCompositeExtract %9 %641 3
+; CHECK-NEXT:    %666 = OpCompositeExtract %9 %641 4
+; CHECK-NEXT:    %667 = OpCompositeExtract %9 %641 5
+; CHECK-NEXT:    %668 = OpCompositeExtract %9 %641 6
+; CHECK-NEXT:    %669 = OpCompositeExtract %9 %641 7
+; CHECK-NEXT:    %670 = OpCompositeExtract %9 %643 0
+; CHECK-NEXT:    %671 = OpCompositeExtract %9 %643 1
+; CHECK-NEXT:    %672 = OpCompositeExtract %9 %643 2
+; CHECK-NEXT:    %673 = OpCompositeExtract %9 %643 3
+; CHECK-NEXT:    %674 = OpCompositeExtract %9 %643 4
+; CHECK-NEXT:    %675 = OpCompositeExtract %9 %643 5
+; CHECK-NEXT:    %676 = OpCompositeExtract %9 %643 6
+; CHECK-NEXT:    %677 = OpCompositeExtract %9 %643 7
+; CHECK-NEXT:    %678 = OpCompositeExtract %9 %645 0
+; CHECK-NEXT:    %679 = OpCompositeExtract %9 %645 1
+; CHECK-NEXT:    %680 = OpCompositeExtract %9 %645 2
+; CHECK-NEXT:    %681 = OpCompositeExtract %9 %645 3
+; CHECK-NEXT:    %682 = OpCompositeExtract %9 %645 4
+; CHECK-NEXT:    %683 = OpCompositeExtract %9 %645 5
+; CHECK-NEXT:    %684 = OpCompositeExtract %9 %645 6
+; CHECK-NEXT:    %685 = OpCompositeExtract %9 %645 7
+; CHECK-NEXT:    %686 = OpCompositeExtract %9 %647 0
+; CHECK-NEXT:    %687 = OpCompositeExtract %9 %647 1
+; CHECK-NEXT:    %688 = OpCompositeExtract %9 %647 2
+; CHECK-NEXT:    %689 = OpCompositeExtract %9 %647 3
+; CHECK-NEXT:    %690 = OpCompositeExtract %9 %647 4
+; CHECK-NEXT:    %691 = OpCompositeExtract %9 %647 5
+; CHECK-NEXT:    %692 = OpCompositeExtract %9 %647 6
+; CHECK-NEXT:    %693 = OpCompositeExtract %9 %647 7
+; CHECK-NEXT:    %694 = OpCompositeExtract %9 %649 0
+; CHECK-NEXT:    %695 = OpCompositeExtract %9 %649 1
+; CHECK-NEXT:    %696 = OpCompositeExtract %9 %649 2
+; CHECK-NEXT:    %697 = OpCompositeExtract %9 %649 3
+; CHECK-NEXT:    %698 = OpCompositeExtract %9 %649 4
+; CHECK-NEXT:    %699 = OpCompositeExtract %9 %649 5
+; CHECK-NEXT:    %700 = OpCompositeExtract %9 %649 6
+; CHECK-NEXT:    %701 = OpCompositeExtract %9 %649 7
+; CHECK-NEXT:    %702 = OpCompositeExtract %9 %651 0
+; CHECK-NEXT:    %703 = OpCompositeExtract %9 %651 1
+; CHECK-NEXT:    %704 = OpCompositeExtract %9 %651 2
+; CHECK-NEXT:    %705 = OpCompositeExtract %9 %651 3
+; CHECK-NEXT:    %706 = OpCompositeExtract %9 %651 4
+; CHECK-NEXT:    %707 = OpCompositeExtract %9 %651 5
+; CHECK-NEXT:    %708 = OpCompositeExtract %9 %651 6
+; CHECK-NEXT:    %709 = OpCompositeExtract %9 %651 7
+; CHECK-NEXT:    %710 = OpCompositeExtract %9 %653 0
+; CHECK-NEXT:    %711 = OpCompositeExtract %9 %653 1
+; CHECK-NEXT:    %712 = OpCompositeExtract %9 %653 2
+; CHECK-NEXT:    %713 = OpCompositeExtract %9 %653 3
+; CHECK-NEXT:    %714 = OpCompositeExtract %9 %653 4
+; CHECK-NEXT:    %715 = OpCompositeExtract %9 %653 5
+; CHECK-NEXT:    %716 = OpCompositeExtract %9 %653 6
+; CHECK-NEXT:    %717 = OpCompositeExtract %9 %653 7
+; CHECK-NEXT:    %718 = OpCompositeInsert %23 %654 %98 0
+; CHECK-NEXT:    %719 = OpVectorShuffle %23 %718 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %720 = OpVectorShuffle %18 %719 %719 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %721 = OpVectorShuffle %18 %720 %99 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:    %722 = OpCompositeInsert %23 %662 %98 0
+; CHECK-NEXT:    %723 = OpVectorShuffle %23 %722 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %724 = OpVectorShuffle %18 %723 %723 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %725 = OpVectorShuffle %18 %724 %721 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:    %726 = OpCompositeInsert %23 %670 %98 0
+; CHECK-NEXT:    %727 = OpVectorShuffle %23 %726 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %728 = OpVectorShuffle %18 %727 %727 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %729 = OpVectorShuffle %18 %728 %725 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:    %730 = OpCompositeInsert %23 %678 %98 0
+; CHECK-NEXT:    %731 = OpVectorShuffle %23 %730 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %732 = OpVectorShuffle %18 %731 %731 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %733 = OpVectorShuffle %18 %732 %729 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:    %734 = OpCompositeInsert %23 %686 %98 0
+; CHECK-NEXT:    %735 = OpVectorShuffle %23 %734 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %736 = OpVectorShuffle %18 %735 %735 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %737 = OpVectorShuffle %18 %736 %733 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:    %738 = OpCompositeInsert %23 %694 %98 0
+; CHECK-NEXT:    %739 = OpVectorShuffle %23 %738 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %740 = OpVectorShuffle %18 %739 %739 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %741 = OpVectorShuffle %18 %740 %737 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:    %742 = OpCompositeInsert %23 %702 %98 0
+; CHECK-NEXT:    %743 = OpVectorShuffle %23 %742 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %744 = OpVectorShuffle %18 %743 %743 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %745 = OpVectorShuffle %18 %744 %741 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:    %746 = OpCompositeInsert %23 %710 %98 0
+; CHECK-NEXT:    %747 = OpVectorShuffle %23 %746 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %748 = OpVectorShuffle %18 %747 %747 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %749 = OpVectorShuffle %18 %748 %745 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:    %750 = OpCompositeInsert %23 %655 %98 0
+; CHECK-NEXT:    %751 = OpVectorShuffle %23 %750 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %752 = OpVectorShuffle %18 %751 %751 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %753 = OpVectorShuffle %18 %752 %99 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:    %754 = OpCompositeInsert %23 %663 %98 0
+; CHECK-NEXT:    %755 = OpVectorShuffle %23 %754 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %756 = OpVectorShuffle %18 %755 %755 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %757 = OpVectorShuffle %18 %756 %753 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:    %758 = OpCompositeInsert %23 %671 %98 0
+; CHECK-NEXT:    %759 = OpVectorShuffle %23 %758 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %760 = OpVectorShuffle %18 %759 %759 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %761 = OpVectorShuffle %18 %760 %757 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:    %762 = OpCompositeInsert %23 %679 %98 0
+; CHECK-NEXT:    %763 = OpVectorShuffle %23 %762 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %764 = OpVectorShuffle %18 %763 %763 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %765 = OpVectorShuffle %18 %764 %761 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:    %766 = OpCompositeInsert %23 %687 %98 0
+; CHECK-NEXT:    %767 = OpVectorShuffle %23 %766 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %768 = OpVectorShuffle %18 %767 %767 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %769 = OpVectorShuffle %18 %768 %765 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:    %770 = OpCompositeInsert %23 %695 %98 0
+; CHECK-NEXT:    %771 = OpVectorShuffle %23 %770 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %772 = OpVectorShuffle %18 %771 %771 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %773 = OpVectorShuffle %18 %772 %769 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:    %774 = OpCompositeInsert %23 %703 %98 0
+; CHECK-NEXT:    %775 = OpVectorShuffle %23 %774 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %776 = OpVectorShuffle %18 %775 %775 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %777 = OpVectorShuffle %18 %776 %773 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:    %778 = OpCompositeInsert %23 %711 %98 0
+; CHECK-NEXT:    %779 = OpVectorShuffle %23 %778 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %780 = OpVectorShuffle %18 %779 %779 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %781 = OpVectorShuffle %18 %780 %777 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:    %782 = OpCompositeInsert %23 %656 %98 0
+; CHECK-NEXT:    %783 = OpVectorShuffle %23 %782 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %784 = OpVectorShuffle %18 %783 %783 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %785 = OpVectorShuffle %18 %784 %99 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:    %786 = OpCompositeInsert %23 %664 %98 0
+; CHECK-NEXT:    %787 = OpVectorShuffle %23 %786 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %788 = OpVectorShuffle %18 %787 %787 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %789 = OpVectorShuffle %18 %788 %785 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:    %790 = OpCompositeInsert %23 %672 %98 0
+; CHECK-NEXT:    %791 = OpVectorShuffle %23 %790 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %792 = OpVectorShuffle %18 %791 %791 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %793 = OpVectorShuffle %18 %792 %789 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:    %794 = OpCompositeInsert %23 %680 %98 0
+; CHECK-NEXT:    %795 = OpVectorShuffle %23 %794 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %796 = OpVectorShuffle %18 %795 %795 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %797 = OpVectorShuffle %18 %796 %793 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:    %798 = OpCompositeInsert %23 %688 %98 0
+; CHECK-NEXT:    %799 = OpVectorShuffle %23 %798 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %800 = OpVectorShuffle %18 %799 %799 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %801 = OpVectorShuffle %18 %800 %797 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:    %802 = OpCompositeInsert %23 %696 %98 0
+; CHECK-NEXT:    %803 = OpVectorShuffle %23 %802 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %804 = OpVectorShuffle %18 %803 %803 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %805 = OpVectorShuffle %18 %804 %801 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:    %806 = OpCompositeInsert %23 %704 %98 0
+; CHECK-NEXT:    %807 = OpVectorShuffle %23 %806 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %808 = OpVectorShuffle %18 %807 %807 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %809 = OpVectorShuffle %18 %808 %805 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:    %810 = OpCompositeInsert %23 %712 %98 0
+; CHECK-NEXT:    %811 = OpVectorShuffle %23 %810 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %812 = OpVectorShuffle %18 %811 %811 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %813 = OpVectorShuffle %18 %812 %809 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:    %814 = OpCompositeInsert %23 %657 %98 0
+; CHECK-NEXT:    %815 = OpVectorShuffle %23 %814 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %816 = OpVectorShuffle %18 %815 %815 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %817 = OpVectorShuffle %18 %816 %99 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:    %818 = OpCompositeInsert %23 %665 %98 0
+; CHECK-NEXT:    %819 = OpVectorShuffle %23 %818 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %820 = OpVectorShuffle %18 %819 %819 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %821 = OpVectorShuffle %18 %820 %817 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:    %822 = OpCompositeInsert %23 %673 %98 0
+; CHECK-NEXT:    %823 = OpVectorShuffle %23 %822 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %824 = OpVectorShuffle %18 %823 %823 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %825 = OpVectorShuffle %18 %824 %821 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:    %826 = OpCompositeInsert %23 %681 %98 0
+; CHECK-NEXT:    %827 = OpVectorShuffle %23 %826 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %828 = OpVectorShuffle %18 %827 %827 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %829 = OpVectorShuffle %18 %828 %825 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:    %830 = OpCompositeInsert %23 %689 %98 0
+; CHECK-NEXT:    %831 = OpVectorShuffle %23 %830 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %832 = OpVectorShuffle %18 %831 %831 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %833 = OpVectorShuffle %18 %832 %829 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:    %834 = OpCompositeInsert %23 %697 %98 0
+; CHECK-NEXT:    %835 = OpVectorShuffle %23 %834 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %836 = OpVectorShuffle %18 %835 %835 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %837 = OpVectorShuffle %18 %836 %833 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:    %838 = OpCompositeInsert %23 %705 %98 0
+; CHECK-NEXT:    %839 = OpVectorShuffle %23 %838 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %840 = OpVectorShuffle %18 %839 %839 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %841 = OpVectorShuffle %18 %840 %837 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:    %842 = OpCompositeInsert %23 %713 %98 0
+; CHECK-NEXT:    %843 = OpVectorShuffle %23 %842 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %844 = OpVectorShuffle %18 %843 %843 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %845 = OpVectorShuffle %18 %844 %841 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:    %846 = OpCompositeInsert %23 %658 %98 0
+; CHECK-NEXT:    %847 = OpVectorShuffle %23 %846 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %848 = OpVectorShuffle %18 %847 %847 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %849 = OpVectorShuffle %18 %848 %99 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:    %850 = OpCompositeInsert %23 %666 %98 0
+; CHECK-NEXT:    %851 = OpVectorShuffle %23 %850 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %852 = OpVectorShuffle %18 %851 %851 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %853 = OpVectorShuffle %18 %852 %849 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:    %854 = OpCompositeInsert %23 %674 %98 0
+; CHECK-NEXT:    %855 = OpVectorShuffle %23 %854 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %856 = OpVectorShuffle %18 %855 %855 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %857 = OpVectorShuffle %18 %856 %853 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:    %858 = OpCompositeInsert %23 %682 %98 0
+; CHECK-NEXT:    %859 = OpVectorShuffle %23 %858 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %860 = OpVectorShuffle %18 %859 %859 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %861 = OpVectorShuffle %18 %860 %857 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:    %862 = OpCompositeInsert %23 %690 %98 0
+; CHECK-NEXT:    %863 = OpVectorShuffle %23 %862 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %864 = OpVectorShuffle %18 %863 %863 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %865 = OpVectorShuffle %18 %864 %861 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:    %866 = OpCompositeInsert %23 %698 %98 0
+; CHECK-NEXT:    %867 = OpVectorShuffle %23 %866 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %868 = OpVectorShuffle %18 %867 %867 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %869 = OpVectorShuffle %18 %868 %865 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:    %870 = OpCompositeInsert %23 %706 %98 0
+; CHECK-NEXT:    %871 = OpVectorShuffle %23 %870 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %872 = OpVectorShuffle %18 %871 %871 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %873 = OpVectorShuffle %18 %872 %869 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:    %874 = OpCompositeInsert %23 %714 %98 0
+; CHECK-NEXT:    %875 = OpVectorShuffle %23 %874 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %876 = OpVectorShuffle %18 %875 %875 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %877 = OpVectorShuffle %18 %876 %873 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:    %878 = OpCompositeInsert %23 %659 %98 0
+; CHECK-NEXT:    %879 = OpVectorShuffle %23 %878 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %880 = OpVectorShuffle %18 %879 %879 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %881 = OpVectorShuffle %18 %880 %99 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:    %882 = OpCompositeInsert %23 %667 %98 0
+; CHECK-NEXT:    %883 = OpVectorShuffle %23 %882 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %884 = OpVectorShuffle %18 %883 %883 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %885 = OpVectorShuffle %18 %884 %881 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:    %886 = OpCompositeInsert %23 %675 %98 0
+; CHECK-NEXT:    %887 = OpVectorShuffle %23 %886 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %888 = OpVectorShuffle %18 %887 %887 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %889 = OpVectorShuffle %18 %888 %885 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:    %890 = OpCompositeInsert %23 %683 %98 0
+; CHECK-NEXT:    %891 = OpVectorShuffle %23 %890 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %892 = OpVectorShuffle %18 %891 %891 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %893 = OpVectorShuffle %18 %892 %889 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:    %894 = OpCompositeInsert %23 %691 %98 0
+; CHECK-NEXT:    %895 = OpVectorShuffle %23 %894 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %896 = OpVectorShuffle %18 %895 %895 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %897 = OpVectorShuffle %18 %896 %893 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:    %898 = OpCompositeInsert %23 %699 %98 0
+; CHECK-NEXT:    %899 = OpVectorShuffle %23 %898 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %900 = OpVectorShuffle %18 %899 %899 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %901 = OpVectorShuffle %18 %900 %897 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:    %902 = OpCompositeInsert %23 %707 %98 0
+; CHECK-NEXT:    %903 = OpVectorShuffle %23 %902 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %904 = OpVectorShuffle %18 %903 %903 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %905 = OpVectorShuffle %18 %904 %901 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:    %906 = OpCompositeInsert %23 %715 %98 0
+; CHECK-NEXT:    %907 = OpVectorShuffle %23 %906 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %908 = OpVectorShuffle %18 %907 %907 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %909 = OpVectorShuffle %18 %908 %905 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:    %910 = OpCompositeInsert %23 %660 %98 0
+; CHECK-NEXT:    %911 = OpVectorShuffle %23 %910 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %912 = OpVectorShuffle %18 %911 %911 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %913 = OpVectorShuffle %18 %912 %99 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:    %914 = OpCompositeInsert %23 %668 %98 0
+; CHECK-NEXT:    %915 = OpVectorShuffle %23 %914 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %916 = OpVectorShuffle %18 %915 %915 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %917 = OpVectorShuffle %18 %916 %913 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:    %918 = OpCompositeInsert %23 %676 %98 0
+; CHECK-NEXT:    %919 = OpVectorShuffle %23 %918 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %920 = OpVectorShuffle %18 %919 %919 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %921 = OpVectorShuffle %18 %920 %917 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:    %922 = OpCompositeInsert %23 %684 %98 0
+; CHECK-NEXT:    %923 = OpVectorShuffle %23 %922 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %924 = OpVectorShuffle %18 %923 %923 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %925 = OpVectorShuffle %18 %924 %921 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:    %926 = OpCompositeInsert %23 %692 %98 0
+; CHECK-NEXT:    %927 = OpVectorShuffle %23 %926 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %928 = OpVectorShuffle %18 %927 %927 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %929 = OpVectorShuffle %18 %928 %925 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:    %930 = OpCompositeInsert %23 %700 %98 0
+; CHECK-NEXT:    %931 = OpVectorShuffle %23 %930 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %932 = OpVectorShuffle %18 %931 %931 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %933 = OpVectorShuffle %18 %932 %929 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:    %934 = OpCompositeInsert %23 %708 %98 0
+; CHECK-NEXT:    %935 = OpVectorShuffle %23 %934 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %936 = OpVectorShuffle %18 %935 %935 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %937 = OpVectorShuffle %18 %936 %933 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:    %938 = OpCompositeInsert %23 %716 %98 0
+; CHECK-NEXT:    %939 = OpVectorShuffle %23 %938 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %940 = OpVectorShuffle %18 %939 %939 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %941 = OpVectorShuffle %18 %940 %937 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:    %942 = OpCompositeInsert %23 %661 %98 0
+; CHECK-NEXT:    %943 = OpVectorShuffle %23 %942 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %944 = OpVectorShuffle %18 %943 %943 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %945 = OpVectorShuffle %18 %944 %99 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:    %946 = OpCompositeInsert %23 %669 %98 0
+; CHECK-NEXT:    %947 = OpVectorShuffle %23 %946 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %948 = OpVectorShuffle %18 %947 %947 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %949 = OpVectorShuffle %18 %948 %945 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:    %950 = OpCompositeInsert %23 %677 %98 0
+; CHECK-NEXT:    %951 = OpVectorShuffle %23 %950 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %952 = OpVectorShuffle %18 %951 %951 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %953 = OpVectorShuffle %18 %952 %949 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:    %954 = OpCompositeInsert %23 %685 %98 0
+; CHECK-NEXT:    %955 = OpVectorShuffle %23 %954 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %956 = OpVectorShuffle %18 %955 %955 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %957 = OpVectorShuffle %18 %956 %953 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:    %958 = OpCompositeInsert %23 %693 %98 0
+; CHECK-NEXT:    %959 = OpVectorShuffle %23 %958 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %960 = OpVectorShuffle %18 %959 %959 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %961 = OpVectorShuffle %18 %960 %957 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:    %962 = OpCompositeInsert %23 %701 %98 0
+; CHECK-NEXT:    %963 = OpVectorShuffle %23 %962 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %964 = OpVectorShuffle %18 %963 %963 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %965 = OpVectorShuffle %18 %964 %961 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:    %966 = OpCompositeInsert %23 %709 %98 0
+; CHECK-NEXT:    %967 = OpVectorShuffle %23 %966 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %968 = OpVectorShuffle %18 %967 %967 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %969 = OpVectorShuffle %18 %968 %965 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:    %970 = OpCompositeInsert %23 %717 %98 0
+; CHECK-NEXT:    %971 = OpVectorShuffle %23 %970 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %972 = OpVectorShuffle %18 %971 %971 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %973 = OpVectorShuffle %18 %972 %969 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:    %974 = OpVectorShuffle %18 %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:    %975 = OpVectorShuffle %18 %974 %99 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:    %976 = OpVectorShuffle %18 %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:    %977 = OpVectorShuffle %18 %976 %975 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:    %978 = OpVectorShuffle %18 %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:    %979 = OpVectorShuffle %18 %978 %977 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:    %980 = OpVectorShuffle %18 %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:    %981 = OpVectorShuffle %18 %980 %979 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:    %982 = OpVectorShuffle %18 %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:    %983 = OpVectorShuffle %18 %982 %981 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:    %984 = OpVectorShuffle %18 %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:    %985 = OpVectorShuffle %18 %984 %983 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:    %986 = OpVectorShuffle %18 %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:    %987 = OpVectorShuffle %18 %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 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:    %988 = OpVectorShuffle %18 %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:    %989 = OpVectorShuffle %18 %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 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:    %990 = OpVectorShuffle %18 %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:    %991 = OpVectorShuffle %18 %990 %99 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:    %992 = OpVectorShuffle %18 %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:    %993 = OpVectorShuffle %18 %992 %991 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:    %994 = OpVectorShuffle %18 %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:    %995 = OpVectorShuffle %18 %994 %993 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:    %996 = OpVectorShuffle %18 %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:    %997 = OpVectorShuffle %18 %996 %995 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:    %998 = OpVectorShuffle %18 %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:    %999 = OpVectorShuffle %18 %998 %997 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:    %1000 = OpVectorShuffle %18 %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:    %1001 = OpVectorShuffle %18 %1000 %999 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:    %1002 = OpVectorShuffle %18 %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:    %1003 = OpVectorShuffle %18 %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 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:    %1004 = OpVectorShuffle %18 %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:    %1005 = OpVectorShuffle %18 %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 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:    %1006 = OpVectorShuffle %18 %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:    %1007 = OpVectorShuffle %18 %1006 %99 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:    %1008 = OpVectorShuffle %18 %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:    %1009 = OpVectorShuffle %18 %1008 %1007 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:    %1010 = OpVectorShuffle %18 %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:    %1011 = OpVectorShuffle %18 %1010 %1009 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:    %1012 = OpVectorShuffle %18 %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:    %1013 = OpVectorShuffle %18 %1012 %1011 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:    %1014 = OpVectorShuffle %18 %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:    %1015 = OpVectorShuffle %18 %1014 %1013 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:    %1016 = OpVectorShuffle %18 %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:    %1017 = OpVectorShuffle %18 %1016 %1015 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:    %1018 = OpVectorShuffle %18 %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:    %1019 = OpVectorShuffle %18 %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 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:    %1020 = OpVectorShuffle %18 %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:    %1021 = OpVectorShuffle %18 %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 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:    %1022 = OpVectorShuffle %18 %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:    %1023 = OpVectorShuffle %18 %1022 %99 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:    %1024 = OpVectorShuffle %18 %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:    %1025 = OpVectorShuffle %18 %1024 %1023 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:    %1026 = OpVectorShuffle %18 %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:    %1027 = OpVectorShuffle %18 %1026 %1025 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:    %1028 = OpVectorShuffle %18 %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:    %1029 = OpVectorShuffle %18 %1028 %1027 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:    %1030 = OpVectorShuffle %18 %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:    %1031 = OpVectorShuffle %18 %1030 %1029 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:    %1032 = OpVectorShuffle %18 %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:    %1033 = OpVectorShuffle %18 %1032 %1031 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:    %1034 = OpVectorShuffle %18 %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:    %1035 = OpVectorShuffle %18 %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 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:    %1036 = OpVectorShuffle %18 %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:    %1037 = OpVectorShuffle %18 %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 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:    %1038 = OpVectorShuffle %18 %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:    %1039 = OpVectorShuffle %18 %1038 %99 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:    %1040 = OpVectorShuffle %18 %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:    %1041 = OpVectorShuffle %18 %1040 %1039 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:    %1042 = OpVectorShuffle %18 %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:    %1043 = OpVectorShuffle %18 %1042 %1041 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:    %1044 = OpVectorShuffle %18 %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:    %1045 = OpVectorShuffle %18 %1044 %1043 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:    %1046 = OpVectorShuffle %18 %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:    %1047 = OpVectorShuffle %18 %1046 %1045 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:    %1048 = OpVectorShuffle %18 %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:    %1049 = OpVectorShuffle %18 %1048 %1047 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:    %1050 = OpVectorShuffle %18 %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:    %1051 = OpVectorShuffle %18 %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 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:    %1052 = OpVectorShuffle %18 %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:    %1053 = OpVectorShuffle %18 %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 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:    %1054 = OpVectorShuffle %18 %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:    %1055 = OpVectorShuffle %18 %1054 %99 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:    %1056 = OpVectorShuffle %18 %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:    %1057 = OpVectorShuffle %18 %1056 %1055 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:    %1058 = OpVectorShuffle %18 %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:    %1059 = OpVectorShuffle %18 %1058 %1057 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:    %1060 = OpVectorShuffle %18 %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:    %1061 = OpVectorShuffle %18 %1060 %1059 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:    %1062 = OpVectorShuffle %18 %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:    %1063 = OpVectorShuffle %18 %1062 %1061 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:    %1064 = OpVectorShuffle %18 %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:    %1065 = OpVectorShuffle %18 %1064 %1063 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:    %1066 = OpVectorShuffle %18 %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:    %1067 = OpVectorShuffle %18 %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 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:    %1068 = OpVectorShuffle %18 %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:    %1069 = OpVectorShuffle %18 %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 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:    %1070 = OpVectorShuffle %18 %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:    %1071 = OpVectorShuffle %18 %1070 %99 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:    %1072 = OpVectorShuffle %18 %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:    %1073 = OpVectorShuffle %18 %1072 %1071 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:    %1074 = OpVectorShuffle %18 %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:    %1075 = OpVectorShuffle %18 %1074 %1073 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:    %1076 = OpVectorShuffle %18 %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:    %1077 = OpVectorShuffle %18 %1076 %1075 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:    %1078 = OpVectorShuffle %18 %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:    %1079 = OpVectorShuffle %18 %1078 %1077 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:    %1080 = OpVectorShuffle %18 %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:    %1081 = OpVectorShuffle %18 %1080 %1079 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:    %1082 = OpVectorShuffle %18 %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:    %1083 = OpVectorShuffle %18 %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 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:    %1084 = OpVectorShuffle %18 %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:    %1085 = OpVectorShuffle %18 %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 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:    %1086 = OpVectorShuffle %18 %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:    %1087 = OpVectorShuffle %18 %1086 %99 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:    %1088 = OpVectorShuffle %18 %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:    %1089 = OpVectorShuffle %18 %1088 %1087 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:    %1090 = OpVectorShuffle %18 %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:    %1091 = OpVectorShuffle %18 %1090 %1089 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:    %1092 = OpVectorShuffle %18 %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:    %1093 = OpVectorShuffle %18 %1092 %1091 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:    %1094 = OpVectorShuffle %18 %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:    %1095 = OpVectorShuffle %18 %1094 %1093 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:    %1096 = OpVectorShuffle %18 %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:    %1097 = OpVectorShuffle %18 %1096 %1095 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:    %1098 = OpVectorShuffle %18 %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:    %1099 = OpVectorShuffle %18 %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 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:    %1100 = OpVectorShuffle %18 %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:    %1101 = OpVectorShuffle %18 %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 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:    %1102 = OpFunctionCall %18 %101 %973 %1101 %100
+; CHECK-NEXT:    %1103 = OpFunctionCall %18 %101 %941 %1085 %1102
+; CHECK-NEXT:    %1104 = OpFunctionCall %18 %101 %909 %1069 %1103
+; CHECK-NEXT:    %1105 = OpFunctionCall %18 %101 %877 %1053 %1104
+; CHECK-NEXT:    %1106 = OpFunctionCall %18 %101 %845 %1037 %1105
+; CHECK-NEXT:    %1107 = OpFunctionCall %18 %101 %813 %1021 %1106
+; CHECK-NEXT:    %1108 = OpFunctionCall %18 %101 %781 %1005 %1107
+; CHECK-NEXT:    %1109 = OpFunctionCall %18 %101 %749 %989 %1108
+; CHECK-NEXT:    %1110 = OpVectorShuffle %23 %1109 %1109 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %1111 = OpVectorShuffle %23 %1109 %1109 8 9 10 11 12 13 14 15
+; CHECK-NEXT:    %1112 = OpVectorShuffle %23 %1109 %1109 16 17 18 19 20 21 22 23
+; CHECK-NEXT:    %1113 = OpVectorShuffle %23 %1109 %1109 24 25 26 27 28 29 30 31
+; CHECK-NEXT:    %1114 = OpVectorShuffle %23 %1109 %1109 32 33 34 35 36 37 38 39
+; CHECK-NEXT:    %1115 = OpVectorShuffle %23 %1109 %1109 40 41 42 43 44 45 46 47
+; CHECK-NEXT:    %1116 = OpVectorShuffle %23 %1109 %1109 48 49 50 51 52 53 54 55
+; CHECK-NEXT:    %1117 = OpVectorShuffle %23 %1109 %1109 56 57 58 59 60 61 62 63
+; CHECK-NEXT:    OpBranch %1239
+; CHECK-NEXT:    %1239 = OpLabel
+; CHECK-NEXT:    %1118 = OpPhi %13 %1119 %1240 %41 %1238
+; CHECK-NEXT:    %1120 = OpSLessThan %28 %1118 %29
+; CHECK-NEXT:    OpBranchConditional %1120 %1240 %2
+; CHECK-NEXT:    %2 = OpLabel
+; CHECK-NEXT:    OpBranch %1241
+; CHECK-NEXT:    %1241 = OpLabel
+; CHECK-NEXT:    %1121 = OpPhi %13 %1122 %1242 %41 %2
+; CHECK-NEXT:    %1123 = OpSLessThan %28 %1121 %29
+; CHECK-NEXT:    OpBranchConditional %1123 %1242 %3
+; CHECK-NEXT:    %3 = OpLabel
+; CHECK-NEXT:    OpBranch %1243
+; CHECK-NEXT:    %1243 = OpLabel
+; CHECK-NEXT:    %1124 = OpPhi %13 %1125 %1244 %41 %3
+; CHECK-NEXT:    %1126 = OpSLessThan %28 %1124 %29
+; CHECK-NEXT:    OpBranchConditional %1126 %1244 %4
+; CHECK-NEXT:    %4 = OpLabel
+; CHECK-NEXT:    OpBranch %1245
+; CHECK-NEXT:    %1245 = OpLabel
+; CHECK-NEXT:    %1127 = OpPhi %13 %1128 %1246 %41 %4
+; CHECK-NEXT:    %1129 = OpSLessThan %28 %1127 %29
+; CHECK-NEXT:    OpBranchConditional %1129 %1246 %5
+; CHECK-NEXT:    %5 = OpLabel
+; CHECK-NEXT:    OpBranch %1247
+; CHECK-NEXT:    %1247 = OpLabel
+; CHECK-NEXT:    %1130 = OpPhi %13 %1131 %1248 %41 %5
+; CHECK-NEXT:    %1132 = OpSLessThan %28 %1130 %29
+; CHECK-NEXT:    OpBranchConditional %1132 %1248 %6
+; CHECK-NEXT:    %6 = OpLabel
+; CHECK-NEXT:    OpBranch %1249
+; CHECK-NEXT:    %1249 = OpLabel
+; CHECK-NEXT:    %1133 = OpPhi %13 %1134 %1250 %41 %6
+; CHECK-NEXT:    %1135 = OpSLessThan %28 %1133 %29
+; CHECK-NEXT:    OpBranchConditional %1135 %1250 %7
+; CHECK-NEXT:    %7 = OpLabel
+; CHECK-NEXT:    OpBranch %1251
+; CHECK-NEXT:    %1251 = OpLabel
+; CHECK-NEXT:    %1136 = OpPhi %13 %1137 %1252 %41 %7
+; CHECK-NEXT:    %1138 = OpSLessThan %28 %1136 %29
+; CHECK-NEXT:    OpBranchConditional %1138 %1252 %8
+; CHECK-NEXT:    %8 = OpLabel
+; CHECK-NEXT:    OpBranch %1253
+; CHECK-NEXT:    %1253 = OpLabel
+; CHECK-NEXT:    %1139 = OpPhi %13 %1140 %1254 %41 %8
+; CHECK-NEXT:    %1141 = OpSLessThan %28 %1139 %29
+; CHECK-NEXT:    OpBranchConditional %1141 %1254 %1255
+; CHECK-NEXT:    %1255 = OpLabel
+; CHECK-NEXT:    OpReturn
+; CHECK-NEXT:    %1254 = OpLabel
+; CHECK-NEXT:    %1142 = OpUConvert %27 %1139
+; CHECK-NEXT:    %1143 = OpVectorExtractDynamic %9 %1117 %1142
+; CHECK-NEXT:    %1144 = OpIAdd %27 %40 %1142
+; CHECK-NEXT:    %1145 = OpIAdd %27 %1144 %43
+; CHECK-NEXT:    %1146 = OpIAdd %27 %1145 %43
+; CHECK-NEXT:    %1147 = OpIAdd %27 %1146 %43
+; CHECK-NEXT:    %1148 = OpIAdd %27 %1147 %43
+; CHECK-NEXT:    %1149 = OpInBoundsPtrAccessChain %10 %106 %1148
+; CHECK-NEXT:    OpStore %1149 %1143 Aligned 4
+; CHECK-NEXT:    %1140 = OpIAdd %13 %1139 %39
+; CHECK-NEXT:    OpBranch %1253
+; CHECK-NEXT:    %1252 = OpLabel
+; CHECK-NEXT:    %1150 = OpUConvert %27 %1136
+; CHECK-NEXT:    %1151 = OpVectorExtractDynamic %9 %1116 %1150
+; CHECK-NEXT:    %1152 = OpIAdd %27 %38 %1150
+; CHECK-NEXT:    %1153 = OpIAdd %27 %1152 %43
+; CHECK-NEXT:    %1154 = OpIAdd %27 %1153 %43
+; CHECK-NEXT:    %1155 = OpIAdd %27 %1154 %43
+; CHECK-NEXT:    %1156 = OpIAdd %27 %1155 %43
+; CHECK-NEXT:    %1157 = OpInBoundsPtrAccessChain %10 %106 %1156
+; CHECK-NEXT:    OpStore %1157 %1151 Aligned 4
+; CHECK-NEXT:    %1137 = OpIAdd %13 %1136 %39
+; CHECK-NEXT:    OpBranch %1251
+; CHECK-NEXT:    %1250 = OpLabel
+; CHECK-NEXT:    %1158 = OpUConvert %27 %1133
+; CHECK-NEXT:    %1159 = OpVectorExtractDynamic %9 %1115 %1158
+; CHECK-NEXT:    %1160 = OpIAdd %27 %37 %1158
+; CHECK-NEXT:    %1161 = OpIAdd %27 %1160 %43
+; CHECK-NEXT:    %1162 = OpIAdd %27 %1161 %43
+; CHECK-NEXT:    %1163 = OpIAdd %27 %1162 %43
+; CHECK-NEXT:    %1164 = OpIAdd %27 %1163 %43
+; CHECK-NEXT:    %1165 = OpInBoundsPtrAccessChain %10 %106 %1164
+; CHECK-NEXT:    OpStore %1165 %1159 Aligned 4
+; CHECK-NEXT:    %1134 = OpIAdd %13 %1133 %39
+; CHECK-NEXT:    OpBranch %1249
+; CHECK-NEXT:    %1248 = OpLabel
+; CHECK-NEXT:    %1166 = OpUConvert %27 %1130
+; CHECK-NEXT:    %1167 = OpVectorExtractDynamic %9 %1114 %1166
+; CHECK-NEXT:    %1168 = OpIAdd %27 %53 %1166
+; CHECK-NEXT:    %1169 = OpIAdd %27 %1168 %43
+; CHECK-NEXT:    %1170 = OpIAdd %27 %1169 %43
+; CHECK-NEXT:    %1171 = OpIAdd %27 %1170 %43
+; CHECK-NEXT:    %1172 = OpIAdd %27 %1171 %43
+; CHECK-NEXT:    %1173 = OpInBoundsPtrAccessChain %10 %106 %1172
+; CHECK-NEXT:    OpStore %1173 %1167 Aligned 4
+; CHECK-NEXT:    %1131 = OpIAdd %13 %1130 %39
+; CHECK-NEXT:    OpBranch %1247
+; CHECK-NEXT:    %1246 = OpLabel
+; CHECK-NEXT:    %1174 = OpUConvert %27 %1127
+; CHECK-NEXT:    %1175 = OpVectorExtractDynamic %9 %1113 %1174
+; CHECK-NEXT:    %1176 = OpIAdd %27 %36 %1174
+; CHECK-NEXT:    %1177 = OpIAdd %27 %1176 %43
+; CHECK-NEXT:    %1178 = OpIAdd %27 %1177 %43
+; CHECK-NEXT:    %1179 = OpIAdd %27 %1178 %43
+; CHECK-NEXT:    %1180 = OpIAdd %27 %1179 %43
+; CHECK-NEXT:    %1181 = OpInBoundsPtrAccessChain %10 %106 %1180
+; CHECK-NEXT:    OpStore %1181 %1175 Aligned 4
+; CHECK-NEXT:    %1128 = OpIAdd %13 %1127 %39
+; CHECK-NEXT:    OpBranch %1245
+; CHECK-NEXT:    %1244 = OpLabel
+; CHECK-NEXT:    %1182 = OpUConvert %27 %1124
+; CHECK-NEXT:    %1183 = OpVectorExtractDynamic %9 %1112 %1182
+; CHECK-NEXT:    %1184 = OpIAdd %27 %35 %1182
+; CHECK-NEXT:    %1185 = OpIAdd %27 %1184 %43
+; CHECK-NEXT:    %1186 = OpIAdd %27 %1185 %43
+; CHECK-NEXT:    %1187 = OpIAdd %27 %1186 %43
+; CHECK-NEXT:    %1188 = OpIAdd %27 %1187 %43
+; CHECK-NEXT:    %1189 = OpInBoundsPtrAccessChain %10 %106 %1188
+; CHECK-NEXT:    OpStore %1189 %1183 Aligned 4
+; CHECK-NEXT:    %1125 = OpIAdd %13 %1124 %39
+; CHECK-NEXT:    OpBranch %1243
+; CHECK-NEXT:    %1242 = OpLabel
+; CHECK-NEXT:    %1190 = OpUConvert %27 %1121
+; CHECK-NEXT:    %1191 = OpVectorExtractDynamic %9 %1111 %1190
+; CHECK-NEXT:    %1192 = OpIAdd %27 %34 %1190
+; CHECK-NEXT:    %1193 = OpIAdd %27 %1192 %43
+; CHECK-NEXT:    %1194 = OpIAdd %27 %1193 %43
+; CHECK-NEXT:    %1195 = OpIAdd %27 %1194 %43
+; CHECK-NEXT:    %1196 = OpIAdd %27 %1195 %43
+; CHECK-NEXT:    %1197 = OpInBoundsPtrAccessChain %10 %106 %1196
+; CHECK-NEXT:    OpStore %1197 %1191 Aligned 4
+; CHECK-NEXT:    %1122 = OpIAdd %13 %1121 %39
+; CHECK-NEXT:    OpBranch %1241
+; CHECK-NEXT:    %1240 = OpLabel
+; CHECK-NEXT:    %1198 = OpUConvert %27 %1118
+; CHECK-NEXT:    %1199 = OpVectorExtractDynamic %9 %1110 %1198
+; CHECK-NEXT:    %1200 = OpIAdd %27 %43 %1198
+; CHECK-NEXT:    %1201 = OpIAdd %27 %1200 %43
+; CHECK-NEXT:    %1202 = OpIAdd %27 %1201 %43
+; CHECK-NEXT:    %1203 = OpIAdd %27 %1202 %43
+; CHECK-NEXT:    %1204 = OpIAdd %27 %1203 %43
+; CHECK-NEXT:    %1205 = OpInBoundsPtrAccessChain %10 %106 %1204
+; CHECK-NEXT:    OpStore %1205 %1199 Aligned 4
+; CHECK-NEXT:    %1119 = OpIAdd %13 %1118 %39
+; CHECK-NEXT:    OpBranch %1239
+; CHECK-NEXT:    %1237 = OpLabel
+; CHECK-NEXT:    %1206 = OpUConvert %27 %137
+; CHECK-NEXT:    OpBranch %1256
+; CHECK-NEXT:    %1256 = OpLabel
+; CHECK-NEXT:    %1207 = OpPhi %13 %1208 %1257 %41 %1237
+; CHECK-NEXT:    %1209 = OpSLessThan %28 %1207 %44
+; CHECK-NEXT:    OpBranchConditional %1209 %1257 %1236
+; CHECK-NEXT:    %1236 = OpLabel
+; CHECK-NEXT:    %138 = OpIAdd %13 %137 %39
+; CHECK-NEXT:    OpBranch %1235
+; CHECK-NEXT:    %1257 = OpLabel
+; CHECK-NEXT:    %1210 = OpUConvert %27 %1207
+; CHECK-NEXT:    %1211 = OpIMul %27 %1206 %42
+; CHECK-NEXT:    %1212 = OpIAdd %27 %43 %1211
+; CHECK-NEXT:    %1213 = OpIAdd %27 %1212 %1210
+; CHECK-NEXT:    %1214 = OpIAdd %27 %1213 %43
+; CHECK-NEXT:    %1215 = OpInBoundsPtrAccessChain %10 %105 %1214
+; CHECK-NEXT:    %1216 = OpLoad %9 %1215 Aligned 4
+; CHECK-NEXT:    %1217 = OpIMul %27 %1206 %34
+; CHECK-NEXT:    %1218 = OpIAdd %27 %1217 %1210
+; CHECK-NEXT:    %1219 = OpBitcast %26 %93
+; CHECK-NEXT:    %1220 = OpInBoundsPtrAccessChain %26 %1219 %1218
+; CHECK-NEXT:    OpStore %1220 %1216 Aligned 4
+; CHECK-NEXT:    %1208 = OpIAdd %13 %1207 %39
+; CHECK-NEXT:    OpBranch %1256
+; CHECK-NEXT:    %1233 = OpLabel
+; CHECK-NEXT:    %1221 = OpUConvert %27 %132
+; CHECK-NEXT:    OpBranch %1258
+; CHECK-NEXT:    %1258 = OpLabel
+; CHECK-NEXT:    %1222 = OpPhi %13 %1223 %1259 %41 %1233
+; CHECK-NEXT:    %1224 = OpSLessThan %28 %1222 %29
+; CHECK-NEXT:    OpBranchConditional %1224 %1259 %1232
+; CHECK-NEXT:    %1232 = OpLabel
+; CHECK-NEXT:    %133 = OpIAdd %13 %132 %39
+; CHECK-NEXT:    OpBranch %1231
+; CHECK-NEXT:    %1259 = OpLabel
+; CHECK-NEXT:    %1225 = OpUConvert %27 %1222
+; CHECK-NEXT:    %1226 = OpIMul %27 %1221 %34
+; CHECK-NEXT:    %1227 = OpIAdd %27 %1226 %1225
+; CHECK-NEXT:    %1228 = OpBitcast %26 %93
+; CHECK-NEXT:    %1229 = OpInBoundsPtrAccessChain %26 %1228 %1227
+; CHECK-NEXT:    OpStore %1229 %69 Aligned 4
+; CHECK-NEXT:    %1223 = OpIAdd %13 %1222 %39
+; CHECK-NEXT:    OpBranch %1258
+; 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(2) @__constant_8x8xf32_0, align 4
+  %116 = load <8 x float>, ptr addrspace(2) getelementptr inbounds nuw (i8, ptr addrspace(2) @__constant_8x8xf32_0, i64 32), align 4
+  %117 = load <8 x float>, ptr addrspace(2) getelementptr inbounds nuw (i8, ptr addrspace(2) @__constant_8x8xf32_0, i64 64), align 4
+  %118 = load <8 x float>, ptr addrspace(2) getelementptr inbounds nuw (i8, ptr addrspace(2) @__constant_8x8xf32_0, i64 96), align 4
+  %119 = load <8 x float>, ptr addrspace(2) getelementptr inbounds nuw (i8, ptr addrspace(2) @__constant_8x8xf32_0, i64 128), align 4
+  %120 = load <8 x float>, ptr addrspace(2) getelementptr inbounds nuw (i8, ptr addrspace(2) @__constant_8x8xf32_0, i64 160), align 4
+  %121 = load <8 x float>, ptr addrspace(2) getelementptr inbounds nuw (i8, ptr addrspace(2) @__constant_8x8xf32_0, i64 192), align 4
+  %122 = load <8 x float>, ptr addrspace(2) getelementptr inbounds nuw (i8, ptr addrspace(2) @__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(2) @__constant_8x8xf32, align 4
+  %524 = load <8 x float>, ptr addrspace(2) getelementptr inbounds nuw (i8, ptr addrspace(2) @__constant_8x8xf32, i64 32), align 4
+  %525 = load <8 x float>, ptr addrspace(2) getelementptr inbounds nuw (i8, ptr addrspace(2) @__constant_8x8xf32, i64 64), align 4
+  %526 = load <8 x float>, ptr addrspace(2) getelementptr inbounds nuw (i8, ptr addrspace(2) @__constant_8x8xf32, i64 96), align 4
+  %527 = load <8 x float>, ptr addrspace(2) getelementptr inbounds nuw (i8, ptr addrspace(2) @__constant_8x8xf32, i64 128), align 4
+  %528 = load <8 x float>, ptr addrspace(2) getelementptr inbounds nuw (i8, ptr addrspace(2) @__constant_8x8xf32, i64 160), align 4
+  %529 = load <8 x float>, ptr addrspace(2) getelementptr inbounds nuw (i8, ptr addrspace(2) @__constant_8x8xf32, i64 192), align 4
+  %530 = load <8 x float>, ptr addrspace(2) getelementptr inbounds nuw (i8, ptr addrspace(2) @__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 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}
+
+!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(2) @_winograd_input_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..b15c0d019391d
--- /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 has a bug around validating OpVectorShuffle with large OpTypeVectorIdEXT operands, as it seems to incorrectly compute the combined size.
+; TODO: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown --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]] poison, align 16
+ at __constant_8x8xf32_0 = private addrspace(2) 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(2) 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(2) #0 {
+; CHECK-LABEL: _winograd_input_nchw_dispatch_0_winograd_input_transform_8x8x1x1x1x1xf32_dispatch_tensor_store
+; CHECK:       %107 = OpFunction %11 Inline %12 ; -- Begin function _winograd_input_nchw_dispatch_0_winograd_input_transform_8x8x1x1x1x1xf32_dispatch_tensor_store
+; CHECK-NEXT:    %105 = OpFunctionParameter %10
+; CHECK-NEXT:    %106 = OpFunctionParameter %10
+; CHECK-NEXT:    %1229 = OpLabel
+; CHECK-NEXT:    %108 = OpBitcast %21 %93
+; CHECK-NEXT:    %109 = OpInBoundsPtrAccessChain %21 %108 %53
+; CHECK-NEXT:    %110 = OpInBoundsPtrAccessChain %21 %108 %52
+; CHECK-NEXT:    %111 = OpInBoundsPtrAccessChain %21 %108 %51
+; CHECK-NEXT:    %112 = OpInBoundsPtrAccessChain %21 %108 %50
+; CHECK-NEXT:    %113 = OpInBoundsPtrAccessChain %21 %108 %49
+; CHECK-NEXT:    %114 = OpInBoundsPtrAccessChain %21 %108 %48
+; CHECK-NEXT:    %115 = OpInBoundsPtrAccessChain %21 %108 %47
+; CHECK-NEXT:    %116 = OpBitcast %22 %82
+; CHECK-NEXT:    %117 = OpInBoundsPtrAccessChain %22 %116 %53
+; CHECK-NEXT:    %118 = OpInBoundsPtrAccessChain %22 %116 %52
+; CHECK-NEXT:    %119 = OpInBoundsPtrAccessChain %22 %116 %51
+; CHECK-NEXT:    %120 = OpInBoundsPtrAccessChain %22 %116 %50
+; CHECK-NEXT:    %121 = OpInBoundsPtrAccessChain %22 %116 %49
+; CHECK-NEXT:    %122 = OpInBoundsPtrAccessChain %22 %116 %48
+; CHECK-NEXT:    %123 = OpInBoundsPtrAccessChain %22 %116 %47
+; CHECK-NEXT:    %124 = OpBitcast %22 %92
+; CHECK-NEXT:    %125 = OpInBoundsPtrAccessChain %22 %124 %53
+; CHECK-NEXT:    %126 = OpInBoundsPtrAccessChain %22 %124 %52
+; CHECK-NEXT:    %127 = OpInBoundsPtrAccessChain %22 %124 %51
+; CHECK-NEXT:    %128 = OpInBoundsPtrAccessChain %22 %124 %50
+; CHECK-NEXT:    %129 = OpInBoundsPtrAccessChain %22 %124 %49
+; CHECK-NEXT:    %130 = OpInBoundsPtrAccessChain %22 %124 %48
+; CHECK-NEXT:    %131 = OpInBoundsPtrAccessChain %22 %124 %47
+; CHECK-NEXT:    OpBranch %1230
+; CHECK-NEXT:    %1230 = OpLabel
+; CHECK-NEXT:    %132 = OpPhi %13 %133 %1231 %41 %1229
+; CHECK-NEXT:    %134 = OpSLessThan %28 %132 %29
+; CHECK-NEXT:    OpBranchConditional %134 %1232 %1233
+; CHECK-NEXT:    %1233 = OpLabel
+; CHECK-NEXT:    OpMemoryBarrier %72 %71
+; CHECK-NEXT:    %135 = OpFunctionCall %11 %94 %46
+; CHECK-NEXT:    %136 = OpFunctionCall %11 %96 %45
+; CHECK-NEXT:    OpMemoryBarrier %72 %72
+; CHECK-NEXT:    OpBranch %1234
+; CHECK-NEXT:    %1234 = OpLabel
+; CHECK-NEXT:    %137 = OpPhi %13 %138 %1235 %41 %1233
+; CHECK-NEXT:    %139 = OpSLessThan %28 %137 %44
+; CHECK-NEXT:    OpBranchConditional %139 %1236 %1237
+; CHECK-NEXT:    %1237 = OpLabel
+; CHECK-NEXT:    OpMemoryBarrier %72 %71
+; CHECK-NEXT:    %140 = OpFunctionCall %11 %94 %46
+; CHECK-NEXT:    %141 = OpFunctionCall %11 %96 %45
+; CHECK-NEXT:    OpMemoryBarrier %72 %72
+; CHECK-NEXT:    %142 = OpBitcast %24 %93
+; CHECK-NEXT:    %143 = OpLoad %23 %142 Aligned 4
+; CHECK-NEXT:    %144 = OpBitcast %24 %109
+; CHECK-NEXT:    %145 = OpLoad %23 %144 Aligned 4
+; CHECK-NEXT:    %146 = OpBitcast %24 %110
+; CHECK-NEXT:    %147 = OpLoad %23 %146 Aligned 4
+; CHECK-NEXT:    %148 = OpBitcast %24 %111
+; CHECK-NEXT:    %149 = OpLoad %23 %148 Aligned 4
+; CHECK-NEXT:    %150 = OpBitcast %24 %112
+; CHECK-NEXT:    %151 = OpLoad %23 %150 Aligned 4
+; CHECK-NEXT:    %152 = OpBitcast %24 %113
+; CHECK-NEXT:    %153 = OpLoad %23 %152 Aligned 4
+; CHECK-NEXT:    %154 = OpBitcast %24 %114
+; CHECK-NEXT:    %155 = OpLoad %23 %154 Aligned 4
+; CHECK-NEXT:    %156 = OpBitcast %24 %115
+; CHECK-NEXT:    %157 = OpLoad %23 %156 Aligned 4
+; CHECK-NEXT:    %158 = OpCompositeExtract %9 %143 0
+; CHECK-NEXT:    %159 = OpCompositeExtract %9 %143 1
+; CHECK-NEXT:    %160 = OpCompositeExtract %9 %143 2
+; CHECK-NEXT:    %161 = OpCompositeExtract %9 %143 3
+; CHECK-NEXT:    %162 = OpCompositeExtract %9 %143 4
+; CHECK-NEXT:    %163 = OpCompositeExtract %9 %143 5
+; CHECK-NEXT:    %164 = OpCompositeExtract %9 %143 6
+; CHECK-NEXT:    %165 = OpCompositeExtract %9 %143 7
+; CHECK-NEXT:    %166 = OpCompositeExtract %9 %145 0
+; CHECK-NEXT:    %167 = OpCompositeExtract %9 %145 1
+; CHECK-NEXT:    %168 = OpCompositeExtract %9 %145 2
+; CHECK-NEXT:    %169 = OpCompositeExtract %9 %145 3
+; CHECK-NEXT:    %170 = OpCompositeExtract %9 %145 4
+; CHECK-NEXT:    %171 = OpCompositeExtract %9 %145 5
+; CHECK-NEXT:    %172 = OpCompositeExtract %9 %145 6
+; CHECK-NEXT:    %173 = OpCompositeExtract %9 %145 7
+; CHECK-NEXT:    %174 = OpCompositeExtract %9 %147 0
+; CHECK-NEXT:    %175 = OpCompositeExtract %9 %147 1
+; CHECK-NEXT:    %176 = OpCompositeExtract %9 %147 2
+; CHECK-NEXT:    %177 = OpCompositeExtract %9 %147 3
+; CHECK-NEXT:    %178 = OpCompositeExtract %9 %147 4
+; CHECK-NEXT:    %179 = OpCompositeExtract %9 %147 5
+; CHECK-NEXT:    %180 = OpCompositeExtract %9 %147 6
+; CHECK-NEXT:    %181 = OpCompositeExtract %9 %147 7
+; CHECK-NEXT:    %182 = OpCompositeExtract %9 %149 0
+; CHECK-NEXT:    %183 = OpCompositeExtract %9 %149 1
+; CHECK-NEXT:    %184 = OpCompositeExtract %9 %149 2
+; CHECK-NEXT:    %185 = OpCompositeExtract %9 %149 3
+; CHECK-NEXT:    %186 = OpCompositeExtract %9 %149 4
+; CHECK-NEXT:    %187 = OpCompositeExtract %9 %149 5
+; CHECK-NEXT:    %188 = OpCompositeExtract %9 %149 6
+; CHECK-NEXT:    %189 = OpCompositeExtract %9 %149 7
+; CHECK-NEXT:    %190 = OpCompositeExtract %9 %151 0
+; CHECK-NEXT:    %191 = OpCompositeExtract %9 %151 1
+; CHECK-NEXT:    %192 = OpCompositeExtract %9 %151 2
+; CHECK-NEXT:    %193 = OpCompositeExtract %9 %151 3
+; CHECK-NEXT:    %194 = OpCompositeExtract %9 %151 4
+; CHECK-NEXT:    %195 = OpCompositeExtract %9 %151 5
+; CHECK-NEXT:    %196 = OpCompositeExtract %9 %151 6
+; CHECK-NEXT:    %197 = OpCompositeExtract %9 %151 7
+; CHECK-NEXT:    %198 = OpCompositeExtract %9 %153 0
+; CHECK-NEXT:    %199 = OpCompositeExtract %9 %153 1
+; CHECK-NEXT:    %200 = OpCompositeExtract %9 %153 2
+; CHECK-NEXT:    %201 = OpCompositeExtract %9 %153 3
+; CHECK-NEXT:    %202 = OpCompositeExtract %9 %153 4
+; CHECK-NEXT:    %203 = OpCompositeExtract %9 %153 5
+; CHECK-NEXT:    %204 = OpCompositeExtract %9 %153 6
+; CHECK-NEXT:    %205 = OpCompositeExtract %9 %153 7
+; CHECK-NEXT:    %206 = OpCompositeExtract %9 %155 0
+; CHECK-NEXT:    %207 = OpCompositeExtract %9 %155 1
+; CHECK-NEXT:    %208 = OpCompositeExtract %9 %155 2
+; CHECK-NEXT:    %209 = OpCompositeExtract %9 %155 3
+; CHECK-NEXT:    %210 = OpCompositeExtract %9 %155 4
+; CHECK-NEXT:    %211 = OpCompositeExtract %9 %155 5
+; CHECK-NEXT:    %212 = OpCompositeExtract %9 %155 6
+; CHECK-NEXT:    %213 = OpCompositeExtract %9 %155 7
+; CHECK-NEXT:    %214 = OpCompositeExtract %9 %157 0
+; CHECK-NEXT:    %215 = OpCompositeExtract %9 %157 1
+; CHECK-NEXT:    %216 = OpCompositeExtract %9 %157 2
+; CHECK-NEXT:    %217 = OpCompositeExtract %9 %157 3
+; CHECK-NEXT:    %218 = OpCompositeExtract %9 %157 4
+; CHECK-NEXT:    %219 = OpCompositeExtract %9 %157 5
+; CHECK-NEXT:    %220 = OpCompositeExtract %9 %157 6
+; CHECK-NEXT:    %221 = OpCompositeExtract %9 %157 7
+; CHECK-NEXT:    %222 = OpBitcast %25 %82
+; CHECK-NEXT:    %223 = OpLoad %23 %222 Aligned 4
+; CHECK-NEXT:    %224 = OpBitcast %25 %117
+; CHECK-NEXT:    %225 = OpLoad %23 %224 Aligned 4
+; CHECK-NEXT:    %226 = OpBitcast %25 %118
+; CHECK-NEXT:    %227 = OpLoad %23 %226 Aligned 4
+; CHECK-NEXT:    %228 = OpBitcast %25 %119
+; CHECK-NEXT:    %229 = OpLoad %23 %228 Aligned 4
+; CHECK-NEXT:    %230 = OpBitcast %25 %120
+; CHECK-NEXT:    %231 = OpLoad %23 %230 Aligned 4
+; CHECK-NEXT:    %232 = OpBitcast %25 %121
+; CHECK-NEXT:    %233 = OpLoad %23 %232 Aligned 4
+; CHECK-NEXT:    %234 = OpBitcast %25 %122
+; CHECK-NEXT:    %235 = OpLoad %23 %234 Aligned 4
+; CHECK-NEXT:    %236 = OpBitcast %25 %123
+; CHECK-NEXT:    %237 = OpLoad %23 %236 Aligned 4
+; CHECK-NEXT:    %238 = OpCompositeInsert %23 %158 %98 0
+; CHECK-NEXT:    %239 = OpVectorShuffle %23 %238 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %240 = OpVectorShuffle %18 %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:    %241 = OpVectorShuffle %18 %240 %99 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:    %242 = OpCompositeInsert %23 %166 %98 0
+; CHECK-NEXT:    %243 = OpVectorShuffle %23 %242 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %244 = OpVectorShuffle %18 %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:    %245 = OpVectorShuffle %18 %244 %241 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:    %246 = OpCompositeInsert %23 %174 %98 0
+; CHECK-NEXT:    %247 = OpVectorShuffle %23 %246 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %248 = OpVectorShuffle %18 %247 %247 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %249 = OpVectorShuffle %18 %248 %245 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:    %250 = OpCompositeInsert %23 %182 %98 0
+; CHECK-NEXT:    %251 = OpVectorShuffle %23 %250 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %252 = OpVectorShuffle %18 %251 %251 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %253 = OpVectorShuffle %18 %252 %249 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:    %254 = OpCompositeInsert %23 %190 %98 0
+; CHECK-NEXT:    %255 = OpVectorShuffle %23 %254 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %256 = OpVectorShuffle %18 %255 %255 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %257 = OpVectorShuffle %18 %256 %253 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:    %258 = OpCompositeInsert %23 %198 %98 0
+; CHECK-NEXT:    %259 = OpVectorShuffle %23 %258 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %260 = OpVectorShuffle %18 %259 %259 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %261 = OpVectorShuffle %18 %260 %257 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:    %262 = OpCompositeInsert %23 %206 %98 0
+; CHECK-NEXT:    %263 = OpVectorShuffle %23 %262 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %264 = OpVectorShuffle %18 %263 %263 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %265 = OpVectorShuffle %18 %264 %261 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:    %266 = OpCompositeInsert %23 %214 %98 0
+; CHECK-NEXT:    %267 = OpVectorShuffle %23 %266 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %268 = OpVectorShuffle %18 %267 %267 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %269 = OpVectorShuffle %18 %268 %265 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:    %270 = OpCompositeInsert %23 %159 %98 0
+; CHECK-NEXT:    %271 = OpVectorShuffle %23 %270 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %272 = OpVectorShuffle %18 %271 %271 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %273 = OpVectorShuffle %18 %272 %99 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:    %274 = OpCompositeInsert %23 %167 %98 0
+; CHECK-NEXT:    %275 = OpVectorShuffle %23 %274 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %276 = OpVectorShuffle %18 %275 %275 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %277 = OpVectorShuffle %18 %276 %273 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:    %278 = OpCompositeInsert %23 %175 %98 0
+; CHECK-NEXT:    %279 = OpVectorShuffle %23 %278 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %280 = OpVectorShuffle %18 %279 %279 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %281 = OpVectorShuffle %18 %280 %277 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:    %282 = OpCompositeInsert %23 %183 %98 0
+; CHECK-NEXT:    %283 = OpVectorShuffle %23 %282 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %284 = OpVectorShuffle %18 %283 %283 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %285 = OpVectorShuffle %18 %284 %281 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:    %286 = OpCompositeInsert %23 %191 %98 0
+; CHECK-NEXT:    %287 = OpVectorShuffle %23 %286 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %288 = OpVectorShuffle %18 %287 %287 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %289 = OpVectorShuffle %18 %288 %285 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:    %290 = OpCompositeInsert %23 %199 %98 0
+; CHECK-NEXT:    %291 = OpVectorShuffle %23 %290 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %292 = OpVectorShuffle %18 %291 %291 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %293 = OpVectorShuffle %18 %292 %289 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:    %294 = OpCompositeInsert %23 %207 %98 0
+; CHECK-NEXT:    %295 = OpVectorShuffle %23 %294 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %296 = OpVectorShuffle %18 %295 %295 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %297 = OpVectorShuffle %18 %296 %293 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:    %298 = OpCompositeInsert %23 %215 %98 0
+; CHECK-NEXT:    %299 = OpVectorShuffle %23 %298 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %300 = OpVectorShuffle %18 %299 %299 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %301 = OpVectorShuffle %18 %300 %297 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:    %302 = OpCompositeInsert %23 %160 %98 0
+; CHECK-NEXT:    %303 = OpVectorShuffle %23 %302 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %304 = OpVectorShuffle %18 %303 %303 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %305 = OpVectorShuffle %18 %304 %99 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:    %306 = OpCompositeInsert %23 %168 %98 0
+; CHECK-NEXT:    %307 = OpVectorShuffle %23 %306 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %308 = OpVectorShuffle %18 %307 %307 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %309 = OpVectorShuffle %18 %308 %305 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:    %310 = OpCompositeInsert %23 %176 %98 0
+; CHECK-NEXT:    %311 = OpVectorShuffle %23 %310 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %312 = OpVectorShuffle %18 %311 %311 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %313 = OpVectorShuffle %18 %312 %309 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:    %314 = OpCompositeInsert %23 %184 %98 0
+; CHECK-NEXT:    %315 = OpVectorShuffle %23 %314 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %316 = OpVectorShuffle %18 %315 %315 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %317 = OpVectorShuffle %18 %316 %313 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:    %318 = OpCompositeInsert %23 %192 %98 0
+; CHECK-NEXT:    %319 = OpVectorShuffle %23 %318 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %320 = OpVectorShuffle %18 %319 %319 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %321 = OpVectorShuffle %18 %320 %317 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:    %322 = OpCompositeInsert %23 %200 %98 0
+; CHECK-NEXT:    %323 = OpVectorShuffle %23 %322 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %324 = OpVectorShuffle %18 %323 %323 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %325 = OpVectorShuffle %18 %324 %321 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:    %326 = OpCompositeInsert %23 %208 %98 0
+; CHECK-NEXT:    %327 = OpVectorShuffle %23 %326 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %328 = OpVectorShuffle %18 %327 %327 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %329 = OpVectorShuffle %18 %328 %325 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:    %330 = OpCompositeInsert %23 %216 %98 0
+; CHECK-NEXT:    %331 = OpVectorShuffle %23 %330 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %332 = OpVectorShuffle %18 %331 %331 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %333 = OpVectorShuffle %18 %332 %329 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:    %334 = OpCompositeInsert %23 %161 %98 0
+; CHECK-NEXT:    %335 = OpVectorShuffle %23 %334 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %336 = OpVectorShuffle %18 %335 %335 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %337 = OpVectorShuffle %18 %336 %99 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:    %338 = OpCompositeInsert %23 %169 %98 0
+; CHECK-NEXT:    %339 = OpVectorShuffle %23 %338 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %340 = OpVectorShuffle %18 %339 %339 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %341 = OpVectorShuffle %18 %340 %337 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:    %342 = OpCompositeInsert %23 %177 %98 0
+; CHECK-NEXT:    %343 = OpVectorShuffle %23 %342 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %344 = OpVectorShuffle %18 %343 %343 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %345 = OpVectorShuffle %18 %344 %341 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:    %346 = OpCompositeInsert %23 %185 %98 0
+; CHECK-NEXT:    %347 = OpVectorShuffle %23 %346 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %348 = OpVectorShuffle %18 %347 %347 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %349 = OpVectorShuffle %18 %348 %345 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:    %350 = OpCompositeInsert %23 %193 %98 0
+; CHECK-NEXT:    %351 = OpVectorShuffle %23 %350 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %352 = OpVectorShuffle %18 %351 %351 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %353 = OpVectorShuffle %18 %352 %349 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:    %354 = OpCompositeInsert %23 %201 %98 0
+; CHECK-NEXT:    %355 = OpVectorShuffle %23 %354 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %356 = OpVectorShuffle %18 %355 %355 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %357 = OpVectorShuffle %18 %356 %353 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:    %358 = OpCompositeInsert %23 %209 %98 0
+; CHECK-NEXT:    %359 = OpVectorShuffle %23 %358 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %360 = OpVectorShuffle %18 %359 %359 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %361 = OpVectorShuffle %18 %360 %357 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:    %362 = OpCompositeInsert %23 %217 %98 0
+; CHECK-NEXT:    %363 = OpVectorShuffle %23 %362 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %364 = OpVectorShuffle %18 %363 %363 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %365 = OpVectorShuffle %18 %364 %361 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:    %366 = OpCompositeInsert %23 %162 %98 0
+; CHECK-NEXT:    %367 = OpVectorShuffle %23 %366 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %368 = OpVectorShuffle %18 %367 %367 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %369 = OpVectorShuffle %18 %368 %99 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:    %370 = OpCompositeInsert %23 %170 %98 0
+; CHECK-NEXT:    %371 = OpVectorShuffle %23 %370 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %372 = OpVectorShuffle %18 %371 %371 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %373 = OpVectorShuffle %18 %372 %369 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:    %374 = OpCompositeInsert %23 %178 %98 0
+; CHECK-NEXT:    %375 = OpVectorShuffle %23 %374 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %376 = OpVectorShuffle %18 %375 %375 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %377 = OpVectorShuffle %18 %376 %373 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:    %378 = OpCompositeInsert %23 %186 %98 0
+; CHECK-NEXT:    %379 = OpVectorShuffle %23 %378 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %380 = OpVectorShuffle %18 %379 %379 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %381 = OpVectorShuffle %18 %380 %377 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:    %382 = OpCompositeInsert %23 %194 %98 0
+; CHECK-NEXT:    %383 = OpVectorShuffle %23 %382 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %384 = OpVectorShuffle %18 %383 %383 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %385 = OpVectorShuffle %18 %384 %381 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:    %386 = OpCompositeInsert %23 %202 %98 0
+; CHECK-NEXT:    %387 = OpVectorShuffle %23 %386 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %388 = OpVectorShuffle %18 %387 %387 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %389 = OpVectorShuffle %18 %388 %385 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:    %390 = OpCompositeInsert %23 %210 %98 0
+; CHECK-NEXT:    %391 = OpVectorShuffle %23 %390 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %392 = OpVectorShuffle %18 %391 %391 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %393 = OpVectorShuffle %18 %392 %389 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:    %394 = OpCompositeInsert %23 %218 %98 0
+; CHECK-NEXT:    %395 = OpVectorShuffle %23 %394 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %396 = OpVectorShuffle %18 %395 %395 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %397 = OpVectorShuffle %18 %396 %393 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:    %398 = OpCompositeInsert %23 %163 %98 0
+; CHECK-NEXT:    %399 = OpVectorShuffle %23 %398 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %400 = OpVectorShuffle %18 %399 %399 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %401 = OpVectorShuffle %18 %400 %99 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:    %402 = OpCompositeInsert %23 %171 %98 0
+; CHECK-NEXT:    %403 = OpVectorShuffle %23 %402 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %404 = OpVectorShuffle %18 %403 %403 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %405 = OpVectorShuffle %18 %404 %401 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:    %406 = OpCompositeInsert %23 %179 %98 0
+; CHECK-NEXT:    %407 = OpVectorShuffle %23 %406 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %408 = OpVectorShuffle %18 %407 %407 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %409 = OpVectorShuffle %18 %408 %405 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:    %410 = OpCompositeInsert %23 %187 %98 0
+; CHECK-NEXT:    %411 = OpVectorShuffle %23 %410 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %412 = OpVectorShuffle %18 %411 %411 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %413 = OpVectorShuffle %18 %412 %409 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:    %414 = OpCompositeInsert %23 %195 %98 0
+; CHECK-NEXT:    %415 = OpVectorShuffle %23 %414 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %416 = OpVectorShuffle %18 %415 %415 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %417 = OpVectorShuffle %18 %416 %413 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:    %418 = OpCompositeInsert %23 %203 %98 0
+; CHECK-NEXT:    %419 = OpVectorShuffle %23 %418 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %420 = OpVectorShuffle %18 %419 %419 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %421 = OpVectorShuffle %18 %420 %417 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:    %422 = OpCompositeInsert %23 %211 %98 0
+; CHECK-NEXT:    %423 = OpVectorShuffle %23 %422 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %424 = OpVectorShuffle %18 %423 %423 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %425 = OpVectorShuffle %18 %424 %421 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:    %426 = OpCompositeInsert %23 %219 %98 0
+; CHECK-NEXT:    %427 = OpVectorShuffle %23 %426 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %428 = OpVectorShuffle %18 %427 %427 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %429 = OpVectorShuffle %18 %428 %425 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:    %430 = OpCompositeInsert %23 %164 %98 0
+; CHECK-NEXT:    %431 = OpVectorShuffle %23 %430 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %432 = OpVectorShuffle %18 %431 %431 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %433 = OpVectorShuffle %18 %432 %99 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:    %434 = OpCompositeInsert %23 %172 %98 0
+; CHECK-NEXT:    %435 = OpVectorShuffle %23 %434 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %436 = OpVectorShuffle %18 %435 %435 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %437 = OpVectorShuffle %18 %436 %433 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:    %438 = OpCompositeInsert %23 %180 %98 0
+; CHECK-NEXT:    %439 = OpVectorShuffle %23 %438 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %440 = OpVectorShuffle %18 %439 %439 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %441 = OpVectorShuffle %18 %440 %437 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:    %442 = OpCompositeInsert %23 %188 %98 0
+; CHECK-NEXT:    %443 = OpVectorShuffle %23 %442 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %444 = OpVectorShuffle %18 %443 %443 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %445 = OpVectorShuffle %18 %444 %441 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:    %446 = OpCompositeInsert %23 %196 %98 0
+; CHECK-NEXT:    %447 = OpVectorShuffle %23 %446 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %448 = OpVectorShuffle %18 %447 %447 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %449 = OpVectorShuffle %18 %448 %445 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:    %450 = OpCompositeInsert %23 %204 %98 0
+; CHECK-NEXT:    %451 = OpVectorShuffle %23 %450 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %452 = OpVectorShuffle %18 %451 %451 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %453 = OpVectorShuffle %18 %452 %449 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:    %454 = OpCompositeInsert %23 %212 %98 0
+; CHECK-NEXT:    %455 = OpVectorShuffle %23 %454 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %456 = OpVectorShuffle %18 %455 %455 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %457 = OpVectorShuffle %18 %456 %453 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:    %458 = OpCompositeInsert %23 %220 %98 0
+; CHECK-NEXT:    %459 = OpVectorShuffle %23 %458 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %460 = OpVectorShuffle %18 %459 %459 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %461 = OpVectorShuffle %18 %460 %457 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:    %462 = OpCompositeInsert %23 %165 %98 0
+; CHECK-NEXT:    %463 = OpVectorShuffle %23 %462 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %464 = OpVectorShuffle %18 %463 %463 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %465 = OpVectorShuffle %18 %464 %99 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:    %466 = OpCompositeInsert %23 %173 %98 0
+; CHECK-NEXT:    %467 = OpVectorShuffle %23 %466 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %468 = OpVectorShuffle %18 %467 %467 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %469 = OpVectorShuffle %18 %468 %465 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:    %470 = OpCompositeInsert %23 %181 %98 0
+; CHECK-NEXT:    %471 = OpVectorShuffle %23 %470 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %472 = OpVectorShuffle %18 %471 %471 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %473 = OpVectorShuffle %18 %472 %469 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:    %474 = OpCompositeInsert %23 %189 %98 0
+; CHECK-NEXT:    %475 = OpVectorShuffle %23 %474 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %476 = OpVectorShuffle %18 %475 %475 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %477 = OpVectorShuffle %18 %476 %473 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:    %478 = OpCompositeInsert %23 %197 %98 0
+; CHECK-NEXT:    %479 = OpVectorShuffle %23 %478 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %480 = OpVectorShuffle %18 %479 %479 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %481 = OpVectorShuffle %18 %480 %477 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:    %482 = OpCompositeInsert %23 %205 %98 0
+; CHECK-NEXT:    %483 = OpVectorShuffle %23 %482 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %484 = OpVectorShuffle %18 %483 %483 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %485 = OpVectorShuffle %18 %484 %481 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:    %486 = OpCompositeInsert %23 %213 %98 0
+; CHECK-NEXT:    %487 = OpVectorShuffle %23 %486 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %488 = OpVectorShuffle %18 %487 %487 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %489 = OpVectorShuffle %18 %488 %485 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:    %490 = OpCompositeInsert %23 %221 %98 0
+; CHECK-NEXT:    %491 = OpVectorShuffle %23 %490 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %492 = OpVectorShuffle %18 %491 %491 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %493 = OpVectorShuffle %18 %492 %489 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:    %494 = OpVectorShuffle %18 %223 %223 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 %18 %494 %99 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:    %496 = OpVectorShuffle %18 %223 %223 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %497 = OpVectorShuffle %18 %496 %495 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:    %498 = OpVectorShuffle %18 %223 %223 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 %18 %498 %497 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:    %500 = OpVectorShuffle %18 %223 %223 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 %18 %500 %499 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:    %502 = OpVectorShuffle %18 %223 %223 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 %18 %502 %501 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:    %504 = OpVectorShuffle %18 %223 %223 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 %18 %504 %503 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:    %506 = OpVectorShuffle %18 %223 %223 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 %18 %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 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:    %508 = OpVectorShuffle %18 %223 %223 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 %18 %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 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:    %510 = OpVectorShuffle %18 %225 %225 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 %18 %510 %99 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:    %512 = OpVectorShuffle %18 %225 %225 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 %18 %512 %511 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:    %514 = OpVectorShuffle %18 %225 %225 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 %18 %514 %513 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:    %516 = OpVectorShuffle %18 %225 %225 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 %18 %516 %515 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:    %518 = OpVectorShuffle %18 %225 %225 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 %18 %518 %517 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:    %520 = OpVectorShuffle %18 %225 %225 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 %18 %520 %519 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:    %522 = OpVectorShuffle %18 %225 %225 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 %18 %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 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:    %524 = OpVectorShuffle %18 %225 %225 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 %18 %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 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:    %526 = OpVectorShuffle %18 %227 %227 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 %18 %526 %99 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:    %528 = OpVectorShuffle %18 %227 %227 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 %18 %528 %527 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:    %530 = OpVectorShuffle %18 %227 %227 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 %18 %530 %529 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:    %532 = OpVectorShuffle %18 %227 %227 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 %18 %532 %531 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:    %534 = OpVectorShuffle %18 %227 %227 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 %18 %534 %533 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:    %536 = OpVectorShuffle %18 %227 %227 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 %18 %536 %535 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:    %538 = OpVectorShuffle %18 %227 %227 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 %18 %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 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:    %540 = OpVectorShuffle %18 %227 %227 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 %18 %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 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:    %542 = OpVectorShuffle %18 %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:    %543 = OpVectorShuffle %18 %542 %99 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:    %544 = OpVectorShuffle %18 %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:    %545 = OpVectorShuffle %18 %544 %543 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:    %546 = OpVectorShuffle %18 %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:    %547 = OpVectorShuffle %18 %546 %545 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:    %548 = OpVectorShuffle %18 %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:    %549 = OpVectorShuffle %18 %548 %547 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:    %550 = OpVectorShuffle %18 %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:    %551 = OpVectorShuffle %18 %550 %549 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:    %552 = OpVectorShuffle %18 %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:    %553 = OpVectorShuffle %18 %552 %551 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:    %554 = OpVectorShuffle %18 %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:    %555 = OpVectorShuffle %18 %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 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:    %556 = OpVectorShuffle %18 %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:    %557 = OpVectorShuffle %18 %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 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:    %558 = OpVectorShuffle %18 %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:    %559 = OpVectorShuffle %18 %558 %99 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:    %560 = OpVectorShuffle %18 %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:    %561 = OpVectorShuffle %18 %560 %559 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:    %562 = OpVectorShuffle %18 %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:    %563 = OpVectorShuffle %18 %562 %561 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:    %564 = OpVectorShuffle %18 %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:    %565 = OpVectorShuffle %18 %564 %563 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:    %566 = OpVectorShuffle %18 %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:    %567 = OpVectorShuffle %18 %566 %565 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:    %568 = OpVectorShuffle %18 %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:    %569 = OpVectorShuffle %18 %568 %567 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:    %570 = OpVectorShuffle %18 %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:    %571 = OpVectorShuffle %18 %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 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:    %572 = OpVectorShuffle %18 %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:    %573 = OpVectorShuffle %18 %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 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:    %574 = OpVectorShuffle %18 %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:    %575 = OpVectorShuffle %18 %574 %99 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:    %576 = OpVectorShuffle %18 %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:    %577 = OpVectorShuffle %18 %576 %575 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:    %578 = OpVectorShuffle %18 %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:    %579 = OpVectorShuffle %18 %578 %577 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:    %580 = OpVectorShuffle %18 %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:    %581 = OpVectorShuffle %18 %580 %579 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:    %582 = OpVectorShuffle %18 %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:    %583 = OpVectorShuffle %18 %582 %581 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:    %584 = OpVectorShuffle %18 %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:    %585 = OpVectorShuffle %18 %584 %583 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:    %586 = OpVectorShuffle %18 %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:    %587 = OpVectorShuffle %18 %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 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:    %588 = OpVectorShuffle %18 %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:    %589 = OpVectorShuffle %18 %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 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:    %590 = OpVectorShuffle %18 %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:    %591 = OpVectorShuffle %18 %590 %99 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:    %592 = OpVectorShuffle %18 %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:    %593 = OpVectorShuffle %18 %592 %591 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:    %594 = OpVectorShuffle %18 %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:    %595 = OpVectorShuffle %18 %594 %593 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:    %596 = OpVectorShuffle %18 %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:    %597 = OpVectorShuffle %18 %596 %595 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:    %598 = OpVectorShuffle %18 %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:    %599 = OpVectorShuffle %18 %598 %597 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:    %600 = OpVectorShuffle %18 %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:    %601 = OpVectorShuffle %18 %600 %599 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:    %602 = OpVectorShuffle %18 %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:    %603 = OpVectorShuffle %18 %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 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:    %604 = OpVectorShuffle %18 %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:    %605 = OpVectorShuffle %18 %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 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:    %606 = OpVectorShuffle %18 %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:    %607 = OpVectorShuffle %18 %606 %99 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:    %608 = OpVectorShuffle %18 %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:    %609 = OpVectorShuffle %18 %608 %607 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:    %610 = OpVectorShuffle %18 %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:    %611 = OpVectorShuffle %18 %610 %609 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:    %612 = OpVectorShuffle %18 %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:    %613 = OpVectorShuffle %18 %612 %611 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:    %614 = OpVectorShuffle %18 %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:    %615 = OpVectorShuffle %18 %614 %613 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:    %616 = OpVectorShuffle %18 %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:    %617 = OpVectorShuffle %18 %616 %615 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:    %618 = OpVectorShuffle %18 %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:    %619 = OpVectorShuffle %18 %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 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:    %620 = OpVectorShuffle %18 %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:    %621 = OpVectorShuffle %18 %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 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:    %622 = OpFunctionCall %18 %101 %493 %621 %100
+; CHECK-NEXT:    %623 = OpFunctionCall %18 %101 %461 %605 %622
+; CHECK-NEXT:    %624 = OpFunctionCall %18 %101 %429 %589 %623
+; CHECK-NEXT:    %625 = OpFunctionCall %18 %101 %397 %573 %624
+; CHECK-NEXT:    %626 = OpFunctionCall %18 %101 %365 %557 %625
+; CHECK-NEXT:    %627 = OpFunctionCall %18 %101 %333 %541 %626
+; CHECK-NEXT:    %628 = OpFunctionCall %18 %101 %301 %525 %627
+; CHECK-NEXT:    %629 = OpFunctionCall %18 %101 %269 %509 %628
+; CHECK-NEXT:    %630 = OpVectorShuffle %23 %629 %629 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %631 = OpVectorShuffle %23 %629 %629 8 9 10 11 12 13 14 15
+; CHECK-NEXT:    %632 = OpVectorShuffle %23 %629 %629 16 17 18 19 20 21 22 23
+; CHECK-NEXT:    %633 = OpVectorShuffle %23 %629 %629 24 25 26 27 28 29 30 31
+; CHECK-NEXT:    %634 = OpVectorShuffle %23 %629 %629 32 33 34 35 36 37 38 39
+; CHECK-NEXT:    %635 = OpVectorShuffle %23 %629 %629 40 41 42 43 44 45 46 47
+; CHECK-NEXT:    %636 = OpVectorShuffle %23 %629 %629 48 49 50 51 52 53 54 55
+; CHECK-NEXT:    %637 = OpVectorShuffle %23 %629 %629 56 57 58 59 60 61 62 63
+; CHECK-NEXT:    %638 = OpBitcast %25 %92
+; CHECK-NEXT:    %639 = OpLoad %23 %638 Aligned 4
+; CHECK-NEXT:    %640 = OpBitcast %25 %125
+; CHECK-NEXT:    %641 = OpLoad %23 %640 Aligned 4
+; CHECK-NEXT:    %642 = OpBitcast %25 %126
+; CHECK-NEXT:    %643 = OpLoad %23 %642 Aligned 4
+; CHECK-NEXT:    %644 = OpBitcast %25 %127
+; CHECK-NEXT:    %645 = OpLoad %23 %644 Aligned 4
+; CHECK-NEXT:    %646 = OpBitcast %25 %128
+; CHECK-NEXT:    %647 = OpLoad %23 %646 Aligned 4
+; CHECK-NEXT:    %648 = OpBitcast %25 %129
+; CHECK-NEXT:    %649 = OpLoad %23 %648 Aligned 4
+; CHECK-NEXT:    %650 = OpBitcast %25 %130
+; CHECK-NEXT:    %651 = OpLoad %23 %650 Aligned 4
+; CHECK-NEXT:    %652 = OpBitcast %25 %131
+; CHECK-NEXT:    %653 = OpLoad %23 %652 Aligned 4
+; CHECK-NEXT:    %654 = OpCompositeExtract %9 %639 0
+; CHECK-NEXT:    %655 = OpCompositeExtract %9 %639 1
+; CHECK-NEXT:    %656 = OpCompositeExtract %9 %639 2
+; CHECK-NEXT:    %657 = OpCompositeExtract %9 %639 3
+; CHECK-NEXT:    %658 = OpCompositeExtract %9 %639 4
+; CHECK-NEXT:    %659 = OpCompositeExtract %9 %639 5
+; CHECK-NEXT:    %660 = OpCompositeExtract %9 %639 6
+; CHECK-NEXT:    %661 = OpCompositeExtract %9 %639 7
+; CHECK-NEXT:    %662 = OpCompositeExtract %9 %641 0
+; CHECK-NEXT:    %663 = OpCompositeExtract %9 %641 1
+; CHECK-NEXT:    %664 = OpCompositeExtract %9 %641 2
+; CHECK-NEXT:    %665 = OpCompositeExtract %9 %641 3
+; CHECK-NEXT:    %666 = OpCompositeExtract %9 %641 4
+; CHECK-NEXT:    %667 = OpCompositeExtract %9 %641 5
+; CHECK-NEXT:    %668 = OpCompositeExtract %9 %641 6
+; CHECK-NEXT:    %669 = OpCompositeExtract %9 %641 7
+; CHECK-NEXT:    %670 = OpCompositeExtract %9 %643 0
+; CHECK-NEXT:    %671 = OpCompositeExtract %9 %643 1
+; CHECK-NEXT:    %672 = OpCompositeExtract %9 %643 2
+; CHECK-NEXT:    %673 = OpCompositeExtract %9 %643 3
+; CHECK-NEXT:    %674 = OpCompositeExtract %9 %643 4
+; CHECK-NEXT:    %675 = OpCompositeExtract %9 %643 5
+; CHECK-NEXT:    %676 = OpCompositeExtract %9 %643 6
+; CHECK-NEXT:    %677 = OpCompositeExtract %9 %643 7
+; CHECK-NEXT:    %678 = OpCompositeExtract %9 %645 0
+; CHECK-NEXT:    %679 = OpCompositeExtract %9 %645 1
+; CHECK-NEXT:    %680 = OpCompositeExtract %9 %645 2
+; CHECK-NEXT:    %681 = OpCompositeExtract %9 %645 3
+; CHECK-NEXT:    %682 = OpCompositeExtract %9 %645 4
+; CHECK-NEXT:    %683 = OpCompositeExtract %9 %645 5
+; CHECK-NEXT:    %684 = OpCompositeExtract %9 %645 6
+; CHECK-NEXT:    %685 = OpCompositeExtract %9 %645 7
+; CHECK-NEXT:    %686 = OpCompositeExtract %9 %647 0
+; CHECK-NEXT:    %687 = OpCompositeExtract %9 %647 1
+; CHECK-NEXT:    %688 = OpCompositeExtract %9 %647 2
+; CHECK-NEXT:    %689 = OpCompositeExtract %9 %647 3
+; CHECK-NEXT:    %690 = OpCompositeExtract %9 %647 4
+; CHECK-NEXT:    %691 = OpCompositeExtract %9 %647 5
+; CHECK-NEXT:    %692 = OpCompositeExtract %9 %647 6
+; CHECK-NEXT:    %693 = OpCompositeExtract %9 %647 7
+; CHECK-NEXT:    %694 = OpCompositeExtract %9 %649 0
+; CHECK-NEXT:    %695 = OpCompositeExtract %9 %649 1
+; CHECK-NEXT:    %696 = OpCompositeExtract %9 %649 2
+; CHECK-NEXT:    %697 = OpCompositeExtract %9 %649 3
+; CHECK-NEXT:    %698 = OpCompositeExtract %9 %649 4
+; CHECK-NEXT:    %699 = OpCompositeExtract %9 %649 5
+; CHECK-NEXT:    %700 = OpCompositeExtract %9 %649 6
+; CHECK-NEXT:    %701 = OpCompositeExtract %9 %649 7
+; CHECK-NEXT:    %702 = OpCompositeExtract %9 %651 0
+; CHECK-NEXT:    %703 = OpCompositeExtract %9 %651 1
+; CHECK-NEXT:    %704 = OpCompositeExtract %9 %651 2
+; CHECK-NEXT:    %705 = OpCompositeExtract %9 %651 3
+; CHECK-NEXT:    %706 = OpCompositeExtract %9 %651 4
+; CHECK-NEXT:    %707 = OpCompositeExtract %9 %651 5
+; CHECK-NEXT:    %708 = OpCompositeExtract %9 %651 6
+; CHECK-NEXT:    %709 = OpCompositeExtract %9 %651 7
+; CHECK-NEXT:    %710 = OpCompositeExtract %9 %653 0
+; CHECK-NEXT:    %711 = OpCompositeExtract %9 %653 1
+; CHECK-NEXT:    %712 = OpCompositeExtract %9 %653 2
+; CHECK-NEXT:    %713 = OpCompositeExtract %9 %653 3
+; CHECK-NEXT:    %714 = OpCompositeExtract %9 %653 4
+; CHECK-NEXT:    %715 = OpCompositeExtract %9 %653 5
+; CHECK-NEXT:    %716 = OpCompositeExtract %9 %653 6
+; CHECK-NEXT:    %717 = OpCompositeExtract %9 %653 7
+; CHECK-NEXT:    %718 = OpCompositeInsert %23 %654 %98 0
+; CHECK-NEXT:    %719 = OpVectorShuffle %23 %718 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %720 = OpVectorShuffle %18 %719 %719 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %721 = OpVectorShuffle %18 %720 %99 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:    %722 = OpCompositeInsert %23 %662 %98 0
+; CHECK-NEXT:    %723 = OpVectorShuffle %23 %722 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %724 = OpVectorShuffle %18 %723 %723 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %725 = OpVectorShuffle %18 %724 %721 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:    %726 = OpCompositeInsert %23 %670 %98 0
+; CHECK-NEXT:    %727 = OpVectorShuffle %23 %726 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %728 = OpVectorShuffle %18 %727 %727 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %729 = OpVectorShuffle %18 %728 %725 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:    %730 = OpCompositeInsert %23 %678 %98 0
+; CHECK-NEXT:    %731 = OpVectorShuffle %23 %730 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %732 = OpVectorShuffle %18 %731 %731 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %733 = OpVectorShuffle %18 %732 %729 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:    %734 = OpCompositeInsert %23 %686 %98 0
+; CHECK-NEXT:    %735 = OpVectorShuffle %23 %734 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %736 = OpVectorShuffle %18 %735 %735 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %737 = OpVectorShuffle %18 %736 %733 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:    %738 = OpCompositeInsert %23 %694 %98 0
+; CHECK-NEXT:    %739 = OpVectorShuffle %23 %738 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %740 = OpVectorShuffle %18 %739 %739 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %741 = OpVectorShuffle %18 %740 %737 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:    %742 = OpCompositeInsert %23 %702 %98 0
+; CHECK-NEXT:    %743 = OpVectorShuffle %23 %742 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %744 = OpVectorShuffle %18 %743 %743 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %745 = OpVectorShuffle %18 %744 %741 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:    %746 = OpCompositeInsert %23 %710 %98 0
+; CHECK-NEXT:    %747 = OpVectorShuffle %23 %746 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %748 = OpVectorShuffle %18 %747 %747 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %749 = OpVectorShuffle %18 %748 %745 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:    %750 = OpCompositeInsert %23 %655 %98 0
+; CHECK-NEXT:    %751 = OpVectorShuffle %23 %750 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %752 = OpVectorShuffle %18 %751 %751 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %753 = OpVectorShuffle %18 %752 %99 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:    %754 = OpCompositeInsert %23 %663 %98 0
+; CHECK-NEXT:    %755 = OpVectorShuffle %23 %754 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %756 = OpVectorShuffle %18 %755 %755 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %757 = OpVectorShuffle %18 %756 %753 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:    %758 = OpCompositeInsert %23 %671 %98 0
+; CHECK-NEXT:    %759 = OpVectorShuffle %23 %758 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %760 = OpVectorShuffle %18 %759 %759 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %761 = OpVectorShuffle %18 %760 %757 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:    %762 = OpCompositeInsert %23 %679 %98 0
+; CHECK-NEXT:    %763 = OpVectorShuffle %23 %762 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %764 = OpVectorShuffle %18 %763 %763 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %765 = OpVectorShuffle %18 %764 %761 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:    %766 = OpCompositeInsert %23 %687 %98 0
+; CHECK-NEXT:    %767 = OpVectorShuffle %23 %766 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %768 = OpVectorShuffle %18 %767 %767 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %769 = OpVectorShuffle %18 %768 %765 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:    %770 = OpCompositeInsert %23 %695 %98 0
+; CHECK-NEXT:    %771 = OpVectorShuffle %23 %770 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %772 = OpVectorShuffle %18 %771 %771 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %773 = OpVectorShuffle %18 %772 %769 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:    %774 = OpCompositeInsert %23 %703 %98 0
+; CHECK-NEXT:    %775 = OpVectorShuffle %23 %774 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %776 = OpVectorShuffle %18 %775 %775 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %777 = OpVectorShuffle %18 %776 %773 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:    %778 = OpCompositeInsert %23 %711 %98 0
+; CHECK-NEXT:    %779 = OpVectorShuffle %23 %778 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %780 = OpVectorShuffle %18 %779 %779 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %781 = OpVectorShuffle %18 %780 %777 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:    %782 = OpCompositeInsert %23 %656 %98 0
+; CHECK-NEXT:    %783 = OpVectorShuffle %23 %782 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %784 = OpVectorShuffle %18 %783 %783 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %785 = OpVectorShuffle %18 %784 %99 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:    %786 = OpCompositeInsert %23 %664 %98 0
+; CHECK-NEXT:    %787 = OpVectorShuffle %23 %786 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %788 = OpVectorShuffle %18 %787 %787 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %789 = OpVectorShuffle %18 %788 %785 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:    %790 = OpCompositeInsert %23 %672 %98 0
+; CHECK-NEXT:    %791 = OpVectorShuffle %23 %790 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %792 = OpVectorShuffle %18 %791 %791 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %793 = OpVectorShuffle %18 %792 %789 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:    %794 = OpCompositeInsert %23 %680 %98 0
+; CHECK-NEXT:    %795 = OpVectorShuffle %23 %794 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %796 = OpVectorShuffle %18 %795 %795 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %797 = OpVectorShuffle %18 %796 %793 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:    %798 = OpCompositeInsert %23 %688 %98 0
+; CHECK-NEXT:    %799 = OpVectorShuffle %23 %798 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %800 = OpVectorShuffle %18 %799 %799 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %801 = OpVectorShuffle %18 %800 %797 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:    %802 = OpCompositeInsert %23 %696 %98 0
+; CHECK-NEXT:    %803 = OpVectorShuffle %23 %802 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %804 = OpVectorShuffle %18 %803 %803 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %805 = OpVectorShuffle %18 %804 %801 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:    %806 = OpCompositeInsert %23 %704 %98 0
+; CHECK-NEXT:    %807 = OpVectorShuffle %23 %806 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %808 = OpVectorShuffle %18 %807 %807 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %809 = OpVectorShuffle %18 %808 %805 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:    %810 = OpCompositeInsert %23 %712 %98 0
+; CHECK-NEXT:    %811 = OpVectorShuffle %23 %810 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %812 = OpVectorShuffle %18 %811 %811 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %813 = OpVectorShuffle %18 %812 %809 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:    %814 = OpCompositeInsert %23 %657 %98 0
+; CHECK-NEXT:    %815 = OpVectorShuffle %23 %814 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %816 = OpVectorShuffle %18 %815 %815 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %817 = OpVectorShuffle %18 %816 %99 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:    %818 = OpCompositeInsert %23 %665 %98 0
+; CHECK-NEXT:    %819 = OpVectorShuffle %23 %818 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %820 = OpVectorShuffle %18 %819 %819 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %821 = OpVectorShuffle %18 %820 %817 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:    %822 = OpCompositeInsert %23 %673 %98 0
+; CHECK-NEXT:    %823 = OpVectorShuffle %23 %822 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %824 = OpVectorShuffle %18 %823 %823 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %825 = OpVectorShuffle %18 %824 %821 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:    %826 = OpCompositeInsert %23 %681 %98 0
+; CHECK-NEXT:    %827 = OpVectorShuffle %23 %826 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %828 = OpVectorShuffle %18 %827 %827 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %829 = OpVectorShuffle %18 %828 %825 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:    %830 = OpCompositeInsert %23 %689 %98 0
+; CHECK-NEXT:    %831 = OpVectorShuffle %23 %830 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %832 = OpVectorShuffle %18 %831 %831 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %833 = OpVectorShuffle %18 %832 %829 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:    %834 = OpCompositeInsert %23 %697 %98 0
+; CHECK-NEXT:    %835 = OpVectorShuffle %23 %834 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %836 = OpVectorShuffle %18 %835 %835 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %837 = OpVectorShuffle %18 %836 %833 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:    %838 = OpCompositeInsert %23 %705 %98 0
+; CHECK-NEXT:    %839 = OpVectorShuffle %23 %838 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %840 = OpVectorShuffle %18 %839 %839 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %841 = OpVectorShuffle %18 %840 %837 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:    %842 = OpCompositeInsert %23 %713 %98 0
+; CHECK-NEXT:    %843 = OpVectorShuffle %23 %842 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %844 = OpVectorShuffle %18 %843 %843 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %845 = OpVectorShuffle %18 %844 %841 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:    %846 = OpCompositeInsert %23 %658 %98 0
+; CHECK-NEXT:    %847 = OpVectorShuffle %23 %846 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %848 = OpVectorShuffle %18 %847 %847 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %849 = OpVectorShuffle %18 %848 %99 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:    %850 = OpCompositeInsert %23 %666 %98 0
+; CHECK-NEXT:    %851 = OpVectorShuffle %23 %850 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %852 = OpVectorShuffle %18 %851 %851 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %853 = OpVectorShuffle %18 %852 %849 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:    %854 = OpCompositeInsert %23 %674 %98 0
+; CHECK-NEXT:    %855 = OpVectorShuffle %23 %854 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %856 = OpVectorShuffle %18 %855 %855 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %857 = OpVectorShuffle %18 %856 %853 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:    %858 = OpCompositeInsert %23 %682 %98 0
+; CHECK-NEXT:    %859 = OpVectorShuffle %23 %858 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %860 = OpVectorShuffle %18 %859 %859 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %861 = OpVectorShuffle %18 %860 %857 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:    %862 = OpCompositeInsert %23 %690 %98 0
+; CHECK-NEXT:    %863 = OpVectorShuffle %23 %862 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %864 = OpVectorShuffle %18 %863 %863 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %865 = OpVectorShuffle %18 %864 %861 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:    %866 = OpCompositeInsert %23 %698 %98 0
+; CHECK-NEXT:    %867 = OpVectorShuffle %23 %866 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %868 = OpVectorShuffle %18 %867 %867 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %869 = OpVectorShuffle %18 %868 %865 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:    %870 = OpCompositeInsert %23 %706 %98 0
+; CHECK-NEXT:    %871 = OpVectorShuffle %23 %870 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %872 = OpVectorShuffle %18 %871 %871 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %873 = OpVectorShuffle %18 %872 %869 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:    %874 = OpCompositeInsert %23 %714 %98 0
+; CHECK-NEXT:    %875 = OpVectorShuffle %23 %874 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %876 = OpVectorShuffle %18 %875 %875 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %877 = OpVectorShuffle %18 %876 %873 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:    %878 = OpCompositeInsert %23 %659 %98 0
+; CHECK-NEXT:    %879 = OpVectorShuffle %23 %878 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %880 = OpVectorShuffle %18 %879 %879 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %881 = OpVectorShuffle %18 %880 %99 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:    %882 = OpCompositeInsert %23 %667 %98 0
+; CHECK-NEXT:    %883 = OpVectorShuffle %23 %882 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %884 = OpVectorShuffle %18 %883 %883 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %885 = OpVectorShuffle %18 %884 %881 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:    %886 = OpCompositeInsert %23 %675 %98 0
+; CHECK-NEXT:    %887 = OpVectorShuffle %23 %886 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %888 = OpVectorShuffle %18 %887 %887 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %889 = OpVectorShuffle %18 %888 %885 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:    %890 = OpCompositeInsert %23 %683 %98 0
+; CHECK-NEXT:    %891 = OpVectorShuffle %23 %890 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %892 = OpVectorShuffle %18 %891 %891 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %893 = OpVectorShuffle %18 %892 %889 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:    %894 = OpCompositeInsert %23 %691 %98 0
+; CHECK-NEXT:    %895 = OpVectorShuffle %23 %894 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %896 = OpVectorShuffle %18 %895 %895 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %897 = OpVectorShuffle %18 %896 %893 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:    %898 = OpCompositeInsert %23 %699 %98 0
+; CHECK-NEXT:    %899 = OpVectorShuffle %23 %898 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %900 = OpVectorShuffle %18 %899 %899 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %901 = OpVectorShuffle %18 %900 %897 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:    %902 = OpCompositeInsert %23 %707 %98 0
+; CHECK-NEXT:    %903 = OpVectorShuffle %23 %902 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %904 = OpVectorShuffle %18 %903 %903 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %905 = OpVectorShuffle %18 %904 %901 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:    %906 = OpCompositeInsert %23 %715 %98 0
+; CHECK-NEXT:    %907 = OpVectorShuffle %23 %906 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %908 = OpVectorShuffle %18 %907 %907 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %909 = OpVectorShuffle %18 %908 %905 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:    %910 = OpCompositeInsert %23 %660 %98 0
+; CHECK-NEXT:    %911 = OpVectorShuffle %23 %910 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %912 = OpVectorShuffle %18 %911 %911 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %913 = OpVectorShuffle %18 %912 %99 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:    %914 = OpCompositeInsert %23 %668 %98 0
+; CHECK-NEXT:    %915 = OpVectorShuffle %23 %914 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %916 = OpVectorShuffle %18 %915 %915 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %917 = OpVectorShuffle %18 %916 %913 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:    %918 = OpCompositeInsert %23 %676 %98 0
+; CHECK-NEXT:    %919 = OpVectorShuffle %23 %918 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %920 = OpVectorShuffle %18 %919 %919 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %921 = OpVectorShuffle %18 %920 %917 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:    %922 = OpCompositeInsert %23 %684 %98 0
+; CHECK-NEXT:    %923 = OpVectorShuffle %23 %922 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %924 = OpVectorShuffle %18 %923 %923 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %925 = OpVectorShuffle %18 %924 %921 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:    %926 = OpCompositeInsert %23 %692 %98 0
+; CHECK-NEXT:    %927 = OpVectorShuffle %23 %926 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %928 = OpVectorShuffle %18 %927 %927 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %929 = OpVectorShuffle %18 %928 %925 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:    %930 = OpCompositeInsert %23 %700 %98 0
+; CHECK-NEXT:    %931 = OpVectorShuffle %23 %930 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %932 = OpVectorShuffle %18 %931 %931 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %933 = OpVectorShuffle %18 %932 %929 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:    %934 = OpCompositeInsert %23 %708 %98 0
+; CHECK-NEXT:    %935 = OpVectorShuffle %23 %934 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %936 = OpVectorShuffle %18 %935 %935 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %937 = OpVectorShuffle %18 %936 %933 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:    %938 = OpCompositeInsert %23 %716 %98 0
+; CHECK-NEXT:    %939 = OpVectorShuffle %23 %938 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %940 = OpVectorShuffle %18 %939 %939 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %941 = OpVectorShuffle %18 %940 %937 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:    %942 = OpCompositeInsert %23 %661 %98 0
+; CHECK-NEXT:    %943 = OpVectorShuffle %23 %942 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %944 = OpVectorShuffle %18 %943 %943 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %945 = OpVectorShuffle %18 %944 %99 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:    %946 = OpCompositeInsert %23 %669 %98 0
+; CHECK-NEXT:    %947 = OpVectorShuffle %23 %946 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %948 = OpVectorShuffle %18 %947 %947 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %949 = OpVectorShuffle %18 %948 %945 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:    %950 = OpCompositeInsert %23 %677 %98 0
+; CHECK-NEXT:    %951 = OpVectorShuffle %23 %950 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %952 = OpVectorShuffle %18 %951 %951 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %953 = OpVectorShuffle %18 %952 %949 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:    %954 = OpCompositeInsert %23 %685 %98 0
+; CHECK-NEXT:    %955 = OpVectorShuffle %23 %954 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %956 = OpVectorShuffle %18 %955 %955 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %957 = OpVectorShuffle %18 %956 %953 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:    %958 = OpCompositeInsert %23 %693 %98 0
+; CHECK-NEXT:    %959 = OpVectorShuffle %23 %958 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %960 = OpVectorShuffle %18 %959 %959 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %961 = OpVectorShuffle %18 %960 %957 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:    %962 = OpCompositeInsert %23 %701 %98 0
+; CHECK-NEXT:    %963 = OpVectorShuffle %23 %962 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %964 = OpVectorShuffle %18 %963 %963 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %965 = OpVectorShuffle %18 %964 %961 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:    %966 = OpCompositeInsert %23 %709 %98 0
+; CHECK-NEXT:    %967 = OpVectorShuffle %23 %966 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %968 = OpVectorShuffle %18 %967 %967 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %969 = OpVectorShuffle %18 %968 %965 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:    %970 = OpCompositeInsert %23 %717 %98 0
+; CHECK-NEXT:    %971 = OpVectorShuffle %23 %970 %98 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %972 = OpVectorShuffle %18 %971 %971 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+; CHECK-NEXT:    %973 = OpVectorShuffle %18 %972 %969 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:    %974 = OpVectorShuffle %18 %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:    %975 = OpVectorShuffle %18 %974 %99 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:    %976 = OpVectorShuffle %18 %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:    %977 = OpVectorShuffle %18 %976 %975 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:    %978 = OpVectorShuffle %18 %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:    %979 = OpVectorShuffle %18 %978 %977 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:    %980 = OpVectorShuffle %18 %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:    %981 = OpVectorShuffle %18 %980 %979 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:    %982 = OpVectorShuffle %18 %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:    %983 = OpVectorShuffle %18 %982 %981 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:    %984 = OpVectorShuffle %18 %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:    %985 = OpVectorShuffle %18 %984 %983 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:    %986 = OpVectorShuffle %18 %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:    %987 = OpVectorShuffle %18 %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 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:    %988 = OpVectorShuffle %18 %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:    %989 = OpVectorShuffle %18 %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 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:    %990 = OpVectorShuffle %18 %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:    %991 = OpVectorShuffle %18 %990 %99 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:    %992 = OpVectorShuffle %18 %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:    %993 = OpVectorShuffle %18 %992 %991 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:    %994 = OpVectorShuffle %18 %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:    %995 = OpVectorShuffle %18 %994 %993 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:    %996 = OpVectorShuffle %18 %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:    %997 = OpVectorShuffle %18 %996 %995 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:    %998 = OpVectorShuffle %18 %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:    %999 = OpVectorShuffle %18 %998 %997 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:    %1000 = OpVectorShuffle %18 %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:    %1001 = OpVectorShuffle %18 %1000 %999 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:    %1002 = OpVectorShuffle %18 %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:    %1003 = OpVectorShuffle %18 %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 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:    %1004 = OpVectorShuffle %18 %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:    %1005 = OpVectorShuffle %18 %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 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:    %1006 = OpVectorShuffle %18 %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:    %1007 = OpVectorShuffle %18 %1006 %99 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:    %1008 = OpVectorShuffle %18 %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:    %1009 = OpVectorShuffle %18 %1008 %1007 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:    %1010 = OpVectorShuffle %18 %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:    %1011 = OpVectorShuffle %18 %1010 %1009 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:    %1012 = OpVectorShuffle %18 %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:    %1013 = OpVectorShuffle %18 %1012 %1011 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:    %1014 = OpVectorShuffle %18 %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:    %1015 = OpVectorShuffle %18 %1014 %1013 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:    %1016 = OpVectorShuffle %18 %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:    %1017 = OpVectorShuffle %18 %1016 %1015 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:    %1018 = OpVectorShuffle %18 %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:    %1019 = OpVectorShuffle %18 %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 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:    %1020 = OpVectorShuffle %18 %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:    %1021 = OpVectorShuffle %18 %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 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:    %1022 = OpVectorShuffle %18 %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:    %1023 = OpVectorShuffle %18 %1022 %99 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:    %1024 = OpVectorShuffle %18 %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:    %1025 = OpVectorShuffle %18 %1024 %1023 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:    %1026 = OpVectorShuffle %18 %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:    %1027 = OpVectorShuffle %18 %1026 %1025 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:    %1028 = OpVectorShuffle %18 %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:    %1029 = OpVectorShuffle %18 %1028 %1027 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:    %1030 = OpVectorShuffle %18 %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:    %1031 = OpVectorShuffle %18 %1030 %1029 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:    %1032 = OpVectorShuffle %18 %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:    %1033 = OpVectorShuffle %18 %1032 %1031 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:    %1034 = OpVectorShuffle %18 %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:    %1035 = OpVectorShuffle %18 %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 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:    %1036 = OpVectorShuffle %18 %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:    %1037 = OpVectorShuffle %18 %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 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:    %1038 = OpVectorShuffle %18 %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:    %1039 = OpVectorShuffle %18 %1038 %99 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:    %1040 = OpVectorShuffle %18 %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:    %1041 = OpVectorShuffle %18 %1040 %1039 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:    %1042 = OpVectorShuffle %18 %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:    %1043 = OpVectorShuffle %18 %1042 %1041 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:    %1044 = OpVectorShuffle %18 %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:    %1045 = OpVectorShuffle %18 %1044 %1043 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:    %1046 = OpVectorShuffle %18 %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:    %1047 = OpVectorShuffle %18 %1046 %1045 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:    %1048 = OpVectorShuffle %18 %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:    %1049 = OpVectorShuffle %18 %1048 %1047 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:    %1050 = OpVectorShuffle %18 %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:    %1051 = OpVectorShuffle %18 %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 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:    %1052 = OpVectorShuffle %18 %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:    %1053 = OpVectorShuffle %18 %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 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:    %1054 = OpVectorShuffle %18 %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:    %1055 = OpVectorShuffle %18 %1054 %99 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:    %1056 = OpVectorShuffle %18 %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:    %1057 = OpVectorShuffle %18 %1056 %1055 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:    %1058 = OpVectorShuffle %18 %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:    %1059 = OpVectorShuffle %18 %1058 %1057 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:    %1060 = OpVectorShuffle %18 %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:    %1061 = OpVectorShuffle %18 %1060 %1059 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:    %1062 = OpVectorShuffle %18 %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:    %1063 = OpVectorShuffle %18 %1062 %1061 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:    %1064 = OpVectorShuffle %18 %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:    %1065 = OpVectorShuffle %18 %1064 %1063 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:    %1066 = OpVectorShuffle %18 %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:    %1067 = OpVectorShuffle %18 %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 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:    %1068 = OpVectorShuffle %18 %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:    %1069 = OpVectorShuffle %18 %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 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:    %1070 = OpVectorShuffle %18 %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:    %1071 = OpVectorShuffle %18 %1070 %99 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:    %1072 = OpVectorShuffle %18 %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:    %1073 = OpVectorShuffle %18 %1072 %1071 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:    %1074 = OpVectorShuffle %18 %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:    %1075 = OpVectorShuffle %18 %1074 %1073 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:    %1076 = OpVectorShuffle %18 %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:    %1077 = OpVectorShuffle %18 %1076 %1075 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:    %1078 = OpVectorShuffle %18 %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:    %1079 = OpVectorShuffle %18 %1078 %1077 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:    %1080 = OpVectorShuffle %18 %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:    %1081 = OpVectorShuffle %18 %1080 %1079 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:    %1082 = OpVectorShuffle %18 %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:    %1083 = OpVectorShuffle %18 %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 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:    %1084 = OpVectorShuffle %18 %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:    %1085 = OpVectorShuffle %18 %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 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:    %1086 = OpVectorShuffle %18 %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:    %1087 = OpVectorShuffle %18 %1086 %99 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:    %1088 = OpVectorShuffle %18 %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:    %1089 = OpVectorShuffle %18 %1088 %1087 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:    %1090 = OpVectorShuffle %18 %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:    %1091 = OpVectorShuffle %18 %1090 %1089 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:    %1092 = OpVectorShuffle %18 %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:    %1093 = OpVectorShuffle %18 %1092 %1091 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:    %1094 = OpVectorShuffle %18 %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:    %1095 = OpVectorShuffle %18 %1094 %1093 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:    %1096 = OpVectorShuffle %18 %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:    %1097 = OpVectorShuffle %18 %1096 %1095 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:    %1098 = OpVectorShuffle %18 %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:    %1099 = OpVectorShuffle %18 %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 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:    %1100 = OpVectorShuffle %18 %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:    %1101 = OpVectorShuffle %18 %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 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:    %1102 = OpFunctionCall %18 %101 %973 %1101 %100
+; CHECK-NEXT:    %1103 = OpFunctionCall %18 %101 %941 %1085 %1102
+; CHECK-NEXT:    %1104 = OpFunctionCall %18 %101 %909 %1069 %1103
+; CHECK-NEXT:    %1105 = OpFunctionCall %18 %101 %877 %1053 %1104
+; CHECK-NEXT:    %1106 = OpFunctionCall %18 %101 %845 %1037 %1105
+; CHECK-NEXT:    %1107 = OpFunctionCall %18 %101 %813 %1021 %1106
+; CHECK-NEXT:    %1108 = OpFunctionCall %18 %101 %781 %1005 %1107
+; CHECK-NEXT:    %1109 = OpFunctionCall %18 %101 %749 %989 %1108
+; CHECK-NEXT:    %1110 = OpVectorShuffle %23 %1109 %1109 0 1 2 3 4 5 6 7
+; CHECK-NEXT:    %1111 = OpVectorShuffle %23 %1109 %1109 8 9 10 11 12 13 14 15
+; CHECK-NEXT:    %1112 = OpVectorShuffle %23 %1109 %1109 16 17 18 19 20 21 22 23
+; CHECK-NEXT:    %1113 = OpVectorShuffle %23 %1109 %1109 24 25 26 27 28 29 30 31
+; CHECK-NEXT:    %1114 = OpVectorShuffle %23 %1109 %1109 32 33 34 35 36 37 38 39
+; CHECK-NEXT:    %1115 = OpVectorShuffle %23 %1109 %1109 40 41 42 43 44 45 46 47
+; CHECK-NEXT:    %1116 = OpVectorShuffle %23 %1109 %1109 48 49 50 51 52 53 54 55
+; CHECK-NEXT:    %1117 = OpVectorShuffle %23 %1109 %1109 56 57 58 59 60 61 62 63
+; CHECK-NEXT:    OpBranch %1238
+; CHECK-NEXT:    %1238 = OpLabel
+; CHECK-NEXT:    %1118 = OpPhi %13 %1119 %1239 %41 %1237
+; CHECK-NEXT:    %1120 = OpSLessThan %28 %1118 %29
+; CHECK-NEXT:    OpBranchConditional %1120 %1239 %2
+; CHECK-NEXT:    %2 = OpLabel
+; CHECK-NEXT:    OpBranch %1240
+; CHECK-NEXT:    %1240 = OpLabel
+; CHECK-NEXT:    %1121 = OpPhi %13 %1122 %1241 %41 %2
+; CHECK-NEXT:    %1123 = OpSLessThan %28 %1121 %29
+; CHECK-NEXT:    OpBranchConditional %1123 %1241 %3
+; CHECK-NEXT:    %3 = OpLabel
+; CHECK-NEXT:    OpBranch %1242
+; CHECK-NEXT:    %1242 = OpLabel
+; CHECK-NEXT:    %1124 = OpPhi %13 %1125 %1243 %41 %3
+; CHECK-NEXT:    %1126 = OpSLessThan %28 %1124 %29
+; CHECK-NEXT:    OpBranchConditional %1126 %1243 %4
+; CHECK-NEXT:    %4 = OpLabel
+; CHECK-NEXT:    OpBranch %1244
+; CHECK-NEXT:    %1244 = OpLabel
+; CHECK-NEXT:    %1127 = OpPhi %13 %1128 %1245 %41 %4
+; CHECK-NEXT:    %1129 = OpSLessThan %28 %1127 %29
+; CHECK-NEXT:    OpBranchConditional %1129 %1245 %5
+; CHECK-NEXT:    %5 = OpLabel
+; CHECK-NEXT:    OpBranch %1246
+; CHECK-NEXT:    %1246 = OpLabel
+; CHECK-NEXT:    %1130 = OpPhi %13 %1131 %1247 %41 %5
+; CHECK-NEXT:    %1132 = OpSLessThan %28 %1130 %29
+; CHECK-NEXT:    OpBranchConditional %1132 %1247 %6
+; CHECK-NEXT:    %6 = OpLabel
+; CHECK-NEXT:    OpBranch %1248
+; CHECK-NEXT:    %1248 = OpLabel
+; CHECK-NEXT:    %1133 = OpPhi %13 %1134 %1249 %41 %6
+; CHECK-NEXT:    %1135 = OpSLessThan %28 %1133 %29
+; CHECK-NEXT:    OpBranchConditional %1135 %1249 %7
+; CHECK-NEXT:    %7 = OpLabel
+; CHECK-NEXT:    OpBranch %1250
+; CHECK-NEXT:    %1250 = OpLabel
+; CHECK-NEXT:    %1136 = OpPhi %13 %1137 %1251 %41 %7
+; CHECK-NEXT:    %1138 = OpSLessThan %28 %1136 %29
+; CHECK-NEXT:    OpBranchConditional %1138 %1251 %8
+; CHECK-NEXT:    %8 = OpLabel
+; CHECK-NEXT:    OpBranch %1252
+; CHECK-NEXT:    %1252 = OpLabel
+; CHECK-NEXT:    %1139 = OpPhi %13 %1140 %1253 %41 %8
+; CHECK-NEXT:    %1141 = OpSLessThan %28 %1139 %29
+; CHECK-NEXT:    OpBranchConditional %1141 %1253 %1254
+; CHECK-NEXT:    %1254 = OpLabel
+; CHECK-NEXT:    OpReturn
+; CHECK-NEXT:    %1253 = OpLabel
+; CHECK-NEXT:    %1142 = OpUConvert %27 %1139
+; CHECK-NEXT:    %1143 = OpVectorExtractDynamic %9 %1117 %1142
+; CHECK-NEXT:    %1144 = OpIAdd %27 %40 %1142
+; CHECK-NEXT:    %1145 = OpIAdd %27 %1144 %43
+; CHECK-NEXT:    %1146 = OpIAdd %27 %1145 %43
+; CHECK-NEXT:    %1147 = OpIAdd %27 %1146 %43
+; CHECK-NEXT:    %1148 = OpIAdd %27 %1147 %43
+; CHECK-NEXT:    %1149 = OpInBoundsPtrAccessChain %10 %106 %1148
+; CHECK-NEXT:    OpStore %1149 %1143 Aligned 4
+; CHECK-NEXT:    %1140 = OpIAdd %13 %1139 %39
+; CHECK-NEXT:    OpBranch %1252
+; CHECK-NEXT:    %1251 = OpLabel
+; CHECK-NEXT:    %1150 = OpUConvert %27 %1136
+; CHECK-NEXT:    %1151 = OpVectorExtractDynamic %9 %1116 %1150
+; CHECK-NEXT:    %1152 = OpIAdd %27 %38 %1150
+; CHECK-NEXT:    %1153 = OpIAdd %27 %1152 %43
+; CHECK-NEXT:    %1154 = OpIAdd %27 %1153 %43
+; CHECK-NEXT:    %1155 = OpIAdd %27 %1154 %43
+; CHECK-NEXT:    %1156 = OpIAdd %27 %1155 %43
+; CHECK-NEXT:    %1157 = OpInBoundsPtrAccessChain %10 %106 %1156
+; CHECK-NEXT:    OpStore %1157 %1151 Aligned 4
+; CHECK-NEXT:    %1137 = OpIAdd %13 %1136 %39
+; CHECK-NEXT:    OpBranch %1250
+; CHECK-NEXT:    %1249 = OpLabel
+; CHECK-NEXT:    %1158 = OpUConvert %27 %1133
+; CHECK-NEXT:    %1159 = OpVectorExtractDynamic %9 %1115 %1158
+; CHECK-NEXT:    %1160 = OpIAdd %27 %37 %1158
+; CHECK-NEXT:    %1161 = OpIAdd %27 %1160 %43
+; CHECK-NEXT:    %1162 = OpIAdd %27 %1161 %43
+; CHECK-NEXT:    %1163 = OpIAdd %27 %1162 %43
+; CHECK-NEXT:    %1164 = OpIAdd %27 %1163 %43
+; CHECK-NEXT:    %1165 = OpInBoundsPtrAccessChain %10 %106 %1164
+; CHECK-NEXT:    OpStore %1165 %1159 Aligned 4
+; CHECK-NEXT:    %1134 = OpIAdd %13 %1133 %39
+; CHECK-NEXT:    OpBranch %1248
+; CHECK-NEXT:    %1247 = OpLabel
+; CHECK-NEXT:    %1166 = OpUConvert %27 %1130
+; CHECK-NEXT:    %1167 = OpVectorExtractDynamic %9 %1114 %1166
+; CHECK-NEXT:    %1168 = OpIAdd %27 %53 %1166
+; CHECK-NEXT:    %1169 = OpIAdd %27 %1168 %43
+; CHECK-NEXT:    %1170 = OpIAdd %27 %1169 %43
+; CHECK-NEXT:    %1171 = OpIAdd %27 %1170 %43
+; CHECK-NEXT:    %1172 = OpIAdd %27 %1171 %43
+; CHECK-NEXT:    %1173 = OpInBoundsPtrAccessChain %10 %106 %1172
+; CHECK-NEXT:    OpStore %1173 %1167 Aligned 4
+; CHECK-NEXT:    %1131 = OpIAdd %13 %1130 %39
+; CHECK-NEXT:    OpBranch %1246
+; CHECK-NEXT:    %1245 = OpLabel
+; CHECK-NEXT:    %1174 = OpUConvert %27 %1127
+; CHECK-NEXT:    %1175 = OpVectorExtractDynamic %9 %1113 %1174
+; CHECK-NEXT:    %1176 = OpIAdd %27 %36 %1174
+; CHECK-NEXT:    %1177 = OpIAdd %27 %1176 %43
+; CHECK-NEXT:    %1178 = OpIAdd %27 %1177 %43
+; CHECK-NEXT:    %1179 = OpIAdd %27 %1178 %43
+; CHECK-NEXT:    %1180 = OpIAdd %27 %1179 %43
+; CHECK-NEXT:    %1181 = OpInBoundsPtrAccessChain %10 %106 %1180
+; CHECK-NEXT:    OpStore %1181 %1175 Aligned 4
+; CHECK-NEXT:    %1128 = OpIAdd %13 %1127 %39
+; CHECK-NEXT:    OpBranch %1244
+; CHECK-NEXT:    %1243 = OpLabel
+; CHECK-NEXT:    %1182 = OpUConvert %27 %1124
+; CHECK-NEXT:    %1183 = OpVectorExtractDynamic %9 %1112 %1182
+; CHECK-NEXT:    %1184 = OpIAdd %27 %35 %1182
+; CHECK-NEXT:    %1185 = OpIAdd %27 %1184 %43
+; CHECK-NEXT:    %1186 = OpIAdd %27 %1185 %43
+; CHECK-NEXT:    %1187 = OpIAdd %27 %1186 %43
+; CHECK-NEXT:    %1188 = OpIAdd %27 %1187 %43
+; CHECK-NEXT:    %1189 = OpInBoundsPtrAccessChain %10 %106 %1188
+; CHECK-NEXT:    OpStore %1189 %1183 Aligned 4
+; CHECK-NEXT:    %1125 = OpIAdd %13 %1124 %39
+; CHECK-NEXT:    OpBranch %1242
+; CHECK-NEXT:    %1241 = OpLabel
+; CHECK-NEXT:    %1190 = OpUConvert %27 %1121
+; CHECK-NEXT:    %1191 = OpVectorExtractDynamic %9 %1111 %1190
+; CHECK-NEXT:    %1192 = OpIAdd %27 %34 %1190
+; CHECK-NEXT:    %1193 = OpIAdd %27 %1192 %43
+; CHECK-NEXT:    %1194 = OpIAdd %27 %1193 %43
+; CHECK-NEXT:    %1195 = OpIAdd %27 %1194 %43
+; CHECK-NEXT:    %1196 = OpIAdd %27 %1195 %43
+; CHECK-NEXT:    %1197 = OpInBoundsPtrAccessChain %10 %106 %1196
+; CHECK-NEXT:    OpStore %1197 %1191 Aligned 4
+; CHECK-NEXT:    %1122 = OpIAdd %13 %1121 %39
+; CHECK-NEXT:    OpBranch %1240
+; CHECK-NEXT:    %1239 = OpLabel
+; CHECK-NEXT:    %1198 = OpUConvert %27 %1118
+; CHECK-NEXT:    %1199 = OpVectorExtractDynamic %9 %1110 %1198
+; CHECK-NEXT:    %1200 = OpIAdd %27 %43 %1198
+; CHECK-NEXT:    %1201 = OpIAdd %27 %1200 %43
+; CHECK-NEXT:    %1202 = OpIAdd %27 %1201 %43
+; CHECK-NEXT:    %1203 = OpIAdd %27 %1202 %43
+; CHECK-NEXT:    %1204 = OpIAdd %27 %1203 %43
+; CHECK-NEXT:    %1205 = OpInBoundsPtrAccessChain %10 %106 %1204
+; CHECK-NEXT:    OpStore %1205 %1199 Aligned 4
+; CHECK-NEXT:    %1119 = OpIAdd %13 %1118 %39
+; CHECK-NEXT:    OpBranch %1238
+; CHECK-NEXT:    %1236 = OpLabel
+; CHECK-NEXT:    %1206 = OpUConvert %27 %137
+; CHECK-NEXT:    OpBranch %1255
+; CHECK-NEXT:    %1255 = OpLabel
+; CHECK-NEXT:    %1207 = OpPhi %13 %1208 %1256 %41 %1236
+; CHECK-NEXT:    %1209 = OpSLessThan %28 %1207 %44
+; CHECK-NEXT:    OpBranchConditional %1209 %1256 %1235
+; CHECK-NEXT:    %1235 = OpLabel
+; CHECK-NEXT:    %138 = OpIAdd %13 %137 %39
+; CHECK-NEXT:    OpBranch %1234
+; CHECK-NEXT:    %1256 = OpLabel
+; CHECK-NEXT:    %1210 = OpUConvert %27 %1207
+; CHECK-NEXT:    %1211 = OpIMul %27 %1206 %42
+; CHECK-NEXT:    %1212 = OpIAdd %27 %43 %1211
+; CHECK-NEXT:    %1213 = OpIAdd %27 %1212 %1210
+; CHECK-NEXT:    %1214 = OpInBoundsPtrAccessChain %10 %105 %1213
+; CHECK-NEXT:    %1215 = OpLoad %9 %1214 Aligned 4
+; CHECK-NEXT:    %1216 = OpIMul %27 %1206 %34
+; CHECK-NEXT:    %1217 = OpIAdd %27 %1216 %1210
+; CHECK-NEXT:    %1218 = OpBitcast %26 %93
+; CHECK-NEXT:    %1219 = OpInBoundsPtrAccessChain %26 %1218 %1217
+; CHECK-NEXT:    OpStore %1219 %1215 Aligned 4
+; CHECK-NEXT:    %1208 = OpIAdd %13 %1207 %39
+; CHECK-NEXT:    OpBranch %1255
+; CHECK-NEXT:    %1232 = OpLabel
+; CHECK-NEXT:    %1220 = OpUConvert %27 %132
+; CHECK-NEXT:    OpBranch %1257
+; CHECK-NEXT:    %1257 = OpLabel
+; CHECK-NEXT:    %1221 = OpPhi %13 %1222 %1258 %41 %1232
+; CHECK-NEXT:    %1223 = OpSLessThan %28 %1221 %29
+; CHECK-NEXT:    OpBranchConditional %1223 %1258 %1231
+; CHECK-NEXT:    %1231 = OpLabel
+; CHECK-NEXT:    %133 = OpIAdd %13 %132 %39
+; CHECK-NEXT:    OpBranch %1230
+; CHECK-NEXT:    %1258 = OpLabel
+; CHECK-NEXT:    %1224 = OpUConvert %27 %1221
+; CHECK-NEXT:    %1225 = OpIMul %27 %1220 %34
+; CHECK-NEXT:    %1226 = OpIAdd %27 %1225 %1224
+; CHECK-NEXT:    %1227 = OpBitcast %26 %93
+; CHECK-NEXT:    %1228 = OpInBoundsPtrAccessChain %26 %1227 %1226
+; CHECK-NEXT:    OpStore %1228 %69 Aligned 4
+; CHECK-NEXT:    %1222 = OpIAdd %13 %1221 %39
+; CHECK-NEXT:    OpBranch %1257
+; 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(2) @__constant_8x8xf32_0, align 4
+  %115 = load <8 x float>, ptr addrspace(2) getelementptr inbounds nuw (i8, ptr addrspace(2) @__constant_8x8xf32_0, i64 32), align 4
+  %116 = load <8 x float>, ptr addrspace(2) getelementptr inbounds nuw (i8, ptr addrspace(2) @__constant_8x8xf32_0, i64 64), align 4
+  %117 = load <8 x float>, ptr addrspace(2) getelementptr inbounds nuw (i8, ptr addrspace(2) @__constant_8x8xf32_0, i64 96), align 4
+  %118 = load <8 x float>, ptr addrspace(2) getelementptr inbounds nuw (i8, ptr addrspace(2) @__constant_8x8xf32_0, i64 128), align 4
+  %119 = load <8 x float>, ptr addrspace(2) getelementptr inbounds nuw (i8, ptr addrspace(2) @__constant_8x8xf32_0, i64 160), align 4
+  %120 = load <8 x float>, ptr addrspace(2) getelementptr inbounds nuw (i8, ptr addrspace(2) @__constant_8x8xf32_0, i64 192), align 4
+  %121 = load <8 x float>, ptr addrspace(2) getelementptr inbounds nuw (i8, ptr addrspace(2) @__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(2) @__constant_8x8xf32, align 4
+  %523 = load <8 x float>, ptr addrspace(2) getelementptr inbounds nuw (i8, ptr addrspace(2) @__constant_8x8xf32, i64 32), align 4
+  %524 = load <8 x float>, ptr addrspace(2) getelementptr inbounds nuw (i8, ptr addrspace(2) @__constant_8x8xf32, i64 64), align 4
+  %525 = load <8 x float>, ptr addrspace(2) getelementptr inbounds nuw (i8, ptr addrspace(2) @__constant_8x8xf32, i64 96), align 4
+  %526 = load <8 x float>, ptr addrspace(2) getelementptr inbounds nuw (i8, ptr addrspace(2) @__constant_8x8xf32, i64 128), align 4
+  %527 = load <8 x float>, ptr addrspace(2) getelementptr inbounds nuw (i8, ptr addrspace(2) @__constant_8x8xf32, i64 160), align 4
+  %528 = load <8 x float>, ptr addrspace(2) getelementptr inbounds nuw (i8, ptr addrspace(2) @__constant_8x8xf32, i64 192), align 4
+  %529 = load <8 x float>, ptr addrspace(2) getelementptr inbounds nuw (i8, ptr addrspace(2) @__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(2) @_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..4c3b08bc69a21
--- /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 doesn't implement validation for fma with OpTypeVectorIdEXT results, it only allows vectors with 2, 3, 4, 8, 16 elements.
+; 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: %[[#int:]] = OpTypeInt 32 0
+; CHECK-DAG: %[[#c17:]] = OpConstant %[[#int]] 17
+; CHECK-DAG: %[[#v17f32:]] = OpTypeVectorIdEXT %[[#float]] %[[#c17]]
+; CHECK-DAG: %[[#v17i32:]] = OpTypeVectorIdEXT %[[#int]] %[[#c17]]
+; 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..b68241404d498
--- /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
+; RUN: %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: %[[#seventeen:]] = OpConstant %[[#int]] 17
+; CHECK-DAG: %[[#vec17:]] = OpTypeVectorIdEXT %[[#int]] %[[#seventeen]]
+; 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..f6cb7938d4e33
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/vector-legalization-kernel.ll
@@ -0,0 +1,29 @@
+; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_EXT_long_vector %s -o - | FileCheck %s
+; spirv-val has a bug around validating OpVectorShuffle with large OpTypeVectorIdEXT operands, as it seems to incorrectly compute the combined size.
+; 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: %[[#nine:]] = OpConstant %[[#int]] 9
+; CHECK-DAG: %[[#eighteen:]] = OpConstant %[[#int]] 18
+; CHECK-DAG: %[[#v18i32:]] = OpTypeVectorIdEXT %[[#int]] %[[#eighteen]]
+; CHECK-DAG: %[[#v9i32:]] = OpTypeVectorIdEXT %[[#int]] %[[#nine]]
+; 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..8d1c539432792
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/vector-of-pointers-gep.ll
@@ -0,0 +1,230 @@
+; 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 has a bug around validating OpTypeVectorIdEXTs with Pointer type elements, as it seems to only allow scalar numerical types for the latter.
+; 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: %[[#SEVENTEEN:]] = OpConstant %[[#I32]] 17
+; CHECK-DAG: %[[#ONE_I32:]] = OpConstant %[[#I32]] 1
+; CHECK-DAG: %[[#VPTR17:]] = OpTypeVectorIdEXT %[[#PTR]] %[[#SEVENTEEN]]
+; CHECK-DAG: %[[#VPTR1:]] = OpTypeVectorIdEXT %[[#PTR]] %[[#ONE_I32]]
+; CHECK-DAG: %[[#VI64_1:]] = OpTypeVectorIdEXT %[[#I64]] %[[#ONE_I32]]
+; CHECK-DAG: %[[#VI64_17:]] = OpTypeVectorIdEXT %[[#I64]] %[[#SEVENTEEN]]
+; CHECK-DAG: %[[#UNDEF1:]] = OpUndef %[[#VPTR1]]
+; CHECK-DAG: %[[#UNDEF17:]] = OpUndef %[[#VPTR17]]
+; CHECK-DAG: %[[#NULL17:]] = OpConstantNull %[[#VI64_17]]
+; CHECK-DAG: %[[#ONE_V1:]] = OpConstantComposite %[[#VI64_1]] %[[#ONE]]
+; CHECK-DAG: %[[#FIVE_V1:]] = OpConstantComposite %[[#VI64_1]] %[[#FIVE]]
+; CHECK-DAG: %[[#IDXS_V17:]] = OpConstantComposite %[[#VI64_17]] %[[#ZERO]] %[[#ONE]] %[[#TWO]] %[[#THREE]] %[[#FOUR]] %[[#FIVE]] %[[#SIX]] %[[#SEVEN]] %[[#EIGHT]] %[[#NINE]] %[[#TEN]] %[[#ELEVEN]] %[[#TWELVE]] %[[#THIRTEEN]] %[[#FOURTEEN]] %[[#FIFTEEN]] %[[#SIXTEEN]]
+
+; CHECK:      OpFunction
+; CHECK-NEXT: %[[#P1:]] = OpFunctionParameter %[[#PTR]]
+; CHECK-NEXT: %[[#OUT1:]] = OpFunctionParameter %[[#PTR]]
+; CHECK-NEXT: OpLabel
+; CHECK-NEXT: %[[#IDX1:]] = OpCompositeExtract %[[#I64]] %[[#FIVE_V1]]
+; CHECK-NEXT: %[[#GEP1:]] = OpPtrAccessChain %[[#PTR]] %[[#P1]] %[[#IDX1]]
+; 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: %[[#IDXV_0:]] = OpCompositeExtract %[[#I64]] %[[#ONE_V1]] 0
+; CHECK-NEXT: %[[#GEPV_0:]] = OpPtrAccessChain %[[#PTR]] %[[#EXPV_0]] %[[#IDXV_0]]
+; 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: %[[#IDX0:]] = OpCompositeExtract %[[#I64]] %[[#IDXS_V17]] 0
+; CHECK-NEXT: %[[#GEP0:]] = OpPtrAccessChain %[[#PTR]] %[[#P0]] %[[#IDX0]]
+; CHECK-NEXT: %[[#TMP0:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP0]] %[[#UNDEF17]] 0
+; CHECK-NEXT: %[[#P1:]] = OpCompositeExtract %[[#PTR]] %[[#PV]] 1
+; CHECK-NEXT: %[[#IDX1:]] = OpCompositeExtract %[[#I64]] %[[#IDXS_V17]] 1
+; CHECK-NEXT: %[[#GEP1:]] = OpPtrAccessChain %[[#PTR]] %[[#P1]] %[[#IDX1]]
+; CHECK-NEXT: %[[#TMP1:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP1]] %[[#TMP0]] 1
+; CHECK-NEXT: %[[#P2:]] = OpCompositeExtract %[[#PTR]] %[[#PV]] 2
+; CHECK-NEXT: %[[#IDX2:]] = OpCompositeExtract %[[#I64]] %[[#IDXS_V17]] 2
+; CHECK-NEXT: %[[#GEP2:]] = OpPtrAccessChain %[[#PTR]] %[[#P2]] %[[#IDX2]]
+; CHECK-NEXT: %[[#TMP2:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP2]] %[[#TMP1]] 2
+; CHECK-NEXT: %[[#P3:]] = OpCompositeExtract %[[#PTR]] %[[#PV]] 3
+; CHECK-NEXT: %[[#IDX3:]] = OpCompositeExtract %[[#I64]] %[[#IDXS_V17]] 3
+; CHECK-NEXT: %[[#GEP3:]] = OpPtrAccessChain %[[#PTR]] %[[#P3]] %[[#IDX3]]
+; CHECK-NEXT: %[[#TMP3:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP3]] %[[#TMP2]] 3
+; CHECK-NEXT: %[[#P4:]] = OpCompositeExtract %[[#PTR]] %[[#PV]] 4
+; CHECK-NEXT: %[[#IDX4:]] = OpCompositeExtract %[[#I64]] %[[#IDXS_V17]] 4
+; CHECK-NEXT: %[[#GEP4:]] = OpPtrAccessChain %[[#PTR]] %[[#P4]] %[[#IDX4]]
+; CHECK-NEXT: %[[#TMP4:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP4]] %[[#TMP3]] 4
+; CHECK-NEXT: %[[#P5:]] = OpCompositeExtract %[[#PTR]] %[[#PV]] 5
+; CHECK-NEXT: %[[#IDX5:]] = OpCompositeExtract %[[#I64]] %[[#IDXS_V17]] 5
+; CHECK-NEXT: %[[#GEP5:]] = OpPtrAccessChain %[[#PTR]] %[[#P5]] %[[#IDX5]]
+; CHECK-NEXT: %[[#TMP5:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP5]] %[[#TMP4]] 5
+; CHECK-NEXT: %[[#P6:]] = OpCompositeExtract %[[#PTR]] %[[#PV]] 6
+; CHECK-NEXT: %[[#IDX6:]] = OpCompositeExtract %[[#I64]] %[[#IDXS_V17]] 6
+; CHECK-NEXT: %[[#GEP6:]] = OpPtrAccessChain %[[#PTR]] %[[#P6]] %[[#IDX6]]
+; CHECK-NEXT: %[[#TMP6:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP6]] %[[#TMP5]] 6
+; CHECK-NEXT: %[[#P7:]] = OpCompositeExtract %[[#PTR]] %[[#PV]] 7
+; CHECK-NEXT: %[[#IDX7:]] = OpCompositeExtract %[[#I64]] %[[#IDXS_V17]] 7
+; CHECK-NEXT: %[[#GEP7:]] = OpPtrAccessChain %[[#PTR]] %[[#P7]] %[[#IDX7]]
+; CHECK-NEXT: %[[#TMP7:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP7]] %[[#TMP6]] 7
+; CHECK-NEXT: %[[#P8:]] = OpCompositeExtract %[[#PTR]] %[[#PV]] 8
+; CHECK-NEXT: %[[#IDX8:]] = OpCompositeExtract %[[#I64]] %[[#IDXS_V17]] 8
+; CHECK-NEXT: %[[#GEP8:]] = OpPtrAccessChain %[[#PTR]] %[[#P8]] %[[#IDX8]]
+; CHECK-NEXT: %[[#TMP8:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP8]] %[[#TMP7]] 8
+; CHECK-NEXT: %[[#P9:]] = OpCompositeExtract %[[#PTR]] %[[#PV]] 9
+; CHECK-NEXT: %[[#IDX9:]] = OpCompositeExtract %[[#I64]] %[[#IDXS_V17]] 9
+; CHECK-NEXT: %[[#GEP9:]] = OpPtrAccessChain %[[#PTR]] %[[#P9]] %[[#IDX9]]
+; CHECK-NEXT: %[[#TMP9:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP9]] %[[#TMP8]] 9
+; CHECK-NEXT: %[[#P10:]] = OpCompositeExtract %[[#PTR]] %[[#PV]] 10
+; CHECK-NEXT: %[[#IDX10:]] = OpCompositeExtract %[[#I64]] %[[#IDXS_V17]] 10
+; CHECK-NEXT: %[[#GEP10:]] = OpPtrAccessChain %[[#PTR]] %[[#P10]] %[[#IDX10]]
+; CHECK-NEXT: %[[#TMP10:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP10]] %[[#TMP9]] 10
+; CHECK-NEXT: %[[#P11:]] = OpCompositeExtract %[[#PTR]] %[[#PV]] 11
+; CHECK-NEXT: %[[#IDX11:]] = OpCompositeExtract %[[#I64]] %[[#IDXS_V17]] 11
+; CHECK-NEXT: %[[#GEP11:]] = OpPtrAccessChain %[[#PTR]] %[[#P11]] %[[#IDX11]]
+; CHECK-NEXT: %[[#TMP11:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP11]] %[[#TMP10]] 11
+; CHECK-NEXT: %[[#P12:]] = OpCompositeExtract %[[#PTR]] %[[#PV]] 12
+; CHECK-NEXT: %[[#IDX12:]] = OpCompositeExtract %[[#I64]] %[[#IDXS_V17]] 12
+; CHECK-NEXT: %[[#GEP12:]] = OpPtrAccessChain %[[#PTR]] %[[#P12]] %[[#IDX12]]
+; CHECK-NEXT: %[[#TMP12:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP12]] %[[#TMP11]] 12
+; CHECK-NEXT: %[[#P13:]] = OpCompositeExtract %[[#PTR]] %[[#PV]] 13
+; CHECK-NEXT: %[[#IDX13:]] = OpCompositeExtract %[[#I64]] %[[#IDXS_V17]] 13
+; CHECK-NEXT: %[[#GEP13:]] = OpPtrAccessChain %[[#PTR]] %[[#P13]] %[[#IDX13]]
+; CHECK-NEXT: %[[#TMP13:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP13]] %[[#TMP12]] 13
+; CHECK-NEXT: %[[#P14:]] = OpCompositeExtract %[[#PTR]] %[[#PV]] 14
+; CHECK-NEXT: %[[#IDX14:]] = OpCompositeExtract %[[#I64]] %[[#IDXS_V17]] 14
+; CHECK-NEXT: %[[#GEP14:]] = OpPtrAccessChain %[[#PTR]] %[[#P14]] %[[#IDX14]]
+; CHECK-NEXT: %[[#TMP14:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP14]] %[[#TMP13]] 14
+; CHECK-NEXT: %[[#P15:]] = OpCompositeExtract %[[#PTR]] %[[#PV]] 15
+; CHECK-NEXT: %[[#IDX15:]] = OpCompositeExtract %[[#I64]] %[[#IDXS_V17]] 15
+; CHECK-NEXT: %[[#GEP15:]] = OpPtrAccessChain %[[#PTR]] %[[#P15]] %[[#IDX15]]
+; CHECK-NEXT: %[[#TMP15:]] = OpCompositeInsert %[[#VPTR17]] %[[#GEP15]] %[[#TMP14]] 15
+; CHECK-NEXT: %[[#P16:]] = OpCompositeExtract %[[#PTR]] %[[#PV]] 16
+; CHECK-NEXT: %[[#IDX16:]] = OpCompositeExtract %[[#I64]] %[[#IDXS_V17]] 16
+; CHECK-NEXT: %[[#GEP16:]] = OpPtrAccessChain %[[#PTR]] %[[#P16]] %[[#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 %[[#OUTV]] %[[#LD]] Aligned 4
+; CHECK-NEXT: OpReturn
+; CHECK-NEXT: OpFunctionEnd
+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
+}

diff  --git a/llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_masked_gather_scatter/vector-of-pointers-gep.ll b/llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_masked_gather_scatter/vector-of-pointers-gep.ll
index 2407cf3ee61cc..10d8f73392d74 100644
--- a/llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_masked_gather_scatter/vector-of-pointers-gep.ll
+++ b/llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_masked_gather_scatter/vector-of-pointers-gep.ll
@@ -15,6 +15,7 @@
 ; CHECK-DAG: %[[#VI64_4:]] = OpTypeVector %[[#I64]] 4
 ; CHECK-DAG: %[[#UNDEF4:]] = OpUndef %[[#VPTR4]]
 ; CHECK-DAG: %[[#NULL4:]] = OpConstantNull %[[#VI64_4]]
+; CHECK-DAG: %[[#IDXS:]] = OpConstantComposite %[[#VI64_2]] %[[#ONE]] %[[#TWO]]
 
 ; The <1 x ptr> GEP collapses to a single scalar OpPtrAccessChain; no
 ; vector-of-pointers value is materialized.
@@ -92,10 +93,12 @@ define spir_kernel void @test_vector_gep_v4(ptr addrspace(1) %p, ptr addrspace(1
 ; 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: %[[#IDXV_0:]] = OpCompositeExtract %[[#I64]] %[[#IDXS]] 0
+; CHECK-NEXT: %[[#GEPV_0:]] = OpPtrAccessChain %[[#PTR]] %[[#EXPV_0]] %[[#IDXV_0]]
 ; CHECK-NEXT: %[[#INSV_0:]] = OpCompositeInsert %[[#VPTR2]] %[[#GEPV_0]] %[[#UNDEF2]] 0
 ; CHECK-NEXT: %[[#EXPV_1:]] = OpCompositeExtract %[[#PTR]] %[[#PV]] 1
-; CHECK-NEXT: %[[#GEPV_1:]] = OpPtrAccessChain %[[#PTR]] %[[#EXPV_1]] %[[#TWO]]
+; CHECK-NEXT: %[[#IDXV_1:]] = OpCompositeExtract %[[#I64]] %[[#IDXS]] 1
+; CHECK-NEXT: %[[#GEPV_1:]] = OpPtrAccessChain %[[#PTR]] %[[#EXPV_1]] %[[#IDXV_1]]
 ; CHECK-NEXT: %[[#INSV_1:]] = OpCompositeInsert %[[#VPTR2]] %[[#GEPV_1]] %[[#INSV_0]] 1
 ; CHECK-NEXT: %[[#ELTV:]] = OpCompositeExtract %[[#PTR]] %[[#INSV_1]] 0
 ; CHECK-NEXT: %[[#VALV:]] = OpLoad %[[#I32]] %[[#ELTV]]


        


More information about the llvm-commits mailing list